Aangezien ik een paar weken geleden heb geknoeid en gesukkeld om m'n kernel te updaten van RH9 wil ik nu wel eens de juiste methode weten. Ik kan me inbeelden dat het voor veel mensen hier ook een leerrijk gegeven kan zijn.
Alvast bedankt
Likes: 0
Aangezien ik een paar weken geleden heb geknoeid en gesukkeld om m'n kernel te updaten van RH9 wil ik nu wel eens de juiste methode weten. Ik kan me inbeelden dat het voor veel mensen hier ook een leerrijk gegeven kan zijn.
Alvast bedankt
Allereerst dien je de kernel te downloaden, op moment van schrijven is kernel 2.4.22 de nieuwste uitgave, download deze met bijvoorbeeld onderstaand commando:
$ wget http://www.kernel.org/pub/linux/kern...-2.4.25.tar.gz
De kernel is 34.9M groot, dus als je een inbel verbinding hebt raad ik je aan om dit bij een kennis, vriend of wie dan ook te doen met een snelle verbinding. Nu gaan we de kernel verplaatsen naar de juiste directory:
$ mv linux-2.4.22.tar.gz /usr/src/
Voordat je de kernel uitpakt wil je misschien wel even je oude kernel veilig stellen. Doe ls -al in /usr/src en kijk welke mappen hier staan. Misschien staat er iets als linux-2.4.18 deze kun je dan verplaatsen naar een veilige lokatie bijvoorbeeld /root doe dit als volgt: mv linux-2.*.** /root. Het belangrijkst is dat de "sym link" naar de map linux-2.*.** verwijdert. Dit doe je door onderstaand commando uit te voeren:
$ rm -rf linux
Nu kun je inprincipe je nieuwe kernel uitpakken door het volgende commando uit te voeren:
$ tar xfvz linux-2.4.22.tar.gz
Als je dit hebt gedaan moet je nog een "sym link" aanleggen naar de map linux-2.4.22, doe dit als volgt:
$ ln -sf linux-2.4.22 linux
Nu zijn we klaar om de kernel te gaan configureren!
3- Configuratie
Nu ben je klaar om de kernel te gaan configureren, zorg eerst dat je in de kernel map komt, doe dit met onderstaand commando:
$ cd linux-2.4.22
Geef nu het volgende commando als je in de console werkt:
$ make menuconfig
En als je in XFree86 werkt:
$ make xconfig
Om dat het uit de beschouwing van dit document ligt om de gehele kernel configuratie door te nemen wijs ik je enkel op belangrijke punten. Ik raad je sowieso ten zeer sterkste aan om elke sectie goed door te nemen. Sla niets over! Dit kan je later veel problemen opleveren. Belangrijke sectie's zijn:
Code maturity level options <> Vink deze aan, anders kun je niet elke driver gebruiken
Loadable module support <> Vink deze allemaal aan, anders kun je geen modules laden
Networking options <> Wil je ook nog kunnen netwerken, dan mag je deze sectie niet vergeten
Network device support <> Wil je dat je netwerkkaarten werken, deze sectie niet overslaan!
File Systems <>Deze sectie al helemaal niet overslaan wil je kunnen booten!
Bovenstaande sectie's zijn enkele belangrijke maar dat zijn ze eigenlijk allemaal, dus neem het goed door! Als je kernel goed geconfigureerd is kun je hem klaar maken voor gebruik, dit kan een tijdje duren. De tijd dat het compileren in beslag neemt hangt af van de snelheid van de machine en van de grootte van de kernel:
$ make clean && make dep && make bzImage && make modules && make modules_install
Veel compileer plezier, als dit klaar is moet je naar de map waar de kernel image instaat cd'en:
$ cd /usr/src/linux/arch/i386/boot
Kopier nu het bestand "bzImage" naar de map "/boot" doe dit als volgt:
$ cp bzImage /boot
Je moet nu je boot manager bewerken, aangezien ik niet zo ervaren ben met Grub zal ik hier alleen Lilo behandelen. Voor Grub verwijs ik je graag door naar "man grub". Je moet lilo.conf hebben voor het bewerken van je bootloader, meestal staat deze in /etc. In deze howto ga ik daarvan uit, als dat niet zo is moet je de lilo.conf even zoeken met "locate". Voer onderstaand commando uit:
$ <naam editor> /etc/lilo.conf
Nu vind je zoiets als onderstaands:
image=/boot/vmlinuz
label=Debian
read-only
optional
root=/dev/hda5
Nu moet je nog zo een ingang maken voor je nieuwe kernel, geef de "label" de naam die je wilt. Bijvoorbeeld: Debian-2.4.22. Dus doe dit bijvoorbeeld als volgt:
image=/boot/bzImage
label=Debian-2.4.22
read-only
optional
root=/dev/hda5
En sla vervolgens "/etc/lilo.conf" op. Vervolgens moeten de bewerkingen ook daadwerkelijk gaan werken, geef dus het commando:
$ lilo
Als het goed is krijg je geen foutmeldingen alleen wat meldingen welke kernel als eerste boot, dus dan is het goed gegaan! Nu komt het spannende moment, herstart je computer en start je nieuwe kernel op, als die werkt, goed gedaan, als die niet werkt, opnieuw proberen.
Toelichting: In de nieuwere versie's van lilo vind je bij de boot stukjes niet meer "root=/dev/hd*" deze syntax staat nu boven in het bestand aangegeven.
© Wouter v. Teijlingen
hier hebben veel mensen wat aan
ik heb nu dus ook geleerd hoe een kernel te vervangen en gedaan dus
ik was er bang voor maar is wel gelukt TNX
Ah, smart. Die ga ik onthouden.Origineel geplaatst door devnull
$ make clean && make dep && make bzImage && make modules && make modules_install
Als een statement aan de linkerkant van de && eindigd zonder 0 terug te geven, breekt hij de hele lijn af.
Voorheen deed ik het gewoon na elkaar overigens.
$ make clean
[woei]
no errors
$ make dep
[woei]
etc.
Maar daarvoor moet ik telkens terug lopen naar de console. Dit scheelt me ietsje in tijd![]()
Misschien handig om te weten ... voor kernels 2.6 en hoger is het
make dep && make bzImage modules modules_install
Als je een redhat distributie hebt gebruikt je toch gewoon een rpm?

Inderdaad, maar hierbij moet je alsnog 1 aanpassing in de boatloading maken. (Zie lilo.conf / grub.conf)Origineel geplaatst door EgoH
Als je een redhat distributie hebt gebruikt je toch gewoon een rpm?
Deze start standaard nog de oude versie op.
Waarom gebruiken er bijna geen hosts Kernel 2.6 eigenlijk?Origineel geplaatst door Norman
Misschien handig om te weten ... voor kernels 2.6 en hoger is het
make dep && make bzImage modules modules_install
Ik vind het veel practischer en veiliger om een source package te compilleren zoals je het zelf wilt hebben.
Die RPM's zijn voor de kleine drivertjes leuk maar voor een kernel niet geschikt vind ik persoonlijk (indien je zelf je beveiliging in de gaten wilt houden).
Sinds enige tijd kan je voor de laatste stap(pen) ook make install gebruiken...
Al is het officieel nog niet support, maar ik heb even gekeken in de redhat handleidingen en daar staat hij keurig bij.
Sebsoft - Moodle hosting - programmeerwerk - managed hosting - https://sebsoft.nl
Zolang je geen aparte kernel drivers of andere noodzaken hebt om een eigen kernel te compilen zou ik altijd bij stock rpm's blijven.Origineel geplaatst door NetRouting
Ik vind het veel practischer en veiliger om een source package te compilleren zoals je het zelf wilt hebben.
Die RPM's zijn voor de kleine drivertjes leuk maar voor een kernel niet geschikt vind ik persoonlijk (indien je zelf je beveiliging in de gaten wilt houden).
Schilt een hoop werk en (soms) een hoop problemen.