Portál AbcLinuxu, 24. května 2024 10:15

Palm Pre a webOS z pohledu uživatele Linuxu

21. 9. 2009 | Jan Grmela
Články - Palm Pre a webOS z pohledu uživatele Linuxu  

Existuje mnoho mobilních operačních systémů. Jen několik z nich je však tak otevřených jako Palm webOS. Nejenže je uživateli díky návrhu systému na bázi HTML + CSS + JavaScript zpřístupněna většina zdrojových kódů aplikací, ale ani sám dodavatel platformy proti úpravám svého kódu nic nemá a s hackery ochotně komunikuje. A to i přesto, že systém není jako otevřený nikde oficiálně prezentován.

Úvod aneb co je vlastně pod grafickým rozhraním

Palm se příliš netají tím, že je jeho webOS postaven na základě Linuxu. Podle všeho jde o systém postavený na základech platformy OpenEmbedded. Je použito jádro 2.6.24 s hardwarově specifickými patchi. Telefon běží na platformě ARMv7 (Cortex-A8) a je tedy s výhodou možné používat například balíčky předkompilované pro Debian, aniž by bylo nutné si vše překládat ručně.

Systém používá balíčkovač IPKG. Pro zjednodušení instalace je tak vhodné přidat do systému rovnou repozitář OptWare, ve kterém se nachází více než 500 předkompilovaných přímo použitelných IPK balíků. Palm na Twitteru zmínil, že adresář /opt nehodlá v budoucnu používat, instalací softwaru z repozitáře OptWare si tedy nemůžete v systému nic rozbít.

Pokud by se tak i přesto stalo, nabízí Palm multiplatformní nástroj Palm webOS Doctor pro obnovení telefonu do továrního nastavení. Balík obsahuje flashovací utilitu a obraz kořenového souborového systému. Nefunkční telefon stačí připojit kabelem k počítači a po slabé půlhodince se systém dostane opět do funkčního stavu, kdy jen zbývá obnovit vaše nastavení a aplikace z vytvořené zálohy na internetu.

Grafické rozhraní samo je tvořeno aplikací LunaSysMgr běžící ve framebufferu. Vedle této aplikace běží v systému mnoho Java služeb, které zprostředkovávají nízkoúrovňový přístup k systému. Služby je možné snadno volat z JavaScriptu. Některé další systémové aplikace (například aktualizace, správa WiFi či čtení PDF) jsou implementovány nativně.

Na telefonu běží obvyklé aplikace známé i ze stolního Linuxu. Jde například o Wpa_supplicant pro správu WiFi, PulseAudio pro řízení zvuku, D-Bus (komunikace mezi procesy), či Dnsmasq (kešování DNS). Spouštění řeší upstart, modernější bratříček klasického initu System V.

Všechny aplikace, které uživatel spustí (tedy i například Launcher – hlavní nabídku nebo Universal search), jsou psány v HTML a JavaScriptu. Provoz nativních aplikací Palm vymyslel chytře – jde o zásuvné moduly do prohlížeče dle standardu NPAPI, jaký používá například Mozilla. Tyto zásuvné moduly jsou provázány s rozhraním opět JavaScriptem.

V souvislosti s aplikacemi je dobré říci, že veškeré nízkoúrovňové aplikace (a tedy i služby) není možné instalovat bez root přístupu k telefonu. Stejně tak není možné aplikace tohoto typu zasílat pro zveřejnění v Katalogu aplikací (pro veřejnost bude otevřen v průběhu podzimu tohoto roku). Sám Palm tyto aplikace instaluje výhradně s aktualizacemi celého systému.

Pro vývoj aplikací existuje multiplatformní SDK, které mimo příkladů a zásuvného modulu do Eclipse obsahuje i emulátor. Díky němu je možné i přes nedostupnost telefonu v Evropě již začít vyvíjet aplikace či si udělat vlastní názor na rozhraní telefonu.

Získání root přístupu

Získání root přístupu k telefonu je velmi snadnou záležitostí. Postup není nikde skryt, Palm jej považuje za základní funkci telefonu (z pohledu uživatele SDK) a nijak libovolným zásahům do zařízení nebrání. Na klávesnici vyťukáte tzv. Konami kód upupdowndownleftrightleftrightbastart, což vám zpřístupní aplikaci Developer Mode, ve které můžete povolit vzdálený přístup a instalaci aplikací. Na tomto místě bych zmínil dosti nepříjemnou a potenciálně nebezpečnou vlastnost Palm webOS – všechny aplikace ve výchozím stavu běží pod účtem root. Po zapnutí vývojářského módu je tedy nanejvýš vhodné si založit běžný uživatelský účet a pracovat pod ním místo pod účtem správce.

Přepínání vývojářského režimu

Jakmile získáte root přístup, otevře se vám svět tzv. homebrew (podomácky vyrobených) aplikací a mnoha patchů vylepšujících či měnících chování systému. Díky jeho otevřenosti je totiž možné upravit téměř cokoli. Aplikace (v současnosti více než 200 kusů) a patche je možné instalovat ručně příkazy balíčkovače nebo použít některou z utilit na stolním počítači, která instalace a jejich správu usnadňuje.

Komunitní aplikace

Již od prvního úniku SDK (a emulátoru) na internet existuje kolem webOS velmi aktivní komunita (zejména kolem fóra PreCentral.net a vývojářské wiki webOS Internals). Díky práci komunity se podařilo velmi rychle zmapovat nedokumentované vlastnosti a funkce telefonu. Vzniklo tak mnoho aplikací, které tyto funkce využívají a umožňují uživateli dělat to, co aplikace z Katalogu aplikací prozatím neumí nebo nejspíše nebudou umět vůbec. Několik příkladů za všechny:

Terminal 1 Terminal 2

Tyto aplikace jsou zdarma, v případě My Tether je však nabízena i zpoplatněná varianta (i když tuto platbu tvůrce nazývá darem) podporující více funkcí (např. šifrované WiFi spojení). Ne všechny aplikace jsou otevřené, kód některých je obfuskovaný.

Instalace komunitních aplikací a patchů

Jak tyto aplikace do telefonu snadno nainstalovat? Jelikož nejsou zahrnuty v Katalogu aplikací, došlo vývojářům, že jejich ruční instalace a správa by byla nanejvýš otravná a vytvořili dvě aplikace, které s tím uživateli pomohou. Jde o webOS Quick Install a Preware. První z nich je desktopová aplikace, která umožní, po získání root přístupu, instalovat do telefonu všechny nabalíkované aplikace jedním kliknutím.

webOS Quick Install je multiplatformní aplikace napsaná v Javě, která pro svou funkci vyžaduje webOS Doctor. Archiv webOS Doctoru je k dispozici na stránkách Palmu. Tento archiv obsahuje také flasher Novacom, pomocí něhož lze do telefonu kopírovat data a spouštět na něm aplikace. webOS Quick install si archiv Doctoru stáhne na Windows automaticky, na Linuxu je třeba, vzhledem k nedostatečným právům uživatele pro přístup k hardwaru na takto nízké úrovni, nutné tohoto démona (jež je součástí SDK) nainstalovat ručně.

webOS Quick Install 1

Quick Install umožňuje [tutorial PreCentral.net] jednak instalovat homebrew aplikace a systémové služby, ale taktéž aplikovat rozličné patche rozšiřující funkčnost webOS. Jde například o tyto:

a mnoho dalších drobností týkajících se vzhledu systému (například logo na bootovací obrazovce). Je na místě upozornit, že některé z těchto patchů jsou již standardní součástí nadcházející verze systému – webOS 1.2.

webOS Quick Install 2 webOS Quick Install 3

Zřejmě nejdůležitější aplikací, kterou lze přes webOS Quick Install nainstalovat, je Preware. Tato aplikace pro webOS otevírá bránu homebrew aplikací i obyčejnému uživateli, který se nechce zabývat psaním příkazů do konzole a patchováním skriptů. Preware to udělá za něj. Pokud znáte aplikaci Cydia pro iPhone, tak Preware je obdobou této populární utility na platformě webOS.

Preware 1 Preware 2 Preware 3 SW klávesnice

Jde o obdobu z Linuxu dobře známých aplikací pro práci se softwarovými balíčky. Vývojáři homebrew aplikací vytvořili několik XML feedů, které obsahují seznam všech aplikací a služeb, které se do Pre dají v současnosti nainstalovat. Aplikace funguje velmi dobře, komfort je na úrovni standardního Katalogu aplikací (ano, program umí i kontrolovat verze a aktualizovat nainstalované aplikace). Preware podporuje, stejně jako Quick Install, aplikaci patchů (například extrémně užitečné vylepšení – softwarovou on-screen klávesnici).

Spolupráce telefonu s Linuxem

Bylo by přinejmenším zvláštní, kdyby takto otevřený telefon nespolupracoval dobře se stolním počítačem běžícím na Linuxu. Pre je na tom naštěstí velmi dobře a všechny funkce jsou podporovány stejně jako na majoritním operačním systému.

Screenshot Amaroku s připojeným Pre v režimu iPodu

Chcete-li s telefonem pracovat v Linuxu, je třeba se nejdříve zamyslet, o jaký druh práce půjde. Režimy "flash disk" a "synchronizace multimédií" totiž fungují out-of-box, tedy bez jakékoli konfigurace. V režimu flash disku se telefon chová jako běžná fleška, na kterou je možné kopírovat hudbu, filmy, dokumenty nebo cokoli jiného až do velikostního omezení disku. Telefon pochopitelně neotevře vše, je však velkou výhodou že umí jakýkoli soubor z flash disku poslat dále (např. e-mailem) i přesto, že s ním neumí pracovat.

V režimu synchronizace multimédií telefon emuluje Apple iPod, včetně všech funkcí souvisejících se synchronizací hudby. Pokud je tedy uživatel zvyklý synchronizovat hudbu přes Apple iTunes či obdobný software, nic mu v tom nebrání. V Linuxu opět žádný problém. Je třeba podotknout, že obrázky obalů se v přehrávači hudby zobrazují, jen když je provedena synchronizace tímto způsobem. Klasické nahrání do adresáře s písničkami nefunguje.

Telefon připojený přes Novaterm

Třetí možností, která se otevře po otevření vývojářského režimu, je možnost si připojit terminál telefonu. Aby byla tato funkce dostupná (na stolním počítači), je třeba nainstalovat již zmíněného démona Novacom. Potom stačí jen napsat v konzoli příkaz novaterm a rázem jste přihlášeni jako root na váš telefon připojený přes USB kabel.

Závěr

Ve srovnání s oběma hlavními unixovými telefonními platformami – Apple Mac OS X pro iPhone a Google Android je zřejmá velká odlišnost v přístupu výrobce. Nikde není nic blokováno ani zakázáno, uživatel může do všeho zasahovat, jak se mu zlíbí. Velmi příjemné je zjištění, že root konzole je vzdálená pouhý jeden kód zadaný do telefonu. Není třeba nic flashovat nebo využívat chyb v softwaru pro získání neautorizovaného přístupu. webOS totiž nic jako neautorizovaný přístup nezná, všechny vývojářské funkce jsou dostupné plánovaně.

Momentálně má budoucnost webOS několik hlavních neznámých – dostupnost aplikací, rozšiřování API a možnost provozu nativních aplikací. Zejména první bod je nanejvýš důležitý. Naštěstí dává otevřenost platformy a přívětivý přístup Palmu k uživatelským úpravám a hackům dobrou možnost, že se platforma stane oblíbenou cílovou stanicí vývojářů, kteří se neradi nechají svazovat nařízeními výrobce. Zda to však bude stačit pro obchodní úspěch a vznik tisíců aplikací, to ukáže až čas.

Seriál Palm Pre (dílů: 3)

První díl: Palm Pre z pohledu dlouholetého palmisty – hardware, poslední díl: Palm Pre a webOS z pohledu uživatele Linuxu.
Předchozí díl: Palm Pre a velmi povedený webOS – software

Související články

Palm Pre a velmi povedený webOS – software
Palm Pre z pohledu dlouholetého palmisty – hardware
Nokia N97 – bílou na svatbu a černou na pohřeb
T-Mobile G1 s Google Android
Palm Pre a WebOS, konkurent pro iPhone a Android
Quo vadis Maemo?

Odkazy a zdroje

WebOS Internals

Další články z této rubriky

Týden na ITBiz: Svět IT a burzy, umělá inteligence, Nvidia a outsourcing
Linuxové foto novinky: pozvolná evoluce
PCLinuxOS 2017.2 MATE - tak trochu zvláštní linuxová distribuce
Krátký pohled na Fedoru 25, Wayland a GNOME 3.22
Naprosto ničím nezajímavé Lubuntu 16.10

Diskuse k tomuto článku

the.max avatar 21.9.2009 00:28 the.max | skóre: 46 | blog: Smetiště
Rozbalit Rozbalit vše Re: Palm Pre a webOS z pohledu uživatele Linuxu
Odpovědět | Sbalit | Link | Blokovat | Admin
Tak ted jsem teda opravdu prijemne prekvapen otevrenosti a pristupem Palmu k WebOS. Ted jeste nejak vyresit ten 'bug' s odesilanim informaci o pouzitych aplikacich a poloze. Pak budu mit opravdu velike dilema, zda poridit Pre, nebo N900. Proti Nokiim nic nemam, nicmene poslednich nekolik let relativne spokojene pouzivam Treo 650, ktere uz ma ale odslouzeno (hlavne co se mechanicke casti tyka).
KERNEL ULTRAS Fan Team || Sabaton - nejlepší učitel dějepisu || Gentoo - dokud nás systemd nerozdělí.
the.max avatar 21.9.2009 00:33 the.max | skóre: 46 | blog: Smetiště
Rozbalit Rozbalit vše Re: Palm Pre a webOS z pohledu uživatele Linuxu
A vyvojari take asi budou vedele kopy, viz Konami kod. To mne opravdu dostalo:-D Nevzpominam si kde jsem ho pouzival, ale jak jsem si precetl prvni UpUpDownDown , okamzite jsem si vzpomnel na zbytek:-D
KERNEL ULTRAS Fan Team || Sabaton - nejlepší učitel dějepisu || Gentoo - dokud nás systemd nerozdělí.
21.9.2009 00:37 Jan Grmela | skóre: 45 | blog: Kilo šťávy z lachtana | Brno
Rozbalit Rozbalit vše Re: Palm Pre a webOS z pohledu uživatele Linuxu
Ten 'bug' má prý být nějak řešen v novém firmware, tuším, že je tam na to nějaký přepínač (něco jako "Používat jen GPS" vs. "Používat GPS a služby Google"). Více se dozvíme podle všeho 24., kdy by měl firmware vyjít.
21.9.2009 08:29 ronny | skóre: 15 | blog: lake bodom | 3nec / Brno
Rozbalit Rozbalit vše Re: Palm Pre a webOS z pohledu uživatele Linuxu
A služby Palm, ne? :-) Služby Google má Android :-)
Metal smajdalfe, METAL!
Amarok avatar 21.9.2009 12:26 Amarok | skóre: 33 | blog: blogoblog
Rozbalit Rozbalit vše Re: Palm Pre a webOS z pohledu uživatele Linuxu
Nejak nechapu udivy nad "otevrenosti" zdrojaku WebOS. Neni to prece naopak povinnost, jestli je zaklad gnu/linux, cili GPL licence, dodrzet stejnou licenci i v dalsim vyvoji? Nebo neco chapu spatne?
GNUniverse - May the source be with you...
21.9.2009 12:29 Robert Krátký | skóre: 94 | blog: Robertův bloček
Rozbalit Rozbalit vše Re: Palm Pre a webOS z pohledu uživatele Linuxu
Také mohli otevřenost odbýt tím, že by někam do zapadlého koutu svého webu hodili jeden tarball se zdrojáky, bez komentářů, bez SDK, bez manuálů, bez nástrojů pro získání roota atd.
tsLnox avatar 21.9.2009 13:31 tsLnox | skóre: 31 | blog: Blog jednoho ukecaného Gentoolemana | Žďár nad Sázavou
Rozbalit Rozbalit vše Re: Palm Pre a webOS z pohledu uživatele Linuxu
Jedním slovem obfuskované :-D (krásné slovo ;-))
21.9.2009 18:02 AHAHA | skóre: 7 | blog: ZZZ
Rozbalit Rozbalit vše Re: Palm Pre a webOS z pohledu uživatele Linuxu

Zakladem je GNU/Linux, to ale neznamena, ze GUI a aplikace bezici nad nim musi byt GPL (a zrejme ani neni).

21.9.2009 00:37 Sleep_Walker
Rozbalit Rozbalit vše Re: Palm Pre a webOS z pohledu uživatele Linuxu
Odpovědět | Sbalit | Link | Blokovat | Admin
Kdyz je to tak krasne otevrene a pristupne, je mozne pouzit webOS na jinem telefonu, napr. Freerunneru? Je prenositelny? (ted nechme stranou licenci na SW, upravu kernelu pro podporu specifickych funkci exportovanych do userspace atd...)
21.9.2009 00:43 Jan Grmela | skóre: 45 | blog: Kilo šťávy z lachtana | Brno
Rozbalit Rozbalit vše Re: Palm Pre a webOS z pohledu uživatele Linuxu
V zásadě bych v tom neviděl problém, aspoň co se holého systému týče. Jádro lze upravit, přeložit a spustit na něm telefon, problém však může být s uzavřenými aplikacemi Palmu. Ty pojedou jen na ARMu (případně x86 u aplikací z emulátoru) a tuším, že některé z nich budou vázány i na konkrétní hardware (třeba TelephonyService pro telefonní část).
corwin78 avatar 21.9.2009 08:08 corwin78 | skóre: 10 | Ostrava
Rozbalit Rozbalit vše Re: Palm Pre a webOS z pohledu uživatele Linuxu
Odpovědět | Sbalit | Link | Blokovat | Admin

Díky za pěkný článek.

Česká pirátská strana - "Internet je naše moře...".
21.9.2009 09:21 masi
Rozbalit Rozbalit vše Re: Palm Pre a webOS z pohledu uživatele Linuxu
Odpovědět | Sbalit | Link | Blokovat | Admin

Mam jenom technickou poznamku - procesor v Pre NEMA jadro ARM7, ale Cortex-A8. Jadro ARM7 je uz hodne stare, to by moc vykonu nedalo. Ale chapu, odkud k tomu omylu doslo - Cortex A8 je totiz architektura ARM, verze 7 (zkracene ARMv7). Ale NENI to ARM7, to je uplne jine, mnohem starsi jadro. Viz:

http://en.wikipedia.org/wiki/Arm_architecture

 

21.9.2009 13:17 Jan Grmela | skóre: 45 | blog: Kilo šťávy z lachtana | Brno
Rozbalit Rozbalit vše Re: Palm Pre a webOS z pohledu uživatele Linuxu
Díky za upřesnění, to jsem nevěděl.
neo.taa avatar 21.9.2009 14:22 neo.taa | skóre: 15
Rozbalit Rozbalit vše neumí moc telefonovat
Odpovědět | Sbalit | Link | Blokovat | Admin

No až se tohle ZÁSADNÍ naprogramuje, tak bych něco dalšího řešil. Taky jsem naletěl na fůru krásný reklamy, povídačky co všechno je super. A ono taky je. Ale mobil ještě stále potřebuju k telefonování. Tak ať to pořádně naprogramujou a pak něco tvrdí.

21.9.2009 15:45 SB
Rozbalit Rozbalit vše Re: Palm Pre a webOS z pohledu uživatele Linuxu
Odpovědět | Sbalit | Link | Blokovat | Admin

Ty Kurde, že by první pořádnej linuxovej telefon?!?!? 

Fluttershy, yay! avatar 21.9.2009 16:20 Fluttershy, yay! | skóre: 92 | blog:
Rozbalit Rozbalit vše Re: Palm Pre a webOS z pohledu uživatele Linuxu
První?
🇵🇸Touch grass🇺🇦 ✊ no gods, no masters
vain avatar 21.9.2009 16:29 vain | skóre: 16
Rozbalit Rozbalit vše Re: Palm Pre a webOS z pohledu uživatele Linuxu
Tomu se říká drsně vytržené slovo z kontextu =)
If the only choice you've got is to do the wrong thing, then it's not really the wrong thing, it's more like fate.
21.9.2009 18:10 AHAHA | skóre: 7 | blog: ZZZ
Rozbalit Rozbalit vše Re: Palm Pre a webOS z pohledu uživatele Linuxu
Odpovědět | Sbalit | Link | Blokovat | Admin

Palm ma ocividne s WebOS naslapnuto, konecne otevrena a linuxova platforma s potencialem konkurovat iPhonu a WinCE. Pokud to tak pujde dal, tak si tak za 3 roky Palm Pre koupim ...

21.9.2009 18:48 Jan Grmela | skóre: 45 | blog: Kilo šťávy z lachtana | Brno
Rozbalit Rozbalit vše Re: Palm Pre a webOS z pohledu uživatele Linuxu
Když se dívám na ty telefony kamarádů, tak dost pochybuju, že Win Mo je pro Ajfon nějaká konkurence. Příšerné ovládání, pomalý systém...jsem zvědav na WM 7.
21.9.2009 19:54 AHAHA | skóre: 7 | blog: ZZZ
Rozbalit Rozbalit vše Re: Palm Pre a webOS z pohledu uživatele Linuxu

Naprosto souhlasim, pouzitelnost je naprosto katastrofalni ...

Jako konkurenci je oznacuju proto, at jsou jakkoli spatne, maji stale velky podil na trhu.

 

21.9.2009 20:05 phax7 | skóre: 34 | blog: PhaX_blog
Rozbalit Rozbalit vše Re: Palm Pre a webOS z pohledu uživatele Linuxu
Odpovědět | Sbalit | Link | Blokovat | Admin

Nevypadá to špatně, ale  N900 se mi líbí víc - méně Java, víc Debian; méně odesílání údajů, lepší spolupráce s komunitou...

snad to nezkazí cena:)

22.9.2009 11:53 Starobahno
Rozbalit Rozbalit vše Re: Palm Pre a webOS z pohledu uživatele Linuxu
Odpovědět | Sbalit | Link | Blokovat | Admin

 Fuuuuujjjj... starobahno :-D (  viz pozadi screenshotu pod odstavcem u SDK )

22.9.2009 12:23 Jan Grmela | skóre: 45 | blog: Kilo šťávy z lachtana | Brno
Rozbalit Rozbalit vše Re: Palm Pre a webOS z pohledu uživatele Linuxu
To zavání snad ještě horším flejmem než kdybys napsal "fůůůj Nvidia dělá shitový grafiky, nedají se používat" nebo "CPU AMD jsou úplně k ničemu" :-)

P.S.: Radši mám plzeň ale jedenáctka a zvláště dvanáctka bahno není vůbec k zahození ;-)
Fluttershy, yay! avatar 22.9.2009 14:02 Fluttershy, yay! | skóre: 92 | blog:
Rozbalit Rozbalit vše Re: Palm Pre a webOS z pohledu uživatele Linuxu
Podle nějakého snobského švédského časopisu je prý dokonce Starobahno nejlepší pivo vůbec. ^_^
🇵🇸Touch grass🇺🇦 ✊ no gods, no masters
22.9.2009 16:57 Martin
Rozbalit Rozbalit vše Re: Palm Pre a webOS z pohledu uživatele Linuxu
Odpovědět | Sbalit | Link | Blokovat | Admin

Java, javascript...  na  telefonu? to zni jako špatnej vtip, pak se nemužou divit, že jim telefon vydrzi jenom neco malo hodin v provozu. Kde jsou ty doby, kdy C++ melo pro vyvojare moc velkou zbytečnou režii a radeji psali ciste C

22.9.2009 22:34 Jan Grmela | skóre: 45 | blog: Kilo šťávy z lachtana | Brno
Rozbalit Rozbalit vše Re: Palm Pre a webOS z pohledu uživatele Linuxu
No iPhone je v napsaný Objective-C a nezdá se, že by mu to nějak dopomohlo k extra velké výdrži (ve srovnání s Pre)...
29.12.2010 02:19 Badel
Rozbalit Rozbalit vše Re: Palm Pre a webOS z pohledu uživatele Linuxu
Odpovědět | Sbalit | Link | Blokovat | Admin

Autorův článek na PalmHelp.

ISSN 1214-1267, (c) 1999-2007 Stickfish s.r.o.