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.4.
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 : 29 Mo
-
Estimation de l'espace disque requis : 174 Mo (avec
les dépendances et le téléchargement facultatif)
-
Estimation du temps de construction : 0,6 SBU
Téléchargements supplémentaires
données de polices Unicode facultatives pour le menu de
GRUB (utile uniquement si FreeType est installé)
Dépendances de GRUB
Recommandées
efibootmgr-18 (exécution)
Facultatives
FreeType-2.13.3, Fuse-3.17.4 et LVM2-2.03.34
Si vous construisez GRUB pour un système LFS 32-bits pour démarrer
sur un micrologiciel UEFI 64-bits, reconstruisez GCC-15.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.04.pcf.gz > /usr/share/fonts/unifont/unifont.pcf
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.17.4 et LVM2-2.03.34 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.
Contenu
Vous trouverez la liste des fichiers installés, avec leur
description courte, se trouve sur
../../../../lfs/view/12.4-systemd/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
|