Ik heb nu ff debian op mijn server gezet. Ik heb ook ff de nieuwe kernel gecompiled (i.v.m. iptables support (btw het is kernel 2.4.7)) maar nu krijg ik als ik die nieuwe kernel laad de netwerkkaarten niet aan de gang. Als ik de oude kernel heb werken ze wel gewoon. Ik heb in de kernel gekozen dat die 2 modules moeten zijn (het is een 3com 3c509b en een ne2k-pci) maar als ik dan in debian insmod 3c509 oid doe vind ie geen module daarvoor.. ik heb ook al in de /lib/modules/2.4.7 gekeken maar er staat geen module in van dat netwerkkaartje.. hoe los ik dit op
Verwijderd
Ja je moet je kernel opnieuw compileren en zorgen dat die betreffende modules meegecompileerd worden of dat die betreffende modules als losse modules gecompileerd worden.
ja heb ik toch ook gedaan! zei ik toch.. ik heb in de menuconfig gekozen dat die 3c509 een M (Module is) en de ne2k-pci een module is..
en voordat het gevraagt wordt ik heb op het laatst make modules en make modules_install gedaan
en voordat het gevraagt wordt ik heb op het laatst make modules en make modules_install gedaan
Volgens deze draad over kernel-compileren moet je een bepaalde volgorde aanhouden van opdrachten. heb je wel een
gedaan?
Moeilijk probleem.
Check je .config eens in /usr/src/linux. Daar moet dus de regel instaan
CONFIG_NE2K_PCI=m
Doe voor de zekerheid ook ff een "make dep"
code:
1
2
| make modules make modules_install |
gedaan?
edit:
Hmmm, en toen was ik te laat met posten
Hmmm, en toen was ik te laat met posten
Moeilijk probleem.
Check je .config eens in /usr/src/linux. Daar moet dus de regel instaan
CONFIG_NE2K_PCI=m
Doe voor de zekerheid ook ff een "make dep"
Verwijderd
Nou dat was mij compleet niet duidelijk uit jou verhaal, maar dan kan ik je niet verder helpen.
nou wat ik dus gedaan heb.. eerst ff make menuconfig toen dat klaar was deed ik make dep, daarna make clean, daarna make bzImage en daarna make modules daarna make modules_install .. moet toch goed zijn ofniet ?
Verwijderd
Je volgorde is in ieder geval helemaal goed
Zeker weten dat je make module_install hebt gedaan? Wat staat er allemaal onder /lib/modules/2.4.7/kernel/drivers/net (uit m'n hoofd, so don't shoot
Probeer anders nog eens "make modules_install".
ja ik heb alles gedaan wat je moet doen met compilen.. ik snap het ook niet meer.
In de /lib/modules/2.4.7/ staan ook geen modules in over netwerkkaarten oid terwijl ik dat toch duidelijk gezegt had bij kernel configgen! argh waar ligt dat nu toch aan ?
In de /lib/modules/2.4.7/ staan ook geen modules in over netwerkkaarten oid terwijl ik dat toch duidelijk gezegt had bij kernel configgen! argh waar ligt dat nu toch aan ?
Heb je je netwerkkaart wel aanstaan in je rc.modules. Ik kan het fout hebben natuurlijk omdat je er een module van gemaakt heb
. Volgens mij ligt het hier eigenlijk niet aan bij nader inzien.
ja maar heeft dat er ook iets mee te maken als je bijv. insmod ne2k-pci doet dat ie geen module daarvan vind? lijkt me niet he
Verwijderd
Staat daar helemaal niksOp vrijdag 10 augustus 2001 20:35 schreef nelske het volgende:
Wat staat er allemaal onder /lib/modules/2.4.7/kernel/drivers/net (uit m'n hoofd, so don't shoot)?
jawel daar staan de modules die ik geselecteerd heb bij de config.. maar nog steeds doet ie het niet als ik zeg insmod <module> dan vind ie de modules niet
je doet eerst make dep, en dan make clean?
dan clean je het toch weer opnieuw
dan clean je het toch weer opnieuw
met papier mache kun je alles maken!!
(btw het is kernel 2.4.7)
Welke is de 'oude' versie ?Als ik de oude kernel heb werken ze wel gewoon.
Wat geeft depmod -V voor uitvoer ?
de oude is de standaard die bij debian 2.2r3 zit, dus kernel 2.2.17pre-compact
Is het niet zo dat je de *mod tooltjes moet updaten? Ik weet niet hou oud jou debian is, maar als hij standaard met een 2.2.* kernel wordt geleverd moet je waarschijnlijk updaten. Dit omdat de layout van de directory waar de modules zich bevinden sinds 2.4.* is gewijzigd. Als het goed is staat al deze invormatie in een textfiletje in de dir van je kernel.
Verder tip: als je lekker snel een kernel wil maken kun je ook gewoon
make dep clean bzImage modules modules_install bzlilo intikken. voert ie alles na elkaar uit.
Verder tip: als je lekker snel een kernel wil maken kun je ook gewoon
make dep clean bzImage modules modules_install bzlilo intikken. voert ie alles na elkaar uit.
ja ik heb ff apt-get dist-upgrade gedaan en dus is ook insmod geupdate.. ik deed dus insmod 3c509 en die pakte die (stond ook bij /lib/modules/2.4.7/kernel/drivers/net ) en ik deed dus ook insmod ne2k-pci (stond dus ook bij /lib/modules/2.4.7/kernel/drivers/net) maar die pakte die weer niet. Ik snap dat weer niet want die 3c509 staat er ook bij maar die pakt die wel.. wat is er nu weer verkeerd
Debian potato is uitgebracht met linux 2.2. Als je daar een 2.4 kernel op knalt, dan zijn een aantal programma's (bijvoorbeeld de modutils, dat waar jij nu mee zit) daar niet op berekend.
Je moet de 2.4 packages voor potato installen.
Zet 'deb http://people.debian.org/~bunk/debian potato main' in je /etc/apt/sources.list, doe een apt-get update en apt-get upgrade, en dan zou het, mits de kernel zelf goed is, moeten werken.
Je moet de 2.4 packages voor potato installen.
Zet 'deb http://people.debian.org/~bunk/debian potato main' in je /etc/apt/sources.list, doe een apt-get update en apt-get upgrade, en dan zou het, mits de kernel zelf goed is, moeten werken.
Voor debian doe je toch zo een nieuwe kernel compileren:
http://panic.et.tudelft.nl/debian/handleiding/debian22hdl.html
uit:9.6 Het compileren van een nieuwe kernel
Tegenwoordig is het in de meeste situaties niet meer nodig om zelf een nieuwe kernel te compileren. Nieuwe kernels kun je meestal zo uit het `woody' of `sid'-archief op de Debian FTP-sites halen en installeren (ook al heb je een `potato' systeem), dat zijn de `kernel-image' pakketjes. Alleen als je een erg niet- standaard apparaat hebt (of een IDE/ATAPI CD-recorder) kan her-compileren van de kernel noodzakelijk zijn; hiervoor heb je een `kernel-source' pakketje nodig.
De manier van kernel-compileren die ik hier behandel, is niet de standaard manier (uit de Kernel-HOWTO) maar een Debian-specifieke manier, die veel makkelijker werkt. Eventueel kun je ook de standaard-manier gebruiken, maar dan geef ik geen enkele garantie voor het welslagen van die onderneming.
Er zijn diverse hardware-fabrikanten, die Linux kernel-add-on's leveren bij hun produkten. Wees daar heel voorzichtig mee! Over het algemeen zitten die drivers namelijk al in de standaard kernel-source, en krijg je enorme problemen als je de add-on's wilt gebruiken.
De `kernel-source-xxx'-pakketjes zijn bij wijze van uitzondering gewone pakketjes; ze staan op de Binary CD's (dus niet op de Source CD's), en in het `binary-i386'-gedeelte van de Debian FTP- sites.
Kijk vooraf met df of je nog voldoende schijfruimte beschikbaar hebt. De uitgepakte kernel- source is tenminste 85 MB, daar komt nog 35 MB bij als je de benodigde pakketjes nog niet had geïnstalleerd, en tijdens het compileren is daar bovenop nog maximaal 15 MB nodig.
Installeer als root de benodigde pakketjes met apt-get install kernel-source-XXX kernel-package libc6-dev bin86 libncurses5-dev gcc fakeroot dpkg-dev bzip2; zet daar nog tk8.2-dev achter als je de X configuratie wilt gebruiken. Voor de `XXX' moet je dus de juiste kernel-versie opgeven, bijvoorbeeld `2.2.17'. Als je een `kernel-source' pakketje van een andere locatie wilt gebruiken, bijvoorbeeld de nieuwste versie uit het `woody' of `sid' archief, kan dat (meestal) ook; laat hem dan weg in de apt-get regel, download 'm apart en installeer 'm met dpkg -i kernel- source-...deb (de volledige filenaam dus). Let wel: deze procedure werkt alleen met Debian kernel-source pakketjes, en niet met de officiële on-aangepaste .tar.gz/bz2 archieven.
Procedure, als niet-root uitvoeren ("<versie>" is bijvoorbeeld "2.2.17"; commentaar hieronder):
1) cd /tmp
2) tar xIvf /usr/src/kernel-source-<versie>.tar.bz2
3) cd kernel-source-<versie>
4) make-kpkg clean (negeer eventuele foutmeldingen)
5) make menuconfig (of make xconfig als je de X pakketjes hebt geïnstalleerd; geen make dep erachter!)
6) fakeroot make-kpkg --revision=9:mijnkernel.1.0 kernel_image (en wacht 10 minuten tot een paar uur)
Na stap 6 staat er een nieuw `kernel-image' pakketje in /tmp.
7) maak een kopie van /tmp/kernel-image-<versie>_mijnkernel.1.0_i386.deb op een veilige plaats
Installeer het nieuwe `kernel-image' pakketje, nu wel als root:
als er een directory /lib/modules/<versie> bestaat: mv /lib/modules/<versie> /lib/modules/<versie>.old
9) dpkg -i /tmp/kernel-image-<versie>_mijnkernel.1.0_i386.deb (vraagt om eventuele LILO- configuratie te updaten)
10) bij gebruik van een bootfloppy of LOADLIN: zet de nieuwe kernel (/vmlinuz) op de juiste plaats
11) reboot computer
12) als je stap 8 had gedaan: rm -rf /lib/modules/<versie>.old
In stap 1 t/m 6 (die je als niet-root uitvoert) wordt de kernel-source uitgepakt en gecompileerd in /tmp. Dat mag ook in een willekeurige andere directory (zo kun je meerdere kernels tegelijk compileren), maar let erop, dat er vooraf tenminste 100 MB vrije ruimte op de betreffende schijf moet zijn. NB: /tmp wordt geleegd bij elke reboot!
Voor stappen 8 t/m 12 moet je wel root zijn.
Stap 5, het configureren van de kernel, is het enige `echte werk' (de rest stelt niets voor). Je moet het gewoon eens proberen en vooral overal de helptekst van opvragen (en ook het configuratie-gedeelte van de Kernel-HOWTO raadplegen). Als er in zo'n helptekst gezegd wordt dat je een optie `als module' kunt configureren, dan staat daar meestal bij dat je een bepaald tekstbestand moet lezen. Bij Debian hoeft dat echter niet, want modules werken al. Een module is gewoon een stukje kernel dat niet altijd in het geheugen zit, maar `op aanvraag' (`on demand') wordt bijgeladen; het zijn de `device drivers' die je tijdens de installatie bent tegengekomen. Je kunt modules ook met de hand laden en `uitladen', zie daarvoor de manpages van modprobe en lsmod (en eventueel van depmod, insmod en rmmod). Meestal is het aan te bevelen zoveel mogelijk als module te laten maken, behalve het filesystem van de root partitie, ext2 (`Second extended fs support') dus. De allereerste keer kun je de voorbeeld-configuratie aanhouden uit de volgende paragraaf.
De naam `mijnkernel.1.0' in stap 6 (en verder) mag je zelf verzinnen. Ik gebruik meestal <computernaam>.<versie> met versie oplopend, 1.0, 1.1, 1.2 enz. (en 2.0 als de hardware verandert), bijvoorbeeld `kennedy.1.6'. Er wordt een Debian pakketje gemaakt met die opgegeven naam, zie stap 7 en 9.
Stappen 8 t/m 12 kunnen trouwens ook op een andere computer uitgevoerd worden, of op een hele serie computers. De compilatie wordt meestal op de snelste computer gedaan; dan heeft een langzame computer alleenmaar het nieuw gefabriceerde `kernel-image' pakketje nodig: veel sneller.
Tussen stap 5 en 6 maak ik altijd een backup van de .config file, die de complete configuratie van de kernel bevat. Om precies diezelfde kernel te maken hoef ik alleen maar de juiste `kernel-source' uit te pakken en de juiste .config erheen te kopiëren. Heel handig als je op één computer kernels voor veel verschillende machines compileert. De naam van de backup is dan bijvoorbeeld /home/ikke/kernel/.config.2.0.36.mijnkernel.1.0.
Stap 8 en 12 zijn nodig als je een nieuwe versie maakt van de kernel die je op dat moment al draait. De modules van de draaiende kernel kunnen namelijk niet door dpkg worden verwijderd. Nieuwe modules zouden er dus overheen geïnstalleerd worden, en dan blijft er een mengelmoes van oude en nieuwe modules achter. Om dat te voorkomen, geven we de modules-directory eerst een andere naam, en verwijderen we hem met de hand als de nieuwe kernel draait.
Meer informatie over `de Debian manier' van het `bakken' van een kernel staat in /usr/share/doc/kernel- package/README.gz (en andere bestanden in die directory). Ook de directory's /usr/share/doc/kernel-source-<versie> en Documentation/ (van een uitgepakte kernel source) bevatten veel lezenswaardige informatie.
Als er vreemde problemen zijn met compileren (bijv. `signal 11' van gcc), kan het zijn dat je slechte geheugenchips hebt, of een ander hardwareprobleem. Zie daarvoor de Internetpagina http://www.bitwizard.nl/sig11/.
http://panic.et.tudelft.nl/debian/handleiding/debian22hdl.html
http://www.bsdfreaks.nl Home site: http://rob.lensen.nu /me was RobL
ja maar zoals ik al zei ik had ff modutils geupdate maar de 3c509 module vind ie.. die is dus geladen, maar de ne2k-pci module vind wel maar dan geeft ie fout van "Unresolved symbol blabla.."
Zeer raar dus maar ik ga eens de manier van rlensen proberen om de kernel te compilen. Maartoch ik vind dat ie het ook moet doen als je het op mijn manier doet!
Zeer raar dus maar ik ga eens de manier van rlensen proberen om de kernel te compilen. Maartoch ik vind dat ie het ook moet doen als je het op mijn manier doet!
ah, een unresolved symbol. als je dezelfde kernelversie compiled als je al draait, helpt het als je /lib/modules/<kernelversie>/ weggooit voor je de nieuwe kernel installeert. Je kopieert toch wel de nieuw gecompilede kernel naar /boot/ he?
jazeker! (duh) maar ik zal eens opnieuw compilen en dan de /lib/modules/2.4.7 ff weggooien..
voor dat je 'make modules_install' doet dus, he.
als je make modules_install doet, en de oude staan er nog, dan overschrijf je ze, maar waarschijnlijk niet allemaal (omdat je waarscijnlijk niet dezelfde modules installt).
als je make modules_install doet, en de oude staan er nog, dan overschrijf je ze, maar waarschijnlijk niet allemaal (omdat je waarscijnlijk niet dezelfde modules installt).
'k had ff /lib/modules/2.4.7 verwijderd en daarna een make dep modules modules_install gedaan maar nu geeft ie nog steeds hetzelfde probleem bij die ne2k-pci (maar bij de 3c509 geeft ie geen probs) hoe kan dat toch..? wat betekent unresolved symbol ...
Een unresolved symbol betekent bij mijn weten dat een module een referentie heeft naar een andere module die niet geladen kan worden. Die kreeg ik altijd als ik /lib/modules/x.x.x niet weggooide voor het installeren van de niewe modules, vandaar dat ik het voorstelde.
'depmod -V' en dan opnieuw proberen te insmodden werkt niet? lukt het met 'modprobe' ook niet?
'depmod -V' en dan opnieuw proberen te insmodden werkt niet? lukt het met 'modprobe' ook niet?
Verwijderd
Doe eens een "depmod -a" en vervolgens eens een modprobe met het volledige path naar de module ervoor!
Doet hij het dan wel?
Bekijk anders eens in /lib/modules/2.4.7/modules.dep van welke modules die module nog meer afhankelijk is.
Degene die daar staan moeten uiteraard ook als module gebakken zijn.
Doet hij het dan wel?
Bekijk anders eens in /lib/modules/2.4.7/modules.dep van welke modules die module nog meer afhankelijk is.
Degene die daar staan moeten uiteraard ook als module gebakken zijn.
jaaa het is gelukt
hij had namelijk nog een andere module nodig om die ne2k-pci te kunnen laden (namelijk 8390.o). Maar nu nog een ander probleem
hij doet de DNS niet goed aanroepen oid.. want als ik bijv. ping www.tweakers.net doe dan werkt het niet maar doe ik ping 213.239.154.11 dan werkt het wel.. maar in de /etc/resolv.conf staat wel de DNS goed ingesteld! Waar ligt DIT nu weer aan
Weet je zeker dat het in /etc/resolv.conf goed staat? Paste de inhoud eens anders. Verder: werkt 'host www.tweakers.net' wel?
maar als ik de oude kernel weer ff boot werkt de DNS wel! dan kan ik wel bijv. tweakers.net pingen maar met de nieuwe niet dan kan ik alleen ip's pingen
ik had net ff de 3c509 uit de ifconfig gehaald en dan werkt de DNS wel! dus die 3c509 zit te storen op de een of andere manier. Zou dat eraan kunnen liggen dat dat een ISA kaart is of zou het helpen bij de kernel config ipv een module te pakken het helemaal te implementeren in de kernel
Je hebt toch wel die deb line van mij in je /etc/apt/sources.list gezet, en daarna apt-get update; apt-get upgrade gedaan he? 'gewoon' updaten, zonder deze regel in je sources.list helpt niet, omdat je zo niet de packages voor linux-2.4 op potato binnenhaalt. Potato is geleverd met utils (bijvoorbeeld de modutils en libc) die voor 2.2 gecompiled zijn, en als daar ineens een andere kernel voor in de plaats staat (een 2.4 dus) waar die utils nog nooit van gehoord hebben, dan kan je rare problemen krijgen.
Ik beweer niet dat dit het probleem is overigens, maar het zou kunnen
Ik beweer niet dat dit het probleem is overigens, maar het zou kunnen
Ja ik heb zo'n distupgrade gedaan.. maar gewoon superwazig probleem nu weer
het is gewoon zodra ik die 3c509 uit de ifconfig haal dan werkt bijv. ping www.tweakers.net wel maar als ik 'm erin zet werkt het weer niet (dan alleen met ip's) dus volgens mij stoort die 3c509 de DNS ofzow.. waar ligt dit toch nu weer aan
Pagina: 1