(Formato: UTF-8)
El sistema operativo escrito en óxido
Methylenix es un sistema operativo hecho de óxido.
Todos están escritos en óxido, excepto las áreas que solo se usan en el ensamblaje, como la inicialización de inicio e instrucciones de E/S.
El origen de este programa fue cuando participé como estudiante en el curso intensivo del campamento de seguridad nacional 2017 "X: Crea tus propios idiomas y el sistema operativo".
Para obtener información sobre los campamentos de seguridad, consulte el campamento de seguridad: Agencia de Promoción de Tecnología de la Información, Agencia Administrativa Independiente de IPA. Incluso implementamos interrupciones en el campamento de seguridad. (Referencia: Notas de participación del campamento de seguridad 2017 | Notas misceláneas de PG_Mana)
El nombre de Methylenix se toma del grupo de metileno. Queríamos combinar módulos para crear una aplicación, al igual que los compuestos orgánicos, combinando varias partes, y agregamos "Nix" al grupo para crear un grupo de metileno que parece ser un buen mnemónico.
Copyright 2018 PG_Mana
Licenciado bajo la licencia Apache, versión 2.0 (la "licencia"); No puede usar este archivo, excepto de conformidad con la licencia. Puede obtener una copia de la licencia en
https://www.apache.org/licenses/license-2.0
A menos que la ley aplicable sea requerida o acordado por escrito, el software distribuido bajo la licencia se distribuye de manera "como es", sin garantías o condiciones de ningún tipo, ya sea expresas o implícitas. Consulte la licencia para los permisos y limitaciones de rigor de idioma específico bajo la licencia.
Se requiere software
git clone https://github.com/PG-MANA/Methylenix.git
cd Methylenix
make iso
# created bin/img/boot.isoLa imagen pre-construida se puede encontrar en 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/La imagen pre-construida se puede encontrar en https://repo.taprix.org/pg_mana/methylenix/images/aarch64/.
Se requiere 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=dNecesitará OVMF para QEMU-System-Aarch64 y 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 Para lo básico, siga https://doc.rust-lang.org/1.1.0/style/style/naming/readme.html. La configuración del código usa Rustfmt.
(Tal vez él mismo no está protegiendo)
https://twitter.com/pg_mana_
https://pg-mana.net
https://methylenix.org (actualmente, solo redirigo a Github. ¿Cuándo puedo hacerlo?)