Начинающие пользователи подсознательно боятся этой операции (по себе знаю) – ведь чего только стоит одно выражение «перекомпилирование ядра». А вдруг я что-то не так сделаю? Это же ведь ядро!
Ничего страшного в этом нет. Сейчас мы постараемся так перекомпилировать ядро, чтобы система загружалась, даже если мы сделали что-то не так.
Убедитесь, что у вас установлены:
cd /usr/src/linux
Затем нужно ввести одну из команд:
# make config
# make menuconfig
# make xconfig
В первом случае вам будет задан ряд вопросов (кстати, очень длинный), на который предстоит ответить. Я рекомендую make menuconfig - это намного удобнее. В этом случае вы можете редактировать конфигурацию ядра с помощью меню.
xconfig аналогичен menuconfig, только предназначен для запуска из-под Х.
Перед внесением изменений в файл конфигурации ядра, сохраните его под другим именем - Save Configuration to an Alternative File. Запомните его имя – если у нас что-то не получится, мы всегда сможем восстановить предыдущую конфигурацию ядра.
Во время конфигурирования ядра вы можете включать или исключать некоторые
функции из состава ядра или же сделать нужную вам функцию модулем, т.е.
в состав ядра данная функция включена не будет, но она будет использоваться
при необходимости, например, если вы добавите в систему устройство, то
будет подключен нужный модуль (при условии, что вы его откомпилировали)
Наша задача - повышение производительности системы, этого можно достичь,
если точно сконфигурировать ядро и исключить из его состава ненужный код. Что же считается «ненужным кодом». Например, у вас чипсет VIA, зачем вам в ядре код, обеспечивающий поддержку чипсетов Intel? Вот это и есть ненужный код. Если вы в чем-то не уверены, выделите опцию, с которой вы не знаете, что сделать – отключить или включить, и нажмите F1. Откроется окно с подробным описанием опции, правда, на английском. Опять же таки, если опция была включена, но вы не уверены в ее бесполезности, лучше оставьте ее включенной.
Теперь, когда ядро сконфигурировано, настало время - нет не экзекуции - компиляции.
Введите команду
# make dep
После завершения ее работы нужно ввести команду
# make bzImage
Если исходники ядра и компилятор установлены корректно примерно
минут через 20 (это зависит от версии ядра и от быстродействия вашей системы), вы получите откомпилированное ядро. Обычно оно помещается в каталог /usr/src/linux/arch/i386/boot
Теперь нужно откомпилировать модули, которые будут использоваться ядром
# make modules
И установить их
# make modules_install
Перед установкой модулей сделайте резервную копию модулей старого ядра (каталог /lib/modules). Если вы не добавляли новых модулей в состав ядра, вам не нужно ничего заново компилировать и устанавливать – этим вы сэкономите уйму времени – компилирование модулей и их установка может занять больше времени, нежели компилирование самого ядра (обычно так оно и есть).
Теперь можно ввести команду
# make install
для установки только что созданного ядра, однако я не рекомендую этого делать - сначала нужно протестировать наше ядро.
Откройте в любом редакторе файл /etc/lilo.conf
# vi /etc/lilo.conf
Добавьте следующие строки
image=/usr/src/linux/arch/i386/boot/bzImage
label=my_linux
root=/dev/hda5
append=" mem=128M"
read-only
Естественно, укажите свою корневую файловую систему и объем
оперативной памяти. Введите команду
# lilo
Теперь перезагрузите систему
# reboot
В случае возникновения ошибок вы всегда сможете загрузить старую версию ядра.
Подробно о перекомпиляции ядра вы можете прочитать в моих книгах “Linux-сервер своими руками” и “Самоучитель Linux: установка, настройка, использование”.