GNU/Linux mobiilikäyttöjärjestelmät (Project Halium)

FlyingAntero

ɑ n d r o i d
Tukijäsen
Liittynyt
17.10.2016
Viestejä
9 584
Mobiilikäyttöjärjestelmien markkinatilanne on tällä hetkellä varsin yksitoikkoinen (Statista):
sFIUwIW.png


Käytännössä markkinoilla on vain kaksi kovaa tekijää: Android ja iOS. Androidin markkinaosuus on hieman yli 80% ja iOS:n puolestaan hieman alle 20%. Tässä vielä tilastot vuoden 2016 viimeiseltä neljännekseltä (Gartner).
nexus2cee_gartner-q4-2016.png
Microsoft vaikuttaa luovuttaneen Windows Mobilen suhteen ja BlackBerrykin on siirtynyt osittain Androidin puoleen. Maailmalla on kuitenkin useita Linuxiin perustuvia Open Source käyttöjärjestelmiä mutta ne eivät ole saaneet toistaiseksi tuulta alleen. Ubuntu Touch oli yksi potentiaalisimmista tekijöistä mutta Canonical lopetti sen kehittämisen. MeeGon pohjalta kehitetty Sailfish OS on puolestaan suomalaisittain hyvinkin tuttu mutta läpimurto on vielä tekemättä. Muita tekijöitä markkinoilla on mm. KDE Plasma Mobile, Lune OS (webOS) ja AsteroidOS.

Vastikään perustettu Halium Project pyrkii ehkäisemään näiden eri Linux pohjaisten käyttöjärjestelmien pirstaloitumista, jotta niiden kehittäminen olisi helpompaa. Näin eri käyttöjärjestelmät saataisiin tuotua yhä useampiin laitteisiin ja mahdollisesti parannettua nykyistä tarjontaa.
This open-source project is trying to pool developers from Ubuntu Touch ports, Sailfish OS community developers, the open webOS Lune OS project, and KDE Plasma Mobile contributors, among other developers (Jolla, we suspect) to put an end to the fragmentation seen in their respective project’s lower-level base. Currently, Ubuntu Touch, Sailfish OS/Mer, Plasma Mobile, and others use different Android source trees and methods for differently-built stacks. This leads to a lot of fragmentation among the most popular non-Android, GNU/Linux-based mobile OS projects in their use of the Android source tree, how the Android init is started, and how images are flashed to the device. Many of these projects essentially do the same job, but in a different way.

Ideally, these parts shouldn’t need to be separate, as all of these OSes have the same goal in the end – to boot while using Android binary drivers. Thus, the goal of Halium is to work towards a common Linux base, which can then be used by all of these different projects to boot on their respective handsets. This means standardizing the Linux kernel build and the Android HAL (Hardware Abstraction Layer), libhybris for Android driver support, and then having a standard set of user-space components. After that, high-level interface decisions are left up to the individual projects themselves, but the lower-level base would be shared.
Joku asioista paremmin ymmärtävä voisi suomentaa tuon lainatun tekstin.
 
Viimeksi muokattu:
Missähän Samsungin ja Intelin projekti Tizen menee? Kuoliko se kun Intel vaihtoi hieman suuntaa?
 
Missähän Samsungin ja Intelin projekti Tizen menee? Kuoliko se kun Intel vaihtoi hieman suuntaa?
Samsung on julkaissut tähän mennessä kolme Tizen puhelinta, joista viimeisin on Samsung Z2 (elokuu 2016). Älykelloissa Tizen on ollut huomattavasti yleisempi kuin älypuhelimissa (IDC). Ilmeisesti käyttöjärjestelmää kehitetään koko ajan ja Tizen 4.0 on tulossa:
Tizen tosin esiintyi huhtikuun alussa hieman negatiivisessa valossa:
 
Ubuntu Touch oli yksi potentiaalisimmista tekijöistä mutta Canonical lopetti sen kehittämisen. MeeGon pohjalta kehitetty Sailfish OS on puolestaan suomalaisittain hyvinkin tuttu mutta läpimurto on vielä tekemättä. Muita tekijöitä markkinoilla on mm. KDE Plasma Mobile ja Lune OS (webOS).
Tuohon voi vielä lisätä Asteroid OS:n kellojen puolelta. AsteroidOS – Open-source operating system for smartwatches

Missähän Samsungin ja Intelin projekti Tizen menee? Kuoliko se kun Intel vaihtoi hieman suuntaa?
On se vielä hengissä ja pääsi (ei niin positiivisiin) otsikoihinkin hetki sitten.
Samsung's Android Replacement Is a Hacker's Dream

Kaupallisessa mielessä Tizen on kuitenkin menestynein näistä vaihtoehtoisista mobiilikäyttöjärjestelmistä. Samsungin ensimmäinen Tizen-luuri Z1 on myynyt miljoona kappaletta ja siihen vielä kellot ja TV:t päälle.
 
Tuohon voi vielä lisätä Asteroid OS:n kellojen puolelta. AsteroidOS – Open-source operating system for smartwatches
Lisäsin aloitukseen :tup:. Tarkoituksena ei kuitenkaan ole listata kaikkia eri käyttöjärjestelmiä vaan herätellä keskustelua näiden kehittämisestä. Itseä kiinnostaisi, mitä tuo "voimien yhdistäminen" Halium projektin tiimoilta käytännössä tarkoittaa. Joku kehittäjä voisi vähän avata tätä :).

Sen verran olen ymmärtänyt, että Linux pohjaiset käyttöjärjestelmät koostuvat periaatteessa kolmesta osasta. Otetaan tähän esimerkiksi Android:
main-qimg-6f8db847aa763cbf511c9c271da8aa48


Kaiken perustana on Linux ydin (punainen), jonka päällä on sitten eri kirjastot (vihreä). Näiden päälle sitten tehdään varsinainen käyttöliittymä (sininen), joka tekee käyttöjärjestelmästä omanlaisensa. Epäviralliset Sailfish OS porttaukset on tehty käsittääkseni hyvin pitkälti CyanogenMod:n pohjalta (HADK). Pinnan alla on siis paljon yhteisiä komponentteja. Sailfish OS älykello porttaukset on puolestaan tehty AsteroidOS:n pohjalta.

Tuossa Halium projektissa käsittääkseni yritetään yhtenäistää tuota linux ydintä ja osaa vihreästä alueesta (hardware abstraction layer). Näin eri linux käyttöjärjestelmillä olisi yhdessä kehitetty ja yhtenäinen pohja, jonka päälle olisi helpompi kehittää yksittäinen käyttöjärjestelmä.
 
Viimeksi muokattu:
Halium Projectista en osaa sanoa, kun en siitä tiedä tuota artikkelia enempää. Aika normaalia toimintaa, että kehittäjiä herätellään ja yritetään houkutella uusien projektien pariin kun edelliset syystä tai toisesta hiipuu pois. Samaa oli havaittavissa kun Mozilla lopetti Firefox OS:in kehittämisen ja se jäi yhteisön vastuulle (lopulta kuitenkin laihoin lopputuloksin). Työpöytä Linuxinkin puolella on niin paljon fragmentaatiota eri jakeluiden välillä (työpöytäympäristöt, paketinhallinta, jne), että ehkä vähän vaikea uskoa. Kyllä sekin tavallaan kuuluu avoimeen lähdekoodiin, että kukin tekee sen oman forkkinsa kanssa niin kuin parhaaksi näkee ja omaan käyttötarkoitukseen sopii.

Olen tehnyt yhden Sailfish OS porttauksen, joten sen toiminnasta osaan sanoa jotain. Parempiakin asiantuntijoita varmasti toki löytyy. Porttasin myös niitä aivan ensimmäisiä Ubuntu Touch dev preview:ta, mutta paljon on muuttunut siitä. Sailfish OS porttaukset tehdään yleensä CM:n 'päälle', koska se vain on saataville niin valtavalle määrälle laitteita. AOSP/mikä tahansa AOSP pohjainen ROM periaatteessa käy kunhan lähdekoodi on saatavilla. Esim. Fairphone 2:n Sailfish toimii ihan stock firmiksen päällä ja Mozilla Flamen stock Firefox OS:n (joka sekin on kierolla tavalla pohjimmiltaan Android).

Yhteistä näille 'oikeille' Linux-mobiilikäyttöjärjestelmille on libhybris. Google kirjoitti Androidiin oman C-kirjaston (bionic), joka ei ole yhteensopiva normaalin Linux glibc:n kanssa. Kun nykyisillä mobiililaitteilla on käytännössä pakko käyttää Androidin (bionic) binäärimuotoisia laiteajureita (Nexus/Pixel, LineageOS), niin tarvitaan libhyris tulkiksi siihen välille. Jokainen tuskin tarvitsee omaa libhybris forkkiaan.

Eroavaisuuksia löytyy mm. init järjestelmästä (aivan ensimmäinen käynnistettävä ohjelma, joka käynnistää sitä seuraavat). Google yllättäen kirjoitti Androidiin taas omansa. Sailfish OS käyttää systemd:ia, Ubuntulla on käsittääkseni omansa (edit. kyllä, Upstart). Lisäksi tuossa on eroja käynnistyykö ensin esim. systemd, joka sitten käynnistää Androidin initin (Sailfish OS) vai toisinpäin (Ubuntu Touch ainakin aivan alussa). Taustalle tarvitsee joka tapauksessa käynnistää niitä Androidin palveluja, jotta kaikki toimii.

HAL toimii kernel ajurin ja ylemmän käyttöjärjestelmän välissä. Erittäin yksinkertainen esimerkki on vaikka lights HAL, joka kirjoittaa vaikka jonkin käyttäjän valitseman näytön kirkkauden arvon kerneliin (joka taas välittää käskyn raudalle muuttaa sitä LEDin kirkkautta). Sailfish OS:ssa ainakin käytetään termiä middleware. Osa yksinkertaisemmasta middlewaresta korvaa Androidin HAL:in ja toimii suoraan Sailfishin ja kernelin välissä. Monimutkaisemmat taas lisäävät yhden kerroksen Androidin HAL:in ja Sailfishin väliin. Lisäksi käytetään muuta softaa, jotka kytkeytyvät Androidin palveluihin tai kerneliin (ei varsinaisesti HAL) esimerkiksi oFono puhelinverkkotoimintoihin. Näissä on varmasti paljon päällekyyksiä eri projektien välillä.
 
Viimeksi muokattu:
@Konsta
Mukava nähdä, että kehittäjä viitsiin avata vähän näitä asioita vähemmän ymmärtäville. Kiitos! :)

Sain tuosta Haliumista kuitenkin sellaisen käsityksen, että siinä ei ole tarkoituksena kehittää mitään yksittäistä käyttöjärjestelmää. Tarkoituksena on käsittääkseni yhtenäistää linux pohjaisten käyttöjärjestelmien "pohjarunkoa". Näin kaikki kehittäjät tekisivät ikään kuin töitä yhteisen projektin eteen, vaikka kehittävätkin jotain tiettyä käyttöjärjestelmää. Tällä tavoin saataisiin juurikin noita mainitsemiasi eroavaisuuksia karsittua pois, jotta kehittäminen olisi helpompaa. Tuossa vähän niinkuin pyritään luomaan tiettyjä stantardeja kehittämiseen.
 
Heti tuli lisää informaatiota. Halium is in the air!
Lisäksi löytyy jotain dokumentaatiota, jossa esitellään projektin suunnitelmia ja ideoita. Muuten tuolla GitHubissa ei ole vielä paljon mitään. GitHub - Halium/docs: Documentation for halium

Jolla yrityksenä ei ole mukana. Yhteisön Sailfish OS porttaukset voi tuota mahdollisesti jatkossa hyödyntää.
Oletko tutustunut Fuchsiaan? Mistä siinä mielestäsi on kyse? fuchsia Git repositories - Git at Google
Oma uusi kernel (magenta?) ja pyörittää iOS ja Android ohjelmia?
 
Oletko tutustunut Fuchsiaan? Mistä siinä mielestäsi on kyse? fuchsia Git repositories - Git at Google
Oma uusi kernel (magenta?) ja pyörittää iOS ja Android ohjelmia?
Itse asiassa olen tehnyt muutaman Magenta buildin Raspberry Pi 3:lle (Magenta on Raspberry Pi 3). Boottaa komentoriville, näyttö ja USB (näppäimistö, yms) toimii, mutta siinäpä se. Ei käsittääkseni ole UNIX eikä POSIX yhteensopiva vaikka muutama tuttu komento toimiikin.

Fuchsiaa en ole edes koittanut. Käsittääkseni se on toistaiseksi vain kasa Magentan komentoriviltä käynnistettäviä testejä, yms. Ei todella pyöritä iOS/Android-ohjelmia, eikä ole edes vielä mitään kunnollista GUI:ta.


Käyttötarkoitusta en lähde edes arvailemaan. Eiköhän tuossa vielä mene useampi vuosi joka tapauksessa.
 
Viimeksi muokattu:
Itse asiassa olen tehnyt muutaman Magenta buildin Raspberry Pi 3:lle (Magenta on Raspberry Pi 3). Boottaa komentoriville, näyttö ja USB (näppäimistö, yms) toimii, mutta siinäpä se. Ei käsittääkseni ole UNIX eikä POSIX yhteensopiva vaikka muutama tuttu komento toimiikin.

Fuchsiaa en ole edes koittanut. Käsittääkseni se on toistaiseksi vain kasa Magentan komentoriviltä käynnistettäviä testejä, yms. Ei todella pyöritä iOS/Android-ohjelmia, eikä ole edes vielä mitään kunnollista GUI:ta.


Käyttötarkoitusta en lähde edes arvailemaan. Eiköhän tuossa vielä mene useampi vuosi joka tapauksessa.

Google’s “Fuchsia” smartphone OS dumps Linux, has a wild new UI
 
Halium on ottanut tuulta alleen:
Halium is Moving Quickly
Halium, as you may know, is a project aiming to standardize the Android hardware compatibility layer between many Linux distributions. This layer is required because Android drivers can’t be used natively in a regular Linux distribution. This week the project had a lot to show off - it can boot both Ubuntu Touch and Plasma Mobile.

As you can see in this tweet, Halium can boot both OS’s on the Nexus 5. The third image, though, is the most interesting. It shows Plasma Mobile booting on the Fairphone 2, a phone that the OS hasn’t been explicitly ported to. It’s easy to see the opportunities that Halium opens up and we’re proud to be a part of the project.
 
Samsung on huhujen mukaan korvaamassa Tizen käyttöjärjestelmän Androidilla seuraavassa älykellossa.
Päätös tarkoittaisi samalla, että Nokian kehittämän Maemon perintö jatkuu enää Sailfish OS:ssa mobiilipuolella, kun Tizen puhelimiakaan ei ole nähty moneen vuoteen. Televisioissa Samsung jatkanee Tizenin käyttöä?

png-transparent-tizen-operating-systems-android-sailfish-os-mobile-operating-system-operating-...png
 

Statistiikka

Viestiketjuista
262 479
Viestejä
4 558 179
Jäsenet
74 972
Uusin jäsen
Nagi

Hinta.fi

Back
Ylös Bottom