[ << ]
[ < ]
[ Powrót ]
[ > ]
[ >> ]
10. Konfiguracja bootloadera
Spis treści:
10.a. Wybór bootloadera
Wstęp
Gdy jądro zostało już skonfigurowane i skompilowane, do uruchomienia nowego
systemu potrzebny jest bootloader. To, jakiego rodzaju bootloader
należy wykorzystać, zależy od typu posiadanego komputera PPC.
Jeśli korzystamy z komputera NewWorld Apple lub IBM, jedyną możliwością jaką
mamy jest bootloader yaboot. Dla OldWorld Apple
istnieją dwie opcje: BootX (zalecany) i quik. Pegasos nie wymaga bootloadera, jednak w jego
przypadku konieczne jest zainstalowanie programu
bootcreator, aby możliwe było stworzenie bootmenu SmartFirmware.
10.b. Domyślnie: Używanie yaboot
Wprowadzenie
Ważne:
yaboot może być używany tylko na komputerach NewWorld Apple lub IBM!
|
W celu prawidłowego zlokalizowania urządzenia bootowalnego, yaboot potrzebuje
dostępu do plików urządzeń utworzonych przez udev przy starcie systemu oraz do
systemu plików sysfs. Systemy te znajdują się w katalogach /dev i
/sys. Aby były dostępne w instalowanym systemie, trzeba je
podmontować również tam. Jeśli są już tam zamontowane, można pominąć ten krok.
Listing 2.1: Dowiązywanie systemu plików /dev i /sys |
# exit
# 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
|
Aby skonfigurować yaboota można wykorzystać program yabootconfig w celu
automatycznego wygenerowania pliku konfiguracyjnego. Jeśli jednak instalujemy
Gentoo na G5 (na którym yabootconfig nie zawsze działa) lub planujemy
bootować system z urządzeń podłączanych poprzez firewire lub USB, musimy
własnoręcznie przeprowadzić konfigurację yaboota.
Uwaga:
W przypadku gdy do wygenerowania jądra użyto programu genkernel, konieczna
będzie ręczna edycja pliku yaboot.conf, nawet jeśli wykorzystano
yabootconfig. Sekcja obrazu jądra powinna zostać zmodyfikowana w
następujący sposób:
|
Listing 2.2: Dodawanie argumentów właściwych dla jąder wygenerowanych programem genkernel do yaboot.conf |
image=/boot/kernel-genkernel-ppc2.6.24-gentoo-r5
label=Linux
root=/dev/ram0
partition=3
initrd=/boot/initramfs-genkernel-ppc-2.6.24-gentoo-r5
append="real_root=/dev/sda3 init=/linuxrc"
read-only
|
Domyślnie: Użycie yabootconfig
yabootconfig automatycznie wykryje podział na partycje i umożliwi
uruchamianie wybranego z dwóch lub nawet trzech systemów, którymi mogą być
Linux, Mac OS i Mac OS X.
Korzystanie z yabootconfig jest możliwe tylko wtedy, gdy na dysku
znajduje się partycja Apple_Bootstrap, a plik /etc/fstab zawiera
wszystkie partycje linuksowe (partycja Bootstrap nie powinna znajdować się w
pliku fstab). Możliwe, że to już kolejny raz gdy wykonuje się te czynności
podczas instalacji, ale mimo wszystko zalecamy sprawdzenie
/etc/fstab raz jeszcze.
Listing 2.3: Instalowanie yaboota |
# emerge yaboot
|
Następnie opuszczamy chroot i wykonujemy polecenie yabootconfig --chroot
/mnt/gentoo. Zostaniemy poproszeni o potwierdzenie lokalizacji partycji
Apple_Bootstrap. Jeśli korzysta się z domyślnego układu partycji, to będzie to
/dev/sda2. Należy wcisnąć klawisz Y jeśli jest ona poprawna. Jeśli
nie, musimy sprawdzić plik /etc/fstab i upewnić się, że ścieżki do
urządzeń są prawidłowe. Gdy partycja bootstrap zostanie wybrana,
yabootconfig przeskanuje ustawienia systemowe, utworzy plik
/etc/yaboot.conf i uruchomi mkofboot. mkofboot jest
programem, który formatuje partycję Apple_Bootstrap i umieszcza na niej plik
konfiguracyjny yaboota. Gdy operacje te zostaną wykonane powracamy do środowiska
chrootowanego.
Listing 2.4: Powrót do chroot |
# chroot /mnt/gentoo /bin/bash
# /usr/sbin/env-update && source /etc/profile
|
Być może wystąpi potrzeba modyfikacji zawartości pliku
/etc/yaboot.conf. Jeśli zostaną wprowadzone do niego jakieś zmiany
(jak na przykład zmiana domyślnie uruchamianego systemy), konieczne będzie
uruchomienie ybin -v, aby zmiany odniosły skutek na partycji
Apple_Bootstrap. Teraz po każdej modyfikacji pliku haboot.conf należy uruchomić
ybin -v.
Po wykonaniu tych operacji, kontynuujemy instalację zgodnie z instrukcjami w
podrozdziale Ponowne uruchomienie systemu.
Alternatywnie: Ręczna konfiguracja yaboot
Po pierwsze należy zainstalować yaboot:
Listing 2.5: Instalowanie yaboot |
# emerge yaboot
|
Poniżej znajduje się przykładowy plik yaboot.conf. Konieczna jest
jego modyfikacja w celu dopasowania do wymagań systemu i użytkownika.
Listing 2.6: /etc/yaboot.conf |
boot=/dev/sda2
device=hd:
delay=5
defaultos=macosx
timeout=30
install=/usr/lib/yaboot/yaboot
magicboot=/usr/lib/yaboot/ofboot
image=/boot/kernel-2.6.24-gentoo-r5
label=Linux
root=/dev/sda3
partition=3
read-only
macos=/dev/sda13
macosx=/dev/sda12
enablecdboot
enableofboot
|
Gdy plik yaboot.conf jest prawidłowo skonfigurowany, należy
uruchomić mkofboot -v, czego efektem będzie sformatowanie partycji
Apple_bootstrap i zainstalowanie na niej aktualnej konfiguracji. Jeśli
yaboot.conf zostanie zmodyfikowany po utworzeniu partycji
Apple_bootstrap, konieczne będzie zaktualizowanie ustawień przy użyciu
polecenia ybin -v.
Listing 2.7: Ustawianie partycji bootstrap |
# mkofboot -v
|
Więcej informacji o yaboot uzyskać można na stronie projektu yaboot. Po
skonfigurowaniu bootloadera kontynuujemy instalację zgodnie z instrukcjami w
podrozdziale Ponowne uruchomienie systemu.
10.c. Alternatywnie: BootX
Ważne:
BootX może być używany tylko na systemach OldWorld Apple z zainstalowanym
systemem MacOS 9 lub wcześniejszym!
|
Aby BootX mógł zbootować Linuksa z wnętrza MacOS-a, jądro systemu musi zostać
przekopiowane z partycji Linuksa na partycję MacOS-a. Dokonamy tego montując
najpierw partycję MacOS-a spoza środowiska chrootowanego, a następnie kopiując
kernel do folderu systemowego, aby BootX mógł go odnaleźć. W celu określenia,
na której partycji znajduje się MacOS użyjemy polecenia mac-fdisk -l
(sda6 zostało poniżej użyte jako przykład).
Listing 3.1: Kopiowanie jądra na partycję MacOS-a |
# 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/kernel-2.6.24-gentoo-r5"
|
Jeśli użyto programu genkernel, to zarówno jądro, jak i initrd muszą zostać
skopiowane na partycję MacOS-a.
Listing 3.2: Kopiowanie jądra i initrd wygenerowanych genkernelem na partycję MacOS-a |
# exit
cdimage ~# mkdir /mnt/mac
cdimage ~# mount /dev/sda6 /mnt/mac -t hfs
cdimage ~# cp /mnt/gentoo/boot/kernel-genkernel-ppc-2.6.24-gentoo-r5 "/mnt/mac/System Folder/Linux Kernels"
cdimage ~# cp /mnt/gentoo/boot/initramfs-genkernel-ppc-2.6.24-gentoo-r5 "/mnt/mac/System Folder"
|
Gdy jądro zostało skopiowane, musimy ponownie uruchomić komputer i skonfigurować
BootX.
Listing 3.3: Odmontowywanie wszystkich partycji i rebootowanie |
cdimage ~# cd /
cdimage ~# umount /mnt/gentoo/proc /mnt/gentoo/dev /mnt/gentoo/sys /mnt/gentoo /mnt/mac
cdimage ~# reboot
|
Oczywiście należy usunąć bootowalną płytę CD, ponieważ teraz powinien uruchomić
się MacOS.
Gdy uruchomiony zostanie MacOS, otwieramy panel sterowania BootX. Jeśli nie
korzystaliśmy z genkernela, wybieramy Options i odznaczamy Use
specified RAM disk. Natomiast jeśli użyliśmy genkernela, musimy upewnić się,
że initrd genkernela jest wybrany zamiast initrd płyty instalacyjnej.
Użytkownicy niekorzystający z genkernela mogą określić teraz partycję root
- podajemy tutaj wartość odpowiadającą naszemu podziałowi dysku. W zależności od
konfiguracji jądra można dodać inne argumenty.
Program BootX można skonfigurować tak, aby automatycznie startował Linuksa.
Jeśli się na to zdecydujemy, najpierw zobaczymy ekran ładowania MacOS, a
następnie, już w trakcie wczytywania systemu, BootX załaduje i wystartuje
Linuksa. Więcej informacji można uzyskać na Stronie domowej BootX.
Ważne:
Należy upewnić się, że w jądro wkompilowaliśmy wsparcie dla systemów HFS i
HFS+. W przeciwnym wypadku nie będziemy mogli zaktualizować lub zmienić jądra
znajdującego się na partycji MacOS.
|
Następnie jeszcze raz restartujemy komputer, uruchamiamy Linuksa i kontynuujemy
instalację zgodnie z instrukcjami w rozdziale Finalizowanie instalacji Gentoo.
10.d. Alternatywnie: quik
Program quik pozwala na bootowanie z pominięciem MacOS-a na komputerach
OldWorld. Nie jest to jednak dobrze wspierane i zalecane rozwiązanie, gdyż może
spowodować występowanie licznych dziwactw. Jeśli tylko istnieje taka możliwość,
zalecane jest korzystanie z programu BootX zamiast quik, ze względu na znacznie
większą stabilność i łatwiejszą konfigurację tego pierwszego.
Jeśli mimo wszystko zdecydujemy się na to rozwiązanie, postępujemy zgodnie z
poniższymi instrukcjami. Po pierwsze musimy zainstalować quik:
Listing 4.1: Emergowanie quik |
# emerge quik
|
Następnie musimy dokonać jego konfiguracji. Edytujemy plik
/etc/quik.conf ustawiając w nim obraz naszego jądra, które
skopiowaliśmy na partycję boot.
Listing 4.2: Konfigurowanie quik.conf |
# Przykładowy plik quik.conf
init-message = "Gentoo 2008.0\n"
partition = 2
root = /dev/sda4
timeout = 30
default = gentoo
image = /vmlinux
label = gentoo
|
Plik quik.conf musi znajdować się na tym samym dysku co bootowalny obraz,
ale niekoniecznie na tej samej partycji. Jest jednak wskazane, aby przenieść go
do partycji boot.
Listing 4.3: Przenoszenie quik.conf do /boot |
# mv /etc/quik.conf /boot/quik.conf
|
Teraz musimy ustawić zmienne związane z bootowaniem, aby quik był
uruchamiany. Użyjemy do tego programu nvsetenv. To, jakie zmienne musimy
ustawić, zależy od komputera jaki posiadamy. Zaleca się odszukanie prawidłowych
wartości quirks przed rozpoczęciem konfiguracji.
Listing 4.4: Ustawianie zmiennych związanych z bootowaniem |
# 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/kernel-2.6.24-gentoo-r5 root=/dev/sda4
#
# nvsetenv boot-command boot
|
Uwaga:
Możliwa jest także modyfikacja zmiennych związanych z bootowaniem z poziomu
MacOS-a. W zależności od posiadanego modelu należy użyć bootvars
lub .
Apple System Disk. Warto odwiedzić powyższą stronę quirks w celu
uzyskania szerszych informacji na ten temat.
|
Gdy ustawiliśmy już opcje uruchamiania, musimy upewnić się, że bootowalne obrazy
są poprawnie zainstalowane. Uruchamiamy quik -v -C /boot/quik.conf.
Powinniśmy uzyskać informację, że posiadamy boot block QUIK.
Uwaga:
Jeśli coś poszło nie tak, możemy zresetować PRAM do ustawień domyślnych poprzez
kombinację command + option + p + r, przed uruchomieniem naszego
komputera. Wyczyści to wartości jakie ustawiliśmy przy pomocy programu
nvsetenv i powinno umożliwić uruchomienie zarówno z bootowalnej płyty
MacOS-a jak i z płyty instalacyjnej Linuksa.
|
Kolejnym krokiem jest Ponowne uruchomienie systemu.
10.e. Alternatywnie: BootCreator
Ważne:
BootCreator stworzy menu bootowania SmartFirmware napisane dla komputerów
Pegasos.
|
Po pierwsze, upewnijmy się, że mamy zainstalowany program bootcreator:
Listing 5.1: Instalowanie programu bootcreator |
# emerge bootcreator
|
Teraz przekopiujmy plik /etc/bootmenu.example do
/etc/bootmenu i zmodyfikujmy go, aby odpowiadał naszym potrzebom:
Listing 5.2: Edycja pliku configuracyjnego programu bootcreator |
# cp /etc/bootmenu.example /etc/bootmenu
# nano -w /etc/bootmenu
|
Poniżej znajduje się przykładowy plik /etc/bootmenu. Nazwy
vmlinux oraz initrd powinny zostać zastąpione nazwami naszego jądra
oraz pliku initrd.
Listing 5.3: Plik konfiguracyjny programu 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 (Normal)
de:0 kernel-2.6.24-gentoo-r5 video=radeonfb:1024x768@70 root=/dev/sda3
[SECTION]
Local HD -> Genkernel (Normal)
ide:0 kernel-genkernel-ppc-2.6.24-gentoo-r5 root=/dev/ram0 real_root=/dev/sda3 init=/linuxrc
initrd=initramfs-genkernel-ppc2.6.24-gentoo-r5
|
Następnie musimy skopiować plik bootmenu na partycję
boot, aby SmartFirmware mógł go odczytać. Użyjemy do tego programu
bootcreator:
Listing 5.4: Instalowanie bootmenu |
# bootcreator /etc/bootmenu /boot/menu
|
Uwaga:
W czasie rebootowania musimy upewnić się, że menu jest plikiem,
który zostanie załadowany jako domyślny.
|
Następnym etapem instalacji jest Ponowne uruchomienie
systemu.
10.f. Ponowne uruchomienie systemu
Opuszczamy środowisko chrootowane i odmontowujemy wszystkie partycje, aby
możliwe było czyste ponowne uruchomienie. Następnie używamy komendy
reboot.
Listing 6.1: Opuszczanie chroot, odmontowywanie partycji i rebootowanie |
# exit
livecd ~# umount /mnt/gentoo/proc /mnt/gentoo/dev /mnt/gentoo/sys /mnt/gentoo
livecd ~# reboot
|
Gdy nasze nowe Gentoo uruchomi się, kończymy instalację zgodnie z instrukcjami w
rozdziale Finalizowanie instalacji Gentoo.
[ << ]
[ < ]
[ Powrót ]
[ > ]
[ >> ]
Materiał udostępniany na podstawie licencji Creative Commons -
Attribution / Share Alike.
|