logo

Startpagina / Foto Albums / Statistieken / Stuur een berichtje / Inloggen
door japie
Waarom wil ik een eigen kernel ?

Hier kunnen een aantal redenen voor zijn.
Mischien wil je je drivers voor geluid en netwerk altijd geladen hebben , of zo.
In principe maakt het geen verschil of een driver in het kernel gebakken is of als module te laden is , ze werken even goed.
Het enige waarbij het noodzakelijk is een kernel te bakken is als je cd's wilt branden op een IDE-brander.
Linux wil namenlijk perse een SCSI-brander , maar gelukkig is er een truukje om de boel te neppen.
Bak je eigen kernel met SCSI-support erin , dan wordt IDE als SCSI geemuleerd.
Een voorbeeld kun je op mijn downloadsite vinden in de map "goodies"

Wat heb ik nodig ?

Om te beginnnen een draaiende linux-distributie , daarnaast is het nodig de source van je linux-distro te instaleren. (b.v.: kernel-source.rpm)
En niet te vergeten , je moet wel ROOT zijn.

Hoe moet dat dan ?

Instaleer eerst de kernel-source.

Open een console en cd naar de source-directory toe met cd /usr/src/linux en doe make xconfig
Laad vanuit het scherm het voorbeeld /root/kernel.conf , en bekijk de configuratie van het kernel met argusogen.
Vergeet je een crusiaal ding in het kernel , dan zou je distro nooit meer kunnen starten.
In het voorbeeld voor de 2.2.12-20 kernels is alles goed ingesteld voor :
Standaart config en hardware zoals PS/2-muis , lpt-poort , com-poort en div. andere linuxzaken.
Sound-blaster PCI-128
SCSI-kaart NCR53c810
NEC2000 pci-netwerk-kaart
En de Gravis-ultrasound als module te laden.
Pas dit dus aan je specifieke wensen aan , bekijk alles goed en kies dan voor save and exit.

Doe dan make dep

Gevolgd door een make clean

Met als laatste het commando om te bouwen : make bzlilo (let op , op een AMD-K6-300 met 80 MB. duurt dit nog een 20 min.)
Hiermee worden 2 files n.l. vmlinuz en system.map gemaakt en in de dir / geplaatst.
Hernoem deze 2 files in vmlinuz-new en system.map-new en verplaats ze naar /boot

Pas nu je file /etc/lilo.conf aan , bekijk het goed , je ziet b.v. dit stuk.
image=/boot/vmlinuz-2.2.12-20
label=linux
initrd=/boot/initrd-2.2.12-20.img
read-only
root=/dev/hda6
Zet hieronder b.v. dit :
image=/boot/vmlinuz-new
label=linux-new
read-only
root=/dev/hda6

Open een konsole en run lilo , nu zal lilo de instellingen van je lilo.conf overnemen en kun je je systeem herstarten.
Tik je na herstart op de liloprompt linux-new dan zal linux starten met je eigen versgebakken kernel.
Werkt je systeem nu prima maar flitsen er bij start nog allerlij foutmeldingen over niet gevonden modules voorbij (logisch want die zijn nog van de oude configuratie) hernoem dan de map /lib/modules in b.v. /lib/modules-old.
Doe vanaf een prompt vanuit /usr/src/linux een make modules gevolgd door een make modules_install en dit is ook weer opgelost.
Blader nog us door de map /boot en kijk of alles naar de nieuwe kernel verwijst.


Met dank aan :

Jeroen
Adrie
Max
donderdag, december 22, 2005, 14:44



powered by pppBLOG v 0.3.10