10.3. Усечение типового ядра 2.4

Проблема
Требуется переделать ядро, входящее в ваш дистрибутив, и убрать из него все
лишние драйверы, а также избавиться от поддержки ненужного оборудования
и функций.
Решение
Загрузите новые исходные тексты той же версии ядра, откомпилируйте новое ядро
и настройте его конфигурацию «с нуля». Версия ядра выводится командой uname:
$ uname -r
2 4 22
Предварительно сделайте следующее:
О убедитесь в том, что на диске имеется не менее 500 Мбайт свободного про странства для процесса сборки;
О распечатайте выходные данные dmesg, Lscpi, cat/proc/cpuinfo и Isusb (за допол нительной информацией обращайтесь к главе 5);
О создайте резервную копию всех данных и держите под рукой загрузочный
диск аварийного восстановления.
Распакуйте новые исходные тексты ядра в подкаталог, находящийся в домаш нем каталоге, — например, ~/s r c :
$ tar cvjf Iinux-2.4.22.tar.bz2
Отредактируйте make-файл нового ядра (~/src/unux-2.4.22/Makefile) и присвойте
новое значение параметру EXTRAVERSION — например, EXTRAVERSION=-slim-kemel.
Выполните следующие команды из каталога /~/src/linux-2.4.22:
$ make mrproper
$ make menuconfig
$ make dep
$ make bzlmage
$ make modules
$ su
$ make modulesinstali
# cp ~/src/linux-2.4.22/arch/i386/boot/bzImage /boot/vmlinuz-2.4.22-new-kernel
# cp -/src/1inux-2.4.22/System.map /boot/System.map-2.4.22-new-kernel
В процессе настройки ядра следует помнить, что вы начинаете «с пустого мес та», поэтому необходимо включить каждую используемую функцию. Также про следите за тем, чтобы ненужные функции не включались. Некоторые базовые воз можности, которые вам наверняка понадобятся:
О поддержка загружаемых модулей, встроенная в ядро;
О поддержка двоичных форматов a.out, ELF и MISC (в меню General Setup);
О поддержка всех загрузочных устройств (дисков IDE, CD-ROM, флоппи-дис ководов, дисков SCSI и USB), встроенная в ядро. Если не включать эти функ ции или оформить их в виде модулей, для загрузки системе понадобится
ramdisk (образ initrd).
После завершения настройки включите новое ядро в загрузчик, перезагрузите
компьютер и радуйтесь жизни. Не забудьте скопировать новый файл .config в ка талог, находящийся за пределами дерева сборки, чтобы защитить его от случай ного удаления или замены.
Комментарий
Описанная процедура настраивает новое ядро «с нуля». Команда make oldconfig
не подходит, потому что она не изменяет старую конфигурацию, а позволяет только
добавить в нее новые возможности.
Типичное базовое ядро занимает около 1-3 Мбайт (в сжатом виде). Некото рые администраторы предпочитают усекать свое ядро до абсолютного минимума.
На сервере, особенно доступном из Интернета, по соображениям безопасности
стоит использовать как можно более компактное ядро. Впрочем, на настольных
системах и рабочих станциях небольшая избыточность не столь существенна и мо жет быть даже удобной для внесения будущих изменений.
См. также
Раздел «Введение» настоящей главы; электронная справка в программе настрой ки ядра; раздел 10.2.