Christian 15. Dezember 2009
Blöd ist es, wenn man eine schöne SUN bekommt aber diese ein Passwort im RSC hat, das keiner kennt.
Genau das ist mir passiert. Nun habe ich mich endlich mal ein paar Tage rangesetzt und es geschafft, diese zu entsperren. Der Trick war relativ simpel – durch einen bestimmten Tastendruck zu einer bestimmten Zeit kann das NVRAM inklusive RSC, Konsolenweiterleitung, etc. umgangen werden. Nun kann man einfach ein Solaris inklusive RSC-Toolkit installieren und das Gerät entsperren.
Wer das Problem kennt und sich für meine Lösung interessiert, findet in meinem Wiki einen interessanten Beitrag.
Tags: Fail, SUN
Christian 7. Oktober 2008
Wer Besitzer einer SUN-Maschine ist, hat mit dem Betriebsystem die Qual der Wahl. Windows kommt nicht in Frage und wäre auch nicht so schnell ohne weiteres zu bewerkstelligen. Kommt also BSD oder Linux in Frage. Erdenkbar wäre das offene Pedant zu Solaris: OpenSolaris. Wer bisher nur mit Linux intensiv gearbeitet hat, steht hier wie “der Ochs vorm Berg” und darf vieles neu lernen, was natürlich keineswegs spaßig ist. NetBSD und FreeBSD lassen sich übrigens gar nicht so leicht installieren, wie man denkt. Für die SPARC64-Architektur gibt es nicht einmal ein fertig Image, so müsste man von Floppy oder aus dem LAN booten und einen minimalistischen Kernel fahren, mit dem man dann den Kernel und die Programme installiert – von einem Medium, was man noch vorher aufwendig einbinden muss. Meines Erachtens nach ist das selbst für BSD/*nix-Veterane zu viel Arbeit. Also wäre eine Linux-Distribution auf der SPARC64-Architekturbasis nicht schlecht. Einige Distributoren geben Images für die Plattform an, darunter Ubuntu, Debian und CRUX. Da ich die Ultra 10 in diesem Beispiel als Server benutzen möchte, kommen also kein Ubuntu und Debian in Frage. Meiner Meinung nach sind diese Server für die Architektur etwas überladen – ferner mag ich apt nicht sonderlich.
Also wäre CRUX erdenkbar. CRUX ist eigentlich eine Distribution, welche speziell für i686 angepasst wurde und extrem minimalistisch ist. Ferner ist sie an BSD angelehnt und benutzt das Ports-System. Zur Vereinfachung gibt es einen Paketmanager, der automatisch per SVN die Quellcodes bezieht, kompiliert und die Anwendungen als Paket installiert: prt-get (an apt-get angelehnt).
Zurück zum Thema, es gibt neben der offiziellen i686-ISO von CRUX auch inoffizielle, leider auch z.T. nicht aktuelle Images für i486, i586 und auch SPARC64. Letzteres kann zur Installation auf der SUN Ultra 10 benutzt werden.
- Also, Image herunterladen, auf einen Rohling brennen und in die SUN einlegen.
- Nach der Speicherprüfung den automatischen Bootvorgang mit einem Druck auf STOP und A abbrechen.
- Sicherheitsmodus der SUN deaktivieren:
setenv security-filter false
- Nun von der CD booten, ich hab hierzu ein IDE-Laufwerk benutzt:
boot cdrom
Hinweis: Bei SCSI-Geräten stellt sich das Ganze schwieriger dar. (Tipps siehe Linksammlung)
- Nun sollte der SILO-Bootloader von der CD geladen werden und einen Prompt anzeigen, bei welchem wir eingeben:
boot: crux root=/dev/hdc
Der Device-String muss natürlich an die Hardwarekonfiguration angepasst werden! Hier handelte es sich um ein IDE-CD Laufwerk, das auf Secondary Master gejumpert war. SCSI-CDs werden mit /dev/scd0 oder /dev/sdX deklariert. Der richtige Device-String ist wichtig, da sonst der Kernel die CRUX-Daten nicht findet und mit einem “kernel panic” abraucht.
- Ist CRUX hochgefahren, loggen wir uns mit root ein und widmen uns der Partionierung. Bei SCSI-Festplatten müssen vorher evtl. Treibermodule für den Controller noch geladen werden – die mit den SUN Ultra 10 verkaufen SCSI-Controller werden in der Regel automatisch erkannt und eingebunden.
# fdisk /dev/hda
Die Partionierung für die SUN-Kiste unterscheidet sich ein wenig von der für eine “normale” Linux-Kiste. So müssen das SUN disklabel ausgewählt und in der Regel 6 Partitionen erstellt werden:
hda1 | kleiner als 2 GB (für alte SUNs, wie die Ultra 10) – ext3 /
hda2 | SWAP ~512MB
hda3 | “entire hard disk”
hda4 | min. 2 GB – ext3 /tmp
hda5 | min. 2 GB – ext3 /usr
hda6 | Rest der Festplatte – ext3 /home
- Danach werden die Partitionen erstellen und gemountet, damit setup die Dateien kopieren kann:
# mkfs.ext3 /dev/hda1
# mkfs.ext3 /dev/hda4
# mkfs.ext3 /dev/hda5
# mkfs.ext3 /dev/hda6
# mkswap /dev/hda2
# swapon /dev/hda2
# mount /dev/hda1 /mnt
# mkdir /mnt/usr
# mkdir /mnt/tmp
# mkdir /mnt/home
# mount /dev/hda4 /mnt/tmp
# mount /dev/hda5 /mnt/usr
# mount /dev/hda6 /mnt/home
# setup
- Ist die Installation abgeschlossen, wird in das neue Linux “gechrootet”, damit es konfiguriert werden kann – außerdem muss noch der Kernel kompiliert werden:
# mount --bind /dev /mnt/dev
# mount --bind /tmp /mnt/tmp
# mount -t proc proc /mnt/proc
# mount -t sysfs none /mnt/sys
# chroot /mnt /bin/bash
- Setzen wir zuerst das root-Passwort:
# passwd
- Danach wird der Hostname in der /etc/rc.conf gesetzt:
# vi /etc/rc.conf
- Nun folgt /etc/fstab – ohne diese findet CRUX nachher sonst nichts (Achtung: Das ist nur ein Beispiel!):
/dev/hda1 / ext3 noatime 0 1
/dev/hda2 none swap sw 0 0
/dev/hda4 /usr ext3 noatime 0 2
/dev/hda5 /var ext3 noatime 0 2
/dev/hda6 /home ext3 noatime 0 2
openprom /proc/openprom openpromfs defaults 0 0
/dev/cdrom /mnt/cdrom auto noauto,user 0
- Einen Kernel brauchen wir auch noch:
# cd /usr/src/linux-2.6-x.xx..
# make menuconfig
# make && make image modules_install
# cp arch/SPARC64/boot/image /cruxSPARC
# cp System.map /boot
- Als letztes folgt noch der SILO-Bootloader, alles andere folgt nach der Installation. In der SILO-Konfigurationsdatei müssen die Partitionsnummern und Kernelnamen angepasst werden.
# vim /etc/silo.conf
# cp /etc/silo.conf /boot
# silo -C /boot/silo.conf
- Fertig und reboot:
# init 6
So einfach gehts!
Anbei mal die CPU-Info meiner SPARC:
# cat /proc/cpuinfo
cpu : TI UltraSparc IIi (Sabre)
fpu : UltraSparc IIi integrated FPU
promlib : Version 3 Revision 19
prom : 3.19.4
type : sun4u
ncpus probed : 1
ncpus active : 1
Cpu0Bogo : 663.55
Cpu0ClkTck : 0000000013d92d40
MMU Type : Spitfire
Tags: CRUX, Linux, Nerdy, SUN