Создание резервной копии прежнего ядра
Несмотря на то, что рекомпиляция ядра Linux по силам даже ребенку, все-таки следует предпринять некоторые меры предосторожности. Это означает создание резервной копии ядра и обеспечение способа ее загрузки при неудачной компиляции.
Создание резервной копии текущего ядра проводится в три этапа.
- Создание резервной копии исходных текстов ядра, что позволяет восстановить его при повреждении конфигурации.
- Создание резервной копии самого ядра как заведомо работающего средства запуска системы.
- Создание новой записи для загрузчика операционной системы, по которой можно будет загрузиться с резервной копии ядра.
Создание резервной копии исходных текстов не составляет труда. Для этого воспользуйтесь командой ср для копирования каталога.
# cp*-r /usr/src/linux-2.4.2 /usr/src/linux-2.4.2.sav
Восстановление производится копированием в обратном направлении. Создание резервной копии самого ядра ничуть не сложнее (замените указанную в примере версию системы собственной).
# ср /boot/vmlinuz-2.4.2-2 /boot/vmlinuz-2.4.2-2.orig
Совет
При рекомпиляции ядра прежнее ядро записывается в файл с расширением .old. Однако эту копию ядра пока нельзя использовать для загрузки системы. Этим объясняется необходимость выполнения перечисленных выше операций.
Загрузчик операционной системы типа LILO, обычно применяемый для загрузки Linux, конфигурируется установкой ссылки на файл ядра в корневой файловой системе. Например, в файле /etc/lilo.conf можно найти запись:
image = /boot/vmlinuz-2.4.2-2
…указывающую на файл запускаемого ядра.
После создания резервной копии ядра добавьте в файл /etc/lilo.conf еще одну запись, позволяющую запустить Linux с прежним ядром.
Для этого выполните следующие действия.
- Откройте файл /etc/lilo.conf в текстовом редакторе.
- Найдите в файле /etc/lilo.conf раздел со ссылкой на образ ядра системы.
- Создайте копию всего раздела (четыре или пять строк текста).
- Поменяйте в копии две позиции:
- Имя файла ядра замените именем его резервной копии (вместе с расширением).
- Замените метку раздела чем-либо, наподобие linux.original (исходный Linux) или linux-previous (прежний Linux).
- Если обнаружатся строки, начинающиеся с initrd, замените их имена на соответствующие резервные, например, initrd-2.4.2-2 .orig .img. Этот файл вы создадите позже, если понадобится.
- Запишите изменения в файл /etc/lilo .conf.
- Введите команду /sbin/lilo, чтобы ввести новую запись в загрузчик. При выполнении команды lilo на экран выводятся метки образов, вводимых в загрузчик операционной системы.
При следующей перезагрузке системы вы увидите идентификатор нового ядра в графической подсказке загрузчика LILO. Если у вас дистрибутив, не использующий графический интерфейс загрузчика LILO, то, нажав клавишу Tab при появлении командной строки LILO во время следующей загрузки системы, вы вызовете на экран список дополнительных образов, определенных перед рекомпиляцией ядра.