Passende Kernel Header

Welches Modul/Treiber für welche Hardware, Kernel compilieren...
Antworten
Thorvda
Beiträge: 2
Registriert: 27.09.2014 12:36:46

Passende Kernel Header

Beitrag von Thorvda » 27.09.2014 13:30:09

Hallo zusammen,

ich habe eine allgemeine Frage zu Linux Kernels, bzw. den dazugehörigen Headern.

Auf meinem Server ist folgendes installiert (uname -a):

Code: Alles auswählen

Linux s17925439 3.10.40-20140514a #2 SMP Wed May 14 08:01:27 UTC 2014 x86_64 GNU/Linux
Allerdings sind folgende Header installiert (dpkg --list | grep headers):

Code: Alles auswählen

ii  linux-headers-3.2.0-4-amd64        3.2.60-1+deb7u3               amd64        Header files for Linux 3.2.0-4-amd64
ii  linux-headers-3.2.0-4-common       3.2.60-1+deb7u3               amd64        Common header files for Linux 3.2.0-4
ii  linux-libc-dev:amd64               3.2.60-1+deb7u3               amd64        Linux support headers for userspace development
Der Server befindet sich quasi noch im Auslieferungszustand. Was hat es damit auf sich dass die Versionen nicht zusammen passen?
Und woher kann ich die passenden Header bekommen?

Viele Grüße!
Stefan

Benutzeravatar
smutbert
Beiträge: 8343
Registriert: 24.07.2011 13:27:39
Wohnort: Graz

Re: Passende Kernel Header

Beitrag von smutbert » 27.09.2014 13:58:17

Wenn ich raten muss, würde ich sagen, da hat jemand wheezy mit dem Standardkernel (3.2) installiert, aber nach der Installation einen (am 14. Mai 2014) selbst gebauten Kernel installiert. 3.10 war nämlich glaube ich nie in einem offiziellen Wheezy Repository zu haben. So ganz nebenbei heißt das, dass es für den installierten Kernel wohl noch nie ein (Sicherheits-)Update gegeben hat.

Womöglich wurde der Kernel nicht einmal in Form eines Debianpakets installiert. Das läßt sich aber leicht herausfinden. Such dir irgendeine Datei oder ein Verzeichnis, die/das zu dem Kernel gehört, es sollte zB vermutlich
- /lib/modules/3.10.40-20140514a
- /boot/vmlinuz-3.10.40-20140514a
geben und lass dpkg -S darauf los, um zu sehen, ob die Datei zu einem Paket gehört

Code: Alles auswählen

dpkg -S /lib/modules/3.10.40-20140514a
Die passenden Header zu besorgen ist uU schwierig, wenn du die Kernelquellen nicht auf dem System hast und nicht weißt welche Patches vielleicht eingespielt wurden. (Wenn die zugehörigen Kernelquellen auf dem System sind, bräuchtest du die Header nicht einmal).
Sonst müsstest du die Quellen dieser Kernelversion besorgen, im Optimalfall dieselben Patches einspielen und die Kernelkonfiguration brauchst du auch noch. Die könnte in /boot/ liegen (config-3.10.40-20140514a) oder in seltenen Fällen (hängt von der Kernelkonfiguration ab) auch über das /proc/-Dateisystemd zugänglich sein (dann heißt sie /proc/config.gz).

Einfacher dürfte es sein einfach einen Kernel samt Headern aus dem Debianrepository zu installieren, zB den aus den Backports:
http://wiki.debianforum.de/Backports#Be ... _Backports
(da würde ich dann einfach linux-image-amd64 und linux-headers-amd64 aus den Backports installieren)

Thorvda
Beiträge: 2
Registriert: 27.09.2014 12:36:46

Re: Passende Kernel Header

Beitrag von Thorvda » 27.09.2014 14:45:22

Vielen Dank!

Die Backports hatte ich mir bereits angeschaut. Die passenden Header konnte ich dann ja dort nicht finden.
Ich habe deinen Rat befolgt und nun läuft alles mit

Code: Alles auswählen

Linux s17925439 3.14-0.bpo.2-amd64 #1 SMP Debian 3.14.15-2~bpo70+1 (2014-08-21) x86_64 GNU/Linux
Ich konnte auch mein Kernel-Modul (wofür ich die Header brauchte) ohne Probleme installieren.
Es kam allerdings mehrmals folgende Meldung:

Code: Alles auswählen

W: mdadm: the array /dev/md1 with UUID 7314c70c:e3f08834:1f51fb89:78ee93fe
W: mdadm: is currently active, but it is not listed in mdadm.conf. if
W: mdadm: it is needed for boot, then YOUR SYSTEM IS NOW UNBOOTABLE!
W: mdadm: please inspect the output of /usr/share/mdadm/mkconf, compare
W: mdadm: it to /etc/mdadm/mdadm.conf, and make the necessary changes.
W: mdadm: the array /dev/md3 with UUID a903339a:8b05ec09:1f51fb89:78ee93fe
W: mdadm: is currently active, but it is not listed in mdadm.conf. if
W: mdadm: it is needed for boot, then YOUR SYSTEM IS NOW UNBOOTABLE!
W: mdadm: please inspect the output of /usr/share/mdadm/mkconf, compare
W: mdadm: it to /etc/mdadm/mdadm.conf, and make the necessary changes.
Da ich auf dem Server noch nichts anderes installiert hatte (und es eine schöne automatische Formatierfunktion bei meinem Hoster gibt) habe ich trotzdem ein init 6 gewagt. Es hat ohne Probleme funktioniert.

Viele Grüße und vielen Dank noch einmal!
Stefan

Antworten