Gentoo Logo

[ << ] [ < ] [ Home ] [ > ] [ >> ]


10. Configurazione del Bootloader

Indice:

10.a. Scegliere un bootloader

Introduzione

Dopo aver configurato e compilato il kernel, è necessario un bootloader per avviare la installazione di linux. Il bootloader che si usa dipende dal tipo di macchina PPC che si ha.

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.

10.b. Default: 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 2.1: Bind mount dei filesystem device e sysfs

# exit  # con questo si esce da 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 

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:

Codice 2.2: Aggiungere gli argomenti di boot di genkernel a yaboot.conf

###########################################################
## Questa sezione può essere duplicata se si ha 
## più di un kernel o set di opzioni di boot - sostituire kernel-name
## e initrd-name con il nome esatto del kernel e initrd che si usa.
###########################################################
image=/boot/kernel-name
  label=Linux
  root=/dev/ram0
  partition=3
	initrd=/boot/initrd-name
  append="real_root=/dev/hda3 init=/linuxrc"  
  # Si possono aggiungere ulteriori argomenti del kernel come 
  # rootdelay=10 per un USB/Firewire Boot
  read-only
##########################################################

Default: 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. Entrambe le operazioni dovrebbero essere già state fatte precedentemente, ma si controlli /etc/fstab prima di procedere. Assicurarsi di aver installato yaboot.

Codice 2.3: Installare yaboot con i GRP

# emerge --usepkg 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/hda2. 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 e installare in essa il file di configurazione di yaboot. Dopo aver completato entrare nuovamente in chroot.

Codice 2.4: Rientrare 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.

Continuare con Riavvio del sistema.

Alternativa: configurare manualmente yaboot

Per cominciare assicurarsi di aver installato yaboot.

Codice 2.5: Installare yaboot con i GRP

# emerge --usepkg yaboot

Qui è presente un file yaboot.conf completo, che è possibile modificare a proprio piacimento. Gli utilizzatori di G5 e gli utenti che avviano da firewire e USB devono sapere che i loro dischi sono Serial ATA, i quali vengono visti dal kernel Linux come dischi SCSI, per cui sostituire /dev/hda con /dev/sda.

Codice 2.6: /etc/yaboot.conf

## /etc/yaboot.conf
##
## Eseguire: "man yaboot.conf" per i dettagli. Non effettuare cambiamenti 
## prima di averlo fatto!!
## Vedere anche: /usr/share/doc/yaboot/examples per configurazioni di esempio.
##
## Per avere un menu multi-boot, aggiungere una o più righe tra:
## bsd=/dev/hdaX, macos=/dev/hdaY, macosx=/dev/hdaZ

## La partizione di bootstrap:

boot=/dev/hda2

## ofboot è la modalità openfirmware per specificare la partizione di bootstrap
## Se non è definita, yaboot fallisce sui G5 e su alcuni G4 (a meno che non si
## passino gli argomenti necessari al programma mkofboot/ybin).
## hd:X significa /dev/sdaX (o /dev/hdaX).
##
## Gli utilizzatori di G5 dovrebbero togliere il commento a questa linea!!

#ofboot=hd:2

## Gli utenti che avviano da firewire dovrebbero usare una riga come questa:
# ofboot=fw/node/sbp-2/disk@0:

## Gli utenti che avviano da USB dovrebbero usare una riga come questa:
# ofboot=usb/disk@0:

## hd: è shorthand per il primo disco OpenFirmware
device=hd:

## Gli utenti firewire e USB devono specificare l'intero nome del device OF
## Può essere trovato usando ofpath, che è incluso con 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

#################
## Questa sezione può essere duplicata se si hanno diversi kernel o diverse
## opzioni di avvio - sostituire kernel-name con la versione del kernel
## appropriata
#################
image=/boot/kernel-name
  label=Linux
  root=/dev/hda3
  partition=3
# append="rootdelay=10"  # Richiesto per boot USB/Firewire
  read-only
##################

## Gli utilizzatori di G5 e di alcuni G4 dovrebbero impostare
##   macos=hd:13
##   macosx=hd:12
## al posto dei valori in esempio.
macos=/dev/hda13
macosx=/dev/hda12
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 2.7: Impostare una partizione bootstrap

# mkofboot -v

Per maggiori informazioni su yaboot si visiti il progetto yaboot. Adesso continuare l'installazione con Riavvio del sistema.

10.c. Alternativa: BootX

Importante: BootX può essere utilizzato solamente sui sistemi OldWorld Apple con MacOS 9 o successivo!

Poichè BootX avvia Linux da MacOS, il kernel deve essere copiato da Linux Partition alla partizione MacOS. Per prima cosa montare la partizione MacOS fuori dal chroot. Usare mac-fdisk -l per trovare il numero della partizione MacOS, sda6 è un esempio. Una volta che la partizione è montata, si copia il kernel al system folder così BootX può trovarlo.

Codice 3.1: Copiare il kernel alla 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"

Se si usa genkernel, il kernel e initrd devono essere copiati nella partizione MacOS.

Codice 3.2: Copiare il kernel e initrd Genkernel nella partizione MacOS

# 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"

Ora che il kernel è copiato, si deve riavviare per impostare BootX.

Codice 3.3: Smontare tutte le partizioni e riavviare

cdimage ~# cd /
cdimage ~# umount /mnt/gentoo/proc /mnt/gentoo/dev /mnt/gentoo/sys /mnt/gentoo /mnt/mac
cdimage ~# reboot

Naturalmente non dimenticarsi di togliere il CD avviabile, altrimenti viene avviato nuovamente il CD al posto di MacOS.

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, si occupa di caricare ed avviare 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.

10.d. Alternativa: quik

quik permette a OldWorld Macs di avviare senza MacOS. Non è ancora ben supportato e ha un po' di quirks. Se si ha la possibilità, è meglio usare BootX che è molto più sicuro e più facile da impostare di quik.

Installare quik:

Codice 4.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 4.2: Configurare quik.conf

# Example of quik.conf
init-message = "Gentoo 2006.1\n"
partition = 2		# Questa è la partizione boot
root = /dev/hda4
timeout = 30
default = gentoo
image = /vmlinux # Questo è il kernel
	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 4.3: 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 4.4: Impostare le variabili boot

# nvsetenv auto-boot true # Impostarla a false se si vuole avviare in OF, non tutti i modelli possono visualizzare output OF
# nvsetenv output-device video # Controllare la pagina quirk, ci sono molte variazioni qui
# nvsetenv input-device kbd
# nvsetenv boot-device scsi/sd@1:0 # Per SCSI
# nvsetenv boot-device ata/ata-disk@0:0 # Per ATA
# nvsetenv boot-file /boot/vmlinux-2.6.17 root=/dev/hda4 Il primo è il percorso al kernel, il secondo la partizione root. Si possono aggiungere opzioni del kernel alla fine di questa riga.
# nvsetenv boot-command boot # Impostare questa a bye per MacOS e boot per Linux

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 di default, 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.

10.e. Alternativa: BootCreator

Importante: BootCreator costruirà un bootmenu SmartFirmware scritto in Forth per i Pegasos.

Assicurarsi di avere installato bootcreator sul sistema:

Codice 5.1: Installare bootcreator

# emerge --usepkg bootcreator

Copiare il file /etc/bootmenu.example in /etc/bootmenu e modificarlo in base alle proprie esigenze:

Codice 5.2: Modificare il file di configurazione bootcreator

# cp /etc/bootmenu.example /etc/bootmenu
# nano -w /etc/bootmenu

Sotto si trova un file di configurazione completo di /etc/bootmenu. Sostituire kernel-name e initrd-name con i propri kernel e initrd.

Codice 5.3: File di configurazione bootcreator

#
# Esempio della descrizione del file 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 (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

Il bootmenu deve essere trasferito in Forth e copiato sulla partizione boot, così SmartFirmware può leggerlo. Quindi avviare bootcreator:

Codice 5.4: 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 di default.

Continuare l'installazione con Riavvio del sistema.

10.f. Riavvio del sistema

Uscire dall'ambiente chroot e smontare tutte le partizioni montate, quindi eseguire il comando: reboot.

Codice 6.1: Uscire da chroot, smontare tutte le partizioni e riavviare

# exit
livecd ~# umount /mnt/gentoo/proc /mnt/gentoo/dev /mnt/gentoo/sys /mnt/gentoo
livecd ~# reboot

Una volta avviato Gentoo, completare l'installazione con Termine dell'installazione Gentoo.


[ << ] [ < ] [ Home ] [ > ] [ >> ]


Stampa

Visualizza tutto

Aggiornato il 13 novembre 2006

Questa traduzione non è più mantenuta

Oggetto: Esistono svariati Bootloader. Ognuno di essi viene configurato in maniera differente. In questo capitolo si descrivono le possibilità disponibili e si illustra come configurare il Bootloader secondo le proprie necessità.

Sven Vermeulen
Autore

Grant Goodyear
Autore

Roy Marples
Autore

Daniel Robbins
Autore

Chris Houser
Autore

Jerry Alexandratos
Autore

Seemant Kulleen
Sviluppo x86

Tavis Ormandy
Sviluppo Alpha

Jason Huebel
Sviluppo AMD64

Guy Martin
Sviluppo HPPA

Pieter Van den Abeele
Sviluppo PPC

Joe Kallar
Sviluppo SPARC

John P. Davis
Redazione

Pierre-Henri Jondot
Redazione

Eric Stockbridge
Redazione

Rajiv Manglani
Redazione

Jungmin Seo
Redazione

Stoyan Zhekov
Redazione

Jared Hudson
Redazione

Colin Morey
Redazione

Jorge Paulo
Redazione

Carl Anderson
Redazione

Jon Portnoy
Redazione

Zack Gilburd
Redazione

Jack Morgan
Redazione

Benny Chuang
Redazione

Erwin
Redazione

Joshua Kinard
Redazione

Tobias Scherbaum
Redazione

Lars Weiler
Redazione

Jochen Maes
Redazione

Xavier Neys
Redazione

Joseph Jezak
Editor

Gerald J. Normandin Jr.
Revisione

Donnie Berkholz
Revisione

Ken Nowack
Revisione

Marco Mascherpa
Traduzione

Stefano Pacella
Traduzione

Enrico Morelli
Traduzione

Donate to support our development efforts.

Copyright 2001-2014 Gentoo Foundation, Inc. Questions, Comments? Contact us.