Designing BIOS and DOS Portable for UEFI-only machines
Posted: Sun Nov 26, 2017 11:24 am
I've been thinking in the possibility of UEFI-only machines given another topic around here that stated the plan of manufacturing UEFI-only, BIOS-less machines by 2020.
I think that BIOS PCs (UEFI working on top of BIOS) will always exist to keep using old compatible software like important versions of Linux, Windows, etc., and to provide easy access to the hardware.
But I've been thinking that with an UEFI-only machine, we could build an OS image that instead of loading an OS, could build the BIOS areas and go back to Real Mode from 32 or 64-bit UEFI, and from there, we could treat it as a standard BIOS-equipped machine.
If that wasn't possible for any reason, we could design a "BIOS Portable" project, that could be compiled for 16, 32 or 64-bit, and also a "DOS Portable" based on FreeDOS. With that combination, we could have a BIOS-equipped system with a BIOS call structure such that it could be used portably across modes.
By that time (2020), we could make that our BIOS/DOS versions use native drivers from their original driver CDs/media. In this way we could internally use native network, graphics, sound, TV and other drivers whenever we find nonstandard hardware, as is the case currently.
We could leave the machine in a fully predictable and simple state before leaving UEFI and passing control to our software.
It could be that UEFI-only machines could cause the modernization of the known structure and set of BIOS and DOS calls to fully native 32 and 64-bit modes. The intention as always would be to allow simple full access to the hardware with a small system as is BIOS/DOS. With that simplicity and by being able to use native drivers, we will be able to keep using BIOS/DOS as a backwards compatible platform, and since it will be relatively simple in its base, it will allow us to keep learning the actual details of the machine easily and with a known standard way, and also use DOS as a very capable standard loader for our OSes.
It seems to me that if UEFI-only machines arise as the common rule for part or all of future PCs, it will only make the known standards of the PC reach a stability milestone. Current BIOS/DOS-based standards will no longer change, would no longer move, and that would allow us to study them without fear of them changing. They will reach maturity, and that will give a definitive reference of what and how to reimplement a BIOS32/BIOS64 that we would load from UEFI for it to take full control.
With that, DOS could become a part of our BIOS32/BIOS64 portable system software design, started in a known state for all peripherals, and from there we would be free to load native drivers from the console, and we would have a very standard PC. It will probably end up taking us much nearer to the effort of making our own PCs from scratch, from the motherboard, but it looks that logically such is the task of operating system development. If we want PCs standard the way we need and like, we will need to make them ourselves at some point.
I think that BIOS PCs (UEFI working on top of BIOS) will always exist to keep using old compatible software like important versions of Linux, Windows, etc., and to provide easy access to the hardware.
But I've been thinking that with an UEFI-only machine, we could build an OS image that instead of loading an OS, could build the BIOS areas and go back to Real Mode from 32 or 64-bit UEFI, and from there, we could treat it as a standard BIOS-equipped machine.
If that wasn't possible for any reason, we could design a "BIOS Portable" project, that could be compiled for 16, 32 or 64-bit, and also a "DOS Portable" based on FreeDOS. With that combination, we could have a BIOS-equipped system with a BIOS call structure such that it could be used portably across modes.
By that time (2020), we could make that our BIOS/DOS versions use native drivers from their original driver CDs/media. In this way we could internally use native network, graphics, sound, TV and other drivers whenever we find nonstandard hardware, as is the case currently.
We could leave the machine in a fully predictable and simple state before leaving UEFI and passing control to our software.
It could be that UEFI-only machines could cause the modernization of the known structure and set of BIOS and DOS calls to fully native 32 and 64-bit modes. The intention as always would be to allow simple full access to the hardware with a small system as is BIOS/DOS. With that simplicity and by being able to use native drivers, we will be able to keep using BIOS/DOS as a backwards compatible platform, and since it will be relatively simple in its base, it will allow us to keep learning the actual details of the machine easily and with a known standard way, and also use DOS as a very capable standard loader for our OSes.
It seems to me that if UEFI-only machines arise as the common rule for part or all of future PCs, it will only make the known standards of the PC reach a stability milestone. Current BIOS/DOS-based standards will no longer change, would no longer move, and that would allow us to study them without fear of them changing. They will reach maturity, and that will give a definitive reference of what and how to reimplement a BIOS32/BIOS64 that we would load from UEFI for it to take full control.
With that, DOS could become a part of our BIOS32/BIOS64 portable system software design, started in a known state for all peripherals, and from there we would be free to load native drivers from the console, and we would have a very standard PC. It will probably end up taking us much nearer to the effort of making our own PCs from scratch, from the motherboard, but it looks that logically such is the task of operating system development. If we want PCs standard the way we need and like, we will need to make them ourselves at some point.