Morphic - an experimental Zig system running real Alpine software
Posted: Sat Aug 15, 2026 5:24 am
Hey! I'm new here and wanted to share something I've been working on.
Morphic started after I saw projects like SlopOS and wondered how far I could get building a systems project with coding agents. Originally I was just going to try making a desktop, but that felt a little too straightforward.
So I started wondering: how little operating system do we actually need underneath real software?
That's what Morphic has become.
It's written in Zig and currently targets RISC-V. Rather than replacing programs with my own versions, I'm using unchanged Alpine Linux software as pressure against Morphic. Something breaks, I figure out what capability is actually missing, implement the smallest general mechanism I can, and run it again.
Right now it can execute the real Alpine v3.22 BusyBox/musl environment, maintain a persistent BusyBox shell, execute external commands, enumerate and read the Alpine filesystem, maintain cwd, and we're currently working through writable state, descriptor/redirection semantics and eventually pipes.
The longer-term idea is to keep throwing increasingly complicated real software at it and see whether the amount of new machinery Morphic needs starts getting smaller.
AI coding agents are heavily involved in the implementation, and I'm not trying to hide that. I direct the architecture and experiment, review what gets merged, and the repository is deliberately structured so short agent runs can inherit tests, failures, evidence and handoffs from previous runs.
I'm very new to this community, so criticism is welcome, particularly if you see places where I'm accidentally reinventing Linux instead of finding a more general mechanism.
Github:https://github.com/BigZig2000/Official-Morphic
Morphic started after I saw projects like SlopOS and wondered how far I could get building a systems project with coding agents. Originally I was just going to try making a desktop, but that felt a little too straightforward.
So I started wondering: how little operating system do we actually need underneath real software?
That's what Morphic has become.
It's written in Zig and currently targets RISC-V. Rather than replacing programs with my own versions, I'm using unchanged Alpine Linux software as pressure against Morphic. Something breaks, I figure out what capability is actually missing, implement the smallest general mechanism I can, and run it again.
Right now it can execute the real Alpine v3.22 BusyBox/musl environment, maintain a persistent BusyBox shell, execute external commands, enumerate and read the Alpine filesystem, maintain cwd, and we're currently working through writable state, descriptor/redirection semantics and eventually pipes.
The longer-term idea is to keep throwing increasingly complicated real software at it and see whether the amount of new machinery Morphic needs starts getting smaller.
AI coding agents are heavily involved in the implementation, and I'm not trying to hide that. I direct the architecture and experiment, review what gets merged, and the repository is deliberately structured so short agent runs can inherit tests, failures, evidence and handoffs from previous runs.
I'm very new to this community, so criticism is welcome, particularly if you see places where I'm accidentally reinventing Linux instead of finding a more general mechanism.
Github:https://github.com/BigZig2000/Official-Morphic