Когда-то давно у меня были планы добавить в Колибри поддержку int 0x40 и эмулировать системные вызовы Linux. Потом я идею забросила (хотя она в принципе реализуема), а с тех пор остался простой elf-загрузчик для Колибри. Примечательно, что простые скомпилированные Колибри-программы в ELF (например, игра phenix) могут быть им запущены. Баловство, конечно, но может быть кому-то покажется полезным.
Древнее ядро пропатченное для обработки int 0x40 - оно даже как-то (плохо) умеет в функции unix_exit, unix_read, unix_write, unix_cwd, unix_open, unix_close и unix_time - тоже в комплекте.
Простой загрузчик ELF для Колибри
-
- Attachments
-
-
kernel.zip (2.54 MiB)Downloaded 427 times
-
elf.zip (130.6 KiB)Downloaded 435 times
-
Прикольно Наверное, можно на основе этого сделать эмулятор Linux.
Может всё-таки int 0x80?
Может всё-таки int 0x80?
А здесь тема была Эмулятор под Linux для запуска бинарных Колибри файлов в Linux0CodErr wrote:Прикольно Наверное, можно на основе этого сделать эмулятор Linux.
Может всё-таки int 0x80?
т.е. как бы "имплантировать" KolibriOS к ядру Linux.
Да, разумеется, int 0x80. Не думаю, что потенциальный результат можно будет назвать эмулятором Linux, но эмулятором Linux API - уж точно
Интересно даже, какие планы? Будет ли вестись разработка дальше? Я сам как-то пробовал сделать эмулятор Windows... но ожидаемо забросил сие занятие Даже Вайн ковырял, но так ничего даже не скомпилировал рабочего.
Чем больше сыра, тем больше в нём дыр. Чем больше дыр, тем меньше в нём собственно сыра. Значит, чем больше сыра, тем меньше сыра!
Никаких планов, просто эксперимент. Сделать прослойку для posix все же проще, чем реализовать тысячи функций winapi. Но есть много-много проблем: потоки, IPC, файловые системы
Who is online
Users browsing this forum: No registered users and 0 guests