Jump to Navigation

Kernel configuratie

Merk en type opzoeken

Als eerste stap moet je nagaan welk merk en type ethernetkaart je hebt. Het kan handig zijn om de Ethernet-HOWTO raad te plegen om na te gaan of jouw ethernetkaart wordt ondersteunt. In de praktijk wordt elke een beetje bekende ethernetkaart inmiddels wel ondersteund.

Ik weet niet zeker welk type Ethernetkaart Tebecai levert. Als iemand mij dat kan vertellen, kan ik hieronder een gerichtere beschrijving geven.

Modules controleren

Indien je een beetje recente Linux-distributie gebruikt, kan het heel goed dat er al een module aanwezig is voor jouw ethernetkaart. Dit kan je nagaan door in /lib/modules/`uname -r`/net te kijken. Hierin staan onder andere de ethernetkaart-modules. Meestal is het niet zo moeilijk om te bedenken welke file met welk type kaart overeen zou moeten komen. De ultieme test is om de module te proberen te laden, zoals hieronder uitgelegd.

Kernel kiezen

Indien je geen module kan vinden voor je ethernet-kaart, zal je zelf een kernel moeten compileren. Maar welke versie moet je kiezen? Kijk eerst welke versie je nu gebruikt, door uname -r te typen. Het antwoord is drie getallen, gescheiden door punten. De eerste twee getallen zijn nu van belang:

  • 2.3.x
    Dit zijn de nieuwe experimentele kernels. Wees voorzichtig als je deze wilt gebruiken; je hebt vast al genoeg problemen...
  • 2.2.x
    Dit zijn de nieuwe productie-kernels. Op dit moment is 2.2.13 de nieuwste, maar er volgen er nog wel wat. Ik raad je aan de nieuwste van deze serie te gaan gebruiken.
  • 2.1.x
    Dit was de vorige serie experimentele kernels. Er is weinig reden om deze te blijven gebruiken, in de meeste gevallen. Upgrade naar 2.2.13 of nieuwer. Houd er wel rekening mee dat als je een 'oude' 2.1 kernel draait, er misschien ook andere pakketten vervangen moeten worden.
  • 2.0.x
    Dit zijn de oude productie-kernels. De nieuwste is 2.0.37. Upgrade naar deze nieuwste (er zitten belangrijke bugs- en security fixes in).
  • 1.3.x
    Dit zijn oude, experimentele kernels. In de meeste van deze kernels worden modules nog niet ondersteund. Denk er serieus over om te upgraden naar een 2.0 kernel - maar doe dit alleen als je weet waar je aan begint! Er zijn nogal wat dingen die zullen moeten veranderen in je systeem. Vaak is het makkelijker om een nieuwe distributie te installeren. Indien alles goed werkt tot nu toe, en al je hardware ondersteunt wordt, kan je anders het beste dezelfde kernel-versie blijven gebruiken.
  • 1.2.x
    Dit zijn oude productie-kernels. Upgrade naar 1.2.13. Om een 2.0 kernel te kunnen gebruiken moet je veel veranderen aan je systeem.
  • Oudere kernels (1.1.x, 1.0.x en 0.x.y)
    Deze kernels zijn inmiddels zo ver verouderd dat veel nieuwe hardware niet ondersteund wordt. Je bent haast verplicht om te upgraden naar een 2.2 systeem. Doe dit door een complete distributie te installeren; elke andere methode is practisch gezien onmogelijk.

In de rest van deze pagina's ga ik er van uit dat je een 2.0 of 2.2 kernel draait. Voor andere kernels kunnen sommige dingen iets anders zijn.

Kernel downloaden en uitpakken

Kernels kunnen van kernel.org worden opgehaald. Indien je nog nooit zelf een kernel hebt geconfigureerd en gecompileerd, is de README-file verplicht leesvoer, evenals de Kernel-HOWTO. Houdt er bij het uitpakken rekening mee dat in /usr/src alles uitgepakt wordt in een directory linux. Zorg dat dit geen symbolic link is naar je oude kernel versie, en hernoem de oude kernel directory-boom eerst.

Kernel configureren

Er zijn een aantal zaken waar je op moet letten als je je kernel gaat configureren (met make config, make menuconfig of make xconfig):

  • Loadable Module Support
    Selecteer alle opties als je modules wilt gaan gebruiken.
  • General setup
    Selecteer in ieder geval Networking support en System V IPC.
  • Networking Options
    Selecteer in ieder geval TCP/IP Networking.
  • Network Device Support
    Selecteer in ieder geval Ethernet (10 or 100Mbit). Zorg dat de driver voor jouw Ethernetkaart ook geselecteerd is (mogelijk als module). Zie de Ethernet-HOWTO als je niet zeker bent welke dat is.

Kernel compileren en installeren

Compileer nu de kernel. Vergeet niet de modules te compileren (make modules) en te installeren (make modules_install). Indien je LILO gebruikt, zal je LILO ook moeten duidelijk maken dat je deze nieuwe kernel wilt gebruiken (probeer man lilo?).

De nieuwe kernel booten

Reboot nu (ja, dat betekent dat je systeem down moet - een kernel upgrade is zo'n beetje de enige reden die er is om Linux te rebooten!). Check dat de nieuwe kernel gebruikt wordt. Indien je je ethernetkaart-driver niet als module hebt geinstalleerd, maar in de kernel zelf hebt gecompileerd, controleer dan dat de kaart gedetecteerd wordt.

De ethernetkaart-driver aanspreken

Indien de ethernetkaart-driver als module is gecompileerd, is nu het moment om hem te installeren en te controleren dat je kaart gedetecteerd wordt. Een module installeer je met modprobe als root. In het geval van mijn 3COM Etherlink III-kaart gebruik ik het volgende commando: modprobe 3c509. Als alles goed is gegaan wordt de kaart nu gedetecteerd. Zo niet, is het tijd om de Ethernet-HOWTO nog eens kritisch door te lezen!

Kerneld en net-modules

De meeste moderne systemen gebruiken kerneld (voor 2.0.x kernels) of kmod (voor 2.2.x kernels) om modules automatisch in te lezen wanneer ze nodig zijn. Aan kerneld of kmod moet wel verteld worden welke ethernetkaart-driver er nodig is als ethernet wordt aangesproken. Dit wordt gedaan in de file /etc/modules.conf (of in /etc/conf.modules). Voeg de volgende regel aan deze configuratie-file toe, of maak een nieuwe configuratie-file met alleen deze regel: alias eth0 3c509, en vervang 3c509 door de naam van de module met jouw ethernetkaart-driver.



Historic_content | by Dr. Radut