Ecco l’emulatore di Neo1973 con immagine di OpenMoko …nella vostra box :)

È stato rilasciato dal team di OpenMoko un emulatore basato su qemu, che permette di giocherellare un po’ con l’interfaccia del Neo1973, il “telefoninux” che tutti aspettiamo:

qemoko04-thu.png

So che vorreste provarlo anche voi, ma sappiate dovrete installare qualche pacchetto non correntemente incluso in Edgy e tutta la procedura non è esattamente per novizi. Ecco perciò una serie di foto di come appare e …una guida per chi proprio non può farne a meno ;)


Mi sono attenuto alle istruzioni ufficiali, e vi rimando a quelle per eventuali aggiornamenti o cambi futuri.

Installare l’emulatore

Scarichiamo la versione corrente e spostiamoci nella directory di lavoro:

$: svn checkout https://svn.openmoko.org/trunk/src/host/qemu-neo1973
$: cd qemu-neo1973

Per compilare qemu-neo1973 bisogna usare gcc3, io ho installato la 3.4 così:

$: sudo apt-get install gcc-3.4

Sappiate che questo non cambierà assolutamente niente del vostro setup, e non si sostituirà al vostro compilatore attuale (se ne avete uno). Dovremmo specificare a configure che abbiamo un compilatore apposta per lui, e poi compilare:

$: ./configure --target-list=arm-softmmu --cc=/usr/bin/gcc-3.4
$: make

Se avete già compilato in passato non dovrebbero esserci errori, se così non fosse… per le dipendenze necessarie a compilare fate un po’ voi, credo che basti un bel:

$: sudo apt-get install build-essential linux-headers-$(uname -r)
$: sudo apt-get build-dep qemu

Sperando che riusciate a terminare questa operazione, non c’è bisogno di installare l’emulatore, in quanto si avvia direttamente dalla directory dei sorgenti, ma avrete bisogno di un paio di altri pacchetti necessari all’emulatore:

$: sudo apt-get install lynx netpbm

Scaricare e lanciare l’immagine di OpenMoko

Dopo aver compiuto questo ultimo passo si può procedere allo scaricamento dell’ultima immagine disponibile di OpenMoko, il kernel, il filesystem e tutto il resto. Il processo è interamente automatizzato e basta un:

$: openmoko/download.sh

Per scaricare qualcosa come ~30MB di file. Una volta terminato questo processo (state attenti a beccare eventuali errori nell’output!) bisogna “mettere insieme” il tutto, così:

$: openmoko/flash.sh

Questo durerà qualche minuto e avrete l’impressione che il processo sia morto. Non fate niente, aspettate e abbiate fede :D Dopo quelle due/tre pause l’operazione sarà completata e lo script vi suggerirà il comando da usare per lanciare l’emulatore, qualcosa del genere:

$: arm-softmmu/qemu-system-arm -M neo -m 130 -mtdblock openmoko/openmoko-flash.image -kernel openmoko/openmoko-kernel.bin -usb -show-cursor -snapshot

Il parametro “-snapshot” l’ho aggiunto io, e serve a lanciare OpenMoko in modalità di sola lettura, questo evita di incasinare le cose e permette di lanciare ogni volta un telefono sempre nuovo :D

Aggiornare l’emulatore e l’immagine OpenMoko

Dal momento che il progetto è totalmente aperto e in continua crescita (ed è in repository svn) per aggiornare l’emulatore basta un:

$: svn up

Invece per ottenere sempre l’ultima immagine di OpenMoko disponibile basta ripetere i primi due comandi segnalati nel paragrafo “Scaricare e lanciare OpenMoko”. È tutto :)

Immagini dell’interfaccia del “telefoninux”

Eccoci alla parte goduriosa, rifatevi gli occhi:

qemoko0.png
L’avvio con lo spash screen, comincia la salivazione

qemoko01.png
Il bootloader (AUX è Invio, Power è Spazio). Ovviamente la versione finale non avrà niente del genere (spero!)

qemoko02.png
Il kernel si avvia e gli script fanno un po’ di controlli, notare le ultime scritte :)

qemoko03.png
Parte la grafica e ci viene chiesto di calibrare lo schermo

qemoko05.png
Ecco come si presenta l’interfaccia del “telefoninux”

qemoko06.png
L’utilità “Contacts” e la tastiera on-screen

qemoko07.png
Ah, vi avevo detto che dentro c’è APT? ;)

Ci sarebbe da fare un intero book fotografico :D ma credo che mi fermerò qui, se volete provare le altre caratteristiche seguite la guida ed emulate. Purtroppo il software per comporre numeri non si avvia quindi non posso mostrarvelo, ma in generale sembra tutto molto interessante.

Peccato per la lentezza dell’emulazione, ma sono certo che è dovuto al mio PC sub-decente e sicuramente non somiglia neanche da lontano alla velocità finale! In ogni caso questa possibilità di pregustare l’interfaccia – lo si capisce facilmente – è anche un mezzo ideale per sviluppare e testare applicazioni OpenMoko, sono certo che spunteranno fuori utilità di ogni genere.

…e adesso andate a fare una cosa del genere con un altro telefono ;)

94 pensieri su “Ecco l’emulatore di Neo1973 con immagine di OpenMoko …nella vostra box :)

  1. Che figata!
    Finalmente un cellulare che si può sistemare come ci aggrada e pure pieno di roba e di opzioni!

  2. ancora non l’ho provato, causa tempo. Ma lo farò.

    OT:
    Felipe non so come fare ma… mi viene proprio da chiedere perchè tutta questa dipendenza dal C in linux.. lo so che è free, ottimizzato, etc etc, ma non c’è linguaggio che detesti di più… Vorrei qualcosa di più alto livello, avere a che fare con la memoria mi urta quasi… urta la mia coscienza di programmatore.. e mi fa sentire ignorante (purtroppo C è un linguaggio così complesso con trenta milioni di strutture e costrutti, e quando un progetto cresce è così complicato capire dove mettere esattamente le mani…) ODIO C!

  3. spetta un po, ma io per accenderlo e fare una telefonata dovrei subirmi tutta quella ambaradam?

  4. uhm…ho deciso che cellulare prendere, appena uscirà la seconda versione con wifi…altro che iphone, gphone…non vedo l’ora che esca in fretta :|
    Intanto penso che oltre a kde4 questa settimana metterò anche questo… :D

  5. mmm sembrerebbe carino.
    Ma le icone fanno troppo ca**re! Speriamo tengano nascoste quelle ufficiali per quando sarà pronto, e che non abbiano la malsana idea di usare le attuali, o almeno che si possa cambiare il tema. “Tanghizzato” ce lo vedo bene.

  6. “Peccato per la lentezza dell’emulazione, ma sono certo che è dovuto al mio PC sub-decente e sicuramente non somiglia neanche da lontano alla velocità finale!”

    felipe, non esserne così certo. ;-)

  7. non funzionerà mai in italia.

    SBAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAV

    ok ho spammato anche io…. notte….

  8. @Emmanuele:
    Se mi dici che hai uno di quei giocattoli, ti dichiaro la mia invidia ufficialmente e apertamente… ma sul serio non può essere *così* lento :D

  9. @musikele

    io invece il C lo adoro e poter giocare con le malloc e le free mi da una sensazione di potere immane.

    Le strutture in C non sono micca così tante, anzi …. sono veramente minime, tant’è che di base esiste solo l’Array, il quale non è neppure una struttura nel senso stretto del termine , ma anch’esso un puntatore :D

    Le strutture il C ti da modo di implementarle, ma il linguaggio di suo non ne implementa nessuna :D (lasciando stare le librerie che si possno utilizzare).

    ADORO IL C :D

  10. @asdrubale
    io invece il C lo adoro e poter giocare con le malloc e le free mi da una sensazione di potere immane.

    Ci giocherai ancora per poco se si decidono a implementare su linux un meccanismo simile a W^X di OpenBSD :-D

    Cmq se si vuole collaudare un’intera distro per il processore ARM , qui c’è un metodo più generale che descrive come installare una Debian su qemu che emula ARM ;-)

  11. X musikele ti straquoto il C fa schifo e le GTK fanno schifo, ma se fosse stato sviluppato con le QT (ops di piattaforme con le QT per i telefoni ce ne sono da un pezzo, in GPL e OpenSource) … cmq quello che voglio dire e che se GTK non avessero avuto a che fare con la cosa Pollycoke non ne avrebbe mai fatto cenno. L’unica volta che l’ho visto parlare di qualcosa legato a KDE ne ha parlato male e a sproposito pure.

  12. @musikele:
    ti definisci programmatore e nella stessa frase dici che “C è un linguaggio così complesso con trenta milioni di strutture e costrutti”… a parte la palese falsità della cosa, non pensi ci sia una forte contraddizione?
    Per tua informazione il C è un linguaggio a livello molto basso, appena sopra l’assembly, ideato per realizzare programmi portabili in grado di interfacciarsi direttamente con la macchina; non devi stupirti se lo usano per realizzare il kernel e molti programmi di sistema. Poi nessuno ti obbliga ad usarlo per i tuoi programmi, esistono molti linguaggi molto potenti ad alto livello, ognuno con il suo paradigma.
    Vige sempre il concetto che è sempre meglio impiegare l’attrezzo migliore per ogni specifico problema.

    In topic:

    aggeggio veramente molto interessante, ma spero che almeno preveda una funzione o un programma particolare (magari scritto in C) col quale sia possibile compiere telefonate… :)

  13. Il c secondo me è come la matematica:

    Molto preciso, rigoroso, chiede che anche la piu piccola virgola sia apposto o non funziona nulla.

    Eppure è di una potenza tale da far accapponare i capelli.

    La matematica non è per tutti, richiede impegno, cosi come il c.

    Ma una volta che la padroneggi puoi fare cose fuori dal mondo.

  14. A me si avvia e funziona cliccare col mouse ma non posso inserire nessuna scritta né con la tastiera né con altro… Inoltre non mi lascia inserire contatti in rubrica.

  15. @felipe

    ho provato uno dei prototipi per sviluppatori (quelli sopra le board per chi deve sviluppare a basso livello); okay: la versione finale non avrà un sacco di simboli di debug e le librerie saranno più “leggere” da caricare in memoria – ma non aspettarti assolutamente una velocità stratosferica. l’hardware è meno performante di una n800, ad esempio, e quelle non sono un “fulmine d guerra”.

    @musikele

    da nessuna parte è scritto che tu debba programmare (o saper programmare) in C; sul desktop ci sono millantamila linguaggi tra cui scegliere. su una piattaforma embedded, al contrario, pasticciare con python, perl, c# e compagnia cantante per qualunque cosa a parte un’applicazione (e con l’accortezza di scegliere un solo runtime environment per evitare di avere tre VM che girano) è una sonora cavolata (in questo senso, mono e parrot potrebbero essere una risposta ai problemi di memoria dei linguaggi semi-compilati). poi va da sé: il C è difficile, tu non lo conosci così bene, quindi ti fa schifo e ti chiedi perché una piattaforma scritta da gente che conosce il C faccia così tanto uso del C – ma come vedi è un cane che si morde la coda. ;-)

    @di me

    si, certo. il C fa schifo, le gtk+ fanno schifo e se tutti usassimo le qt il mondo sarebbe un posto migliore (per la trolltech, probabilmente). però adesso sciogliti il laccio così la pacca entra in circolo e ti ai una calmata.

  16. OT = i agree boitano….. uno strumento per ogni “lavoro” problema… il C si usa per fare determinate cose, gli altri linguaggi per fare altro… è un discorso universale, in ogni campo. Non si puo’ pretendere di costruire una casa con un unico cacciavite a stella :P

    fiko sto cellulare e sto software… vorrei provarlo ;)

  17. l’ho messo….bello, anche se effettivamente non è proprio velocissimo (ma a questo punto non sò quanto può centrare il pc….avendo un 3.4 ghz e 2 gb di ram…. speriamo in un futuro…più veloce ^^)
    Comunque richiede anche SDL o cocoa installati come dipendenze per la grafica

  18. grandioso! con le tue guide non si sbaglia quasi mai e si possono apprezzare facilmente alcuni aspetti di linux difficilmente apprezzabili altrimenti!!

    ora gioco con il mio openmoko virtuale!

    saluti!

  19. uhm….sono riuscito a farlo crashare… O_o
    o meglio, non andava più niente…. la cosa brutta è che non sò il motivo, stavo giocando con i contatti ed è s’è bloccato…riavviato qemu, riprovato e non l’ha più fatto…. ero già contento di aver trovato un bug da segnalare… :(

  20. Ma ‘na riveduta alla grafica? -_- 3 temi delle icone differenti, arancio+grigio cromato… -.- ‘Ste cose per chi dovesse giudicarlo solo dagli screenshot (e sappiamo che sono in tanti :P) contano…

  21. Un programmatore non può definirsi tale se non conosce il C…
    gli altri linguaggi sono solo giocattolini da lamer :)

  22. Interessante oggettino :) spero che il prezzo sia accattivante.

    Io conosco e amo il C/C++ (C# lasciamo stare) ma non credo che sia caratteristica necessaria per essere definiti programmatori.
    Se sai fare un programma allora puoi definirti programmatore, no?

    Marko->Saluti();

  23. Sono daccordo con Marko.
    Il problema è saper fare un buon algoritmo, poi lo si può implementare in qualsiasi linguaggio. Ciò non toglie che alcuni linguaggi sono strutturati per risolvere più facilmente una certa tipologia di problemi, o sono più efficienti….come il C!!!
    E pure io…. w il C!!!

  24. vorrei ricordare a tutti quanti che qemu sta emulando un’architettura differente sul pc, quindi non si possono fare raffronti (molto) attendibili sulla velocità dell’UI sull’aggeggio. in più, come ho detto, anche gli aggeggi sono lenti al momento per via dell’ambiente rivolto agli sviluppatori, più che agli utenti.

    @ferny

    le icone arriveranno prima della release; prima devono essere finalizzati alcuni dettagli della grafica. tanto saranno icone temabili, secondo la specifica icon-theme di freedesktop.org, e il tema è delle gtk+, quindi l’intero aspetto dell’UI sarà modificabile.

  25. oh, prima che me lo dimentichi: se il testo e le icone vi sembrano troppo “sgranati” tenete a mente che il display ha una risoluzione in punti per pollice pari al doppio del vostro schermo.

  26. Io arrivo fino alla schermata di calibrazione dello schermo. Poi non so come calibrarlo. Tu come hai fatto, felipe?

    Ciao

  27. si calibra semplicemente cliccando al centro delle crocette con il mouse
    come faresti se avessi un touchscreen da calibrare con lo stilo

  28. ma per installarlo su virtualbox? qualcuno sa illuminarmi?

    anche io sono innamorato di questo os e del telefono su cui verrà utilizzato, peccato per la mancanza del wifi secondo le anteprime… dovremo aspettare una seconda versione :(

  29. Il team sta avendo una serie di ritardi dovuti ad alcune imperfezioni dell’hardware, ma sembra che i ragazzi della FIC ci stiano lavorando.

    L’inizio della fase 1 (quella con i prototipi per gli sviluppatori in vendita a 350€) dovrebbe essere previsto per la fine del mese.

    Per quel che riguarda il WiFi, in concomitanza con l’inizio della fase 1 dovrebbero rendere note le caratteristiche dell’upgrade dell’hardware che realizzeranno a giugno.

    Visti i segnali positivi, con un po’ di fortuna a settembre dovremmo poterne acquistare una versione con WiFi integrato.

    Incrociamo le dita… ;)

    Bernardo

  30. A me va in kernel panic (QEMU, ovviamente… “not synching VFS – unable to mount root fs on unknown block(0,0)”): l’errore in avvio di QEMU è s3c_adc_write (bad register 0x8). Io però nel menù d’avvio ho solo “boot” e “factory reset” – stesso errore con entrambe le versioni… -, perchééé!? :'(

  31. come mai c’è bisogno del gcc3? considerando che è “vecchio” sai se prima o poi risolveranno il problema?

    P.S. per ArchLinux il pacchetto gcc3 è disponibile in community per chi fosse interessato.

  32. @ Federico, A. Moretti, anche a me dà quei problemi l’ultima versione svn. Probabilmente basterà aspettare il prossimo aggiornamento. ;-)

  33. ERROR: QEMU requires SDL or Cocoa for graphical output
    To build QEMU without graphical output configure with –disable-gfx-check
    Note that this will disable all output from the virtual graphics card.

    qualcuno mi sa dare una mano a risolve ‘sta cosa??sono un novellino di linux e faccio certi arrosti incredibili…

  34. Se vi lamentate della lentezza di boot provate ad avviare un cellulare Symbian S60 (tipo un nokia n70) e poi mi sapete dire.

  35. Ricordati di aggiungere che per chi ha problemi di cambiare i permessi di lettura e scrittura dei file download.sh e flash.sh.

    p.s. A me ha funzionato

    :)

  36. se qualcuno disgraziatamente non avesse una partizione di swap (come il sottoscritto) ne crei una o si crei un file di swap, altrimenti è facile incontrare problemi dal comando “openmoko/flash.sh”… lol…
    comunque grazie felipe ;)

  37. /etc/X11/Xserver: /etc/X11/Xserver: 104: fbset: command not found

    :/
    e poi
    xinit: connection refused (errno 111) , unable to connect to X server

    qualche consiglio?

  38. Bello peccato la lentezza dell’emulatore…
    Sarà mio appena diventerà più stabile e appena aggiungerà la wifi!
    ciao a tutti

  39. Comunque, per adesso, non é annunciato un modello di Neo 1973 che abbia connettività UMTS/HSDPA, e questo per uno smart phone incomincia a essere una limitazione abbastanza pesante, per gli utenti europei. Comunque sempre meglio dell’ Iphone.
    Erny
    http://www.ernyblog.com

  40. Figata!!!!!!!!! non credevo funzionasse sulla mia distro sputtanata. Una goduria per gli occhi
    grazie x la guida e confermo il

    dovresti aggiungere :
    #sudo apt-get build-dep qemu
    per le dipendenze

    suggerito da netG (#8)

  41. questo smartphone è veramente una bomba, lo si può ritoccare come si pare, meglio di così!

    @mikele o mikelele come si chiama…
    ……….io sono un calciatore, una volta ho dato un calcio a una palla con il mio piede destro

  42. Qualcuno sa un repo per fedora 7 dove trovare gcc-3??? Sto sbattendoci la testa da un bel pò!!!!!!!!!

  43. attenzione… lo script openmoko/download.sh va in errore dato che la dir sul server dove scaricare bios e compagnia bella e’ cambiata… occorre modificare il file openmoko/env e sostituire la riga
    download_dir=”http://buildhost.openmoko.org/tmp/deploy/images/”
    con
    download_dir=”http://buildhost.openmoko.org/snapshots/2007.04/images/”

    inoltre, per compilare tutto l’ambiente, ho anche dovuto fare
    sudo apt-get install zlib1g-dev libsdl1.2-dev

    per il resto, sembra andare a bomba!

  44. A me non compare la schermata di calibrazione, e sembra che il mouse non funzioni. Neanche Enter o Spazio sembrano fare effetto…

  45. @ Jepessen
    la guida è stata fatta per openmoko 2007.1
    ora c’è il .2 …. effettivamente anche io ho gli stessi tuoi problemi..

  46. sul wiki di openmoko.org mi sembra di aver letto che lo si puo avere come un prog nativo e non emulato con qemu

  47. Hi there to all, the contents present at this
    site are really remarkable for people experience, well, keep up the nice work fellows.

  48. I have to convey my respect for your kindness for all those that demand guidance on this one field.
    Your special commitment to passing the answer
    up and down has been extremely functional and has continually empowered many
    people just like me to accomplish their dreams. Your wonderful insightful data entails a lot to me and specially
    to my peers. Thanks a ton; from all of us.

Lascia un commento

Inserisci i tuoi dati qui sotto o clicca su un'icona per effettuare l'accesso:

Logo WordPress.com

Stai commentando usando il tuo account WordPress.com. Chiudi sessione / Modifica )

Foto Twitter

Stai commentando usando il tuo account Twitter. Chiudi sessione / Modifica )

Foto di Facebook

Stai commentando usando il tuo account Facebook. Chiudi sessione / Modifica )

Google+ photo

Stai commentando usando il tuo account Google+. Chiudi sessione / Modifica )

Connessione a %s...