← Back to team overview

sslug-teknik team mailing list archive

Re: Kerne-kompilering

 

On man, 2001-09-24 at 23:25, Søren Holm wrote:

> Jeg tror ikke at det er et kompiler-spørgsmål idet
> jeg også havde problemer da jeg kørte mandrake 8.0
> 
> Da ville jeg opgradere til 2.4.9 fra 2.4.3 ved brug af
> den medfølgende 2.4.3-config. Men nej !!!
> næsten tilsvarende problem - blot fejl ved andet modul.
> 
> Er der overhovedet nogen som med sucess har (gen-)kopileret
> en sådan medfølgende kerne-konfiguration.

Undskyld det sene svar, jeg var lidt koblet af. :(

Jeg kan godt huske hvor irriteret jeg var i netop denne 
situation da jeg havde brugt 2 dage på kompileringsforsøg 
på en 200 MHz pentium. Det er heldigvis lang tid siden. :) 

Dit spm. JA i massevis. 
Siden kerne 2.4.4 har jeg bygget special-kerner til min 
firewall-maskine , min server-maskine og arbejdsstationen. 
Det 3 vidt forskellige kerner til 3 vidt forskellige 
formål. Disse .config filer har jeg brugt med stort held 
til at konfigurere alt fra 2.4.0 til 2.4.10 .  

Når der er kommet nye kerne versioner har jeg opgraderet 
stort set straks og kompileret op til 5 versioner af samme 
kerne. Det ville være et mareridt at skulle i gennem alle 
valgmuligheder i konfigurationen hver eneste gang. 

I mappen ~/kernelconf/ gemmer jeg alle vigtige (ca 20 stk) 
.config filer under navne som feks server.249 eller 
worker-k6-via. Når linux-xxxx.tar.bz2 er pakket ud, kopieres 
en af disse filer til .config . 

Derefter køres make xconfig (under X11) og så tjekker jeg 
om nogle indstillinger feks processor og andre indstillinger 
som gør denne .config fil noget særligt efter min opfattelse. 

Nu er det faktisk et Debian system jeg bruger, så kommandoerne
er lidt forskellige fra de almindelige kommandoer.
 
bzip2 -dc linux-2.4.10.tar.bz2 |tar xf - ; \
mv linux linux-2.4.10 ; \
cd linux-2.4.10 ; \
cp ~/kernelconf/worker-K7-2.4.10.1 .config ; \
ae Makefile ; \
make xconfig ; \
# Debian specifikt start
fakeroot make-kpkg clean ; \
fakeroot make-kpkg --revision=2.4.10.1 kernel_image ; \
# Debian specifikt end 

Denne serie af kommandoer vises her til illustration 
af selve proceduren i Debian (men det er præcist disse 
kommandoer jeg bruger). Produktet er så en transportabel 
pakke der kan installeres på enhver Debian maskine. 

Jeg vil især pege på kommandoen ae Makefile - ae er 
bare en editor - du kan bruge hvilken som helst editor. 
Dette kan du bruge til at give kernen en unik version, 
hvilket kan redde din maskine fra crash i tilfælde af 
at kompileringen går i fisk. 
(Jeg taler af erfaring :)

Det er de første fire linier i Makefile: 
VERSION = 2
PATCHLEVEL = 4
SUBLEVEL = 7
EXTRAVERSION =.k6via.2.0

Den sidste linie er oprindelig tom, du kan lave noget der ligner 
det ovenstående. Hvad skal det så gøre godt for og hvordan 
kan denne lille ting redde en hel maskine? Hvis din maskine 
kører med feks. 2.4.7 og du laver en ny 2.4.7 kerne, uden 
dette, vil det medføre at modulerne fra den kørende kerne 
overskrives med de nye moduler når du skriver 
make modules_install . Selve kernen bliver sandsynligvis 
også overskrevet. Med det ovenstående eksempel vil modulerne 
ligge i mappen:
/lib/modules/2.4.7.k6via.2.0/
Og modulerne fra den oprindelige kerne: 
/lib/modules/2.4.7/ 

Det samme gælder for kernen: 
/boot/vmlinuz-2.4.9.worker.2.4
/boot/vmlinuz-2.4.9.worker.2.5

Dette var en samling gode råd om kerneoversættelse. 
Håber du kan bruge nogle af dem. 

-- 
med venlig hilsen, Anna Jonna Armannsdottir       
Fyrkildevej 98 (sttv)          Tel: 98 15 67 93
DK-9220 Aalborg Oest           ICQ: 108017016
                     ...ooO0Ooo...
              http://www.stoptorture.org

Attachment: pgp23HPKYo04_.pgp
Description: PGP signature


References