Вже поставив собі останню версію улюбленої шапочки? І тебе абсолютно влаштовує робота твого антарктичного одного? Якщо так, то схоже, що ти інсталював лінукс п’ять хвилин тому, і спробуй почитати цю статтю через пару днів, інакше я не сумніваюся, що ти не раз замислювався про таку страшну, «виключно хакерської» штуці, як компіляція ядра. Відразу хочу попередити, що нічого страшного і особливо хакерського тут немає (хіба що самому покопатися в исходниках ядерця, і виправити все, що, на твою думку не так 🙂 в такому разі можеш навіть сміливо писати свої пропозиції відомого Лінусу Торвальдсу на мило (torvalds [at] transmeta [dot] com), тому що тим весь open-source і живе, а саме фанатами-программерами, які бажають кращого іншим, не вимагаючи $$$ за свої праці), так що немає сенсу бояться щось зіпсувати, наборот, треба експериментувати, пробувати і прагне до кращого.

Перше, що треба дізнатися наявність вихідного ядра в твоїй Осі. Для цього уважно розглядаємо вміст /usr/src/linux, якщо там щось є, то найвірогідніше «воно» у тебе присутнє (якщо це не твій новий модний спосіб зберігати там свої 31337-проги та інше, що бачити всім небажано ;), ну а в зворотній ситуації головне не кричати на розробників твого пінгвіна (їх теж можна зрозуміти, наприклад, Mandrake дуже грамотно поступили в цьому відношенні: вони розробляють систему, рассчитаную в першу чергу на недосвідчених користувачів, так навіщо ламерам ядро?? =), просто відвідай ftp://ftp.kernel.org/pub/linux/kernel/ де ти знайдеш найсвіжіші версії Linux kernel’а і патчі до нього (навіть якщо ядро у тебе вже є, завжди корисно його оновити). Раджу завантажувати в tar.bz2, так як розміри сабжу неслабо зменшуються (змушений засмутити диалпщиков, бо розмір ядра буде в районі 30-40 мегов). Тепер распакуем його в /usr/src/linux командою tar xvjf linux-x.x.x.tar.bz2 (x.x.x версія ядра; для tar.gz замість ключа j треба підставити z).

Після виконаної роботи, радісно потираючи ручки, заходимо в /usr/src/linux, тут нам пропонують відразу 4 варіанти створення конфига: текстовий консольний конфіг (для запуску треба набрати make config), графічний консольний (make конфігураційного меню), графічний x-window’ий (make xconfig), відновлення старого варіанту конфига .config (make oldconfig). Вибирай, що тобі більше подобається, але я рекомендую для початку поюзати config (як тільки якась фіча незрозуміла став значення по дефолту і читай далі), а після виправити всі свої помилки, допущені в конфіги за допомогою конфігураційного меню ;). Якщо ти конфигуришь ядро в перший раз, то дуже корисно подивитися в /usr/src/linux/Documentation, де можна знайти докладну інформацію про налаштування та компіляції kernel’а, і після прочитання купи мінлива сміливо повертайся до донині підозрілим і дивним речам. { При виборі зазвичай можна використовувати «Y», «N» або «M» (конфігураційного меню, відповідно, «*», « », «M»), Y означає, що даний компонент буде вшитий в ядро, N що його не буде взагалі, M що він буде завантажуватися модульно. }

Тепер конфіг готовий, що робити далі? Набираємо make dep (природно, в /usr/src/linux) дана команда приготує ядро до компіляції з твоїми параметрами .config. Потім пишемо make bzImage (або zImage), і настає урочистий процес появи ядра (для завантаження оного на дискетки пиши make bzdisk). Залишилося тільки набрати make modules_install і make modules в результаті встановляться всі модулі («M» в конфіги). Ядро скомпільовано! Ну, а як тепер змусити його грузиться? Для цього скопіюй файл /usr/src/linux/arch/i386/boot/bzImage (або zImage), наприклад, в /boot/kernelimg і додай в /etc/lilo.conf запис на кшталт такої:
image=/boot/kernelimg
label=linux-x.x.x
root=/dev/hdxX
За бажанням, знайди і виправ рядок default=linux-x.x.x, щоб нове ядерце запускалося за замовчуванням. Запусти команду lilo якщо не відбулося ніяких помилок, то біля linux-x.x.x (тільки що откомпилированного kernel’а) з’явиться символ «*». Залишилося тільки перезавантажитися