8.64. GRUB-2.14

Le paquet Grub contient un chargeur de démarrage, le GRand Unified Bootloader.

[Note]

Note

Cette page est divisée en plusieurs sections dont le but est d'installer une méthode de démarrage particulière (BIOS, UEFI 64 bits, et UEFI 32 bits). GRUB ne peut pas être construit avec toutes les architectures de méthode de démarrage en une seule fois.

Vous pouvez sauter les autres sections pour aller à la méthode de démarrage que vous souhaitez. Si vous hésitez, vous pouvez suivre toutes les sections au prix d'un peu plus de temps de construction. Après avoir installé la prise en charge de votre méthode de démarrage, continuez à construire le reste des paquets de ce chapitre. On rendra votre système amorçable avec GRUB dans Section 10.4, « Utiliser GRUB pour paramétrer le processus de démarrage. »

[Avertissement]

Avertissement

Déconfigurez les variables d'environnement qui pourrait perturber la construction :

unset {C,CPP,CXX,LD}FLAGS

N'essayez pas de « customiser » ce paquet avec des options de compilation personnalisées. Ce paquet est un chargeur de démarrage. Un optimisation agressive du paquet pourrait casser les opérations de bas-niveau dans le code source.

Temps de construction approximatif: 0,3 SBU
Espace disque requis: 202 Mo

8.64.1. Installation de GRUB pour le BIOS

Tout d'abord, corrigez un bogue introduit dans grub-2.14 :

sed 's/--image-base/--nonexist-linker-option/' -i configure

Préparez la compilation de GRUB :

./configure --prefix=/usr     \
            --sysconfdir=/etc \
            --disable-efiemu  \
            --disable-werror

Voici la signification des nouvelles options de configure :

--disable-werror

Cette option permet de terminer la compilation avec les avertissements ajoutés dans des versions de Flex plus récentes.

--disable-efiemu

Cette option désactive les fonctionnalités et des programmes de tests non nécessaires pour LFS pour minimiser la construction.

Compilez le paquet :

make

Les suites de tests de ces paquets ne sont pas recommandées. La plupart des tests dépendent de paquets qui ne sont pas disponibles dans l'environnement LFS limité. Pour lancer les tests malgré tout, lancez make check.

Installez le paquet :

make install

8.64.2. Installation de GRUB pour UEFI 64 bits

Si vous souhaitez démarrer avec UEFI 64 bits, vous devriez construire sa prise en charge.

Tout d'abord, si vous avez construit GRUB en suivant l'une des sections ci-dessus, nettoyez l'arborescence des sources :

make clean

Corrigez un bogue introduit dans grub-2.14 :

sed 's/--image-base/--nonexist-linker-option/' -i configure

Maintenant configurez GRUB pour la prise en charge d'UEFI 64 bits :

./configure --prefix=/usr       \
            --sysconfdir=/etc   \
            --target=x86_64     \
            --with-platform=efi \
            --disable-efiemu    \
            --disable-werror

Voici la signification des nouvelles options de configure :

--target=x86_64

Cela permet de définir que l'architecture du micrologiciel UEFI est x86_64, que GRUB devrait cibler.

--with-platform=efi

Cela spécifie que EFI est un plateforme que GRUB devrait cibler. En plus de --target=x86_64, GRUB pourra cible la plateforme x86_64-efi.

Compilez le paquet avec la prise en charge d'UEFI 64 bits :

make

Installez la prise en charge de l'UEFI 64 bits :

make install

8.64.3. Installation de GRUB pour l'UEFI 32 bits

Si vous souhaitez démarrer avec UEFI 32 bits, ce qui est très rare, vous devriez construire sa prise en charge.

Tout d'abord, si vous avez construit GRUB en suivant l'une des sections ci-dessus, nettoyez l'arborescence des sources :

make clean

Corrigez un bogue introduit dans grub-2.14 :

sed 's/--image-base/--nonexist-linker-option/' -i configure

Maintenant configurez GRUB pour la prise en charge d'UEFI 32 bits :

./configure --prefix=/usr       \
            --sysconfdir=/etc   \
            --target=i386       \
            --with-platform=efi \
            --disable-efiemu    \
            --disable-werror

Voici la signification des nouvelles options de configure :

--target=i386

Cela permet de définir que l'architecture du micrologiciel UEFI est i386/32 bits, que GRUB devrait cibler. En ajoutant --with-platform=efi, GRUB pourra cibler la plateforme i386-efi.

Compilez le paquet avec la prise en charge d'UEFI 32 bits :

make

Installez la prise en charge de l'UEFI 32 bits :

make install

8.64.4. Contenu de GRUB

Programmes installés: grub-bios-setup, grub-editenv, grub-file, grub-fstest, grub-glue-efi, grub-install, grub-kbdcomp, grub-macbless, grub-menulst2cfg, grub-mkconfig, grub-mkimage, grub-mklayout, grub-mknetdir, grub-mkpasswd-pbkdf2, grub-mkrelpath, grub-mkrescue, grub-mkstandalone, grub-ofpathname, grub-probe, grub-reboot, grub-render-label, grub-script-check, grub-set-default, grub-sparc64-setup et grub-syslinux2cfg
Répertoires installés: /usr/lib/grub, /etc/grub.d, /usr/share/grub et boot/grub (après avoir lancé grub-install pour la première fois)
[Note]

Note

/usr/lib/grub aura un contenu différent en fonction de la plateforme que vous aurez installé. En particulier, il y aura différents modules pour chaque plateforme.

Descriptions courtes

grub-bios-setup

Programme d'aide pour grub-install

grub-editenv

Est un outil qui permet d'éditer le bloc d'environnement

grub-file

Vérifie que le type du fichier sélectionné est celui attendu

grub-fstest

Est un outil de débogage du pilote d'un système de fichiers

grub-glue-efi

Assemble des binaires 32-bits et 64-bits en un seul fichier (pour les ordinateurs Apple)

grub-install

Installe GRUB sur votre disque

grub-kbdcomp

Est un script qui convertit un plan xkb dans un plan reconnu par GRUB

grub-macbless

Est l'équivalent Mac de la commande bless pour les systèmes de fichiers HFS ou HFS+ (la commande bless est exclusive au ordinateurs Apple : elle permet au système de démarrer)

grub-menulst2cfg

Convertit un menu.lst du GRUB de base en fichier grub.cfg utilisable avec GRUB 2

grub-mkconfig

Génère un fichier grub.cfg

grub-mkimage

Crée une image GRUB démarrable

grub-mklayout

Génère un fichier de plan de clavier pour GRUB

grub-mknetdir

Prépare un répertoire GRUB d'amorçage par le réseau

grub-mkpasswd-pbkdf2

Génère un mot de passe PBKDF2 chiffré pour une utilisation dans le menu de démarrage

grub-mkrelpath

Rend relatif le nom de chemin vers la racine d'un système

grub-mkrescue

Crée une image GRUB démarrable adaptée à une disquette, à un CDROM/DVD ou à un clé USB

grub-mkstandalone

Génère une image autonome

grub-ofpathname

Est un programme d'aide qui affiche le chemin d'un périphérique GRUB

grub-probe

Teste les informations de périphérique pour un chemin ou un périphérique donné

grub-reboot

Règle l'entrée d'amorçage par défaut pour GRUB uniquement pour le prochain démarrage

grub-render-label

Produit des .disk_label Apple pour les Macs Apple

grub-script-check

Cherche les erreurs de syntaxe dans le script de configuration de GRUB

grub-set-default

Règle l'entrée d'amorçage par défaut pour GRUB

grub-sparc64-setup

Est un programme d'aide pour grub-setup

grub-syslinux2cfg

Transforme un fichier de configuration syslinux vers le format de grub.cfg