Grub 2

Dans la série je ne sais pas quoi faire le week-end, j’ai testé pour vous Grub2. Pour ceux qui ne savent pas, c’est le petit soft qui permet de démarrer votre machine, le mystérieux boot loader qui n’a rien d’effrayant. La version 2 permet d’avoir quelques fonctions gadgets histoire d’épater vos amis.

C’est quoi

GRand Unified Bootloader, c’est le boot loader: un petit programme qui se loge dans le premier secteur du disque dur est qui permet de choisir l’OS sur lequel vous voulez démarrer. Dans les temps anciens, lilo permettait de faire cela: mais les temps changent et les besoins en souplesse ont pris le dessus.

La première version permettait déjà pas mal de choses:

  • rechercher un fichier de boot (ext2/ext3/reiserfs)
  • passer en mode graphique
  • mettre des paramètres au kernel
  • démarrer différents OS

La version 2

Dans la version 2 l’équipe de Dev a ajouté la notion de module pour permettre de charger les différentes fonctionnalités. Cela permet de charger divers systèmes de fichiers différents de votre ext4.
Cela permet aussi de charger des drivers VESEA pour afficher des images 65000 couleurs, des fonts sympas … L’équipe a aussi pensé à une notion de script avancée (loop, tests, variables, …)

Tous les plus sont aussi des moins … en toute logique la segmentation est bonne pour pouvoir charger différents modules. Mais cela complique l’affaire car il faut connaitre les éléments nécessaires pour utiliser les diverses fonctionnalités. Heureusement que les “packageurs” maîtrisent les fichiers de configuration.

Le test

Une bonne vieille clef usb fera l’affaire.

Test de boot et hop, éclatez vous sans abimer votre machine.

Compilez les sources dans le prefix que vous souhaitez.

mkfs.ext2 /dev/sdf1
./grub-install --root-directory=/media/disk/ '(hd1)'

Il faut ensuite faire un fichier de configuration qui va bien pour booter.


set default=0
set timeout=20
set root=(hd0,1)

if font /boot/ascii.pff; then
set gfxmode=640x480
insmod gfxterm
insmod vbe
if terminal_output gfxterm ; then true ; else
terminal gfxterm
fi
fi

insmod tga
if background_image /boot/Lake_mapourika_NZ.tga; then
true
else
set menu_color_normal=cyan/blue
set menu_color_highlight=white/blue
fi

if terminal_output gfxterm ; then true ; else
terminal gfxterm
fi

menuentry "Gentoo GNU/Linux" {
set root=(hd1,1)
linux /boot/vmlinuz root=/dev/sda2 quiet
}

menuentry "other" {
set root=(hd1,1)
chainloader +1
}

Si vous voulez utiliser le mode graphique il faut avoir un fichier de font pour que vous puissiez voir le texte (ascii.pff)

Un reboot sur la clef usb et le miracle devrait fonctionner…
Si cela vous plait … il suffit d’installer grub sur hd0

/!\ Attention, vous pouvez tout casser, et la seule solution sera le CD de rescue pour booter votre système

Dominique DERRIER

7 thoughts on “Grub 2

  1. avinash

    Il me semble que Grub 2 est presque pret pour devenir le bootloader par défaut des nouvelles distributions Linux. Personellement, j’aime bien que les partitions soient nommés à partir de 1 maintenant (elles étaient nommées à partir de 0 dans Grub 1 e.g. hda1 = hd0,0)

  2. dominique Post author

    Ben ca dépend … le premier chiffre c’est 0 ou 1 ?
    Il n’y a que les Geek qui commencent à compter par 0.
    de même que dans 1Km il y a 1024m 🙂

  3. lezoua

    L’article est bien ecrit mais je ne comprend pas pourquoi avinash trouve que Grub est le bootloader par defaut des distributions.
    SysLinux marche tres bien pour des systemes d’entreprises.Le projet devient plus conforme aux nouvelles technologies comme ext4 grace aux Google Summer of Code et a la communaute de SysLinux.

  4. Roshan

    @ Dominique… I didn’t think that there was 1024m in 1Km. I believe that the metric system uses base 10 (SI-prefixes) unlike computer systems that use binary. Therefore 1Km = 10^3 metres (1000 metres) whilst 1Kb = 2^10 bits (1024 bits).

    Then again I could be wrong :o)

  5. dominique Post author

    @Roshan
    Don’t say that at home… you need to be Geek to understand this joke.
    It would be “Geekfull” that 1024m=1km… but not yet 🙂

  6. Roshan

    Lol… after 16 years of working in IT, I admit I don’t fit in the Geek category anymore. Then again, one of my best mates reckons that once you are a techie you will always be a techie.

    I’m not even sure why I’m on this site as I don’t do Linux or programming anymore. I’m more into networks and security – well its now business cases, IT strategy, P&L… (yawn). I’m just very happy to see Mauritians doing well in IT and getting ahead in their specialist subjects. Keep up the good work guys 😮

Leave a Reply

Your email address will not be published. Required fields are marked *