GRUB-2.12 for EFI

Introduksjon til GRUB

GRUB pakken gir GRand Unified Bootloader. På denne siden vil den bygges med UEFI støtte, som ikke er aktivert for GRUB innebygd i LFS.

[Notat]

Notat

Utviklingsversjoner av BLFS kan ikke bygge eller kjøre noen pakker riktig hvis LFS eller avhengigheter har blitt oppdatert siden den siste stabile versjonene av bøkene.

Pakkeinformasjon

  • Nedlasting (HTTP): https://ftp.gnu.org/gnu/grub/grub-2.12.tar.xz

  • Nedlasting MD5 sum: 60c564b1bdc39d8e43b3aab4bc0fb140

  • Nedlastingsstørrelse: 6.4 MB

  • Estimert diskplass som kreves: 183 MB

  • Estimert byggetid: 0.4 SBU (på 64-bits LFS, ved å bruke parallellisme=4)

Ytterligere nedlastinger

Valgfri Unicode skriftdata for GRUB menyen

GRUB Avhengigheter

Anbefalt

Valgfri

FreeType-2.13.3, Fuse-3.16.2, og LVM2-2.03.30

Hvis du bygger GRUB for et 32-biters LFS system for å starte det på en 64-biters UEFI fastvare, gjenoppbygg GCC-14.2.0 med --enable-targets=all bryteren lagt til ../configure kommandoen.

Installasjon av GRUB

Installer først skriftdata som root bruker hvis du har lastet det ned og du har installert den valgfrie avhengigheten FreeType-2.13.3:

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

Advarsel

Fjern eventuelle miljøvariabler som kan påvirke byggingen:

unset {C,CPP,CXX,LD}FLAGS

Ikke prøv å «tilpasse» denne pakken med tilpassete kompilasjonsflagg: denne pakken er en oppstartslaster, med lav nivå operasjoner i kildekoden som sannsynligvis vil bli ødelagt av aggressive optimaliseringer.

Legg til en fil som mangler fra utgivelsens tarball:

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

Bygg GRUB med følgende kommandoer:

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

Denne pakken har ikke en testpakke som gir meningsfulle resultater.

Nå, hvis du har hoppet over LFS GRUB pakken, som root bruker, installer GRUB og hopp over de resterende instruksjonene i denne delen:

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

Hvis du ikke har hoppet over LFS GRUB pakken, som root bruker, installer bare komponentene som ikke er installert fra LFS GRUB pakken i stedet:

make -C grub-core install

Hvis du har installert de valgfrie skriftdataene og FreeType-2.13.3, installer grub-mkfont programmet og skriftdatafilene (uten skriftdatafilene kan GRUB fortsatt fungere normalt, men oppstartsmenyen vil vises med en grov skrift eller i en mindre område på skjermen).

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

Hvis både Fuse-3.16.2 og LVM2-2.03.30 er installert, installer også grub-mount programmet:

install -vm755 grub-mount /usr/bin/

Parameterforklaringer

--with-platform=efi: Sikrer å bygge GRUB med EFI aktivert.

--target=x86_64: Sikrer at GRUB bygges for x86_64 selv om du bygger på et 32-bits LFS system. De fleste EFI fastvare på x86_64 støtter ikke 32-biters oppstartslastere.

--target=i386: Noen få 32-bits x86 plattformer har EFI støtte. Og noen x86_64 plattformer har en 32-biters EFI implementering, men de er veldig gamle og sjeldne. Bruk dette i stedet for --target=x86_64 hvis du er helt sikker på at LFS kjører på et slikt system.

Konfigurere GRUB

Å bruke GRUB for å gjøre LFS systemet oppstartbart på UEFI plattformen vil bli diskutert i Using GRUB to Set Up the Boot Process with UEFI.

Innhold

En liste over installerte filer, sammen med deres korte beskrivelser finner du på ../../../../lfs/view/development/chapter08/grub.html#contents-gRUB.

Listet nedenfor er de nylig installerte programmene sammen med korte beskrivelser.

Installerte Programmer: grub-mkfont and grub-mount (optional)
Installerte Mapper: /usr/lib/grub/x86_64-efi

Korte Beskrivelser

grub-mkfont

konverterer vanlige fontfilformater til PF2

grub-mount

er et feilsøkingsverktøy for filsystemdriver