Linux 15.070 Themen, 107.540 Beiträge

kernel headers

Peter284 / 11 Antworten / Baumansicht Nickles

Hi!
Ich habe ein Debian Etch 4.0, installiert von DVD, läuft rund.
Möchte virtualbox installieren und es werden fehlende kernel headers moniert.
Und da hackt ´s bei mir: Wie werden kernelheaders installiert? Kann ja nicht so schwer sein, aber ....

Verweis auf ein Howto oder ein wiki wäre ideal.

vielen dank! Peter

bei Antwort benachrichtigen
KarstenW Peter284 „kernel headers“
Optionen

Headerdateien sind ein Teile vom Programmcode eines C oder C++ Programmes. In diesem Fall ist es ein Teil des Programcodes vom Linux Betriebsystemkern.
Im Programmcode sind Präprozessoranweisungen wie "include stdio.h" und dadurch wird vom Präprozessor diese Headerdatei in den Programmtext hineinkopiert .
Deshalb muß man auch diese Headerdateien installieren.
Du gibst in der Konsole den Befehl "uname -r" ein:

uname -r

2.6.18

Danach wird die Version des laufenden Linuxkernels angezeigt. Ich habe hier auch etch und da wird ein 2.6.18er Kernel installiert.
Dann startest du aptitude oder synaptic und sucht nach kernel-headers. Du kannst aber auch apt nutzen:

apt-cache search kernel-headers

linux-kernel-headers - Linux Kernel Headers for development

und dann mit:

"apt-get install linux-kernel-headers" diese Headerdateien

installieren.

Wenn du später mal einen eigenen Betriebsystemkern übersetzt, dann sind beim Programmcodes des Betriebsystemkerns (linux-source-2.6.18 - Linux kernel source for version 2.6.18 with Debian patches) schon die passenden Headerdateien dabei und brauchen nicht noch extra installiert zu werden.
Die Headerdateien werden automatisch unter /usr/src/ installiert.

Ich würde VMware Workstation bevorzugen.



Debian GNU/Linux https://www.debian.org/index.de.html
bei Antwort benachrichtigen
Peter284 KarstenW „Headerdateien sind ein Teile vom Programmcode eines C oder C Programmes. In...“
Optionen

Hi Karsten!


Vielen Dank für Deine schnelle Antwort! Ich werde es sogleich probieren.
Nochmals ganz vielen Dank! Peter

bei Antwort benachrichtigen
KarstenW Peter284 „Hi Karsten! Vielen Dank für Deine schnelle Antwort! Ich werde es sogleich...“
Optionen

Ich habe gerade bei synaptic noch mal nach linux-headers gesucht. Da gibt es mehrere Versionen von den 2.6.18er Headerdateien:
Wie lautet denn die genaue Bezeichnung des verwendeten Kernels vmlinuz????.

Ich brauche die Headerdateien nicht zu installieren, da ich immer einen eigenen Betriebsystemkern übersetze und den kompletten linux-source-2.6.18 installieren. Da sind dann immer die passenden Headerdateien als Teil des Programmcodes dabei.

Immer wenn du einen Treiber oder ein Programm installieren willst, das irgendwelche Funktionen des Betriebsystemkerns verwendet müssen diese Headerdateien installiert sein.
Außer wenn du einen eigenen Betriebsystemnkern übersetzen willst und den kompletten Programmcode des Linuxkernels installiert hast.










Debian GNU/Linux https://www.debian.org/index.de.html
bei Antwort benachrichtigen
Peter284 KarstenW „Ich habe gerade bei synaptic noch mal nach linux-headers gesucht. Da gibt es...“
Optionen

Hi Carsten,

bei uname -r erscheint: 2.6.18-4-k7 und so steht es auch im GRUB.


Im Verzeichnis /usr/src sind keine headers enthalten; öffnet man die README der headers (gefunden mit locate), dann steht da sinngemäß, daß sie nur Platzhalter sind.

Woran könnte das liegen? vielen Dank für deine Mühe Peter

bei Antwort benachrichtigen
KarstenW Peter284 „Hi Carsten, bei uname -r erscheint: 2.6.18-4-k7 und so steht es auch im GRUB. Im...“
Optionen

Es gibt bei Linux zwei verschiedene Headerdateien. Einmal dieses Paket:

linux-kernel-headers 2.6.18-7

Linux Kernel Headers for development
This package provides headers from the Linux kernel. These headers
are used by the installed headers for GNU glibc and other system libraries.


Und dann gibt es verschiedene linux-headers-2.6???

Diese Headerdateien werden unter /usr/src automatisch installiert.
Du verwendest eine Linux Kernel 2.6.18 der für einen K7 Athlon vom Compiler gcc schon optimiert wurde (zwecks Performancesteigerung)

Linuxkernelversion

2.6.18-4-k7

Deshalb würde ich dieses Paket installieren:

linux-headers-2.6.18-4-k7

Header files for Linux 2.6.18 on AMD K7
This package provides the architecture-specific kernel header files for
Linux kernel 2.6.18 on 32bit AMD Duron/Athlon/AthlonXP machines, generally
used for building out-of-tree kernel modules. These files are going to be
installed into /usr/src/linux-headers-2.6.18-4-k7, and can be used for
building modules that load into the kernel provided by the
linux-image-2.6.18-4-k7 package.

Die entsprechenden Headerdateien werden unter /usr/src automatisch installiert.

Entschuldige , ich habe da wohl was verwechselt .

Nimm am besten synaptic und such mal nach linux-headers.
Da wird dann auch diese Paket linux-headers-2.6.18-4-k7 mit angezeigt.

Wie schon gesagt solche Probleme habe ich nicht, weil ich immer einen eigenen Betriebsystemkern übersetze und bei linux-source-2.6.18 die passenden Headerdateien dabei sind.

PS: Ich glaube ich habe mal gelesen warum es zwei verschiedene Kernelheaders bei Linux momentan gibt. Die einen sind für Programme gedacht die im userspace laufen und die anderen für Programme (Treiber) die im Kernelspace laufen.
Das hatte ich ganz vergessen.
Der Kernelspace ist praktisch der betriebsystemkern und der userspace ist der Speicherbereich wo die normalen Anwendungesprogramme laufen. Man will das irgendwann mal ändern und die zwei Headerdateien zusammenführen.









Debian GNU/Linux https://www.debian.org/index.de.html
bei Antwort benachrichtigen
Peter284 KarstenW „Es gibt bei Linux zwei verschiedene Headerdateien. Einmal dieses Paket:...“
Optionen

Vielen Dank - ich probiere es mal!

Aber auch in synaptic werden die headers als installiert ausgewiesen. Vermutlich sind meine Probleme, alldieweil Etch out-of-the-box installiert, doch ungewönlich.

Du würdes wmware bevorzugen? Das teste ich auch mal, falls ich virtualbox nicht bald zum Laufen bekomme.

Viele Grüße! Peter

bei Antwort benachrichtigen
KarstenW Peter284 „Vielen Dank - ich probiere es mal! Aber auch in synaptic werden die headers als...“
Optionen

Hast du denn den Compiler gcc , make und das Paket binutils installiert?
Weißt du ungefährt was ein Compiler wie der gcc macht ?

Bei VMware Workstation müssen diverse Treiber übersetzt werden und da Treiber Kernelmodule sind die zur Laufzeit in den Betriebsystmekern geladen werden, muß eine Kernelschnittstelle übersetzt werden .
Diese Kernelschnitstelle ändert sich so bald man ein Update des Linuxkernel durchführt. Dann müssen wieder die Treiber neu kompiliert werden.


Debian GNU/Linux https://www.debian.org/index.de.html
bei Antwort benachrichtigen
Peter284 KarstenW „Hast du denn den Compiler gcc , make und das Paket binutils installiert? Weißt...“
Optionen

Hi Karsten - ich sehe schon, das ist was Größeres.

Nachdem ich eher ein Newbie bin, werde ich erst mal die Finger von wmware lassen und noch etwa Grundlagenarbeit machen. Also mich einlesen. Dann sehen wir weiter.

Vielleicht gibt es mal ein .deb direkt von debian für virtualbox, daß relativ problemlos aufgespielt werden kann. Ooo 2.3 fand ich im Netz fix und fertig zum installieren - genial. Bis dahin wird halt verschieden gebootet werden müssen je nach Bedarf (XP oder Debian).

Ich bedanke mich ganz herzlich für Deine Hilfe; es scheitert einfach noch an meinem mangelndem Wissen.

Viele liebe Grüße! Peter

bei Antwort benachrichtigen
KarstenW Peter284 „Hi Karsten - ich sehe schon, das ist was Größeres. Nachdem ich eher ein Newbie...“
Optionen

Wenn dir Debian als Distribution gefällt, dann mußt du dir eben mal ein paar Handbücher besorgen:

http://debiananwenderhandbuch.de/

und besonders hat mr das Buch von Martin F. Kraft gefallen:

https://www.opensourcepress.de/index.php?26&backPID=15&tt_products=52

Hier gibt es ein paar Open Books zum Online Lesen:

http://www.galileocomputing.de/katalog/openbook?GalileoSession=42512447A3.3f6c-y88

Debian GNU/Linux https://www.debian.org/index.de.html
bei Antwort benachrichtigen
Peter284 KarstenW „Wenn dir Debian als Distribution gefällt, dann mußt du dir eben mal ein paar...“
Optionen

Hi Karsten!

vielen Dank für die Buchverweise! Ich werde mich einlesen.

viele Grüße Peter

bei Antwort benachrichtigen
the_mic Peter284 „kernel headers“
Optionen

Die sorgenfreie Variante:
aptitude install build-essential

cat /dev/brain > /dev/null
bei Antwort benachrichtigen