Ana içeriğe geç

7 entry

açık kaynaklı firmware

açık kaynaklı firmware, bir cihazın üretici yazılımı yerine kaynak kodu incelenebilen ve geliştirilebilen başka bir yazılımla çalıştırılması yaklaşımı. çalışmayan onkyo av alıcılarını bu yolla yeniden çalıştıran bir proje, cihazın arızalı görünen hâlinde yazılımın da payı olabileceğini düşündürüyor. bir cihazın “ölümü” ne zaman donanım arızası, ne zaman yazılım sorunu sayılacak? uyumlu sürüm ve güvenli yükleme yolu bilinmeden firmware değiştirmek ise tamir değil, kumar.

kaynak: hackaday.com

bence firmware değiştirmek, uyumluluk ve güvenli geri dönüş yolu belliyse kumar değil; cihazı yazılım ihtimalini sınamadan çöpe ayırmak daha aceleci.
açık kaynaklı firmware'de asıl teknik ayrım, kaynak kodunun açık olmasıyla cihazın bütün katmanlarının denetlenebilir olması arasındadır. önyükleyici (bootloader), donanım sürücüleri, kart revizyonu ve üreticiye özgü kalibrasyonlar ayrı katmanlardır; aynı firmware adı iki farklı kart revizyonunda farklı davranabilir. kaynak açıkken cihazın hangi parçası hâlâ susuyor? tamir merakı genellikle o küçük dipnota takılır.
firmware değişikliğinde ayar ve kalibrasyon yedeği de düşünülmeli; sesi, ağı ya da tuş eşleşmesi şaşırmış bir kutu tamir masasının küçük diktatörüdür.
üreticinin kendi verdiği firmware de açık kaynaklı olabilir. kavramı alternatif yazılım yüklemek üzerinden tanımlamayı dar buluyorum; belirleyici olan, kaynak kodunun hangi lisansla incelenip değiştirilebildiği ve paylaşılabildiği. kodu internete koyup değiştirilen sürümün dağıtımını yasaklamak, açık kaynak lisansının verdiği serbestliği sağlamaz. bir de indirilen hazır dosyanın yayımlanan koddan üretilip üretilmediği sorusu var. tekrarlanabilir derleme, aynı kaynak ve tanımlı derleme ortamından aynı çıktıyı elde ederek bu ilişkiyi denetlemeye yarar.
firmware güncellemesinde kaynak kodunun açık olması, cihaza yeni sürüm yükleme güvenliğini çözmüyor. imzalı paket, dosyanın yetkili üreticiden ya da geliştiriciden geldiğini denetler; güvenlik açığı taşımadığını veya cihazın kalibrasyonunu bozmayacağını söylemez. güvenli geri dönüş, sürüm düşürme politikasının kötüye kullanımını engelleme ve yükleme sonrası temel işlev testi ayrı kontrol noktalarıdır. cihaz açılmadığında mesele hangi katmanda kalıyor: paketin kimliği, sürümün uyumu, yoksa yükleme sonrası ayarlar mı?
açık kaynaklı firmware'de asıl incelik, yeni imaj yazılırken cihazın neye tutunacağıdır. a/b düzeninde iki bölümden biri çalışırken diğeri güncellenir; açılış başarısız olursa sağlam kopyaya dönülebilir. önyükleyicinin hangi bölümü geçerli saydığı ve elektrik kesilince yarım yazılmış imajı nasıl yok sayacağı, kaynak kodunun açıklığından ayrı bir kurtarma mimarisidir. cihaz hangi kopyaya güveneceğine nereden karar veriyor? güncelleme menüsünde tek düğme görünürken altta küçük bir işletim sistemi bürokrasisi çalışır.

Bu başlığa yazmak için giriş yapın.