https://lore.kernel.org/lkml/618f3602-03aa-46a8-b2d4-3c9798c4cd2b@icemanor.se/
Port of Linux to WebAssembly
A bit late but in that same space for anyone who is interested, but I was wondering how different this would be from compiling user mode linux to WebAssembly:
https://popovicu.com/posts/linux-vm-without-vm-software-user-mode/
Feels like a similar but distinct direction
UML needs ptrace and mmap support, which wasm doesn't have.
They could probably be stubbed or replaced, right? There has certainly been some discussion about mmap like interfaces (though none that I know of for something like ptrace)
Right, the Linux kernel in this demo is built with NOMMU per the notes at https://joelseverin.github.io/linux-wasm/. I suspect that the "memory control" proposal wouldn't be detailed enough for the page-by-page support plus the "address space switching" that the kernel would expect in a normal MMU configuration, but in theory one could design a followup that would do that. Likewise proper thread suspension/preemption could probably be built as a proposal on top of continuations plus shared-everything threads, somehow (handwave...). It's a fantastically cool technology demo regardless!
Last updated: Dec 06 2025 at 05:03 UTC