macOS 开发 StarryOS 环境部署说明

StarryOS,一个基于ArceOS实现的宏内核。

Starry意指布满星星的,寓意本OS的开发学习借鉴了许多前辈的思路,并将其汇总归一为这个内核。

这是一个介绍如何在macOS系统下部署 StarryOS 开发环境的说明文档。此文档默认构建x86_64架构的fat磁盘镜像

仓库提交记录 https://github.com/Arceos-monolithic/Starry/pull/46

操作步骤

以下所有的操作步骤都是在当前项目根目录中操作.

  1. 安装 rust
$ xcode-select --install
$ curl --proto '=https' --tlsv1.2 -sSf https://sh.rustup.rs | sh
  1. 安装 qemu
$ brew install qemu
  1. 安装 cargo-binutils
$ cargo install cargo-binutils
$ rustup component add llvm
  1. 创建磁盘文件
$ dd if=/dev/zero of=disk.img bs=4M count=30
  1. 给磁盘文件添加文件系统
$ open disk.img

这个时候会弹出一个是否初始化的弹窗, 点击初始化,会打开磁盘管理器

初始化

  1. 格式化磁盘

002 6-1 选中磁盘, 点击格式化

003 6-2 格式化选项选择 MS-DOS (FAT)格式

004 6-3 点击格式化按钮

005 6-4 格式化完成

006 6-5 弹出磁盘

  1. 后续的磁盘操作
# 创建文件夹
$ mkdir -p mnt

# 挂载磁盘
$ hdiutil attach disk.img -mountpoint mnt

# 拷贝文件
$ cp -r ./testcases/x86_64_linux_musl/* ./mnt/

# 卸载磁盘
$ hdiutil detach mnt

# 改变文件权限
$ chmod 777 disk.img
  1. 运行StarryOS
# 运行宏内核
$ make run

# 运行 shell
$ make A=apps/fs/shell AARCH=x86_64 FEATURES=fp_simd run

运行效果

macOS系统下运行StarryOS效果

007