|
1.
La scelta
Introduzione
Dopo aver configurato e compilato il kernel e inserito i necessari file di
configurazione, è venuto il momento di installare il programma che esegue il
kernel nel momento in cui si avvia il sistema. Tale programma è chiamato
bootloader.
Il bootloader che verrà utilizzato dipenderà dal tipo di macchina PPC
utilizzata.
Se si sta usando una macchina NewWorld Apple o IBM, si deve usare yaboot. Macchine OldWorld Apple hanno due opzioni, BootX (raccomandato) e quik. Le
macchine Pegasos non richiedono un bootloader, ma si deve emergere il bootcreator per creare un bootmenu SmartFirmware.
1.
Predefinito: usare yaboot
Introduzione
Importante:
yaboot può essere utilizzato soltanto su sistemi NewWorld Apple e IBM!
|
Per trovare i device di boot, yaboot ha bisogno di accedere ai device node
creati da udev allo startup e al filesystem sysfs. Questi due file system si
trovano in /dev e sys. Questo può essere fatto
attraverso il bind mount di questi filesystem da root del CD di installazione ai
mount point di /dev e /sys nel chroot. Se si è già
fatto il bind mount di questi filesystem, non c'è bisogno di farlo di nuovo.
Codice 1.1: Bind-mount dei filesystem device e sysfs |
# exit # con questo si esce da chroot
# mount --rbind /dev /mnt/gentoo/dev
# mount --rbind /sys /mnt/gentoo/sys
# chroot /mnt/gentoo /bin/bash
# /usr/sbin/env-update && source /etc/profile
|
Per configurare yaboot, si può usare yabootconfig per creare
automaticamente un file di configurazione. Se si sta installando Gentoo su un G5
(sui quali yabootconfig non sempre funziona), o si vuole avviare da
Firewire o USB, si deve configurare manualmente yaboot.
Nota:
Si deve modificare manualmente yaboot.conf quando si usa
genkernel, anche se si è usato yabootconfig. La sezione della
immagine del kernel di yaboot.conf dovrebbe essere modificata come
segue (essendo vmlinux e initrd rispettivamente
il kernel e l'immagine di initrd):
|
Codice 1.1: Aggiungere gli argomenti di boot di genkernel a yaboot.conf |
image=/boot/${genkernel-name}
label=Linux
root=/dev/ram0
partition=3
initrd=/boot/${genkernel-initrd}
append="real_root=/dev/sda3"
read-only
|
Predefinito: usare yabootconfig
yabootconfig rileva automaticamente le partizioni presenti sulla macchina
e configura le opzioni di avvio con Linux, Mac OS e Mac OS X.
Per utilizzare yabootconfig, si deve avere una partizione Apple_Bootstrap
sul disco, e /etc/fstab deve essere configurato per riflettere le
proprie partizioni Linux (notare che la partizione di bootstrap non
dovrebbe essere nel fstab). Entrambe le operazioni dovrebbero essere già state
fatte precedentemente, ma si controlli /etc/fstab prima di
procedere. Assicurarsi di aver installato yaboot.
Codice 1.1: Installare yaboot |
# emerge yaboot
|
Adesso uscire da chroot ed eseguire yabootconfig --chroot /mnt/gentoo. Il
programma conferma la locazione della partizione di bootstrap. Se si segue lo
schema di partizione del disco suggerito, la partizione bootstrap dovrebbe
essere /dev/sda2. Se questa è corretta, premere Y,
altrimenti ricontrollare /etc/fstab. Successivamente yabootconfig
analizza le impostazioni di sistema, crea il file /etc/yaboot.conf
ed esegue mkofboot. mkofboot serve per formattare la partizione
Apple_Bootstrap ed installare in essa il file di configurazione di yaboot. Dopo
aver completato entrare nuovamente in chroot.
Codice 1.1: Entrare in chroot |
# chroot /mnt/gentoo /bin/bash
# /usr/sbin/env-update && source /etc/profile
|
E' possibile controllare il contenuto di /etc/yaboot.conf. Se si
effettuano delle modifiche a /etc/yaboot.conf (come ad esempio
l'impostazione del SO di avvio predefinito), assicurarsi di eseguire ybin
-v per applicare le modifiche alla partizione Apple_Bootstrap. Ogni volta
che si modifica yaboot.conf, ad esempio per testare un nuovo kernel, è
importante eseguire ybin -v per aggiornare la partizione di boot.
Continuare con il Riavvio del sistema.
Alternativa: configurare manualmente yaboot
Per cominciare installare yaboot sul proprio sistema.
Codice 1.1: Installare yaboot con GRP |
# emerge yaboot
|
Qui è presente un file yaboot.conf completo, che è possibile
modificare a proprio piacimento.
Codice 1.1: /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-name}
label=Linux
root=/dev/sda3
partition=3
read-only
macos=/dev/sda13
macosx=/dev/sda12
enablecdboot
enableofboot
|
Una volta che yaboot.conf è stato configurato, si deve eseguire
mkofboot -v per formattare la partizione Apple_bootstrap e per installare
le impostazioni. Se si cambia yaboot.conf dopo che la partizione Apple_bootstrap
è stata creata, si possono aggiornare le impostazioni eseguendo ybin -v
Codice 1.1: Impostare la partizione bootstrap |
# mkofboot -v
|
Per maggiori informazioni su yaboot visitare il progetto yaboot. Adesso
continuare l'installazione con il Riavvio del sistema.
1.
Alternativa: BootX
Importante:
BootX può essere utilizzato solamente sui sistemi OldWorld Apple con MacOS 9 o
successivi!
|
Poichè BootX avvia Linux in MacOS, il kernel dovrà essere copiato dalla
partizione Linux alla partizione MacOS. Prima si monterà la partizione MacOS da
fuori il chroot. Usare mac-fdisk per trovare il numero della partizione
MacOS, ma qui si userà sd6 come un esempio. Dopo che la partizione è montata, si
copierà il kernel al system folder in modo che BootX possa trovarlo.
Codice 1.1: Copiare il kernel su la partizione MacOS |
# 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-name}"
|
Se si usa genkernel, il kernel e initrd devono essere copiati nella partizione
MacOS.
Codice 1.1: Copiare il kernel di genkernel e initrd su la partizione MacOS |
# exit
cdimage ~# mkdir /mnt/mac
cdimage ~# mount /dev/sda6 /mnt/mac -t hfs
cdimage ~# cp /mnt/gentoo/boot/${genkernel-name} "/mnt/mac/System Folder/Linux Kernels"
cdimage ~# cp /mnt/gentoo/boot/${genkernel-initrd} "/mnt/mac/System Folder"
|
Ora che il kernel è copiato, si deve riavviare per impostare BootX.
Codice 1.1: Smontare le partizioni e riavviare |
cdimage ~# cd /
cdimage ~# umount -l /mnt/gentoo/dev{/shm,/pts,}
cdimage ~# umount -l /mnt/gentoo{/boot,/proc,}
cdimage ~# umount -l /mnt/mac
cdimage ~# reboot
|
Naturalmente non dimenticarsi di togliere tutti i CD avviabili, c'è bisogno di
avviare MacOS questa volta.
Adesso che la macchina è stata avviata con MacOS aprire il pannello di controllo
di BootX. Se non si usa genkernel, selezionare Options e deselezionare
Use specified RAM disk. Se si usa genkernel, assicurarsi che initrd di
genkernel sia selezionato invece di quello del CD di installazione. Se non si
usa genkernel, c'è una opzione per specificare il disco root Linux della
macchina e la partizione. Inserire i valori appropriati. Secondo la
configurazione del kernel, potrebbero essere applicati ulteriori argomenti di
boot.
BootX può essere configurato per avviare Linux all'avvio. Con questa opzione
la macchina avvia prima MacOS, quindi BootX, durante l'avvio, carica ed avvia
Linux. Visitare il sito di
BootX per avere maggiori informazioni.
Importante:
Assicurarsi di avere il supporto per i filesystem HFS e HFS+ nel kernel,
altrimenti non si può aggiornare o cambiare il kernel sulla partizione MacOS.
|
Adesso riavviare nuovamente per avviare Linux, e continuare con (Termine dell'installazione Gentoo).
1.
Alternativa: quik
quik permette a OldWorld Macs di avviare senza MacOS. Non è ancora ben
supportato ed ha ancora qualche piccolo problema. Se si ha la possibilità, è
meglio usare BootX che è molto più sicuro e più facile da impostare di quik.
Installare quik:
Codice 1.1: Emerge quik |
# emerge quik
|
Poi si deve impostarlo. Modificare /etc/quik.conf e impostare la propria
immagine al kernel che si è copiato nella partizione boot.
Codice 1.1: Configurare quik.conf |
# Example of quik.conf
init-message = "Gentoo Linux\n"
partition = 2
root = /dev/sda4
timeout = 30
default = gentoo
image = /${kernel-name}
label = gentoo
|
Il file quik.conf deve essere sullo stesso disco delle
immagini boot di quik, può stare su una partizione differente, ma è raccomandato
spostarla sulla partizione boot.
Codice 1.1: Spostare quik.conf in /boot |
# mv /etc/quik.conf /boot/quik.conf
|
Si impostano le variabili boot così che quik le carichi al boot. Per farlo, si
usa un programma chiamato nvsetenv. Le variabili che si possono impostare
variano da macchina a macchina, è meglio trovare le quirks della
propria macchina invece di tentare queste.
Codice 1.1: Impostare le variabili boot |
# 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-name} root=/dev/sda4
# nvsetenv boot-command boot
|
Nota:
E' anche possibile cambiare le variabili boot da MacOS. Secondo il modello, sia
bootvars o
Apple System Disk dovrebbero essere usate. Vedere la pagina quik quirks
per più informazioni.
|
Si è impostata la macchina per avviare, e si deve essere sicuri che immagini
boot siano installate correttamente. Eseguire quik -v -C /boot/quik.conf.
Dovrebbe dire che è installato il primo stage block QUIK boot.
Nota:
Se qualcosa è sbagliato, si può sempre resettare la propria PRAM e ritornare ai
valori predefiniti, premendo command + option + p + r prima di accendere
la macchina. Questo cancellerà i valori che si sono impostati con nvsetenv e
dovrebbe permettere di avviare un bootdisk MacOS o un bootdisk Linux.
|
Continuare la installazione con Riavvio del sistema.
1.
Alternativa: BootCreator
Importante:
BootCreator crea un bootmenu per SmartFirmware scritto in Forth per i sistemi
Pegasos.
|
Prima di tutto assicurarsi di avere bootcreator installato nel sistema:
Codice 1.1: Installare bootcreator |
# emerge bootcreator
|
Quindi copiare il file /etc/bootmenu.example in
/etc/bootmenu e modificarlo in base alle proprie esigenze:
Codice 1.1: Modificare il file di configurazione di bootcreator |
# cp /etc/bootmenu.example /etc/bootmenu
# nano -w /etc/bootmenu
|
Sotto si trova un file di configurazione completo di /etc/bootmenu.
Sostituire vmlinux ed initrd con i propri kernel e initrd.
Codice 1.1: file di configurazione di 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)
ide:0 ${kernel-name} video=radeonfb:1024x768@70 root=/dev/sda3
[SECTION]
Local HD -> Genkernel (Normal)
ide:0 ${genkernel-name} root=/dev/ram0
real_root=/dev/sda3 initrd=${genkernel-initrd}
|
Il bootmenu deve essere trasferito in Forth e copiato sulla
partizione boot, così SmartFirmware può leggerlo. Quindi avviare
bootcreator:
Codice 1.1: Installare il bootmenu |
# bootcreator /etc/bootmenu /boot/menu
|
Nota:
Assicurarsi di controllare le impostazioni di SmartFirmware quando si riavvia,
che menu sia il file che sarà caricato in modo predefinito.
|
Continuare l'installazione con Riavvio del sistema.
1.
Riavvio del sistema
Uscire dall'ambiente chroot e smontare tutte le partizioni montate, quindi
eseguire il comando: reboot.
Codice 1.1: Uscire da chroot, smontare tutte le partizioni e riavviare |
# exit
livecd ~# umount -l /mnt/gentoo/dev{/pts,/shm,}
livecd ~# umount -l /mnt/gentoo{/proc,/sys,}
livecd ~# reboot
|
Una volta avviato Gentoo, completare l'installazione con (Termine dell'installazione Gentoo).
|