(Format: UTF-8)
Das in Rost geschriebene Betriebssystem
Methylenix ist ein Betriebssystem aus Rost.
Alle sind in Rost geschrieben, mit Ausnahme von Bereichen, die nur in der Montage verwendet werden, wie z. B. Startup -Initialisierung und E/A -Anweisungen.
Der Ursprung dieses Programms war, als ich als Student am Intensivkurs "X: Erstellen Sie Ihre eigenen Sprachen und Betriebssysteme erstellen" teil.
Informationen zu Sicherheitscamps finden Sie im Sicherheitslager: Information Technology Promotion Agency, IPA Independent Administrative Agency. Wir haben sogar Interrupts im Sicherheitslager implementiert. (Referenz: Sicherheitslager 2017 Beteiligungsnotizen | PG_MANAs verschiedene Notizen)
Der Name Methylenix stammt aus der Methylengruppe. Wir wollten Module kombinieren, um eine Anwendung zu erstellen, genau wie organische Verbindungen, indem wir verschiedene Teile kombinieren, und wir haben der Gruppe "Nix" hinzugefügt, um eine Methylengruppe zu erstellen, die ein guter Mnemoniker zu sein scheint.
Copyright 2018 PG_MANA
Lizenziert unter der Apache -Lizenz, Version 2.0 (der "Lizenz"); Sie dürfen diese Datei nur in Übereinstimmung mit der Lizenz verwenden. Sie können eine Kopie der Lizenz bei erhalten
https://www.apache.org/licenses/license-2.0
Sofern nicht nach geltendem Recht oder schriftlich zu vereinbart wird, wird die im Rahmen der Lizenz verteilte Software auf "As is" -Basis ohne Gewährleistung oder Bedingungen jeglicher Art ausdrücklich oder impliziert verteilt. Siehe die Lizenz für die spezifischen Sprachberechtigungen und Einschränkungen im Rahmen der Lizenz.
Software erforderlich
git clone https://github.com/PG-MANA/Methylenix.git
cd Methylenix
make iso
# created bin/img/boot.isoDas vorgebaute Bild finden Sie unter 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/Das vorgebaute Bild finden Sie unter https://repo.taprix.org/pg_mana/methylenix/images/aarch64/.
QEMU-SYSTEM-X86_64 ist erforderlich.
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=dSie benötigen OVMF für QEMU-System-Aarch64 und 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 Für Grundlagen folgen Sie https://doc.rust-lang.org/1.1.0/style/style/naming/readme.html. Die Codeformung verwendet Rustfmt.
(Vielleicht schützt er selbst nicht)
https://twitter.com/pg_mana_
https://pg-mana.net
https://methylenix.org (derzeit habe ich einfach zu Github umgeleitet. Wann kann ich es tun?)