A 64bit OS
- Boot via UEFI ✅
- Boot via GRUB ✅
- Load kernel from AHCI ✅
- Read filesystem from AHCI ✅
- Write filesystem from AHCI ✅
- Load drivers ✅
- Edit text files
- Use FASM to assemble programs ✅
- Send messages to IRC client
To build the system, you need to have the following for the first time:
- Download the GNU-EFI folder and extract it in a location
- CD into this GNU-EFI folder
- Put OVMF.fd in this folder
- clone this project in this folder
- Define the variable
${SANDEROS_MOUNT_POINT}
with the place where to install everything - Define the variable
${SANDEROS_CROSS_LOCATION}
with the place of the cross compiler
After this , in the root folder of the project:
- Use
./build
to build the base of the project - Use
./build --install
to install the project at the system - Use
./build --emulate
to create a diskimage and use qemu to emulate the project
Currently the following devices are supported:
- ❓ unknown
- ❌ not supported
- ✅ works
- 🐛 partly working
Devicename | VirtualBox | Qemu | Bochs | Real hardware |
---|---|---|---|---|
ahci - ATA | ✅ | ✅ | ❓ | ✅ |
comport | ✅ | ✅ | ❓ | ❓ |
e1000 | 🐛 | ❓ | ❓ | ❓ |
ehci (usb2) | ❌ | ❌ | ❓ | ✅ |
ps2 keyboard | ✅ | ✅ | ❓ | ✅ |
rtl | ❓ | 🐛 | ❓ | ✅ |
usb MSD | ❓ | ❓ | ❓ | ✅ |
xhci (usb3) | ❌ | 🐛 | ❓ | 🐛 |
fs: fat32 | ✅ | ✅ | ❓ | ✅ |