Как локально разместить виртуальную машину веб-браузера здесь: http://bellard.org/jslinux/ - PullRequest
7 голосов
/ 17 мая 2011

Я не очень разбираюсь в Javascript, и я хочу разместить встроенный в браузер Linux (который можно найти здесь ).Причина в том, что я не всегда подключен к сети, хотел бы знать, как это работает.Не допускается неуважение к авторской лицензии.

Я попытался скопировать исходные файлы трех файлов (term.js, cpux86.js и самого файла HTML) в папку и запустить HTML, но этоработать.

Есть ли способ заставить это работать?
Кроме того: если это не работает, то почему?Структура каталогов скопирована мной и является почти такой же.

PS: Я также использовал аддон Javascript deobfuscator для Firefox, но это тоже не сильно помогло.Я сделал отступ для всего кода, чтобы сделать его более читабельным, но он все еще не понятен: P

Ответы [ 4 ]

1 голос
/ 06 июля 2011

В дополнение к данным ответам вы можете попробовать посмотреть, как я размещаю jslinux на локальном сервере в моем проекте jsmodem по адресу http://github.com/ewiger/jsmodem (разрешает подключение к Интернету).

Если у вас естьPython установлен, просто запустите локальный веб-сервер как

python -m SimpleHTTPServer
1 голос
/ 17 мая 2011

Сам код JS - это не «клон Linux», это виртуальная машина x86 загрузка ядро ​​Linux.

Поэтому вам нужно как минимум файл, содержащий скомпилированное ядро ​​Linux для правильной работы.

Проверка источника показывает, что (как минимум) 3 файла загружены из cpux86.js, а именно: vmlinux26.bin (ядро Linux), root.bin (возможно, корневая файловая система) и linuxstart.bin (похоже, это загрузчик).

1 голос
/ 18 мая 2011

Это файлы, которые вам понадобятся:

Бросьте их вместе с этим файлом в папку, и все готово:

<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>
0 голосов
/ 17 мая 2011

Я не проверял страницу, но все, что вам нужно сделать, это убедиться, что на все необходимые ресурсы ссылаются правильно.Ресурсы js упоминаются на странице, бинарные файлы linux загружаются изнутри этих скриптов.Вам нужно будет покопаться в них и найти где, и изменить URL-адреса соответствующим образом.

А что касается выяснения того, как работает эмуляция и т. Д., То этот проект довольно хакерский подвиг, поэтому удачи:)

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...