Обеспечение возможности загрузки 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, а hdb2 - (hd1,1). В отличие от Linux, Grub не считает CD-ROM приводы за жесткие диски, так что если у вас есть CD на hdb, к примеру, а второй жесткий диск на hdc, то ваш второй жесткий диск будет (hd1).

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

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

root (hd0,3)

 

Предупреждение

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

 

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

setup (hd0)

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

quit

Теперь нам надо создать файл "меню", для загрузчика Grub:

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

# By default boot the first menu entry.
default 0

# Allow 30 seconds before booting the default.
timeout 30

# Use prettier colors.
color green/black light-green/black

# The first entry is for LFS.
title LFS 5.0
root (hd0,3)
kernel /boot/lfskernel root=/dev/hda4 ro
EOF

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

cat >> /boot/grub/menu.lst << "EOF"
title Red Hat
root (hd0,2)
kernel /boot/kernel-2.4.20 root=/dev/hda3 ro
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.