Home
 
Het booten van de kernel
By de yaboot prompt als het systeem tracht op te starten typt u

linuxnew

om de nieuwe kernel uit te proberen. Als het niet wil starten kijk dan naar uw instellingen en probeer uit te zoeken waarom hij niet wil opstarten. Dit is de reden waarom we een nieuwe regel hebben toegevoegd in yaboot, en het NIET de default hebben gemaakt. We hebben dus de keuze ! Herstart het systeem, en start op met de oude kernel en kijk uw nieuwe kernel na.
Als uw kernel WEL opstart, gebruikt u:

dmesg | more

om de boot-boodschappen nogmaals te lezen. Vergewist u zich ervan dat alle apparatuur die u in en aan uw machine heeft zitten gedetecteerd zijn. Als u enkele ondersteuningen als module heeft meegebakken, moet u die laden om ze te aktiveren. U kunt ‘lsmod’ gebruiken om te zien welke modules zijn geladen. U gebruikt ‘insmod’ om niet geladen modules te laden. De gecompileerde modules bevinden zich in /lib/modules. Om erachter te komen welke kernel directory gebruikt wordt kunt u een

uname –r

doen om te zien welke versie er loopt. Cd naar deze dir. In deze dir bevinden zich een hoop bestanden. Wij zijn geinteresseerd in de kernel-directory, tenzij u pcmcia drivers nodig heeft. In de kernel dir bevinden zich de drivers ‘fs’ en ‘net’. De drivers hebben driver-modules: de fs dir bevat filesystem modules en de net dir modules van gecompileerde netwerk eigenschappen. In de /net/ipv4/netfilter vind u de firewall- en netwerkfilter-modules, /net/appletalk heeft de appletalk-modules, en /net/sched heeft de qos-modules. De fs dir heeft verscheidene sub-dirs voor verschillende filesystemen, bv hfs (macos bestandsstruktuur), fat (Windows), vfat (windows 32-bit) enzovoorts. De drivers dir is degene waarin u waarschijnlijk het meeste geinteresseerd in zal zijn. Hierin vind u o.a. block, char, i2c, macintosh, media, net, sound, en usb. Ik heb bijvoorbeeld ondersteuning voor een USB-scanner als module gecompileerd, dus ik kan naar /driver/usb gaan en

insmod scanner.o

typen om deze module te laden. Vervolgens typt u

dmesg

en checkt u of de machine de scanner vindt (aan het einde vd lijst). U kunt ‘lsmod’ typen om te controleren of de module geladen is. Als u een module nodig heeft die afhankelijk is van andere modules, kunt u ‘modprobe’ in plaats van ‘insmod’ gebruiken om de modules op te starten: het zal dan trachten de bijbehorende modules op te starten. Als het echter niet de modules kan opstarten moet u zich ervan vergewissen dat u alle modules hebt meegecompileerd. Het is namelijk niet ondenkbaar dat u de ene module wel en de afhankelijke niet hebt meegebakken. U kunt

rmmod module_naam

waar module_naam de module is van lsmod (zonder de .o) om de module te ‘unloaden’.

De boel opschonen

U kunt het systeem opschonen door in de yaboot.conf file de linuxnew als default te kiezen. Dit doet u simpelweg door in het bestand, aan de regel ‘default=iets’, de desbetreffende kernel die u wilt opstarten tijdens booten, op te geven.

Dat is het ! (belangrijk: vergeet niet het aangepaste yaboot.conf bestand te kopieren naar de hfs-partitie van de bootstrap.

Ondersteunende bestanden

We kunnen het .config-bestand gebruiken om een succesvolle kernel, aangepast voor de iMac 350, gebruikmakende van de BenH rsync’s kernel-broncode. Om deze te gebruiken:

mv kernel-imac350.config /usr/src/linux/.config
cd /usr/src/linux
make oldconfig

U wordt gevraagd voor nieuwe kernel-eigenschappen die tijdens dat config-bestand waren aangemaakt.

Patching Quick-Start’

Als u een ‘third-party’ patch wilt installeren, of u heeft een officiele kernel-bron en wilt een patch toevoegen aan uw code, moet u het ‘patch’ commando gebruiken. Kijk naar ‘man patch’ voor de mogelijkheden. Voor de officiele kernel-bron, decompresseer uw patchbestand naar /usr/src. Om de bron waarmee u de patch wil gebruiken in /usr/src/linux (of in ieder geval gesymlinkt naar deze dir), wilt gebruiken typt u:

patch –p0 < patch_bestand

waar patch_bestand de naam van de patch is. U kunt patches gebruiken om de originele bron te behouden in de oude ‘tree’ en een nieuwe ‘tree’ te starten, zie de man pagina’s voor details. Soms zoekt een ‘third-party’-patch naar de linux kernel in een andere directory dan linux. Om ze te toch te patchen, moet u bovenaan in het patch-bestande kijken welke directory hij zoekt en een symlink maken naar /usr/src/linux. Gebruik de patch dan als eerder besproken.

Vertaling uit www.imaclinux.com
28-04-2002
Jeroen Diederen