8.67. GRUB-2.14

GRUB pakken inneholder GRand Unified Bootloader.

[Notat]

Notat

Denne siden er delt inn i flere seksjoner som har som mål å installere for en spesifikk oppstartsmetode (BIOS, 64-bit UEFI og 32-bit UEFI). GRUB kan ikke bygges med alle oppstartsmetodearkitekturene samtidig.

Du kan hoppe over andre deler for å gå til oppstartsmetoden du trenger. Hvis du er i tvil, kan du følge alle delene, noe som vil koste ekstra byggetid. Etter at du har installert støtte for oppstartsmetoden din, kan du fortsette med å bygge resten av pakkene i dette kapittelet. Å gjøre LFS systemet ditt oppstartbart med GRUB vil bli diskutert i Seksjon 10.4, «Bruke GRUB til å sette opp oppstartsprosessen»

[Advarsel]

Advarsel

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

unset {C,CPP,CXX,LD}FLAGS

Ikke prøv å «tuning» denne pakken med tilpassede kompileringsflagg. Denne pakken er en oppstartslaster. Lavnivåoperasjonene i kildekoden kan bli ødelagt av aggressiv optimalisering.

Omtrentlig byggetid: 0.3 SBU
Nødvendig diskplass: 202 MB

8.67.1. Installasjon av GRUB for BIOS

Først fikser du en feil som ble introdusert i grub-2.14:

sed 's/--image-base/--nonexist-linker-option/' -i configure

Klargjør GRUB for kompilering:

./configure --prefix=/usr     \
            --sysconfdir=/etc \
            --disable-efiemu  \
            --disable-werror

Betydningen av de nye konfigurasjonsalternativene:

--disable-werror

Dette gjør at byggingen kan fullføres med advarsler introdusert av nyere versjoner av Flex.

--disable-efiemu

Dette alternativet minimerer det som bygges ved å deaktivere en funksjon og eliminere noen testprogrammer som ikke er nødvendige for LFS.

Kompiler pakken:

make

Testpakken for denne pakken anbefales ikke. De fleste testene er avhengige av pakker som ikke er tilgjengelige i det begrensede LFS miljøet. For å kjøre testene likevel, kjør make check.

Installer pakken:

make install

8.67.2. Installasjon av GRUB for 64-bit UEFI

Hvis du vil starte opp med 64-bit UEFI, bør du bygge støtte for det.

Først, hvis du bygde GRUB fra noen av seksjonene ovenfor,rens kildetreet:

make clean

Fiks en feil introdusert i grub-2.14:

sed 's/--image-base/--nonexist-linker-option/' -i configure

Konfigurer nå GRUB for 64-bit UEFI støtte:

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

Betydningen av de nye konfigurasjonsalternativene:

--target=x86_64

Dette definerer at UEFI fastvarearkitekturen er x86_64, som GRUB skal målrette seg mot.

--with-platform=efi

Dette spesifiserer at EFI er en plattform GRUB skal målrette seg mot. I kombinasjon med --target=x86_64, vil GRUB ha muligheten til å målrette mot x86_64-efi plattformen.

Kompiler pakken for 64-biters UEFI støtte:

make

Installer støtte for 64-bit UEFI:

make install

8.67.3. Installasjon av GRUB for 32-bit UEFI

Hvis du vil starte opp med 32-bit UEFI, noe som er svært sjeldent, bør du bygge støtte for det.

Først, hvis du bygde GRUB fra noen av seksjonene ovenfor, rens kildetreet:

make clean

Fiks en feil introdusert i grub-2.14:

sed 's/--image-base/--nonexist-linker-option/' -i configure

Konfigurer nå GRUB for 32-bit UEFI støtte:

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

Betydningen av de nye konfigurasjonsalternativene:

--target=i386

Dette definerer at UEFI fastvarearkitekturen er i386/32-bit, som GRUB skal målrette seg mot. I kombinasjon med --with-platform=efi, vil GRUB ha muligheten til å målrette i386-efi plattformen.

Kompiler pakken for 32-bit UEFI støtte:

make

Installer støtte for 32-bit UEFI:

make install

8.67.4. Innhold i GRUB

Installerte programmer: grub-bios-setup, grub-editenv, grub-file, grub-fstest, grub-glue-efi, grub-install, grub-kbdcomp, grub-macbless, grub-menulst2cfg, grub-mkconfig, grub-mkimage, grub-mklayout, grub-mknetdir, grub-mkpasswd-pbkdf2, grub-mkrelpath, grub-mkrescue, grub-mkstandalone, grub-ofpathname, grub-probe, grub-reboot, grub-render-label, grub-script-check, grub-set-default, grub-sparc64-setup, og grub-syslinux2cfg
Installerte mapper: /usr/lib/grub, /etc/grub.d, /usr/share/grub, og /boot/grub (når grub-install kjøres for første gang)
[Notat]

Notat

/usr/lib/grub vil ha forskjellig innhold basert på hvilken(e) plattform(er) du har installert GRUB for. Nemlig, det vil være forskjellige GRUB moduler for hver plattform.

Korte beskrivelser

grub-bios-setup

Er et hjelpeprogram for grub-install

grub-editenv

Er et verktøy for å redigere miljøblokken

grub-file

Sjekker om den gitte filen er av den angitte typen

grub-fstest

Er et verktøy for å feilsøke filsystemdriveren

grub-glue-efi

Limer 32-biters og 64-biters binærfiler inn i én fil (for Apple maskiner)

grub-install

Installer GRUB på harddisken din

grub-kbdcomp

Er et skript som konverterer et xkb layout til et som gjenkjennes av GRUB

grub-macbless

Er Mac stil bless for HFS eller HFS+ filsystemer (bless er særegent for Apple maskiner; det gjør en enhet oppstartbar)

grub-menulst2cfg

Konverterer en GRUB Legacy menu.lst til en grub.cfg for bruk med GRUB 2

grub-mkconfig

Genererer en grub.cfg fil

grub-mkimage

Lager et oppstartbart bilde av GRUB

grub-mklayout

Genererer en GRUB tastaturlayoutfil

grub-mknetdir

Klargjør en GRUB netboot mappe

grub-mkpasswd-pbkdf2

Genererer et kryptert PBKDF2 passord for bruk i oppstartsmenyen

grub-mkrelpath

Lager et systemstinavn relativt til roten

grub-mkrescue

Lager et oppstartbart bilde av GRUB som passer for en diskett, CD-ROM/DVD eller en USB stasjon

grub-mkstandalone

Genererer et frittstående bilde

grub-ofpathname

Er et hjelpeprogram som skriver ut banen til en GRUB enhet

grub-probe

Undersøker enhetsinformasjon for en gitt bane eller enhet

grub-reboot

Angir standard oppstartsoppføring for GRUB kun for neste oppstart

grub-render-label

Gjengir Apple .disk_label for Apple Macs

grub-script-check

Sjekker GRUB konfigurasjonsskriptet for syntaksfeil

grub-set-default

Angir standard oppstartsoppføring for GRUB

grub-sparc64-setup

Er et hjelpeprogram for grub-setup

grub-syslinux2cfg

Transformerer en syslinux konfigurasjonsfil til grub.cfg format