Nokia N900: una Debian tascabile


Volete sapere tutto sulle caretteristiche dell’N900? Bene, qui non troverete nulla, visto che esistono innumerevoli recensioni in giro e parecchi video su youtube.

Quel che poco si legge in giro è invece un’analisi “sistemistica” del “coso” di cui sto parlando.

Dal punto di vista dell’utente comune è senz’altro un ottimo prodotto. Veloce, stabile, funzionale, innovativo.

Ma l’effetto WOOOW si ottiente su quel tipo di utenza che conosce bene il mondo linux e dell’open source in generale.

Se sei una di quelle persone, continua pure a leggere, altrimenti puoi tranquillamente premere contemporaneamente i tasti ALT ed F4.

Le informazioni riportate sono state ottenute usando una comune connessione SSH verso la “macchina” Maemo (nome della distribuzione linux installata), esattamente come un sistemista farebbe su una qualsiasi macchina debian.

ARM

La CPU è una ARM Cortex A8 da 600Mhz, con speedstep in passi da 200, 400 e 600Mhz (forse c’è anche il 550)

Nokia-N900-42-11:~# cat /proc/cpuinfo
Processor : ARMv7 Processor rev 3 (v7l)
BogoMIPS : 499.92
Features : swp half thumb fastmult vfp edsp neon vfpv3
CPU implementer : 0x41
CPU architecture: 7
CPU variant : 0x1
CPU part : 0xc08
CPU revision : 3
Hardware : Nokia RX-51 board
Revision : 2101
Serial : 0000000000000000

Abbiamo 256Mb di RAM con altri 786Mb di swap che portano la memoria complessiva a 1Gb. Parlo dello swap classico, senza trucco e senza inganno.

Nokia-N900-42-11:~# cat /proc/meminfo
MemTotal: 245540 kB
MemFree: 8176 kB
Buffers: 9936 kB
Cached: 58588 kB
SwapCached: 72732 kB
Active: 79292 kB
Inactive: 80040 kB
Active(anon): 47264 kB
Inactive(anon): 56012 kB
Active(file): 32028 kB
Inactive(file): 24028 kB
Unevictable: 18612 kB
Mlocked: 14640 kB
SwapTotal: 786424 kB
SwapFree: 656132 kB
Dirty: 0 kB
Writeback: 0 kB
AnonPages: 92796 kB
Mapped: 38164 kB
Slab: 21472 kB
SReclaimable: 12904 kB
SUnreclaim: 8568 kB
PageTables: 5812 kB
NFS_Unstable: 0 kB
Bounce: 0 kB
WritebackTmp: 0 kB
CommitLimit: 909192 kB
Committed_AS: 677568 kB
VmallocTotal: 122880 kB
VmallocUsed: 14336 kB
VmallocChunk: 69756 kB

Dischi:

Nokia-N900-42-11:~# cat /proc/partitions
major minor #blocks name
179 0 31264768 mmcblk0
179 1 28315648 mmcblk0p1
179 2 2097152 mmcblk0p2
179 3 786432 mmcblk0p3

mmcblk0 è una MMC interna, partizionata in modo da avere 2Gb per il software (la p2), i 786Mb di swap (la p3) ed il resto per i dati utente (la p1).

Discorso a parte per la partizione di root, di soli 220Mb, fatta con una tecnologia MMC molto performante (e costosa) utile ad avere un avvio fulmineo della macchina e delle applicazioni di sistema.

Vediamo come tali partizioni sono formattate e montate:

Nokia-N900-42-11:~# mount
rootfs on / type rootfs (rw)
ubi0:rootfs on / type ubifs (rw,bulk_read,no_chk_data_crc)
proc on /proc type proc (rw)
sysfs on /sys type sysfs (rw)
tmpfs on /tmp type tmpfs (rw,noatime,size=1024k)
tmpfs on /var/run type tmpfs (rw,nosuid,noatime,size=256k,mode=755)
none on /dev type tmpfs (rw,noatime,size=10240k,mode=755)
devpts on /dev/pts type devpts (rw,gid=5,mode=620)
tmpfs on /dev/shm type tmpfs (rw,nosuid,nodev,noatime,size=65536k)
/dev/mmcblk0p2 on /home type ext3 (rw,noatime,errors=continue,commit=1,data=writeback)
nodev on /sys/kernel/debug type debugfs (0)
/opt/pymaemo/usr/lib/python2.5 on /usr/lib/python2.5 type bind (bind)
/opt/pymaemo/usr/share/pyshared on /usr/share/pyshared type bind (bind)
/opt/pymaemo/usr/lib/pyshared on /usr/lib/pyshared type bind (bind)
/opt/pymaemo/usr/share/python-support on /usr/share/python-support type bind (bind)
/opt/pymaemo/usr/lib/python-support on /usr/lib/python-support type bind (bind)
/dev/mmcblk0p1 on /home/user/MyDocs type vfat (rw,noauto,nodev,noexec,nosuid,noatime,
nodiratime,utf8,uid=29999,shortname=mixed,dmask=000,fmask=0133,rodir)

La partizione di root, montata con un filesystem ubifs, è di tipo journaled (non si corrompono file dopo un improvviso spegnimento) e adatto alle MMC.

La /home è una classica ext3 da 2GB: vi finisce il software.

Abbiamo i soliti proc, sysfs, dev e tmpfs e finalmente il grosso dello storage, montato nell’area utente /home/user/MyDocs con filesystem vfat (FAT32): in questo modo, collegando via usb l’N900, tale partizione può essere agevolmente letta da qualsiasi PC.

Il resto dei mount sono dei “bind” delle librerie python verso /opt. E’ un trucco per fare in modo che il grosso del software installato come libreria occupi la partizione ext3 da 2GB e non la piccola e veloce root di sistema. E’ possibile spostare a piacimento le grosse librerie per liberare spazio: basta un semplice “ln -s /usr/lib/… /opt/…”. Notare che /opt è un link a /home/opt.

GTK

L’ambiente grafico si chiama Hildon, ed è basato sulle librerie GTK, esattamente come Gnome. Infatti, sempre più velocemente, appaiono porting di applicazioni storiche che si trovano in ambiente Gnome.

Il futuro porta verso le librerie QT ma, esattamente come accade sulle comuni distribuzioni Linux, è possibile far girare applicazioni con entrambi i toolkit nello stesso x-server.

Firefox

Il browser? Un derivato di Firefox basato sul collaudato Webkit, ovviamente: il web è renderizato “esattamente” come quello desktop, con prestazioni paragonabili a quelle di un netbook con tanto di Flash 9.4 e finestre multiple.

Si nota l’assenza di client ad-hoc per vari servizi web: perchè? Perchè non servono. Twitter? twitter.com. Facebook? Facebook.com. Senza nessun compromesso.

L’audio è gestito dalla combinazione Pulse/ALSA, esattamente come su Ubuntu e sono persino presenti le utility alsa a riga di comando, come alsamixer 😀

E’ presente il sistema di gestione dei file audio/video Gstreamer, ed è stato compilato con successo anche Mplayer.

Debian

Il gestore dei pacchetti è…. APT. Nessun limite è stato inserito da Nokia: si possono usare/modificare i repository a piacimento ed usare apt come si è sempre fatto. Persino l’Ovi store è… un repository apt. Alcuni utenti segnalano che molti dei pacchetti non grafici e delle librerie debian, compilati per armel, funzionano senza interventi dopo un “dpkg -i pacchetto.deb”.

Pidgin

Ecco quindi che troviamo tutte le lib di pidgin, ad esempio, con tutta la gestione dei suoi protocolli IM, qui meravigliosamente integrata nella lista dei contatti: il concetto principe è che un contatto è un contatto. Come comunicare con quel contatto è un dettaglio, che sia GSM, SMS, MSN, Gtalk, Skype, Facebook, Jabber o altro (il sistema è espandibile dagli sviluppatori).

Persino la parte telefonica è in puro stile Linux: è ovviamente un demone, csd (Call Service Daemon), con il suo init.d script e con i suoi parametri a linea di comando che caricano funzioni quali sms, gprs, voce e altro.

Maemo

Il mito da sfatare: Maemo e l’N900 sono un prodotto nuovo, con poco software e poco supportato. Qualcuno male informato potrebbe esprimere concetti di questo tipo, ma la verità è che Maemo esiste dal 2005 con vari rilasci di distribuzione fino alla versione 5 (esattamente come accade con Debian). E’ stabilissimo e ha una numerosissima schiera di sviluppatori appassionati che lo “rivoltano come un calzino” per fargli fare tutto il “fattibile”.

La novità vera è che Maemo5 è installato su N900, il primo tablet ad essere anche un telefono e quindi un oggetto da portare sempre con se in tasca. Con un hardware liberamente controllabile da software open source che ha come armi, una cpu da 600Mhz, 1GB di ram, 32GB di disco, wifi, gprs, edge, 3g, hsdpa, hsupa e usb pan, radio FM, trasmettitore FM, fotocamera da 5Mpx, bluetooth con TUTTI i profili, irda con cui usare lirc, audio stereo e 800×480 pixel di schermo touch… il divertimento è assicurato.

Open Source

Molto interessante è anche la gestione “politica” della distribuzione: le scelte sono effettuate tramite votazioni e Nokia comunica con l’utenza, e viceversa, tramite i moderatori di Maemo.org.

Mi chiedo dove vogliano arrivare certe aziende che si ostinano a propinare al pubblico software chiuso, controllato, censurato, centellinato e immensamente sottosviluppato quando è ormai palese che l’open source è l’unica strada futura sensata in ogni ambito dell’IT, capace di raccogliere il consenso degli sviluppatori e il “bene comune” della comunicazione digitale.

Venditore di ghiaccio

Venditore di ghiaccio dei primi del ‘900

5 pensieri su “Nokia N900: una Debian tascabile

  1. Bell’articolo, davvero… 🙂
    Posseggo da poco un N900 e la lettura di questa pagina è stata molto istruttiva.
    Grazie!

  2. Articolo meravigliosamente preciso. Non è esplicitato nell’articolo, ma spero che anche tu sia un possessore di nokia n900 come me, perché se così fosse mi aspetterei numerosi altri articoli di tale spessore sul nostro splendido terminale.

    Primo articolo letto del tuo blog.

    Entri di diritto nei miei preferiti. Continua così 😉

  3. Pingback: Sygic Mobile Maps su Nokia N900 at Non volevo, davvero…

  4. a tutti quelli che ancora non apprezzano questo terminale farò leggere questo stupendo articolo. grazie!

  5. Articolo meravigliosamente preciso. Non è esplicitato nell’articolo, ma spero che anche tu sia un possessore di nokia n900

Lascia un commento

Il tuo indirizzo email non sarà pubblicato. I campi obbligatori sono contrassegnati *