Toon posts:

[Debian] [Token ring] [Kernel Headers]

Pagina: 1
Acties:

Verwijderd

Topicstarter
Ik heb een debian linux met kernel 2.2.18pre21. Hier zitten reeds twee 3COM kaarten in en nu wens ik daar nog een Madge MK PCI Token ring kaart bij te plaatsen. Na het downloaden van de drivers en het uitvoeren van "make" krijg ik een error dat ik mijn kernel header files moet installeren. Op de site van Debian vind ik deze niet terug voor de kernel die ik heb... Is dit normaal? En wat moet ik dan doen om alles te doen werken?

  • _JGC_
  • Registratie: Juli 2000
  • Laatst online: 14:39
apt-get install kernel-headers

Krijg je een lijstje met mogelijke packages, en daar kies je je gewenste versie uit.

Verwijderd

Topicstarter
Dan kan ik kiezen tussen 2.0.38 en 2.2.13 ... Gelijk welke 2 ik neem moet ik zelf packages installeren. Eén daarvan is gconv-modules. Deze kan ik nergens vinden? Enig idee ...

  • odysseus
  • Registratie: Augustus 2000
  • Laatst online: 15-08 23:01

odysseus

Debian GNU/Linux Sid

Op zondag 02 juni 2002 15:23 schreef snipper het volgende:
Dan kan ik kiezen tussen 2.0.38 en 2.2.13 ... Gelijk welke 2 ik neem moet ik zelf packages installeren. Eén daarvan is gconv-modules. Deze kan ik nergens vinden? Enig idee ...
Zit dat niet in libc6-dev? Ik krijg in ieder geval als resultaat 'libc6' na een opdracht als 'apt-cache search gconv-modules'.

Leven is het meervoud van lef | In order to make an apple pie from scratch, you must first create the universe.


Verwijderd

Een driver compileer je niet tegen de systeemheaders aan in /usr/include/linux. Dat is alleen voor userspace software.
Als je een kerneldriver wilt compileren, zal je de kernel-source nodig hebben, van dezelfde versie als dat je al hebt. Ik weet niet hoe dat in debian heet, ik gok gewoon kernel-source.
En hij zal dan moeten compileren tegen /usr/src/linux/include. Het zou kunnen dat je hiervoor de Makefile aan moet passen.

Verwijderd

Topicstarter
Op zondag 02 juni 2002 15:33 schreef odysseus het volgende:

[..]

Zit dat niet in libc6-dev? Ik krijg in ieder geval als resultaat 'libc6' na een opdracht als 'apt-cache search gconv-modules'.
Ja dat zou inderdaad kunnen zijn. Welke versie van libc6 gebruik jij? Ik gebruik de 2.1.3 en zou volgens apt-get 2.2.5 nodig hebben ... Maar ook deze kan ik niet vinden op www.debian.org ...

Verwijderd

Topicstarter
Op zondag 02 juni 2002 15:33 schreef MarcelP het volgende:
Een driver compileer je niet tegen de systeemheaders aan in /usr/include/linux. Dat is alleen voor userspace software.
Als je een kerneldriver wilt compileren, zal je de kernel-source nodig hebben, van dezelfde versie als dat je al hebt. Ik weet niet hoe dat in debian heet, ik gok gewoon kernel-source.
En hij zal dan moeten compileren tegen /usr/src/linux/include. Het zou kunnen dat je hiervoor de Makefile aan moet passen.
Ik begrijp wat je wil zeggen. Maar bij installatie van de madge driver wordt er specifiek gevraagd om de kernel-headers ... Zou ik dan voldoende hebben aan de source?

Verwijderd

Kernel-headers zitten ook in de kernel-source. En dat is de versie van de kernel die je draait. Het pakket heet geen kernel-headers, omdat het gewoon bij de kernel-source in zit.

De echte kernel-headers zitten in /usr/include.
Dit zijn de headers waar glibc tegen gecompileerd is, en waar de glibc headers zich ook op aan passen.
Als je glibc op een 2.4.8 kernel compileert of een 2.4.18 kernel, maakt verschil. De headers upgraden zonder je glibc opnieuw te compileren kan wel eens rare fouten geven.

Maar het antwoord op je vraag kun je alleen zelf leveren.
Wat je compileert, is dat een userspace programma, of ga je een driver insmodden in je kernel?
Dat bepaalt waar je hem tegen aan moet compileren.
Pagina: 1