แม้ว่า P1C0 จะเริ่มเป็นสนามเด็กเล่นและเครื่องมือวิจัยสำหรับ M1 Macs แต่ขณะนี้กำลังมุ่งหน้าสู่เคอร์เนลที่เรียบง่ายและอาจใช้ระบบปฏิบัติการที่สมบูรณ์ในอนาคตที่กำหนดเป้าหมายในอนาคตของ MacBook Pro 14 ปี 2021 "
ระบบปฏิบัติการส่วนใหญ่เขียนเป็นสนิมโดยมีบิตประกอบบางส่วนที่นี่และที่นั่นเพื่อโต้ตอบกับฮาร์ดแวร์ ในขณะนี้มีการสนับสนุนการทำเกลียวพื้นฐานใน EL1 และไดรเวอร์บางตัวเพื่อโต้ตอบกับฮาร์ดแวร์ (เช่นไดรเวอร์ HID สำหรับแป้นพิมพ์ผ่านโปรโตคอลการขนส่ง SPI)
รับแหล่งที่มาจาก 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 สิ่งนี้จะสร้างไฟล์ .macho ใน fw/p1c0.macho ในการติดตั้งวัตถุนี้ลงในคอมพิวเตอร์ของคุณคุณสามารถทำตามคำแนะนำได้ที่นี่
$ cargo tอย่าลังเลที่จะมีส่วนร่วมในโครงการนี้และปัญหาเปิด การมีส่วนร่วมที่ได้รับการชื่นชมรวมถึง แต่ไม่ จำกัด เพียง:
เกี่ยวกับการมีส่วนร่วมของรหัสตรวจสอบให้แน่ใจว่าได้จัดรูปแบบรหัสทั้งหมดด้วย rust-fmt
รหัสนี้บางส่วนขึ้นอยู่กับการวิจัยที่ยอดเยี่ยมที่ทำโดย Marcan และคนดีที่อยู่เบื้องหลังโครงการ Asahi Linux
นอกจากนี้รหัสต้นบางส่วน (เช่นไฟล์ข้อยกเว้น RS) ขึ้นอยู่กับ Rust-RaspberryPi-OS-TUTORIAL จากองค์กรที่ฝังศพเป็นสนิม