Live data from Hacker News

Boot a linux kernel right inside your browser.

bellard.org

161–170 of 255 posts

Re: Boot a linux kernel right inside your browser.

#161
post #90

Earlier quoted context omitted.

Indeed, this is completely awesome. I first thought it was some remotely hosted virtual machine, but it really runs inside the browser. Insane! Especially considered how fast it is. When he adds X, we can run Firefox inside Linux inside Firefox inside Linux :') Edit: seems the terminal emulator supports ANSI escape codes such as the 16 Linux colors, but not the XTerm 256 color mode (\e[38;5;CCm) or Konsole 24 bit (\e…

> When he adds X, we can run Firefox inside Linux inside Firefox inside Linux :') Skip the middle man, output gtk via html5 http://blogs.gnome.org/alexl/2011/03/15/gtk-html-backend-upd... (I don't actually know if it still has dependencies on X11 :P)

Gecko's GTK backend has dependencies on X11, if that's what you were asking about.

Re: Boot a linux kernel right inside your browser.

#162
post #42

Feel bad to miss out on this as I am on FF 3.6. But this remind reminded me of a service from a long time ago. Dont remember their name, this was some 10 years ago. But they used to provide a KDE desktop via the browser as a java applet. It was not terribly snappy, but quite surprisingly usable. Any one remembers this ?

Is there a reason you're still on 3.6, if I might ask? 4.0 is a _much_ better browser....

Re: Boot a linux kernel right inside your browser.

#163

This is demonstrative of the advantages of the new low-level APIs being added to JavaScript to work efficiently with binary data. Fabrice uses this to implement an x86 interpreter -- it could not be done efficiently without typed arrays. However, it is still slow -- imagine what kind of advances could be made if a common bytecode was established that would be JIT'd by the JavaScript VM, and could be output directly b…

In theory, someone could create a common bytecode as a library. Such a library would probably use the Relooper algorithm from Emscripten (https://github.com/kripken/emscripten) and JIT the bytecode to Javascript that can then be eval'd for near Javascript-level speed.

Re: Boot a linux kernel right inside your browser.

#164
post #33

This is completely awesome. When I saw http://cb.vu a few years ago I thought hey, someone has finally done it, but that turned out to be a hack. Kudos to Bellard once again. Nitpicking: the terminal emulation is messed up. It keeps resizing horizontally, and less gets confused. I'm sure the terminal emulator was fun to play with. A correct vt100 state machine implementation [1] would probably not be quite as fun [2]…

There's a port of urxvt to JavaScript: https://github.com/paddymul/rxvt-js

Re: Boot a linux kernel right inside your browser.

#168
post #163

This is demonstrative of the advantages of the new low-level APIs being added to JavaScript to work efficiently with binary data. Fabrice uses this to implement an x86 interpreter -- it could not be done efficiently without typed arrays. However, it is still slow -- imagine what kind of advances could be made if a common bytecode was established that would be JIT'd by the JavaScript VM, and could be output directly b…

In theory, someone could create a common bytecode as a library. Such a library would probably use the Relooper algorithm from Emscripten ( https://github.com/kripken/emscripten ) and JIT the bytecode to Javascript that can then be eval'd for near Javascript-level speed.

The whole idea is to get better performance than current JavaScript interpreters allow. Making something slower than JavaScript is the opposite of why people want a common bytecode.

Re: Boot a linux kernel right inside your browser.

#169
post #37
post #31

Unbelievable, this is like magic. I am totally impressed. It is a real linux instance. BTW. I see the hello.c file someone mentioned here. Have we all mounted the same disk image? I see so many use cases for this, but I don't fully understand what is going on behind the scenes. Maybe someone can shed some light on it: 1) How is the disk emulated. Is it a local image, or is it running on the backend? 2) Is there a rem…

1): The disk doesn't seem to be emulated; it's just a rootfs in RAM. 2): See another thread here. 3): Check out cpux86.js. In the start() function at the very end, the following section might be enlighting (even though it is a bit obfuscated by a javascript compressor): function start() { [...] If=32*1024*1024; ya.phys_mem_resize(If); ya.load_binary("vmlinux26.bin",0x00100000); Jf=ya.load_binary("root.bin",0x00400000…

is linuxstart.bin the bootloader?
Post reply on HN