|
1.
Kiezen van de Bootloader
Inleiding
Nu dat de kernel geconfigureerd en gecompileerd is zal je een bootloader
nodig hebben om jouw nieuwe linux installatie op te starten. De
bootloader die je zal gebruiken hangt af van het type van PPC machine je
hebt.
Indien je een NewWorld Apple of IBM machine gebruikt, gebruik je yaboot. OldWorld Apple machines hebben twee opties, BootX (aanbevolen) en quik. The
Pegasos heeft geen bootloader nodig maar je zult wel BootCreator moeten emergen om de SmartFirmware
opstartmenu's te maken.
1.
Default: Yaboot gebruiken
Inleiding
Belangrijk:
yaboot kan enkel gebruikt worden op NewWorld Apple en IBM systemen!
|
Om de opstartapparaten te vinden moet yaboot de device nodes aanspreken
die aangemaakt zijn door udev bij het opstarten en sysfs filesystem.
Deze twee filesystems zijn respectievelijk te vinden in
/dev en sys. Om dit te doen zal je de
filesystems moeten "bind mount'en" vanaf de Installatie CD's root naar
de /dev en de /sys mount points in de
gechroote omgeving. Als je deze alreeds "ge-bind mount" hebt, moet je dit niet
meer opnieuw doen.
Codevoorbeeld 1.1: Bind-mounten van het apparaat en sysfs filesystem |
# exit # hiermee ga je uit je 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
|
Om yaboot te configureren kan je yabootconfig gebruiken om automatisch
een configuratiebestand aan te maken. Indien je Gentoo op een G5 machine
installeert (waarop yabootconfig niet altijd werkt), of je wilt van
firmware of USB opstarten, zal je yaboot manueel moeten configureren.
Nota:
Je zal yaboot.conf manueel moeten aanpassen als je genkernel gebruikt, zelfs
als yabootconfig gebruikt is. De kernel image sectie van yaboot.conf
moet zo aangepast worden:
|
Codevoorbeeld 1.1: Genkernel opstart argumenten bijvoegen aan yaboot.conf |
image=/boot/kernel-name
label=Linux
root=/dev/ram0
partition=3
initrd=/boot/initrd-name
append="real_root=/dev/hda3 init=/linuxrc"
read-only
|
Standaard: yabootconfig gebruiken
yabootconfig zal de partities van u systeem automatisch detecteren en
zal een tweevoudige en drievoudige opstartcombinatie met Linux, Mac OS, en
Max OS X maken.
Om yabootconfig te gebruiken, moet je schijf een Apple_Bootstrap
partitie hebben, en /etc/fstab moet geconfigureerd zijn om jouw
Linux partities aan te geven. Deze stappen zouden al vroeger moeten uitgevoerd
zijn, maar controleer toch /etc/fstabeven alvorens verder te gaan.
Controleer nu of dat je yaboot reeds geinstalleerd hebt.
Codevoorbeeld 1.1: yaboot installeren met GRP |
# emerge --usepkg yaboot
|
Verlaat nu de gechroote omgeving en voer yabootconfig --chroot
/mnt/gentoo uit. Eerst zal het programma de locatie van de bootstrap
partitie bevestigen. Als je het aanbevolen partitieschema hebt gebruikt zou je
bootsrap partitie /dev/hda2 moeten zijn. Druk Y indien de uitvoer
correct is. Indien niet, controleer je /etc/fstab.
yabootconfig zal daarna je systeemconfiguratie
scannen,/etc/yaboot.conf creeeren en mkofboot uitvoeren
voor jou. mkofboot wordt gebruikt om de Apple_Bootstrap partitie te
formateren, en het yaboot configuratiebestand erin te installeren. Ga na dit
terug in je gechroote omgeving.
Codevoorbeeld 1.1: De gechroote omgeving terug binnengaan |
# chroot /mnt/gentoo /bin/bash
# /usr/sbin/env-update && source /etc/profile
|
Je zou de inhoud van /etc/yaboot.conf kunnen willen verifieren.
Als je aanpassingen maakt in /etc/yaboot.conf (zoals het standaard
opstart OS veranderen), wees dan zeker dat je ybin -v heruitvoert om de
veranderingen toe te passen op de Apple_Bootstrap partitie.
Ga nu verder met Het systeem herstarten.
Alternatief: Manuele yaboot Configuratie
Controleer eerst dat je yaboot op je systeem geinstalleerd hebt
hebt:
Codevoorbeeld 1.1: yaboot installeren met GRP |
# emerge --usepkg yaboot
|
Een voorbeeldbestand van yaboot.conf is hieronder gegeven, maar je
zal het moeten veranderen om aan jouw noden te voldoen. G5 gebruikers en
gebruikers die opstarten vanop firmware en USB moeten weten dat hun
schijven als SCSI schijven aanzien worden door de Linux kernel, zo zal je dus
/dev/hda door /dev/sda moeten verwisselen.
Codevoorbeeld 1.1: /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-name
label=Linux
root=/dev/hda3
partition=3
read-only
macos=/dev/hda13
macosx=/dev/hda12
enablecdboot
enableofboot
|
Eens dat yaboot.conf geconfigureerd is, voer mkofboot -v
uit om de Apple_Bootstrap partitie te formateren en de instellingen te
installeren. Als je yaboot.conf aanpast nadat de Apple_Bootstrap partitie
gecreeerd is, kan je de instellingen updaten door ybin -v uit te voeren.
Codevoorbeeld 1.1: De boostrap partitie instellen |
# mkofboot -v
|
Voor meer informatie over yaboot, bekijk het yaboot project eens. Maar
nu de installatie voortzetten met Het systeem
her(op)starten.
1.
Alternatief: BootX
Belangrijk:
BootX kan alleen gebruikt worden op OldWorld Apple systemen met MacOS 9 of
ouder!
|
Omdat BootX Linux opstart vanuit MacOS, zal de kernel van de Linux partitie
naar de MacOS partitie moeten gekopieerd worden. Mount eerst de MacOS partitie
vanbuiten de gechroote omgeving. Gebruik mac-fdisk -l om het MacOS
partitie nummer te vinden, sda6 is hier als voorbeeld gebruikt. Als de partitie
gemount is, zullen we de kernel naar de systeemmap kopieren zodat BootX de
kernel kan vinden.
Codevoorbeeld 1.1: De kernel naar de MacOS partitie kopieren |
# 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"
|
Indien genkernel wordt gebruikt, moet je, en de kernel en de initrd
kopieren naar de MacOS partitie.
Codevoorbeeld 1.1: De Genkernel kernel en de initrd naar de MacOS partitie kopieren |
# 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"
|
Nu dat de kernel gekopieerd is moeten we herstarten om BootX op te zetten.
Codevoorbeeld 1.1: Alle partities unmounten en herstarten |
cdimage ~# cd /
cdimage ~# umount /mnt/gentoo/proc /mnt/gentoo/dev /mnt/gentoo/sys /mnt/gentoo /mnt/mac
cdimage ~# reboot
|
Vergeet natuurlijk niet de opstartbare CD uit te halen, anders zal de CD
opnieuw opstarten in plaats van MacOS.
Als de machine is opgestart in MacOS, open je het BootX controle paneel. Indien
je genkernel niet gebruikt, selecteer Options en deselecteer Use
specified RAM disk. Indien je genkernel gebruikt, zorg dat de genkernel
initrd is geselecteerd in plaats van de de installatie CD initrd.
Indien je genkernel niet gebruikt, is er een optie om de Linux root disk en
partitie van de machine te bepalen. Vul deze met de gepaste waarden in.
Afhangend van u kernelconfiguratie, zullen extra opstartargumenten mee gegeven
moeten worden.
BootX kan geconfigureerd worden om Linux te starten tijdens het opstarten.
Indien je dit doet, zal je eert je machine zien opstarten in MacOS en dan,
tijdens het opstarten, zal BootX Linux laden en starten. Bekijk de BootX home page voor meer
informatie.
Belangrijk:
Wees zeker dat je ondersteuning voor HFS en HFS+ filesystems hebt in je
kernel, anders zal je niet in staat zijn om de kernel te veranderen of up te
daten op je MaxOS partitie.
|
Herstart nu opnieuw en start op in Linux, ga dan verder met (Je Gentoo Installatie afwerken).
1.
Alternatief: quik
quik zorgt dat OldWorld Macs kunnen opstarten zonder MacOS. Nochtans, het is
niet goed ondersteunt en heeft enkele grillen. Indien je de keuze hebt is het
aangeraden om BootX te gebruiken omdat het meer betrouwbaar is en gemakkelijker
op te zetten dan quik.
Eerst zullen we quik moeten installeren:
Codevoorbeeld 1.1: Emerge quik |
# emerge quik
|
Vervolgens zullen we het moeten configureren. Pas /etc/quik.conf aan en stel je
image in naar de kernel die we naar de opstartpartitie gekopieerd hebben.
Codevoorbeeld 1.1: quik.conf configureren |
# Voorbeeld van quik.conf
init-message = "Gentoo 2006.1\n"
partition = 2
root = /dev/hda4
timeout = 30
default = gentoo
image = /vmlinux
label = gentoo
|
Uw quik.conf bestand moet op dezelfde partitie als de quik opstartimages
staan, nochtans kan het op een andere partitie staan op dezelfde schijf, toch
is het aangeraden het naar je opstart partitie te verplaatsen.
Codevoorbeeld 1.1: quik.conf naar /boot verplaatsen |
# mv /etc/quik.conf /boot/quik.conf
|
We zullen nu u opstartvariabelen veranderen zodat quik geladen wordt bij het
opstarten. Om dit te doen zullen we een programma dat nvsetenv noemt
gebruiken. De variabelen die je zal veranderen hangen af van machine tot
machine, het is best om jouw machine's grillen eerst op
te zoeken alvorens een poging te ondernemen.
Codevoorbeeld 1.1: De opstart variabelen instellen |
# 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.17 root=/dev/hda4
# nvsetenv boot-command boot
|
Nota:
Het is ook mogelijk om u opstartvariabelen voor MacOS te veranderen. Afhangend
van het model zul je, bootvars
of
Apple System Disk moeten gebruiken. Bezoek snel de grillenpagina
hierboven voor meer informatie.
|
Nu dat we je machine hebben ingesteld om op te starten, zullen we moeten
controleren of de opstartimages correct geinstalleerd zijn. Voer quik -v -C
/boot/quik.conf uit. Het zou je moeten vertellen dat het de eerste stage
QUIK opstart blok heeft geinstalleerd.
Nota:
Indien er iets verkeerd is gegaan, kan je altijd je PRAM resetten naar de
standaardwaarden door command + option + p + r ingedrukt te houden voor
je de machine opstart. Dit zal de waarden die je met nvsetenv ingesteld hebt
verwijderen en zou je moeten toelaten om ofwel een MacOS opstartschijf of op
een Linux opstartschijf op te starten.
|
Ga nu verder met de installatie Het systeem
herstarten.
1.
Alternatief: BootCreator
Belangrijk:
BootCreator zal een mooi SmartFirmware opstartmenu schrijven in Forth voor de
Pegasos.
|
Verzeker u er eerst van dat je BootCreator op je systeem geinstalleerd
hebt:
Codevoorbeeld 1.1: Bootcreator herstarten |
# emerge --usepkg bootcreator
|
Kopieer nu het bestand /etc/bootmenu.example naar
/etc/bootmenu en pas het aan je noden aan.
Codevoorbeeld 1.1: Het bootcreator configuratie bestand aanpassen |
# cp /etc/bootmenu.example /etc/bootmenu
# nano -w /etc/bootmenu
|
Hieronder staat een volledig /etc/bootmenu configuratie bestand.
De kernel-naam en initrd-naam moeten vervangen worden door you kernel en
initrd images naam.
Codevoorbeeld 1.1: bootcreator configuratie bestand |
[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)
ide:0 kernel-name video=radeonfb:1024x768@70 root=/dev/hda3
[SECTION]
Local HD -> Genkernel (Normal)
ide:0 kernel-name root=/dev/ram0 real_root=/dev/hda3 init=/linuxrc initrd=initrd-name
|
Als laatste moet het bootmenu overgebracht worden in Forth en naar
de opstartpartitie gekopieerd worden, zodat de SmartFirmware het kan lezen.
Daarom moet je bootcreator gebruiken:
Codevoorbeeld 1.1: Installeren van het opstartmenu |
# bootcreator /etc/bootmenu /boot/menu
|
Nota:
Kijk zeker eens in de SmartFirmware instellingen als je herstart, dat
menu is het bestand dat standaard geladen zal worden.
|
Ga nu verder met de installatie met Het systeem
herstarten.
1.
Het systeem herstarten
Verlaat de gechroote omgeving en unmount alle gemounte partities. Druk dan het
magische commando in waar je al heel de tijd zat op te wachten: reboot.
Codevoorbeeld 1.1: De gechroote omgeving verlaten, alle partities unmounten en herstarten |
# exit
livecd ~# umount /mnt/gentoo/proc /mnt/gentoo/dev /mnt/gentoo/sys /mnt/gentoo
livecd ~# reboot
|
Eens herstart in je Gentoo installatie, maak je systeem af met (Je Gentoo Installatie afwerken).
|