This commit is contained in:
38
content/news/20251006-bringing-bios-support.md
Normal file
38
content/news/20251006-bringing-bios-support.md
Normal file
@@ -0,0 +1,38 @@
|
|||||||
|
+++
|
||||||
|
title = 'ExectOS Expands Beyond UEFI: Bringing BIOS Support'
|
||||||
|
author = 'Aiken Harris'
|
||||||
|
date = '2025-10-06T10:36:18+01:00'
|
||||||
|
+++
|
||||||
|
When we first started building ExectOS, we envisioned it as an operating system designed exclusively for UEFI-based
|
||||||
|
systems. Over time, however, we realized that this requirement was an artificial limitation. Today, we are excited to
|
||||||
|
announce that we have begun taking concrete steps toward supporting traditional PC/AT hardware with classic
|
||||||
|
BIOS - broadening the reach of ExectOS to a much wider range of systems.
|
||||||
|
<!--more-->
|
||||||
|
|
||||||
|
## First Steps Toward BIOS Compatibility
|
||||||
|
We have already implemented an MBR boot sector and updated our CMake configuration to support BIOS-based emulation. As
|
||||||
|
of now, ExectOS can be launched in several new testing configurations:
|
||||||
|
* **bochsvm**: Bochs with BIOS
|
||||||
|
* **testkvm/testtcg**: QEMU with classic BIOS (with KVM/WHPX acceleration or TCG without acceleration)
|
||||||
|
* **testefikvm/testefitcg**: QEMU with modern UEFI (with or without acceleration), as before
|
||||||
|
|
||||||
|
This means developers can now experiment with ExectOS under both UEFI and BIOS environments using familiar tools like
|
||||||
|
Bochs and QEMU.
|
||||||
|
|
||||||
|
## A Unified Boot Partition Model
|
||||||
|
To simplify BIOS support, we are introducing a dedicated BOOT partition - similar to the recommended practice on
|
||||||
|
Unix-like systems and analogous to the ESP (EFI System Partition) used by UEFI. Our bootloader will exclusively support
|
||||||
|
FAT32 on this partition. It will house the bootloader itself, its configuration, and all modules. In other words, we are
|
||||||
|
effectively bringing the concept of the ESP from the UEFI world into the BIOS realm.
|
||||||
|
|
||||||
|
## What's Next?
|
||||||
|
Full BIOS support is still some way off. The current MBR implementation and CMake adjustments are just the first step. We
|
||||||
|
still need to:
|
||||||
|
* Implement a VBR (Volume Boot Record) capable of locating and loading files from disk
|
||||||
|
* Develop a preloader to prepare the environment for the main bootloader (enabling paging, long mode, etc.)
|
||||||
|
* Significantly refactor XTLDR, to eliminate assumptions about UEFI, such as memory allocation APIs
|
||||||
|
* Ensure all modules are environment-agnostic, running seamlessly on both BIOS and UEFI systems
|
||||||
|
* Move PE/COFF file handling from the module level into the main XTLDR code
|
||||||
|
|
||||||
|
While there is still a long road ahead, this change opens up new possibilities for ExectOS. By removing the UEFI-only
|
||||||
|
limitation, we are making the system more flexible and accessible.
|
Reference in New Issue
Block a user