org online machine jslinux emulator cfg bellard javascript operating-system

javascript - online - ¿Cómo puedo alojar localmente la máquina virtual del navegador web aquí: http://bellard.org/jslinux/



virtual x86 (4)

No sé mucho de Javascript, y quiero alojar el navegador web integrado Linux (que se puede encontrar aquí ). La razón es que no siempre estoy conectado a la red, me gustaría saber cómo funciona. Sin falta de respeto a la licencia del autor prevista.

Intenté copiar las fuentes de los tres archivos ( term.js , cpux86.js y el archivo HTML en sí) en una carpeta, y ejecutar el HTML, y no funciona.

De todos modos para que funcione?
Además: si no funciona, ¿por qué? La estructura del directorio la copio yo y es casi la misma.

PD: también utilicé el complemento Javascript deobfuscator para Firefox, pero eso tampoco ayudó mucho. Hice sangría todo el código para que sea más legible, pero aún no es entendible: P


Estos son los archivos que necesitará:

Colóquelos junto con este archivo en una carpeta y estará listo:

<html> <head> <title>Javascript PC Emulator</title> <style> .term { font-family: courier,fixed,swiss,sans-serif; font-size: 14px; color: #f0f0f0; background: #000000; } .termReverse { color: #000000; background: #00ff00; } #note { font-size: 12px; } #copyright { font-size: 10px; } </style> </head> <body onload="start()"> <script src="term.js"></script> <script src="cpux86.js"></script> <div id="copyright">&copy; 2011 Fabrice Bellard - <a href="tech.html">Technical notes</a></div> </body> </html>


El código JS en sí no es un "clon de Linux", es una máquina virtual x86 propper que carga un kernel de Linux.

Como tal, necesita al menos el archivo que contiene el kernel de Linux compilado para que funcione correctamente.

Al verificar la fuente, se muestra que (al menos) 3 archivos están cargados desde cpux86.js , que son: vmlinux26.bin (el kernel de Linux), root.bin (probablemente el sistema de archivos raíz) y linuxstart.bin (este parece ser el gestor de arranque).


No he inspeccionado la página, pero todo lo que necesita hacer es asegurarse de que todos los recursos requeridos estén referenciados correctamente. Los activos js están referenciados en la página, los binarios de Linux se cargan desde esos scripts en algún lugar. Tendrás que buscarlos y encontrar dónde, y cambiar las URL de manera adecuada.

Y en cuanto a averiguar cómo funciona la emulación, etc., este proyecto es una hazaña de piratería, así que buena suerte :)


Además de las respuestas dadas, puede tratar de ver la forma en que estoy alojando jslinux en un servidor local en mi proyecto jsmodem en http://github.com/ewiger/jsmodem (permite la conectividad a Internet).

Si tiene Python instalado, simplemente inicie el servidor web local como

python -m SimpleHTTPServer