Earlier quoted context omitted.
This is explained well in the Technical Notes section of the site. http://bellard.org/jslinux/tech.html
I saw that, but I don't understand how it's booted.
- Loads the linux binary and the root memory disk image into 'memory' at the expected addresses (0x100000 and 0x400000, respectively)
- Sets the interpreted x86 CPU's EIP to the kernel's entry point
- Initializes additional requisite register state
- Starts execution.
Take a look at load_binary() and start() functions.
[edit] rickard already discussed this here: http://news.ycombinator.com/item?id=2555552