中文说明
คำเตือน: โครงการยังอยู่ในช่วงเริ่มต้นและโปรแกรมผู้ใช้ไม่สามารถใช้งานได้ในระบบปฏิบัติการ ความเสี่ยงที่อาจเกิดขึ้นจากการใช้งานซอฟต์แวร์ไม่ว่าจะในเครื่องเสมือนหรือโลหะเปลือยควรนำมาพิจารณาโดยผู้ใช้
ปัจจุบันโครงการรองรับสถาปัตยกรรม X86_64 เท่านั้นและอาจสนับสนุน AARCH64 ในอนาคต
io-uring ของ Linuxdebug - มีไฟล์แอสเซมบลีที่ถอดรหัสสัญลักษณ์การดีบักข้อมูลไฟล์วัตถุ และไฟล์บันทึกอนุกรมของเครื่องเสมือนh2o - มีซอร์สโค้ดสำหรับเคอร์เนลscripts - มีสคริปต์ที่จำเป็นสำหรับการสร้างโครงการsrc - มีซอร์สโค้ดของไลบรารีและปฏิบัติการสำหรับโครงการทั้งหมดtarget - มีไบนารีและไฟล์ดิสก์เสมือนxtask - มีตัวสร้างสำหรับโครงการดาวน์โหลด Rust และการพึ่งพาอื่น ๆ (ตัวอย่างเช่น Ubuntu):
# Select the nightly channel for rust
curl --proto ' =https ' --tlsv1.2 -sSf https://sh.rustup.rs | sh
sudo apt install build-essential qemu-system-x86 llvm-14 nasm
export LLVM_PATH= " /usr/lib/llvm-14 "เพิ่มเป้าหมายต่อไปนี้:
rustup target add nightly-x86_64-unknown-linux-gnuเปลี่ยนเป็นไดเรกทอรีรากของโครงการและเรียกใช้คำสั่งต่อไปนี้:
cargo xtask dist imgในการเรียกใช้ระบบปฏิบัติการด้วย QEMU ให้เรียกใช้คำสั่งต่อไปนี้:
sh scripts/run.sh qemu N # N for the number of CPUs และตรวจสอบไฟล์ debug/qemu.log คุณควรเห็นผลลัพธ์ของระบบปฏิบัติการ
ในการดีบักกับ QEMU ให้เรียกใช้คำสั่งต่อไปนี้:
sh scripts/run.sh qdbg N # Same as aboveและเปิดเทอร์มินัลใหม่:
# cd to the working directory
gdb debug/FOO.sym
# FOO for the binary you want to debug;
# you may check it in the directory first.
# In the gdb:
target remote :1234จากนั้นคุณสามารถตั้งค่าเบรกพอยต์ (Kernel.sym ตัวอย่าง):
b kmain
cหากคุณต้องการเรียกใช้ระบบปฏิบัติการกับซอฟต์แวร์ VM อื่น ๆ ให้ตรวจสอบ run.sh ก่อนและสร้างไฟล์การกำหนดค่า VM ด้วยตนเองตามที่คุณต้องการ อย่าลืมเพิ่มดิสก์เสมือนและบันทึกอนุกรมหรือไม่มีเอาต์พุตอยู่!
หากคุณต้องการบริจาคให้แน่ใจว่าได้ติดต่อฉันก่อน