mirror of
https://gitlab.com/erkanisik/yali-rs.git
synced 2026-07-30 18:59:02 +00:00
5.7 KiB
5.7 KiB
🛠 Yali-RS (Rust Installer) Yol Haritası
Bu dosya, PisiLinux için geliştirilen yeni Rust tabanlı yükleyicinin (Yali) gelişim sürecini takip eder.
1. Temel Altyapı
- Proje iskeletinin oluşturulması (egui + eframe)
InstallerSteptrait yapısının kurulması- Global State yönetimi (Dil, kullanıcı, disk bilgileri)
- i18n (Çoklu Dil) desteğinin entegre edilmesi
- Navigasyon sistemi (Geri/İleri/İptal butonları yönetimi)
2. Kurulum Modülleri (Calamares Benzeri)
- Hoşgeldiniz (Welcome): Sistem gereksinim kontrolü ve dil seçimi.
- Konum (Location): Bölge ve zaman dilimi seçimi (Harita desteği eklenecek).
- Klavye (Keyboard): Klavye düzeni seçimi ve test alanı.
- Bölümleme (Partition):
- Disklerin listelenmesi (sysinfo/block-utils).
- Otomatik bölümleme (Tüm diski sil).
- Manuel bölümleme (GParted/KPMCore benzeri yapı).
- Mevcut bölümleri tablo olarak göster.
- Bölüm silme / oluşturma (diyalog penceresi).
- Bağlama noktası (mountpoint) ve dosya sistemi seçimi.
- EFI, swap, kök (/) bölümlerinin manuel atanması.
- Değişiklik planı gösterimi (özet tablo).
- GlobalState'e
custom_partitions: Vec<CustomPartition>eklenmesi. - Yeniden boyutlandırma (mevcut bölümleri koruyarak) — gelecek.
- Kullanıcılar (Users): Kullanıcı adı, parola ve hostname ayarları.
- Özet (Summary): Yapılacak işlemlerin son kontrolü.
- Kurulum (Execution): Gerçek işlemlerin (rsync, chroot, grub) yapıldığı ekran.
- Sonuç (Finish): Yeniden başlatma veya masaüstüne dönme.
3. Sistem Arka Plan İşlemleri (Job Queue)
- Disklerin formatlanması (mkfs.ext4, mkswap vb.).
- Sistem dosyalarının kopyalanması (
rsyncveyasquashfsaçma). - Chroot içine girerek yapılandırma yapılması.
- Bootloader (GRUB) kurulumu.
- COMAR üzerinden servislerin ve tetikleyicilerin çalıştırılması.
4. Görsel ve Kullanıcı Deneyimi (UX/UI)
- PisiLinux temasına uygun egui stillerinin uygulanması.
- Kurulum sırasında slayt gösterisi (Slideshow).
- Slayt gösterisi öncelikle ortak slaytları göstermeli, sonra masaüstü ortamına özel slaytları göstermeli.
- ISO hangi masaüstü ortamını içeriyorsa onun slaytı gösterilmeli.
- Hata yakalama ve kullanıcıya bildirme ekranları.
5. Test ve Dağıtım
- --demo parameteresi ile komutlar aktif çalışmadan sadece görsel arayüzde başlangıçtan bitişe kadar gezinme, slaytlar arasında 5 sn kadar bekleme süresi. Böylece arayüz testi yapılmış olur.
- ISO ortamında çalışma testleri.
- Farklı disk yapılarında (UEFI/Legacy, NVMe/SATA) testler.
- Otomatik kurulum (Auto-install/Answer file) desteği.
6. Kritik Düzeltmeler (Gerçek Kurulum İçin Zorunlu)
Bu bölüm, gerçek Live ortamda başarılı kurulum için düzeltilmesi gereken kritik sorunları içerir.
- [KRİTİK]
arch-chrootbağımlılığını kaldır:MountBindJobeklendi:/proc,/sys,/dev,/dev/ptsbind mount'ları yapılıyor.UnmountBindJobeklendi: kurulum sonunda bind mount'lar temizleniyor.- Tüm
run_cmd("arch-chroot", ...)çağrılarırun_chroot(...)helper ile değiştirildi. - Job Queue'ya
MountBindJobbaşına,UnmountBindJobsonuna eklendi.
- [KRİTİK] initramfs oluşturma adımı:
GenerateInitramfsJobeklendi: öncedracut, hata olursamkinitcpiodeneniyor.- GRUB kurulumundan önce Job Queue'ya eklendi.
- [ÖNEMLİ] Kaynak dizin hardcode — dinamik hale getirildi:
detect_source_dir()fonksiyonu yazıldı (birden fazla aday dizin deneniyor).build_full_job_queue()içinde otomatik kullanılıyor.
- [ÖNEMLİ] GRUB kurulumu chroot içine taşındı:
grub-installartık chroot içinde çalışıyor (hem UEFI hem BIOS modu).grub-mkconfigde chroot içinde çalışıyor.
- [ÖNEMLİ] Lokalizasyon anahtarları güncellendi:
- Yeni job isimleri (mount_bind, umount_bind, initramfs, bootloader) eklendi.
- Manuel bölümleme UI anahtarları eklendi (en.toml + tr.toml).
- [ÖNEMLİ] Manuel bölümleme için Job desteği — TAMAMLANDI:
CustomPartition,FsTypetipleriinstaller.rs'e eklendi.GlobalState'ecustom_partitions: Vec<CustomPartition>eklendi.CustomPartitionJob: kullanıcının seçtiği planı uygulayan Job.build_custom_job_queue()fabrika fonksiyonu.
- [ÖNEMLİ] LVM Logical Volumes desteği — TAMAMLANDI:
ManualState'e LV ekleme state'leri eklendi.validate_manualfonksiyonu LV'leri de kapsayacak şekilde güncellendi.partition.rsarayüzüne LV tablosu ve ➕ LV ekleme diyaloğu eklendi.MountCustomPartitionsJobLVM LV bağlamayı destekler hale getirildi.FstabFromCustomPartitionsJobLVM LV girişlerini fstab'a yazar.GenerateInitramfsJob'alvm_activealanı eklendi; LVM kullanımında dracut ve mkinitcpio otomatik yapılandırılıyor.
Kalan Eksiklikler
- Disk Bölümü Yeniden Boyutlandırma (Shrink): (Kapsam notu: ntfsresize/resize2fs entegrasyonu disk I/O riskleri taşıdığından, mevcut manuel bölümleme akışında "bölümü sil ve yeniden oluştur" yaklaşımı yeterli; ayrıca calamares da aynı yolu izler.)
- Kurtarma Modunda Pisi Geçmiş Geri Alma:
rescue.rsgüncellendi — "Pisi Geçmiş" sekmesi eklendi;pisi historylisteleme vepisi takeback <N>ile geri alma destekleniyor.