
Moros เป็นระบบปฏิบัติการอดิเรกที่เขียนด้วย Rust โดย Vincent Ollivier
มันกำหนดเป้าหมายคอมพิวเตอร์ที่มีสถาปัตยกรรม x86-64 และ BIOS ส่วนใหญ่จากปี 2005 ถึง 2020 แต่มันก็ทำงานได้ดีบนอีมูเลเตอร์ส่วนใหญ่ (Bochs, Qemu และ VirtualBox)
โครงการนี้เริ่มต้นจากโพสต์ที่เจ็ดของฉบับที่สองของการเขียนระบบปฏิบัติการใน Rust โดย Philipp Oppermann และโดยการอ่าน Osdev Wiki พร้อมกับเมล็ดโอเพนซอร์สจำนวนมาก
เอกสารมีอยู่ที่นี่
คุณจะต้องใช้ git , gcc , make , curl , qemu-img และ qemu-system-x86_64 บนระบบโฮสต์
โคลน repo:
$ git clone https://github.com/vinc/moros
$ cd moros
ติดตั้งเครื่องมือที่จำเป็นด้วย make setup หรือคำสั่งต่อไปนี้:
$ curl https://sh.rustup.rs -sSf | sh -s -- -y --default-toolchain none
$ rustup show
$ cargo install bootimage
สร้างภาพเป็น disk.img :
$ make image output=video keyboard=qwerty
เรียกใช้ Moros ใน Qemu:
$ make qemu output=video nic=rtl8139
เรียกใช้งานโดยใช้คอมพิวเตอร์ x86 โดยการคัดลอก bootloader และเคอร์เนลไปยังฮาร์ดไดรฟ์หรือแท่ง USB (แต่ปัจจุบันไม่มีไดรเวอร์ USB ดังนั้นระบบไฟล์จะไม่สามารถใช้ได้ในกรณีนั้น):
$ sudo dd if=target/x86_64-moros/release/bootimage-moros.bin of=/dev/sdx
Moros จะเปิดคอนโซลในโหมด Diskless หลังจากบูตหากไม่พบระบบไฟล์ คำสั่งต่อไปนี้จะตั้งค่าระบบไฟล์บนฮาร์ดไดรฟ์ช่วยให้คุณออกจากโหมดดิสก์ที่ไม่มีและเข้าสู่ระบบเป็นผู้ใช้ปกติ:
> install
ระวังอย่าเขียนทับฮาร์ดไดรฟ์ของระบบปฏิบัติการของคุณเมื่อใช้ dd ภายในระบบปฏิบัติการของคุณและ install หรือ disk format ภายใน Moros หากคุณไม่ได้ใช้อีมูเลเตอร์
เรียกใช้ชุดทดสอบใน QEMU:
$ make test
Moros ได้รับการปล่อยตัวภายใต้ MIT