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 первого диска), то последнюю операцию (копирование загрузочного сектора в файл) выполнять, конечно, не нужно.
Более 800 000 книг и аудиокниг! 📚
Получи 2 месяца Литрес Подписки в подарок и наслаждайся неограниченным чтением
ПОЛУЧИТЬ ПОДАРОКЧитайте также
Установка ядра 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. Установка нового оборудования. Драйверы Как я уже отмечал ранее, многими компаниями выпускаются различные аксессуары и оборудование для ПК — принтеры, сканеры, планшеты и многое другое. Кроме того, вам иногда придется совершенствовать свой компьютер (или, как говорят