Rilasciato Grub 2.0! Ecco come installarlo su Ubuntu da sorgente

Scritto il 29/06/2012 - 14:23 da Jessica Lambiase

Ci sono voluti tre anni e diverse beta, eppure in un caldo giorno di fine Giugno (parlo di ieri)… è finalmente arrivato GRUB 2.00!

Per chi non lo sapesse, GRUB (GRand Unified Bootloader) è il bootloader forse più utilizzato all’interno dei sistemi Linux, in pratica gestisce tutto ciò che riguarda l’avvio dei vari sistemi operativi presenti sulla nostra macchina.

Questo è sicuramente un passo importante nella storia del loader: con GRUB 2.00 infatti arrivano tantissime novità , prima tra tutte l’introduzione del supporto al meccanismo UEFI/SecureBoot destinato a sostituire gli attuali BIOS. Oltretutto, la versione 2.00 di GRUB sarà la prima ad arrivare con un bel tema grafico bello e impacchettato. Vediamo insieme le parti più interessanti del changelog di GRUB 2.00 (che potrete trovare integralmente qui, sulla mailing list grub-devel):

  • Filesystem e formati disco migliorati:
    • Supporto al label HFS+;
    • Migliorato il supporto a reiserfs;
    • Supporto filesystem ZFS (multidevice, mirrored e raidz(2,3));
    • Supporto al raiding interno (RAID LVM);
    • Supporto alla crittografia ZFS;
    • Supporto ai formati ZLF e GZIP su ZFS;
    • Migliorato il supporto ad AFFS e SFS;
    • Supporto btrfs LZO-compressed;
  • Driver aggiunti:
    • EHCI;
    • AHCI;
    • ESCC seriale;
    • IEEE1275 seriale;
    • Introdotto lo stack di rete per BIOS, IEEE1275, EMU ed EFI, compresi TFTP, HTTP e DNS;
    • Supporto VBE on coreboot;

Tanti, inoltre, i bugfixes e le correzioni. E’ valsa la pena aspettare tre anni! Adesso vediamo un po’ come installare GRUB 2.00 su Ubuntu a partire dai codici sorgenti.

Installare GRUB 2.00 su Ubuntu via tarball sorgente

Ragazzi, installare un programma da sorgente non è assolutamente difficile.. ci vuole soltanto un po’ di pazienza! In questa sorta di guida, io vi farò vedere come installare GRUB in versione “home computer” (senza ZFS, nè NFS, nè supporto RAID), con la sola aggiunta del tema e del supporto per l’EFI/EMU. Per installazioni su macchine server, o per l’aggiunta/rimozione di parametri di configurazione vi rimando alla consultazione del file README compreso all’interno del tarball. O, in alternativa, lasciatemi un commento e vediamo che si può fare :)

Anyway, iniziamo. Innanzitutto apriamo un terminale e scarichiamo il tarball sorgente di GRUB 2.00, con il comando

cd ~
wget http://ftp.gnu.org/gnu/grub/grub-2.00.tar.gz

Decomprimiamo ora l’archivio, ed installiamo un po’ di dipendenze:

tar xvfz grub-2.00.tar.gz
cd grub-2.00
sudo apt-get install intltool build-essential bison flex checkinstall libfreetype6-dev libfuse-dev libfs-dev

Facciamo partire lo script di autoconfigurazione per preparare i files necessari alla compilazione di GRUB (abiliteremo il supporto all’EFI ed il tema grafico):

./configure --enable-efiemu --enable-grub-mkfont --enable-grub-mount

Terminata questa fase, procediamo alla compilazione vera e propria con il comando

sudo make

E, infine, procediamo all’installazione (utilizzeremo checkinstall, così da permettere la creazione di un pacchetto .deb) di GRUB2:

sudo checkinstall && sudo dpkg -i grub*.deb

Seguite le istruzioni a video (solitamente basta premere Invio 3 o 4 volte) e… attendete il termine dell’operazione! Il bootloader è bello che installato! Potrete verificare la versione di GRUB installata con il comando

grub-install -v

NB: per l’installazione su tutte le altre distribuzioni, dovrete sostituire al comando “checkinstall” il comando “make install“.

Per sicurezza aggiorniamo i files di configurazione di GRUB2, con il comando

sudo update-grub2

Enjoy!

news source

Chi sono

Amministratrice e blogger di Chimera Revo fin dagli albori, mi occupo prevalentemente dei settori GNU/Linux e Sicurezza. Nella vita "reale" sono freelancer nel settore della sistemistica informatica, specializzata in networking e sicurezza.

  • http://www.facebook.com/stomp1974 Massimiliano Stộmp Schippa

    Installato senza problemi ma è sparito il plymouth?!?!?!

  • Pingback: Guide | [Guida Linux]Come installare e compilare il Grub 2.0 definitivo tramite sorgenti su Linux e Ubuntu

  • Paolo

    precisa ed efficace come sempre Jessica !!!

    grazie

  • bobrob4066

    -h….scherzi del caldo

  • bobrob4066

    io ho ubuntu 12.04 in raid 0.ci sono problemi ha installarlo? grazie

    • http://www.siliconjey.com Jessica Lambiase

      Dovresti Abilitare in fase di configurazione il supporto diretto raid. Non mando a memoria parametri e librerie, ma appena son da pc te li comunico con precisione.

    • http://www.siliconjey.com Jessica Lambiase

      Aggiungi per sicurezza anche questi parametri a ./configure:
      –enable-device-mapper –enable-grub-emu-pci –enable-grub-emu-sdl

      e compila.

  • Aury88

    ma allora la versione che c’è adesso su ubuntu (12.04) qual’è?….pensa che ero sicurissimo di utilizzare già Grub2

    • http://www.chimerarevo.com Tanino Rulez

      è Grub 2 sempre, cioè fa parte di quella famiglia, ma non era un due pieno.. infatti è la 1.99 xD

  • Ivan De Felice

    andrà bene pure x Mint a 64???? teoricamente dovrebbe

    • http://www.siliconjey.com Jessica Lambiase

      Sisi, il pacchetto creato è fortemente dipendente dal sistema su cui viene compilato, quindi compatibilità massima:) in realtà la guida va bene per qualsiasi distribuzione Linux, non ho fatto una guida generale soltanto per via delle dipendenze (che su altri sistemi hanno nomi diversi, fatta eccezione per tutte le derivate di ubuntu, mint inclusa, per le quali questa guida va benissimo), per il resto il procedimento è identico!

  • gio

    mi rispondo da solo, occorre un cd grub-2.00 prima di lanciare il comando

    • http://www.siliconjey.com Jessica Lambiase

      Avevo fame… ho mangiato il cd :) aggiunto e grazie per la segnalazione!

  • gio

    lanciando il seguente comando:
    ./configure –enable-efiemu –enable-grub-mkfont –enable-grub-mount
    si riceve il messaggio bash di file o dir inesistente
    sbaglo qualcosa?

  • gio

    ./configure –enable-efiemu –enable-grub-mkfont –enable-grub-mount

    lanciando questo comando ecco il risultato:

    bash: ./configure: File o directory non esistente

    sbaglio qualcosa?

    • CoLo

      Ti dice così perchè non sei nella cartella dove c’è il file configure.
      Dopo questo comando :
      tar xvfz grub-2.00.tar.gz
      Devi entrare nella cartelle dove hai estratto i file di grub.
      Fai cd [nomecartella] probabilmente la cartella si chiamerà grub-2 o qualcosa di simile
      Non ho il file sotto mano per dirtelo con precisione