Hilfe mit Kernel und Header

Hi,

ich hab gerade meine SSD in Betrieb genommen und mir dafür einen 2.6.33.1 Kernel mit make-kpkg gebaut. Zuerst natürlich eine aktuelle Version von kerne-package gezogen da es mit der alten irgendwelche Probleme mit der UTS version oder so gab. Hat auch gut geklappt. Dann
das kernel image und die header mit dpkg installiert.

Mein /usr/src sieht jetzt so aus:

Code:
mathias@x61t:/usr/src$ ls -l
total 44
lrwxrwxrwx  1 root src     22 2010-04-01 12:44 linux -> linux-headers-2.6.33.1
drwxr-xr-x 23 root root  4096 2010-04-01 13:00 linux-headers-2.6.33.1
-rw-r--r--  1 root root 37879 2009-06-23 19:17 tp-smapi.tar.bz2
mathias@x61t:/usr/src$

Jetzt muss ich das tp-smapi Modul bauen mit dem Befehl

Code:
mathias@x61t:/usr/src$ sudo m-a -t a-i tp-smapi
.
Updated infos about 1 packages
Getting source for kernel version: 2.6.33.1
apt-get install linux-headers-2.6.33.1 
Reading package lists... Done
Building dependency tree       
Reading state information... Done
linux-headers-2.6.33.1 is already the newest version.
The following packages were automatically installed and are no longer required:
  wamerican wireless-crda
Use 'apt-get autoremove' to remove them.
0 upgraded, 0 newly installed, 0 to remove and 148 not upgraded.
apt-get install build-essential 
Reading package lists... Done
Building dependency tree       
Reading state information... Done
build-essential is already the newest version.
The following packages were automatically installed and are no longer required:
  wamerican wireless-crda
Use 'apt-get autoremove' to remove them.
0 upgraded, 0 newly installed, 0 to remove and 148 not upgraded.

Done!


Bad luck, the kernel headers for the target kernel version could not be found and you did not specify other valid kernel headers to use.
      

However, you can install the header files for your kernel which are provided by the linux-headers-2.6.33.1 package. For most modules packages, these files are perfectly 
sufficient without having the original kernel source.

To install the package, run:

module-assistant prepare

or

apt-get install linux-headers-2.6.33.1

mathias@x61t:/usr/src$

Aber wie ihr seht klappts nicht ^^ Wie kann ich das fixen? Sind die Header nicht richtig installiert? Oder sucht der module-assistant nur an der falschen Stelle?

cu
serow

EDIT: Ein Bekannter hat gerade ebenfalls die Kernel Header installiert und bekommt das hier: Ich glaube das habe ich auch gesehn:

Code:
mac@mac-core:/usr/src$ sudo dpkg -i linux-headers-2.6.33.1_2.6.33.1-10.00.Custom_amd64.deb 
[sudo] password for mac: 
Wähle vormals abgewähltes Paket linux-headers-2.6.33.1.
(Lese Datenbank ... 160705 Dateien und Verzeichnisse sind derzeit installiert.)
Entpacke linux-headers-2.6.33.1 (aus linux-headers-2.6.33.1_2.6.33.1-10.00.Custom_amd64.deb) ...
Richte linux-headers-2.6.33.1 ein (2.6.33.1-10.00.Custom) ...
Examining /etc/kernel/header_postinst.d.
run-parts: executing /etc/kernel/header_postinst.d/dkms
 * Running DKMS auto installation service for kernel 2.6.33.1                   
 *  nvidia (195.36.15)...                                                       nvidia (195.36.15): Installing module.
  Kernel headers for 2.6.33.1 are not installed.  Cannot install this module.
  Try installing linux-headers-2.6.33.1 or equivalent.
                                                                         [fail]
run-parts: executing /etc/kernel/header_postinst.d/nvidia-common
 
Zuletzt bearbeitet:
Dumme Frage: ist der neue Kernel der, der atm. am laufen ist? IIRC gibts manche hirntote Modulsetups, die sich nur $(uname -r) anschauen und meckern, wenn die exakte Kernelversion, die da eben angezeigt wird, nicht in /usr/src zu finden ist.
 
Hi,

also außer uname fällt mir nix ein wir man das testen könnte und uname sagt es ist der 2.6.33.1:

Code:
mathias@x61t:~$ uname -a
Linux x61t 2.6.33.1 #2 SMP Wed Mar 31 19:58:14 CEST 2010 i686 GNU/Linux
mathias@x61t:~$

cu
serow
 
Hmm, was ich mir dann noch vorstellen koennte waere, dass das Modulsetup nachguckt, ob die Kernelsource mit
Code:
make menuconfig
konfiguriert wurde. Das duerfte bei Kernelheadern allerdings tricky werden :). Auf jeden Fall sollte das ganze aber funktionieren, wenn du dir von kernel.org eine Vanilla-Kopie deiner Kernelversion holst und die mit
Code:
make menuconfig
bearbeitest.
 
Hi,

ich hab den Vanilla Kernel mit make oldconfig bearbeitet und danach gebaut. Meinst du ich soll trotzdem nochmal mit make menuconfig probieren?

cu
serow
 
Naja, dein erstes Listing zeigt recht deutlich, dass du atm in /usr/src nur die Kernel-Header drin hast. Da hat dann die Konfiguration mit make *config nichts mehr mit zu tun (btw reicht make oldconfig vollkommen aus). Am einfachsten scheint es mir im Moment, das ganze "zu Fuss" zu machen, also fertig konfigurierte (komplette) Kernelsourcen in /usr/src/linux haben und das Paket von Hand (also ohne Debian Tools) bauen. Allerdings kenne ich mich mit Debian nicht so derbe aus, evtl. weisz ja einer von den Debianern etwas mehr (xeno? :P).
 
Hi,

ich habe jetzt nochmal nen Kernel gebaut allerdings 2.6.34-rc3 diesesmal. Ich habe DEBs für das kernel image, die header und den source. Alles hat ohne Fehlermeldungen installiert. Nur der module-assistant will immernoch nicht. Um tp-smapi selbst zu kompilieren musste ich einiges Symlinks fixen und bin schließlich bei dem hier gelandet:

Code:
root@x61t:~/tp_smapi-0.40# make
make -C /lib/modules/2.6.34-rc3/build M=/root/tp_smapi-0.40 O=/lib/modules/2.6.34-rc3/build modules
make[1]: Entering directory `/usr/src/linux-source-2.6.34-rc3'

  WARNING: Symbol version dump /usr/src/linux-source-2.6.34-rc3/Module.symvers
           is missing; modules will have no dependencies and modversions.

  CC [M]  /root/tp_smapi-0.40/thinkpad_ec.o
/root/tp_smapi-0.40/thinkpad_ec.c: In function ‘check_dmi_for_ec’:
/root/tp_smapi-0.40/thinkpad_ec.c:464: warning: the frame size of 1328 bytes is larger than 1024 bytes
/bin/sh: scripts/genksyms/genksyms: not found
make[3]: *** [/root/tp_smapi-0.40/thinkpad_ec.o] Error 127
make[2]: *** [_module_/root/tp_smapi-0.40] Error 2
make[1]: *** [sub-make] Error 2
make[1]: Leaving directory `/usr/src/linux-source-2.6.34-rc3'
make: *** [modules] Error 2
root@x61t:~/tp_smapi-0.40#

Hab ich hab hier noch ne Chance? Die Meldungen sagen mir nichts mehr.

cu
serow
 
Hi,

ich denk das hat er automatisch gemacht. Sicherheitshalber hab ichs grad nochmal getan. Dennoch ändert sich an dem Verhalten von make und dem module-assistant nix.

Von welcher frame size ist da überhaupt die Rede? Frames kenne ich nur im Sinne von Ethernet ...

cu
serow
 
Code:
/bin/sh: scripts/genksyms/genksyms: not found

Das Problem scheint ja diese Meldung zu sein. Dieses Skript ist normalerweise Teil der Kernel-Quellen. Irgendwas stimmt scheinbar also mit deinen Sources nicht, die du da verwendest oder das Skript wurde in dieser Kernel-Version entfernt (müsste man mal in die Release-Notes der Kernel-Versionen schauen, die davor waren), so dass die Treiber, die du da installieren willst, erstmal dafür angepasst werden müssen.

Ich würde empfehlen ein Kernel Module Build Environment mit den kompletten vorkompilierten Sources aufzubauen um Probleme zu vermeiden: http://hackerwiki.org/index.php/Kernel_Module_Build_Environment_unter_Debian_einrichten
Damit wird dann wenigstens sichergestellt, dass die Kernel-Sources inkl. aller notwendigen autogenerierten Skripte und Konfigurationen für die aktuell installierte Kernel-Version vorliegt und in /usr/src/linux zu finden ist, wo jeder Treiber-Build erstmal danach sucht.
 
Zurück
Oben