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 )
Is there another set of comments or history I should be looking at? The only pre-LLM comment is about doing a prototype for something with the old ESP32. That was a common hobby microcontroller introductory project, but there’s a world of difference between playing with an OG ESP32 and porting MMU Linux to a new platform.
I think we should be honest about what this is: Someone spent their tokens letting an agent attempt bring up of Linux on the platform and it got something to work. I’m appreciative that it was shared. However, given the lack of useful documentation (the key MMU doc is basically empty) and the lack of other explanations, I don’t think we should be reading more into this than as a pure LLM agent proof of concept.
You may not be familiar with modern LLM tools.
You don’t need to copy/paste anything. You can easily instruct your agent to access the serial port and JTAG debugger and it will easily handle it through subsessions.
The tools have moved rapidly this year. Something like this is entirely doable by attaching the right cables, telling the agent where to access everything, and then keeping it fed with enough tokens to keep going.
There are some amazing projects doing reverse engineering or porting to micros fully automated. The results are still full of typical LLM output problems, but it’s amazing what can be brute forced with enough tokens in an LLM loop.
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.
Sad that’s where my mind goes, but this is what the world has been training me to believe. And these doubts now eclipse the skepticism that I developed toward things that humans posted on the internet.
Lies, damn lies, and LLMs.
Doesn't that put it in an awkward position relying on a dead end feature?
Unlike Multi-core Application processors which are a better fit for OS like BSD or Linux. =3
The author has more details in this reddit post: https://eddrit.com/r/esp32/comments/1vait52/mmu_linux_on_the... And the docs section of the repo: https://github.com/GrieferPig/esp32-s31-linux/tree/main/docs...
> Compliant with RISC-V Sv32 virtual memory scheme
https://documentation.espressif.com/esp32-s31_datasheet_en.p...