From Fedora Project Wiki
No edit summary
No edit summary
Line 3: Line 3:


== Sommario ==
== 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
Passaggio da grub proprietario a '''grub2''' per gestire il boot di un sistema x86


Line 8: Line 12:
== Sviluppatore ==
== Sviluppatore ==
* Nome: [[User:PJones| Peter Jones]]
* Nome: [[User:PJones| 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 ==
== 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.
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.90 (equivalente alla r.c. 3). La wiki del progetto può essere trovata su http://grub.enbug.org/ (o http://www.gnu.org/software/grub/.)
'''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 ==
== Vantaggi per Fedora ==
Grub (proprietario) non è più supportato e le patches non vengono accettate. GRUB2 ha già raggiunto una release stabile (14 maggio 2011 GRUB 1.99), che Grub non ha mai conquistato.
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.


=== What Currently Works ===
=== Cosa funziona adesso ===
* MBR Bios booting as chainloaded from grub1 works
* L'avvio del bios MBR come chainload da grub1 funziona
* Booting from the MBR works
* L'avvio da MBR funziona
* Graphics mode works
* La modalità grafica funziona
** You have to have freetype2-devel installed and build with --enable-mkfont
** E' necessario avere freetype2-devel installato e compilato con --enable-mkfont
** Also had to grab the unifont from http://unifoundry.com/unifont.html
** Also had to grab the unifont from http://unifoundry.com/unifont.html
** Simple hacked up module to load a background image is okay.  Could certainly be made '''better'''
** Simple hacked up module to load a background image is okay.  Could certainly be made '''better'''
Line 75: Line 94:


=== From a DVD with Anaconda ===
=== From a DVD with Anaconda ===
TBD as things get fleshed out more
An install DVD can be used to install or repair grub, after setting up a working chroot of your filesystems. From a root console:
#make a directory to work in:
<code><nowiki>mkdir /mnt/sysimage</nowiki></code>
#mount your filesystems (device nodes are examples, be sure to fill in your own!):
<code><nowiki>mount /dev/sda2 /mnt/sysimage</nowiki></code>
 
<code><nowiki>mount /dev/sda1 /mnt/sysimage/boot</nowiki></code>
 
#bind mount your system filesystems:
<code><nowiki>mount --bind /dev /mnt/sysimage/dev</nowiki></code>
 
<code><nowiki>mount --bind /proc /mnt/sysimage/proc</nowiki></code>
 
<code><nowiki>mount --bind /sys /mnt/sysimage/sys</nowiki></code>
 
#enter your chroot
 
<code><nowiki>chroot /mnt/sysimage/</nowiki></code>


You should now be able to install grub2 to your device without interference from the temporary system.
<!-- This does not need to be a full-fledged document.  Describe the dimensions of tests that this  
<!-- This does not need to be a full-fledged document.  Describe the dimensions of tests that this  
feature is expected to pass when it is done.  If it needs to be tested with different hardware or software configurations, indicate them.  The more specific you can be, the better the community testing can be.  
feature is expected to pass when it is done.  If it needs to be tested with different hardware or software configurations, indicate them.  The more specific you can be, the better the community testing can be.  
Line 109: Line 146:
<!-- The Fedora Release Notes inform end-users about what is new in the release.  Examples of past release notes are here: http://docs.fedoraproject.org/release-notes/ -->
<!-- The Fedora Release Notes inform end-users about what is new in the release.  Examples of past release notes are here: http://docs.fedoraproject.org/release-notes/ -->
<!-- The release notes also help users know how to deal with platform changes such as ABIs/APIs, configuration or data file formats, or upgrade concerns.  If there are any such changes involved in this feature, indicate them here.  You can also link to upstream documentation if it satisfies this need.  This information forms the basis of the release notes edited by the documentation team and shipped with the release. -->
<!-- The release notes also help users know how to deal with platform changes such as ABIs/APIs, configuration or data file formats, or upgrade concerns.  If there are any such changes involved in this feature, indicate them here.  You can also link to upstream documentation if it satisfies this need.  This information forms the basis of the release notes edited by the documentation team and shipped with the release. -->
Fedora switched from grub legacy to grub2 in Fedora 16. Grub 2 allows better configuration options, better support for non x86 architectures, scripting and localization support.
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 has new configuration format and and files. Please consult the grub manual for more information.
Grub 2 possiede un nuovo formato e file di configurazione. Consultare il manuale di Grub per maggiori informazioni.


== Comments and Discussion ==
== Commenti e Discussione ==
* See [[Talk:Features/Grub2]]  <!-- This adds a link to the "discussion" tab associated with your page.  This provides the ability to have ongoing comments or conversation without bogging down the main feature page -->
* See [[Talk:Features/Grub2]]  <!-- This adds a link to the "discussion" tab associated with your page.  This provides the ability to have ongoing comments or conversation without bogging down the main feature page -->


Line 124: Line 161:




[[Category:FeatureAcceptedF16]] [[Category: Italiano]]
[[Category:FeatureAcceptedF16]]
<!-- When your feature page is completed and ready for review -->
<!-- remove Category:FeaturePageIncomplete and change it to Category:FeatureReadyForWrangler -->
<!-- After review, the feature wrangler will move your page to Category:FeatureReadyForFesco... if it still needs more work it will move back to Category:FeaturePageIncomplete-->
<!-- A pretty picture of the page category usage is at: https://fedoraproject.org/wiki/Features/Policy/Process -->
 
 
<!-- Note that the current Feature guidelines require useful Scope and Test Plans at certain milestones; QA is responsible for checking these, and will change this category as needed. -->
 
[[Category: Italiano]]


[[Category:Da revisionare]]
[[Category:Da revisionare]]

Revision as of 10:24, 20 May 2012

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
    • Also had to grab the unifont from http://unifoundry.com/unifont.html
    • Simple hacked up module to load a background image is okay. Could certainly be made better
  • Creating /usr/local/etc/defaults/grub (would be /etc, but prefix=/usr/local) allowed me to set the following
    • default timeout, default distro name, default to graphics mode
    • some of this is lame and should get auto-detected (eg, parse /etc/system-release)

Things that still have to be tested/worked on

  • EFI mode
  • passwords -- Debian and Ubuntu are working on this upstream as of 8 July
  • hidden menu support that we use for flicker-less boot
  • serial terminal support (with the timeouts)
  • bootonce
  • Always adding single user entry is not so good -- set GRUB_DISABLE_LINUX_RECOVERY in /etc/default/grub
  • Chainloading various versions of Windows
  • Auto-detection of Windows and adding it to the config file
  • Can we ship the unifont ?
  • support for multiple initrds
    • Also, as I had it "built", the font wasn't quite right
  • Ensuring all the other features we have and care about are present (if someone wants to make a list of these, it would be helpful)
  • Documentation, documentation, documentation...

External things that would need work

  • anaconda needs to be able to create the new file. Or at least run grub-mkconf
  • grubby to update. Or phase out for grub-updconf?


How To Test

It is very easy to test from Grub Legacy type environment, but we will also need to test from Anaconda/Firstinstall.

From an Installed System with Grub Legacy

This was adapted from http://en.gentoo-wiki.com/wiki/Grub2

The following will automatically generate a GRUB2 configuration file including kernels images within your /boot folder, using the auto configuration scripts in /etc/grub.d, the -o specifices an output file, here the default, /boot/grub2/grub.cfg:

grub2-mkconfig -o /boot/grub2/grub.cfg

Testing With Chain Loading

GRUB2 includes a boot image that's loadable from GRUB Legacy, so you can try it out without wiping out your existing, working MBR. To set up GRUB2 without actually writing to the MBR, run

grub2-install --grub-setup=/bin/true /dev/sda

Writing to the MBR

If that works, you can go on testing to writing to your MBR. Same steps as above, but don't tell grub to run the dummy setup program /bin/true

grub2-install /dev/sda

Congratulations! You've reached the point of no return! If you can't boot now you will need to run a rescue CD

From a DVD with Anaconda

An install DVD can be used to install or repair grub, after setting up a working chroot of your filesystems. From a root console:

  1. make a directory to work in:

mkdir /mnt/sysimage

  1. mount your filesystems (device nodes are examples, be sure to fill in your own!):

mount /dev/sda2 /mnt/sysimage

mount /dev/sda1 /mnt/sysimage/boot

  1. bind mount your system filesystems:

mount --bind /dev /mnt/sysimage/dev

mount --bind /proc /mnt/sysimage/proc

mount --bind /sys /mnt/sysimage/sys

  1. enter your chroot

chroot /mnt/sysimage/

You should now be able to install grub2 to your device without interference from the temporary system.

Test matrix here: https://fedoraproject.org/wiki/User:Pjones/Grub2TestMatrix

User Experience

Ultimately, the main thing a user could change is the different config file (grub.cfg vs grub.conf) and the different syntax in the config file. During the normal boot process, the idea should be that it's not that noticeable

Dependencies

We'll have to be sure to update anaconda for the new config file format and also deal with things like grubby (which updates boot loader configs)

Contingency Plan

Keep using GRUB legacy

Documentation

  • The only docs right now are at the upstream site, but they're slim at best.

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. Consultare il manuale di Grub per maggiori informazioni.

Commenti e Discussione