- Embed 8x16 bitmap font (VGA-style) into
aether-user - Implement
Consolestruct with cursor position and scrolling - Rewrite
print!()to render text directly to framebuffer - Support basic ANSI escape codes (colors, cursor movement)
- Define input hypercalls (
AETHER_KEY_EVENT,AETHER_MOUSE_EVENT) - Implement keyboard event queue in kernel
- Forward
minifbkeyboard events to guest via shared memory - Add
read_key()andpoll_events()to guest SDK
-
AETHER_GET_TIME- System clock access -
AETHER_SLEEP- Guest sleep/yield -
AETHER_ALLOC- Dynamic memory allocation -
AETHER_EXIT- Clean guest termination
- Implement
/dev/kvmIOCTLs inlinux.rs - Create VM, vCPU, and memory regions
- Handle VM exits and hypercall dispatch
- Test on x86_64 and aarch64 Linux
- Use
windows-rscrate for WHP bindings - Implement
WHvCreatePartition,WHvSetupPartition - Memory mapping and vCPU execution
- Test on Windows 11 with Hyper-V enabled
- FreeBSD bhyve implementation
- NetBSD NVMM implementation
- OpenBSD vmm(4) implementation (requires nightly Rust)
- Embed
wasmiinterpreter in kernel - Define WASI-like imports for AetherOS
- Create
aether-wasmguest app loader - Support
wasm32-unknown-unknownbinaries
- ELF loader for Linux binaries
- Syscall translation layer (open, read, write, mmap)
- Basic
/procand/dev/nullemulation - Run simple CLI tools (busybox)
- VirtIO-net device emulation
- Simple TCP/IP stack in guest (
smoltcp) -
AETHER_NET_SEND/AETHER_NET_RECVhypercalls
- DRM/KMS framebuffer backend (bypass minifb)
-
/dev/input/eventXraw input handling - SELinux policy module for AetherOS service
- Magisk module for easy installation
-
init.rcservice definition - HIDL/AIDL GPU HAL client (if needed)
- Run as PID 1 replacement (advanced)
- UEFI bootloader (
uefi-rs) - Minimal aarch64/x86_64 kernel entry
- Page table setup and exception handlers
- Serial console output (UART)
- VirtIO device drivers (GPU, Input, Net, Block)
- Timer and interrupt controller (GIC/APIC)
- Run in QEMU first, real hardware later
- Option A: Linux driver wrapper (like Fuchsia)
- Option B: VirtIO-only (QEMU/Cloud focus)
- Option C: Libhybris for Android blobs
- Decision deferred until Phase 4 complete
| Priority | Phase | Effort | Impact |
|---|---|---|---|
| 🔴 HIGH | 1.1 TTY Console | 1 week | Enables debugging, demo-ready |
| 🔴 HIGH | 1.2 Input | 1 week | Interactive applications |
| 🟡 MED | 2.1 Linux KVM | 2 weeks | Server deployment |
| 🟡 MED | 3.1 WASM | 2 weeks | App ecosystem |
| 🟢 LOW | 4.x Android | 1 month | Mobile platform |
| 🔵 FUTURE | 5.x Hybrid Kernel | 3+ months | Full independence |
✅ Completed:
- Hypervisor.framework macOS backend
- 640x480 framebuffer graphics
- Universal ABI with hypercalls
- 8-platform CI matrix
- Cross-compilation for BSD family
⏳ In Progress:
- (Ready to start Phase 1.1)