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

Теперь перезагрузите систему и попробуйте загрузиться с новым ядром. При появлении каких-либо ошибок вы всегда сможете загрузить старую версию.

Данный текст является ознакомительным фрагментом.