mirror of
https://gitlab.com/erkanisik/yali-rs.git
synced 2026-07-31 03:09:00 +00:00
6.8 KiB
6.8 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)
- Branding config hot-reload (dil değişince logo/slayt yeniden yüklenir)
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.
- Sistem saat dilimi yükleme (timedatectl / zone.tab)
- Bölge/alan çift ComboBox (Calamares tarzı)
- GeoIP ile otomatik dil/saat dilimi tespiti
- NTP veya manuel tarih/saat ayarı
- Harita desteği (gelecek)
- 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) — iptal.
- 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ı.
- LUKS/GRUB parola yönetimi (stdin pipe, shell injection yok).
4. Görsel ve Kullanıcı Deneyimi (UX/UI)
- PisiLinux temasına uygun egui stillerinin uygulanması.
- Özel gradient butonlar (primary, secondary, danger —
buttons.rs). - Stil uygulanmış ComboBox yardımcıları (
combobox.rs). - ComboBox görsel sabitleri ayrı modülde (
combobox_stil.rs). - Gradient arkaplanlı dropdown öğeleri, pointing hand imleci.
- 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ı.
weak_bg_fillile ComboBox popup arkaplan rengi (globalselde ayarlanabilir).- SVG ikon desteği (egui_extras
svgfeature). - Tema uygulama sırası düzeltmesi: önce
set_style, sonraset_visuals.
5. Test ve Dağıtım
--demoparameteresi 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 dışı — mevcut manuel bölümleme akışında "bölümü sil ve yeniden oluştur" yaklaşımı yeterli.)
- Kurtarma Modunda Pisi Geçmiş Geri Alma:
rescue.rs— "Pisi Geçmiş" sekmesi eklendi;pisi historylisteleme vepisi takeback <N>ile geri alma destekleniyor. - ISO ortamında test: Canlı ISO üzerinde kurulum testi yapılmadı.
- Farklı disk yapılarında test: UEFI/Legacy, NVMe/SATA farklı kombinasyonları test edilmedi.
- Harita desteği: Konum adımına görsel harita seçici eklenmesi planlanıyor.
- Ağ kurulumu: WiFi profillerinin kaydedilmesi ve otomatik bağlanma.