Linux
Park
Инсталляция нового ядра.
1. Копируйте ?/usr/src/linux/arch/i386/boot/bzImage¦
из дерева исходных кодов ядра в каталог ?/boot¦
и дайте ему новое имя.
[root@deep linux]# cp /usr/src/linux/arch/i386/boot/bzImage
/boot/vmlinuz-kernel.version.number
Замечание. Я рекомендую
название подобное vmlinuz-2.2.14, потому что если
вы хотите создать новый спасательный или
загрузочные диски при помощи mkbootdisk, то она
требует некоторой точности, например
vmlinuz-2.2.14 вместо vmlinuz-2.2.14.a
2. Копируйте ?/usr/src/linux/System.map¦ из
дерева исходных кодов ядра в каталог ?/boot¦ и
дайте ему новое имя.
[root@deep linux]# cp /usr/src/linux/System.map /boot/System.map-kernel.version.number
3. Переместитесь в каталог /boot и
создайте символические ссылки vmlinuz и System.map.
[root@deep linux]# cd /boot
[root@deep /boot]# ln -fs vmlinuz-kernel.version.number vmlinuz
[root@deep /boot]# ln -fs System.map-kernel.version.number System.map
Мы должны пересоздать ссылки ?vmlinuz¦
и ?System.map¦ на новую версию ядра. Иначе lilo
будет использовать старое ядро.
4. Удалите устаревшие и ненужные
файлы из каталога ?/boot¦, чтобы освободить
место на диске:
[root@deep /boot]# rm -f module-info
[root@deep /boot]# rm -f initrd-2.2.xx.img
?module-info¦ это ссылка на каталог с
модулями к старому ядру. Так как мы
инсталлируем новое ядро, мы не нуждаемся в
потерянных ссылках. Файл ?initrd-2.2.xx¦ содержит
инициализационный образ RAM диска, который
выступает как система пока не будут
доступны диски. Этот файл будет
существовать и будет инсталлирован в ходе
установки сервера, если вы имеете SCSI диск.
Все необходимые драйвера сейчас встроены в
ваше монолитное ядро, поэтому спокойно
удаляйте этот файл.
5. Создайте новый каталог, который
будет содержать все необходимые
заголовочные файлы, связанные с ядром,
которые будут нужны в дальнейшем при
компиляции нового программного
обеспечения.
Помните, что мы должны создать
три символические ссылки в ?/usr/include¦,
которые являются точками входа в
заголовочные файлы ядра Linux. Каталог ?/usr/include¦
содержит все заголовочные файлы вашей
системы, которые нужны для компиляции новых
программ. Ссылки asm, linux и scsi используются
когда программам нужно знать некоторые
функции времени компиляции ядра
инсталлированного на вашей системе.
Программы вызывают другие заголовочные
файлы из каталога ?include¦ когда им нужна
специальная информация, зависимости и т.д.
[root@deep /]# mkdir -p /usr/src/linux-2.2.14/include
[root@deep /]# cp -r /usr/src/linux/include/asm-generic /usr/src/linux-2.2.14/include
[root@deep /]# cp -r /usr/src/linux/include/asm-i386 /usr/src/linux-2.2.14/include
[root@deep /]# cp -r /usr/src/linux/include/linux /usr/src/linux-2.2.14/include
[root@deep /]# cp -r /usr/src/linux/include/net /usr/src/linux-2.2.14/include
[root@deep /]# cp -r /usr/src/linux/include/video /usr/src/linux-2.2.14/include
[root@deep /]# cp -r /usr/src/linux/include/scsi /usr/src/linux-2.2.14/include
[root@deep /]# rm -rf /usr/src/linux
[root@deep /]# cd /usr/src
[root@deep src]# ln -s /usr/src/linux-2.2.14 linux
Первое, мы создаем новый каталог
?linux-2.2.14¦, базирующийся на версии ядра,
которое мы инсталлируем для более легкой
интерпретации, затем мы копируем туда
каталоги asm-generic, asm-i386, linux, net, video, и scsi из ?/usr/linux/include¦.
После этого мы удаляем каталог в котором
компилировали новое ядро и создаем в ?/usr/src¦
ссылку ?linux¦, указывающую на ?linux-2.2.14¦.
Последний шаг позволяет сэкономить место
на диске. Ядро в разархивированном виде
занимает около 75M, а каталоги ?include¦ v 3M.
6. В заключении нам необходимо
редактировать файл ?/etc/lilo.conf¦, чтобы сделать
новое ядро, загружаемым по уолчанию.
Шаг 1.
Редактируем файл lilo.conf (vi /etc/lilo.conf)
и делаем соответствующие изменения в линии ?image=/boot/¦:
[root@deep /]# vi /etc/lilo.conf
boot=/dev/sda
map=/boot/map
install=/boot/boot.b
prompt
timeout=00
restricted
password=somepasswd
image=/boot/vmlinuz-kernel.version.number #(добавьте здесь имя
вашего нового ядра).
label=linux
root=/dev/sda6
read-only
Замечание. Не забудьте
удалить строку ?initrd=/boot/initrd-2.2.12-20.img¦, так как
она нам больше ну нужна.
Шаг 2.
Когда имя нового ядра было
внесено в файл ?/etc/lilo.conf¦, как это было
описано выше, мы должны дать следующие
команды, чтобы изменения вступили в силу:
[root@deep /]# /sbin/lilo -v
LILO version 21, [Copyright 1992-1998 Werner Almesberger
Reading boot sector from /dev/sda
Merging with /boot/boot.b
Boot image: /boot/vmlinuz-2.2.14
Added linux *
/boot/boot.0800 exits v no backup copy made.
Writing boot sector.
ВАЖНОЕ ЗАМЕЧАНИЕ: Если вы сказали
No на вопрос ?Unix98 PTY support (CONFIG_UNIX98_PTYS)¦ во время
конфигурирования ядра, то отредактируйте
файл ?/etc/fstab¦ и удалите следующую строку:
none /dev/pts devpts gid=5,mode=620 0 0
|