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
./buildto build the base of the project - Use
./build --installto install the project at the system - Use
./build --emulateto 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 | ✅ | ✅ | ❓ | ✅ |