|
|
|
 |
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 rsyncs 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 paginas
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 |
| |
|
 |
|