Haberler

Gömülü Linux Sistemleri için Güvenli ve Sağlam OTA Güncellemelerinin Önemi

Farklı konumlarda dağıtılmış bir IoT cihaz filosuna sahip misiniz ve sistem/yazılımlarını güncellemek, sorunları gidermek ve sistem durumlarını izlemek mi istiyorsunuz? İşte burada OTA güncellemeleri devreye giriyor!

OTA Güncellemesi Nedir?

Hava üzerinden güncelleme, merkezi bir sunucu bulunan ve bu sunucunun uzaktaki diğer cihazlara yazılım veya sistem güncellemeleri gönderdiği bir güncellemedir.

Uzaktaki cihazlar, güncellemeleri kontrol etmek için periyodik olarak sunucuya rapor verir. Belirli bir cihaz için bir yazılım güncellemesi mevcutsa, uzaktaki cihaz güncellemeyi indirir ve kurar.

Neden OTA güncelleme hizmetine ihtiyacımız var?

Cihazları uzaktan güncelleyin:

Eğer farklı konumlarda birçok cihazınız varsa ve bunları güncellemek istiyorsanız, her bir cihaza fiziksel olarak gidip güncelleme yapmak oldukça zahmetli bir süreç olacaktır. Hava üzerinden cihazları güncellemek bu sorunu çözebilir.

Cihazı uzaktan yapılandırın:

Aynı durum, cihaz yapılandırması yapmak istediğinizde de geçerlidir. Bir OTA güncelleme hizmetine sahip olarak, cihazları uzaktan kolayca yapılandırabilirsiniz.

Cihazları uzaktan sorun giderin:

Eğer cihazlara bir terminal aracılığıyla erişmeniz veya uzaktaki cihazlara dosya aktarmanız gerekiyorsa, bunu da bir OTA güncelleme hizmeti kullanarak yapabilirsiniz.

Cihazları uzaktan izleyin:

Son olarak, bir OTA güncelleme hizmeti kullanarak uzaktaki cihazların çalışma durumlarını kolayca izleyebilirsiniz.

OTA güncelleme hizmeti seçerken nelere dikkat etmeliyiz?

Bir OTA güncelleme hizmeti seçerken iki önemli unsuru dikkate almamız gerekiyor:

  • Güvenlik
  • Sağlamlık

Güvenlik

Uzaktaki cihazlara OTA güncellemeleri gerçekleştirirken güvenlik konusunda dikkatli olmalıyız. Güncelleme sırasında uygun güvenlik önlemleri alınmazsa, uzaktaki cihazın hacker saldırıları gibi zafiyetlere maruz kalması olasıdır. Çoğu OTA güncelleme hizmeti, güncellemeleri gerçekleştirmek için HTTPS protokolünü kullanarak güvenli OTA güncellemeleri sağlar. Bu, uzaktaki cihazdaki sertifikaların güncelleme sunucusundaki sertifikalarla eşleşmesi gerektiği anlamına gelir. Ayrıca, bazı OTA güncelleme sunucuları kod imzalamayı destekler; bu, sunucunun güvenilir bir taraf olduğunu belirttikten sonra uzaktaki cihazın güncellemeyi kabul edeceği anlamına gelir.

Sağlamlık

Öte yandan, güncelleme sisteminin sağlam olduğundan emin olmak çok önemlidir çünkü cihazlar uzakta dağıtılmıştır ve cihazın çalışmayı durdurması durumunda fiziksel olarak orada bulunup düzeltme yapmak zahmetli bir süreç olacaktır. Bu, bir cihazı hava üzerinden güncellerken güç kaybı yaşanması veya başka bir nedenle güncellemenin başarısız olması durumunda meydana gelebilir. Bu tür kesintileri önlemek için, güncelleme sistemi üzerinde uygun önlemler alınmalıdır, böylece bir güncelleme sırasında bir kesinti meydana gelirse, uzaktaki cihazlar sistemi önceki çalışma durumuna geri yükleyebilir.

Mender’ı OTA Güncelleme Hizmeti Olarak Kullanmak

Mender, büyük sayıda cihazı yönetmek için tasarlanmış güvenli ve sağlam bir yazılım güncelleme sistemidir. Tüm cihazlara dağıtımları merkezi olarak yönetmeyi sağlayan basit bir istemci ve sunucu mimarisine sahiptir.

Buraya tıklayın ve 12 ay boyunca 10 cihaza kadar ücretsiz kaydolun!

Mender’ın Güvenliği ve Sağlamlığı

Daha önce açıkladığım gibi, güvenlik açısından Mender, güncelleme sürecini daha güvenli hale getirmek için HTTPS kullanarak OTA güncellemeleri gönderir. Ayrıca, uzaktaki cihazlara güncellemeler gönderirken Mender kod imzalamayı destekler.

Sağlamlık açısından Mender, çift A/B rootfs bölüm düzeni ile öne çıkar. Temelde, Mender istemci entegrasyonu ile ilk kez bir sistem görüntüsü oluşturduğunuzda, sistem bölüm düzeni aşağıdaki gibi olacaktır.

Gördüğünüz gibi, birbirinin kopyası olan iki rootfs+kernel bölümü oluşturur. Aktif bölüm, sistemi ilk kez başlattığınızda kullanılan bölümdür.

Mender sunucusundan uzaktaki cihaza bir güncelleme gönderdiğinizde, cihazdaki mender istemcisi görüntüyü indirir ve çalışmayan rootfs bölümüne yazar. Ardından, güncellenmiş rootfs bölümünden başlatmak için U-Boot’u yapılandırır.

Daha sonra cihaz yeniden başlatılır ve güncellenmiş bölümden başlatmaya çalışır. Eğer güncelleme, süreç sırasında güç kaybı nedeniyle veya başka bir nedenle bozulursa, cihaz daha önce çalışan orijinal bölümden başlatılır. Bu, cihazın tam olarak orijinal çalışma durumunda başlatıldığı şekilde başlatılmasını sağlar.

Eğer güncelleme başarılı olursa, güncelleme bölümü, mender başlatıldığında ömür boyu başlatılacak şekilde ayarlanır. Artık önceki pasif bölüm aktif bölüm haline gelmiştir.

Mender’ı Destekleyen Seeed SBC’leri

Mender.io, yapımcılar ve profesyonel gömülü geliştiriciler topluluğuna entegre bir OTA yazılım güncelleme çözümü sunmak için Seeed ile yeni bir ortaklık kurmuştur.

  1. ODYSSEY – X86J4125
  2. reTerminal
  3. RPi CM4 için Çift Gigabit Ethernet Taşıyıcı Kartı
  4. ODYSSEY – STM32MP157C

Bu kartlara, mevcut görüntü derlemeleri ile birlikte Mender istemcisini Yocto Projesi kullanarak entegre ediyoruz.

ODYSSEY – X86 kartı için Mender İstemcisi ve Kendinden Barındırılan Mender Sunucusu entegrasyonunu tamamladık. Aşağıda daha fazla bilgi edinebilirsiniz:

Mender Client on ODYSSEY – X86

Self-Hosted Mender Server on ODYSSEY – X86

Ayrıca bir video hazırladık. Lütfen aşağıya bakın:

OTA Güncellemeleri için Azure IoT Hub ile Mender.io

Ayrıca Mender’ı Azure IoT Hub ile bağlantılı Gömülü Linux Sistemlerini güncellemek için de kullanabilirsiniz. Aşağıdaki video bu konuyu açıklamakta ve Mender’ın Azure IoT Hub ile kullanımını bir demo ile göstermektedir.

reTerminal, ODYSSEY – STM32MP157C ve RPi CM4 için Dual Gigabit Ethernet Taşıyıcı Kart ile OTA Entegrasyonları

Önümüzdeki haftalarda, Seeed ile Mender OTA kullanarak 3 yeni kart entegrasyonu tanıtılacak ve Mender Hub ile Seeed Wiki’de eşlik eden eğitimler yayınlanacaktır. Bu kartlar reTerminal, ODYSSEY – STM32MP157C ve Raspberry Pi Compute Module 4 için Dual Gigabit Ethernet Taşıyıcı Kart’tır.

Leave a Reply

Your email address will not be published. Required fields are marked *