(格式:UTF-8)
用鐵鏽寫的操作系統
甲基烯是由生鏽組成的操作系統。
除了僅在組裝中使用的區域,例如啟動初始化和I/O說明,所有這些都用生鏽書寫。
該計劃的起源是當我參加學生參加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=dQEMU-SYSTEM-AARCH64和AARCH64需要OVMF。
# 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/style/naming/readme.html。代碼成型使用Rustfmt。
(也許他本人沒有保護)
https://twitter.com/pg_mana_
https://pg-mana.net
https://methylenix.org(目前,我只是重定向到github。我什麼時候可以做?)