In den seltenen Fällen, wo die Platte kaputt geht (oder ein Anfänger /boot löscht) braucht man eine Möglichkeit, die Maschine wieder in Gang zu bekommen und die Sicherungsbänder zurückspielen zu könen. Das Installationsmedium erlaubt es einem, Boot-Probleme zu beseitigen oder eine defekte Platte neu zu formattieren.
WIr unterhalten uns hier heute über SunOS 4.1.1 für die Sun3-Serie von Computern der Firma Sun Microsystems Inc. Sun hat vor einiger Zeit die Betreuung der Sun3-Serie gänzlich fallengelassen, aber diese Maschinen sind meist noch in funktionsfähigem Zustand (dieser Artikel entstand auf einer Sun 3/60) und sind immer noch nützlich für Leute, die keine tausende von Mark für einen neuen PC oder eine SPARC ausgeben können.
Dieser Artikel behandelt die Installationsmedien für SunOS 4.1.1 im Allgemeinen. Er soll Leuten helfen, die Probleme haben oder ihr Betriebssystem neu installieren wollen.
Der schlaue Systemadministrator hat auf einer zweiten Platte auch immer eine zweite Boot-Partition. Bei Schwierigkeiten hilf das schon viel. Es ist sogar möglich, eine Festplatte als Installationsmedium aufzubereiten. Sun hat das nie unterstützt, aber es funktioniert.
Device SCSI-id PROM boot command sd0 0 sd(0,0,slice) sd2 1 sd(0,8,slice) sd4 2 sd(0,10,slice) sd6 3 sd(0,18,slice) st0 4 st(0,0,file) st1 5 st(0,8,file) sr0 6 sd(0,30,slice)
Device MB Comment Archive Phyton 60 QIC-11 und QIC-24 Wangtec 60 QIC-11 und QIC-24 Archive Phyton 150 QIC-150, kann QIC-11 und QIC-24 lesen Wangtec 150 QIC-150, kann QIC-11 und QIC-24 lesen Exabyte 8200 2000 8mm Exabyte 8205 5000 8mm Exabyte 8500 5000 8mm Exabyte 8505 12000 8mm DDS-1 DAT 2000 4mm DDS-2 DAT 4000 4mm DDS-3 DAT 12000 4mmJede Sun3 kann von einem QIC-24 Bandlaufwerk booten, wenn die Maschine einen SCSI-Controller hat. Manche Sun3 könen auch von einem QIC-150 booten. Dazu braucht man neuere PROMs.
>b sd(0,30,4) sun3 architecture >b sd(0,30,3) sun3x architecture
Machine Version Comment 3/50 1.3 can only boot from sd0 and QIC-24 3/50 2.7 can boot from any disk and QIC-150 3/60 1.6 can boot from any disk and QIC-24 3/60 2.8 can boot from any disk and QIC-150 3/60 3.0 can boot from QIC-150 and cdrom 3/80 2.9.2 can't boot from QIC-150 but from cdrom 3/80 3.0.2 can't boot from QIC-150 but from cdrom 3/80 3.0.3 can boot from QIC-150 and from cdrom 3/260 2.0 can't boot from QIC-150 or cdrom 3/260 3.0 can boot from QIC-150 and cdrom 3/470 3.0 can boot from QIC-150 and cdrom
Man legt Band oder CD in das entsprechende Laufwerk. Vom Band bootet man so:
>b st()Dies läd die erste Datei vom Band (tpboot) in den Speicher und führt sie aus. tpboot läd dann die dritte Datei (munix) in den Speicher und startet sie.
Mit der CD tippt man:
>b sd(0,30,4) (sun3) >b sd(0,30,3) (sun3x)Dies läd munix (und auch das munixfs) direkt.
Munix ist ein ganz spezieller Kernel (ein vmunix ohne v)! Er residiert nur im Speicher und sein Root-Dateisystem liegt in einer RAM-Disk. Vom Band wird das Root-Dateisystem als vierte Datei geladen, von CD ist es im Kernel integriert. Zwei spezielle Treiber sind hier involviert: ns (no swap) und rd (ramdisk). Benutzer einer X-Kernel-Distribution haben bestimmt schonmal davon gehört. Leider sind diese beiden nicht Teil der SunOS-Distribution, daher ist es nicht möglich einen munix-Kernel selber zu bauen.
#dd if=/dev/nrst8 of=/dev/rsd0b bs=100k conv=syncDanach wird rebootet:
>b sd(0,0,1) -swDer Miniroot-Kernel benutzt die b-Partition sowohl für sein Root-Dateisystem als auch zum swappen. Das kann nur funktionieren, wenn die b-Partition ein gutes Stück grösser als die Miniroot selber (7 MB) ist. Ich empfehle 4 mal die Grösse des Hauptspeichers und da die kleinste Sun3 4 MB hat, sind das mindestens 16 MB.
#/usr/etc/install/xdrtoc < /tmp/xdrtocDie Erstellung von xdrtoc-Dateien ist hingegen schwierig. Ich habe "hexvi" und "beav" benutzt, um vorhandene Dateien zu modifizieren. Das hat prima funktioniert. Im Anhang C findet man eine Reihe nützlicher xdrtoc-Dateien.
#mount -r -t hsfs /dev/sr0 /cdrom #cd /cdrom #tar cf - . | ( cd /tmp ; tar xpf - )Was einem dann noch fehlt, sind munix und munixfs. Leider sind die nur sehr schwer von der CD zu bekommen.
#newfs /dev/rsd2a #mount -r -t hsfs /dev/sr0 /cdrom #mount /dev/sd2a /mnt #cd /cdrom #tar cf - _copyright export/share \ export/exec/proto_root_sunos_4_1_1 \ export/exec/sun3_sunos_4_1_1 \ export/exec/kvm/sun3x_sunos_4_1_1 \ | ( cd /mnt ; tar xpf -) #echo "sun3x_sunos_4_1_1" >/mnt/avail_archesWer nur die Bänder (oder diese Dateien) hat, kann in Anhang A nachsehen, wie diese zu arrangieren sind. Was noch fehlt, ist die Miniroot auf der b-Partition:
#cd /mnt/export/exec/kvm/sun3x_sunos_4_1_1 #dd if=miniroot.sun3x of=/dev/rsd2b bs=100k conv=syncNun kann man von dieser Platte die Miniroot booten:
#halt >b sd(0,8,1) -swSobald die Eingabeaufforderung kommt, mountet man die a-Partition:
#/etc/mount -r /dev/sd2a /usr/etc/install/tarDamit "suninstall" die a-Partition nicht versehentlich unmountet (und es versucht das mehrfach!), benennen wir einfach das "unmount"-Kommando um:
#mv /etc/umount /etc/um #suninstallJetzt kann die Installation ablaufen. Danach sollte man noch das "umount"-Kommando wiederherstellen:
#mv /etc/um /etc/umount #reboot
#cd /tmp #dd if=tape1.05 of=/dev/rsd2e bs=100k #ftp >bin >cd /pub/gnu >get gzip-1.2.4.tar >bye #tar xvf gzip-1.2.4.tar #cd gzip-1.2.4 #./configureJetzt muss im Makefile die Option "-static" bei den LDFLAGS eingefügt werden, sodass "gzip" statisch gebunden wird. Danach fährt man wiefolgt fort:
#make #strip gzip #mount /dev/sd2e /mnt #rm /mnt/usr/ucb/uncompress /mnt/usr/ucb/zcat #cp gzip /mnt/usr/ucb/uncompress #ln /mnt/usr/ucb/uncompress /mnt/usr/ucb/zcat #umount /mnt #dd if=/dev/rsd2e of=tape1.05 bs=100k count=70 #foreach i (`file *|grep compress|sed -e "s/:.*$//"`) #mv $i $i.Z #uncompress $i.Z #gzip $i #end #rm tape1.29 tape1.30 tape2.01 tape2.02Nun kopiert man noch die "xdrtoc" Datei für QIC-150 nach tape1.02 und kann die Dateien auf das QIC-24 schreiben.
#dd if=/tmp/miniroot of=/dev/rsd2e bs=100k #mount /dev/sd2e /mntHier kann man diverse Verbesserungen machen und danach die Miniroot zurück in die Datei schreiben:
#umount /mnt #dd if=/dev/rsd2e of=/tmp/miniroot bs=100k count=70Ich habe eine Reihe von Änderungen an der Miniroot vorgenommen: Ein paar neue Kommandos wie gzip oder tcsh, ein Kernel mit Treibern von Drittanbietern u.s.w.
tape files cdrom files -------------------------------------------------------------------- - ./avail_arches tape1.08 ./export/exec/kvm/sun3_sunos_4_1_1/kvm tape1.05 ./export/exec/kvm/sun3_sunos_4_1_1/miniroot_sun3 tape1.12 ./export/exec/kvm/sun3_sunos_4_1_1/sys tape1.02 ./export/exec/kvm/sun3_sunos_4_1_1/xdrtoc tape1.06 ./export/exec/proto_root_sunos_4_1_1 tape1.24 ./export/exec/sun3_sunos_4_1_1/debugging tape1.16 ./export/exec/sun3_sunos_4_1_1/demo tape2.03 ./export/exec/sun3_sunos_4_1_1/games tape1.27 ./export/exec/sun3_sunos_4_1_1/graphics tape1.09 ./export/exec/sun3_sunos_4_1_1/install tape1.10 ./export/exec/sun3_sunos_4_1_1/networking tape1.18 ./export/exec/sun3_sunos_4_1_1/openwindows_demo tape1.19 ./export/exec/sun3_sunos_4_1_1/openwindows_fonts tape2.06 ./export/exec/sun3_sunos_4_1_1/openwindows_programmers tape1.17 ./export/exec/sun3_sunos_4_1_1/openwindows_users tape1.23 ./export/exec/sun3_sunos_4_1_1/rfs tape2.05 ./export/exec/sun3_sunos_4_1_1/security tape1.26 ./export/exec/sun3_sunos_4_1_1/shlib_custom tape1.14 ./export/exec/sun3_sunos_4_1_1/sunview_demo tape1.25 ./export/exec/sun3_sunos_4_1_1/sunview_programmers tape1.13 ./export/exec/sun3_sunos_4_1_1/sunview_users tape1.11 ./export/exec/sun3_sunos_4_1_1/system_v tape1.15 ./export/exec/sun3_sunos_4_1_1/text tape1.22 ./export/exec/sun3_sunos_4_1_1/tli tape1.20 ./export/exec/sun3_sunos_4_1_1/user_diag tape1.07 ./export/exec/sun3_sunos_4_1_1/usr tape1.28 ./export/exec/sun3_sunos_4_1_1/uucp tape2.04 ./export/exec/sun3_sunos_4_1_1/versatec tape1.21 ./export/share/sunos_4_1_1/manual tape1.29+ tape2.10 ./_copyright tape2.08 ./patches/sunos_4_1_1/patch_cplusplus_2_0 tape2.07 ./patches/sunos_4_1_1/patch_ipc tape2.09 ./patches/sunos_4_1_1/patch_taac - ./patches/sunos_4_1_1/_readme
tape files cdrom files --------------------------------------------------------------------- tape1.01 /usr/kvm/stand/tpboot.sun3 tape1.02 ./export/exec/kvm/sun3_sunos_4_1_1/xdrtoc tape1.03 munix (vmunix on partition d of CDROM) tape1.04 munixfs (hm... it is somewhere on part. d too) tape1.05 ./export/exec/kvm/sun3_sunos_4_1_1/miniroot_sun3 tape1.06 ./export/exec/proto_root_sunos_4_1_1 tape1.07 ./export/exec/sun3_sunos_4_1_1/usr tape1.08 ./export/exec/kvm/sun3_sunos_4_1_1/kvm tape1.09 ./export/exec/sun3_sunos_4_1_1/install tape1.10 ./export/exec/sun3_sunos_4_1_1/networking tape1.11 ./export/exec/sun3_sunos_4_1_1/system_v tape1.12 ./export/exec/kvm/sun3_sunos_4_1_1/sys tape1.13 ./export/exec/sun3_sunos_4_1_1/sunview_users tape1.14 ./export/exec/sun3_sunos_4_1_1/sunview_demo tape1.15 ./export/exec/sun3_sunos_4_1_1/text tape1.16 ./export/exec/sun3_sunos_4_1_1/demo tape1.17 ./export/exec/sun3_sunos_4_1_1/openwindows_users tape1.18 ./export/exec/sun3_sunos_4_1_1/openwindows_demo tape1.19 ./export/exec/sun3_sunos_4_1_1/openwindows_fonts tape1.20 ./export/exec/sun3_sunos_4_1_1/user_diag tape1.21 ./export/share/sunos_4_1_1/manual tape1.22 ./export/exec/sun3_sunos_4_1_1/tli tape1.23 ./export/exec/sun3_sunos_4_1_1/rfs tape1.24 ./export/exec/sun3_sunos_4_1_1/debugging tape1.25 ./export/exec/sun3_sunos_4_1_1/sunview_programmers tape1.26 ./export/exec/sun3_sunos_4_1_1/shlib_custom tape1.27 ./export/exec/sun3_sunos_4_1_1/graphics tape1.28 ./export/exec/sun3_sunos_4_1_1/uucp tape1.29 ./_copyright tape2.01 xdrtoc tape2.02 xdrtoc tape2.03 ./export/exec/sun3_sunos_4_1_1/games tape2.04 ./export/exec/sun3_sunos_4_1_1/versatec tape2.05 ./export/exec/sun3_sunos_4_1_1/security tape2.06 ./export/exec/sun3_sunos_4_1_1/openwindows_programmers tape2.07 ./patches/sunos_4_1_1/patch_ipc tape2.08 ./patches/sunos_4_1_1/patch_cplusplus_2_0 tape2.09 ./patches/sunos_4_1_1/patch_taac tape2.10 ./_copyright