Gentoo Logo

[ << ] [ < ] [ В начало ] [ > ] [ >> ]


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

###########################################################
## Этот раздел может быть повторен, если у вас несколько ядер или вы хотите
## установить параметры загрузки. Замените kernel-2.6.15 точным именем вашего 
## ядра.
###########################################################
image=/boot/kernel-2.6.15
  label=Linux
  root=/dev/ram0    # Если вы использовали genkernel, то это /dev/ram0
  partition=3
  sysmap=/boot/System.map-2.6.9
  append="real_root=/dev/hda3 init=/linuxrc"  
  # Вы можете добавить дополнительные параметры ядра, например
  # rootdelay=10 для загрузки с USB/Firewire
  
  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

## /etc/yaboot.conf
##
## запустите: "man yaboot.conf" для получения более подробной информации
## До тех пор ничего не меняйте!!!
## См. также примеры конфигурации: /usr/share/doc/yaboot/examples 
##
## Для меню с двойной загрузкой добавьте одну или более строк:
## bsd=/dev/hdaX, macos=/dev/hdaY, macosx=/dev/hdaZ

## раздел bootstrap:
boot=/dev/hda2

## ofboot - это метод указания bootstrap-раздела для Open Firmware
## Если вы его не укажите, yaboot не будет работать на G5 и некоторых G4
## и вам придется передать соответствующие параметры программам mkofboot/ybin.
## hd:X означает /dev/sdaX (или /dev/hdaX).
## 
## Пользователи G5 должны должны раскомментировать эту строку!!!
# ofboot=hd:2
## Пользователи, загружающиеся со встроенного ПО должны добавить строку,
## подобную этой:
# ofboot=fw/node/sbp-2/disk@0:

## Пользователи, загружающиеся с USB должны добавить строку, подобную этой:
# ofboot=usb/disk@0:

## hd: - это сокращение для первого жесткого диска, который
видит Open Firmware
device=hd:

## Пользователи Firewire и USB должны указать соответствующее OF-имя
## устройства. Оно может быть определено при помощи ofpath из пакета yaboot.

# device=fw/node@0001d200e00d0207/sbp-2@c000/disk@0:


delay=5
defaultos=macosx
timeout=30
install=/usr/lib/yaboot/yaboot
magicboot=/usr/lib/yaboot/ofboot

#################
## Этот раздел можно повторять, если у вас несколько ядер и вариантов 
## загрузочных опций. Замените 2.6.9 на свою версию ядра.
#################
image=/boot/kernel-2.6.9
  label=Linux
  root=/dev/hda3
  partition=3
  #  append="rootdelay=10"  # Необходимо для загрузки с USB/Firewire
  read-only
##################

## Пользователи G5 и некоторых G4 должны выставить 
##   macos=hd:13
##   macosx=hd:12
## вместо значений в примере.
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
# Установите в false, если вы хотите загружаться в OF, не все модели способны 
отображать вывод OF
# nvsetenv output-device video
# Проверьте страницу quirk'ов, здесь очень много вариаций.
# nvsetenv input-device kbd
# nvsetenv boot-device scsi/sd@1:0 # Для SCSI
# nvsetenv boot-device ata/ata-disk@0:0 # Для ATA
# nvsetenv boot-file /boot/vmlinux-2.6.15 root=/dev/hda4
# Первый параметр - путь к ядру, второй - корневой раздел. Вы можете добавить
любые параметры ядра в конец этой строки.
# nvsetenv boot-command boot
# Установите это, чтобы распрощаться с Mac OS и загружаться в Linux

Примечание: Также можно изменить переменные загрузки 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

#
# Пример файла описания для bootcreator 1.1
#

[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.


[ << ] [ < ] [ В начало ] [ > ] [ >> ]


Для печати

View all

Обновлено 27 февраля 2006

Исходный документ обновлен 6 июля 2008

Аннотация: Существует несколько загрузчиков. Каждый из них настраивается по-своему. В этой главе мы шаг за шагом объясним вам порядок настройки начального загрузчика для ваших нужд.

Sven Vermeulen
автор

Roy Marples
автор

Daniel Robbins
автор

Chris Houser
автор

Jerry Alexandratos
автор

Seemant Kulleen
разработчик Gentoo x86

Tavis Ormandy
разработчик Gentoo Alpha

Jason Huebel
разработчик Gentoo AMD64

Guy Martin
разработчик Gentoo HPPA

Pieter Van den Abeele
разработчик Gentoo PPC

Joe Kallar
разработчик Gentoo SPARC

John P. Davis
редактор

Pierre-Henri Jondot
редактор

Eric Stockbridge
редактор

Rajiv Manglani
редактор

Jungmin Seo
редактор

Stoyan Zhekov
редактор

Jared Hudson
редактор

Colin Morey
редактор

Jorge Paulo
редактор

Carl Anderson
редактор

Jon Portnoy
редактор

Zack Gilburd
редактор

Jack Morgan
редактор

Benny Chuang
редактор

Erwin
редактор

Joshua Kinard
редактор

Tobias Scherbaum
редактор

Xavier Neys
редактор

Joseph Jezak
Editor

Grant Goodyear
рецензент

Gerald J. Normandin Jr.
рецензент

Donnie Berkholz
рецензент

Ken Nowack
рецензент

Lars Weiler
участник

Антон Битков
переводчик

Андрей Бородай
переводчик

Василий Голубев
переводчик

Алексей Глазунов
переводчик

Игорь Короть
переводчик

Сергей Кулешов
переводчик, редактор перевода

Игорь Наум
переводчик

Антон Филимонов
переводчик

Азамат Хакимов
переводчик, редактор перевода

Эльдар Цраев
переводчик

Analyzer
переводчик

Алексей Чумаков
ведущий переводчик, редактор перевода

Donate to support our development efforts.

Support OSL
Gentoo Centric Hosting: vr.org
Tek Alchemy
SevenL.net
Global Netoptex Inc.
Bytemark
Online Kredit Index
Copyright 2001-2009 Gentoo Foundation, Inc. Questions, Comments? Contact us.