Nemo Mobile – avoimen lähdekoodin mobiilikäyttöjärjestelmän tulokset

Nemo Mobile on avoimen lähdekoodin mobiilikäyttöjärjestelmä, jota kehittää joukko vapaaehtoisia kehittäjiä.

Necunos Oy sai Fuugin säätiöltä apurahaa 5000 euroa Nemo Mobilen kehitykseen ja yhteisön vahvistamiseen. Sittemmin Necunos Oy on vaihtanut nimensä ja toimii nyt Necuno Solutions Oy -nimen alla. Apuraha käytettiin uuden ajantasaisemman sekä muokkautuvamman Nemo Mobile -arkkitehtuurin kehitykseen kuluneen vuoden aikana.

Uusi Nemo Mobile

Kehitys päätettiin keskittää Nemo Mobilen arkkitehtuurin päivitykseen, kehityksen helppouden ja sovittamisen, ns. porttauksen, uudistamiseen. Nemo Mobilen kehityksen yhtenä kipupisteenä on ollut erittäin vanhat middleware-paketit. Tämä osaltaan johtuu Nemo Mobile –yhteisön perinnöstä käyttää SailfishOS-käyttöjärjestelmän middleware-paketteja hyödykseen. Ne ovat stabiileja, mutta osa erittäin vanhoja. Toisena kipupisteenä on ollut kehityksen ja sovelluskehityksen aloittamisen hankaluus. Aikaisemmin Nemo Mobilen levykuva sekä paketit on rakennettu käyttäen OBS-rakennusympäristöä. Halusimme luoda Nemo Mobilelle ajantasaisemman sekä helpomman tavan luoda paketteja, levykuvia, sovelluskehityspakkauksia ja emulaattoreita. Tarkoitukseen soveltuu Yocto-projekti.

Yocto-rakennusympäristö

Yocto-projekti on sateenvarjoprojekti, joka sisältää pääasiassa sulautetuille alustoille tarkoitettuja Linux-projekteja. Yocto ei ole Linux-jakelupaketti, vaan sillä rakennetaan Linux-jakelupaketteja. Mobiililaitteet eli Nemo Mobilen kohdealustat, ovatkin lähempänä sulautettuja alustoja kuin työpöytäympäristöjä. Yocto-projekti on paljon muutakin kuin vain kehitysalusta. Se tarjoaa työkalut, prosessit, mallit sekä metodit, joiden avulla kehittäjien on mahdollista levittää tuotteensa sulautetuille järjestelmille nopeasti. Yocto-projektiin kuuluvia toisiaan täydentäviä ja tietyn roolin omaavia projekteja ovat muun muassa Poky, OpenEmbedded-Core ja BitBake.

Kuva source: Texier, Pierre-Jean & Mabacker, Petter. 2016. Yocto for Raspberry Pi. Birmingham: Packt Publishing.

Rakennusympäristö mahdollistaa pakkauksien kääntämisen ja ristikääntämisen, ohjelmien pakkauksen sekä levykuvan lähettämisen kohdelaitteelle. Näiden lisäksi Yocto-projektia käytetään pääasiassa juuri sulautettujen järjestelmien komponenttien valmistukseen, eli alkulatausohjelman, Linux-ytimen, juuritiedostojärjestelmän sekä työkaluketjun (engl. toolchain) ja kehityspakkauksen (Software Development Kit) rakentamiseen. Näin Yocto-projekti täyttää sekä sovelluskehittäjien että järjestelmäkehittäjien ohjelmointivaatimukset.

Tässä pääpiirteittäin tapahtumien kulku Yocto-projektin OpenEmbedded- rakennusympäristössä. Määritelmät halutuista tuotteista syötetään datana sisään ja tuloksena on esimerkiksi haluttu levykuva.

https://www.yoctoproject.org/docs/2.6/mega-manual/mega-manual.html

Yocto-rakennusympäristön avulla Nemo Mobile saa aina ajantasaiset middleware-ohjelmistot, helppouden kohdelaitteen porttaukseen, emulaattorit ja kehityspakkaukset sovellus-/järjestelmäkehitykseen sekä automaattisen pakkaussyötteen.

Nemo Mobile Yocto-projektia käyttäen

Nemo Mobilen rakennuksen sovittaminen Yocto-projektiksi onnistui mainiosti. Tähän osasyynä on Nemo Mobilen ’sisar’-projektin AsteroidOS-yhteisön luomat Yocto-reseptit, eli rakennusohjeet. AsteroidOS käyttää paljon Nemo Mobilen kanssa samoja komponetteja ja nämä oltiin kirjoitettu Yocto-projektin reseptimuotoon. Nemo Mobilen Yocto-muotoon saattamiseksi otettiin AsteroidOS:n metadakerros (engl. Layer) pohjalle ja muokattiin poistamalla Nemo Mobilelle turhia rakennusohjeita, sekä lisäämällä Nemo Mobile kohtaisia rakennusohjeita.

Yocto-pohjaista Nemo Mobilea voidaan emuloida QEMU-emulaattorin avulla. QEMU-emulaattori on avoimen lähdekoodin emulaatioohjelmisto, joka on hyvin integroitu varsinkin Linux-ympäristöihin.

Kuvakaappaus Nemo Mobilen kotinäkymästä QEMU-emulaattorissa.

Kaikki Yocto-pohjaisen Nemo Mobilen kehittämiseen tarvittava materiaali on avointa ja löytyy nyt osoitteesta https://source.necunos.com/nemomobile. Sivuilta löytyy valmiit QEMU -emulaattorin levykuvat sekä ohjeet Nemo Mobilen devauksen aloittamiseksi.

Trademark

Rahoitusta oli tarkoitus käyttää myös Nemo Mobilen organisointiin. Tässä ollaan edelleen vaiheessa, mutta Nemo Mobilelle hankittiin Euroopan sisäinen Trademark. Trademark on Nemo Mobilea ylläpitävän johtohahmon, Aleksi Suomalaisen, hallussa.

Jätä kommentti