franco98
NetBSDler aus Leidenschaft
Hallo UltraSparc Fans,
ich habe mal aus meiner Liebe zu NetBSD und zur UltraSparc(64) eine Idee verfolgt, auf die mich der frühere Einsatz von Debian Sparc64 und Solaris Sparc gebracht haben - den Bau eines kompletten 32Bit Systems für die UltraSparc CPUs (z.B. Ultra 5, 10, 60, 80).
Hier für alle die es interessiert mein Vorgehen und Fazit!
1. Die Quellen des NetBSD-2.1 Source habe ich auf einen schnellen 0815 PC mit NetBSD-2.0 als Betriebsystem mit Hilfe von CVS geholt:
export CVSROOT=anoncvs@anoncvs.netbsd.org:/cvsroot
export CVS_RSH=ssh
mkdir /usr/src
mkdir /usr/obj
cd /usr
cvs checkout -r netbsd-2-1 -PA src
2. Pizza bestellen und Bier holen
3. Die 32Bit Sparc Distribution baute ich wie folgt mit Crosscompiling:
cd /usr/src
./build.sh -m sparc -a sparc tools kernel=GENERIC_SUN4U distribution sets
Der Trick dabei ist der, dass man im Verzeichnis
/usr/src/sys/arch/sparc/conf
die Kernelkonfiguration "GENERIC_SUN4U" hat, die mit intergriertem "include" einen Verweis zur
"arch/sparc64/conf/GENERIC32" Kernelkonfiguration zeigt!
Mit dieser baut man dann einen 32Bit Kernel für die 64er Sparc-CPUs. Baut man die Distribution ohne die Flags -m sparc -a sparc mit dem kernel=Generic32 aus dem "sparc64/conf" Ordner, wird der Prozess mit einer Fehlermeldung abgebrochen. Es macht ja auch keinen Sinn, ein 64Bit Userland mit 32Bit Kernel zu bauen und zu hoffen, dass das noch läuft!
4. Die nun erzeugten Sets (ich habe keine X-Sets gebaut, diese erstelle ich später über das Pkgsrc-System) befinden sich im Ordner:
/usr/src/releasedir/sparc/binary/sets
5. Der 32Bit Kernel (netbsd) befindet sich im Ordner:
/usr/obj/sys/arch/sparc/compile/GENERIC_SUN4U
Diesen Kernel (netbsd) habe ich mit:
tar cvfz kern-GENERIC.tgz netbsd
in das später geforderte Set "kern-GENERIC.tgz" gepackt und das dann in das Verzeichnis zu den anderen Sets der Distribution gesteckt!
Die Bezeichnung ist wichtig, sonst wird der Kernel auf der Sparc nicht installiert! (Es gibt jedoch Alternativen, die etwas umständlicher sind, ich lasse das jetzt aber mal)
Folgende Sets müssen nun vornanden sein:
base.tgz
comp.tgz
etc.tgz
evt. games.tgz
man.tgz
misc.tgz
text.tgz
kern-GENERIC.tgz
6. Die Installation auf meine UltraSparc habe ich dann mittels NFS so gestalltet:
Booten von der normalen Sparc64-CD (hier war es die NetBSD-2.0.2 Sparc64 CD)
Partitionieren wie üblich mit sysinstall
Netzwerk konfigurieren wie üblich mit sysinstall
Als Auswahlmedium habe ich NFS gewählt (zum CD-ROM sparen!)
und als PATH dann das Verzeichnis zu den Sets auf dem PC angegeben!
Nun werden die 32Bit Sets vom NFS-Server statt der 64Bit Sets von CD installiert!
7. Rest der Installation wie üblich (root-Password ect.) und REBOOT!
8. Bier öffnen und happy sein!!!
Ein "uname -a" zeigt dann den Erfolg und ein wahlloses "file /bin/xyz" usw. bestätigt, dass die Binaries echte 32Bit Bin's sind!
Fazit von mir:
Es geht leichter als man glaubt, die 64Bit Distribution für SUN Ultra Sparcs in eine reine 32Bit Distribution umzuwandeln und um der lahmen Ultra Sparc die Arbeit abzunehmen, baut man es auf einem schnellen PC in kurzer Zeit mit CrossCompiling! Die User-Programme wie X11R6, WindowManager ect. können dann in reiner 32Bit Umgebung auf der Sparc mittels pkgsrc erstellt werden, bei mir compiliert gerade X!
Einen Geschwindigkeitsverlust bzw. -gewinn muss aber jeder selbst beurteilen, mir ging es einzig um die Machbarkeit, da ich im Internet und in der Sparc64-Mailingliste nur negative Berichte, unvollständige Builds usw. gefunden habe.
Ich hoffe es nutzt jemanden,
Gruß Frank aus LE!
ich habe mal aus meiner Liebe zu NetBSD und zur UltraSparc(64) eine Idee verfolgt, auf die mich der frühere Einsatz von Debian Sparc64 und Solaris Sparc gebracht haben - den Bau eines kompletten 32Bit Systems für die UltraSparc CPUs (z.B. Ultra 5, 10, 60, 80).
Hier für alle die es interessiert mein Vorgehen und Fazit!
1. Die Quellen des NetBSD-2.1 Source habe ich auf einen schnellen 0815 PC mit NetBSD-2.0 als Betriebsystem mit Hilfe von CVS geholt:
export CVSROOT=anoncvs@anoncvs.netbsd.org:/cvsroot
export CVS_RSH=ssh
mkdir /usr/src
mkdir /usr/obj
cd /usr
cvs checkout -r netbsd-2-1 -PA src
2. Pizza bestellen und Bier holen
3. Die 32Bit Sparc Distribution baute ich wie folgt mit Crosscompiling:
cd /usr/src
./build.sh -m sparc -a sparc tools kernel=GENERIC_SUN4U distribution sets
Der Trick dabei ist der, dass man im Verzeichnis
/usr/src/sys/arch/sparc/conf
die Kernelkonfiguration "GENERIC_SUN4U" hat, die mit intergriertem "include" einen Verweis zur
"arch/sparc64/conf/GENERIC32" Kernelkonfiguration zeigt!
Mit dieser baut man dann einen 32Bit Kernel für die 64er Sparc-CPUs. Baut man die Distribution ohne die Flags -m sparc -a sparc mit dem kernel=Generic32 aus dem "sparc64/conf" Ordner, wird der Prozess mit einer Fehlermeldung abgebrochen. Es macht ja auch keinen Sinn, ein 64Bit Userland mit 32Bit Kernel zu bauen und zu hoffen, dass das noch läuft!
4. Die nun erzeugten Sets (ich habe keine X-Sets gebaut, diese erstelle ich später über das Pkgsrc-System) befinden sich im Ordner:
/usr/src/releasedir/sparc/binary/sets
5. Der 32Bit Kernel (netbsd) befindet sich im Ordner:
/usr/obj/sys/arch/sparc/compile/GENERIC_SUN4U
Diesen Kernel (netbsd) habe ich mit:
tar cvfz kern-GENERIC.tgz netbsd
in das später geforderte Set "kern-GENERIC.tgz" gepackt und das dann in das Verzeichnis zu den anderen Sets der Distribution gesteckt!
Die Bezeichnung ist wichtig, sonst wird der Kernel auf der Sparc nicht installiert! (Es gibt jedoch Alternativen, die etwas umständlicher sind, ich lasse das jetzt aber mal)
Folgende Sets müssen nun vornanden sein:
base.tgz
comp.tgz
etc.tgz
evt. games.tgz
man.tgz
misc.tgz
text.tgz
kern-GENERIC.tgz
6. Die Installation auf meine UltraSparc habe ich dann mittels NFS so gestalltet:
Booten von der normalen Sparc64-CD (hier war es die NetBSD-2.0.2 Sparc64 CD)
Partitionieren wie üblich mit sysinstall
Netzwerk konfigurieren wie üblich mit sysinstall
Als Auswahlmedium habe ich NFS gewählt (zum CD-ROM sparen!)
und als PATH dann das Verzeichnis zu den Sets auf dem PC angegeben!
Nun werden die 32Bit Sets vom NFS-Server statt der 64Bit Sets von CD installiert!
7. Rest der Installation wie üblich (root-Password ect.) und REBOOT!
8. Bier öffnen und happy sein!!!
Ein "uname -a" zeigt dann den Erfolg und ein wahlloses "file /bin/xyz" usw. bestätigt, dass die Binaries echte 32Bit Bin's sind!
Fazit von mir:
Es geht leichter als man glaubt, die 64Bit Distribution für SUN Ultra Sparcs in eine reine 32Bit Distribution umzuwandeln und um der lahmen Ultra Sparc die Arbeit abzunehmen, baut man es auf einem schnellen PC in kurzer Zeit mit CrossCompiling! Die User-Programme wie X11R6, WindowManager ect. können dann in reiner 32Bit Umgebung auf der Sparc mittels pkgsrc erstellt werden, bei mir compiliert gerade X!
Einen Geschwindigkeitsverlust bzw. -gewinn muss aber jeder selbst beurteilen, mir ging es einzig um die Machbarkeit, da ich im Internet und in der Sparc64-Mailingliste nur negative Berichte, unvollständige Builds usw. gefunden habe.
Ich hoffe es nutzt jemanden,
Gruß Frank aus LE!