Obviously vibecoded but interesting nevertheless. The agent left everything marked as untested in the README but the output snippets toward the bottom imply that it got something working enough to log in and run some commands.
Nobody is going to mistake this for a carefully crafted port of Linux but it at least serves as a proof of concept.
The real downside of the vibecoding is that we don’t get any helpful information about what it took to get it done with thoughtful analysis from a human. Just a chunk of code in a GitHub repo with some half-coherent README. There’s a docs folder, but the documentation about the MMU part just says that there are two MMUs across a couple lines of notes. Okay, great.
> In mainline linux, XIP support on RISC-V was removed, so 6.12 was used instead which has proper XIP support.
Doesn't that put it in an awkward position relying on a dead end feature?
Looks interesting but wouldn't something like netBSD be a better fit?
How can it run when there is no MMU? Isn't this like rewriting a large part of the kernel?
When can we run doom on it?
Have a try.
The responses all seem a little harsh. If you poke through the user's history, this kind of thing isn't new for them, going back to pre-LLM-could-do-this days.
I think the docs are light because the primary goal for them is not to provide everyone with a well documented linux on esp-32-s31 guide, but rather this that they shared:
"I'm currently working on a hackable music player and I used to prototype with the OG esp32, and tbh if I wasn't for Bluetooth audio I'd move on to S3 already" ( from the links in this comment https://news.ycombinator.com/item?id=49134987 )