First post, by mr.cat
(Cue prof. Farnsworth voice:)
Good news, everyone!
This oughta be interesting to someone (hi, digger!) 😁
First things first: "progress" here simply means results other than black screen, sorry to get your hopes up 😁
And apologies if this is old and boring stuff. If that is the case, please share your experience with SeaBIOS 😁
In the PCem v17 thread, there was a little bit of talk about the possibility of using SeaBIOS for booting.
It's interesting for emus because it has a nice license, so it could be distributed easily (but ofc there are other interesting aspects about it).
Since SeaBIOS supports the 440FX chipset (which is also used by Bochs) that seems like the easiest one to start out with.
PCem does offer Intel VS440FX, but I had no luck with that. So I turned my focus to 86Box next, where there's a bit more variance on the 440fx front.
Yep you guessed it...long story short, it sorta works!
I see some Bochs startup messages, it then bombs out with "Press F12 for boot menu" followed by "FATAL: No bootable device."
So yes some pieces are missing, but to me this was a nice and welcome surprise indeed.
I originally assumed there would be more to this than "just" chipset support (well maybe there is - I don't know what magic goes on behind the scenes).
Here's the guest hw :
Tested virtual mobos: Gigabyte GA-686NX (aka 686nx), Acer V60N, Micronics M6Mi, PC Partner MB600N, ASUS KN97 (others probably work if you get the BIOS files sorted).
Also tested with a i430VX one: Shuttle HOT-557 and that one also works.
Pentium or P2 Overdrive, 8MB
EGA
(PCI Cirrus Logic CL-GD 5430 also works, probably other VGA too)
Note that I didn't do any special trickery here, I just copied the "BIOS-bochs-latest" (MD5SUM: 6e0d2b4b4f64a6a085001139f904e3c3) from Bochs to the roms/machines/686nx directory (replacing the original 6nx.140 BIOS file there). Also if there are related cached files in the "nvr" directory, they need to be removed first.
Btw I'm on Linux which means I have to use Wine to run 86Box, but it seems to work well enough for the purposes of this test.
Now a boot BIOS isn't very useful if it isn't, you know, actually booting. So any progress on this front would be welcome!
EDIT: So I'm late to the party it seems. OK so initialization is an issue, but somehow it isn't an issue for coreboot?
https://github.com/86Box/86Box/issues/120
Also I noticed there's now "Virtual PC 2007" available in 86Box so that's a bit similar to this.
EDIT2: OK some progress thanks to superfury. I think I understand the problem (and the reluctance to add this) a little better now.
There's the difference between virtual/idealized platform and a real (albeit emulated) one that causes problems with the Bochs version of SeaBIOS.
So, CD-ROM boot can be forced by editing rombios.c. If you want to see the various and amusing ways ISO booting can fail, this is the way to do it...
For example NetBSD here, (very) slowly boots up to a black screen, flickers a bit and then does a reset.