基于FreeBSD的macOS兼容操作系统-ravynOS


ravynOS 是一个基于 FreeBSD 的新型的操作系统项目,专注于实现与 macOS 应用程序的兼容性并提供 macOS 风格的用户界面。通过对文件系统、目录结构、编程接口和图形环境的改进,它为用户提供了一种新的选择,使他们能够在非 macOS 硬件上体验类似 macOS 的操作系统和应用程序兼容性。项目致力于在 x86-64(终极目标是同时实现 ARM)平台上提供与 macOS 类似的体验和兼容性。它基于坚若磐石的 FreeBSD、现有的开源代码和锦上添花的新代码构建。曾用名:Airyx。

A BSD-based OS project that aims to provide source and binary compatibility with macOS® and a similar user experience.
Finesse of macOS. Freedom of FreeBSD.
ravynOS is an open-source operating system based on FreeBSD, CMU Mach, and Apple open-source code that aims to be compatible with macOS applications and has no hardware restrictions.
FreeBSD 是一款操作系统,为现代服务器、桌面计算机和嵌入式平台提供动力,并拥有一个迄今已发展 30 年的大型社区。高级的网络、 安全和存储特性使得它成为许多常用的网站、嵌入式网络和存储设备的首选平台。
主要设计目标:
与 macOS 应用程序的源码级兼容(比如你可以在本系统上编译和运行 macOS 应用)
相似的 GUI 和 UX(文件管理器、程序启动器、顶部菜单之类)
与 macOS 兼容的目录层次(/Library、/System、/Users、/Volumes 之类),可能计划支持 HFS+ 和 APFS 文件系统,计划完全支持 ZFS 文件系统
支持 App Bundles、AppDirs 以及 AppImage 自封装格式的应用 —— 摆脱使用安装器的烦恼
保持与 FreeBSD 基本系统和 X11 主要的兼容性 —— 深层标准 Unix 环境
藉着 FreeBSD 的 Linux 支持实现与 Linux 应用程序的二进制兼容
终极目标是实现与 x86-64/arm64 macOS 应用程序(Mach-O)和库的兼容
易用、稳定、安全、高效

此源码树中的部分源码还包含其他的著作权信息,请翻阅特定源码的目录查看。
文件夹 描述
bin 系统和用户命令
cddl 在 CDDL 许可证下发表的各种命令和库
contrib 第三方软件包
crypto 加密相关(请参阅 crypto/README)
etc /etc 的模板文件
gnu 在 GNU 通用公共许可证(GPL)或 GNU 宽通用公共许可证(LGPL)下发布的命令和库。请参阅 gnu/COPYING 和 gnu/COPYING.LIB 了解更多信息。
include 系统级的 include 文件
kerberos5 Kerberos5(Heimdal)软件包
lib 库文件
libexec 系统守护进程
release 构建发布版本的 Makefile 文件和相关工具
rescue 静态链接 /rescue 实用工具的构建系统
sbin 系统命令
secure 安全有关文件和命令
share 共享的源代码
stand 引导程序源代码
sys 内核源代码
sys/arch/conf 内核配置文件。GENERIC 是用于发布版本的配置文件。NOTES 包含可能所有条目的文档。
tests 可以由 Kyua 运行的回归测试。请参阅 tests/README 获取更多信息。
tools 用于回归测试和其他任务的实用程序
usr.bin 用户命令
usr.sbin 系统级管理命令
文件系统支持
该操作系统支持多种文件系统,包括 FreeBSD 的 ZFS 以及 macOS 使用的 HFS+ 和 APFS 文件系统。这使得 ravynOS 可以更好地兼容和管理 macOS 格式的磁盘和文件。
目录结构
除了 FreeBSD 特有的 /usr 和 /usr/local 目录结构外,ravynOS 还创建了 macOS 特有的 /Library、/System 和 /Volumes 目录。用户的主目录位于 /Users 目录下,每个主目录都有一个 ~/Library 子目录,用于存放使用 Apple Cocoa 编程接口的应用程序。
编程接口和仿真能力
为了兼容 macOS,ravynOS 部分实现了 Cocoa 和 Objective-C 运行时编程接口,这些接口位于 /System/Library/Frameworks 目录中。此外,操作系统通过 FreeBSD 的 Linux 仿真基础设施(Linuxulator)提供运行 Linux 应用程序的能力。
应用程序管理
应用程序可以设计为自包含的 App Bundle 包,以 AppImage 格式放置在 /Applications 或 ~/Applications 目录中。这些程序无需安装或使用包管理器,只需拖放并启动 AppImage 文件即可。
图形环境和用户界面
图形环境基于精简的 labwc 组合服务器、wlroots 和 Wayland 协议。图形应用程序可以使用 Qt 和 Cocoa 框架。界面采用典型的 macOS 概念,例如带有全局菜单的顶部栏、相同的菜单结构、键盘快捷键、类似风格的 Filer 文件管理器,以及对 launchctl 和 open 命令的支持。
系统更新
基础系统更新到了 FreeBSD 15-CURRENT 分支,并且不再使用 FreeBSD 端口。主要结构包括 turbo 文本编辑器、cmake、gmake、nasm 和 GNU binutils。Cocoa 和 Objective-C 框架的汇编文件提供了将不同子目录中的对象链接到一个库中的能力,以简化代码传输。
构建和配置工具
一个新的构建工具 build.sh 简化了构建系统和创建自定义 ISO 镜像的过程,该镜像可以在 Live 模式下加载。新版本还包括对 NSStatusItem 类的支持,允许 Cocoa 应用程序将菜单移动到全局面板。
图形 Dock 面板
新版本中新增了图形 Dock 面板的初始实现,包含一小部分基本图标。面板的内容目前通过编辑 ~/Library/Preferences 中的 plist 文件进行配置。
包管理
虽然不再使用包存储库,但仍然可以使用 pkg 命令将 FreeBSD 存储库中的包安装到 /usr/local 目录中。
ravynOS主要将系统内容放在/System、/Library和/usr中。/usr/local目录树是为用户添加而保留的(如FreeBSD软件包)。用户主目录位于/Users下,每个主目录都有一个~/Library文件夹,供可可应用程序使用。Zsh是默认的系统shell。正确打包的应用程序通常位于/Applications或~/Applications下,并构建为.app Bundle或AppImage。这些类型的应用程序是自包含的,通常不需要安装程序或卸载程序,并且可以在文件系统中移动而不会中断。传统的类Unix应用程序通常安装在固定的目录中。
最新版本:0.5
ravynOS 项目于2024年6月推出了全新的 v0.5 版本,这是一个基于 FreeBSD 的操作系统,专注于与 macOS 应用程序的兼容性,并提供类似 macOS 的用户界面。经过两年的潜心开发,ravynOS 团队终于发布了这一备受期待的重要更新。这个新版本不仅旨在让用户能够运行 macOS 应用程序,还在系统设计上融入了 macOS 的外观和使用体验,为用户提供了一个熟悉且强大的操作环境。
官方主页:https://ravynos.com/

A BSD-based OS project that aims to provide source and binary compatibility with macOS® and a similar user experience.
Finesse of macOS. Freedom of FreeBSD.
ravynOS is an open-source operating system based on FreeBSD, CMU Mach, and Apple open-source code that aims to be compatible with macOS applications and has no hardware restrictions.
FreeBSD 是一款操作系统,为现代服务器、桌面计算机和嵌入式平台提供动力,并拥有一个迄今已发展 30 年的大型社区。高级的网络、 安全和存储特性使得它成为许多常用的网站、嵌入式网络和存储设备的首选平台。
主要设计目标:
与 macOS 应用程序的源码级兼容(比如你可以在本系统上编译和运行 macOS 应用)
相似的 GUI 和 UX(文件管理器、程序启动器、顶部菜单之类)
与 macOS 兼容的目录层次(/Library、/System、/Users、/Volumes 之类),可能计划支持 HFS+ 和 APFS 文件系统,计划完全支持 ZFS 文件系统
支持 App Bundles、AppDirs 以及 AppImage 自封装格式的应用 —— 摆脱使用安装器的烦恼
保持与 FreeBSD 基本系统和 X11 主要的兼容性 —— 深层标准 Unix 环境
藉着 FreeBSD 的 Linux 支持实现与 Linux 应用程序的二进制兼容
终极目标是实现与 x86-64/arm64 macOS 应用程序(Mach-O)和库的兼容
易用、稳定、安全、高效

此源码树中的部分源码还包含其他的著作权信息,请翻阅特定源码的目录查看。
文件夹 描述
bin 系统和用户命令
cddl 在 CDDL 许可证下发表的各种命令和库
contrib 第三方软件包
crypto 加密相关(请参阅 crypto/README)
etc /etc 的模板文件
gnu 在 GNU 通用公共许可证(GPL)或 GNU 宽通用公共许可证(LGPL)下发布的命令和库。请参阅 gnu/COPYING 和 gnu/COPYING.LIB 了解更多信息。
include 系统级的 include 文件
kerberos5 Kerberos5(Heimdal)软件包
lib 库文件
libexec 系统守护进程
release 构建发布版本的 Makefile 文件和相关工具
rescue 静态链接 /rescue 实用工具的构建系统
sbin 系统命令
secure 安全有关文件和命令
share 共享的源代码
stand 引导程序源代码
sys 内核源代码
sys/arch/conf 内核配置文件。GENERIC 是用于发布版本的配置文件。NOTES 包含可能所有条目的文档。
tests 可以由 Kyua 运行的回归测试。请参阅 tests/README 获取更多信息。
tools 用于回归测试和其他任务的实用程序
usr.bin 用户命令
usr.sbin 系统级管理命令
文件系统支持
该操作系统支持多种文件系统,包括 FreeBSD 的 ZFS 以及 macOS 使用的 HFS+ 和 APFS 文件系统。这使得 ravynOS 可以更好地兼容和管理 macOS 格式的磁盘和文件。
目录结构
除了 FreeBSD 特有的 /usr 和 /usr/local 目录结构外,ravynOS 还创建了 macOS 特有的 /Library、/System 和 /Volumes 目录。用户的主目录位于 /Users 目录下,每个主目录都有一个 ~/Library 子目录,用于存放使用 Apple Cocoa 编程接口的应用程序。
编程接口和仿真能力
为了兼容 macOS,ravynOS 部分实现了 Cocoa 和 Objective-C 运行时编程接口,这些接口位于 /System/Library/Frameworks 目录中。此外,操作系统通过 FreeBSD 的 Linux 仿真基础设施(Linuxulator)提供运行 Linux 应用程序的能力。
应用程序管理
应用程序可以设计为自包含的 App Bundle 包,以 AppImage 格式放置在 /Applications 或 ~/Applications 目录中。这些程序无需安装或使用包管理器,只需拖放并启动 AppImage 文件即可。
图形环境和用户界面
图形环境基于精简的 labwc 组合服务器、wlroots 和 Wayland 协议。图形应用程序可以使用 Qt 和 Cocoa 框架。界面采用典型的 macOS 概念,例如带有全局菜单的顶部栏、相同的菜单结构、键盘快捷键、类似风格的 Filer 文件管理器,以及对 launchctl 和 open 命令的支持。
系统更新
基础系统更新到了 FreeBSD 15-CURRENT 分支,并且不再使用 FreeBSD 端口。主要结构包括 turbo 文本编辑器、cmake、gmake、nasm 和 GNU binutils。Cocoa 和 Objective-C 框架的汇编文件提供了将不同子目录中的对象链接到一个库中的能力,以简化代码传输。
构建和配置工具
一个新的构建工具 build.sh 简化了构建系统和创建自定义 ISO 镜像的过程,该镜像可以在 Live 模式下加载。新版本还包括对 NSStatusItem 类的支持,允许 Cocoa 应用程序将菜单移动到全局面板。
图形 Dock 面板
新版本中新增了图形 Dock 面板的初始实现,包含一小部分基本图标。面板的内容目前通过编辑 ~/Library/Preferences 中的 plist 文件进行配置。
包管理
虽然不再使用包存储库,但仍然可以使用 pkg 命令将 FreeBSD 存储库中的包安装到 /usr/local 目录中。
ravynOS主要将系统内容放在/System、/Library和/usr中。/usr/local目录树是为用户添加而保留的(如FreeBSD软件包)。用户主目录位于/Users下,每个主目录都有一个~/Library文件夹,供可可应用程序使用。Zsh是默认的系统shell。正确打包的应用程序通常位于/Applications或~/Applications下,并构建为.app Bundle或AppImage。这些类型的应用程序是自包含的,通常不需要安装程序或卸载程序,并且可以在文件系统中移动而不会中断。传统的类Unix应用程序通常安装在固定的目录中。
最新版本:0.5
ravynOS 项目于2024年6月推出了全新的 v0.5 版本,这是一个基于 FreeBSD 的操作系统,专注于与 macOS 应用程序的兼容性,并提供类似 macOS 的用户界面。经过两年的潜心开发,ravynOS 团队终于发布了这一备受期待的重要更新。这个新版本不仅旨在让用户能够运行 macOS 应用程序,还在系统设计上融入了 macOS 的外观和使用体验,为用户提供了一个熟悉且强大的操作环境。
官方主页:https://ravynos.com/