In a fit of nostalgia I decided to boot SunOS 4.1.4 up under emulation using
qemu-system-sparc. It all seems to work, but I'm trying to remove an annoying manual step.
qemu-system-sparc like this:
#!/bin/sh exec qemu-system-sparc \ -rtc base=2009-12-13 \ -drive file=sunos-root.img,format=raw,bus=0,unit=3 \ -drive file=sunos-home.img,format=raw,bus=0,unit=1 \ -nographic \ -bios ss5.bin \ "$@"
This boots the root disk at SCSI target 3, which matches the Open Firmware devalias for disk:
ok devalias disk disk /iommu/sbus/espdma@5,8400000/esp@5,8800000/sd@3,0
Unfortunately, when booting with an Open Firmware ROM (like this one), something insists on setting the
diag-switch? setting to
true when the system boots:
Incorrect configuration checksum; Setting NVRAM parameters to default values. Setting diag-switch? NVRAM parameter to true
That means the system tries (and fails) to boot from the network, dropping to the
ok prompt, which requires me to type
boot disk to actually boot the system.
If I drop the SparcStation 5 ROM (i.e. get rid of the
-bios ss5.bin option), the system boots using OpenBIOS instead, which has a different problem: apparently the
disk alias in OpenBIOS doesn't point at target 3:
0 > boot disk Not a bootable ELF image Not a bootable a.out image No valid state has been set by load or init-program ok 0 > boot disk1 Not a bootable ELF image Loading a.out image... Loaded 7680 bytes entry point is 0x4000
Unexpectedly, the magic name is
So, I have a questions:
- Is there any way to resolve the
Incorrect configuration checksummessage that shows up when using Open Firmware? I suspect that would allow the system to boot correctly.
- Aternatively, is there any way to get OpenBIOS to boot from
disk1by default? You'd think that adding
-prom-env boot-device=disk1would do it, but that doesn't work.