1 puan yazan GN⁺ 2024-01-01 | 1 yorum | WhatsApp'ta paylaş

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

 
GN⁺ 2024-01-01
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

    • Steam Deck'in Tivoization'a (donanım üreticisinin yalnızca belirli yazılımların çalışmasına izin verecek şekilde kısıtlama yapması) dair endişe yaratmaması sevindirici
    • Yazıdaki en ilginç kısım, Steam Deck'in nixpkgs desteklediğ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

    • Kişisel olarak böyle bir işe girişmeyeceğini söylüyor
    • Linux'la en çok uğraştığı dönem RaspberryPi zamanlarıymış, o da ancak %1 düzeyindeymiş
    • Yazarı takdir ediyor
  • Netscape meteor shower favicon'una duyulan özlem ifade ediliyor

  • unRaid NAS sunucusuna GPU sipariş ederek Docker imajı üzerinden Steam Headless kurmak istiyor

    • Windows dizüstü bilgisayarda Moonlight istemcisini kullanmayı planlıyor
    • NAS'ın çoğu zaman boşta kalması nedeniyle bunun yeni masaüstü donanımı almaktan daha iyi olduğunu düşünüyor
    • Nvidia kartın güç ayarlarını boşta tutmanın gerekli olduğunu belirtiyor (muhtemelen nvidia-persistenced çağrısıyla mümkün)
  • SteamOS tabanlı dağıtımların zaten mevcut olduğu belirtiliyor

    • ChimeraOS, PC ve kontrolcü odaklı kullanım için uygun ve Steam Deck eklentileriyle kusursuz çalışıyor
  • A/B yükseltmeleri hakkında görüşler

    • Canlı bir dağıtım kullanmanın veya bölüme eski sürümden bir kurtarma sistemi kurmanın daha basit olabileceği söyleniyor
    • Yazar, Arch Linux'a yeni geçiş deneyimini paylaşıyor ve Arch'a Valve'dan daha fazla güvendiğini belirtiyor
    • Arch'ın paket kalitesi, ana depodaki hızlı güncellemeler ve kullanışlı AUR paketleri, NixOS'tan geçiş nedenleri olarak gösteriliyor
  • Linux deneyimini artırmak için bir oyun el cihazı (Legion Go) kullanma deneyimi paylaşılıyor

    • Linux'u, uyumluluğu sınırlı ve sürekli ince ayar gerektiren bir sistem gibi göründüğü için daha önce kaçınmış
    • Değiştirilemez dosya sistemi ile geleneksel Linux'un yazılımlara kolayca root yetkisi vermesi konusuna merak duyuyor
    • NixOS deneyimini paylaşıyor: farklı bileşenleri kolayca denemek ve istenmezse tamamen kaldırmak mümkün
    • Jovian topluluğu, Valve'ın SteamOS tarball'unu GitHub'da etiketlenmiş commit'ler olarak yeniden oluşturarak kaynağın Valve çalışanıymış gibi incelenebilmesini sağlıyor
    • Jovian aracılığıyla NixOS üzerinde kendi SteamOS kopyasını kurmak mümkün
  • bazzite.gg üzerinde AMD donanımında 120hz VRR desteği ve HDR desteği için alfa test deneyimi paylaşılıyor

  • SteamOS'un Arch Linux tabanlı olduğunun öğrenilmesinin ilginç olduğu belirtiliyor

  • Linux PC'de SteamOS çalıştırmak isteyenlere HoloISO öneriliyor