Mender-etäpäivitys Yocto-käännökseen
Helin, NIklas (2019)
Julkaisun pysyvä osoite on
https://urn.fi/URN:NBN:fi:amk-2019061216628
https://urn.fi/URN:NBN:fi:amk-2019061216628
Tiivistelmä
IP- ja Bluetooth-osoitteellisten laitteiden määrä kasvaa jatkuvasti, minkä seurauksena niistä tulee yhä suositumpia hakkeroinnin kohteita. Laitteiden päivittämisellä pystytään paikkaamaan esim. haavoittuvuuksia. Työn tarkoituksena on tutkia miten Mender-ohjelmistolla voidaan päivittää laite etänä. Laitteeseen tehtiin Yocto-projektilla Linux-käyttöjärjestelmä, johon sisällytetään Menderin asiakasohjelmisto, jolla saadaan yhteys palvelimelle.
Työtä lähdettiin kehittämään siten, että ensin määriteltiin vaatimukset, kehityksen vaiheet ja tarvittavat komponentit. Tuloksena saatiin toimiva järjestelmä ja järjestelmän toimivuus testattiin päivittämällä ohjelmisto siten, että käyttöjärjestelmään lisättiin uusi toiminnallisuus. Lisäksi järjestelmälle tehtiin testi, jossa testattiin järjestelmän kestävyyttä siten, että laitteesta otettiin virta pois kesken päivityksen. A Number of devices with an IP- and a Bluetooth addresses increases continually which makes them more popular targets to hackers. By updating the software some level of e.g. of vulnerabilities can be patched. The meaning of this thesis is to explore how a embedded device with Linux operating system can be updated remotely with Mender software. The software of a device is created with the Yocto Project which creates a Linux distribution where the Mender client is included which allows to connect to the Mender server. The steps taken to achieve the objective of this thesis were defining requirements, designing the process and finding the components. The outcome was working Yocto build and working connection between the Mender server and the client. The outcome of the Yocto build was proven by adding a new feature to the operating system by using the remote update. The robustness of the system was tested by making power failure during an update process.
Työtä lähdettiin kehittämään siten, että ensin määriteltiin vaatimukset, kehityksen vaiheet ja tarvittavat komponentit. Tuloksena saatiin toimiva järjestelmä ja järjestelmän toimivuus testattiin päivittämällä ohjelmisto siten, että käyttöjärjestelmään lisättiin uusi toiminnallisuus. Lisäksi järjestelmälle tehtiin testi, jossa testattiin järjestelmän kestävyyttä siten, että laitteesta otettiin virta pois kesken päivityksen.