1. bootloadera
2. systemu bazowego (kernel + podstawowe elementy linuxa)
3. oprogramowania użytkowego
Innymi dystrybucjami korzystającymi z 2 pierwszych części familiara są qte oraz intimate, a na podstawie qte powstała dystrybucja opie. Każda z nich ma troszkę inne podstawy i inny cel. Oprogramowanie użytkowe familiara i intimate korzystają z xserwera. qte i opie korzystają z bibliotek programistycznych qt. Celem producentów opie jest stworzenie zintegrowanego oprogramowania pim dla linuxa i z tego powodu zdecydowałem się na ten produkt.
Instalacja
Instalacja linuxa+opie jest czynnością prosta i każdy średnio zaawansowany linuxowiec powinien dać sobie rade. Instalacja narazie nie jest przeznaczona pod żadnym pozorem dla osób w ogóle niedoświadczonych z linuxem !
Opis tutaj zamieszczony powinien pasować dla wszelkich ipaq'ow z rodziny 31xx, 36xx i 37xx. Model 38xx są dopiero w fazach adaptacji i należy ostrożnie do nich podchodzić. Do instalacji niezbędny jest kabelek lub podstawka rs232. PC z Windows i z Linuxem.
Instalacja bootloadera opisana jest na:
ftp://ftp.handhelds.org/pub/linux/compaq/ipaq/stable/install.html
Instalacje zaczynamy oczywiście od wykonania kopii całości systemu. na początek proponuje wykonać 100% backup ipaq'a z activesync. Ściągamy ze strony familiara 3 pliki: bootblaster_1.18.exe, bootldr-2.18.01.bin i task-bootserial.jffs2 (około 5.5MB razem). Pliki sprawdzamy koniecznie programem md5sum, gdyż każdy przekłamany bicik może uszkodzić naszego ipaq! Zamykamy wszystkie aktywne programy i dwa pierwsze pliki ładujemy do ppc i uruchamiamy bootblastera. Bootblaster jest programem Compaq pozwalającym na wykonywaniu czynności serwisowych i należy przedstawione poniżej czynności wykonać bardzo ostrożnie. Z menu flash wybieramy save, spowoduje to zapisanie oryginalnego bootloadera do pliku na ipaq. plik nazywa sie saved_bootldr.bin i kopiujemy go w bezpieczne miejsce na swój komputer (a najlepiej na dwa :)) Z menu flash wybieramy save windows.gz, spowoduje to zapisanie całego flasha w pocketpc do pliku na ipaq. plik ten również kopiujemy na hdd. w przypadku mojego ppc2000 ma on 9MB. Po tych czynnościach mamy wykonana kompletna kopie systemu na hdd i zawsze będziemy mogli do niej wrócić. Teraz następuje pierwsza cześć instalacji. Pamięć flash w ipaq ma strukturę twardego dysku podzielonego na 2 partycje o nazwach bootldr i root. podczas uruchamiania startuje bootloader który uruchamia system z partycji root. w ppc partycja root jest tylko do odczytu, w linuxie można z niej normalnie korzystać jak z dysku twardego. Podmianę bootloadera wykonujemy uruchamiając flash->program w bootblasterze. Otrzymamy okienko z prośba o podanie nazwy z plikiem zawierającym nasz nowy loader (bootldr-2.18.01.bin). Program zostanie załadowany na partycje bootldr. Dajemy verify. Jeśli wszystko jest ok to już prawie po wszystkim. Jeżeli wyskoczy jakikolwiek błąd to spróbujmy załadować flasha jeszcze raz. W przypadku błędu POD ŻADNYM POZOREM NIE RESTARTUJCIE IPAQ'a, blad oznacza ze na 100% reboot zakończy się w serwisie. możemy spróbować jeszcze raz załadować linuxowy bootloader lub załadować oryginalny, tak aby weryfikacja wypisała OK. Jeśli wszystko poszło w porządku (a u mnie tak właśnie było) to mamy już zainstalowany nowy bootloader. Możemy zamknąć program bootblastera i spokojnie zresetować ipaq. Na ekranie wyskoczy nam pocketpc tak normalnie po staremu.
Reszta czynności jest już bardziej przyjemna i nie ma już żadnych powodów do obaw ze cos się popsuje. Bootloader zawsze pozwoli nam na twardy reset i załadowanie ppc czy linuxa ile razy będziemy chcieli i mieli na to czas :)
Każda zmiana związana jest oczywiście z utratą wszystkich danych także warto je sobie synchronizować i backupować.
Jak dostać się do konsoli bootloadera ?
Jest to banalne. Podczas resetowania ipaq'a wystarczy przytrzymać wciśnięty środek joypada (kasuje to pamięć ram!) ale otrzymujemy na ekranie ładnego pingwinka i info o bootloaderze. Podłączamy ipaq'a do peceta i uruchamiamy program terminala np. Hyperterm z windowsa. Ustawiamy na nim nowa sesje na 115200 8n1 brak obsługi sprzętowej i bezpośrednio na COM1 (lub inny zależy jak mamy podpięte ipaq'a). Po odpaleniu sesji terminalowej naciskamy enter. Otrzymamy prompt bootloadera:
boot>
podajemy:
pflash 0x40000 0xffff 0
co spowoduje odblokowanie pamięci flash zajmowanej przez wince.
Odnośniki do oryginału dla dalszej części instalacji:
http://familiar.handhelds.org/familiar/releases/v0.5.1/install/H3100/install.html lub
http://familiar.handhelds.org/familiar/releases/v0.5.1/install/H3600/install.html
Instrukcje obejmują również instalacje nowego bootloadera ze starego!
Teraz możemy nadpisać windowsa linuxem. Dajemy load root (load powoduje nadpisanie partycji o podanej nazwie), na ekranie wyskoczy monit o tym ze możemy rozpocząć transmisje xmodem z zawartością partycji głównej. transmitujemy tu plik task-bootserial.jffs2 (w hyperterminalu w menu transmisja->wyslij plik). po kilku minutach ładowania nastąpi akcja czyszczenia partycji, programowania flasha i weryfikacji. Jak się to wszystko skończy otrzymamy z powrotem prompt bootloadera. Właściwie w tym momencie mamy już gotowy system bazowy do instalacji reszty oprogramowania użytkowego. Dajemy:
boot
Ipaq zacznie ładować linuxa. konsola przekierowana jest na port rs także na naszym terminalu będziemy mogli zobaczyć znany obraz startu kernela. Ładowanie zakończy się i zostaniemy z programem login:
logujemy się wiec jako root haslo rootme
Aby kontynuować instalacje musimy ipaq'a uzbroić w sieć. Bez obaw, wszystko na ipaq'u jest przygotowane do tego. Aby wygodnie móc zestawiać połączenie dla ipaq'a piszemy:
echo "ppp" >>/etc/modules
modprobe ppp
Te dwie linie powodują że w przyszłości protokół ppp będzie zawsze ładowany na starcie systemu, a ta druga linia ładuje ppp w obecnym uruchomieniu. Musimy teraz namierzyć nasz serwer dns (w windowsie możemy uruchomić program winipcfg i tam w 'more info' będziemy mieli o tym informacje, oczywiście gdy jesteśmy do Internetu podłączeni) ja posłużę się adresem 192.168.0.1 bo taki dns obowiązuje u mnie w sieci lokalnej.
echo "nameserver 192.168.0.1" >/etc/resolv.conf
Ta linia ustawi nasz serwer nazw tam gdzie wszystkie linuxowe programy go szukają i wylogowujemy się. Logujemy się ponownie podając username ppp, powinniśmy na ekranie ujrzeć strumień transmisji z pppd. to dobry znak że wszystko się powiodło.
Musimy teraz przygotować naszą stacjonarną maszynę aby udostępniała Internet dla naszego ipaq'a. Przyznam sie szczerze że wykonałem to na linuxie i ciężko mi wskazać odpowiedni program dla windowsa. Musi to być odpowiednie powiązanie jakiegoś routera (winroute?) i dialup networking, będę nad tym pracował aby podać w przyszłości sensowne rozwiązanie tego problemu. Możliwe ze można to oprzeć o jakiś Ras z win2000 lub udostępnianie połączenia internetowego z win98. W linuxie sprawa jest prosta, tworzymy odpowiedni peer dla pppd i uruchamiamy:
echo "-detach
noauth
nocrtscts
lock
user ppp
connect '/usr/sbin/chat -v -t3 ogin--ogin: ppp'
/dev/ttyS0
115200
192.168.1.100:192.168.1.101
" >/etc/ppp/peers/ipaq
włączamy forward pakietów:
echo 1 > /proc/sys/net/ipv4/ip_forward
maskarade:
ipchains -A forward -s 192.168.1.101 -j MASQ
'dzwonimy' do ipaq'a:
pppd call ipaq
nasz pc połączy się z ipaq'iem i będziemy mogli się na niego załogować przez ssh2
ssh Ten adres pocztowy jest chroniony przed spamowaniem. Aby go zobaczyć, konieczne jest włączenie w przeglądarce obsługi JavaScript.
po załogowaniu mamy możliwość zainstalowania dowolnych dystrybucji. Każda z nich jest emitowana w postaci pakietów samoinstalujących się i samoaktualizujących się. W każdej postępujemy w taki sam sposób. Konfigurujemy adres dystrybucji w pliku /etc/ipkg.conf
np:
echo "src opie http://opie.handhelds.org/feed/ipaq/" >>/etc/ipkg.conf
dopisze adres dystrybucji opie do instalatora.
wydajemy teraz proste komendy: (samo ipkg wypisze ich kompletny spis)
ipkg update - pobranie wersji pakietów (należy zawsze od tego zaczynać)
ipkg install task-opie - instalacja podstawowych pakietów opie
ipkg list - spis dostępnych pakietów.
Generalnie powinniśmy instalować pakiety tylko z gałęzi opie-* gdyż tworzą one spójną dystrybucje w środowisku qt. Cześć programów sama doinstaluje sobie potrzebne pakiety (są one logicznie połączone). Po instalacji możemy wydać reboot i opie uruchomi się na starcie ipaq'a już na jego ekraniku. Przy pomocy ipkg można również łatwo aktualizować całe oprogramowanie. wystarczy pobrać ich nowe nagłówki 'ipkg update' i pobrać nowe wersje 'ipkg upgrade' po instalacji musimy zawsze przeładować opie. Instalacja nowych rzeczy czasami namiesza w działającym opie, ponieważ działamy na otwartym organizmie. Można je sobie
przeładować, a najlepiej zatrzymać na czas instalacji czy upgrade.
Oto odpowiednie komendy do uruchamiania i zamykania opie.
/etc/init.d/qte stop
/etc/init.d/qte start
Co w środku...
Po uruchomieniu zostaniemy poproszeni o kalibracje ekranu z digitizerem. Prószę się nie zrażać tym ze opie uruchomi się do góry nogami (u mnie tak było) instalując opie-rotate możemy dowolnie ustawiać orientacje ekranu wedle własnych upodobań (również orientacje poziome). Samo środowisko skonstruowane jest w parciu o graficzny 'shell'. Na dole ekranu znajduje się zawsze widoczne menu z ikonami i pluginami. Należy koniecznie zainstalować jakiś plugin do wprowadzania znaków z ekranu (a jest ich kilka). Warto również zainstalować plugin z regulacja głośności i stanem akumulatorków. Główny ekran składa się z kilku zakładek które znajdują się na górnej stronie ekranu. Można tam znaleźć zakładkę z aplikacjami, grami, ustawieniami i dokumentami (w zależności jakie pakiety zainstalujemy). Dostępne są praktycznie wszystkie aplikacje typu pim (today, kalendarz, notatnik tekstowy, arkusz kalkulacyjny, strefy czasowe) oraz typowo linuxowe np. terminal. Z innych programów do których odnośniki można znaleść na stronach opie to np. przeglądarka konquedor, opiemail. Większość programów jest na bieżąco rozwijana i co kilka dni pojawiają się ich nowsze wersje. W menu gry znajduje sie kilka podstawowych gierek (waz, karty, tetris) Menu ustawień to odpowiednik panelu sterowania z windows 9x. Można tam ustawić wspomniana już orientacje ekranu, datę i czas, kolorystykę i temat i inne podobne rzeczy. W zakładce dokumenty znajdziemy utworzone przez nas pliki ze wszystkich programów. Nawigacja po tym shellu jest bardzo wygodna i robi się to intuicyjnie. Dodatkowo w miejscu przycisku start z windows mamy przycisk Q który rozwija menu kontekstowe pozwalające na dostęp do prawie wszystkiego co mamy na zakładkach (nie wiem czemu nie do dokumentów?) Resztę proponuje pooglądać na screenshotach na opie.handhelds.org i tych przygotowanych przeze mnie.
Wprowadzanie znaków
Z dostępnych pluginów przeglądałem trzy. Pierwszy to standardowa klawiatura wyświetlana podobnie jak w ppc. ma ona 2 ekrany (sam blok alfanumeryczny lub mniejsze klawisze uzupełnione o klawisze kursorów). Drugi to mały plugin zajmujący 2 linie tekstowe umożliwiający wpisywanie tekstu podobne do pisania z klawiatury telefonu. Oraz trzeci pisanie odręczne, zrobione w sposób o wiele lepszy niż ten co mam w ppc2000. Do dyspozycji mamy fajny tutorial, szkółkę pisania, jak i edytor własnego stylu wpisywania. Wpisywanie podzielone jest na 2 (jak palm) lub 3 (jak ppc) bloki. Dzięki edytorowi można nauczyć go rozpoznawania palmowych graffiti.
Polska wersja...
Cały opie posiada również selektor języków, ale polskiego po prostu brak. Wersje językowe podstawowych komunikatów systemu, jak i większości aplikacji ‘firmowych' są zapisane w pakietach i18n. Jest wiec prosta możliwość samodzielnego przygotowania naszego polskiego i18n.
ARM Debian
Żeby tego wszystkiego było mało mamy możliwość korzystania z praktycznie całej dystrybucji debiana skompilowanego pod procesor ARM. Jest to kilka tysięcy pakietów oprogramowania. Oczywiście sporo z tego nie nadaje się na przenośny komputer ze względu na ograniczone zasoby jak i specyfikę (po co nam np. serwer www apache), ale sam fakt zaistnienia takich możliwości jest niewątpliwie kuszący dla pocketowych linuxowców. Biorąc pod uwagę ilość oprogramowania to ze spokojnym sumieniem mogę powiedzieć ze jest tego o wiele więcej niż na PocketPC (jak ktoś ma duża kartę CF ). Istnieje kilka browserow www, kilkanaście programów pocztowych, klientów irc, news (xowych i terminalowych), emulatorów konsoli i 8-bitowcow. Wiele narzędzi potrafiących tworzyć np. wirtualne sieci prywatne czy vnc. Sam Xserwer pozwala na odpalenie naszego zdalnego pulpitu.
Intimate
Na stronie familiara jest odnośnik do największej dystrybucji na ipaq. Intimate jest przeznaczone dla posiadaczy dużych kart CF lub dysków CF. Minimalna instalacja potrzebuje karty 128MB. Jeżeli szukacie jakiegoś oprogramowania na ipaq'a to napewno znajduje się ono w tej dystrybucji. Na stronie znajdują się również screenshoty, na których można pooglądać co na ipaq udało się wcisnąć.
Programowanie
To że linux jest programistycznym eldorado wie praktycznie każdy programista. Ipaq pod linuxem jest dostępny całkowicie z kodami źródłowymi. Dostępny jest również kompilator dla strongarm działający w środowisku i386. Możemy wiec zaadaptować każdy własny program dla jego potrzeb. Możemy przygotować sobie również własny kernel, czy dowolnie modyfikować całe zainstalowane oprogramowanie. Dodatkowo do dyspozycji mamy kilkanaście języków skryptowych z ARM Debiana (np. perl'a)
Wady
Niestety musze wylać również mały kubełek wody na ochłodę. Familiar jak i opie są narazie w wersjach testowych, co powoduje ze mogą zdarzyć się jakieś wadliwe działania niektórych aplikacji, i niektóre aplikacje nie są jeszcze ukończone (brak niektórych funkcji). Zdarzył mi się raz przypadek zawieszenia samego opie (linux pod spodem działał, przeładowałem opie z konsoli podpiętej przez rs232). Brakuje mi troszkę notatnika graficznego w pakiecie, ale z tego co wiem ma się pojawić w najbliższym czasie. Opie nie posiada praktycznie żadnej synchronizacji z windowsem (przynajmniej ja nie znalazlem) także synchronizacja z outlookiem jest z tego co wiem niemożliwa (zresztą nie ma się co dziwić :). Można oczywiście kopiować pliki na i z ipaq'a instalując na nim kawałek serwera ftp lub nie instalując nic przez scp. Dla mnie jest to wygodne rozwiązanie, ale zdaję sobie sprawę że nie dla wszystkich.
Dla kogo?
Na pewno narazie nie dla każdego. Przede wszystkim widzę tu duże pole dla obecnych linuxowcow którzy szukają dla siebie palmtopa, a którego mogą sobie sami oprogramować tym co lubią. Dla firm posiadających oprogramowanie pisane dla unixow, a które chcą tworzyć mobilne stanowiska pracy bez konieczności pisania softu na nowo. Dla programistów którzy chcą sami oprogramować swojego palmtopa, a chcą wykorzystać to co już wcześniej tworzyli pod linuxy/unixy. Większość oprogramowania ruszy po samej rekompilacji.
Wnioski
Linux na ipaq'a jest ciekawą alternatywą dla pocketpc. Większość obecnych linuxowcow może spokojnie sięgnąć po ten system (ja już nie wracam do ppc). Wszystko co mi było potrzebne w ipaq jako pim dało mi opie. Na wadę każdego pakietu moge zwrócić uwagę samemu autorowi, do którego mam email, lub na forum opie. W większości przypadków zgłoszone problemy nie pozostają bez odpowiedzi, i można uzyskać na nie rozwiązanie w postaci porady, lub w następnej wersji pakietu za kilka dni. Droga od błędu do patcha jest wiec bardzo krótka. Mnogość oprogramowania może przytłoczyć każda kartę cf, a ich jakość wcale nie odbiega od oprogramowania z ppc, a czasami przewyższa (choćby wspomniane rozpoznawanie pisma).
Na kolejnych stronach znajdują się screenshoty z opie.
Konfiguracja opie
Today screen
System Info
Wprowadzanie znaków
Kalendarz
Strefy czasowe
Więcej na kolejnej stronie...
Menadżer pakietów oraz Terminal
Arkusz kalkulacyjny i aplikacje
Menadżer plików oraz Kontakty
Gry