Компіляція ядра Лінукс
Компіляція ядра Linux
Отже, нарешті, ти поставив собі Линух і сидиш під ним уже кілька днів поспіль / тиждень / місяць (потрібне підкреслити). Але ось просунутий друг / подруга натякнув тобі (а може, ти і сам здогадався), що ядро твоєї операційки, як би це м'якше сказати. морально застаріло і його потрібно оновити.
Натякнути то натякнув (здогадатися то здогадався), а ось як це зробити? Не дрейф, поясню "на пальцях".
1. Ядра версії 2.4.xx - найбільш "якісні" на мій погляд ядра, xx - цифра, чим вона вища, тим новіше ядро (далі скрізь: x - цифри версії злитого ядра).
2. Ядра версії 2.5.xx - так звані експериментальні, нестабільні ядра, якщо ти в душі експериментатор і в дитинстві підривав на балконі магній або селітру, можеш сміливо качати. відчуття отримаєш незабутні.
3. Ядра версії 2.2.xx - скажу чесно, що ЦЕ таке я не знаю, не знаю і того, ЧОМУ досі розвивається ця гілка, коли існує 2.4.xx. Собі я ці ядра не ставив, так що радити не буду.
4. Ядра версії 2.6.xx ці ядра увібрали в себе все найбільш стабільне з гілки 2.5.xx. Ядро працює значно швидше за всіх інших, але є маленьке але: новий формат модулів і як наслідок проблеми з установкою дров (все описане нижче до цій гілці не застосовується).
Ядро злив? Злив. Тепер логін в систему під root'ом. Далі, якщо у тебе дистриб "Червоної шапки" або "Мандрейка" даєш команду:
rpm -q kernel-headers kernel-source make dev86
Якщо ці rpm'и не встановлені, то зроби їх. Можливо, на інших дистриб теж доведеться перевірити їх наявність.
Потім йдеш в папку, куди злив ядро (зауваж папка повинна знаходитися на Linux-розділі, т. Е. Ext2 / Ext3 / ReiserFS (потрібне підкреслити)) і даєш команду:
tar zxvf імя_слітого_файла.tar.gz
Ця команда розпакує ядро. Тепер йдеш в інформацію, що з'явилася папку (щось на зразок linux-x.x.xx) і даєш одну з наступних команд, на вибір:
якщо ти сидиш під іксами:
якщо ти - консольнік:
Всі ці команди запускають програму інсталяції майбутнього ядра. На мій погляд, найбільш зручна утиліта, яка викликається останньою командою. Всі ці тулзи роблять ОДНЕ І ТЕЖ і вибір однієї з них, визначається лише особистими уподобаннями.
По конфігурації ядра можу дати лише загальні поради, т. К. Настройка ядра індивідуальна для кожного компа. Загальні поради:
1. Якщо у тебе PentiumPro / II / III / IV, Celeron або AMD K6 і вище, включи підтримку MTRR;
2. Заборони установку модулів для чіпсетів, яких у тебе немає, наприклад: CMD640, etc;
3. Дозволь підтримку Generic PCI bus-master DMA і використання DMA за замовчуванням (Use DMA be defaults);
4. Дозволь підтримку твого чіпсета, наприклад: VIA82C586 для VIA VP2 / 3 і MVP3 материнських плат;
5. Дозволь тільки ті SCSI-контролери, які у тебе є, якщо їх у тебе немає, забороняй все нафіг;
6. Заборони всі мережеві пристрої, яких у тебе немає, і підтримка яких тобі нафіг не здалася;
7. Установи значення Unix98 PTYs рівне 128;
8. Установи 'persistant dma buffer' в налаштуваннях звуку;
9. Заборони все файлові системи, які тобі не потрібні, залиш лише ті, які у тебе дійсно є, наприклад: ISO 9660 CDROM, VFAT, Second extended fs, Ext2, Ext3, / dev / pts, / proc;
10. Якщо твій комп не сервак, то заборони всі мережеві файлові системи (NFS);
11. Якщо у тебе немає ISDN-модему, заборони Своїм все ISDN-пристрої;
12. Заборони підтримку IPv6;
13. Якщо у тебе немає ноутбука або PCMCIA-карт заборони їх підтримку;
14. Якщо юзаешь dial-up, дозволь підтримку протоколу PPP (Point to Point Protocol);
Загалом, дозволь підтримку тільки тих пристроїв, які у тебе є! І ще: в деяких пунктах можна вибрати одне з трьох значень: Y / M / N, так ось:
Y - дозволити підтримку на рівні ядра;
M - дозволити підтримку на рівні модуля ядра;
N - заборонити підтримку.
"Що ж вибирати, якщо хочеш включити підтримку, Y або M" - запитаєш ти. Моя порада: якщо хочеш, щоб ядро швидше вантажилось і не хочеш зайвого геморою з підключенням модулів, вибирай - Y; якщо ж хочеш, щоб ядро займало менше пам'яті, вибирай - M, але тоді доведеться возитися з підключенням модулів, а це тема для іншої статті. яка може бути і з'явиться. Коли закінчиш, збережи всі зміни і вивалюється в консоль. Тепер даєш команду:
Створюється так званий файл залежностей. Наступні команди з поясненнями:
make clean - прибираємо зайвий вихідний код;
make bzImage - створюємо стислий модуль ядра;
make modules - створюємо модулі;
make modules_install - встановлюємо модулі;
Все, ядро скомпілено, але не поспішай давати команду reboot, необхідно внести зміни в завантажувач. Спочатку копіюй файлик / путь_к_ядру / arch / i386 / boot / bzImage в папку / boot. Далі привожу приклад конфігурації LILO. Прав файл /etc/lilo.conf. Ось приклад: