Disclaimer :
This document is not valid and is not maintained anymore.
|
[ << ]
[ < ]
[ Hjem ]
[ > ]
[ >> ]
7. Opsætning af kernen
Indhold:
7.a. Tidszone
Du bliver først nødt til at vælge din tidszone så. at dit system ved
hvor det er lokaliseret. Kig efter din tidszone i
/usr/share/zoneinfo, og lav derefter en symbolsk
henvisning til /etc/localtime ved brug af ln:
Kode oversigt 1.1: At sætte tidszone informationen |
# ls /usr/share/zoneinfo
# ln -sf /usr/share/zoneinfo/GMT /etc/localtime
|
7.b. Installation af kildekoderne
Valg af kerne
Kernen omkring alle distributioner er bygget på Linux-kernen. Det er et
lag imellem bruger-programmer og dit systems hardware. Gentoo giver dens
brugere flere forskellige mulige kerne-kildekoder. En fuld liste med
beskrivelser forefindes i Gentoo
Linux kerne vejledning.
Til PPC kan du vælge imellem vanilla-sources og gentoo-sources
(begge 2.6-kerner). Den sidste er tilgængelig, når du udfører en netværksfri installation.
Udover disse, er der en speciel 2.6-kerne-patchsæt til Pegasos:
pegasos-dev-sources. Så lad os fortsætte med at emerge kerne-kildekoderne:
Kode oversigt 2.1: Installation af kerne-kildekode |
# emerge gentoo-sources
|
Bemærk:
PowerPC-kildekoder er baseret på 2.6.10-kernen med sikkerhedspatches fra 2.6.11 tilbageført.
På tidspunktet af udgivelsen har 2.6.11-kernen produceret en del problemer på
forskellige PowerPC-maskiner.
|
Når du tager et kig i /usr/src, burde du se en genvej
kaldet linux, som peger mod din kerne-kildekode. Vi forudsætter at
kerne-kildekoderne, som er installeret er gentoo-sources-2.6.10-r8:
Kode oversigt 2.2: Se genvej til kerne-kildekode |
# ls -l /usr/src/linux
lrwxrwxrwx 1 root root 22 Mar 18 16:23 /usr/src/linux -> linux-2.6.10-gentoo-r8
|
Hvis genvejen ikke peger til kerne-kildekoderne, som du valgte (noter
at linux.2.6.10-gentoo-r8 kun er et eksempel) bør du ændre
genvejen før du fortsætter:
Kode oversigt 2.3: Ændring af genvejen til kerne-kildekode |
# rm /usr/src/linux
# cd /usr/src
# ln -s linux-2.6.10-gentoo-r8 linux
|
Nu er det tid til at opsætte og kompilere din kernes kildekoder. Alle
arkitekturer kan bruge genkernel til dette, som vil bygge en omfattende
kerne, som også er brugt på installationsCDen. Vi forklarer dog den "manuelle"
opsætning først, idet det er den bedste metode til at optimere dit system.
Hvis du vil opsætte din kerne manuelt, forsæt nu med Standard: Manuel opsætning. Hvis du vil bruge
genkernel, bør du læse Alternativ: Brug
af genkernel i stedet for.
7.c. Standard: Manuel opsætning
Introduktion
At opsætte kernen manuelt bliver ofte anset som det sværeste, som enhver
Linux-bruger skal gå igennem. Intet er mindre rigtigt -- efter
opsætninger af nogle kerner, vil du ikke kunne huske at det var svært ;)
Én ting er dog rigtigt: du skal kende dit system, når du starter med at
opsætte en kerne manuelt. De fleste informationer kan samles ved at emerge
pciutils (emerge pciutils), som indeholder lspci. Du kan nu
have mulighed for at bruge lspci inden i det chrootede miljø. Du kan med
sikkerhed ignorere alle pcilib advarsler (som pcilib: cannot open
/sys/bus/pci/devices) som lspci fortæller. Alternativt, kan du køre
lscpi fra et ikke-chrootet miljø. Resultatet er det samme.
Du kan også køre lsmod for at se hvilke kerne-moduler,
installationsCDen bruger (det vil måske give dig en god idé om hvad du
skal aktivere).
Gå nu til kerne-kildekode mappen og udfør make menuconfig. Dette
vil starte en ncurses-baseret opsætningsmenu.
Kode oversigt 3.1: Påkalde menuconfig |
# cd /usr/src/linux
# make menuconfig
|
Du vil blive hilst af flere opsætningssektioner. Vi vil først give dig
en liste af de valgmuligheder, som du skal aktivere (ellers vil Gentoo
ikke funktionere, eller funktionere ordentligt uden ekstra
finindstillinger).
Aktivering af krævede valgmuligheder
Først skal du aktivere brugen af udviklings- og forsøgskoder/-drivere.
Du vil få brug for dette, ellers vil meget vigtige koder/drivere ikke vise sig:
Kode oversigt 3.2: Valg af eksperimentielle koder/drivere, Generel opsætning |
Code maturity level options --->
[*] Prompt for development and/or incomplete code/drivers
General setup --->
[*] Support for hot-pluggable devices
|
Gå nu til File Systems og vælg understøttelse til de filsystemer, som
du bruger. Kompiler dem ikke som moduler, ellers vil dit Gentoo system
ikke have mulighed for at montere dine partitioner. Vælg også Virtual memory og
/proc file system. Vælg ikke /dev file system.
Kode oversigt 3.3: Valg af nødvendige filsystemer |
File systems --->
Pseudo Filesystems --->
[*] /proc file system support
[ ] /dev file system support (OBSOLETE)
[*] Virtual memory file system support (former shm fs)
<*> Reiserfs support
<*> Ext3 journalling file system support
<*> Second extended fs support
<*> XFS filesystem support
|
Hvis du bruger PPPoE til at forbinde til Internettet eller du bruger en opkaldsmodem, vil du få brug for de følgende valgmuligheder i kernen:
Kode oversigt 3.4: Valg af PPPoE nødvendige drivere |
Device Drivers --->
Networking support --->
<*> PPP (point-to-point protocol) support
<*> PPP support for async serial ports
<*> PPP support for sync tty ports
|
De to kompressionsvalgmuligheder vil ikke være ubrugelige, men er slet ikke
nødvendige, det samme med PPP over Ethernet valgmuligheden, som måske
vil blive brugt af rp-pppoe, når den er opsat til at lave kerne-modus
PPPoE.
Hvis du kræver det, glem ikke at inkludere understøttelse af dit netkort
i kernen.
Brugere af "OldWorld" maskiner bør have HFS-understøttelse, så de kan
kopiere kompilerede kerner til MacOS-partitionen. Dette gælder også til
NewWorld-maskiner, som er nødvendig for den specielle Apple_Bootstrap-partition:
Kode oversigt 3.5: Aktivering af HFS-understøttelse |
File Systems --->
[*] HFS Support
|
På dette tidspunkt er kerne-preemption stadigvæk ustabil på PPC og kan skabe
kompileringsfejl og vilkårlige lagersegmenteringsfejl. Det er stærkt
anbefalet af du ikke bruger denne egenskab.
Kode oversigt 3.6: Ensure the Preemptible Kernel Option is Off |
Platform options --->
[ ] Preemptible Kernel
|
Når du er færdig med at opsætte din kerne, fortsæt med Kompilering og installation.
Kompilering og installation
Nu da din kerne er opsat, er det tid til at kompilere og installere den.
Afslut opsætningen (Exit) og kør kommandoerne, som vil kompilere kernen:
Kode oversigt 3.7: Kompilering af kerne |
# make all && make modules_install
|
Når kernen er færdig med at kompilere, kopier den da over til
/boot (vær sikker på at den er mountet rigtigt på Pegasos).
Kode oversigt 3.8: Installation af kerne |
(Apple/IBM) # cp vmlinux /boot/kernel-2.6.10
(Pegasos) # cp arch/ppc/boot/images/zImage.chrp /boot/kernel-2.6.10
|
Det er også klogt at kopiere din kerneopsætningsfil til
/boot, bare for en sikkerheds skyld :)
Kode oversigt 3.9: Backup af din kerneopsætning |
# cp .config /boot/config-2.6.10-gentoo-r8
|
Fortsæt nu med Installation af separate
kernemoduler.
7.d. Installation af separate kernemoduler
Opsætning af moduler
Du bør opliste de moduler, som du vil have automatisk hentet, i /etc/modules.autoload.d/kernel-2.6. Du kan også tilføje ekstra valgmuligheder til modulerne, hvis du vil.
For at se alle de tilgængelige moduler, kør følgende find-kommando. Glem ikke
at udskifte "<kernel version>" med den version af kernen, du lige
har kompileret:
Kode oversigt 4.1: Se alle mulige moduler |
# find /lib/modules/<kernel version>/ -type f -iname '*.o' -or -iname '*.ko'
|
For automatisk at hente f.eks 3c59x.o modulet, skal du ændre
kernel-2.6-filen og skrive
modulnavnet i den.
Kode oversigt 4.2: At redigere /etc/modules.autoload.d/kernel-2.6 |
# nano -w /etc/modules.autoload.d/kernel-2.6
|
Kode oversigt 4.3: /etc/modules.autoload.d/kernel-2.6 |
3c59x
|
Fortsæt nu med installationen med Opsætning
af dit system.
7.e. Alternativ: Brug af genkernel
Hvis du læser denne sektion, så har du valgt at bruge vores genkernel
script til at opsætte din kerne for dig.
Nu da dit kerne-kildekodetræ er installeret, er det tid til at kompilere din
kerne ved at bruge vores genkernel script til at automatisk bygge en
kerne for dig. genkernel virker ved at opsætte en kerne, næsten
identisk med hvordan vores LiveCD-kerne er blevet opsat. Dette betyder, at når
du bruger genkernel til at bygge din kerne, vil dit system generelt
finde alt dit hardware ved opstart, ligesom din installationsCD gør. Fordi at genkernel
ikke kræver nogen manuel kerneopsætning, er den en ideel løsning for
de brugere, som ikke føler sig veltilpas med at kompilere deres egne kerner.
Lad os nu se hvordan vi bruger genkernel. Først skal du emerge
genkernelens ebuild:
Kode oversigt 5.1: Emerge genkernel |
# emerge genkernel
|
Dernæst kopier kerneopsætningen brug af installationsCDen til placeringen,
hvor genkernel kigger efter standard kerneopsætninger:
Kode oversigt 5.2: Kopiering af installationsCDens kerneopsætnings |
# zcat /proc/config.gz > /usr/share/genkernel/ppc/kernel-config-2.6
|
Du skal nu samle dine kerne-kildekoder ved at køre genkernel --udev all.
Vær agtsom på at genkernel samler en kerne, som understøtter det meste
hardware, derfor tager den en del tid!
Noter at, hvis din partition, hvor kernen skal være placeret, ikke bruger
ext2 eller ext3 som filsystem, skal du måske manuelt opsætte din kerne ved
brug af genkernel --menuconfig all og tilføje understøttelse til dit filsystem
i kernen (dvs. ikke som modul). Brugere af EVMS2 eller LVM2 vil sikkert
ønske også at tilføje --evms2 eller --lvm2 som argument.
Kode oversigt 5.3: Start af genkernel |
# genkernel --udev all
|
Når genkernel afslutter, vil en kerne, et fuld sæt af moduler og
initial root disk (initrd) være færdiggjort. Vi vil bruge kernen
og initrd, når vi opsætter en boot-loader senere i dette dokument. Skriv
navnene på kernen og initrd ned, da du vil få brug for dem, når du skriver til
boot-loaderens opsætningsfil. Initrd vil blive startet med det samme efter
at opstartsprocessen udfører automatisk-hardwarefinding (ligesom på LiveCDen)
før dit "rigtige" system starter op. Vær sikker på også at kopiere de rigtige
opstartsargumenter, da disse er krævet for en succesfuld opstart med genkernel.
Kode oversigt 5.4: Tjekker oprettelsen af kerne-billedfils navn og initrd |
# ls /boot/kernel* /boot/initrd*
|
Lad os nu udføre et trin mere, for at få vores system til at blive mere som
installationsCDen -- lad os emerge coldplug. Imens initrd automatisk finder
hardware, som der er brug for til at starte dit system, vil coldplug
automatisk finde alt andet.
For at emerge og aktivere coldplug, tast følgende:
Kode oversigt 5.5: Emerge og aktivering af coldplug |
# emerge coldplug
# rc-update add coldplug boot
|
Hvis du vil have at dit system reagerer på hotplug-aktiviter, vil du også få brug for
at installere og indstille hotplug:
Kode oversigt 5.6: Emerge og aktivering af hotplug |
# emerge hotplug
# rc-update add hotplug default
|
Fortsæt nu med Opsætning af dit system.
[ << ]
[ < ]
[ Hjem ]
[ > ]
[ >> ]
Indholdet i dette dokument er autoriseret under en Creative Commons -
Attribution / Share Alike licens.
|