GRUB-2.12 pour EFI

Introduction à GRUB

Le paquet Grub contient un chargeur de démarrage, le GRand Unified Bootloader. Dans cette page il sera construit avec la prise en charge d'UEFI, qui n'était pas activée dans le GRUB construit dans LFS.

Ce paquet est connu pour pouvoir être construit et fonctionner correctement avec une plateform 12.3.

Informations sur le paquet

  • Téléchargement (HTTP) : https://ftp.gnu.org/gnu/grub/grub-2.12.tar.xz

  • Téléchargement (FTP) :

  • Somme de contrôle MD5 du téléchargement : 60c564b1bdc39d8e43b3aab4bc0fb140

  • Taille du téléchargement : 6,4 Mo

  • Estimation de l'espace disque requis : 183 Mo

  • Estimation du temps de construction : 0,4 SBU (sur une LFS 64 bits, avec parallélisme = 4)

Téléchargements supplémentaires

données de polices Unicode facultatives pour le menu de GRUB

Dépendances de GRUB

Recommandées

Facultatives

FreeType-2.13.3, Fuse-3.16.2 et LVM2-2.03.30

Si vous construisez GRUB pour un système LFS 32-bits pour démarrer sur un micrologiciel UEFI 64-bits, reconstruisez GCC-14.2.0 avec le paramètre --enable-targets=all à la fin de la commande ../configure.

Installation de GRUB

Tout d'abord, installez les données de police en tant qu'utilisateur root si vous les avez téléchargées et que vous souhaitez installer la dépendance facultative FreeType-2.13.3 :

mkdir -pv /usr/share/fonts/unifont &&
gunzip -c ../unifont-16.0.01.pcf.gz > /usr/share/fonts/unifont/unifont.pcf
[Avertissement]

Avertissement

Nettoyez les variables d'environnement qui peuvent affecter la construction :

unset {C,CPP,CXX,LD}FLAGS

N'essayez pas de « régler » ce paquet avec des drapeaux de compilation personnalisés : ce paquet est un chargeur d'amorçage, avec des opérations de bas-niveau dans le code source qui seront sans doute cassées par certaines optimisations agressives.

Ajoutez un fichier manquant de l'archive publiée :

echo depends bli part_gpt > grub-core/extra_deps.lst

Construisez GRUB avec les commandes suivantes :

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

Ce paquet n'a pas de suite de tests qui fournisse des résultats intéressants.

Maintenant, si vous avez passé le paquet GRUB dans LFS, en tant qu'utilisateur root installez GRUB et passez les instructions suivantes de cette section :

make install &&
mv -v /etc/bash_completion.d/grub /usr/share/bash-completion/completions

Si vous n'avez pas passé le paquet GRUB dans LFS, en tant qu'utilisateur root, installez uniquement les composants non installés avec le paquet GRUB de LFS :

make -C grub-core install

Si vous avez installé les données de polices facultatives et FreeType-2.13.3, installez le programme grub-mkfont et les fichiers de données de polices (sans les fichiers de données GRUB peut toujours fonctionner correctement, mais le menu de démarrage sera affiché avec une police grossière ou sur une plus petite portion de votre écran).

install -vm755 grub-mkfont /usr/bin/ &&
install -vm644 ascii.h widthspec.h *.pf2 /usr/share/grub/

Si Fuse-3.16.2 et LVM2-2.03.30 sont tous deux installés, installez également le programme grub-mount :

install -vm755 grub-mount /usr/bin/

Explication des commandes

--with-platform=efi : s'assure de construire GRUB avec EFI activé.

--target=x86_64 : s'assure de construire GRUP pour x86_64 même si vous construisez sur une LFS 32 bits. La plupart des firmware sur x86_64 ne prennent pas en charge les chargeurs d'amorçage en 32 bits.

--target=i386 : quelques plateformes x86 32 bits prennent EFI en charge. En plus, certaines plateformes x86_64 ont une implémentation EFI en 32 bits, mais ils sont très vieux et très rares. Utilisez ceci au lieu de --target=x86_64 si vous êtes absolument certain que LFS tourne sur un tel système.

Configuration de GRUB

On discute de comment utiliser GRUB pour rendre le système LFS amorçable sur une plateforme UEFI sur Utiliser GRUB pour paramétrer le processus de démarrage avec UEFI.

Contenu

Vous trouverez la liste des fichiers installés, avec leur description courte, se trouve sur ../../../../lfs/view/12.3/chapter08/grub.html#contents-gRUB.

Les programmes nouvellement installés et leur description courte sont listés plus bas.

Programmes installés: grub-mkfont et grub-mount (facultatif)
Répertoires installés: /usr/lib/grub/x86_64-efi

Descriptions courtes

grub-mkfont

convertit les fichiers de police aux formats usuels en PF2

grub-mount

est un outil de débogage pour le pilote du système de fichiers