ZuluSCSI / ZuluSCSI-firmware

Firmware for the ZuluSCSI advanced SCSI emulator
https://zuluscsi.com
Other
184 stars 20 forks source link

Boot of Solaris 8 02/02 ISO Image Fails on Sun4m (Axil 255/SS5) #443

Closed ajacocks closed 3 months ago

ajacocks commented 3 months ago

Booting of a Solaris 8 02/02 ISO image fails with an error of:

Cannot mount root on /iommu@0,10000000/sbus@0,10001000/espdma@4,8400000/esp@4,8800000/sd@6,0:b fstype ufs

panic[cpu0]/thread=f0244020: vfs_mountroot: cannot mount root

The machine in question is an Axil 255, which is a clone of the Sun SPARCstation 5. It uses the same SCSI controller as the SS5 does.

zululog.txt zuluscsi.ini.txt

The ISO image in question has multiple slices/partitions, as do all Solaris installation CD images:

$ sudo kpartx -av /run/media/ajacocks/0123-4567/CD6-solaris_8_0204_disk1.iso 
add map loop0p1 (254:0): 0 1006720 linear 7:0 0
add map loop0p2 (254:1): 0 184320 linear 7:0 1006720
add map loop0p3 (254:2): 0 5120 linear 7:0 1191040
add map loop0p4 (254:3): 0 5120 linear 7:0 1196160
add map loop0p5 (254:4): 0 5120 linear 7:0 1201280
add map loop0p6 (254:5): 0 5120 linear 7:0 1206400

This doesn't appear to be a disk read error, as I see no messages of the type, more that the CD image isn't being recognized correctly.

I attempted to use PowerISO to convert the .iso to a .bin/.cue pair, but that produced this:

ok boot cdrom
Boot device: /iommu/sbus/espdma@4,8400000/esp@4,8800000/sd@6,0:d  File and args:
Bad magic number in disk label
Can't open disk label package

Can't open boot device
aperezbios commented 3 months ago

@ajacocks thanks for the report, and apologies for the delayed response. I was on vacation when you opened this issue.

In examining the log file, I see the following: Using custom block size, 8 from filename: CD5-solaris_8_0204_disk2.iso

This is likely the underlying cause of the problem. There needs to be a space between CD5 and the remainder of the filename, as wel as the other images you're using. Everything after the space will be ignored by the file name parser, but since there's no space, the firmware is interpreting the "8" in the filename as the block size. Please report back with the results, after you've re-named the file.