Sie sind nicht angemeldet.

Lieber Besucher, herzlich willkommen bei: GentooForum.de. Falls dies Ihr erster Besuch auf dieser Seite ist, lesen Sie sich bitte die Hilfe durch. Dort wird Ihnen die Bedienung dieser Seite näher erläutert. Darüber hinaus sollten Sie sich registrieren, um alle Funktionen dieser Seite nutzen zu können. Benutzen Sie das Registrierungsformular, um sich zu registrieren oder informieren Sie sich ausführlich über den Registrierungsvorgang. Falls Sie sich bereits zu einem früheren Zeitpunkt registriert haben, können Sie sich hier anmelden.

1

22.10.2004, 21:20

Crosscompiling

Hi allerseits,

dumme Newbie-Frage:
Bin zwar schon länger mit Linux unterwegs, habe jetzt aber zum ersten Mal Cross-compilung ins Auge gefaßt. Folgendes Szenario:
1. PC K6-2 mit Kernel 2.6.x
2. PC Barton mit Kernel 2.4.x
ich möchte den Kernel für den 1. PC auf dem 2. compilieren lassen. Reicht es aus, wenn ich einfach das Verzeichnis auf den 2.PC kopiere, nach /usr/src/pc1-kernel, ins Verzeichnis wechsle und ganz normal compilieren und anschließend das bzImage rüberkopieren oder zerschieße ich mir damit /lib/modules? Manchmal sind die Kernelversionen auch gleich, möchte nur lieber auf dem "großen" PC aus Performancegründen beim compilieren nicht verzichten.
Oder bin ich auch der sicheren seite, wenn ich cygwin benutze, und die entsp. benötigten Compilertools neu übersetzt?

Grüße, Oli

2

23.10.2004, 13:58

die lib/modules würdest du dir nur mit einem make modules_install zerschießen bei gleich kernel version

da ein make dies aber nicht automatisch ausführt,
solltest du den kernel eigentlich ohne probleme bauen lassen können.
Thomas
http://www.bloodbrain.de

3

26.10.2004, 12:03

Das was Du machen willst ist nur bedingt cross-compilation. Da sich die Architektur zwischen host und target (beides i386) nicht ändert, sind keine cross-toolchain (binutils, make, etc.) und auch kein Cross-Compiler notwendig. Du willst einen Kernel auf einer i386 host-Maschine bauen, der dann auf einer anderen i386 host-Maschine verwendet wird. Dann brauchst du dazu nur das passende .config-file und du kann ganz normal mit [code:1]make dep clean bzImage modules [/code:1] oder auch mit [code:1]genkernel --no-menuconfig --clean --no-install all[/code:1] arbeiten.
Für wirkliche cross-compilation, z.B. kernel für PowerPC auf Sun-Solaris- oder i386-Host bauen, muß die komplette toolchain (s.o.) für cross-compilation vorliegen. Dann noch die entsprechende .config für den Kernel und mit einem beherzten
[code:1]make ARCH=ppc CROSS_COMPILE=powerpc-linux-gnu- zImage.initrd vmlinux[/code:1] oder anderen make-targets geht's los. Die Einstellung für CROSS_COMPILE hängt dabei natürlich von dem beim Bau der toolchain verwendeten pre-name ab.

Ciao