Qtmoko
Qtmoko est l'une des distributions pouvant être installée sur le Neo Freerunner.
Basée sur Debian (ou FSO) et QtExtended, elle est orientée vers un usage de type smartphone.
- Site du projet
- qtmoko.org (wiki)
- Version actuelle (avril 2011) : Qtmoko v35
Sommaire |
Captures d'écran
Installation
Les téléchargements sont ici :
- https://sourceforge.net/projects/qtmoko/files/
- miroir : ftp://alionet-repository.no-ip.info/Linux/OpenMoko/freerunner/QTMoko/
- Deux choses à savoir
- Qtmoko existe en 2 versions :
- l'une basée sur Debian (recommandée)
- l'autre basée sur FSO (non fonctionnelle)
- Sur le Neo Freerunner, il est possible d'installer une distribution à 2 endroits distincts :
- cas n°1 : dans la mémoire (NAND) du Freerunner (téléchargez 2 fichiers : l'image et le kernel)
- cas n°2 : sur une carte mémoire micro-SD (téléchargez seulement l'archive au format tar.gz)
Les deux procédures sont très bien décrites (mais en anglais, quelqu'un serait motivé de traduire en français?) sur le wiki de qtmoko à cette adresse :
http://sourceforge.net/apps/mediawiki/qtmoko/index.php?title=Installation
- Remarque
- Pour le cas n°2, consultez au préalable la page Préparer une carte SD si vous ne savez encore pas le faire.
Les petites configurations à faire
Configuration du swap
Si vous avez créé deux partition sur votre sd depuis votre pc via fdisk, il faut éditer /etc/fstab et changer la ligne concernant le swap qui est en
/dev/mmcblk0p4
qui signifie donc qu'il utilise la 4 ème partition pour le swap, remplacez le par
/dev/mmcblk0p2
Configuration de l'usb
Voir dans le wiki la partie sur la configuration pour une connexion usb (deux configurations possibles)
Ajout des utilisataires mkfs-jffs2 pour faire la sauvegarde
apt-get update apt-get install mtd-utils
En suite il faut tricher, en effet le script neotool vérifie via opkg que mkfs-jfss2 est installé, sauf que opkg n'est pas installé sous debian... on fait donc:
whereis neotool
et on édite le fichier en root par exemple:
geany /usr/bin/neotool
et on commente les lignes 481 à 484 de la sorte:
#if [ -z "`ssh root@$FRIP 'opkg status mkfs-jffs2'`" ]; then # zenity --error --text 'prerequisite mkfs-jffs2 is not installed on the device! \n\n do "opkg install mkfs-jffs2" and try again.' # return #fi
Mettre un mot de passe root
Il est fortement conseillé de mettre un mot de passe root pour protéger un minimum votre freerunner. Pour ça ouvrez un terminal puis tapez:
passwd
puis entrez votre mot de passe.
configurer la date et l'heure rapide en terminal
Il faut d'abord régler le fuseau horraire:
apt-get install tzdata-europe ln -sf /usr/share/zoneinfo/Europe/Paris /etc/localtime
IL faut aussi dans la partie qtopia basculer en paris
puis définir la date et l'heure via:
date MMDDHHmmAA
où MM est le mois, DD le jour, HH l'heure, mm les minutes et AA l'année, tous sur deux chiffres. Par exemple, pour passer au 30 août 2004 à 11h23, la commande est, en tant que root :
date 0830112304
Rajouter un raccourcis vers sa carte sd pour la musique
Depuis le freerunner: En partant du principe que sur votre carte SD vous avez un dossier datas/:
cd /home/root/Documents ln -s /media/card/datas/ ./sdCard
La musique doit être placée dans /media/card/datas/audio/mpeg (pour les mp3)
Créer un fichier de swap
Sous Qtmoko, dans le terminal, créer un fichier de swap sur la carte µSD :
créer un fichier vide avec dd (ici de 128mo) :
dd if=/dev/zero of=/path/to/swapfile bs=1M count=128
préparer le swap :
mkswap /path/to/swapfile
l'activer :
swapon /path/to/swapfile
Si vous voulez que ça persiste, il faut soit refaire le swapon swapfile à chaque boot, soit modifier le fichier /etc/fstab pour qu'il ressemble à :
# /dev/mmcblk0p4 swap swap defaults 0 0 .... /path/to/swapfile swap swap defaults 0 0
Les petits Bobos
La carte Sim n'est pas reconnue
Il est vraisemblable que la manière dont on met en place la carte sim dans son logement a des conséquences sur le fait que QT reconnait ou pas la carte. Fait déjà constaté : une fois la carte sim positionnée et le carter métallique "locké", le fait de repousser la carte (dans l'autre sens de la translation qui a été nécessaire pour "locker" le carter) permet vraisemblablement à Qtmoko de mieux reconnaître la carte.
GPG Error pkg-fso
Il se peut qu'au premier apt-get update vous ayez l'erreur suivante :
W: GPG error: http://pkg-fso.alioth.debian.org unstable Release: The following signatures couldn't be verified because the public key is not available: NO_PUBKEY E2B9DE6A8E7B323B W: You may want to run apt-get update to correct these problems
Voici la solution :
apt-get install pkg-fso-keyring && apt-get update
Le screen clignote après changement de résolution
A faire pour gagner en stabilité d'affichage ==> n'est plus nécessaire à partir de la V15 :
Editer le fichier suivant depuis le freerunner
/etc/fb.modes
Et remplacer par:
mode "vga" geometry 480 640 480 1280 16 timings 40816 8 16 2 16 8 2 rgba 5/11,6/5,5/0,0/0 endmode mode "qvga" geometry 480 640 480 1280 16 timings 100000 8 16 2 16 8 2 rgba 5/11,6/5,5/0,0/0 endmode
Les petites Astuces
Importer ses contacts
Voir la page Importer un carnet_d'adresses
Transférer des fichiers
Voici quelques méthodes pour transférer des fichiers en votre neo et un ordinateur.
- Par USB en mode "clé USB"
- aller dans "Devtools"
- sélectionner "USB mass storage on"
- brancher le cordon USB => le neo est détecté comme un périphérique de stockage type clé USB
- sélectionner "USB mass storage off" dans "Devtools" une fois terminé
- Par USB avec la commande scp (depuis l'ordinateur vers le neo, remplacez les chemin de l'adresse IP) :
scp /chemin_PC/fichier root@192.168.0.202:/chemin_Neo/
- Par Wifi (mail, site web, ...) <a compléter>
- Par bluetooth <a compléter>
- Par carte micro SD <a compléter>
Le son est trop faible !
Pas de problème. Une solution existe !!
Par l'interface graphique : régler les niveaux dans Main menu > Applications > NeoControl > Call Volume settings
Autre méthode : il suffit de remplacer les scénarios alsa gsmhandset et gsmheadset par ceux d'une SHR unstable. C'est ti' pas Beautiful ???
Pour changer de sonnerie...
Par l'interface graphique :
- définir une sonnerie par contact : Main menu > Contacts > ouvrir le contact > Edit > Ringtone (dernier onglet)
- définir une sonnerie par groupe : Main menu > Contacts > Show groups (via le menu) > Set group Ringtone (via le menu)
- définir une sonnerie par profil : Main menu > Settings > Profiles > choisir un profil > Edit (via le menu) > Tones
Autre méthode : vous trouverez les fichiers à remplacer ici : opt/qtmoko/etc/SystemRingTone
Activer le "DeepSleep" et le "Multiplexing"
Pour ceux qui ont un Freerunner Autonofixer (Bug #1024), pour activer le DeepSleep ainsi que le "Multiplexing" (utilisation du GPRS et du GSM en même temps pour pouvoir recevoir un appel pendant un surf), il suffit de :
- lancer neocontrol (dans les applications)
- faire "next" jusqu'à la page "modem settings"
- cocher les cases
- éteindre et redémarrer le neo
Autre méthode : éditer le fichier /opt/qtmoko/etc/default/Trolltech/Modem.conf de la manière suivante :
[DeepSleep] Active=always #<--default never [Multiplexing] Active=yes #<--default no
Ajout d'applications pour Qtmoko
Il est possible d'ajouter des applications supplémentaires à celles de la distribution (pour celà il faut un accès au WEB depuis le FR).
Pour cela, faites :
- Main menu > Settings > Software Packages
- Onglet Downloads
- Menu > Connect > QtMoko
En voici une liste :
- Arora : Web browser fonctionnel !
- Codecs : Sert à lire le mp3 dans la distrib. On peut supprimer le paquet après installation des codecs
- Keyboard-skin-silver : Avoir un clavier chromé ?
- Keyboard-russian-abc : Un clavier russe ?
- Eyepiece : Lecteur de pdf
- Keypebble : Un client VNC
- Mqutim : Un client de méssagerie instantanné qui supporte ICQ, Jabber et Gtalk
- Noxchat : Client IRC
- Qalsamixer : De quoi régler le volume du neo
- Qgoogletranslate : Un traducteur
- Qtpedometer : Un podomètre qui utilise le GPS
- Shopper : Faire sa liste de course
- QSolitaire : un solitaire :)
- neronGPS: un équivalent à tango gps mais sans serveur X.
- QMokoPlayer: un player multimedia pour qtmoko. Cette première version permet d'écouter des webradios. :)
Liste complète : http://qtmoko.sourceforge.net/apps/
Il est également possible d'ajouter des applications Debian avec Settings > R(apt)or
Ajout d'applications qui nécessitent un serveur X
Il est possible de lancer des applications qui nécessitent le serveur X grâce à l'application QX Applications > Qx. Celà nous permet de bénéficier d'un panel d'applications encore plus grand. Oui, les applications "natives" ou "portées" ne foisonnent pas mais çà ne saurait tarder ;)
navit a été intégré aux dépots debian testing et unstable, il suffit donc d'ajouter à /etc/apt/sources.list
deb http://ftp.de.debian.org/debian testing main
Pour éviter de passer à testing pour tous les packages, on va créer un fichier /etc/apt/preferences pour qu'apt utilise les dépots testing que si il n'y a pas de version du logiciel disponible dans le dépôt stable. Voici ceux à quoi il doit ressembler
Package: * Pin: release o=Debian, a=stable, l=Debian Pin-Priority: 800 Package: * Pin: release o=Debian, a=testing, l=Debian Pin-Priority: 400
Ensuite faire :
apt-get update apt-get -t testing install libdbus-glib-1-2 libgps19 libfontconfig1 apt-get install navit flite
Navit utilise un fichier de config navit.xml, qui se trouve par défaut dans /etc/navit/. Bien que le FR n'ait pas de raison d'avoir plusieurs utilisateurs, c'est plus propre de copier ce fichier dans ~/.navit/
mkdir .navit cp /etc/navit/navit.xml ~/.navit/
Il faut savoir aussi que le home de root en ssh est /root/ et que celui du root sur le FR est /home/root/ On va donc faire un lien entre les deux dossiers .navit :
ln -s /root/.navit/ /home/root/
Pour finir, il faut lancer Qx, et gérer les favoris pour faire afficher l'icône de Navit dans Qx : Menu > Favourites > "Cocher Navit"
Navit apparait dans la liste, le sélectionner puis : Menu > Settings"
Dans "initialization script", inscrire "gpsd /dev/ttySAC1" (sans les guillemets)
Ensuite, cocher:
- Prevent Suspending
- Prevent Dimming
- Use window manager
- Enable GPS module
Si Navit ne fixe pas le gps même après un long moment, il se peut que le démon gpsd ne soit pas installé, dans ce cas il faut l'installer:
apt-get install gpsd
Voilà, c'est prêt. Y'a plus qu'à sélectionner Navit > Menu > Launch
Merci à Gand' voir le sujet dans le forum.
Pour plus de réglages, je vous invite à consulter la page Navit du wiki
Il est aussi possible de consulter la page (en anglais) dédié à navit sur le wiki QtMoko.
TangoGPS
déjà installé <a compléter>
Le saviez vous?
Cette catégorie rescence des astuces et fonctionnement de la distrib qu'on ne voit pas forcément
Différentes méthodes de saises
Qtmoko propose au moins 4 méthode de saisie :
- reconnaissance d'écriture
- clavier par défaut (glisser à la verticale pour basculer entre majuscules / minuscules / chiffres / autres)
- un équivalent au clavier terminal (avec pavé numérique masquable via le rectangle vert)
- un clavier plus gros mais basique
Il faut passer par le menu > "change input method" pour passer de l'une à l'autre
Multitâche
On peux basculer d'une application à l'autre en appuyant sur le bouton AUX.
Un appui long sur AUX ouvre même un menu "task manager". Quand tu sélectionnes une tâche en restant appuyé dessus, un menu s'ouvre permettant de la tuer si elle est plantée.
fast load
Cette astuce vous permet de lancer instanément une application. En fait l'application est chargé au lancement et reste en mémoire. Pratique pour laisser continuellement une application à laquelle vous accédez souvent. Pour cela sélectionnez un programme (sans le lancer) puis cliquer sur la liste avec la flèche jaune vers le haut en bas puis cochez fast load.
Ajouter un réseau wifi
Allez dans le menu settings (clef + tourne vis croisé) => internet.
Passage à ne faire qu'une seule fois pour rajouter la carte wifi
- Cliquez sur le bouton gauche en bas (le bouton menu) puis New
- Sélectionnez Wireless LAN
Passage à faire pour chaque Point d'accès wifi
Si vous avez rajoutez la Wireless LAN et que vous êtes sur le menu internet, selectionnez wireless LAN puis cliquez sur propriété, si vous venez juste de rajouter Wireless LAN vous êtes déjà dans le menu propriété.
- Accout: rien à faire ici, sauf changer le nom qui va s'afficher sur le menu internet si vous le souhaitez.
- Wireless Networks: c'est ici que vous allez rajouter vos réseaux wifi (ESSID en général), Pour cela cliquez sur la feuille avec un + (à côté de la poubelle puis entrez l'essid de votre réseaux wifi (son nom)).
Vous pouvez éventuellement entrer un nickname, vous pouvez forcer un débit si vous le souhaitez. La ligne acces point contiendra l'adresse mac de votre point d'accès, mais elle se remplira automatiquement à la connexion.
- Ip settings: rien à faire ici sauf si vous souhaitez forcer une adresse ip et désactiver le dhcp
- Proxy settings: configuration du proxy si besoin
- Wireless Encryption: vous permet de configurer la clef le type de sécurité (open WPA Etc): pour cela
Sur la première ligne sélectionnez l'essid de votre réseau, puis choisissez la sécuritée et remplissez les champs de manière adéquate.
Cette partie est à faire pour chaque point d'accès ou vous voulez vous connecter.
Connexion
Pour vous connecter, revenez sur le menu internet puis selectionnez Wireless LAN puis cliquez sur start. Si tout se passe bien il doit passer en "online" et vous voilà connecté au wifi. :)
Compilation, développement, traduction
En vrac
Pour créer, vous pouvez utiliser Qt Creator
Compilation et développement
Prévoir 5/6h devant soi... Pour cette exemple la compilation sera faite dans un repertoire freerunner de votre home car en général on n'a pas énormément de place sur la partition racine. Nous partons donc du principe que le fichier/home/user/freerunner existe. (remplacez user par ce que vous voulez)
su mkdir -p /home/user/freerunner/build_qtmoko cd /home/user/freerunner/ git clone git://github.com/radekp/qtmoko.git cd qtmoko git submodule init git submodule update
Nous avons maintenant récupéré les sources, et nous avons un qtmoko dans /home/user/freerunner/
Récupérons le toolschain nécéssaire à la crosscompilation
cd /opt echo "export QTOPIA_DEPOT_PATH=/home/user/freerunner/qtmoko" > setpaths echo "export QPEDIR=/home/user/freerunner/build_qtmoko" >> setpaths . setpaths wget http://qtextended.org/downloads/toolchains/arm920t-eabi.tgz tar xzvf arm920t-eabi.tgz mv opt/toolchains ./ rm -rf opt
Le . /opt/setpaths sera à faire à chaque fois que vous ouvrez un nouveau terminal. (vous pouvez le rajouter dans la définition de votre terminal si vous le souhaitez
Créons l'image et le sdk nécéssaire à la cross compilation (Etape longue! cela peut prendre plus d'une heure pour le make, jusqu'a 2h pour le make image et 20/30 minutes pour le build sdk)
cd /home/user/freerunner/build_qtmoko user [/home/user/freerunner/build_qtmoko] : ../qtmoko/configure -device neo -D _FORTIFY_SOURCE=0 -rtti -confirm-license user [/home/user/freerunner/build_qtmoko] : make user [/home/user/freerunner/build_qtmoko] : make image user [/home/user/freerunner/build_qtmoko] : bin/qbuild sdk user [/home/user/freerunner/build_qtmoko] : ../qtmoko/configure -device neo -D _FORTIFY_SOURCE=0 -rtti -confirm-license
Si vous voulez mettre à jour qtmoko côté freerunner (sans le noyau juste le framework qtextended)
scp -r $QPEDIR/image/* 192.168.0.202:/opt/qtmoko
Et c'est bon maintenant on peut développer
Crer un repertoire /home/user/freerunner/build_qtmoko/myapps. Copier l'application example fournie par le SDK et renommez-là en quelque chose qui a du sens (Qu'est-ce que vous diriez de "Exemple" ?). Créer le Makefile et construire l'example.
mkdir /home/user/freerunner/build_qtmoko/myapps cd /home/user/freerunner/build_qtmoko/myapps cp -R $QTOPIA_DEPOT_PATH/examples/application . mv application example cd example $QPEDIR/bin/qbuild
Maintenant vous avez un executable qui s'appelle example (Wahou!). Il ne s'exécutera pas sur votre PC alors copiez-le dans votre FreeRunner, importez les variable d'environnement qpe et executez l'appli.
desktop# scp example root@freerunner:/home/root root@192.168.0.202's password: example 100% 33KB 33.4KB/s 00:00 desktop# ssh 192.168.0.202 root@freerunner's password: freerunner:~# . /opt/qtmoko/qpe.env freerunner:~# chmod +x example freerunner:~# ./example
(ou vous pouvez aussi le lancer depuis le freerunner en ouvrant un terminal et en faisant juste ./example)
Voici ce que vous pourrez observer :
en suivant la partie de qtextended:
http://openmoko-fr.org/wiki/index.php/Qt-extended-improved
La résolution de qtextended disponible sans fullscreen est de:
480*500
Traduction
http://qtmoko.org/wiki/Translations (attention c'est supra long!)