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