(Format: UTF-8)
Sistem operasi yang ditulis dengan karat
Methylenix adalah OS yang terdiri dari karat.
Semua ditulis dalam karat, kecuali untuk area yang hanya digunakan dalam perakitan, seperti inisialisasi startup dan instruksi I/O.
Asal usul program ini adalah ketika saya berpartisipasi sebagai mahasiswa di National Security Camp 2017 Intensive Course "X: Buat bahasa dan OS Anda sendiri."
Untuk informasi di kamp keamanan, silakan lihat Kamp Keamanan: Badan Promosi Teknologi Informasi, Badan Administrasi Independen IPA. Kami bahkan menerapkan interupsi di kamp keamanan. (Referensi: Catatan Partisipasi Kamp Keamanan 2017 | Catatan Lain -Lain PG_MANA)
Nama methylenix diambil dari gugus metilen. Kami ingin menggabungkan modul untuk membuat aplikasi, seperti senyawa organik, dengan menggabungkan berbagai bagian, dan kami menambahkan "nix" ke kelompok untuk membuat kelompok metilen yang tampaknya menjadi mnemonik yang baik.
Hak Cipta 2018 PG_MANA
Berlisensi di bawah lisensi Apache, versi 2.0 ("lisensi"); Anda tidak boleh menggunakan file ini kecuali sesuai dengan lisensi. Anda dapat memperoleh salinan lisensi di
https://www.apache.org/licenses/license-2.0
Kecuali diharuskan oleh hukum yang berlaku atau disepakati secara tertulis, perangkat lunak yang didistribusikan di bawah lisensi didistribusikan berdasarkan "sebagaimana adanya", tanpa jaminan atau ketentuan dalam bentuk apa pun, baik tersurat maupun tersirat. Lihat lisensi untuk bahasa spesifik yang mengatur izin dan batasan di bawah lisensi.
Diperlukan perangkat lunak
git clone https://github.com/PG-MANA/Methylenix.git
cd Methylenix
make iso
# created bin/img/boot.isoGambar pra-dibangun dapat ditemukan di 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/Gambar pra-dibangun dapat ditemukan di https://repo.taprix.org/pg_mana/methylenix/images/aarch64/.
Diperlukan 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=dAnda akan memerlukan OVMF untuk Qemu-System-AARCH64 dan 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 Untuk dasar-dasarnya, ikuti https://doc.rust-lang.org/1.1.0/style/style/naming/readme.html. Pembentukan kode menggunakan rustfmt.
(Mungkin dia sendiri tidak melindungi)
https://twitter.com/pg_mana_
https://pg-mana.net
https://methylenix.org (Saat ini, saya baru saja mengarahkan kembali ke GitHub. Kapan saya bisa melakukannya?)