I modified the subject of the thread. First of all I am not a software
developer. I started out using MS-DOS
and later moved to OS/2. I still use ArcaOS an my main OS these days
(OS/2 version). It runs on bare metal with UEFI support.
A small company called Arca Noae LLC has developed a UEFI loader for
ArcaOS. They way I understand this is possible as the UEFI simply
switches the Intel CPU to well 4 GB protect mode (legacy mode).
But with OS/2 this is easier then DOS as it does not lean that hard on
the BIOS after the OS has started. With DOS and Freedos this is most
likely more complex as it is more depended on the BIOS.
I have never liked virtualization from a "fun" perspective. I like it
when an OS runs bare metal. I do not want to start a full blown Linux
Desktop then start Virtualbox and run ArcaOS or MS-DOS.
I like the OS to be really lean where possible. With the current X86S
project coming up this is bad news for FreeDOS as this would also
possibly kill hardware virtualisation in for example Virtualbox.
QEMU can do full CPU instruction I understand and you can run this way
FreeDOS also on an ARM CPU. But the question is how close can you bring
FreeDOS to the hardware.
I have always wondered if you can not stick QEMU directly in a UEFI
loader. But how would QEMU then work for Freedos ?
Well the crucial idea is that the UEFI loader never makes the call
ExitFromBootServices(). Instead QEMU uses the disc and USB services
offered by the UEFI firmware.
QEMU becomes native UEFI app.
When comes to being direct the video output is send directly the UEFI
GOP frame buffer. QEMU then uses the UEFI disc services to read/write
the FAT 32 volume on disc.
You would still have a VM but its as close to the hardware as possible
:-) This sollution might even work then on ARM CPU's and systems with
X86S. As the UEFI loader would provide the X86 instruction chipset.
I have also read that you can use multiple CPU's cores in EFI apps. I do
not know if this can help speed up the performance somehow.
Again I am not a developer, the whole idea was inspired by this project:
https://github.com/shadlyd15/NesUEFI
As NES emulator build inside a UEFI loader and it does not even use any
other OS it uses the UEFI services.
Effectively UEFI is as system BIOS from my perspective. The big
difference with a legacy BIOS is the "ExitFromBootServices". As UEFI
expects the OS to tale over.
Your thoughs and comments are welcome.
Roderick
On 10/29/24 08:20 pm, Michał Dec via Freedos-user wrote:
If you can make a Libreboot firmware for your motherboard with CSM
support then yes.
W dniu 29.10.2024 o 20:08, Balázs Szulovszky via Freedos-user pisze:
Would it be possible to use Libreboot as an UEFI replacement for FreeDOS?
Ekkor: K, okt. 29, 2024 19:58, Jim Hall via Freedos-user
<freedos-user@lists.sourceforge.net
<mailto:Ekkor:%20K,%20okt.%2029,%202024%2019:58,%20Jim%20Hall%20via%20Freedos-user%20%3C%3Ca%20href=>>
írta:
Rover wrote:
> > Wish Intel would create a BIOS emulation layer for booting
DOS/FreeDOS
> > via EFI/UEFI. Ridiculous EFI/UEFI has no emulation layer for
booting
> > older operating systems!
[..]
> > However, all likely outside the whelm [realm?] of FreeDOS.
Ralf Quint wrote:
> Indeed. It would technically not impossible to create a boot "OS",
that
> boots on a UEFI system, and then provides a BIOS emulation layer to
> allow for DOS (or other disadvantaged OS) to boot. But it is
technically
> rather challenging for any outsiders to create something like
this, as
> it requires to support all the various low level hardware out there
> these days....
+1
This would require creating some kind of UEFI "shim" that boots the
PC, provides BIOS services, then loads FreeDOS within that context.
It's not impossible, but very very hard (requires a ton of effort)
because you need to replicate the environment services that were
provided by default through hardware on a classic PC using BIOS.
UEFI actually provided this kind of emulation using "Legacy" mode. But
that support was dropped by Intel around 2020. It's UEFI-only since
then, no "Legacy" support to provide any kind of BIOS.
One workaround (used on some HP laptops) is to book a minimal Linux
environment, then launch a virtual machine like QEMU to boot FreeDOS.
But this loads an operating system just to load another operating
system. I suppose if you need hardware that is dedicated to running
DOS, that's a solution.
_______________________________________________
Freedos-user mailing list
Freedos-user@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/freedos-user