(التنسيق: UTF-8)
نظام التشغيل مكتوب في الصدأ
ميثيلنيكس هو نظام تشغيل مكون من الصدأ.
جميعها مكتوبة في الصدأ ، باستثناء المناطق التي يتم استخدامها فقط في التجميع ، مثل تهيئة بدء التشغيل وتعليمات الإدخال/الإخراج.
كان أصل هذا البرنامج عندما شاركت كطالب في الدورة المكثفة في معسكر الأمن القومي لعام 2017 "X: إنشاء اللغات الخاصة بك ونظام التشغيل".
للحصول على معلومات حول معسكرات الأمن ، يرجى الاطلاع على معسكر الأمن: وكالة ترويج تكنولوجيا المعلومات ، وكالة IPA الإدارية المستقلة. لقد قمنا حتى بتنفيذ المقاطعات في معسكر الأمن. (المرجع: معسكر الأمن 2017 ملاحظات المشاركة | ملاحظات PG_MANA المتنوعة)
اسم ميثيل أينيكس مأخوذ من مجموعة الميثيلين. أردنا الجمع بين الوحدات النمطية لإنشاء تطبيق ، تمامًا مثل المركبات العضوية ، من خلال الجمع بين أجزاء مختلفة ، وأضفنا "NIX" إلى المجموعة لإنشاء مجموعة ميثيلين التي يبدو أنها ذاكري جيد.
حقوق الطبع والنشر 2018 PG_MANA
مرخصة بموجب ترخيص Apache ، الإصدار 2.0 ("الترخيص") ؛ لا يجوز لك استخدام هذا الملف إلا في الامتثال للترخيص. يمكنك الحصول على نسخة من الترخيص على
https://www.apache.org/licenses/license-2.0
ما لم يكن مطلوبًا بموجب القانون المعمول به أو الموافقة على الكتابة ، يتم توزيع البرامج الموزعة بموجب الترخيص على أساس "كما هي" ، دون ضمانات أو شروط من أي نوع ، إما صريحة أو ضمنية. راجع ترخيص الأذونات والقيود التي تحكم اللغة المحددة بموجب الترخيص.
البرامج المطلوبة
git clone https://github.com/PG-MANA/Methylenix.git
cd Methylenix
make iso
# created bin/img/boot.isoيمكن العثور على الصورة التي تم إنشاؤها مسبقًا على https://repo.taprix.org/pg_mana/methylenix/images/x86_64.
git clone https://github.com/PG-MANA/Methylenix.git
cd Methylenix
make TARGET_ARCH=aarch64
# created bin/EFI/BOOT/يمكن العثور على الصورة التي تم إنشاؤها مسبقًا على https://repo.taprix.org/pg_mana/methylenix/images/aarch64/.
مطلوب Qemu-System-X86_64.
qemu-system-x86_64 -cpu qemu64,+fsgsbase --cdrom bin/img/boot.iso
# or (OVMF)
qemu-system-x86_64 --cdrom bin/img/boot.iso -cpu qemu64,+fsgsbase -smp 2 -m 512M -bios /usr/bin/OVMF/OVMF.fd
# or (to emulate host cpu)
qemu-system-x86_64 --cdrom bin/img/boot.iso -cpu host -smp 2 -m 512M -bios /usr/bin/OVMF/OVMF.fd --enable-kvm
# NIC and NVMe Emulation
qemu-system-x86_64 -drive if=pflash,format=raw,readonly=on,file=/path/to/OVMF_CODE.fd -drive if=pflash,format=raw,file=/path/to/QEMU_VARS.fd -m 1G -cdrom bin/img/boot.iso -smp 4 --enable-kvm -cpu host -netdev user,id=net0,hostfwd=tcp::7777-:8080 -device e1000e,netdev=net0,mac=52:54:00:12:34:56 -drive file=/path/to/img.qcow2,if=none,id=nvm -device nvme,serial=12345678,drive=nvm --boot order=dستحتاج إلى OVMF لـ QEMU-SYSTEM-AARCH64 و AARCH64.
# Modify "/usr/bin/OVMF/OVMF_AARCH64.fd" to your suitable path
qemu-system-aarch64 -m 1G -cpu a64fx -machine virt,gic-version=3 -smp 2 -nographic -bios /usr/bin/OVMF/OVMF_AARCH64.fd -drive file=fat:rw:bin/,format=raw,media=diskcargo doc --open للأساسيات ، اتبع https://doc.rust-lang.org/1.1.0/style/style/naming/readme.html. يستخدم تشكيل الكود Rustfmt.
(ربما هو نفسه لا يحمي)
https://twitter.com/pg_mana_
https://pg-mana.net
https://methylenix.org (حاليا ، أنا فقط إعادة توجيه إلى github. متى يمكنني القيام بذلك؟)