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.

Denne pakken er kjent for å bygge og fungere riktig ved å bruke en LFS 12.1 plattform.

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

Unicode skriftdata som brukes til å vise GRUB menyen

GCC (bare nødvendig hvis du bygger på 32-bits LFS)

  • Referer til GCC-13.2.0 siden for nedlastingsinformasjon.

GRUB Avhengigheter

Anbefalt

Valgfri

LVM2-2.03.23

Installasjon av GRUB

Installer først skriftdata som root bruker:

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

Warning

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

Hvis du kjører en 32-bits LFS, klargjør en 64-bits kompilator:

case $(uname -m) in i?86 )
    tar xf ../gcc-13.2.0.tar.xz
    mkdir gcc-13.2.0/build
    pushd gcc-13.2.0/build
        ../configure --prefix=$PWD/../../x86_64-gcc \
                     --target=x86_64-linux-gnu      \
                     --with-system-zlib             \
                     --enable-languages=c,c++       \
                     --with-ld=/usr/bin/ld
        make all-gcc
        make install-gcc
    popd
    export TARGET_CC=$PWD/x86_64-gcc/bin/x86_64-linux-gnu-gcc
esac

Bygg GRUB med følgende kommandoer:

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

Denne pakken har ikke en testpakke som gir meningsfulle resultater.

Nå, som root bruker:

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

Parameterforklaringer

--enable-grub-mkfont: Bygg verktøyet som heter grub-mkfont for å generere fontfilen for oppstartslasteren fra fontdataene vi har installert.

[Warning]

Warning

Hvis den anbefalte avhengigheten FreeType-2.13.2 ikke er installert, er det mulig å utelate dette alternativet og bygge GRUB. Derimot, hvis grub-mkfont ikke er bygget, eller unicode fontdataen ikke er tilgjengelig på det tidspunktet GRUB bygges, vil GRUB ikke installere hvilken som helst font for oppstartslasteren. GRUB oppstartsmenyen vil vises ved hjelp av en grov skrift eller i et mindre område på skjermen.

--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

Se siden for GRUB i LFS boken.