Версии ядра принято нумеровать тремя цифрами, разделенными точками, например, 2.4.8, при этом четная вторая цифра в номере ядра обозначает стабильные версии ядра, а нечетная - экспериментальные версии. Так что принимая решение об установке новой версии ядра вы должны продумать ответ на вопрос, хотите ли вы участвовать в выявлении возможных ошибок в нестабильной версии или предпочитаете работать с уже оттестированным ядром.
Как заявил Линус Торвальдс в одном из своих интервью, он предпочитает как раз заниматься экспериментальной веткой, разрабатывать код, работающий с новыми устройствами. Основным координатором разработки стабильной ветки является в настоящее время Алан Кокс, регулярно выпускающий обновленные версии или "заплатки" к стабильным версиям ядра.[26]
17.3. Установка нового ядра из rpm-пакета
Честно сказать, я довольно долгое время не решался браться за обновление ядра, поскольку первая из предпринятых мною попыток оказалась неудачной, причем до того неудачной, что мне пришлось полностью переустановить систему. Я тогда пытался установить ядро из исходных текстов. Но однажды я наткнулся в новостях на сообщение о том, что выпущен rpm-пакет с ядром 2.2.16-1. Поскольку мой опыт работы с rpm-пакетами был вполне положительным, я решился попытаться еще раз, и попытка эта оказалась вполне успешной!
Итак, вначале рассмотрим установку нового ядра, откомпилированного кем-то и представленного в виде rpm-пакета. Естественно, что первым делом надо скачать rpm-пакет с новым ядром. Если вы не ставите своей целью тестирование новшеств в ядре, то ищите rpm-пакет со стабильной версией, т. е. с четной второй цифрой в номере версии ядра (номер версии указывается в названии пакета). Я скачал ядро версии 2.2.16-1 с сервера http://rufus.w3.org/linux/RPM/.
Скачав ядро, запустите команду
[root]# rpm -i kernel-2.2.16-1.i386.rpm
По этой команде программа rpm установит в каталог /boot четыре файла: System.map-x.y.z-a, vmlinux-x.y.z-a, vmlinuz-x.y.z-a и module-info-x.y.z-a (где x.y.z-a - это номер версии нового ядра), создаст каталог /lib/modules/x.y.z-a, в котором разместит модули нового ядра, а также установит скрипт /sbin/installkernel.
Если у вас есть такое желание, вы можете предварительно (или потом) выполнить команду
[root]# rpm -qpl kernel-2.2.16-1.i386.rpm,
которая выдаст полный список устанавливаемых из пакета файлов. Выполнение этих команд еще ничего не меняет в системе, только подготавливает файлы для запуска нового ядра.
Я после установки пакета с ядром решился сразу запустить скрипт /sbin/installkernel. Скрипт завис, его пришлось снимать комбинацией клавиш ‹Ctrl›+‹C›. Тогда я стал разбираться с тем, что делает этот скрипт. Вот его полный текст:
#------------------- начало скрипта ------------------
#! /bin/sh
# /sbin/installkernel — written by [email protected]
#
INSTALL_PATH=/boot
KERNEL_VERSION=$1
BOOTIMAGE=$2
MAPFILE=$3
if [ -f $INSTALL_PATH/vmlinuz-$KERNEL_VERSION ]; then
mv $INSTALL_PATH/vmlinuz-$KERNEL_VERSION \
$INSTALL_PATH/vmlinuz.old;
fi
if [ -f $INSTALL_PATH/System.map-$KERNEL_VERSION ]; then
mv $INSTALL_PATH/System.map-$KERNEL_VERSION \
$INSTALL_PATH/System.map.old;
fi
cat $BOOTIMAGE > $INSTALL_PATH/vmlinuz-$KERNEL_VERSION
cp $MAPFILE $INSTALL_PATH/System.map-$KERNEL_VERSION
ln -fs vmlinuz-$KERNEL_VERSION $INSTALL_PATH/vmlinuz
ln -fs System.map-$KERNEL_VERSION $INSTALL_PATH/System.map
if [ -x /sbin/lilo ]; then /sbin/lilo; else /etc/lilo/install; fi
#------------------- конец скрипта ------------------
Как видите, скрипту требуются некоторые параметры, а я запускал его без аргументов. Однако, поскольку программа rpm уже разместила в /boot файлы vmlinux-2.2.16-1, vmlinuz-2.2.16-1 и System.map-2.2.16-1, а также создала ссылки с именами vmlinuz и System.map, я решил, что осталось только перезапустить lilo. Но прежде чем запускать lilo, я подредактировал файл /etc/lilo.conf, добавив туда секцию с указанием на ядро 2.2.16 (просто скопировал секцию с меткой linux, после чего подправил строки image и label). Причем новую секцию поставил первой. Вот что у меня получилось (добавленные мной строки выделены жирным шрифтом):
Вильям Л Саймон , Вильям Саймон , Наталья Владимировна Макеева , Нора Робертс , Юрий Викторович Щербатых
Зарубежная компьютерная, околокомпьютерная литература / ОС и Сети, интернет / Короткие любовные романы / Психология / Прочая справочная литература / Образование и наука / Книги по IT / Словари и Энциклопедии