Gentoo Logo

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


10. Configurazione del Bootloader

Indice:

10.a. 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.

10.b. 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 2.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 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 il kernel
## e l'initrd con il nome esatto del kernel e di initrd che si usano.
###########################################################
 image=/boot/kernel-genkernel-ppc-3.4.9-gentoo
  label=Linux
  root=/dev/ram0
  partition=3
  initrd=/boot/initramfs-genkernel-ppc-3.4.9-gentoo
  # Si possono aggiungere ulteriori argomenti del kernel come
  # rootdelay=10 per un USB/Firewire Boot
  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 2.3: 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 2.4: 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 2.5: Installare yaboot con GRP

 # emerge yaboot

Qui è presente un file yaboot.conf completo, che è possibile modificare a proprio piacimento.

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/sdaX, macos=/dev/sdaY, macosx=/dev/sdaZ

## La partizione di bootstrap:

boot=/dev/sda2

## ofboot è la modalità Open Firmware 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.
##
## 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: è un'abbreviazione per il primo disco Open Firmware
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 l'immagine con la versione del kernel
## appropriata
#################
image=/boot/kernel-3.4.9-gentoo
  label=Linux
  root=/dev/sda3
  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/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 2.7: Impostare la partizione bootstrap

# mkofboot -v

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

10.c. 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 3.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-3.4.9-gentoo"

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

Codice 3.2: 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/kernel-genkernel-ppc-3.4.9-gentoo "/mnt/mac/System Folder/Linux Kernels"
cdimage ~# cp /mnt/gentoo/boot/initramfs-genkernel-ppc-3.4.9-gentoo "/mnt/mac/System Folder"

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

Codice 3.3: 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.

10.d. 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 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 Linux\n"
# Questa è la partizione boot
partition = 2
root = /dev/sda4
timeout = 30
default = gentoo
# Questo è il kernel
image = /kernel-3.4.9-gentoo
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/kernel-3.4.9-gentoo root=/dev/sda4
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 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.

10.e. 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 5.1: Installare bootcreator

# emerge bootcreator

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

Codice 5.2: 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 5.3: file di configurazione di bootcreator

#
# Example description file for 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-3.4.9-gentoo video=radeonfb:1024x768@70 root=/dev/sda3

[SECTION]
Local HD -> Genkernel (Normal)
ide:0 kernel-genkernel-ppc-3.4.9-gentoo root=/dev/ram0
real_root=/dev/sda3 initrd=initramfs-genkernel-ppc-3.4.9-gentoo

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 in modo predefinito.

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


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


Stampa

Visualizza tutto

Aggiornato il 11 settembre 2012

La versione originale di questo documento è più recente ed è stata aggiornata il 31 agosto 2014

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

Joshua Saddler
Redazione

Joseph Jezak
Editor

Gerald J. Normandin Jr.
Revisione

Donnie Berkholz
Revisione

Ken Nowack
Revisione

Marco Mascherpa
Traduzione

Stefano Pacella
Traduzione

Enrico Morelli
Traduzione

Emilio Pavia
Traduzione

Gianluca Mazza
Traduzione

Davide Cendron
Traduzione

Sergio Vaccaro
Traduzione

Donate to support our development efforts.

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