على الرغم من أن P1C0 بدأ كأداة ملعب وأبحاث لـ M1 Macs ، إلا أنها تتجه حاليًا نحو نواة بسيطة وربما أكمل نظام التشغيل في المستقبل لاستهداف MacBook Pro 14 2021 ".
يتم كتابة نظام التشغيل في الغالب في الصدأ ، مع بعض أجزاء التجميع هنا وهناك للتفاعل مع الأجهزة. في الوقت الحالي ، يحظى بدعم للخيوط الأساسية في EL1 وبعض برامج التشغيل للتفاعل مع الأجهزة (مثل برنامج تشغيل HID للوحة المفاتيح من خلال بروتوكول نقل SPI).
احصل على مصادر من جيثب مع:
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-TUTORIOR من المنظمة المدمجة في الصدأ.