Компіляція ядра Лінукс

Компіляція ядра Лінукс

Компіляція ядра 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. Ось приклад: