MerOS, Rust dilinde yazılmış, basit bir işletim sisteminin temel özelliklerine sahip bir projedir. Bu proje, sistem programlaması ve işletim sistemi çekirdeği geliştirme konularında bir başlangıç sağlamayı amaçlar. Şu anda, temel olarak ekranda "MerOS" yazısını gösterebilen bir yapı sunmaktadır.
- No-Std Çekirdek: Rust’ın
stdkütüphanesi olmadan, temelcorekütüphanesiyle çalışan bir çekirdek. - VGA Ekran Çıkışı: Ekrana basit bir "MerOS" yazısı yazdırmak için VGA tamponu kullanılır.
- Bootloader Desteği: ISO dosyası oluşturulup QEMU üzerinden çalıştırılabilir.
- Rust kurulu olmalıdır. Rust Kurulum Kılavuzu
qemukurulu olmalıdır. QEMU, işletim sisteminizi sanal ortamda çalıştırmanıza olanak sağlar. QEMU Kurulum Kılavuzubootimagearacı ile bootable ISO imajları oluşturmak için gerekli araçlar.
-
Proje Bağımlılıklarını Yükleme:
cargo install bootimage
-
Hedef Platformu Ekleme:
x86_64-unknown-nonehedefini ekleyin:rustup target add x86_64-unknown-none
-
Proje Bağımlılıklarını Güncelleme:
Cargo.tomldosyasına aşağıdaki bağımlılığı ekleyin:[dependencies] bootimage = "0.10"
-
ISO İmajı Oluşturma: Çekirdeğinizi derleyin ve bir ISO dosyası oluşturun:
cargo build --target x86_64-unknown-none cargo bootimage --target x86_64-unknown-none
-
QEMU ile Çalıştırma: ISO dosyasını QEMU ile çalıştırmak için aşağıdaki komutu kullanın:
qemu-system-x86_64 -cdrom target/x86_64-unknown-none/debug/meros.iso
- VGA Ekran Çıkışı: Sistem açıldığında "MerOS" yazısını ekranda görüntüler.
- Basit Çekirdek Yapısı: Gömülü sistemler ve işletim sistemleri geliştirmek için temel yapı taşları sağlar.
- No-Std Kullanımı: Gömülü ve düşük seviyeli sistemler için
stdkütüphanesi yerinecorekütüphanesi kullanılır.
Bu projeye katkı sağlamak için aşağıdaki adımları izleyebilirsiniz:
- Projeyi kendi bilgisayarınıza klonlayın:
git clone https://github.com/hacimertgokhan/meros.git
- Değişiklik yapın ve pull request gönderin.
Not: Bu proje, işletim sistemi çekirdeği geliştirme sürecine yeni başlayanlar için bir örnektir. Geliştirmeye devam edebilir ve yeni özellikler ekleyebilirsiniz.