I have a laptop that will not allow anything but UEFI and I must run FreeDOS… (or one of many other OSes that wont boot via UEFI)
Is there a UEFI Bios shim? UEFI thinks it is an OS, but It loads the BIOS boot block and runs it?
Is that even possible?
“UEFI does have a legacy compatibility layer” And this is how one may have a “system firmware” that allows both. Could DOS be made UEFI compatible maybe by loading a .sys driver or maybe by replacing io.sys with one that made use of UEFI?
In the early days (before everyone started cloning the IBM PC) replacing IO.SYS was indeed how MS-DOS was ported to other platforms, and so I suppose in theory that could work. However:
Honestly, if I were trying to do something like this I’d probably shoot for a very minimal Linux image that boots directly into something like QEMU/KVM running directly against the Linux framebuffer/KMS API, since the kernel would then presumably provide drivers for the real hardware (instead of using the more limited drivers in the UEFI firmware) and QEMU can already emulate various legacy hardware that software of the DOS era tends to expect to directly communicate with.
Of course, that’s not nearly as satisfying a solution as running directly as a UEFI application! I’m just concerned that UEFI isn’t really designed to provide equivalent services to IBM-style BIOS, so it would be an uphill struggle.
I think I read this is how HP supplies their “no OS” machines - a very thin Linux with a VM running the FreeDOS fullscreen.