中文说明
تحذير: لا يزال المشروع في المرحلة المبكرة للغاية ، وبرامج المستخدم غير متوفرة في نظام التشغيل. يجب أن تؤخذ أي خطر محتمل لتشغيل البرنامج إما في الأجهزة الافتراضية أو المعادن العارية في الاعتبار من قبل المستخدم.
في الوقت الحالي ، يدعم المشروع الهندسة المعمارية X86_64 فقط ، وربما سيدعم AARCH64 في المستقبل.
io-uring .debug - يحتوي على ملفات التجميع غير المجسلة ، ورموز التصحيح ، والمعلومات ملفات الكائن. وملفات السجل التسلسلي للأجهزة الافتراضية.h2o - يحتوي على الكود المصدري للنواة.scripts - تحتوي على البرامج النصية المطلوبة لبناء المشروع.src - يحتوي على الكود المصدري للمكتبات والمواد التنفيذية للمشروع بأكمله.target - يحتوي على الثنائيات وملفات القرص الظاهري.xtask - يحتوي على المنشئ للمشروع.قم بتنزيل الصدأ والتبعيات الأخرى (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 يدويًا كما تريد. لا تنس إضافة القرص الظاهري وسوف يكون السجل التسلسلي أو عدم وجود إخراج!
إذا كنت ترغب في تقديم مساهمات ، فتأكد من الاتصال بي أولاً.