Hello,
I recently rescued an unused Sun Ultra 5/10 that was going to end up
in the trash and I've been trying for several hours now to install
OpenBSD on it with no success whatsoever. It's a headless machine
with one internal disk, a CD drive, a floppy drive, and what looks
like a PCI card with two external VHDCI connectors. It's running
Solaris 2.7, and I'm connected to it through its serial port from a PC
running -current.
Here's Solaris's dmesg:
============================================================
cpu0: SUNW,UltraSPARC-IIi (upaid 0 impl 0x12 ver 0x13 clock 300 MHz)
SunOS Release 5.7 Version Generic 64-bit [UNIX(R) System V Release 4.0]
Copyright (c) 1983-1998, Sun Microsystems, Inc.
mem = 262144K (0x10000000)
avail mem = 252346368
Ethernet address = 8:0:20:9e:d7:72
root nexus = Sun Ultra 5/10 UPA/PCI (UltraSPARC-IIi 300MHz)
pci0 at root: UPA 0x1f 0x0
pci0 is /p...@1f,0
PCI-device: p...@1,1, simba0
PCI-device: p...@1, simba1
PCI-device: i...@3, uata0
dad0 at pci1095,6460 target 0 lun 0
dad0 is /p...@1f,0/p...@1,1/i...@3/d...@0,0
<Seagate Medalist 34342A cyl 8892 alt 2 hd 15 sec 63>
root on /p...@1f,0/p...@1,1/i...@3/d...@0,0:a fstype ufs
PCI-device: e...@1, ebus0
su0 at ebus0: offset 14,3083f8
su0 is /p...@1f,0/p...@1,1/e...@1/s...@14,3083f8
su1 at ebus0: offset 14,3062f8
su1 is /p...@1f,0/p...@1,1/e...@1/s...@14,3062f8
keyboard is </p...@1f,0/p...@1,1/e...@1/s...@14,3083f8> major <37> minor <0>
mouse is </p...@1f,0/p...@1,1/e...@1/s...@14,3062f8> major <37> minor <1>
se0 at ebus0: offset 14,400000
se0 is /p...@1f,0/p...@1,1/e...@1/s...@14,400000
stdin is </p...@1f,0/p...@1,1/e...@1/s...@14,400000:a> major <20> minor <0>
stdout is </p...@1f,0/p...@1,1/e...@1/s...@14,400000:a> major <20> minor <0>
SUNW,hme0: CheerIO 2.0 (Rev Id = c1) Found
PCI-device: netw...@1,1, hme0
hme0 is /p...@1f,0/p...@1,1/netw...@1,1
============================================================
First I upgraded the PROM of the Ultra to the latest version and that
was a walk in the park:
============================================================
[before]
# prtconf -V
OBP 3.11.12 1998/05/19 11:30
[after]
# prtconf -V
OBP 3.31.0 2001/07/25 20:36
============================================================
I also used 'set-defaults' to restore the default NVRAM settings.
Then I downloaded OpenBSD/snapshots/sparc64/install45.iso from a mirror,
burned it to a CD-RW (using an OpenBSD laptop) by following the
instructions from faq13.html#burnCD, then tried to boot the Ultra
from the CD:
============================================================
ok boot cdrom
Resetting ...
Sun Ultra 5/10 UPA/PCI (UltraSPARC-IIi 300MHz), No Keyboard
OpenBoot 3.31, 256 MB (60 ns) memory installed, Serial #10409842.
Ethernet address 8:0:20:9e:d7:72, Host ID: 809ed772.
Rebooting with command: boot cdrom
Boot device: /p...@1f,0/p...@1,1/i...@3/cd...@2,0:f File and args:
Can't read disk label.
Can't open disk label package
Evaluating: boot cdrom
Can't open boot device
============================================================
Trying to mount the CD using Solaris (after killing vold) failed as
well:
============================================================
# mount -F hsfs -o ro /dev/dsk/c0t2d0s0 /mnt
mount: /dev/dsk/c0t2d0s0 no such device
============================================================
Now I happen to have an old Solaris 2.6 installation CD around and I
can both mount it (using the exact same command as above) or boot from
it without problem.
So my guess is that the machine has a cheap and/or old CD drive that
has problems reading CD-RWs...
Next I tried to install OpenBSD from Solaris, using one of the
existing partitions:
============================================================
# df -k
Filesystem kbytes used avail capacity Mounted on
/proc 0 0 0 0% /proc
/dev/dsk/c0t0d0s0 2052609 268088 1722943 14% /
/dev/dsk/c0t0d0s1 1015332 668574 285839 71% /usr
fd 0 0 0 0% /dev/fd
/dev/dsk/c0t0d0s4 865694 237321 567775 30% /home
/dev/dsk/c0t0d0s3 122986 967 109721 1% /tmp
============================================================
I used Solaris's newfs to re-create the file system on
/dev/rdsk/c0t0d0s4 (bye bye /home), mounted it on /mnt, downloaded
bootblk, ofwboot, bsd, bsd.rd, base45.tgz, and etc45.tgz to /root
(through the serial port, after tar-ing and uuencode-ing the whole
thing; the Ultra is not connected to the network), copied bootblk and
ofwboot to /mnt, used Solaris's installboot to install bootblk on
/dev/rdsk/c0t0d0s4, copied bsd and bsd.rd to /mnt, unpacked base45.tgz
and etc45.tgz there, and then rebooted:
============================================================
ok boot disk:e bsd
[...]
Boot device: /p...@1f,0/p...@1,1/i...@3/d...@0,0:e File and args: bsd
OpenBSD IEEE 1275 Bootblock 1.1
..>> OpenBSD BOOT 1.3
Memory Address not Aligned
ok Data Access Exception
ok Data Access Exception
ok Data Access Exception
ok Data Access Exception
ok Data Access Exception
[...]
============================================================
The machine then went into an infinite loop printing 'Data Access
Exception' and even sending it a BREAK wouldn't stop it so I had to
power-cycle it. Same thing when I tried bsd.rd.
I don't think this looks very good, but I have no idea why ofwboot
fails...
Next I tried to go the miniroot way, just in case I had somehow messed
up while trying to install from Solaris. So I downloaded
miniroot45.fs to the machine, used Solaris's dd to write it to the
same partition as before and then tried to boot from it:
============================================================
# dd if=miniroot45.fs of=/dev/rdsk/c0t0d0s4 bs=64b
80+0 records in
80+0 records out
# reboot
[...]
ok boot disk:e
[...]
Rebooting with command: boot disk:e
Boot device: /p...@1f,0/p...@1,1/i...@3/d...@0,0:e File and args:
OpenBSD IEEE 1275 Bootblock 1.1
.
============================================================
And the machine froze after printing the dot.
While I was at it I also tried to boot from a floppy, first using
floppyB45.fs (which I think is the right one for a PCI-based Ultra 10)
and then floppy45.fs. In both cases I got the same result:
============================================================
ok boot floppy bsd
Resetting ...
Sun Ultra 5/10 UPA/PCI (UltraSPARC-IIi 300MHz), No Keyboard
OpenBoot 3.31, 256 MB (60 ns) memory installed, Serial #10409842.
Ethernet address 8:0:20:9e:d7:72, Host ID: 809ed772.
Rebooting with command: boot floppy bsd
Boot device: /p...@1f,0/p...@1,1/e...@1/fdthree File and args: bsd
Bad magic number in disk label
Can't open disk label package
Evaluating: boot floppy bsd
Can't open boot device
============================================================
So I'm starting to run out of solutions here...
I thought about a possible hardware problem, but:
- Solaris always boots fine no matter what
- Solaris's fsck finds nothing wrong with the disk
- I set the PROM's diag-switch? to true and diag-level to max and no
problem was detected (as far as I can tell, at least):
============================================================
Hardware Power ON
@(#) Sun Ultra 5/10 UPA/PCI 3.31 Version 0 created 2001/07/25 20:36
Probing keyboard Done
%o0 = 0000.0000.0000.4001
Executing Power On SelfTest
@(#) Sun Ultra 5/10 (Darwin) POST 3.1.0 (Build No. 626) 13:56 on 06/27/00
CPU: UltraSPARC-LC (Clock Frequency: 300MHz, Ecache Size: 512KB)
Init POST BSS
Init System BSS
NVRAM
NVRAM Battery Detect Test
NVRAM Scratch Addr Test
NVRAM Scratch Data Test
DMMU TLB Tags
DMMU TLB Tag Access Test
DMMU TLB RAM
DMMU TLB RAM Access Test
Probe Ecache
Probe Ecache
Ecache Tests
Ecache RAM Addr Test
Ecache Tag Addr Test
Ecache RAM Test
Ecache Tag Test
All CPU Basic Tests
V9 Instruction Test
CPU Tick and Tick Compare Reg Test
CPU Soft Trap Test
CPU Softint Reg and Int Test
All Basic MMU Tests
DMMU Primary Context Reg Test
DMMU Secondary Context Reg Test
DMMU TSB Reg Test
DMMU Tag Access Reg Test
DMMU VA Watchpoint Reg Test
DMMU PA Watchpoint Reg Test
IMMU TSB Reg Test
IMMU Tag Access Reg Test
All Basic Cache Tests
Dcache RAM Test
Dcache Tag Test
Icache RAM Test
Icache Tag Test
Icache Next Test
Icache Predecode Test
Memory Probe
Probe Memory
INFO: 11 bit column addressing detected
INFO: 128MB Bank 0
INFO: 128MB Bank 2
Sabre MCU Control & Status Regs Init and Tests
Init Sabre MCU Control & Status Regs
Initializing SC registers in SabreIO
Memory Init
Ecache Access Test
Malloc Post Memory
Memory Addr with Ecache
Load Post In Memory
Run POST from MEM
.........
loaded POST in memory
Map PROM/STACK/NVRAM in DMMU
Update Master Stack/Frame Pointers
All FPU Basic Tests
FPU Regs Test
FPU Move Regs Test
FPU State Reg Test
FPU Functional Test
FPU Trap Test
UPA Data Bus Line Test
Memory Tests
Init Memory
INFO: 128MB at bank 0 stack 0 (2 dimms per bank)
........................................................................................................................
INFO: 0MB at bank 0 stack 1
INFO: 128MB at bank 2 stack 0 (2 dimms per bank)
................................................................................................................................
INFO: 0MB at bank 2 stack 1
Memory Addr with Ecache Test
INFO: 128MB at bank 0 stack 0 (2 dimms per bank)
INFO: 0MB at bank 0 stack 1
INFO: 128MB at bank 2 stack 0 (2 dimms per bank)
INFO: 0MB at bank 2 stack 1
ECC Memory Addr Test
INFO: 128MB at bank 0 stack 0 (2 dimms per bank)
INFO: 0MB at bank 0 stack 1
INFO: 128MB at bank 2 stack 0 (2 dimms per bank)
INFO: 0MB at bank 2 stack 1
Block Memory Addr Test
INFO: 128MB at bank 0 stack 0 (2 dimms per bank)
INFO: 0MB at bank 0 stack 1
INFO: 128MB at bank 2 stack 0 (2 dimms per bank)
INFO: 0MB at bank 2 stack 1
Block Memory Test
INFO: 128MB at bank 0 stack 0 (2 dimms per bank)
Write 0x33333333.33333333
........................................................................................................................
Read
........................................................................................................................
Write 0x55555555.55555555
........................................................................................................................
Read
........................................................................................................................
Write 0xcccccccc.cccccccc
........................................................................................................................
Read
........................................................................................................................
Write 0xaaaaaaaa.aaaaaaaa
........................................................................................................................
Read
........................................................................................................................
INFO: 0MB at bank 0 stack 1
INFO: 128MB at bank 2 stack 0 (2 dimms per bank)
Write 0x33333333.33333333
................................................................................................................................
Read
................................................................................................................................
Write 0x55555555.55555555
................................................................................................................................
Read
................................................................................................................................
Write 0xcccccccc.cccccccc
................................................................................................................................
Read
................................................................................................................................
Write 0xaaaaaaaa.aaaaaaaa
................................................................................................................................
Read
................................................................................................................................
INFO: 0MB at bank 2 stack 1
ECC Blk Memory Test
INFO: 128MB at bank 0 stack 0 (2 dimms per bank)
Write 0xa5a5a5a5.a5a5a5a5
........................................................................................................................
Read
........................................................................................................................
Write 0x96969696.96969696
........................................................................................................................
Read
........................................................................................................................
Write 0xbbbbbbbb.bbbbbbbb
........................................................................................................................
Read
........................................................................................................................
Write 0xdddddddd.dddddddd
........................................................................................................................
Read
........................................................................................................................
INFO: 0MB at bank 0 stack 1
INFO: 128MB at bank 2 stack 0 (2 dimms per bank)
Write 0xa5a5a5a5.a5a5a5a5
................................................................................................................................
Read
................................................................................................................................
Write 0x96969696.96969696
................................................................................................................................
Read
................................................................................................................................
Write 0xbbbbbbbb.bbbbbbbb
................................................................................................................................
Read
................................................................................................................................
Write 0xdddddddd.dddddddd
................................................................................................................................
Read
................................................................................................................................
INFO: 0MB at bank 2 stack 1
All Basic Sabre MMU Tests
Init Sabre
PIO Decoder and BCT Test
PCI Byte Enable Test
Interrupt Map (short) Reg Test
Interrupt Set/Clr Reg Test
Sabre IOMMU Regs Test
Sabre IOMMU RAM Address Test
Sabre IOMMU CAM Address Test
IOMMU TLB Compare Test
IOMMU TLB Flush Test
PBMA PCI Config Space Regs Test
PBMA Control/Status Reg Test
PBMA Diag Reg Test
Sabre IO Regs Test
All Advanced CPU Tests
DMMU Hit/Miss Test
IMMU Hit/Miss Test
DMMU Little Endian Test
IU ASI Access Test
FPU ASI Access Test
Ecache Thrash Test
All CPU Error Reporting Tests
CPU Data Access Trap Test
CPU Addr Align Trap Test
DMMU Access Priv Page Test
DMMU Write Protected Page Test
All Advanced Sabre IOMMU Tests
Init Sabre
Consist DMA Rd, IOMMU miss Ebus Test
Consist DMA Rd, IOMMU hit Ebus Test
Consist DMA Wr, IOMMU miss Ebus Test
Consist DMA Wr, IOMMU hit Ebus Test
Pass-Thru DMA Rd, Ebus device Test
Pass-Thru DMA Wr, Ebus device Test
Consist DMA Rd, IOMMU LRU Lock Ebus Test
Consist DMA Wr, IOMMU LRU Locked Ebus Test
All Basic Cheerio Tests
Cheerio Ebus PCI Config Space Test
Cheerio Ethernet PCI Config Space Test
Cheerio Init
All Sabre IOMMU Error Reporting Tests
Init Sabre
PIO Read, Master Abort Test
PIO Read, Target Abort Test
Status of this POST run: PASS
manfacturing mode=OFF
Time Stamp [hour:min:sec] 06:12:50 [month/date year] 06/11 2009
Power On Selftest Completed
Software Power ON0.0000.0000.0000 ffff.ffff.f00b.4858 0002.3333.0200.001b
@(#) Sun Ultra 5/10 UPA/PCI 3.31 Version 0 created 2001/07/25 20:36
Clearing E$ Tags Done
Clearing I/D TLBs Done
Probing Memory Done
MEM BASE = 0000.0000.1000.0000
MEM SIZE = 0000.0000.0800.0000
11-Column Mode Enabled
MMUs ON
Copy Done
PC = 0000.01ff.f000.201c
PC = 0000.0000.0000.2060
Decompressing into Memory Done
Size = 0000.0000.0006.eba0
ttya initialized
Reset Control: BXIR:0 BPOR:0 SXIR:0 SPOR:1 POR:0
UltraSPARC-IIi 2-2 module
Probing Memory Bank #0 64 + 64 : 128 Megabytes
Probing Memory Bank #2 64 + 64 : 128 Megabytes
Probing UPA Slot at 1e,0 Nothing There
Probing /p...@1f,0/p...@1,1 at Device 1 pci108e,1000 network
Probing /p...@1f,0/p...@1,1 at Device 2 SUNW,m64B
Probing /p...@1f,0/p...@1,1 at Device 3 ide disk cdrom
Probing /p...@1f,0/p...@1 at Device 1 scsi disk tape scsi disk tape
Probing /p...@1f,0/p...@1 at Device 2 Nothing there
Probing /p...@1f,0/p...@1 at Device 3 Nothing there
Probing /p...@1f,0/p...@1 at Device 4 Nothing there
Reset Control: BXIR:0 BPOR:0 SXIR:0 SPOR:1 POR:0
UltraSPARC-IIi 2-2 module
Probing Memory Bank #0 64 + 64 : 128 Megabytes
Probing Memory Bank #2 64 + 64 : 128 Megabytes
Probing UPA Slot at 1e,0 Nothing There
Probing /p...@1f,0/p...@1,1 at Device 1 pci108e,1000 network
Probing /p...@1f,0/p...@1,1 at Device 2 SUNW,m64B
Probing /p...@1f,0/p...@1,1 at Device 3 ide disk cdrom
Probing /p...@1f,0/p...@1 at Device 1 scsi disk tape scsi disk tape
Probing /p...@1f,0/p...@1 at Device 2 Nothing there
Probing /p...@1f,0/p...@1 at Device 3 Nothing there
Probing /p...@1f,0/p...@1 at Device 4 Nothing there
Sun Ultra 5/10 UPA/PCI (UltraSPARC-IIi 300MHz), No Keyboard
OpenBoot 3.31, 256 MB (60 ns) memory installed, Serial #10409842.
Ethernet address 8:0:20:9e:d7:72, Host ID: 809ed772.
============================================================
To finish, and out of curiosity, I tried to see if I could boot either
bsd or bsd.rd using Solaris's boot loader:
============================================================
# cp /root/bsd /bsd
# gunzip < /root/bsd.rd > /bsd.rd
# chmod 755 /bsd /bsd.rd
[...]
ok boot disk /bsd
Boot device: /p...@1f,0/p...@1,1/i...@3/d...@0,0 File and args: /bsd
Illegal Instruction
ok boot disk /bsd.rd
Resetting ...
[...]
Boot device: /p...@1f,0/p...@1,1/i...@3/d...@0,0 File and args: /bsd.rd
Fast Data Access MMU Miss
============================================================
Well, I didn't really expect that to work, but it was mildly
interesting to see that the little twirling thing from Solaris's boot
loader at least went on for a little while before giving an error
message.
Anyway, so I'm stuck. If anyone has an idea about what the problem
might be or how I could proceed from here, I'd really appreciate...
Thanks a lot,
Philippe