Op deze website gebruiken we cookies om content en advertenties te personaliseren, om functies voor social media te bieden en om ons websiteverkeer te analyseren. Ook delen we informatie over uw gebruik van onze site met onze partners voor social media, adverteren en analyse. Deze partners kunnen deze gegevens combineren met andere informatie die u aan ze heeft verstrekt of die ze hebben verzameld op basis van uw gebruik van hun services. Meer informatie.

Akkoord

Vraag & Antwoord

OS Linux

[RH7.2] Includefiles stemmen niet overeen met kernel

wstolk
11 antwoorden
  • Ey,

    Ik heb laatst met 'up2date' (update tool van RH) mijn kernel ge-update van 2.4.7-10 naar 2.4.20-20-7. Ik heb er ook nog kernel-source-2.4.20-20.7 opstaan. Als ik nu een module compile gaat dat goed, maar als ik 'insmod modulenaam.o' doe krijg ik de volgende 'error':
    insmod ./modulenaam.o
    ./modulenaam.o: kernel-module version mismatch
    ./modulenaam.o was compiled for kernel version 2.4.9-34
    while this kernel is version 2.4.20-20.7.

    Het rare is echter dat ik kernel-2.4.9-34 er nooit op heb gehad.

    Wat is er precies aan de hand en, nog belangrijker, hoe los ik dit op?

    Nog ff wat info
    rpm -q kernel:
    kernel-2.4.7-10
    kernel-2.4.20-20.7

    rpm -q kernel-source:
    kernel-source-2.4.20-20.7

    MVGR,

    Rene
  • Die module die je wilt insmodden, voor welke kernel is die gemaakt?
    Zo te zien 2.4.9 ..aangezien je die kernel niet hebt geeft RedHat heel netjes aan dat die module niet voor de door jou gebruikte kernel bruikbaar is..
    Om dit op te lossen kan je 2 dingen doen:
    1) downgraden naar de 2.4.9-38 kernel Of
    2) de module zien te fixen voor je huidige kernel

    Om welke module gaat het als ik vragen mag?

    M.
  • Het gaat om een module om LPT aan te sturen. Als ik zo de source bekijk lijkt me dit niet een module die specifiek voor een kernel is geschreven (voor zover ik dat kan beoordelen) en daarom lijkt het mij ook een fout mbt de includefiles ofzo.
    Hij doet het overigens wel op mijn andere linux computer met kernel 2.4.18

    GRTZ
  • Hmm.raar..nog nooit problemen met LPT gehad met het upgraden van een kernel..

    M.
  • Heb je ofwel geen make clean gedraaid voor compilatie of heb je de source uitgepakt (impliciet of expliciet) over een reeds bestaande source-directory?
  • Kijk eens met [code:1:ca4d9ff64d]ls -al /usr/src/linux[/code:1:ca4d9ff64d]

    Als het goed is (en dat denk ik niet) staat er een verwijzing naar [b:ca4d9ff64d]2.4.20-20.7[/b:ca4d9ff64d]

    Als er een verwijzing naar je oude kernel staat, dan zal het volgende je probleem oplossen:

    [code:1:ca4d9ff64d]
    rm /usr/src/linux
    ln -s /usr/src/[naamvandedirectorywaardejuistekernelsourcestaat] /usr/src/linux
    [/code:1:ca4d9ff64d]
  • Ey,

    Includedir is goed. in de makefile staat er nl. een verwijzing naar:

    INCLUDEDIR = /usr/src/linux-2.4.20-20.7
    CFLAGS = -c -D__KERNEL__ -DMOUDLE -O2 -I$(INCLUDEDIR)
    #
    default: lptdrv.o
    #
    lptdrv.o: lptdrv.c
    clear
    gcc $(CFLAGS) lptdrv.c

    Dat zou dus niet verkeerd mogen gaan neem ik aan. In de source staat geen verwijzing naar een kernelversie. Voor degene die 'm willen zien: http://home.nedlinux.nl/~pascal/lptdrv23.tar.gz

    Verder is /usr/src/linux-2.4 een link naar /usr/src/linux-2.4.20-20.7 en dat zijn de enige twee directories die in /usr/src staan.

    GRTZ,

    René
  • draai een depmod -a na je modules_install
    Mits je idd de juiste modules hebt gemaakt zal dat de oplossing moeten zijn
    anders kan mkinitrd nog een oplossing kunnen zijn om je initrd file in /boot te updaten.
  • Hier snap ik niet zoveel van. Heeft dit met het compilen van de kernel te maken? Dan is dat bij mij niet van toepassing want up2date/RedHat werkt met rpm's, dus compile ik de kernel niet.
  • [quote:854e751bf5="shoekie"]Hier snap ik niet zoveel van. Heeft dit met het compilen van de kernel te maken? Dan is dat bij mij niet van toepassing want up2date/RedHat werkt met rpm's, dus compile ik de kernel niet.[/quote:854e751bf5]

    niet alles ;)
    modules_install heeft wel met het compileren te maken maar als je nu meerdere kernels (kan) gebruik(en) dan moet je bij je kerel dus de juiste /boot/initrd hebben en moet modules.conf (kan deze mis hebben hoor) ook weten welke modules er geladen moeten worden (dus uit /lib/modules/kernel-versie/ )

    mkinitrd en depmod kunnen geen kwaad dus probeer die gewoon even.
  • Ey,

    depmod -a executen (als dat iig bedoeling is) en vervolgens driver compilen en insmodden geeft geen andere resultaat.
    nieuwe initrd maken heeft denk geen zin. De RPM instaleerd automatisch goeie (hoop ik ;) )

    GRTZ,

    René

Beantwoord deze vraag

Dit is een gearchiveerde pagina. Antwoorden is niet meer mogelijk.