[gelöst]Kernel >=2.6.18 -->Probleme mit include-Vers.

Welches Modul/Treiber für welche Hardware, Kernel compilieren...
Antworten
Benutzeravatar
debdog
Beiträge: 652
Registriert: 11.02.2007 10:53:12
Wohnort: Do,womrkoihochdeitschko

[gelöst]Kernel >=2.6.18 -->Probleme mit include-Vers.

Beitrag von debdog » 17.02.2007 23:22:44

Hallo Debianer und Kernelbauer,

ab dem Kernel 2.6.18 hab ich hier ein Problemchen mit den includes und das nicht nur bei Debian.

Was bisher geschah:
Ich habe mir vor kurzer Zeit einen aktuellen Snapshot (vom 5.2.07) von Etch auf DVD liefern lassen um endlich mal wieder up to date zu sein. Nach der Grundinstallation mit Kernelpaket 2.6.18-3-k7 habe ich zuerst versucht den ATI-fglrx-Treiber zu installieren, für einen Radeon 9200SE-Chip, deshalb den 'ati-driver-installer-8.28.8.run'. Ich habe den Installer gestartet um herauszufinden welche libs er so braucht, deshalb war ich nicht überrascht darüber, daß das Modul nicht gebaut wurde. Allerdings bei der Auswertung von /usr/share/fglrx/fglrx-install.log wurde ich doch sehr überrascht, meldete diese doch:

Code: Alles auswählen

ATI module generator V 2.0
==========================
initializing...
Error:
kernel includes at /lib/modules/2.6.18-3-k7/build/include do not match current kernel.
they are versioned as ""
instead of "2.6.18-3-k7".
you might need to adjust your symlinks:
- /usr/include
- /usr/src/linux
[Error] Kernel Module : Failed to compile kernel module - please consult readme.
Ein paar Tage zuvor ist mir genau das Gleiche (gleiche Reihenfolge bei der Installation, gleiche Kernelversion) mit VectorLinux, einem Slackware-Abkömmling, passiert. Da dachte ich noch "Was'n das für'n sch...", über Debian möchte ich nicht so reden ;). Natürlich war mein erster Gedanke "Schon wieder Probs mit dem <zensiert> ATI-Treiber". Aber, bevor ich mal wieder ATI (bzw. AMD) anprangere, lieber noch ein Test. Mir war bekannt, daß vmware auch Module baut also: ./vmware-install.pl
Dabei kam folgender Fehler:

Code: Alles auswählen

What is the location of the directory of C header files that match your running 
kernel? [/usr/src/linux/include] /usr/src/linux-headers-2.6.18-3-k7/include 

The directory of kernel headers (version @@VMWARE@@ UTS_RELEASE) does not match 
your running kernel (version 2.6.18-3-k7).  Even if the module were to compile 
successfully, it would not load into the running kernel.
Also doch ein 'Versionsproblem' und nicht der ATI-Treiber.

Was ich versucht habe:
Das linux-source-2.6.18 Paket installiert
cp /boot/config-2.6.18-3-k7 /usr/src/linux-source-2.6.18/.config
make; make modules; make modules_install
mkinitrd ...
Die erzeugten Dateien nach /boot kopiert, /etc/lilo.conf editiert und lilo ausgeführt.

Aber ein erneuter Versuch endete mit der selben Fehlermeldung.

Nagut, dann hald was ganz neues: das selbe Spiel mit dem 2.6.20 von kernel.org
--> auch die selben Fehler
Hmm... ok.... mal sehen was passiert, wenn ich den 2.6.16 von kernel.org nehme:
funktioniert alles wunderbar hmm...

Meine Frage(n):
Ist dieses Prob gekannt? Falls ja, wie ist der workaraound?

oder
Wie/wo gebe ich beim Kernelbau die Version an, daß sie in den include richtig erkannt wird?


In irgendeinem Kernel-HowTo habe ich mal gelesen, daß man beim Kernelbau irgendwo angeben kann, wie die erzeugte Version heissen soll. Da dies allerdings auch 'automatisch' funzt, wenn man keine eigene Benennung wünscht, habe ich mir darüber keine Gedanken mehr gemacht - bisher hat das auch gut funktioniert. Leider finde ich dies Angabe nicht mehr :\

Ich bin für jeden Tipp dankbar

liebe Grüsse
debdog aka alex
Zuletzt geändert von debdog am 23.02.2007 03:24:36, insgesamt 2-mal geändert.

Benutzeravatar
debdog
Beiträge: 652
Registriert: 11.02.2007 10:53:12
Wohnort: Do,womrkoihochdeitschko

[gelöst] Krnl >= 2.6.18 --> Versionsprobleme includes

Beitrag von debdog » 23.02.2007 01:33:45

Code: Alles auswählen

cp /usr/src/linux-headers-'uname -r'/include/linux/utsrelease.h \
/usr/src/linux-headers-'uname -r'/include/linux/version.h
siehe auch http://debianforum.de/forum/viewtopic.php?t=80192


Edit: am 23.02.07 03:20
Hab mir das ganze noch ein bisschen angepasst:

Code: Alles auswählen

cd /usr/src/linux-headers-`uname -r`/include/linux
cat utsrelease.h >> version.h
cp version.h utsrelease.h
cat version.h
cat utsrelease.h
cd $OLDPWD

So sieht die version.h im 2.6.15 auch aus.

greez debdog

Benutzeravatar
klingone
Beiträge: 19
Registriert: 26.05.2007 12:19:19
Wohnort: Duisburg

Re: [gelöst] Krnl >= 2.6.18 --> Versionsprobleme includes

Beitrag von klingone » 30.05.2007 16:27:28

Hallo,

die Dateien utsrelease.h sowie version.h sind bei meinen linux-headers-2.6.21-1 nicht dabei....

debdog hat geschrieben:

Code: Alles auswählen

cp /usr/src/linux-headers-'uname -r'/include/linux/utsrelease.h \
/usr/src/linux-headers-'uname -r'/include/linux/version.h
siehe auch http://debianforum.de/forum/viewtopic.php?t=80192


Edit: am 23.02.07 03:20
Hab mir das ganze noch ein bisschen angepasst:

Code: Alles auswählen

cd /usr/src/linux-headers-`uname -r`/include/linux
cat utsrelease.h >> version.h
cp version.h utsrelease.h
cat version.h
cat utsrelease.h
cd $OLDPWD

So sieht die version.h im 2.6.15 auch aus.

greez debdog
und unter /usr/inlcude/linux/ die Datei version.h sagt:
#define UTS_RELEASE "2.6.18"
#define LINUX_VERSION_CODE 132626
#define KERNEL_VERSION(a,b,c) (((a) << 16) + ((b) << 8) + (c))

uname -r sagt:
client2:~# uname -r
2.6.21-1-686


Da stimmt doch auch was nicht, oder?


Gruß
Uli

Benutzeravatar
debdog
Beiträge: 652
Registriert: 11.02.2007 10:53:12
Wohnort: Do,womrkoihochdeitschko

Beitrag von debdog » 31.05.2007 01:48:35

Hi Uli,
Da stimmt doch auch was nicht, oder?
Ich habe leider keine headers des 2.6.20.x hier zum schauen wie es dort ist.

Seit dem 2.6.18 ist auch schon einige Zeit vergangen und viel Code den Schirm runter, kann schon sein, daß sich da einiges geändert hat.

Was willste denn installieren bzw. steht da für welche Kernelversion? Dann mal in dessen headers luagen wie es dort aussieht.

Griassla
Alex
Oben gemachte Angaben, Falls nicht anderweitig Erwähnt, beziehen sich auf Debian Stable (Squeeze) amd64.
"Die Einen glauben zu Wissen, die Anderen wissen zu Glauben."

Antworten