PalmPilot a Linux
-=-=-=-=-=-=-=-=-=-
Michal Choura, 9.ledna 1999
Co je Linux asi všichni víte, ale co je to ten PalmPilot (nyní
již jen Palm)? PalmPilot je počítač kategorie PDA (Personal Digital
Assistant), tedy jakýsi "osobní záznamník", který se od jiných
podobných výrobků na trhu poněkud odlišuje. Na první pohled je
patrné, že nemá klávesnici, ovládá se pouze perem. Umí rozpoznávat
zjednodušené tiskací písmo, kterému se říká grafiti. Jestli je
výhodnější klávesnice nebo ovládání perem je sporné, mě trvalo
přibližně jeden až dva měsíce, než jsem se na Pilotovi naučil psát
bez velkého přemýšlení (ale mé písmo i na papíře přečte jen málokdo,
většinou ani já ne :-) Domnívám se, že klávesnice je u takto malých
zařízení problematická, vzhledem k rozměrům tlačítek mi připadá,
že pero je rychlejší. Další rozdíl je v rozměrech, můj PalmPilot
Professional měří jen 12x8,1x1,7 cm, budoucí verse mají být ještě
menší. Asi nejvýznamnější rozdíl je však v přístupu výrobce. Zatímco
většina výrobců informace o svých PDA tají, není problém k Pilotovi
sehnat na stránkách výrobce http://www.palmpilot.com/ kompletní
dokumentaci jak operačního systému, tak přenosového protokolu
(HotSync) mezi vestavěnými aplikacemi a jejich protějšky na PC.
A tak existuje již mnoho aplikací, umožňujících propojit Pilota
s Linuxem.
Všechny verse Pilotů jsou vybaveny procesorem Motorola M68328
(DragonBall). Nejstarší model (PalmPilot 1000) měl 128 kB volné
paměti RAM pro data a další aplikace, nejnovější PalmIII má již
2 MB. Všechny modely mají seriový port, kterým se připojují k PC.
Ten lze u některých modelů (PalmPilot Professional, PalmIII) použít
i k přímému připojení modemu, takže lze z Pilota prohlížet webovské
stránky nebo stahovat elektronickou poštu. Nejnovější model PalmIII
má i infračervený port, a majitel tedy může komunikovat s jinými
uživateli Pilota, s PC nebo třeba s mobilním telefonem i bez kabelu.
Pro české a slovenské uživatele Linuxu je obzvláště důležitá
podpora mateřského jazyka. Pro PalmPiloty existuje jednak komerční
implementace češtiny, kterou vytvořil původní dovozce Pilotů,
jednak GNU Czech http://sgi.felk.cvut.cz/brachtlm/pilot/, která je
(konečně) šířena pod licencí GNU GPL. Volně šířená čeština vznikla
jako reakce na neschopnost dovozce opravit chyby ve svém produktu,
které v určitých situacích vedly k samovolným restartům Pilota
s možnou ztrátou dat. Ale má i další, pro uživatele otevřených
systémů důležitou, vlastnost - umí pracovat i s fonty v kódování
ISO 8859-2. Proto není problém přímo vyměňovat data mezi Pilotem
a Linuxem.
Pilot a Linux
Základní balík pro spolupráci PalmPilotů s Linuxem
(ale i libovolným unixovým systémem) je pilot-link
ftp://ryeham.ee.ryerson.ca/pub/PalmOS/. Je to sada utilit, vlastně
příkazů, které zajišťují komunikaci mezi počítači. Například pro
zazálohování obsahu celého PalmPilota do aktuálního adresáře napíši
pilot-xfer -s /dev/ttyS2
Přepínač -s navíc zajistí, že se přenesou pouze soubory, které
se od minulé zálohy změnily, takže se doba zálohování zkrátí a navíc
se šetří kapacita baterií v Pilotovi. Balík má i další utility,
které umějí například přenést poznámku, zapsanou v Pilotovi,
do souboru na Linuxu a naopak, nebo dokonce přenést novou poštu
z linuxového mailboxu do Pilota a poštu, napsanou v Pilotovi, zase
odeslat. Mezi nejzajímavější patří možnost přenést data z Pilota
do některého z plánovacích programů na Linuxu. Utilita read-ical
přenese data z Pilotího plánovacího kalendáře a "ToDo" listu
do plánovacího programu ical http://www.research.digital.com/ Přenos
ale zatím funguje jen jednosměrně, z Pilota do icalu. Lepší podpora
je pro program plan http://www.in-berlin.de/User/bitrot/, utilita
sync-plan umí využívat síťového serveru netplan a přenést záznamy
z Pilota do netplanu a naopak. Uživatel tedy může zapisovat v terénu
data do Pilota, sesynchronisovat s netplanem, upravovat je na Linuxu
s pořádnou klávesnicí a pak změny přenést zase zpátky do Pilota.
Pilot-link je základní balík, bez kterého se snad ani nelze
obejít. Existují ale i grafické programy pro synchronisaci. Práce
s nimi je obvykle pomalejší, ale vypadá efektně. Mezi nejlepší
asi patří program kpilot http://www.slac.com/pilone/kpilot_home/
který je součástí projektu KDE. Kromě zálohování Pilota má
i vestavěné aplikace pro editaci záznamů v adresáři a poznámek.
Umí také zajistit synchronisaci mezi aplikacemi v Pilotu a obdobnými
aplikacemi v KDE. Existuje i projekt gnome-pilot, který by měl umět
i synchronisaci přes síť využitím architektury Corba, ale jak je
v Gnome (zatím) zvykem, implementace poněkud zaostává za smělými
plány.
Další podobný program je PilotManager
http://www.moshpit.org/pilotmgr/. Jedná se o balík napsaný v Perlu
a Tcl/Tk. Opět má grafický interface, kterým je možné Pilota
zálohovat, instalovat do něj nové aplikace a umí i synchronisovat
některé Pilotí aplikace s obdobnými aplikacemi na Linuxu.
Další zajímavá aplikace je http://xcopilot.cuspy.com/, což je
emulátor PalmPilota pro Linux. Emulace je vynikající, program umí
emulovat nejen instrukce procesoru, ale i jeho grafický výstup,
takže předložíte-li mu ROM ze svého Pilota, získáte kompletního
Pilota na Linuxu. Například všechny ukázky k tomuto článku byly
sejmuty programem xcopilot.
Bez zajímavosti jistě není ani implementace
VNC (Virtual Network Computing) pro PalmPiloty
http://www.icsi.berkeley.edu/minenko/PalmVNC/. VNC je systém, který
umožňuje vzdálenou práci v grafickém prostředí. Pro Pilota existuje
klient, kterým se lze graficky přihlásit k nějakému VNC serveru,
třeba na Linuxu. Pravda, práce s X programy na černobílém displeji
s rozlišením 160x160 bodů není ideální, ale v nouzi je to
použitelné.
Linux na Pilotu?
Když už máme na stolním počítači Linux, se kterým
Pilota synchronisujeme, proč nemít Linux i na Pilotovi
http://ryeham.ee.ryerson.ca/uClinux/? Ano, i na takový počítač,
jako je PalmPilot, bez klávesnice, s jednoduchým procesorem, bez
jednotky správy paměti, bez pevného disku nebo disketové jednotky,
jen s několika megabajty paměti, lze portovat Linux. Linus Torvalds
o autorech uCLinuxu, jak se port jmenuje, v rozhovoru pro časopis
Linux Journal z prosince 1998 prohlásil:
...the people who did the port of Linux to the PalmPilot must be
crazy, but I enjoyed seeing that kind of thing happen.
Nejnovější verse uCLinuxu, o které jsem se dozvěděl 30
min po dopsání tohoto článku :-), umí nabootovat do shellu
s přimountovaným rootovským filesystemem z ramdisku, kernel má
dokonce plnohodnotnou podporu sítí TCP/IP a pokusně podporuje
framebuffer na Pilotím displeji. Existují již i nějaké uživatelské
aplikace, např. webový server Apache, telnet, pppd a samozřejmě
shell. Po nabootování v emulátoru xcopilot se třeba můžeme podívat:
>ps aux
PID PORT STAT SIZE SHARED %CPU COMMAND
1 S 15K 0K 37.0 init
2 S 7K 0K 13.0 kflushd
4 S0 R 23K 0K 5.0 sh
6 S0 R 18K 0K 0.0 ps
>free
total: used: free: shared: buffers: cached:
Mem: 856064 466944 389120 0 286720 0
Swap: 0 0 0
Autoři by dokonce chtěli vytvořit pro PalmPilota modul, který
by obsahoval 1 MB flash ROM, 8 MB RAM a síťovou kartu ethernet,
aby bylo možné plnohodnotně připojit Pilota do sítě. Kromě nahrazení
Pilotího operačního systému volně šiřitelným (open source) Linuxem
je hlavní význam portu pro vestavěné (embedded) aplikace s procesory
Motorola.
výheň