8.4. Bruke GRUB til å sette opp oppstartsprosessen

8.4.1. Introduksjon

Å konfigurere GRUB feil kan gjøre systemet ubrukelig uten en annen oppstartsenhet som en CD-ROM. Denne delen er ikke nødvendig for å starte LFS systemet. Det kan være lurt å endre din nåværende oppstartslaster, f.eks. Grub-Legacy, GRUB2 eller LILO.

Forsikre deg om at en nødstartsdiskett er klar til å "redde" datamaskinen hvis datamaskinen blir ubrukelig (ikke oppstartbar). Hvis du ikke allerede har en oppstartsenhet, kan du opprette en. For at prosedyren nedenfor skal fungere, må du hoppe videre til BLFS og installere xorriso fra libisoburn pakken.

cd /tmp
grub-mkrescue --output=grub-img.iso
xorriso -as cdrecord -v dev=/dev/cdrw blank=as_needed grub-img.iso

For å starte LFS på vertssystemer som har UEFI aktivert, må kjernen være bygget med CONFIG_EFI_STUB kapasiteten beskrevet i forrige avsnitt. Imidlertid kan LFS startes med GRUB2 uten et slikt tillegg. For å gjøre dette må UEFI Mode og Secure Boot funksjonene i vertssystemets BIOS være slått av. For detaljer, se hintet lfs-uefi.txt på http://www.linuxfromscratch.org/hints/downloads/files/lfs-uefi.txt.

8.4.2. GRUB navnekonvensjoner

GRUB bruker sin egen navngivningsstruktur for stasjoner og partisjoner i form av (hdn, m), der n er harddisknummeret og m er partisjonsnummeret. Harddisknummeret starter fra null, men partisjonsnummeret starter fra en for normale partisjoner og fem for utvidede partisjoner. Merk at dette er forskjellig fra tidligere versjoner der begge tallene startet fra null. For eksempel er partisjon sda1 (hd0,1) til GRUB og sdb3 er (hd1,3). I motsetning til Linux anser GRUB ikke CD-ROM-stasjoner for å være harddisker. Hvis du for eksempel bruker en CD på hdb og en annen harddisk på hdc, vil den andre harddisken fremdeles være (hd1).

8.4.3. Sette opp konfigurasjonen

GRUB fungerer ved å skrive data til det første fysiske sporet på harddisken. Dette området er ikke en del av noe filsystem. Programmene der får tilgang til GRUB moduler i oppstartspartisjonen. Standardplasseringen er /boot/grub/.

Plasseringen til oppstartspartisjonen er et valg av brukeren som påvirker konfigurasjonen. En anbefaling er å ha en egen liten (foreslått størrelse er 100 MB) partisjon bare for oppstartsinformasjon. På den måten har hver bygging, enten LFS eller en kommersiell distro, tilgang til de samme oppstartsfilene, og tilgang kan gjøres fra hvilket som helst oppstartssystem. Hvis du velger å gjøre dette, må du montere den separate partisjonen, flytte alle filene i den nåværende /boot mappen (f.eks. Linux kjernen du nettopp bygde i forrige seksjon) til den nye partisjonen. Du må da demontere partisjonen og montere den som /boot. Hvis du gjør dette, må du sørge for å oppdatere /etc/fstab.

Å bruke den nåværende lfs partisjonen vil også fungere, men konfigurering for flere systemer er vanskeligere.

Bruk den ovennevnte informasjonen til å bestemme riktig betegnelse for root partisjonen (eller boot partisjonen, hvis en separat brukes). For det følgende eksemplet antas det at root partisjonen (eller separat oppstart) er sda2.

Installer GRUB filene i /boot/grub og sett opp boot sporet:

Følgende kommando overskriver gjeldende oppstartslaster. Ikke kjør kommandoen hvis dette ikke er ønsket, for eksempel hvis du bruker en tredjeparts boot manager til å administrere Master Boot Record (MBR).

grub-install /dev/sda

Hvis systemet er startet opp med UEFI, vil grub-install prøve å installere filer for x86_64-efi målet, men disse filene er ikke installert i kapittel 6. Hvis dette er tilfelle, legg til --target i386-pc til kommandoen ovenfor.

8.4.4. Opprette GRUB konfigurasjonsfilen

Generer /boot/grub/grub.cfg:

cat > /boot/grub/grub.cfg << "EOF"

# Begin /boot/grub/grub.cfg


set default=0
set timeout=5

 

insmod ext2
set root=(hd0,2)

 

menuentry "GNU/Linux, Linux 5.5.3-lfs-9.1" {
                linux /boot/vmlinuz-5.5.3-lfs-9.1 root=/dev/sda2 ro
}
EOF

Fra GRUBs perspektiv er kjernefilene relativt til partisjonen som brukes. Hvis du brukte en egen /boot partisjon, fjern /boot fra Linux linjen ovenfor. Du må også endre den angitte set root linjen for å peke på boot partisjonen.

GRUB er et ekstremt kraftig program, og det gir et enormt antall muligheter for oppstart fra et bredt utvalg av enheter, operativsystemer og partisjonstyper. Det er også mange muligheter for tilpasning, for eksempel grafiske sprutskjermer, avspilling av lyder, musinngang osv. Detaljene i disse alternativene ligger utenfor omfanget av denne introduksjonen.

Det er en kommando, grub-mkconfig, som kan skrive en konfigurasjonsfil automatisk. Den bruker et sett med skript i /etc/grub.d/ og vil ødelegge eventuelle tilpasninger du gjør. Disse skriptene er designet primært for ikke-kildedistribusjoner og anbefales ikke for LFS. Hvis du installerer en kommersiell Linux distribusjon, er det stor sjanse for at dette programmet kjøres. Sørg for å sikkerhetskopiere grub.cfg-filen.

Forrige Hjem Neste