Linux alapú beágyazott rendszerek életciklus-menedzsmentje

OData támogatás
Konzulens:
Dr. Kovácsházy Tamás
Méréstechnika és Információs Rendszerek Tanszék

Napjainkban egyre több szolgáltatást várunk el a beágyazott alkalmazásainktól, ez pedig magával hozza a szoftver méretének növekedését. A programok alatt futó operációs rendszer konfigurálása is összetettebb lesz ezzel, mivel egyre több komponens működését kell összehangolni. A beágyazott rendszerek világában a Linux ma az egyik legelterjedtebb operációs rendszer. A jó konfigurálhatóság, valamint a nyílt forráskód arra ösztönözi a gyártókat, hogy biztosítsanak a saját hardverükhöz Linux támogatást, a fejlesztőket pedig arra, hogy a felhasználás mellett továbbfejlesszék a rendszer komponenseit.

A dolgozat célja áttekinteni egy Linuxra épülő beágyazott rendszer szoftverfejlesztési folyamatát, a legyártott hardverre történő első telepítéstől, az üzemeltetésig. Elképzelhető, hogy idővel módosítani kell az üzemelő szoftvereken, így a frissítésre is lehetőséget kell biztosítani. Ma a beágyazott eszközök hálózatba kötésével az Over The Air, tehát távoli frissítés is elvárás, ennek a megbízható megvalósítása viszont körültekintést igényel. Ezek figyelembevételével kerül megtervezésre egy általános szoftverarchitektúra Linux alkalmazásával.

Bemutatásra kerülnek a Linux rendszerek összeállítását támogató nagyobb keretrendszerek, valamint elkészítem egy egyedi beágyazott alkalmazás teljes konfigurációját ezek segítségével. A távoli frissítés megvalósítására szükség volt egy kliens elkészítésére a beágyazott eszközhöz, valamint egy központi szerver komponensre. A kiszolgáló kapcsán bemutatom, hogyan rendszerezhetjük a különböző eszközökhöz tartozó eltérő firmwareket és azok verzióit.

A kialakítás során a biztonságos megvalósítás egy fő szempont volt, a távoli frissítést pedig ez különösen érinti. Egy beágyazott szoftver integritásának és hitelességének vizsgálata a firmware betöltésének minden lépését érinti, így bemutatásra kerül, hogy a tervezett architektúrán ezt hogyan lehet megvalósítani.

A folytonos integráció célja, hogy bármely komponens változtatásának hatásait az egész rendszeren vizsgáljuk. Beágyazott Linux esetén egy komplett firmware lefordítása és telepítése egy sok lépésből álló folyamat. Ennek automatizálása viszont megfelelő konfigurálással lehetséges, így került kialakításra egy automatikus fordítást és telepítést végző rendszer, amely a forráskód kezelő rendszerhez kapcsolódik.

A munka során egy olyan általános szoftverarchitektúra megvalósítása volt a cél, ami az említett új elvárások teljesítése mellet a legtöbb Linuxot futtató beágyazott rendszer esetében alkalmazható.

Letölthető fájlok

A témához tartozó fájlokat csak bejelentkezett felhasználók tölthetik le.