[gelöst] kernel_headers <-> kernel_source was ist was?

Welches Modul/Treiber für welche Hardware, Kernel compilieren...
Antworten
ML1982
Beiträge: 32
Registriert: 19.09.2007 22:09:11

[gelöst] kernel_headers <-> kernel_source was ist was??!

Beitrag von ML1982 » 09.12.2007 23:49:00

Ich schaffe es mittlerweile mit make-kpkg kernel zu kompilieren und zu installieren*freu*

Anschließend braucht man ja gelegentlich die Kernel-Sourcen/Headers um Hardwaretreiber zu kompilieren/installieren.

Bisher habe ich dann einfach immer die Sourcen, mit denen ich den Kernel erstellt habe, nach /usr/src/linux kopiert...

Das würde ich jetzt halt gerne über make-kpkg machen und mir ein Paket erstellen...

Mein erster Versuch mit "make-kpkg kernel_source" ist fehlgeschlagen: nach der Installation des Paketes gab es unter /usr/src nur ein tar.bz2 file... Bin natürlich auf die Idee gekommen das zu entpacken, aber da fehlt dann die /include/linux/version.h die mein HW-Treiber braucht...

Dann ist mir jetzt aufgefallen das es Sourcen und Header gibt...
Was ist da jetzt eigentlich der Unterschied? (Was ein *.cpp und ein *.h file ist, weiß ich aber hier ist was anderes gemeint, oder?)

Was ich beim Suchen herausgefunden habe, ist dass "kernel_headers" irgendwann in "linux-headers" umbenannt wurde.


Bei mir sieht /usr/src folgendermaßen aus, was ist dann bitte noch kbuild?

lrwxrwxrwx 1 root src 35 2007-12-07 23:32 linux -> /usr/src/linux-headers-2.6.22-3-686
drwxr-xr-x 17 root root 4.0K 2007-09-26 15:56 linux-headers-2.6.21-2
drwxr-xr-x 4 root root 4.0K 2007-09-26 15:56 linux-headers-2.6.21-2-686
drwxr-xr-x 17 root root 4.0K 2007-10-06 02:33 linux-headers-2.6.22-2
drwxr-xr-x 4 root root 4.0K 2007-10-06 02:33 linux-headers-2.6.22-2-686
drwxr-xr-x 17 root root 4.0K 2007-12-07 23:29 linux-headers-2.6.22-3
drwxr-xr-x 4 root root 4.0K 2007-12-07 23:29 linux-headers-2.6.22-3-686
drwxr-xr-x 3 root root 4.0K 2007-09-26 15:56 linux-kbuild-2.6.21
drwxr-xr-x 3 root root 4.0K 2007-10-06 02:33 linux-kbuild-2.6.22

Naja, ich denke mal das man versucht mit diesen Strukturen gleiche Teile zusammenzufassen, und Architekturspezifische z.B. für 686 auszugliedern... Aber sourcen, kbuild und header... das ist zu viel, das verstehe ich grad nimmer:-(
Zuletzt geändert von ML1982 am 12.12.2007 18:55:12, insgesamt 1-mal geändert.

Clio

Beitrag von Clio » 10.12.2007 18:16:49

Wenn Du make-kpkg schon benutzt hast, sind doch bereits die Kernelsourcen unter /usr/src entpackt.
Also nochmal ganz von vorn:
1. Das Paket linux-source-2.6.23 mit apt-get oder aptitude aus den Repositories installieren. Dieses Paket beinhaltet schon die Debian-Patches und wird automatisch nach /usr/src gestellt.
2. An der Stelle entpacken.
3. In das Verzeichnis linux......wechseln, den Rest kennst Du schon.
4. Kernel kompilieren
5. Das mit make-kpkg erstellte Paket installieren

Danach steht das Linux-Image für evtl. notwendige Treiberinstallationen zur Verfügung. Die Kernelheaders sind dann nicht mehr notwendig.
Wenn Du möchtest, kannst Du natürlich auch mit make-kpkg --kernel-headers
ein separates Paket erstellen, aber wie gesagt, notwendig ist es nicht.

ML1982
Beiträge: 32
Registriert: 19.09.2007 22:09:11

Beitrag von ML1982 » 11.12.2007 23:04:30

ich möchte ein headerpaket erstellen, weil ich den Kernel auf einem anderen PC installieren möchte.

Habe ich das jetzt richtig verstanden:

Kernel-Header -> brauche ich zum compilieren neuer Module
Kernel-Source -> beinhaltet die Header und brauche ich zum compilieren eines neuen Kernels

Ich führe dann also einmal "male-kpgk kernel_image" und einmal "make-kpkg kernel_header" installiere beides auf meinem zweiten PC und kann dort dann problemlos neue Module compilieren.

Benutzeravatar
Kalimac
Beiträge: 293
Registriert: 25.05.2004 13:19:48
Lizenz eigener Beiträge: MIT Lizenz
Wohnort: Wetterau
Kontaktdaten:

Beitrag von Kalimac » 12.12.2007 00:26:29

ML1982 hat geschrieben:Ich führe dann also einmal "male-kpgk kernel_image" und einmal "make-kpkg kernel_header".
Oder einmal

Code: Alles auswählen

make-kpkg kernel_image kernel_header
.
:wink:
Die technische Evolution ist die Wirkung eines geistigen Fortschritts gewesen und könnte nun zu seiner Ursache werden.
- Jacques Neirynck -

Benutzeravatar
cirrussc
Beiträge: 6582
Registriert: 26.04.2007 19:47:06
Lizenz eigener Beiträge: MIT Lizenz

Beitrag von cirrussc » 12.12.2007 19:45:18

Hi ML1982

hier noch der Link zum entsprechenden Wikieintrag des df:
http://wiki.debianforum.de/DebianizedLinuxKernel

Damit du gleich einen Leitfaden hast.

Gruß cirrussc

Antworten