Hlavní navigace

Jak na Linux v Palm Treo 650

1. 9. 2010
Doba čtení: 5 minut

Sdílet

Minulý rok se mi na konferenci LinuxAlt podařilo získat Palm Treo 650. Je to můj druhý Palm, který jsem používal asi měsíc, než ho nahradilo HTC Hero. Treo 650 taky umí spustit linuxové jádro a k němu i nedodělané uživatelské rozhraní. Pokud máte tohoto staříka v šuplíku a chvilku času, můžete si na něm Linux vyzkoušet.

Palm Treo 650 není žádná novinka a ani Linux se pro něj už nevyvíjí. Poslední vydání je z roku 2008 a dalších se asi nedočkáme. Palm se zařízeními s Palm OS pohřbil i další vývoj Linux pro ně. Bohužel se Linux pro Palm TREO 650 nikdy nedostal do takové fáze, ve které by mohl být alespoň nějak použitelný a stejně jako na Palm Tungsten T2, je i Linux pro Treo spíše takovým důkazem o tom, že tam to jádro s pár úpravami nabootuje.

Největší překážkou pro Linux je v případě Palmu malá paměť, která je u tohoto Trea z dnešního pohledu pouhých 32 MB. Je tedy jasné, že žádní moderní prostředí na tom nepojede, ale takový Palm OS si s tím vystačí a je na něm rychlejší, jak dnešní mobilní telefony, výkonem ho několikrát převyšující. Paměti může trochu pomoci swap umístěný na paměťové kartě, ale z toho žádné zázraky čekat nemůžeme. Linux včetně prostředí si na Palmu vezme téměř vše, a pokud se rozhodnete spustit nějakou další aplikaci, narazíte.

Když už se vám podaří všechno nastavit, tak jak potřebujete, dostanete tím na Palm plnohodnotný Linux se vším všudy. Jako prohlížeč se používá Firefox, na přehrávání hudby XMMS, xterm zpřístupňuje konzoli a tak podobně. Při používání budete od prvního kliku bojovat s velikostí displeje. Pokud se vám na začátku nepodaří nastavit jazyk jako mně, už ho nezměníte, protože potvrzovací tlačítko v konfigurační utilitě se schovává mimo obrazovku, stejně tak tomu je u většiny dalšího nastavení. Že jste na Linuxu, vám připomenou i čtyři virtuální plochy, jejichž služeb můžete využít.

 Instalace

Palm není na boot jiných operačních systémů zrovna připraven, takže vývojáři jako první museli nějakým způsobem donutit zařízení, aby načetlo linuxové jádro. Když běží jádro, tak zbytek je už jen otázkou vývojářské síly komunity. První krok se podařilo udělat už u starších Palmů a Treo 650 můžete hacknout pomocí programu Cocoboot. Ten je založený na starším programu Garux, ale proti němu se snaží být jedním programem fungujícím na všech Palmech. Momentálně podporované najdete na wiki na hackndev.com.

K dispozici jsou i zdrojové kódy, ale vzhledem ke stáří Palm OS, se vám už asi nepodaří najít pohodlný způsob, jak je zkompilovat. Cocoboot umí přes USB nahodit i konzoli, ale jelikož nemám USB kabel, tak jsem to nezkoušel. Dále lze najít v menu položky na získání WiFi firmwarů a dumpu paměti.

K instalaci do vašeho Trea 650 a i jiného Palmu není potřeba nic speciálního. Běžná paměťová karta a telefon vám bohatě postačí. Na kartě si vytvoříte dva až tři oddíly. První je klasický FAT 16, stejně jako ho máte teď a na něj si uložíte Cocoboot a linuxové jádro. Druhý oddíl může být Ext2 nebo Ext3 a v něm se nachází root linuxového systému. Třetí oddíl je volitelný a může být použit jako swap.

Pro rozdělení můžeme použít nějaké grafické klikátko, třeba gparted. Pro začátečníky to je určitě lepší volba. Já jsem zvyklý na stařičký fdisk. Nebudu se zde rozepisovat s postupem krok za krokem, protože předpokládám, že uživatelé, kteří se do této akce pustí, už ví, jak na to. Pro 2 GB velkou kartu by rozdělení mohlo vypadat třeba takto:

1. oddíl   512 MB  FAT 16
2. oddíl   1024 MB Ext 2
3. oddíl   512 MB  Swap 

Pokud máte oddíly vytvořené, zformátujeme je:

# mkfs.msdos /dev/sdX1
# mkfs.ext2 /dev/sdX2
# mkswap /dev/sdX3 

Nakonec je připojíme a stáhneme do nich soubory, které najdeme na adrese http://downlo­ad.enlightenmen­t.org:

# mkdir /mnt/p1
# mkdir /mnt/p2
# mount /dev/sdX1 /mnt/p1
# mount /dev/sdX2 /mnt/p2
# cd /mnt/p1
# wget http://download.enlightenment.org/misc/Illume/Treo-650/2008-11-13/sdcard-base.tar.gz
# tar xf sdcard-base.tar.gz
# rm sdcard-base.tar.gz
# cd /mnt/p2
# wget http://download.enlightenment.org/misc/Illume/Treo-650/2008-11-13/openmoko-illume-image-glibc-ipk--20081113-palmt650.rootfs.tar.gz
# tar xf openmoko-illume-image-glibc-ipk--20081113-palmt650.rootfs.tar.gz
# rm openmoko-illume-image-glibc-ipk--20081113-palmt650.rootfs.tar.gz
# umount /dev/sdX1
# umount /dev/sdX2 

Písmeno X nahraďte za písmeno vašeho disku a na konci by měla být karta připravena. Po vložení do telefonu se v menu objeví aplikace Cocoboot. Když ji spustíme a stiskneme tlačítko boot, začne nabíhat náš nový Linux. Paměť telefonu vymazána nebude, takže se kdykoli můžete vrátit k původnímu systému pouhým restartem.

Je možné, že první boot skončí hláškou „Kernel panic ..“. Nejpravděpodobněji půjde o to, že se jádro snaží najít kartu moc brzy v době, kdy jí ovladač neinicializoval. V takovém případě je potřeba v souboru cocoboot.conf na 1. oddíle změnit řádek:

cmdline = root=/dev/mmcblk0p2 mem=32M 

Na:

cmdline = root=/dev/mmcblk0p2 mem=32M rootdelay=1 

Tím se připojení rootfs opozdí o jednu sekundu a ovladač bude mít čas čtečku karet a kartu zpracovat.

Teď už by měla být instalace na kartu kompletní a funkční. Až nabootujete, budete vyzvání ke kalibraci dotykového displeje a výběru jazyka, kde můžete zvolit i češtinu.

root_podpora

Závěr

Jak jsem psal již výše, hodně věcí nefunguje. Většinu programů bez swapu nespustíte, nefunguje suspend, nikde není vidět, jak je na tom telefon s nabíjením, kontextové menu vyvolané na většině plochy displeje není vidět celé, softwarová výbava se omezuje jen na několik málo programů a mohl bych pokračovat dál. Velkým omezením Trea 650 je i absence WiFi, takže se nedá jednoduše připojit k síti. V Linuxu by se to dalo řešit přes bluetooth, ale to už by si zasloužilo další článek.

Nicméně se jedná o zajímavý pokus, který s velkou dávkou další práce může přinést i něco užitečného. Na tomto Palmu běží i Debian Lenny, což samo o sobě otevírá další možnosti. Treo je vybaveno bluetooth a GSM modulem, mohlo by tedy sloužit třeba jako záložní modem pro připojení k internetu, když náhodou hlavní linka vypadne. Podobných nápadů by se určitě dalo najít více, otázkou je, jak moc by šlo jen o to to dokázat, kolik by to člověka stálo práce a jak moc by se to nakonec osvědčilo.

Byl pro vás článek přínosný?

Autor článku

Adam Štrauch je redaktorem serveru Root.cz a svobodný software nasazuje jak na desktopech tak i na routerech a serverech. Ve svém volném čase se stará o komunitní síť, ve které je již přes 100 členů.