Возможно ли теоретически выполнить построение для одного ядра POSIX (например, Linux) на втором (например, в XNU Дарвина)
И почему это невозможно?Запустить Linux exectuable на другом ядре POSIX
Если это из-за библиотек и/или общих объектов, возможно, можно оставить только ядро и его зависимости от всей второй ОС и использовать все остальное с первого раза?
Итак, у вас будет только ядро и драйверы из второй ОС, и вы можете chroot в какое-то место, и вы сможете запустить любой исполняемый файл для первого?
Или Можем ли мы сделать какую-либо динамическую оболочку или статический переводчик?
UPD: Хорошо, я нашел something similar, но есть только беглые рекомендации, может быть, кто-то может сделать это более понятным?
xBinary может быть решением, но он устарел и не работает на современной OSX – stek29
. Интересная часть состоит в том, что внутренняя часть ядра darwins должна иметь оболочку системного вызова внутри, что делает это проще, но я сомневаюсь, что он все еще работает так, как должен. Кроме того, у freebsd есть поддержка бинарных файлов Linux до определенной степени. https://www.freebsd.org/doc/handbook/linuxemu.html – Alex