Есть бинарная сборка, можно попробовать запустить в эмуляторе. Используется немного пропатченныйTinyEMU, в стандартной версии для Линукса нормально работать не будет (из важных изменений реализация CSR регистра utime (монотонный таймер в микросекундах) и увеличение размера очереди VirtIO до 32).
Это очень хорошо, жаль только у Haiku сильная завязка на x86{_64} в плане инфраструктуры HPKG-пакетов.
Кстати, а пакеты или исполнительные файлы Haiku могут иметь код для разных архитектур CPU? Так, например, было в Classic Mac OS с FAT-версиями программ (Motorola 68000 + PowerPC) или в обычном NeXTSTEP/macOS которые используют Mach-O.
Да, в мире Linux оно оказалось никому не нужным, потому что пересобрать пакеты репозиториев, исходники которых открыты, на другую архитектуру не так-то уж и сложно. При этом ты лишаешься одного из весомых недостатков FAT-версий исп. файлов – их возросшего размера.
Для Haiku аналогично, но мне интересна сама возможность и история. Было ли нечто подобное в том же BeOS, учитывая что он ориентировался на Classic Mac OS?
Кстати, в современном macOS (Mac OS X), например, FAT-версии программ на Mach-O что раньше, что сейчас действительно активно используются. Раньше они содержали код для PPC 32-bit, PPC 64-bit и x86, потом для x86 и x86_64, сейчас для arm64 и x86_64. Из-за закрытого кода ПО и постоянной смены архитектур в Apple использование FAT binary оправдано.
С другой стороны, в том же Windows с его PE, подобные FAT binaries не прижились и завезли лишь костыли: https://en.wikipedia.org/wiki/Fat_binary#Windows Я думаю это из-за монополии wintel на десктопах.
Насколько я помню, это не BeOS ориентировался на MacOS Classic, а это скорее Apple рассматривали возможность покупки BeOS, но в результате купили NextSTEP с Джобсом впридачу.
По поводу fat binaries на MacOS X — всё верно, ключом к востребованности формата является зоопарк аппаратных архитектур и закрытость кода прикладных программ.
Ровно по этой же причине в MacOS X, Solaris и Windows сохраняют бинарную совместимость, а в glibc (Linux) её ломали несколько раз.
это не BeOS ориентировался на MacOS Classic, а это скорее Apple рассматривали возможность покупки BeOS, но в результате купили NextSTEP с Джобсом впридачу.
Это уже было после. Ранний BeOS ориентировался именно на «экосистему» и железо от Apple. Начиная с того, что выпускался сначала исключительно под PowerPC, а после и вовсе поставлялся с клонами Macintosh в дуалбуте с Classic Mac OS и заканчивая всякими схожими технологиями уже внутри самого BeOS, вроде аналога Resource fork:
Early versions of the BeOS implemented a database within the file system, which could be used in a manner analogous to a resource fork. Performance issues led to a change in later releases to a system of complex file system attributes. Under this system resources were handled in a fashion somewhat more analogous to the Mac
Или формата исполнительных файлов PEF, разработанного Apple:
BeOS on PowerPC systems also uses PEF, although x86 systems do not.
Даже раскладка и названия клавиш по умолчанию что в BeOS, что в Haiku до сих пор пересекаются с классическими Mac OS.
Это очень хорошо, жаль только у Haiku сильная завязка на x86{_64} в плане инфраструктуры HPKG-пакетов.
Сами пакеты к архитектуре не привязаны. В моём порте можно использовать пакеты для riscv64.
Кстати, а пакеты или исполнительные файлы Haiku могут иметь код для разных архитектур CPU?
Исполняемые файлы без сильных хаков нет, пакеты частично возможно через вторичную архитектуру, но это тоже хак и так не делают.
У меня была идея мультипакетов когда в одном файле пакета находится несколько логических пакетов. При установке можно выбрать пакеты, а также часть пакетов может использоваться для разрешения зависимостей если они ещё не установлены. Например можно будет упаковать LibreOffice в один мультипакет так что он будет без интернета устанавливаться в базовой сборке системы. После установки мультипакет превращается в несколько обычных пакетов. Также предполагается добавить в мультипакет дополнительную метаиныормацию такую как список URL репозиториев для автообновления, список пакетов для выбора пользователем, указание какие пакеты являются зависимостями и должны быть автоматически удалены, вводный текст и лицензия.
Поддержку нескольких архитектур можно тоже добавить в мультипакет.
Полуофтоп: сайт https://discuss.haiku-os.org/ не работает в стареньком Firefox 40, скорее всего, в «немейнстримовых» браузерах тоже будут проблемы.
Понятно, что для сообщества Haiku это не ключевая проблема, но может, это можно поправить каким-либо не слишком сильным допилингом? Если сильным — то вопрос отпадает, у сообщества, разумеется, и так есть чем заняться.