Linux on PDA

Linux on PDA

Aggiornato al 10 Agosto 2003

Contenuti

Introduzione

Quello che proponiamo in questo articolo e' orientato a farvi riflettere sulle potenzialita del sistema operativo Linux (TM) e della comunita Open Source.
Il nostro progetto risolve la problematica di avere piu sistemi operativi sul nostro PDA.
Utilizzando infatti una desterminata configurazione della distribuzione Linux per PDA e' possibile lasciare nella ROM il sitema Originale, normalmente WinCE (TM), e effettuare il boot a scelta dei sistemi operativi installati.

Requisiti

  • PDA compatibile con Linux [Ipaq 36xx 38xx ed altri vedere www.handhelds.org]
  • Distribuzione Linux [reperibile da ftp.handhelds.org]
  • Computer con Linux [per preparare le immagini di avvio e di root]
  • Unita di memorizzazione del kernel e della root [Compact Flash oppure MMC]
  • Kernel compatibile con supporto per l'unita di storage [www.handhelds.org]
  • Terminale seriale [Null modem oppure cross, per amministrazione del PDA]

Softare:

Primi passi - Installazione Boot Loader

Se siete gia utenti linux capirete sicuramente l'importanza di questa fase. Il boot loader è un programma altamente dipendente dall'hardware che permette il caricamento dell'immagine del kernel al momento dell'avvio del PDA, ovvero al reset.
Il boot loader si preoccupa anche di indicare al kernel alcuni parametri ovvero dove è stato installato linux, sulla Compact Flash oppure nella rom interna.

  • Il processo di installazione del boot loader nel Ipaq è possibile grazie al programma Bootblaster
  • Copiare grazie ad ActiveSync il bootblaster nel PDA
  • Eseguire BootBlaster tramite "Esplora Risorse"
  • Effettuare il backup del precedente bootloader
  • Trasferire tramite activesync il nuovo bootloader
  • Installare il bootloader per linux

Vi ricordiamo che per attivare il nuovo bootloader occorre tenere premuto il tasto Azione e quindi resettare il PDA.

  • Prepare l'immagine della distribuzione Linux nella scheda CF
    consigliamo di utilizzare due partizioni, la prima, FAT, conterra il kernel e initrd
    la seconda partizione sara specifica per Linux e conterra la distribuzione.
    Vediamo come devono essere create le due partizioni:
    La prima /dev/hda1 in FAT contiene l'immagine del kernel e la initrd per il corretto caricamento, la seconda parizione in ext2 sara il filesystem di root dopo aver effettuato il pivot_root.
    Nella initrd devono essere contenuti i moduli per il corretto funzionamento della CF e la lettura di ext2 come FS.
    L'altra ipotesi molto simile alla precedente prevede una sola partizione FAT e la possibilita di avere root in RAM, quindi in secondo tempo aggiungere i componenti necessari nella tmpfs.
  • Preparare il terminale seriale.
  • Avviare Linux resettando il PDA e scegliendo di fare il boot dalla CF (Compact Flash)

Distribuzione Linux

Noi abbiamo utilizzato la distribuzione familiar reperibile da www.handhelds.org.
E' infatti scaricabile direttamente la versione tar che verra decompressa nella seconda partizione della Compact Flash.

Downloads

Presto forniremo i nostri script e configurazioni, accessibili attualmente solo su richiesta.

Impieghi

La nostra applicazione [13 Novembre 2001]

Software - Hardware:

  • Distribuzione familiar 0.6.X in formato tar.gz
  • Compact Flash 8MB + Slave CF
  • Ipaq 3850 con PocketPC2002
  • BootBlaster 2.18.54

Tecnica:

  • Installazione del bootloader
  • Avvio della CF tramite parametri
  • Avvio di Linux da initrd
  • decompressione in RAM
  • decompressione pacchetti tar.bz2 in RAM
  • 20MB di RAM occupati quindi 64-20 = >40MB liberi
  • Sistema grafico Opie oppure Qtopia 1.5
  • Per la memorizzazione dati abbiamo usato la MMC/CF

Si ringrazia per gli aiuti concessi al "Generale" nella creazione delle immagini.

Considerazioni

Perche passare a Linux (Pro)

  • Molto piu veloce di WinCE.
  • Autonomia delle batterie incredibile.
  • Possibilita di VERO porting delle applicazioni per QT [www.trolltech.com] sul PDA
  • Graficamente piu bello (oggettivamente e' piu intuitivo QTopia [www.trolltech.com]
  • Molto piu sicuro, multiutente.
  • Compatibilita diretta dei documenti.
  • Integrazione perfetta con la Rete LAN.
  • Funziona il Bluetooth. (azzardata ma sicuramente piu efficiente di WinCE)

Contro

  • Per Esperti, la parte da console, graficamente è piu intuitivo e semplice.

Perche caricare tutto in RAM?

  • Non serve la CF.
  • Piu veloce.
  • Riparmio di batterie.
  • Meno ingombro.
  • Utilizzo della MMC e dello slot CF indipendenti.

In Lugio 2003 i progressi sono stati talmente tanti che ho buttato WinCE ed ora ho Opie 1.0 in ROM.

Screenshots