Kernel auf ner andern Kiste bauen -> Header

Welches Modul/Treiber für welche Hardware, Kernel compilieren...
Antworten
ari
Beiträge: 31
Registriert: 15.12.2007 20:44:38

Kernel auf ner andern Kiste bauen -> Header

Beitrag von ari » 18.04.2010 14:52:52

Moin,

ein etwas spezielleres Problem glaube ich. Habe ein Thinkpad X40, dem ich aufgrund lahmer, voller Festplatte und lahmen Prozessor keinen Kernel-Build zumuten möchte, hab also auf nem anderen Rechner gebaut

ist 2.6.33 mit debian patches aus experimental. Config passt inzwischen. hab ein deb gebaut mit

# make deb-pkg

Jetzt möchte ich allerdings, ohne auf dem anderen Rechner den 2.6.33 zu installieren, linux-phc bauen (Prozessor untervolten, der verbraucht mit angegebenen 7,3W als e-book enfach noch zu viel :D).
Dazu brauch man natürlich noch die Headers. wie krieg ich die gebaut? die make targets, die passenden, installieren die alle nur lokal.

Falls hier schon ein passender Thread existiert, sorry, nicht gut genug gesucht.

LG ari

Danielx
Beiträge: 6419
Registriert: 14.08.2003 17:52:23

Re: Kernel auf ner andern Kiste bauen -> Header

Beitrag von Danielx » 18.04.2010 18:40:26

Ich verwende make-kpkg:

Code: Alles auswählen

time CONCURRENCY_LEVEL=5 fakeroot make-kpkg --append-to-version "-blabla" --revision "1.0" --us --uc --initrd linux_image linux_headers linux_source
Gebaut werden folglich die linux-image, linux-headers und linux-source Pakete.
time, damit man weiß, wie lange das Bauen gedauert hat. :)
CONCURRENCY_LEVEL, damit mehrere Threads verwendet werden, damit geht das Bauen dann schneller, empfohlen ist glaube ich #Kerne+1
fakeroot, damit man nicht als root arbeiten muss.

make-kpkg ist im Paket Debiankernel-package zu finden.

Die Paketnamen setzen sich dann so zusammen, hier z.B. für das Kernel-Paket:

Code: Alles auswählen

linux-image-<kernel-version><append-to-version>_<revision>_<architecture>.deb
Der Kernel selbst heißt dann (also das was z.B. "uname -r" ausgibt oder im Grub-Menü steht):

Code: Alles auswählen

<kernel-version><append-to-version>
Siehe auch:

Code: Alles auswählen

man make-kpkg
Tag: wiki

Gruß,
Daniel

Benutzeravatar
GRed
Beiträge: 363
Registriert: 10.09.2009 14:28:37

Re: Kernel auf ner andern Kiste bauen -> Header

Beitrag von GRed » 20.04.2010 01:02:23

ari hat geschrieben:Moin,

ein etwas spezielleres Problem glaube ich. Habe ein Thinkpad X40, dem ich aufgrund lahmer, voller Festplatte und lahmen Prozessor keinen Kernel-Build zumuten möchte, hab also auf nem anderen Rechner gebaut

ist 2.6.33 mit debian patches aus experimental. Config passt inzwischen. hab ein deb gebaut mit

# make deb-pkg

Jetzt möchte ich allerdings, ohne auf dem anderen Rechner den 2.6.33 zu installieren, linux-phc bauen (Prozessor untervolten, der verbraucht mit angegebenen 7,3W als e-book enfach noch zu viel :D).
Dazu brauch man natürlich noch die Headers. wie krieg ich die gebaut? die make targets, die passenden, installieren die alle nur lokal.

Falls hier schon ein passender Thread existiert, sorry, nicht gut genug gesucht.

LG ari
Mit dem Befehl kriegst du das Image und die headers gebacken

CONCURENCY_LEVEL=5 make-kpkg --initrd --append-to-version=-custom kernel_image kernel_headers

falls du keine initrd brauchst, kannst du so machen

CONCURENCY_LEVEL=5 make-kpkg --append-to-version=-custom kernel_image kernel_headers


CONCURENCY_LEVEL kannst du wie oben gesagt anpassen, wobei ich gelesen habe, dass es bei einem Core2Duo der wert 3 sein soll, und bei einem Core2Quad ne 5
Den Wert custom, kannst du beliebig setzen
PC
Debian Squeeze
Maiboard: Asus P5E Deluxe
CPU: Core2Quad Q6600
GPU: gForce 6600 GT

ari
Beiträge: 31
Registriert: 15.12.2007 20:44:38

Re: Kernel auf ner andern Kiste bauen -> Header

Beitrag von ari » 20.04.2010 16:58:15

Irgendwie hat es mit dem fakeroot ein problem gegeben, dateien konnten nicht chmodded werden, obwohl sie owner vom Bau-User hatten, ich hab das jetzt doch als root gebaut. Ansonsten lüppts aber prima, danke für die hilfe :)

Antworten