È 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:
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:
L’avvio con lo spash screen, comincia la salivazione
Il bootloader (AUX è Invio, Power è Spazio). Ovviamente la versione finale non avrà niente del genere (spero!)
Il kernel si avvia e gli script fanno un po’ di controlli, notare le ultime scritte :)
Parte la grafica e ci viene chiesto di calibrare lo schermo
Ecco come si presenta l’interfaccia del “telefoninux”
L’utilità “Contacts” e la tastiera on-screen
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 ;)
Che figata!
Finalmente un cellulare che si può sistemare come ci aggrada e pure pieno di roba e di opzioni!
si può installare nei cellulari nokia? :D
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!
spetta un po, ma io per accenderlo e fare una telefonata dovrei subirmi tutta quella ambaradam?
eh si immagino che il tempo di avvio non sarà dei migliori….
*sbava sulla tastiera*
O.O
Lo voGGhio!
*sbav*sbav!!!*
dovresti aggiungere :
#sudo apt-get build-dep qemu
per le dipendenze
grandioso! lo provo subito
Per mettere la mia scheda wind che kernel ci vuole?
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
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.
“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. ;-)
ma con il gcc 4 nn va ?
@netG:
sarebbe una figata qualcosa in stile oxygen…però anche tango non sarebbe male… ^^
@dario: no, le versioni recenti hanno problemi con gcc 4.x – tant’è che se configure se ne accorge, te lo segnala.
non funzionerà mai in italia.
SBAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAV
ok ho spammato anche io…. notte….
@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
@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
@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 ;-)
@netG #8:
Giusta osservazione, ora integro, grazie :)
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.
@Di ME:
Sicuramente ti devono essere sfuggiti tutti i miei post in cui segnalo tutte le spettacolari novità di KDE 4: http://pollycoke.wordpress.com/tag/zapping-tra-i-tag/ambiente-desktop/kde4/
Strano che tu non li abbia notati, perché scrivo di KDE spessissimo e con toni entusiasti, forse mi hai confuso con qualcuno?
Ma in Italia arriverà mai o… :'(
@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… :)
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.
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.
@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.
Che ganzata
BELLISSIMO , se mi lasciano fare quello che mi pare al software ne prendo 1 !
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 ;)
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
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!
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… :(
Pingback:Top Posts « WordPress.com
@felipe:
11° nella top…. bè… complimenti :)
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…
Sì, ma la domanda spontanea è: dove lo trovo questo cellulare? Lo VOGLIO!! ;_;
ancora non è uscito..devi pazientare
Un programmatore non può definirsi tale se non conosce il C…
gli altri linguaggi sono solo giocattolini da lamer :)
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();
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!!!
Installato. Certo non è molto reattivo.
Ho provato a chiamarmi a casa, ma non c’ero :P
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.
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.
Giusto per la cronaca…. non sarà l’unico smartphone linux based nei prossimi mesi:
http://www.engadget.com/2007/04/10/palm-prepping-its-own-linux-based-os/
MA forse sarà il più aperto!!! (sperando che il design dell’hardware cambi un po’ … non è che mi faccia impazzire -.-)
MIAO!
Molto bello! Troverò un sistema per comprarlo… [risata satanica]…
Io arrivo fino alla schermata di calibrazione dello schermo. Poi non so come calibrarlo. Tu come hai fatto, felipe?
Ciao
si calibra semplicemente cliccando al centro delle crocette con il mouse
come faresti se avessi un touchscreen da calibrare con lo stilo
Pingback:Installare OpenMoko sulla propria Ubuntu box
http://www.ossblog.it/post/2347/installare-openmoko-sulla-propria-ubuntu-box
;-)
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 :(
@Attila
Installi Ubuntu su VirtualBox e poi segui la guida del buon Felipe?
ma il neo1973, secondo la roadmap di openmoko non doveva già essere commercializzato sul sito? non trovo nulla.. :-?
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
are u from spain? can speak english?
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ééé!? :'(
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.
@ Federico, A. Moretti, anche a me dà quei problemi l’ultima versione svn. Probabilmente basterà aspettare il prossimo aggiornamento. ;-)
Ah OK… eheheh, l’ho pensato anche io… infatti sto cercando d’aggiornarlo una volta al giorno ma l’è istess… :)
Grazie! ^^
Ottimo… con l’ultimo aggiornamento dell’SVN è tornato a funzionare… :P
Pingback:openmoko « [LINUX PIRATES]
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…
risolto
come???????
Ci sono riuscito , bastava un bel apt-get install libsdl-gfx1.2-dev
Pingback:di “basso rilievo” » Blog Archive » links for 2007-05-18
Pingback:Neo1973 vs. Greenphone « PippaMentis
Pingback:Telefono con linux?? si puo!
Se vi lamentate della lentezza di boot provate ad avviare un cellulare Symbian S60 (tipo un nokia n70) e poi mi sapete dire.
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
:)
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 ;)
Pingback:Emulando OpenMoko « beGNU
/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?
Bello peccato la lentezza dell’emulatore…
Sarà mio appena diventerà più stabile e appena aggiungerà la wifi!
ciao a tutti
Pingback:Ernyblog | Open Moko l’anti Iphone prossimo venturo.
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
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)
Pingback:OpenLOL » Blog Archive » Openmoko W.I.P. (Giorno 1) - Guida: montare e modificare Openmoko
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
Qualcuno sa un repo per fedora 7 dove trovare gcc-3??? Sto sbattendoci la testa da un bel pò!!!!!!!!!
Pingback:El Laboratorio del Dr. Yuri » Blog Archive » OpenMoko en QEMU
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!
Pingback:E voi, siete pronti alla “rivoluzione” mobile? « Panique M�diatique
quanto sono innamorato di questo gioiellino….XD
A me non compare la schermata di calibrazione, e sembra che il mouse non funzioni. Neanche Enter o Spazio sembrano fare effetto…
@ Jepessen
la guida è stata fatta per openmoko 2007.1
ora c’è il .2 …. effettivamente anche io ho gli stessi tuoi problemi..
sul wiki di openmoko.org mi sembra di aver letto che lo si puo avere come un prog nativo e non emulato con qemu
@ hackerino93, link?
Pingback:Test » Blog Archive » Openmoko W.I.P. (Giorno 1) - Guida: montare e modificare Openmoko
Pingback:iPhone è nato vecchio: il futuro si chiama Freerunner | AleksFalcone.Org