GRUB2
Sommario
QUESTA E' UNA FASE DAVVERO INIZIALE
Questo è un passaggio molto iniziale, anche se stiamo cercando di riportare i progressi qui piuttosto che solo localmente
Passaggio da grub proprietario a grub2 per gestire il boot di un sistema x86
Sviluppatore
- Nome: Peter Jones
Stato attuale
- Rilascio mirato: 16
- Ultimo aggiornamento: 8/10/2011
- Percentuale di completamento: 85%
http://koji.fedoraproject.org/koji/buildinfo?buildID=242356 Almeno il 10% di queste caratteristiche creano e aggiornano i pacchetti per riflettere le modifiche in http://ftp.gnu.org/gnu/grub/.
Descrizione dettagliata
Al momento Fedora usa sostanzialmente un fork di GRUB 0.9x, per varie ragioni storiche. Sarebbe bello potersi allineare con la versione di sviluppo, anche se si tratta di un progetto interamente nuovo.
GRUB2 è alla versione 1.99 (equivalente alla r.c. 3). La wiki del progetto può essere trovata su http://grub.enbug.org/ (o http://www.gnu.org/software/grub/.)
Vantaggi per Fedora
Potrebbero esserci nuove funzionalità, ma attualmente ci sono meno driver.
- ---***
Grub (proprietario) non è più supportato e le patch non vengono accettate. GRUB2 ha già raggiunto una versione stabile (14 maggio 2011 GRUB 1.99), che Grub non ha mai conquistato.
Scopo
Le modifiche sono in qualche modo localizzate, ma c'è ancora molto da fare. Lo stato attuale si basa sui test che abbiamo effettuato.
Cosa funziona adesso
- L'avvio del bios MBR come chainload da grub1 funziona
- L'avvio da MBR funziona
- La modalità grafica funziona
- E' necessario avere freetype2-devel installato e compilato con --enable-mkfont
- E' necessario anche portare gli unifont da http://unifoundry.com/unifont.html
- Modulo hack semplice per caricare una immagine di sfondo funzionante. Potrebbe certamente essere reso migliore
- Creazione di /usr/local/etc/defaults/grub (dovrebbe essere /etc, but prefix=/usr/local) consentita per impostare il seguito
- timeout predefinito, nome distro predefinito, modalità grafica predefinita
- alcuni dei quali sono imperfetti e dovrebbero essere auto rilevati (es, analisi di /etc/system-release)
Cose che dovrebbero essere testate/funzionanti
- Modalità EFI
- password -- Debian ed Ubuntu funzionano con questo upstream dall'8 luglio
- supporto ai menu nascosti usati per avvio senza sfarfallii
- supporto al terminale seriale (con timeout)
- bootonce
- Aggiungere sempre la voce di singolo utente non è tanto buono -- impostare GRUB_DISABLE_LINUX_RECOVERY in /etc/default/grub
- Il chainloading di varie versioni di windows
- L'auto rilevamento di Windows e l'aggiunta al file di configurazione
- possiamo saltare l'unifont ?
- supporto per initrd multipli
- Inoltre, per come è stato "built", il font non è abbastanza buono
- Assicurare tutte le altre caratteristiche presenti e prendersi cura delle attuali (se qualcuno volesse farne una lista sarebbe utile)
- Documentazione, documentazione, documentazione...
Varie cose che bisogna far funzionare
- anaconda deve essere in grado di creare i nuovi file. Oppure almeno eseguire grub-mkconf
- grubby da aggiornare. Oppure da sfasare da grub-updconf?
Come Testare
E' davvero semplice testare dal tipo di ambiente Grub Legacy, ma è ance necessario testare da Anaconda/Firstinstall.
Da nu sistema installato con Grub Legacy
Questo è un adattamento da http://en.gentoo-wiki.com/wiki/Grub2
Di seguito il metodo di generazione automatico di un file di configurazione GRUB2 incluse le immagini kernel all'interno della cartella /boot , usando gli script di auto configurazione presenti in /etc/grub.d, il -o specifica un file di uscita, in questo caso è /boot/grub2/grub.cfg:
grub2-mkconfig -o /boot/grub2/grub.cfg
Test con una catena di caricamento
GRUB2 include una immagine di boot caricabile da GRUB Legacy, quindi è possibile provarlo senza sostituire l'MBR. Per impostare GRUB2 senza scrivere nulla sull'MBR, eseguire
grub2-install --grub-setup=/bin/true /dev/sda
Scrittura su MBR
Se il test dovesse funzionare, è possibile eseguire la fase di test scrivendo sull'MBR. Si tratta degli stessi passaggi precedenti, con la differenza di non eseguire il programma di finta impostazione /bin/true
grub2-install /dev/sda
Congratulazioni! Hai raggiunto il punto di non ritorno! Se adesso non riesci ad eseguire l'avvio avrai bisogno di un CD di ripristino
Da un DVD con Anaconda
Dopo aver impostato una chroot funzionante del filesystem, si può usare un DVD per installare o riparare grub. Da una console di root:
- realizzare una cartella in cui operare:
mkdir /mnt/sysimage
- montare i filesystem (come esempio i nodi dispositivi, assicurati di inserire i tuoi!):
mount /dev/sda2 /mnt/sysimage
mount /dev/sda1 /mnt/sysimage/boot
- lega il mount dei filesystem di sistema:
mount --bind /dev /mnt/sysimage/dev
mount --bind /proc /mnt/sysimage/proc
mount --bind /sys /mnt/sysimage/sys
- inserisci la chroot
chroot /mnt/sysimage/
Ora sei in grado di installare grub2 sul tuo dispositivo senza interferenza dal sistema temporaneo.
La matrice di test è disponibile qui: https://fedoraproject.org/wiki/User:Pjones/Grub2TestMatrix
Esperienza Utente
Fondamentalmente, la prima cosa che un utente vuole modificare è uno dei file di configurazione (grub.cfg vs grub.conf) e la sintassi nel file di configurazione. Durante un normale processo di avvio, l'idea non dovrebbe essere tanto evidente
Dipendenze
Dobbiamo assicurarci di aggiornare anaconda per il nuovo formato del file di configurazione e deve anche avere a che fare con cose tipo grubby (che aggiorna le configurazioni del boot loader)
Piano di contingenza
Continuare ad usare GRUB legacy
Documentazione
- L'unica documentazione presente ad oggi è il sito in upstream, ma è ancora piuttosto piccola.
Release Notes
Fedora è passata da grub legacy a grub2 da Fedora 16. Grub 2 consente opzioni di configurazione migliori, un supporto migliore per architetture non x86, il supporto allo scripting ed alla localizzazione. Grub 2 possiede un nuovo formato e file di configurazione. Consulta il manuale di Grub per maggiori informazioni.
Commenti e Discussione
- Vedi Talk:Features/Grub2