Skip to content

MerlionOS v0.2.0 — Full Roadmap Complete

Choose a tag to compare

@lai3d lai3d released this 15 Mar 11:53
· 181 commits to main since this release

MerlionOS v0.2.0 — Full Roadmap Complete

All 16 development phases delivered. From bare-metal boot to a feature-rich hobby OS.

Stats

  • 27 source modules, ~4,100 lines of Rust
  • 30+ shell commands
  • 7 syscalls
  • 16 phases from zero to a functional OS

What's New Since v0.1.0

Phase 11 — RTC & Testing

  • CMOS real-time clock with date command
  • 15 built-in kernel self-tests (test command)
  • lib.rs refactor for module reuse

Phase 12 — Graphics

  • 160×50 software framebuffer via VGA half-block characters (▀▄█)
  • Drawing primitives: pixel, line (Bresenham), rect, circle (midpoint)
  • Singapore flag demo (gfx command)

Phase 13 — Storage

  • PCI bus enumeration (lspci command)
  • 128K RAM disk with custom "MRLN" flat filesystem
  • format, disk, dls, dsave, dload commands

Phase 14 — Networking

  • IPv4/UDP types, MAC/IP address formatting
  • Loopback network interface with packet queue
  • ifconfig, send, recv commands

Phase 15 — SMP

  • CPUID leaf parsing: vendor, brand, family/model/stepping
  • Feature detection: APIC, x2APIC, SSE, SSE2, AVX
  • Per-CPU state tracking, cpuinfo command

Phase 16 — User-Space Library

  • Rust syscall wrappers: write, exit, yield, getpid, sleep, send, recv
  • Convenience functions (println, write_num) without allocator
  • Example user programs in Rust

Full Feature List

Category Features
Boot Bootloader 0.9, VGA banner, serial logging
CPU GDT+TSS, IDT, PIT 100Hz, CPUID, APIC detection
Memory Frame allocator, 64K heap, per-process page tables
Tasks Preemptive round-robin, context switch, spawn/kill
User-mode Ring 3 via iretq, int 0x80 syscalls, page table isolation
IPC Bounded channels, producer/consumer
Filesystem VFS (/dev, /proc, /tmp), RAM disk with MRLN format
Graphics 160×50 framebuffer, 16 colors, drawing primitives
Network IPv4/UDP loopback, ifconfig
Drivers Registration framework, 7 built-in drivers
Shell 30+ commands, ANSI colors, PS/2 keyboard
System RTC clock, ACPI shutdown/reboot, PCI scan