Superuser

Autor Thema: NetBSD Crosscompiling  (Gelesen 8392 mal)

olt

  • Gast
NetBSD Crosscompiling
« am: 05. November 2002, 00:05:15 »
Hallo an alle NetBSDler.

Das hier ist keine Frage, sondern nur ein kleiner Bericht wie einfach das Crosscompilen von NetBSD ist.

Gestern habe fuer meine Sparcstation einen neuen Kernel kompiliert. Allerdings habe ich das Ganze nicht auf der mit 36 MHz getakteten SS10 gemacht, sondern auf meiner PIII 750MHz 'Rakete'.

Hubert Feyrer hat ein schoenes kleines englisches HowTo geschrieben, in dem die genaue Vorgehensweise beschrieben ist: http://rfhs8012.fh-regensburg.de/~feyrer/NetBSD/xdev.html

Das einzige was man fuer das Crosscompilen benoetigt ist ein NetBSD Rechner mit einem nicht-root User und den NetBSD Sourcecode.

Meine grosse Festplatte ist als /ernie eingehaengt. /ernie/netbsd dient als meine Spielwiese. Den Sourcecode kann man sich ueber die tar.gz sets von ftp.netbsd.org besorgen, oder ueber CVS beziehen.

Ich habe mit cd /ernie/netbsd
cvs -z5 -d anoncvs@anoncvs.netbsd.org:/cvsroot co -r netbsd1-6 src
die Sourcen des NetBSD 1.6 Stable Branches besorgt.

Zum erfolgreichen Cross-kompilieren benoetigt man ein passenden Toolchain (passendes make, C compiler, config,etc.).

Mit cd /ernie/netbsd/src
./build.sh -m sparc -t -u
werden alle benoetigten Programme kompiliert, um von einem NetBSD Hostsystem ein NetBSD/sparc System zu kompilieren.

Nun kann man nach /ernie/netbsd/src/sys/arch/sparc/conf/ gehen und sich wie gewoehnlich seinen Kernel anpassen (ich nehme immer MYKERNEL).  Fuer das config MYKERNEL muss man nun das nbconfig aus dem compilierten Toolchain benutzen.

/ernie/netbsd/src/tools/obj/tools.NetBSD-1.6-i386/bin/nbconfig MYKERNEL

Anschliessend kommt das bekannte make depend all. Hier wird aber auch wieder das binary des speziellen Toolchains benutzt:
cd ../compile/MYKERNEL
/ernie/netbsd/src/tools/obj/tools.NetBSD-1.6-i386/bin/nbmake-sparc depends all


Nach weniger als 10 Minuten ist der Kernel fertig Kompiliert. Auf der Sparcstation haette das Stunden gebraucht. Mit einem cp /netbsd /netbsd.old (!auf dem Sparcsystem!) sichert man nun den alten Kernel und kopiert mit scp netbsd root@sparcstation:/netbsd den Kernel auf das Zielsystem. Neustart und fertig.

/ernie/netbsd/src/tools/compat/README enthaelt Informationen was man bei dem Crosscompilen von einem Linux oder Solaris Host beachten muss.

Es ist ebenso einfach ein komplettes Release zu kompilieren. So kann man sein eigenes -current System erstellen. Hierzu empfehle ich das oben genannte HowTo.

Ich hoffe, dass ist fuer euch kein alter Hut und ihr habt Spass damit.

~
Oliver

sonnenblen.de - Das unabhängige Sun User Forum

NetBSD Crosscompiling
« am: 05. November 2002, 00:05:15 »

Lordy

  • Gast
Re: NetBSD Crosscompiling
« Antwort #1 am: 05. November 2002, 00:14:25 »
Hey,

hab das Docu als BSD fan natürlich heute schon bei Daemonnews gesehen :). Aber deine Deutsche Fassung wär doch was für unsere Docu wettbewert, den wie mir scheint eh noch ein paar Docus abgehen.


chris

olt

  • Gast
Re: NetBSD Crosscompiling
« Antwort #2 am: 05. November 2002, 00:24:31 »
Zitat

hab das Docu als BSD fan natürlich heute schon bei Daemonnews gesehen :). Aber deine Deutsche Fassung wär doch was für unsere Docu wettbewert, den wie mir scheint eh noch ein paar Docus abgehen.


Oh, da hatte ich es aber nicht entdeckt. Egal.

Fuer den Wettbewerb habe ich schon etwas eingereicht, etwas selbst Programmiertes. Ich denke damit stehen meine Chancen etwas hoeher.

Aber vieleicht werde ich meinen Text nochmal etwas erweitern und der Gewusst wie... Ecke spenden.

~
Oliver

Lordy

  • Gast
Re: NetBSD Crosscompiling
« Antwort #3 am: 05. November 2002, 01:13:53 »
Nun, dann freu ich mich schon mal auf deinen Betrag.

Wegen den Artikel bei Daemonnews, ist in der neues ausgabe des Daemonnews Magazins.

chris

Stefan

  • Gast
Re: NetBSD Crosscompiling
« Antwort #4 am: 08. November 2002, 19:58:23 »
ist zwarn alter hut  ;D, aber doch muss ich dich für die formulierung
und darstellung loben..

mfg, stefan

blende4711

  • Gast
Re: NetBSD Crosscompiling
« Antwort #5 am: 08. November 2002, 20:18:27 »
Es ist doch aber so schön, wenn die SUN IPC stundenlang läuft, und am Ende immer noch mit 0 Error abschließt.
14 Tage hab ich das kleine Kerlchen werkeln Lassen (über NFS) um die gesamte Source übersetzen zu lassen.
Was kam raus ???   Null Error  ;)  Das ist doch was.