20.5.3.Сборка ядра
20.5.3.Сборка ядра
Теперь, когда все устройства сконфигурированы, нужно сохранить файл конфигурации ядра и перейти непосредственно к этапу сборки ядра.
Для сборки вам понадобится программное обеспечение, необходимые версии которого перечислены в таблице 20.4.
Необходимое программное обеспечение Таблица 20.4
Программа/библиотека Минимально допустимая версия Где взять Gnu С Compiler 2.95.3 http://gcc.gnu.org Gnu Make 3.78 ftp://ftp.gnu.org/gnu/make/ binutils 2.12 ftp://ftp.kernel.оrg/pub/linux/devel/binutils/ util-linux 2.10o ftp://ftp.kernel.org/pub/linux/utils/util-linux/ module-init-tools 0.9.9 http://www.kernel.org/pub/linux/kernel/peoplе/rusty/modules/ procps 2.0.9 http://procps.sourceforge.net/ e2fsprogs (*) 1.29 http://e2fsprogs.sourceforge.net/ jfsutils (*) 1.0.14 http://www-124.ibm.com/jfs/ reiserfsprogs (*) 2.1.0 http://www.namesys.com/ nfs-utils 1.0,5 http://nfs.sourceforge.net/ pcmcia-cs 3.1.21 http://pcmcia-cs.sourceforge.net/ quota-tools 3.09 http://sourceforge.net/projects/linuxquota/ ppp 2.4,0 ftp://ftp.samba.org/pub/ppp/ isdn4k-utils 3.1pre1 http://www.isdn4linux.de/swpat.html oprofile 0.5.3 http://oprofile.sourceforge.net/(*) Данное программное обеспечение зависит от используемой файловой системы. Если вы используете только ext2, обновите только e2fsprogs, если JFS — то jfsutils. Если же вы используете все перечисленные файловые системы ext2, JFS, RelserFS, вам нужно обновить все программы, отмеченные звездочкой.
Ваше старое ядро пока работает и, чтобы не сделать ничего непоправимого, нужно собирать новое ядро под новым именем. Найдите в Makefile (в самом начале файла) строчки:
VERSION=2
PATCHLEVEL=6
SUBLEVEL=<третья_цифра_версии_вашего_ядра>
EXTRAVERSION=
EXTRAVERSION — это суффикс, которым будет отличаться имя нового ядра. Дайте ему значение вроде «new» или «test». Это приведет к тому, что собранное вами ядро будет называться linux-2.6.x-new. Старое ядро никуда не денется, и при загрузке можно будет выбрать нужный вариант ядра.
Команда make dep, которая вводилась после конфигурирования ядер 2.4 и ниже, при сборке ядра 2.6 не используется. Вместо нее выполните следующую последовательность команд:
$ make bzImage
$ make modules
Эти пара команд соберет ядро и те модули, которые вы включили в него на этапе конфигурирования. Процесс сборки займет не меньше 20 минут, а то и значительно больше — в зависимости от быстродействия вашей системы и количества выбранных модулей.
Можно выполнять эти команды от имени непривилегированного пользователя. Даже нужно, поскольку идеологически правильнее работать под рутом только тогда, когда иначе нельзя. Без привилегий суперпользователя нельзя обойтись только на этапе установки ядра и модулей:
# make modules_install
# make install
Результатом успешной сборки и установки станут следующие файлы и каталоги:
/boot/vmlinuz-2.6.x-new
/boot/System.map-2.6.x-new
/boot/initrd-2.6.x-new.img
/lib/modules/2.6.x-new
Осталось добавить в конфигурационный файл вашего загрузчика (п.9.1.1) вариант загрузки с новым ядром. Если вы используете GRUB, впишите в /boot/grub/grub.conf следующие строки:
title Linux New Kernel
kernel /vmlinuz-2.6.x-new root=/dev/hda5 ro
initrd /initrd-2.6.x-new.img
Если вы вкомпилировали все драйверы, необходимые для загрузки системы, в ядро и поэтому не используете initrd, то строчку initrd можно удалить.
В случае, если ваш загрузчик — LILO, впишите в /etc/lilo.conf строки:
image=/boot/vmlinuz-2.6.x-new
label=" Linux New Kernel"
root=/dev/hda5
initrd=/boot/initrd-2.6.x-new.img
read-only
И занесите изменения в загрузочную запись:
# lilo
Теперь перезагрузите систему и попробуйте загрузиться с новым ядром. При появлении каких-либо ошибок вы всегда сможете загрузить старую версию.
Данный текст является ознакомительным фрагментом.