Инсталляция нового ядра и его использование

Инсталляция нового ядра и его использование

Чтобы готовое ядро можно было использовать, его необходимо инсталлировать. Как было сказано ранее, скомпилированное ядро помещается в каталог /usr/src/linux/arch/i386/boot (вместо i386 может присутствовать другой каталог, имя которого отражает название процессора). Файл ядра надо скопировать или переместить в каталог /boot. Желательно переименовать файл так, чтобы его имя отражало версию ядра и изменения, которые вы внесли в него. Например, вы можете назвать файл ядра bzImage-2.4.17 или bzImage-2.4.17-xfs. Если команда make modules_install до сих пор не выполнялась, надо вызвать ее, инсталлировав тем самым модули ядра в каталог /lib/modules/x.y.z, где x.y.z — это номер версии ядра.

Копирования файла ядра в каталог /boot недостаточно. Чтобы ядро можно было использовать, необходимо также модифицировать загрузчик. Большинство дистрибутивных пакетов содержит Linux Loader (LILO); настройка этого загрузчика на новое ядро осуществляется путем редактирования файла конфигурации /etc/lilo.conf. В листинге 1.1 показано содержимое файла lilo.conf, настроенного на загрузку одного ядра.

Листинг 1.1. Простой файл lilo.conf

boot=/dev/sda

map=/boot/map

install=/boot/boot.b

prompt

default=linux

timeout=50

image=/boot/vmlinuz

 label=linux

 root=/dev/sda6

 read-only

На заметку

LILO используется на компьютерах x86. Работая на других компьютерах, вам придется ориентироваться на другие типы загрузчиков. Эти загрузчики во многом напоминают LILO и отличаются от него лишь некоторыми деталями. Описания этих загрузчиков можно найти в документации на конкретные дистрибутивные пакеты.

Для того чтобы при загрузке системы вы могли выбирать между старой версией ядра и вновь созданным ядром, выполните следующие действия.

1. Откройте файл /etc/lilo.conf в текстовом редакторе.

2. Продублируйте строки файла, описывающие текущее ядро, используемое по умолчанию. Первая из этих строк начинается символами image=. Описание ядра продолжается до конца файла либо до тех пор, пока не встретится выражение image= или other=. В листинге 1.1 ядро описывается в последних четырех строках.

3. Модифицируйте строку image= так, чтобы она указывала на новый файл ядра. Например, вместо выражения image=/boot/vmlinuz включите выражение image=/boot/bzImage-2.4.17. (Во многих дистрибутивных пакетах Linux по умолчанию загружается файл ядра

4. Измените строку label= для нового ядра, указав после символа = новое значение, например mykernel или 2417. Это значение позволит отличать новое ядро от прежнего. В процессе загрузки вам будет предложено выбрать имя требуемого ядра в меню или ввести его в командной строке.

5. Сохраните внесенные изменения.

6. Введите команду lilo для того, чтобы установить модифицированный загрузчик на жесткий диск.

Внимание

Приведенные выше инструкции предполагают, что файл /etc/lilo.conf не содержит ошибок. При наличии ошибок выполнение п. 6 может привести к повреждению данных на жестком диске. Включая информацию о новом ядре, не изменяйте и не удаляйте другие данные, содержащиеся в файле.

При следующей загрузке компьютера LILO предложит вам указать, какое ядро должно использоваться при работе системы. В зависимости от настройки, вы сможете либо выбрать ядро в меню, либо указать имя ядра в строке после символов lilo:.

Если качество нового ядра устраивает вас, модифицируйте файл /etc/lilo.conf так, что это ядро будет загружаться по умолчанию. Для этого надо изменить строку default=. Измените текст после знака =, указав имя нового ядра, которое вы присвоили ему в п. 4, а затем в командной строке снова вызовите lilo.

Ядро Linux можно загрузить без использования LILO. В некоторых дистрибутивных пакетах вместо LILO содержится загрузчик Grand Unified Boot Loader (GRUB). Особенности конфигурирования GRUB описаны в документации на этот загрузчик. Кроме того, для загрузки Linux также можно использовать DOS-программу LOADLIN. Чтобы такая загрузка стала возможной, надо скопировать ядро на диск, доступный из DOS, например, в раздел DOS или на гибкий диск. Для загрузки Linux надо ввести следующую команду:

С:> LOADLIN BZIMAGE root=/dev/sda6 ro

В данном примере BZIMAGE — это имя файла ядра, который доступен из DOS, a /dev/sda6 — идентификатор корневого раздела, используемый в Linux. Опция ro указывает на то, что данный раздел должен монтироваться в режиме, допускающем только чтение (впоследствии Linux повторно смонтирует этот раздел в режиме чтения и записи). LOADLIN — удобный инструмент, позволяющий тестировать новые версии ядра, не изменяя настройку LILO. Кроме того, LOADLIN дает возможность загрузить Linux, если LILO поврежден. Если на вашем компьютере отсутствует система DOS, вы можете воспользоваться системой FreeDOS (http://www.freedos.org), которая также позволяет выполнить данную задачу. Утилита LOADLIN входит в состав большинства дистрибутивных версий Linux. На компакт-диске она обычно располагается в каталоге dosutils.