8.4. Обеспечение загрузки LFS системы

8.4. Обеспечение загрузки LFS системы

Вы почти полностью установили новую систему LFS. Теперь нам надо обеспечить возможность ее загрузки. Следующие инструкции применимы только для компьютеров с архитектурой IA-32, т. е. к большинству PC. Информация о “загрузке системы” на других архитектурах может отличаться и использовать другие ресурсы.

Загрузка может быть комплексной задачей. Для начала несколько предостережений. Вы очень сильно зависите от вашего текущего загрузчика и любая операционая система на вашем жестком диске (дисках) может перестать загружаться. Убедитесь в том, что у вас есть резервная загрузочная “спасательная” дискета или диск, иначе вы рискуете получить нерабочий компьютер (точнее, незагружающийся).

Мы скомпилировали и установили загрузчик Grub именно для этого шага. Процедура включает запись определенных файлов Grub в специальное место на вашем жестком диске. Перед тем как вы сделаете это, мы крайне рекомендуем зоздать загрузочную дискету с Grub. Вставьте пустую дискету и запустите следующие команды:

dd if=/boot/grub/stage1 of=/dev/fd0 bs=512 count=1
dd if=/boot/grub/stage2 of=/dev/fd0 bs=512 seek=1

Выньте дискету и сохраните ее где нибуть в надежном месте. Теперь мы запустим оболочку grub:

grub

Grub использует свою структуру имен для дисков и разделов в форме (hdn,m), где n является номером жесткого диска, а m - номером раздела, которые начинаются с нуля. Например, раздел hda1 будет (hd0,0) для Grub, а hdb3 - (hd1,2). В отличие от Linux, Grub не считает CD-ROM приводы за жесткие диски, так что если у вас есть CD на hdb, а второй жесткий диск на hdc, то ваш второй жесткий диск будет (hd1).

Используя приведенную информацию, определите правильное название для вашего корневого раздела. В нижеприведенных примерах мы будем считать, что он находится на hda4.

Скажем Grub, где ему искать свои файлы stage{1,2}. Клавиша Tab может быть использована для показа Grub-ом альтернативных вариантов при загрузке:

root (hd0,3)
[Warning]

Внимание

Нижеприведенные команды перезапишут ваш текущий загрузчик. Не запускайте эти команды, если вам этого не надо. К примеру, вы можете использовать загрузку в несколько этапов путем манипуляций вашими MBR (Master Boot Record). В этом случае стоит установить Grub в “загрузочный сектор” раздела LFS. В таком случае это делается командой setup (hd0,3).

Теперь дадим команду на установку загрузчика в MBR hda:

setup (hd0)

Если все в порядке, то Grub сообщит о том, что нашел свои файлы в /boot/grub. Это все. Выходим из оболочки grub:

quit

Создадаим файл “menu.lst”, описывающий меню загрузки Grub:

cat > /boot/grub/menu.lst << "EOF"
# Begin /boot/grub/menu.lst

# По умолчанию загружаем первый пункт меню.
default 0

# Ждем 30 секунд перед автозагрузкой.
timeout 30

# Используем желаемые цвета.
color green/black light-green/black

# Первый пункт меню для LFS.
title LFS 6.0
root (hd0,3)
kernel /boot/lfskernel-2.6.8.1 root=/dev/hda4
EOF

Вы можете захотеть добавить пункт для вашей основной системы. Это делается примерно так:

cat >> /boot/grub/menu.lst << "EOF"
title Red Hat
root (hd0,2)
kernel /boot/kernel-2.4.20 root=/dev/hda3
initrd /boot/initrd-2.4.20
EOF

Если у вас есть Windows, следующая команда добавит пункт для его загрузки:

cat >> /boot/grub/menu.lst << "EOF"
title Windows
rootnoverify (hd0,0)
chainloader +1
EOF

Если info grub не даст вам исчерпывающей информации, то вам стоит посетить страничку Grub по адресу: http://www.gnu.org/software/grub/.