Live data from Hacker News

Linux on ESP32

github.com

21–30 of 53 posts

Re: Linux on ESP32

#21
post #18
post #11

Earlier quoted context omitted.

Thanks for the links. This doesn't seem to be a true RISC-V MMU (according to the Sv32 specification) integrated into the CPU core itself, but just a peripheral designed for memory mapped SPI flash and PSRAM. So as far as I understand there is no true process isolation with page faults and dynamic paging.

Sv32 is what every 32-bit RISC-V CPU with an MMU uses. It is a full MMU. You can run Linux on it.

Sure, but what the S31 calls "MMU" is not an Sv32 MMU; therefore my comment.

Re: Linux on ESP32

#22

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 informat…

Given the context of a vibe-coded project, would it be reasonable to assume the example outputs are outright hallucinations, without seeing indisputable evidence to the contrary?

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.

Re: Linux on ESP32

#23
post #21
post #18

Earlier quoted context omitted.

Sv32 is what every 32-bit RISC-V CPU with an MMU uses. It is a full MMU. You can run Linux on it.

Sure, but what the S31 calls "MMU" is not an Sv32 MMU; therefore my comment.

The documentation states:

> Compliant with RISC-V Sv32 virtual memory scheme

https://documentation.espressif.com/esp32-s31_datasheet_en.p...

Re: Linux on ESP32

#24
post #23
post #21

Earlier quoted context omitted.

Sure, but what the S31 calls "MMU" is not an Sv32 MMU; therefore my comment.

The documentation states: > Compliant with RISC-V Sv32 virtual memory scheme https://documentation.espressif.com/esp32-s31_datasheet_en.p...

[deleted]

Re: Linux on ESP32

#25

Earlier quoted context omitted.

There is actually precedent for nommu Linux, though it obviously has tradeoffs.

Yeah, nommu Linux basically cannot run normal ELF since there is no virtual memory which is needed for relative addressing and relocations. You are mostly left with classical formats like AT&T a.out only

You wouldn’t be able to guarantee execution of arbitrary ELF, but couldn’t you intentionally build non-PIC-compiled ELF executables where the section base addresses as defined in the header must match the MMU region “slots” the host provides?

Re: Linux on ESP32

#26
post #19

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 es…

It takes no effort to play LLM or not, you don't need to know anything about the topic or put anytime into reading and understanding the submission, just find that em-dash and you can turn every discussion into meta slop.

Re: Linux on ESP32

#27
post #19

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 es…

It takes no effort to play LLM or not, you don't need to know anything about the topic or put anytime into reading and understanding the submission, just find that em-dash and you can turn every discussion into meta slop.

I also think an LLM isn't going to just spit this all out and viola, it boots. I imagine there were many rounds of jtag debug, copy/paste into the LLM prompt, with enough human knowledge/context to say the right thing, suggest some existing implementation snippet, etc.

Re: Linux on ESP32

#28

Looks interesting but wouldn't something like netBSD be a better fit?

Most ESP chips use FreeRTOS, and flash page caching support in hardware.

Unlike Multi-core Application processors which are a better fit for OS like BSD or Linux. =3

Re: Linux on ESP32

#29
post #23
post #21

Earlier quoted context omitted.

Sure, but what the S31 calls "MMU" is not an Sv32 MMU; therefore my comment.

The documentation states: > Compliant with RISC-V Sv32 virtual memory scheme https://documentation.espressif.com/esp32-s31_datasheet_en.p...

Ok, I see. The S3’s "MMU" is just an external-memory mapper, not a virtual-memory MMU. The S31 apparently has both, that mapper plus an architectural CPU-side Sv32 MMU; that offers indeed a lot of interesting possibilities. Even sel4 would run on this machine as it seems. The ARM world has no microcontroller with a true MMU as far as I know. Risc-V now has at least two (here is the other one: https://www.bunniestudios.com/blog/2026/baochip-1x-a-mostly-...).

Re: Linux on ESP32

#30
post #19

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 es…

> 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.

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.

Post reply on HN