Op donderdag 13 juni 2002 14:00 schreef sjorsie het volgende:
[..]
Sinds ik een newbie ben, hoe doe je dit? Ik heb kernel 2.4.2-2 (RH7.1)
Okiedokie... Ik denk niet dat die module standaard aanstaat in rh7.1 (in rh 7.2 in ieder geval niet). Dus zul je je kernel opnieuw moeten compileren. Ik zal het even proberen uit te leggen.
1. Installeer de kernel-source rpm. Staat op je RedHat CD in de RedHat/RPMS directory.
code:
1
2
3
4
5
| mount /mnt/cdrom
cd /mnt/cdrom/RedHat/RPMS
rpm -Uhv kernel-source-2.4.2-2.rpm
cd /usr/src/linux-2.4.2-2/configs
ls |
In de dirlisting die je nu voor je ziet zie je een aantal standaard redhat kernel configuraties staan. Je moet er hier eentje van kopieren. Welke is afhankelijk van je systeem. i1386 staat voor 386 en hoger, i486 voor 486 en hoger, i586 voor pentium en hoger, i686 voor pentium pro en hoger (dus ook p3,p4,athlon (geen k6)). De smp versie neem je als je 2 of meer cpu's hebt en de enterprise versie die wil je niet. Nou zo moet je wel bij de goede terechtkomen dacht ik zo. Kopieer die ../.config (zie hieronder) en ga verder.
code:
1
2
| cp dejuisteversie ../.config
make menuconfig |
Je ziet nu een kernel configuratie menu voor je. In principe staan alle opties nu zo ingesteld als de standaard redhat kernel en hoef je niks te wijzigen, behalve dan dat je je netwerkkaart wilt toevoegen. Ga in het menu naar
Network Device Support --> Ethernet 10 or 100Mbit
Je ziet nu een lijst met netwerkkaarten.
Vink 'EISA, VLB, PCI and on board controllers' aan als die nog niet aanstaat. Daaronder zie je nog meer kaarten staan. Daartussen staat ook je Myson kaartje:
< > Myson MTD-8xx PCI Ethernet support
Selecteer die en druk op m. Nu staat er in het aanvinkvakje ervoor een M als het goed is. Zo niet druk dan een paar keer op de spatiebalk tot er een M in staat. Hiermee geef je aan dat die driver als module gecompileerd moet worden.
Ga vervolgens uit alle menu's door een paar keer exit te kiezen. Er wordt je gevraagd of je je config wilt saven. Yes antwoorden lijkt me handig
Vervolgens sla je aan het compileren:
code:
1
2
3
4
5
| make dep
make clean
make bzImage
make modules
make modules_install |
Dit kan bij elkaar wel een tijdje duren, ligt er een beetje aan hoe snel je computer is (om te vergelijken zo'n 30 minuten op een P3 500 128MB).
Als dat zaakje klaar is heb je je kernel opnieuw gecompileerd. Nu is het nog zaak dat je even zorgt dat alles op de goede plek komt te staan.
code:
1
2
3
4
5
6
7
| cp System.map /boot/System.map-2.4.2-mine
cp arch/i386/boot/bzImage /boot/vmlinuz-2.4.2-mine
make clean
cd /boot
rm vmlinuz System.map
ln -s vmlinuz-2.4.2-mine vmlinuz
ln -s System.map-2.4.2-mine System.map |
Okiedokie alle files staan op de juist plek. Nog 1 dingetje te doen dat is je bootloader aanpassen zodat die de juiste kernel start. Die pas je aan door /etc/lilo.conf te editten met je favo editor (pico is een simpele editor bv).
Maak onderaan in dat bestand een nieuwe sectie als volgt:
code:
1
2
3
4
| image=/boot/vmlinuz-2.4.2-mine
label=linux
read-only
root=/dev/hda1 |
De regel root=/dev/hda1 kan bij jou anders zijn. Het moet de partitie aangeven waar je linux op geinstalleerd hebt (je kan even spieken in de andere image sectie in je lilo.conf).
Verder moet je nog even in de andere image sectie (dat is die met image=/boot/vmlinuz-2.4.2-2) de regel label=linux veranderen in label=linuxold of ziets dergelijks. Je kan dan tijdens het booten kiezen of je je nieuwe kernel opstart (de default) of de originele oudere kernel door linuxold te tikken op de LILO: prompt tijdens het opstarten.
Als je klaar bent met editten doe je het volgende:
Als het goed is zie je nu iets voorbij komen als:
en evt nog iets van win of windows als je een dual boot systeem hebt. Het * hoort te staan bij linux.
Ok you're all set to go now!
Rebooten en klaar is kees.
Als je wat meer info wilt over het kernel compileren lees dan even de linux-kernel howto op
www.linuxdoc.org.