mboost-dp1

x86-emulator i Javascript - kan boote Linux


Gå til bund
Gravatar #1 - myplacedk
17. maj 2011 11:13
Awesome: http://bellard.org/jslinux/

Giver et linux-prompt med nogle programmer installeret. Der er bla. en C-compiler (tcc). Jeg har ikke prøvet selv, men det skulle være muligt at skrive et C-program, compile det og køre det.
Gravatar #2 - Mnc
17. maj 2011 11:19
"ERROR: your browser is too old to run JS/Linux."

Hmmm...
"You are using the latest version"
Gravatar #3 - myplacedk
17. maj 2011 11:21
#2 Hvilken browser?
Gravatar #4 - myplacedk
17. maj 2011 11:21
Jeg prøvede at køre bash fork bomb (Chrome/Windows):

:(){ :|:& };:


Det lykkedes, men der var nogle problemer.

1) Dansk tastatur fungerer ikke så godt.
2) "&" ligger på shift-7 på et engelsk tastatur, men jeg får en double-quote. Det virker dog som "&" alligevel.
3) : er ikke et acceptabel funktionsnavn i den shell der bruges (busybox sh?), så erstat kolon med et bogstav.

Men så virker det også. Det er lidt interessant at forking (processer, tråde...) virker, når nu Javascript ikke understøtter det.
Gravatar #5 - Vandborg
17. maj 2011 11:33
Er der en text editor på den så man kan skrive noget c?
Gravatar #6 - myplacedk
17. maj 2011 11:39
Der er vi og en emacs-emulator.
Gravatar #7 - Mort
17. maj 2011 11:59
Det virker heller ikke for mig i IE9.
Gravatar #8 - plazm
17. maj 2011 12:03
Hvis I ikke har ram nok så kan i køre følgende:
javascript:ya=new ea();Qe=new vf();If=128*1024*1024;ya.phys_mem_resize(If);ya.load_binary("vmlinux26.bin",0x00100000);Jf=ya.load_binary("root.bin",0x00400000);start=0x10000;ya.load_binary("linuxstart.bin",start);ya.eip=start;ya.regs[0]=If;ya.regs[3]=Jf;ya.cycle_count=0;ya.ld8_port=Qe.ld8_port.bind(Qe);ya.ld16_port=Qe.ld16_port.bind(Qe);ya.ld32_port=Qe.ld32_port.bind(Qe);ya.st8_port=Qe.st8_port.bind(Qe);ya.st16_port=Qe.st16_port.bind(Qe);ya.st32_port=Qe.st32_port.bind(Qe);ya.get_hard_intno=Qe.pic.get_hard_intno.bind(Qe.pic);xf=Date.now();setTimeout(yf,10);

:D
Gravatar #9 - myplacedk
17. maj 2011 12:04
#7 Det er ikke noget personligt, alle IE-brugere får samme besked:

ERROR: your browser is too old to run JS/Linux.

You should use a recent browser such as Firefox 4.x or Google Chrome.
Gravatar #10 - Mnc
18. maj 2011 06:16
myplacedk (3) skrev:
#2 Hvilken browser?
Opera 11.10
Gravatar #11 - onetreehell
18. maj 2011 06:29
myplacedk (4) skrev:
Det er lidt interessant at forking (processer, tråde...) virker, når nu Javascript ikke understøtter det.


Man kan sagtens implementere tråde uden at have preemptive multitasking eller parallellitet.
Gravatar #12 - Daniel-Dane
18. maj 2011 14:26
Er der nogen eksempler på programmer, som er skrevet til den?
Gravatar #13 - arne_v
18. maj 2011 15:02
#12

Hvis den emulerer x86 og Linux booter på den så kan alt Linux-x86 software vel køre på den.

Jeg har dog mistanke om at OOo opstartstid vil skulle måles i måneder eller lignende enhed.
Gravatar #14 - onetreehell
18. maj 2011 15:52
#13
Der er højst sandsynligt ikke en X.org-server der virker...
Gravatar #15 - arne_v
18. maj 2011 15:59
#14

Det er selvfølgelig et godt spørgsmål hvilke drivere der er.
Gravatar #16 - onetreehell
18. maj 2011 16:10
#15
???
Gravatar #17 - Daniel-Dane
18. maj 2011 16:10
Ja, det er så nu, I opdager, hvorfor jeg stillede spørgsmålet.
Gravatar #18 - arne_v
18. maj 2011 16:11
#16

Problemet med at få X.org op at køre er vel at enten er der ingen grafik driver eller så kender X.org den ikke?
Gravatar #19 - gnarfsan
18. maj 2011 16:26
Ikke så overraskende, kan det ikke køre på min iPad.
Gravatar #20 - onetreehell
18. maj 2011 17:27
#18
Jeg tror ikke at det er et krav at have drivere for at køre en xserver. Man kan bare lave det hele i hukommelsen, og så bruge x-forwarding til en pc med skærm.
Gravatar #21 - onetreehell
18. maj 2011 17:40
#17
Jeg vil tro alt der kan compiles med tcc til den version af linux kan køre.

Jeg opdagede dog at tcc ikke "har" stdio.h, men i stedet har tcclib.h... Så det skal nok være skrevet specifikt til tcc.
Gravatar #22 - gnarfsan
18. maj 2011 17:59
Bootet på min SGS I900 :-)
Men det virkede kun i FF til Android, og det tog knapt et par minutter.

Jeg ved ikke med jer, men jeg synes at det er lidt vildt...
Gravatar #23 - Daniel-Dane
18. maj 2011 19:06
gnarfsan (22) skrev:
lidt vildt
Gå til top

Opret dig som bruger i dag

Det er gratis, og du binder dig ikke til noget.

Når du er oprettet som bruger, får du adgang til en lang række af sidens andre muligheder, såsom at udforme siden efter eget ønske og deltage i diskussionerne.

Opret Bruger Login