Innhold
Se siden for GRUB i LFS boken.
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.
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)
Unicode skriftdata som brukes til å vise GRUB menyen
Nedlasting (HTTP): https://unifoundry.com/pub/unifont/unifont-15.1.04/font-builds/unifont-15.1.04.pcf.gz
Nedlasting MD5 sum: 72f95e7ecb47a4c7ed610babe6959ead
Nedlastingsstørrelse: 1.3 MB
GCC (bare nødvendig hvis du bygger på 32-bits LFS)
Referer til GCC-13.2.0 siden for nedlastingsinformasjon.
efibootmgr-18 (kjøretid) og FreeType-2.13.2
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
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
--enable-grub-mkfont
: Bygg
verktøyet som heter grub-mkfont for å generere
fontfilen for oppstartslasteren fra fontdataene vi har installert.
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.
Å 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.
Se siden for GRUB i LFS boken.