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ň