p1c0
1.0.0
尽管P1C0最初是用于M1 Mac的操场和研究工具,但目前它将朝着针对2021 MacBook Pro 14的简单内核,甚至可以完成操作系统。
操作系统主要用Rust编写,到处都有一些装配位与硬件进行交互。目前,它支持EL1中的基本线程和一些驱动程序与硬件进行交互(例如通过SPI传输协议为键盘的HID驱动程序)。
从GitHub获取来源:
git clone https://github.com/javier-varez/p1c0假设您在系统中安装了货物,则需要更多的依赖项来构建和测试该项目:
# Install cargo-binutils, used to generate a binary/Mach-o file out of the compiled ELF.
cargo install cargo-binutils
# Assuming you are building this in Ubuntu-20.04. Otherwise check your package manager
# On an m1 mac with macOS p1c0 will just use the built-in clang version
sudo apt update
sudo apt install -y gcc-aarch64-linux-gnu为了运行模拟器,您将需要一个版本的QEMU,并支持Apple M1 Pro。您可以在此处找到此版本,以及此处的最新版本。
INSTALL_DIR= ${YOUR_DESIRED_INSTALL_PATH}
OS= $( uname | tr ' [:upper:] ' ' [:lower:] ' )
ARCH= $( uname -m )
curl -OL https://github.com/Javier-varez/qemu-apple-m1/releases/download/Apple_M1_Pro_0.1.3/0.1.3_M1_Pro_ ${OS} _ ${ARCH} .zip
unzip -d ${INSTALL_DIR} /qemu-apple-m1 0.1.3_M1_Pro_ ${OS} _ ${ARCH} .zip
# And finally make it available in your path. You can add this to your .bashrc or .bash_profile
export PATH= ${INSTALL_DIR} /qemu-apple-m1/bin: $PATHcargo rrcargo br这将在fw/p1c0.macho中创建一个。 .macho文件。要将此对象安装到计算机中,您可以在此处遵循说明。
$ cargo t随时为这个项目做出贡献并开放问题。感谢的贡献包括但不限于:
关于代码贡献,请确保使用rust-fmt格式化所有代码。
其中一些代码是基于马尔坎(Marcan)和Asahi Linux项目背后的好人进行的出色研究。
此外,一些早期代码(例如异常文件)是基于Rust-Rebedded组织的Rust-raspberry-os-tutorial。