On 25/10/2024 00:10, Theo de Raadt wrote:
Miod Vallat <m...@online.fr> wrote:
6.2-6.9 install and boot fine. 7.0 will neither boot bsd.rd nor bsd. 7.1 had
trouble installing but booted, 7.2 installs and boots fine. From 7.3 upwards
bsd.rd boots and you can install but bsd will not boot and the emulator
crashes. People on #openbsd over on Libera have confirmed 7.6 boots just
fine so this is just an emulator problem and it is being reported to the
folks at qemu. I know this isn't a target of the sparc64 support. I did try
a snapshot and had the same result.
I am extremely surprised by your results, because the failure message
you are showing shows that the Open Firmware implementation provided by
qemu is incomplete, and as such is not able to fulfill the requirements
of the OpenBSD kernel (except for installation media), and the failure
ought to be the same regardless of the OpenBSD version being tested.
So the root cause might be different, with something the OpenBSD kernel
causing Open Firmware to clobber some of its own memory. Who knows.
Since OpenBSD runs on real hardware, that's something for the qemu
people to fix, there isn't much which can be done on the OpenBSD side of
things.
the openfirmware could be using more memory, during bootup. I think our
GENERIC.MP kernel is right at the edge of some limits.
Can you try with an unused big driver or two removed from the kernel?
That means you need to be able to build a new kernel. Maybe use the
non-MP GENERIC kernel.
I compiled a GENERIC kernel from a 7.6-current chroot with all usb, scsi
and radeon drivers removed:
5.4M Oct 25 22:15 bsd
11.4M Oct 25 18:13 obsd
it still crashes here:
cu -l /dev/pts/16 -s 9600
Connected.
Not a bootable ELF image
Not a bootable a.out image
Loading FCode image...
Loaded 6888 bytes
entry point is 0x4000
Evaluating FCode...
OpenBSD IEEE 1275 Bootblock 2.1
..>> OpenBSD BOOT 1.28
Trying bsd...
Booting /pci@1fe,0/pci@1,1/ide@3/ide@0/disk@0:a/bsd
4733256@0x1000000+1720@0x1483948+99420@0x1c00000+4094884@0x1c1845c
symbols @ 0xfee92400 234696+165+349608+211950 start=0x1000000
[ using 797448 bytes of bsd ELF symbol table ]
Unimplemented service set-symbol-lookup ([2] -- [0])
Unhandled Exception 0x0000000000000030
PC = 0x00000000011bc97c NPC =
0x00000000011bc980
Stopping execution
Half the size kernel yet still crashes.