ขึ้นอยู่กับสถาปัตยกรรม树莓派3 และ ARMv8-AArch64 ซึ่งเป็นเคอร์เนลระบบปฏิบัติการขนาดเล็ก
โครงการถูกจัดระเบียบในรูปแบบของ overview + subprojects overview เก็บรหัสทั้งหมด โครงการย่อยแต่ละ subproject ใช้รหัสเหล่านี้ตามความต้องการของตัวเองรวมถึงการกรองไฟล์ที่ไม่จำเป็น (ไม่รวมจากการรวบรวม)
โครงการได้รับการพัฒนาโดยใช้ภาษา C++ ที่ทันสมัยและสถาปัตยกรรมเป้าหมายหลักคือ ARMv8 คอมไพเลอร์ที่ใช้โดยโครงการคือ g++ ดังนั้นรหัสจะมีส่วนขยายไวยากรณ์บางส่วนของ g++ เช่น __attribute__ , __asm__
นอกจากนี้คอมไพล์
โครงการนี้ขึ้นอยู่กับ eclipse ( version > = 4.6.3 ) เมื่อรวบรวมคุณจะต้องใช้เวอร์ชัน eclipse ที่เหมาะสม บน Windows , Linux หรือ MacOS เลือก File -> Open Projects from File System -> คลิก Directory เลือกไดเรกทอรีที่โครงการตั้งอยู่และเปิด -> Finish
โครงการมีโครงการย่อยหลายโครงการส่วนใหญ่: host , qemu_virt , raspi3 และ user_space
เป้าหมายที่สอดคล้องกัน (สถาปัตยกรรม) ของการกำหนดค่าเหล่านี้คือ: การพัฒนาตามระบบปฏิบัติการโฮสต์โฮสต์ (ส่วนใหญ่ใช้เพื่อทดสอบการจัดการหน่วยความจำและฟังก์ชั่นที่ไม่ขึ้นกับสถาปัตยกรรมอื่น ๆ ), การพัฒนาตามการจำลอง QEMU (ใช้เพื่อทดสอบหน่วยความจำเสมือน, การขัดจังหวะ ฯลฯ ) การพัฒนาตาม Raspberry Pi 3
โครงการย่อยทั้งหมดอยู่ภายใต้โครงการย่อย
โครงการได้กำหนดค่าเป้าหมายการก่อสร้างพิเศษบางอย่าง ดู Build Targets สำหรับโครงการ
ในเคอร์เนลการหลีกเลี่ยงการใช้ตัวแปรทั่วโลกสามารถนำมาใช้โดยเฉพาะเพื่อเริ่มต้นตัวแปรทั่วโลกทั้งหมดที่ต้องกำหนด ตัวแปรเหล่านั้นสะดวกในการใช้งานเพียงเพราะพวกเขาได้จัดสรรพื้นที่แล้วในช่วงระยะเวลาการรวบรวม หากคุณต้องใช้ให้กำหนดหนึ่งครั้งที่นิยามและกำหนดใหม่หนึ่งครั้งในฟังก์ชันการเริ่มต้น
หากการกำหนดค่าโครงการมีการเปลี่ยนแปลงบรรทัดคำสั่งใหม่จะต้องรีสตาร์ทเนื่องจากสภาพแวดล้อม eclipse ทั้งหมดจะถูกส่งออก
ภาพรวมความคืบหน้าของโครงการอ้างอิงความคืบหน้า _current.md
บันทึกการบันทึกการอ้างอิงโครงการ _note.md
โครงสร้างและการกำหนดค่าของโครงการย่อยอ้างอิงถึงโครงการย่อย/readme.md
ในความคืบหน้า (อาจจะมีการอนุญาตให้ใช้งาน แต่อาจปิดอีกครั้งตอนนี้มันเปิดครึ่งและปิดครึ่ง)
ไม่ทำให้มันเป็น posix แทน
ทำตามกฎการเข้ารหัสบางอย่างที่อาจอ้างอิงในภายหลังที่นี่
อ่านเอกสารที่อาจเผยแพร่ในภายหลัง
การใช้ QEMU เพื่อแก้ไขโปรแกรมการลดทอนบางโปรแกรม
พยายามเปลี่ยนรหัสของเคอร์เนลอีกครั้ง
จากนั้น git add -a && git commit && git push!
ดูที่นี่ดูเอกสารภายนอก
RSP3-ARMV8-BAREMITAL โครงการดั้งเดิม
Linux, Linux อย่างเป็นทางการ
Qemu ผู้จำลองที่ช่วยได้มาก
Gvisor เคอร์เนลพื้นที่ผู้ใช้โดย Google ใน GO
โหมดผู้ใช้ Linux (UML) ตามชื่อของมัน
x2 เคอร์เนลโบราณบน Bochs
บทช่วยสอน RASPI3 โดย BZT มีประโยชน์มากสำหรับผู้เริ่มต้น
ARMV8 Hello World, Hello World ตัวอย่างสำหรับ ARMV8 ตาม QEMU ซึ่งเป็นประโยชน์สำหรับผู้เริ่มต้น