17.3. Установка нового ядра из rpm-пакета

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 tyson@rwii.com

#

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). Причем новую секцию поставил первой. Вот что у меня получилось (добавленные мной строки выделены жирным шрифтом):

#------------------- начало файла /etc/lilo.conf -----------

boot=/dev/hdb1

map=/boot/map

install=/boot/boot.b

prompt

timeout=50

image=/boot/vmlinuz-2.2.16-1

label=linux-2.2.16

root=/dev/hdb1

read-only

image=/boot/vmlinuz-2.2.11-4bc

label=linux

root=/dev/hdb1

read-only

other=/dev/hda1

label=dos

table=/dev/hda

#------------------- конец файла /etc/lilo.conf ------------

Обратите внимание на то, что в данном случае Linux грузится со второго диска, поскольку на первом диске стоит Windows NT, и в качестве загрузчика используется NT Loader.

После этого я запустил команду /sbin/lilo, причем вначале с параметрами -t -v, чтобы посмотреть, что она будет делать, а только потом уже - без параметров, для реального исполнения. Когда команда отработала, я перезагрузился, однако на этапе загрузки система зависла, выведя строку LIL-. Пришлось воспользоваться загрузочной дискетой (заготовленной еще при установке системы) и выполнить команду

[root]# dd if=/dev/hdb1 of=/mnt/hda1/bootsect.lnx bs=512 count=1

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

Еще раз перезагружаюсь, и с радостью вижу сообщение о том, что загрузилось ядро 2.2.16-1.

Если у вас LILO является основным загрузчиком (установлен в MBR первого диска), то последнюю операцию (копирование загрузочного сектора в файл) выполнять, конечно, не нужно.

Поделитесь на страничке

Следующая глава >

Похожие главы из других книг:

Установка ядра Linux-2.4.19

Из книги автора

Установка ядра Linux-2.4.19 Приблизительное время компиляции со всеми опциями по умолчанию: 4.20 SBU Необходимое дисковое пространство со всеми опциями по умолчанию: 181 MBПостроение ядра включает в себя несколько шагов: конфигурация и компиляция ядра. Есть несколько путей для


3.8.2. Обновление ядра из RPM-пакета

Из книги автора

3.8.2. Обновление ядра из RPM-пакета Самый простой способ установить новое ядро — использование RPM-пакета. Установка такая же, как и любой другой программы. Для обновления ядра можно выполнить команду:rpm -Uvh ИмяПакетаЕсли вы хотите установить новое ядро, то ключ U необходимо


Компиляция и установка ядра

Из книги автора

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


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

Из книги автора

Инсталляция нового ядра и его использование Чтобы готовое ядро можно было использовать, его необходимо инсталлировать. Как было сказано ранее, скомпилированное ядро помещается в каталог /usr/src/linux/arch/i386/boot (вместо i386 может присутствовать другой каталог, имя которого


17.4. О компиляции нового ядра

Из книги автора

17.4. О компиляции нового ядра 17.4.1 Зачем вообще нужно компилировать ядро? Как было сказано в начале данного раздела, основная функция ядра состоит в том, чтобы обеспечить взаимодействие с аппаратурой компьютера. Обслуживание некоторых составляющих аппаратного


17.5.7. Установка ядра

Из книги автора

17.5.7. Установка ядра После этого остается сделать последний шаг - установить ядро и перезагрузиться. Для установки ядра вы должны иметь права суперпользователя. (Хотя в начале главы и было сказано, что для компиляции ядра надо иметь права суперпользователя, однако все


2.3. Установка пакета

Из книги автора

2.3. Установка пакета В первую очередь посмотрим как собрать (скомпилировать) пакет iptables. Сборка пакета в значительной степени зависит от конфигурации ядра и вы должны это понимать. Некоторые дистрибутивы предполагают предустановку пакета iptables, один из них – Red Hat. Однако,


2.3.1. Сборка пакета

Из книги автора

2.3.1. Сборка пакета Для начала пакет с исходными текстами iptables нужно распаковать. Мы будем рассматривать пакет iptables 1.2.6a и ядро серии 2.4. Распакуем как обычно, командой bzip2 -cd iptables-1.2.6a.tar.bz2 | tar -xvf - (распаковку можно выполнить такжк командой tar -xjvf iptables-1.2.6a.tar.bz2). Если распаковка


3.3.2. Формат имени пакета

Из книги автора

3.3.2. Формат имени пакета Еще со времен второй версии дистрибутива Red Hat принято файлы пакетов называть


3.3.3.5. Обновление пакета

Из книги автора

3.3.3.5. Обновление пакета Пакет уже установлен, но вы скачали в Интернете его новую версию, поэтому вам его нужно обновить. Для обновления пакета используется опция -U. Данную опцию можно использовать вместе с опциями hv, если вы хотите видеть индикатор процесса обновления:rpm -


Фильтры пакета buZZ.Pro

Из книги автора

Фильтры пакета buZZ.Pro Названия большинства фильтров, которые входят в состав пакета buZZ.Pro, покажутся вам знакомыми. Действительно, по названиям они совпадают со стандартными фильтрами Photoshop. Однако это вовсе не означает, что они вам не нужны. Алгоритм обработки изображений


17.2. Установка и подготовка пакета

Из книги автора

17.2. Установка и подготовка пакета У пользователя должно быть ощущение «коробочного продукта». Как пользователи мы готовы подписаться под этим тезисом обеими руками, но как разработчики не любим заниматься вопросами создания пакетов и установки.К счастью, в Ruby все это не


Установка программ пакета Microsoft Office 2007

Из книги автора

Установка программ пакета Microsoft Office 2007 Для установки приложений пакета Office 2007 следует запустить файл Setup.exe, который входит в комплект поставки. При этом откроется окно, изображенное на рис. 1.1. Рис. 1.1. Выбор приложения для инсталляцииВ данном окне с помощью переключателя


19.3. Установка тайм-аута выбора операционной системы. Редактирование параметров ядра Linux

Из книги автора

19.3. Установка тайм-аута выбора операционной системы. Редактирование параметров ядра Linux По умолчанию GRUB2 не отображает меню выбора операционной системы. Следовательно, вы не можете ни выбрать другую операционную систему (в том числе и Windows), ни изменить параметры ядра Linux,


11.1. Установка нового устройства в ваш компьютер

Из книги автора

11.1. Установка нового устройства в ваш компьютер В этом разделе мы поговорим о физическом подключении устройства к компьютеру. Любой пользователь рано или поздно столкнется с установкой новых устройств в свой компьютер. Вот основные правила подключения нового


2.7. Установка нового оборудования. Драйверы

Из книги автора

2.7. Установка нового оборудования. Драйверы Как я уже отмечал ранее, многими компаниями выпускаются различные аксессуары и оборудование для ПК — принтеры, сканеры, планшеты и многое другое. Кроме того, вам иногда придется совершенствовать свой компьютер (или, как говорят