{{ http://www.gnu.org/graphics/gnu-head-banner.png }} ====== Grub à la place de Lilo ====== Il peut y avoir plusieurs raisons qui vous poussent à vouloir utiliser [[http://www.gnu.org/software/grub/|Grub]] à la place de Lilo : * Grub est beau * Grub est sexy * Grub gère Xen * Grub fait parti du projet [[http://www.gnu.org/software/grub/|GNU]] * Le site de lilo est pas beau * Les nerds préfèrent Grub * Les geeks aussi * moi aussi * Grub Grub Grub Grub ! ===== Installer Grub ===== Bonne nouvelle \o/ Grub est fournit avec Slackware, dans le répertoire [[http://slackware.osuosl.org/slackware-12.0/extra/grub/|extra]] des dépôts ! Donc pour l'install on va pas se faire mal : installpkg /chemin/vers/votre/dépôt/local/extra/grub/grub-0.97-i486-3.tgz (bien sûr vous avez vérifié avant la signature et lu le [[http://slackware.osuosl.org/slackware-12.0/extra/grub/README|README]]) Voilà, Grub est installé. ===== Configurer Grub ===== Je ne crois pas qu'utiliser 2 bootloaders en parallèle soit une bonne chose, sauf si vraiment vous savez ce que vous faites. Si vous voulez exclusivement utiliser Grub, il vaut mieux désinstaller lilo : 1/ On supprime l'installation du disque dur lilo -u /dev/hdX (où X est a,b,... si lilo est sur MBR ou a1,a2,b1,.... si lilo est installé sur une partition) 2/ On supprime le paquet removepkg lilo Maintenant, 2 solutions se présente : on configure à la main, ou on utilise grubconfig ==== grubconfig ==== Il faut préparer les fichiers "stage" dont Grub a besoin. On les récupères dans ''/usr/lib/grub/i386pc/'' mkdir /boot/grub cp /usr/lib/grub/i386pc/* /boot/grub/ //__Remarque :__ tous ne sont pas indispensables, aussi si votre partition /boot est limité en taille (<300k sic!) vous pouvez juste copier stage1, stage2 et le *stage1_5 correspondant au fs de votre partition /boot// FIXME Ensuite lancez simplement grubconfig et répondez aux quelques questions. ==== grub-install ==== Pour ma part je préfères faire la configuration à la main. grub-install /dev/hdx Et il ne reste plus qu'à faire un fichier de configuration, au plus simple Par exemple pour booter Slackware-12.0 et XP : # le nombre de seconde avant que le boot ne démarre timeout 5 # le numéro de l'OS à booter par défaut default 0 # un peu de cosmétique color light-blue/black light-cyan/blue #Les différents OS title Slackware Linux 12.0 root (hd0,1) kernel /vmlinuz root=/dev/hda3 ro vga=791 title ----------------------------------------- title Windows XP Pro Coccinelle v. Metamorphose rootnoverify (hd0,0) chainloader +1 ==== le shell grub ==== Voilà qui est encore plus sexy : utiliser le shell de Grub. grub GNU GRUB version 0.97 (640K lower / 3072K upper memory) [ Minimal BASH-like line editing is supported. For the first word, TAB lists possible command completions. Anywhere else TAB lists the possible completions of a device/filename. ] grub> Nous voilà dans le shell grub. La liste des commandes disponibles est disponible via . Via cette touche, les commandes s'autocomplètent, comme sous d'autres shell. On va rechercher notre répertoire principal, celui où Grub va chercher ses fichiers images find /boot/grub/stage1 ou si votre partition /boot n'est pas sur votre / find /grub/stage1 Si plusieurs systèmes Linux sont installés et leur partition racine montée, Grub va certainement afficher plusieurs partitions. Autrement il n'en affichera qu'une. Chez moi, les fichiers sont dans /dev/hd2, une partition /boot indépendante des OS. Grub trouve donc **(hd0,1)** On spécifie maintenant où Grub doit chercher ses fichiers : root (hd0,1) Enfin on installe Grub, par exemple sur le MBR (hd0) setup (hd0) On quitte le shell via la command **quit**, et on créer un fichier de conf similaire à celui sus-cité. ===== Remarques ===== Lors de la compilation du noyau, la commande ''make install'' invoque lilo. Les images ou thèmes pour Grub (splashimage) ne sont pas facile à mettre en place. Si quelqu'un veut bien compléter la présente page pour expliquer comment faire, bienvenue.