cross compiling?
cross compiling?
Ob man das, was ich vorhabe, so nennt, wie im Titel angegeben, weiß ich nicht.
Ich möchte einen individuellen Kern für i368 aus den Sourcen auf einem amd64-System bauen. Geht das? Wie geht das? Kernelbauen an sich kann ich - mit make menuconfig und make-kpkg.
Grüße, Günther
Ich möchte einen individuellen Kern für i368 aus den Sourcen auf einem amd64-System bauen. Geht das? Wie geht das? Kernelbauen an sich kann ich - mit make menuconfig und make-kpkg.
Grüße, Günther
- towo
- Beiträge: 4545
- Registriert: 27.02.2007 19:49:44
- Lizenz eigener Beiträge: GNU Free Documentation License
Re: cross compiling?
CCFLAGS=m32 CXXFLAGS=m32 linux32 make -j3 deb-pkg
Sollte funktionieren, so die benötigten 32bit Pakete im System installiert sind, sowie in deinem Makefile die CPU auch als 32bit Target angegeben ist.
Sauber ist das allerdings nicht wirklich.
Besser wäre es die Debian-Sourcen zu benutzen und per 32bit pbuilder zu bauen.
Sollte funktionieren, so die benötigten 32bit Pakete im System installiert sind, sowie in deinem Makefile die CPU auch als 32bit Target angegeben ist.
Sauber ist das allerdings nicht wirklich.
Besser wäre es die Debian-Sourcen zu benutzen und per 32bit pbuilder zu bauen.
Re: cross compiling?
Dane für die Hinweise!
Aber ich fürchte, das überfordert mich schon wieder.
Die Quellen hole ich mir immer von kernel.org. Da gibt es, soweit ich sehe, keinen Unterschied zwischen i386 und amd64. Blauäugig wie ich bin, hatte ich mir vorgestellt, es reichte, an ein paar Schrauben in menuconfig herumzudrehen. Werde ich vielleicht doch besser auf einer i386-Maschine kompilieren. Schade, denn die amd64 Maschine wäre erheblich schneller gewesen.
Aber ich fürchte, das überfordert mich schon wieder.
Die Quellen hole ich mir immer von kernel.org. Da gibt es, soweit ich sehe, keinen Unterschied zwischen i386 und amd64. Blauäugig wie ich bin, hatte ich mir vorgestellt, es reichte, an ein paar Schrauben in menuconfig herumzudrehen. Werde ich vielleicht doch besser auf einer i386-Maschine kompilieren. Schade, denn die amd64 Maschine wäre erheblich schneller gewesen.
Re: cross compiling?
Ich stelle mich bisher auch zu blöd zum Crosscompilieren an, bzw. bin zu faul, mir die nötigen Kenntnisse anzueignen.
In den seltenen Fällen wo ich es denn mal gebrauchen könnte, erstelle ich i686-Kompilate einfach in einer i686-VM. So kann ich meine schnelle amd64-CPU nutzen ohne mir Gedanken über Compilerflags zu machen. Und alles was es mich kostet ist ein wenig mehr Speicher für die VM (sowohl auf der HDD als auch im RAM).
Ein i686-chroot würde es wohl auch tun. Soweit ich weiß macht pbuilder im Grunde auch nichts anderes.
In den seltenen Fällen wo ich es denn mal gebrauchen könnte, erstelle ich i686-Kompilate einfach in einer i686-VM. So kann ich meine schnelle amd64-CPU nutzen ohne mir Gedanken über Compilerflags zu machen. Und alles was es mich kostet ist ein wenig mehr Speicher für die VM (sowohl auf der HDD als auch im RAM).
Ein i686-chroot würde es wohl auch tun. Soweit ich weiß macht pbuilder im Grunde auch nichts anderes.
Re: cross compiling?
"i686-VM" Gute Idee! Danke! Ich glaube, auf der in Frage kommenden Maschine läuft sogar noch eine VB. Lange nicht mehr benutzt, weil mir das Gerödel mit VB und eigenen Kerneln eigentlich auch zu lästig ist.
Grüße, Günther
Grüße, Günther
- novalix
- Beiträge: 1909
- Registriert: 05.10.2005 12:32:57
- Lizenz eigener Beiträge: MIT Lizenz
- Wohnort: elberfeld
Re: cross compiling?
Wenn Du make-kpkg verwendest sollten die Argumente zusätzlich zu Deiner übrigen Argumentkette reichen.
Optional wäre dann noch
Damit es zu keinen Verwechslungen kommt.
Code: Alles auswählen
--arch i386 --cross-compile
Optional wäre dann noch
Code: Alles auswählen
--arch-in-name
Das Wem, Wieviel, Wann, Wozu und Wie zu bestimmen ist aber nicht jedermannns Sache und ist nicht leicht.
Darum ist das Richtige selten, lobenswert und schön.
Darum ist das Richtige selten, lobenswert und schön.
Re: cross compiling?
@novalix
Danke sehr! so etwa hatte ich mir das erhofft. Ich werde es testen, wenn ich einen neueren Kern baue. Der, den ich jetzt baue, ist eh nur eine Übergangslösung und dafür reicht einmal Sourcen auspacken.
Danke sehr! so etwa hatte ich mir das erhofft. Ich werde es testen, wenn ich einen neueren Kern baue. Der, den ich jetzt baue, ist eh nur eine Übergangslösung und dafür reicht einmal Sourcen auspacken.
- novalix
- Beiträge: 1909
- Registriert: 05.10.2005 12:32:57
- Lizenz eigener Beiträge: MIT Lizenz
- Wohnort: elberfeld
Re: cross compiling?
Da fällt mir noch ein:
Zur Konfiguration braucht es ja auch noch die Information zur Architektur.
Dazu einfach die Umgebungsvariable KPKG_ARCH setzen.
Ist jetzt alles aus der Erinnerung heraus aufgeschrieben. Ich bin mir aber recht sicher, dass es so funktionieren wird.
Zur Konfiguration braucht es ja auch noch die Information zur Architektur.
Dazu einfach die Umgebungsvariable KPKG_ARCH setzen.
Code: Alles auswählen
KPKG_ARCH=i386 make menuconfig
Das Wem, Wieviel, Wann, Wozu und Wie zu bestimmen ist aber nicht jedermannns Sache und ist nicht leicht.
Darum ist das Richtige selten, lobenswert und schön.
Darum ist das Richtige selten, lobenswert und schön.