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。