Перейти к содержимому
  • 0
hohserg

OpenOS не грузится с виртуального удаленного жесткого диска

Вопрос

Пытаюсь реализовать следующую идею: запуск OpenOS на устройстве без локального жесткого диска.

Сделать это хочу так(псевдокод):

Программа на EEPROM, клиент
[
	Связывается по связанной плате с другим компом, у которого есть жесткий диск
	Просит адрес компонента filesystem сообщением "component.primary"
	При помощи vcomponent добавляет виртуальный компонент filesystem, который является отражением удаленного hdd
		Каждое обращение к функциям этого компонента отправляет сообщения "component.invoke" по сети и ждет ответа
	Дальше обычный lua_bios
]

Программа на сервере для обычной OpenOS
[
	Ждем сообщений
	Реагируем соответствующим образом
		component.primary=>send(адрес компонента)
		component.invoke=>send(результат вызова функции компонента)
]

Также стоит отметить, что при работе с filesystem header файла является userdata, его нельзя сериализовать(насколько я понял), поэтому вместо передачи его по сети передается объект, который можно однозначно сопоставить хедеру на сервере: таблица вида {special = <id>}

 

Сделал, но в результате OpenOS не грузится дальше загрузочного экрана, консоль не появляется.

Подскажите, где я ошибся?

Исходники:

Client

Server

Тестировал при помощи bibi

Изменено пользователем hohserg

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах

Рекомендуемые сообщения

  • 0

Inerpat получилось загрузить :D

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах
  • 1

У меня не получилось завести, на этапе поиска файловой системы падает. Правда я клиент загружаю из интернета и выполняю его в общем окружении.

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах
  • 0

Загрузка проходит гладко до этого момента, а потом все стопорится

image.png.f7f84f8361e44aa63aeb936e4abe3680.png

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах
  • 0

При помощи отладки выяснил, что последний файл, который был запрошен у сервера full_buffer.lua

image.thumb.png.d3ad9d341292a069df0e3e2291f3acf5.png

 

А еще опытным путем проверил, что выполнение стопорится на event.pull()

image.png.2fe3a44bcc8448eceaa03720835b277e.png

Из-за чего это может быть?

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах
  • 0

Он написан для eeprom, поэтому запустить его можно только при помощи bibi

 

 

Изменено пользователем hohserg

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах
  • 0

Если имеются проблемы с запуском - могу скинуть содержимое жестких дисков обоих компов

 

https://yadi.sk/d/21Rn0mYs2sC16A

Изменено пользователем hohserg

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах
  • 0

Кажется, проблема заключается в консоли, она не может сетапнуться или че-то такое. К сожалению, я плохо разбираюсь во внутренней работе OpenOS и понять, почему так происходит, не могу

Изменено пользователем hohserg

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах

Присоединяйтесь к обсуждению

Вы можете написать сейчас и зарегистрироваться позже. Если у вас есть аккаунт, авторизуйтесь, чтобы опубликовать от имени своего аккаунта.

Гость
Ответить на вопрос...

×   Вы вставили отформатированное содержимое.   Удалить форматирование

  Разрешено использовать не более 75 эмодзи.

×   Ваша ссылка была автоматически встроена.   Отобразить как ссылку

×   Ваш предыдущий контент был восстановлен.   Очистить редактор

×   Вы не можете вставлять изображения напрямую. Загружайте или вставляйте изображения по ссылке.


×
×
  • Создать...