FreeDOS .img was burned to a USB drive via balena etcher.
A UEFI only desktop does not recognize the FreeDOS USB stick for boot. USB bootup tests, on a BIOS laptop, indicates a successful legacy boot.
QUESTIONS
- What is required to be UEFI bootable?
- Is it possible to change the Partition table from MSDOS to GPT?
UPDATE
The Dell 7010 desktop firmware is old and for some reason: only UEFI boot. The Legacy boot option is greyed-out. Booting from the DVD/CD is not possible
The goal is to update the firmware with a DOS executable provided at this link:
https://www.dell.com/support/home/en-us/drivers/DriversDetails?driverId=5M70H
FreeDOS assumes a BIOS, and does not work with UEFI
The FreeDOS wiki page wiki.freedos.org/wiki/index.php/UEFI tells us that it does not work:
Almost all UEFI systems today (2021) can boot also in BIOS mode alias CSM alias legacy mode. But we can expect that in the future many PC computers will be delivered with UEFI/BIOS systems that boot only in UEFI mode.
A workaround to run FreeDOS would be to install it in a virtual machine and set this virtual machine to boot in BIOS mode alias CSM alias legacy mode. You can use VirtualBox for that purpose. (But you cannot flash the computer's BIOS that way.) There is also DOSBox, an x86 emulator with DOS.
Edit 1:
I found this link, that might be helpful:
wiki.archlinux.org/index.php/Flashing_BIOS_from_Linux
Edit 2:
Flashing BIOS from Windows PE
It is possible to run Windows PE also in UEFI mode. The standard procedure is to use your own or a friend's Windows 10 system to create a Windows PE system in a USB pendrive or CD/DVD disk.
When booted from Windows PE you can flash the BIOS.
According to this link it can be redistributed for non-commercial purposes (so OK to use a Windows PE made in a friend's Windows system).
If I remember correctly that Legacy Boot is usually greyed out because "Secure Boot" is enabled in another menu page. Once it is disabled the option to use Legacy Boot becomes available.
This information can also be found in the DELL FAQ found at:
https://www.dell.com/support/kbdoc/en-bb/000133480/uefi-and-secure-boot-faqs
What we need, (as far as I can see) to support this, would effectively be a BIOS implimentation built into a UEFI boot loader. (ie. all the usual BIOS interrupt APIs)
So you boot BIOS code (or at least a reasonably complete CSM) via UEFI, and then that boots DOS. There may still be issues with MBR, and x64 only booting. It's extremely difficult to drop to 16-bit mode, let alone add a 32-bit DOS extender after that, once you've jumped to x64 mode... and impossible (I believe) in IA-64. That's part of what UEFI was meant to solve, and why EFI was the solution for everything except x86/64 systems for so long. (it needed the "Universal" extensions to go from EFI to UEFI before they could use it on that [frankly, PIFA] platform)
However, short of IA64, I think it would be possible using virtualisation technologies and exception handlers to "emulate" problem instructions. Any system which would present these issues will also have so much horsepower to spare, that the extra steps (and expensive context switching) would be more of a headache for the OS developers than users.
Remember, we have Open Source BIOS code built into various VM solutions, including QEMU and VirtualBox. It's only that they expect an OS with drivers for available hardware, and the only OS you'll have available will be the UEFI firmware.
As an alternative tactic:-
You may be able to install a Linux system and run freeDOS under KVM, with PCI pass-through for as much hardware as possible. That should work using current software technology..? Bearing in mind that DOS is really meant for ISA systems, not PCI ones anyway.