SteamOS’u özel olarak çatallama yöntemi
- SteamOS 3 ("Holo"), Valve Software’in taşınabilir PC oyun cihazı Steam Deck için oluşturduğu Arch tabanlı bir Linux dağıtımıdır.
- SteamOS, yeni salt okunur kök dosya sistemini pasif bölüme indirerek atomik güncellemeler gerçekleştirir.
- Kullanıcılar
steamos-devmode komutunu çalıştırarak kök dosya sisteminin kilidini açabilir ve pacman veritabanını temizleyerek normal bir paket yöneticisine sahip çalışan bir Linux dağıtımı elde edebilir.
SteamOS sistem yapısı
- SteamOS sistemi 8 bölümden oluşur ve EFI sistem bölümünde aşama 1 önyükleyici ile meta veri dosyaları saklanır.
- İki adet A/B bölüm kümesi, aşama 2 önyükleyiciyi (GRUB), kök dosya sistemini ve /var bölümünü içerir.
- Kalan disk alanını dolduran tek bir home bölümü bulunur.
Çekirdek yaması uygulama yöntemi
- Valve, SteamOS’te yoğun biçimde değiştirilmiş bir Linux çekirdeği kullanır.
- Çekirdek kaynağı Valve’ın pacman yansısında bulunabilir ve mevcut kararlı imajın çekirdek kaynağı çevrimiçi olarak indirilebilir.
- Kaynak tarball’ının boyutu 2.9 GiB’dir; bunun nedeni tüm Linux Git ağacını içermesidir.
Kök dosya sistemini yeniden paketleme
- Kök dosya sistemini değiştirerek kullanıcının ihtiyaçlarına göre yeniden paketlemek mümkündür.
- Kök dosya sistemi imajı, bir Steam Deck satın alarak veya SteamOS kurtarma imajını indirerek elde edilebilir.
- casync kullanılarak
.castr deposundan gerekli imaj parçaları indirilebilir ve bunlar pasif kök dosya sistemi bölümüne yazılarak imaj elde edilebilir.
RAUC paketi oluşturma
- casync deposu ve blob indeksi oluşturulduktan sonra RAUC paketi hazırlanabilir.
- RAUC, güven ilişkisi kurmak için X.509 sertifikaları kullanır ve yeni sertifikanın kök dosya sistemine kurulması gerekir.
- RAUC paketi
rootfs.img.raucb ve rootfs.img.caibx dosyalarını içermelidir; bunların bir web sunucusuna yüklenmesi gerekir.
Güncelleme sunucusu kurulumu
- Güncelleme sunucusu, imajın
manifest.json dosyasıyla eşleşmesi gereken bir JSON dosyası sunmalıdır.
- Caddy yapılandırması kullanılarak
steamos-atomupd tarafından QueryUrl ve MetaUrl için yapılan istekler live.json dosyasına yönlendirilebilir.
GN⁺ görüşü
- Özel OS’nin önemi: Bu yazı, kullanıcıların işletim sistemini kendi ihtiyaçlarına göre nasıl özelleştirebileceğini gösteriyor. Bu, yazılım geliştiricilerin özelleştirilmiş çözümler sunması açısından önemlidir.
- Öğrenme kaynağı olarak değeri: Bu süreç sayesinde başlangıç seviyesindeki yazılım mühendisleri Linux dağıtımlarının nasıl çalıştığını ve nasıl özelleştirilebileceğini öğrenebilir.
- Topluluk katkısı: Bu tür bilgi paylaşımı açık kaynak topluluğuna katkı sağlar ve diğer kullanıcıların benzer projelere başlamasına yardımcı olabilir.
1 yorum
Hacker News yorumları
Yazılımı/işletim sistemini kullanıcının istediği gibi özelleştirmeye yönelik derinlemesine keşiflere duyulan tutkudan bahsediliyor
nixpkgsdesteklediğinin belirtilmesi (varsayılan olarak kurulu gelmiyor, ancak tüm işletim sistemini fork etmeden cihaza kurulabiliyor)Gönderiye dair kapsamlı ve ilgi çekici bir değerlendirme
Netscape meteor shower favicon'una duyulan özlem ifade ediliyor
unRaidNAS sunucusuna GPU sipariş ederek Docker imajı üzerinden Steam Headless kurmak istiyornvidia-persistencedçağrısıyla mümkün)SteamOS tabanlı dağıtımların zaten mevcut olduğu belirtiliyor
A/B yükseltmeleri hakkında görüşler
Linux deneyimini artırmak için bir oyun el cihazı (Legion Go) kullanma deneyimi paylaşılıyor
bazzite.ggüzerinde AMD donanımında 120hz VRR desteği ve HDR desteği için alfa test deneyimi paylaşılıyorSteamOS'un Arch Linux tabanlı olduğunun öğrenilmesinin ilginç olduğu belirtiliyor
Linux PC'de SteamOS çalıştırmak isteyenlere HoloISO öneriliyor