|
Scritto da Rex Sanna
|
Liberamente tratto dal sito QtMoko. Buffo. È un pezzo scritto in inglese ma quello che fa, funziona in nuorese... Magie dell'informatica. Si parla di Openmoko e di come sia un cellulare libero. Libero significa che posso farci quello che voglio. Posso anche metterci un altro sistema, se mi va... Tra quelli che ho visto, scelgo di provare QtMoko. Una delle varie distribuzioni che puo' montare su... In fondo è quella che ha la lingua che conosco, quella delle montagne orgogliose di Barbagia. Non sembra difficile averlo sul PC E neanche creare direttamente il programma per Neo. Eppure mi sfugge qualcosa... Ad esempio... tu perche' non lo provi? :)
#!/bin/bash
#
# Questo script e' per Zero. Lui e' un processore AMD 32bit con 3599.81
# bogomips.. :)
# Pertanto alcuni accorgimenti potrebbero non essere necessari sul tuo
# computer (come usare 'nice')
#
# ==== Iniziamo..
#
# Prima di tutto e' importante indicare alcune variabili.
# Spero tu possa essre un computer sul quale in futuro compilare
# applicazioni per QtMoko
# Nel senso.. mi piacerebbe crearne.. pertanto..
#
SYSTEMWIDE="yes"
DESTINATION="/opt"
#
# = Prendere il compiler per ARM =
# Per un lavoro semplice, lavoreremo nella cartella /opt.
# Pertanto prendi il compiler per processori arm dal sito di Qt Extended.
# (E per favore non conservare il file compresso, usane solo il contenuto)
#
cd $DESTINATION
wget http://qtextended.org/downloads/toolchains/arm920t-eabi.tgz
tar xvzf arm920t-eabi.tgz
mv opt/* . && rm -rf opt
rm -f xvzf arm920t-eabi.tgz
#
# = Prendere QtMoko =
# Come al solito, per fare un tavolo.. ci vuole il legno..
# Per fare un programma ci vogliono i sorgenti..
# Recuperali dal server git di radek.
#
git clone git://github.com/radekp/qtmoko.git
#
# = Impostazioni di ambiente =
#
# Adesso sei potenzialmente in grado di utilizzare strumenti come arm-linux-gcc.
# Questo il compilatore che useremo per creare tutto quello che faremo
# girare su Neo. Per la corretta esecuzione dei comandi e' importante impostare
# alcune cose. Pertanto alcune variabili potrebbero essere aggiunte o modificate
# durante o dopo la compilazione. Alcune variabili potrebbero essere applicate a
# tutto il sistema.
#
## Roba Qtopia::
#
export QTOPIA_PREFIX=/opt/qtopia/build
export QTOPIA_DEPOT_PATH=/opt/qtopia/qtmoko
export QPEDIR=/opt/qtopia/build/image
#
## Prefissi::
export PKG_CONFIG_PREFIX=/opt/toolchains/arm920t-eabi/arm-angstrom-linux-gnueabi
export PKG_CONFIG_PATH=/opt/toolchains/arm920t-eabi/arm-angstrom-linux-gnueabi/lib/pkgconfig
export PATH=/opt/toolchains/arm920t-eabi/bin:$PATH
export LIBTOOL_SYSROOT_PATH=/opt/toolchains/arm920t-eabi/arm-angstrom-linux-gnueabi
export PKG_CONFIG_SYSROOT_DIR=/opt/toolchains/arm920t-eabi/arm-angstrom-linux-gnueabi
export PKG_CONFIG_PATH=$PKG_CONFIG_SYSROOT_DIR/lib/pkgconfig
## Cross-compiling:: Compilare per arm
export CROSS_COMPILE=arm-angstrom-linux-gnueabi
export LD_LIBRARY_PATH=$QPEDIR/lib
#export SXE_DISCOVERY_MODE=1
## Dispositivi Qtopia::
export QTOPIA_PHONE_DEVICE="/dev/ttySAC0:115200"
export QWS_MOUSE_PROTO="tslib"
export QWS_KEYBOARD="neokbdhandler"
export QTOPIA_PHONE_VENDOR=neo
export QWS_SIZE="480x640"
export QWS_DISPLAY=Transformed:LinuxFb:mmWidth44:mmHeight58:0
export TSLIB_TSDEVICE=/dev/input/event1
#
# = Modificare i sorgenti =
# Cosi' come puoi immaginare, io parlo italiano, non inglese, pertanto e'
# necessario tu aggiorni alcuni files..
# Necessito di creare una configurazione per un Nugoro Citizen.
#
### Radek non ha ancora aggiornato alcuni files, pertanto applico da me una
# patch.. :)
#
cd $QTOPIA_PREFIX
mkdir -p i18n/it_IT
mkdir -p i18n/nu_IT
echo "Lingua Italiana" >i18n/it_IT/DESCRIPTION
cat > i18n/it_IT/.directory << EOF
[Translation]
File=QtopiaI18N
Context=Italian
[Desktop Entry]
Name[]=Italiano
EOF
echo "Limba Nugoresa" >i18n/nu_IT/DESCRIPTION
cat > i18n/nu_IT/.directory << EOF
[Translation]
File=QtopiaI18N
Context=Nugoresu
[Desktop Entry]
Name[]=Nugoresu
EOF
#
# = Impostare il sistema =
# Prima di iniziare la compilazione sarebbe utile rimuovere la lingua inglese.
# Non la usero' se posso usare la mia, non credi?
#
cat > devices/neo/configure-common << EOF
#
# Questo dispositivo utilizza un'interfaccia 'mobile'
#
-ui-type mobile
#
# Attivo alcune cose:
-dynamic-rotation
-ssl
-dbus
-libamr
-pictureflow
#
# Useremo la lingua nostra!
-languages it_IT,nu_IT
#
# FIXME Enable this once it actually works
#-add-mediaengine gstreamer
# Abilitiamo alcune cose con i moduli:
#
-add-mediaengine cruxus
-add-module bluetooth
-add-module cell
-add-module connectivity
-add-module devtools
-add-module essentials
-add-module games
-add-module inputmethods
-add-module location
-add-module media
-add-module messaging
-add-module pim
-add-module pkgmanagement
-add-module telephony
-add-module ui
#
# Configurazione del display
#
-add-displaysize 480x640
# Alcuni caratteri sembrano giganteschi! Usiamo caratteri a partire dalla
# dimensione 8
#
-add-font dejavu_sans_condensed:8,10,12,13,16,28:50
-add-font dejavu_sans_condensed:8,10,13,14,15,16,20,21,23,32,36:75
EOF
#
# = Ora di configurare =
# E' ora di configurare Qt. O meglio, di eseguirne il suo script.
# Credo sia ora ti inizi a meritare la tua banana, Zero..
#
$QTOPIA_DEPOT_PATH/configure -device neo -D _FORTIFY_SOURCE=0 -confirm-license -verbose
#
# = Ora di fare.. =
# Dopo che lo script di configurazione avra' finito, sarai pronto per compilare..
#
nice -n -10 make
#
# = Ora tocca a Neo =
# Sei troppo forte, Zero. Ora non ti resta che creare l'ambiente SDK e
# l'immagine per Neo!
# Procediamo da prima all'installazione dell'ambiente di sviluppo.
#
nice -n -10 make sdk
#
# Prima di creare una nuova immagine, pero' devi assicurarti di stare utilizzando
# i corretti files di traduzione. Ho messo quei files nella mia cartella
# (Spero che questo trucchetto non debba essere utile a lungo. :) )
#
tar xvzf ~rex/qtmoko-italiano-1.0.tar.gz
tar xvzf ~rex/qtmoko-nuorese-1.0.tar.gz
#
# = Ora di creare l'immagine =
#
nice -n -10 make image
### Finished!
#
# Ok Zero. Ecco la tua banana.. :)
# Ricordami di ricordare che NON POSSO ESEGUIRE i files presenti nella cartella
# $QPEDIR perche' essi sono validi solo per Neo.
#
# E adesso.. ?
# Dimenticavo..
#
# Sarebbe una cosa bellissima se installassi direttamente la nuova immagine s
# Neo, una volta finito. In fondo, tutto questo e' per lui.. :)
#
cd $QPEDIR
cd ..
cp -Rf $QPEDIR qtmoko
tar cvzf QtMokoRegis.tar.gz qtmoko
scp QtMokoRegis.tar.gz root@neo:/opt
ssh root@neo tar xvzf /opt/QtMokoRegis.tar.gz -D /opt -overwrite
ssh root@neo shutdown -r now
rm -rf qtmoko
#
# Bella!! ;)
#
|
|
Ultimo aggiornamento Giovedì 17 Giugno 2010 09:21 |