Repository navigation
MerlionOS v100.1 — Performance & Stability Release
MerlionOS v100.1 — Performance & Stability Release
The first quality-focused release after v100. No new features — just making everything work better.
What Changed
🔧 Boot Fix: Lazy Module Initialization
- Problem: 154 module
init()calls at boot consumed >8MB heap, causing OOM panic — the kernel couldn't even reach the shell - Fix: Only 30 essential modules init at boot, rest are lazy-loaded on demand
- Result: Boot heap reduced from 8MB (still OOMing) to 2MB (works perfectly)
- This also fixed the "vim keyboard not working" bug — the kernel was crashing before reaching the shell
📦 Shell Refactor
- Split
shell.rsfrom 3,882 lines (956 match arms) into modular structure shell.rs(302 lines) — core input handling, coordinatorshell_cmds.rs(3,662 lines) — 10 category-based dispatch functions- Much easier to find, modify, and add commands
⚡ VFS Path Cache
- Added FNV-1a hash-based path cache (256 entries) to VFS
- Path lookups go from O(n) linear scan to O(1) hash lookup
- Cache populated on file create, invalidated on delete
🖥️ UEFI Boot Completion
- Applied same lazy-init fix to Limine UEFI boot path
- UEFI boot now works without OOM, matching BIOS boot reliability
🧪 Automated Smoke Tests
- New
make test-smoke— boots QEMU, logs in, runs 7 commands, verifies output - 11/11 tests passing: boot, heap, login, help, info, uptime, ps, heap, ls, whoami
- Uses QEMU monitor + socat for keystroke injection
Stats
- 132,618 lines of Rust
- ~360 modules (30 boot-essential, ~330 lazy)
- 2MB heap (down from 8MB)
- 0 errors, 0 warnings
- 11/11 smoke tests passing
Upgrade
git pull
cargo clean
make build
make run # boots to shell in seconds
make test-smoke # run automated testsBorn for AI. Built by AI. Now actually works properly. 🦁