[ << ]
[ < ]
[ В начало ]
[ > ]
[ >> ]
10. Настройка начального загрузчика
Содержание:
10.a. Делаем выбор
Введение
Теперь, когда выше ядро сконфигурировано и скомпилировано, вам нужен
начальный загрузчик для запуска Linux. Необходимый вам начальный
загрузчик зависит от используемого вами типа компьютера PPC.
Если у вас компьютер NewWorld Apple или IBM, вам нужно использовать yaboot. Для компьютеров OldWorld Apple есть два решения,
BootX (рекомендуется) и quik.
Компьютерам Pegasos не нужен начальный загрузчик, но вам понадобится
установить BootCreator для создания загрузочных
меню SmartFirmware.
Для платформы Linux/PPC существует несколько загрузчиков. Это
Yabooot (для компьютеров NewWorld от Apple и IBM)
и BootX (для компьютеров OldWorld от Apple).
Для Pegasos загрузчик не нужен, но мы включили
BootCreator для создания меню SmartFirmware.
10.b. По умолчанию: использование Yaboot
Введение
Важно:
yaboot можно использовать только на компьютерах NewWorld Apple или IBM!
|
Чтобы найти загрузочные устройства, yaboot необходим доступ к файлам устройств,
создаваемым udev при запуске, и файловой системе sysfs. Эти две файловые
системы находятся в /dev и sys, соответственно.
Для этого вам потребуется «привязать» эти файловые системы с корня
установочного диска на точки монтирования /dev и /sys
внутри среды измененного корня (chroot). Если файловые системы уже привязаны,
делать это повторно не требуется.
Листинг 2.1: Монтирование файловых систем устройств и системной |
# exit # выйдем из chroot
# mount -o bind /dev /mnt/gentoo/dev
# mount -o bind /sys /mnt/gentoo/sys
# chroot /mnt/gentoo /bin/bash
# /usr/sbin/env-update && source /etc/profile
|
Чтобы установить yaboot, вы можете использовать yabootconfig для
автоматического создания конфигурационного файла. Если вы устанавливаете Gentoo
на компьютер G5 (где yabootconfig не всегда работает) или вы планируете
загружаться с firewire или USB, вам придется вручную настроить yaboot.
Примечание:
Если вы использовали genkernel, возможно вам придется вручную подправить
yaboot.conf, даже если вы запускали yabootconfig. Раздел образа ядра должен
быть исправлен, как показано ниже:
|
Листинг 2.2: Добавление параметров загрузки genkernel yaboot.conf |
image=/boot/kernel-2.6.15
label=Linux
root=/dev/ram0
partition=3
sysmap=/boot/System.map-2.6.9
append="real_root=/dev/hda3 init=/linuxrc"
read-only
|
По умолчанию: использование yabootconfig
yabootconfig автоматически определит разделы на вашей машине и установит
двойную или тройную комбинацию загрузки для Linux, Mac OS и Mac OX X.
Чтобы использовать yabootconfig, на вынем диске должен быть раздел
Apple_Bootstrap, а в /etc/fstab должны быть отражены ваши разделы
Linux. Эти шаги должны были быть выполнены ранее, но все же проверьте
/etc/fstab, прежде чем продолжить. Убедимся, что у вас установлен
yaboot.
Листинг 2.3: Установка yaboot |
# emerge yaboot
|
Теперь выйдем из chroot и запустим yabootconfig --chroot /mnt/gentoo.
После запуска программа попросит подтвердить путь к загрузочному разделу.
Если вы использовали предложенную схему разбивки диска, заргузочным разделом
будет /dev/hda2. Нажмите Y, если раздел указан правильно. Если нет,
перепроверьте файл /etc/fstab. Затем yabootconfig просмотрит
настройку вашей системы, создаст /etc/yaboot.conf и запустит
mkofboot. mkofboot используется для форматирования раздела
Apple_Bootstrap и установки в него конфигурационных файлов. После этого войдите
в chroot снова.
Листинг 2.4: Возвращение в chroot |
# chroot /mnt/gentoo /bin/bash
# /usr/sbin/env-update && source /etc/profile
|
Вам следует убедиться в правильности /etc/yaboot.conf. Если вы
измените этот файл (например для выбора основной системы для загрузки), вам
следует запустить ybin -v для того, чтобы изменения вступили в силу.
Теперь переходите к разделу Перезагрузка системы
Альтернатива: настройка Yaboot вручную
Для начала убедитесь что у вас установлен yaboot.
Листинг 2.5: Установка yaboot |
# emerge yaboot
|
Ниже представлен полный пример файла yaboot.conf, но вам
понадобится изменить его под свои нужды. Пользователи G5 и пользователи,
загружающие систему с FireWire или USB, должны помнить, что их диски для ядра
выглядят как SCSI-диски, поэтому они должны заменить /dev/hda на
/dev/sda.
Листинг 2.6: /etc/yaboot.conf |
boot=/dev/hda2
device=hd:
delay=5
defaultos=macosx
timeout=30
install=/usr/lib/yaboot/yaboot
magicboot=/usr/lib/yaboot/ofboot
image=/boot/kernel-2.6.9
label=Linux
root=/dev/hda3
partition=3
read-only
macos=/dev/hda13
macosx=/dev/hda12
enablecdboot
enableofboot
|
Как только yaboot.conf будет настроен, запустите mkofboot -v
для форматирования раздела Apple_bootstrap и установки настроек. Если вы
измените yaboot.conf после создания Apple_bootstrap, вы можете обновить
настройки, запустив ybin -v
Для более подробной информации о Yaboot зайдите на сайт проекта Yaboot. А сейчас
переходите к разделу Перезагрузка системы.
10.c. Альтернатива: BootX
Важно:
BootX можно использовать только на OldWorld компьютерах Apple и IBM!
|
Так как BootX загружает Linux из MacOS, нам придется скопировать ядро с
раздела Linux на раздел с Mac OS. Сначала смонтируйте раздел с Mac OS извне
среды измененного корня. Используйте mac-fdisk -l чтобы узнать номер
раздела. Далее мы будем использовать sda6. Когда раздел будет смонтирован, мы
скопируем ядро в системный каталог, чтобы BootX смог его найти.
Листинг 3.1: Копирование ядра в раздел Mac OS |
# exit
cdimage ~# mkdir /mnt/mac
cdimage ~# mount /dev/sda6 /mnt/mac -t hfs
cdimage ~# cp /mnt/gentoo/usr/src/linux/vmlinux "/mnt/mac/System Folder/Linux Kernels"
|
Если был использован genkernel, необходимо скопировать ядро и initrd в раздел
Mac OS.
Листинг 3.2: Копирование ядра и initrd в раздел Mac OS |
# exit
cdimage ~# mkdir /mnt/mac
cdimage ~# mount /dev/sda6 /mnt/mac -t hfs
cdimage ~# cp /mnt/gentoo/boot/kernel-* "/mnt/mac/System Folder/Linux Kernels"
cdimage ~# cp /mnt/gentoo/boot/initramfs-* "/mnt/mac/System Folder"
|
Теперь, когда ядро скопировано, вам понадобится перезагрузиться для установки
BootX.
Листинг 3.3: Размонтирование всех разделов и перезагрузка |
cdimage ~# cd /
cdimage ~# umount /mnt/gentoo/proc /mnt/gentoo/dev /mnt/gentoo /mnt/mac
cdimage ~# reboot
|
Конечно, не забудьте убрать загрузочный CD из привода, так как на этот раз
необходимо загрузить Mac OS.
Как только компьютер загрузится в Mac OS, откройте панель управления BootX.
Если вы не использовали genkernel, выберите Options и снимите флажок с
Used specified RAM disk. Иначе проверьте, что выбран именно initrd от
genkernel, а не с установочного диска. Если вы не использовали genkernel, то у
вас есть возможность указать корневой диск и раздел Linux. Укажите необходимые
параметры и, если необходимо, параметры загрузки, зависящие от
конфигурации ядра.
BootX можно настроить для запуска Linux во время загрузки. Если вы
сделаете так, то сначала ваша машина будет загружаться в Mac OS, но во время
загрузки BootX запустит и загрузит Linux. Подробнее смотрите тут: домашняя страница BootX.
Важно:
Убедитесь, что в вашем ядре есть поддержка файловых систем HFS и HFS+, а то вы
не сможете обновлять или изменять ядро на своем разделе MacOS.
|
Теперь снова перезагрузитесь и загрузитесь в Linux, затем продолжите с
Окончание установки Gentoo.
10.d. Альтернатива: quik
quik позволяет загружаться компьютерам OldWorld без Mac OS. Тем не менее, он не
очень хорошо поддерживает множество quirk'ов (причуд — прим. пер.).
Если есть выбор, рекомендуется использовать BootX, так как он намного надежнее
и проще, чем quik.
Сначала нам необходимо установить quik:
Листинг 4.1: Установка quik |
# emerge quik
|
Затем необходимо его настроить. Отредактируйте /etc/quik.conf и укажите
скопированный в загрузочный раздел образ ядра.
Листинг 4.2: Настройка quik.conf |
# Пример quik.conf
init-message = "Gentoo 2006.0\n"
partition = 2
root = /dev/hda4
timeout = 30
default = gentoo
image = /vmlinux-2.6.15
label = gentoo
|
Файл quik.conf должен находиться на том же диске, что и загрузочные
образы quik, хотя он может быть на другом разделе этого диска. Однако
рекомендуется перенести его в загрузочный раздел.
Листинг 4.3: Перенос quik.conf в /boot |
# mv /etc/quik.conf /boot/quik.conf
|
Теперь настроим переменные загрузки, с которыми будет запускаться quik при
загрузке. Для этого мы воспользуемся программой nvsetenv. Необходимые
вам переменные различны для разных компьютеров, лучше найдите quirk'и для
вашего компьютера перед тем, как начать.
Листинг 4.4: Настройка переменных загрузки |
# nvsetenv auto-boot true
# nvsetenv output-device video
# nvsetenv input-device kbd
# nvsetenv boot-device scsi/sd@1:0
# nvsetenv boot-device ata/ata-disk@0:0
# nvsetenv boot-file /boot/vmlinux-2.6.15 root=/dev/hda4
# nvsetenv boot-command boot
|
Примечание:
Также можно изменить переменные загрузки Mac OS. В зависимости от модели нужно
выбрать или
bootvars,
или
Apple System Disk.
Пожалуйста, загляните на страницу quik для более детальной информации.
|
Теперь, чтобы настроить компьютер для загрузки, нам нужно удостовериться, что
загрузочные образы установлены правильно. Запустите quik -v -C
/boot/quik.conf. Должно появиться сообщение, что был установлен первый
загрузочный блок QUIK.
Примечание:
Если что-то произошло не так, вы всегда можете переустановить PRAM назад к
значениям по умолчанию, удерживая command + option + p + r перед
загрузкой компьютера. Этим вы очистите установленные вами значения с nvsetenv и
вы сможете загрузить загрузочный диск Mac OS или Linux.
|
Теперь можете продолжить установку с раздела Перезагрузка системы.
10.e. Альтернатива: BootCreator
Важно:
BootCreator создаст для Pegasos загрузочное меню SmartFirmware, написанное на
Forth.
|
Сначала проверим, что у нас установлена самая свежая версия bootcreator.
Листинг 5.1: Установка bootcreator |
# emerge bootcreator
|
Теперь скопируйте /etc/bootmenu.example в
/etc/bootmenu и отредактируйте так, как в вам нужно:
Листинг 5.2: Редкатировние конфигурационного файла bootcreator |
# cp /etc/bootmenu.example /etc/bootmenu
# nano -w /etc/bootmenu
|
Пример конфигурационного файла /etc/bootmenu представлен ниже.
Листинг 5.3: Конфигурационный файл bootcreator |
[VERSION]
1
[TITLE]
Boot Menu
[SETTINGS]
AbortOnKey = false
Timeout = 9
Default = 1
[SECTION]
Local HD -> Morphos (Normal)
ide:0 boot2.img ramdebug edebugflags="logkprintf"
[SECTION]
Local HD -> Linux 2.6.15 (Normal)
ide:0 linux-2.6.15 video=radeonfb:1024x768@70 root=/dev/hda3
[SECTION]
Local HD -> Genkernel (Normal)
ide:0 kernelz-2.6.15 root=/dev/ram0 real_root=/dev/hda3 init=/linuxrc
|
После всего bootmenu должен быть переведен в Forth и скопирован в
загрузочный раздел, где его сможет прочитать SmartFirmware. Чтобы сделать это,
запустите bootcreator:
Листинг 5.4: Установка загрузочного меню |
# bootcreator /etc/bootmenu /boot/menu
|
Примечание:
После перезагрузки обязательно проверьте настройки SmartFirmware и
удостоверьтесь, что по умолчанию загружается именно menu файл.
|
Теперь вы можете читать раздел Перезагрузка системы.
10.f. Перезагрузка системы
Выйдите из chroot, размонтируйте все смонтированные разделы, чтобы вы смогли
безопасно перезагрузиться, и введите reboot.
Листинг 6.1: Выход из chroot, размонтирование всех разделов и перезагрузка |
# exit
cdimage ~# umount /mnt/gentoo/proc /mnt/gentoo/dev /mnt/gentoo
cdimage ~# reboot
|
Как только ваша новая установка Gentoo загрузится, закончите чтение
разделом Окончание установки Gentoo.
[ << ]
[ < ]
[ В начало ]
[ > ]
[ >> ]
Текст этого документа распространяется на условиях лицензии
Creative Commons
- Attribution / Share Alike.
|