From Fedora Project Wiki

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

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:

  1. realizzare una cartella in cui operare:

mkdir /mnt/sysimage

  1. montare i filesystem (come esempio i nodi dispositivi, assicurati di inserire i tuoi!):

mount /dev/sda2 /mnt/sysimage

mount /dev/sda1 /mnt/sysimage/boot

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

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