Выпуск RavynOS 0.6, редакции FreeBSD, нацеленной на совместимость C MacOS

Опубликован выпуск проекта ravynOS 0.6, развивающего операционную систему на основе FreeBSD, нацеленную на достижение совместимости с приложениями для macOS и предоставление пользовательской оболочки в стиле macOS. Наработки проекта распространяются под лицензией BSD. Размер загрузочного iso-образа – 760 МБ (x86_64).

В качестве целей проекта заявлено достижение совместимости с приложениями macOS на уровне исходных текстов и исполняемых файлов. В первом случае подразумевается возможность перекомпиляции кода macOS-приложений для выполнения в ravynOS, в во втором – встраивание в ядро и инструментарий изменений для запуска исполняемых файлов Mach-O, собранных для архитектур x86-64 и arm64.

Из файловых систем поддерживается ZFS и применяемые в macOS ФС HFS+ и APFS. Помимо свойственных для FreeBSD иерархий /usr и /usr/local создаются специфичные для macOS каталоги /Library, /System и /Volumes. Домашние каталоги пользователей размещаются в иерархии /Users. В каждом домашнем каталоге имеется подкаталог ~/Library для приложений, использующих программный интерфейс Apple Cocoa.

Для совместимости с macOS предоставляется частичная реализация программного интерфейса Cocoa и Objective-C runtime (размещаются в каталоге /System/Library/Frameworks), а также дополнительно модифицированные для их поддержки компиляторы и компоновщики. Помимо слоя для совместимости с macOS в ravynOS также доступна возможность запуска приложений для Linux, основанная на предлагаемой во FreeBSD инфраструктуре эмуляции окружения Linux (Linuxulator).

Приложения могут оформляться в виде самодостаточных app-пакетов (App Bundle) в формате AppImage, размещаемых в каталогах /Applications или ~/Applications. Программы не требуют установки и использования пакетного менеджера – достаточно перетащить мышью и запустить AppImage-файл. При этом сохранена поддержка и традиционных для FreeBSD пакетов.

Графическое окружение построено на базе собственного оконного сервера, использующего урезанный композитный сервер labwc (удалена поддержка декорирования окон на стороне сервера и тем оформления), wlroots и протокол Wayland. В графических приложениях могут применяться фреймворки Qt и Cocoa. В интерфейсе используются типовые для macOS концепции, такие как верхняя панель с глобальным меню, идентичная структура меню, клавиатурные комбинации, похожий по стилю файловый менеджер Filer и поддержка таких команд, как launchctl и open.

Среди изменений по сравнению с выпуском 0.5:

  • Базовая система обновлена до ветки FreeBSD 15-STABLE.
  • Представлен минималистичный графический интерфейс с новой верхней панелью SystemUIServer и нижней Dock-панелью.
  • В состав включён прототип эмулятора терминала Terminal.app.
  • Обеспечен запуск менеджера входа LoginWindow сразу после загрузки. При загрузке в live-режиме в систему можно войти без пароля, используя логин liveuser.
  • Добавлена возможность выхода из графического сеанса клавиатурной комбинацией Win-Shift-Q.

Release. Ссылка here.