Android
Sommaire |
Introduction
Android est une distribution pour mobile open source développée par Google. Le premier téléphone exploitant ce système est le HTC Dream G1 [1]. Du fait de sa licence ouverte, quelques semaines ont suffit à porter se système sur le Freerunner.
Ce wiki est en cours d'écriture, vous pouvez vous référer à la page Anglaise [2]
Configurer le boot loader
Status des différentes versions
Android a été déplacé et tout le travail de koolu et mickael a enfin été fusioné. Voici l'endroit ou il faut télécharger les builds: http://code.google.com/p/android-on-freerunner/downloads/list
Installation
Installation simplifiée
Depuis la Beta 4, l'installation, à partir d'une SDCard, sur la mémoire interne du téléphone, s'est largement simplifiée :
- partitionnez votre SDCard pour avoir une première partition de ~150 Mo en FAT16, ensuite, ce que vous voulez (d'autres partitions)
Pour cela faites un fdisk -l sans votre carte sd afin de savoir qui est quoi. Rajouter votre carte sd refaites un fdisk -l. Le périférique rajouté est votre sd. Faites donc fdisk /dev/sdx (pour moi c'est sdb) correspondant à votre sd. Ne vous trompez pas sans quoi vous perdriez tout votre contenu d'une partition si jamais vous vous trompez.... une fois là faites:
"d" puis entrée, soit il n'y a qu'une seule partition et il ne vous demande pas le numero de partition, soit il y en a plusieurs et vous faites d 1 puis d 2 etc... //ceci afin de supprimer la partition existante ==> toutes vos données seront perdues sur la sd! "n" entrée puis "p" entrée puis "1" il vous demande alors la partition de début faites entrée, il vous demande la partition de fin faite entrée pour qu'il prenne la totalitée
finissez par "w" puis entrée. Ayé c'est fini pour fdisk vous pouvez alors quitter par q. Ensuite il vous faut formater la carte en fat via:
mkfs.vfat /dev/sdX1
- décompressez dessus la dernière version que vous trouverez sur cette page (en zip OU en tar)
cd /media/disk (placez vous sur la carte sd
puis:
tar xzmof /home/user/Téléchargements/freerunner/Androïde/android-freerunner-koolu1.0-beta-7.tar.gz (chemin ou est placée votre image)
- NAND-bootez dessus (AUX puis Power), puis selection du boot sur la SDCard via la touche AUX et GO par la touche Power
A partir de là, tout va s'installer tout seul et va booter ensuite tout seul. Bienvenue sous Koolu-Androïd !
Le problème à ce niveau est que Android s'installe sur la mémoire interne du Freerunner, accompagné de Qi à la place de uBoot. Or Qi ne permet pas, contrairement à uBoot le multi Boot actuellement (à part sur la première partition bootable sur la SD Card). Ainsi, vous ne pouvez plus booter (actuellement) sur d'autres distributions (à part la première sur SD card) (à part par le NOR Menu). Mais bon, l'intérêt est limité car dès que vous avez UNE partition bootable sur la SD Card, elle est bootée(?) par Qi...
Les commantaires qui suivent sur la beta7 sont en grande partie valable pour la build 49 à l'heure actuelle.
<==========================================OLD====================================>
Beta 7
La Beta 7 est la première version de Koolu-Androïd que je test et elle est impressionante!
Pour moi, le Wifi (cryptage WEP) a marché du premier coup via l'interface graphique. Du coup, j'ai pu tout de suite tester tout ce qui était fonctionnalité internet.
Le logiciel de mail marche bien, très facile à configurer, tout de suite fonctionnel et agréable à utiliser.
Le navigateur web est le meilleur que j'ai jamais vu tourner sur freerunner et se rapproche de l'équivalent sous iPhone : zoom facile dans les deux sens, boussole pour se repérer et se déplacer rapidement dans la page web. Du coup, j'ai pu tester les GoogleApps (GMail, GDocs). GMail est bien. GDocs, bof. GNotes n'est pas proposé.
Le clavier : Il apparait en apuyant sur Power, puis en cliquant sur l'icone qui apparait en bas. Il peut disparaitre en cliquant sur le bouton en bas à droite (Cool!). Sur certaines pages, il est très réactif, sur d'autres moins, en particulier quand on saisi des mots de passe où la saisie est convertie en '*'. Il prend de la place (car le clavier est très complet), mais en général, la zone de saisie est déplacée vers le haut.
Pour l'instant le téléphone ne marche pas (malgré le fait que j'ai tapé le code PIN) mais je n'ai pas creusé (bug connu?).
Attention, en voulant mettre à jour le programme d'installation d'applications (AndAppStore 1.2.3), la dernière version plante et impossible de revenir en arrière pour pouvoir essayer de revenir à la version précédente ou d'installer d'autres applications! => Reinstall! Le plus bète, c'est que la version 1.2.3 est la version déjà installée! :-~
Sinon, énormément d'applications disponibles à tester...
Excellent : Lightning pour savoir à quelle distance est un orage en indiquant le temps entre l'éclair et le tonerre. 2 icones. Bien fait. Fun et pédagogique.
A Suivre...
Récupérer une image
Prendre La beta3 d'android, depuis le site de Koolu et le kernel qui va avec
Construire une image depuis les sources Koolu
1. Tout d'abord, installer :
- Java JDK 5.0
- flex
- pour ubuntu Hardy (il y a surement des choses inutiles) :
sudo apt-get install build-essential flex bison libasound2-dev libaudiofile-dev libesd0-dev libjack0.100.0-dev libaudio-dev libcapi20-dev \ liblcms1-dev libcupsys2-dev libsane-dev libfreetype6-dev fontforge freeglut3-dev libexpat1-dev libfontconfig1-dev libgcrypt11-dev \ libglib1.2-dev libglib2.0-dev libgnutls-dev libgpg-error-dev libice-dev libieee1284-3-dev libjpeg62-dev libldap2-dev libltdl3-dev \ libmad0-dev libmng-dev libncurses5-dev libogg-dev libpng12-dev libqt3-mt-dev libsm-dev libtasn1-3-dev libusb-dev libvorbis-dev \ libx11-dev libxcursor-dev libxext-dev libxft-dev libxi-dev libxml2-dev libxmu-dev libxrandr-dev libxrender-dev libxslt1-dev libxt-dev \ libxv-dev x11proto-render-dev unixodbc-dev x-dev zlib1g-dev libxxf86dga-dev libxxf86vm-dev libungif4-dev libssl-dev libgphoto2-2-dev
- gperf
- Etre sûr de la présence d'un répertoire ~/bin (dans son home) et qu'il soit présent dans la variable $PATH :
mkdir ~/bin echo $PATH
2. Ensuite, récupérer mkImage :
cd ~/bin wget ftp://ftp.koansoftware.com/public/linux/mkimage/mkimage chmod +x mkimage
Puis le script "repo":
curl http://android.git.kernel.org/repo > ~/bin/repo chmod a+x ~/bin/repo
3. Créer un repertoire vierge mydroid dans votre home
mkdir ~/mydroid cd ~/mydroid
4. lancer l'initialisation du script "repo" pour récupérer une image de l'arbre avec les dernières corrections de bugs
repo init -u git://git.koolu.org/freerunner/platform/manifest.git -b koolu-1.0
Cette étape doit se solder par : repo initialized in .../mydroid
5. synchronisation de l'arbre pour récupérer le reste des sources (très long) :
repo sync
6. Dernière étape, construre l'image :
make TARGET_PRODUCT=freerunner
Sauf que là je bloque ici :
In file included from external/webkit/WebCore/css/CSSGrammar.y:52:
out/target/product/freerunner/obj/SHARED_LIBRARIES/libwebcore_intermediates/css/CSSPropertyNames.c:213: error: 'CSSPropertyID' was not declared in this scope
out/target/product/freerunner/obj/SHARED_LIBRARIES/libwebcore_intermediates/css/CSSPropertyNames.c:214: error: expected ',' or ';' before '{' token
In file included from external/webkit/WebCore/css/CSSGrammar.y:53:
out/target/product/freerunner/obj/SHARED_LIBRARIES/libwebcore_intermediates/css/CSSValueKeywords.c: In function 'WebCore::String getValueName(short unsigned int)':
out/target/product/freerunner/obj/SHARED_LIBRARIES/libwebcore_intermediates/css/CSSValueKeywords.c:370: error: 'CSS_VAL_TOTAL' was not declared in this scope
external/webkit/WebCore/css/CSSGrammar.y: In function 'int WebCore::getPropertyID(const char*, int)':
external/webkit/WebCore/css/CSSGrammar.y:81: error: 'findProp' was not declared in this scope
external/webkit/WebCore/css/CSSGrammar.y:85: error: invalid use of incomplete type 'const struct WebCore::props'
external/webkit/WebCore/css/CSSGrammar.y:81: error: forward declaration of 'const struct WebCore::props'
external/webkit/WebCore/css/CSSGrammar.y: In function 'int getValueID(const char*, int)':
external/webkit/WebCore/css/CSSGrammar.y:106: error: 'findValue' was not declared in this scope
external/webkit/WebCore/css/CSSGrammar.y:110: error: invalid use of incomplete type 'const struct css_value'
external/webkit/WebCore/css/CSSGrammar.y:106: error: forward declaration of 'const struct css_value'
make: *** [out/target/product/freerunner/obj/SHARED_LIBRARIES/libwebcore_intermediates/CSSGrammar.o] Erreur 1
Installer l'image
Dans la mémoire flash
Sur carte mémoire
Sur un PC :
Flasher le bootloader avec Qi sur le téléphone
Créer une des trois premières partitions de votre carte µSD en EXT3.
Monter l'image (construite ou téléchargée) avec ce script
sudo ./Mntjffs.sh freerunner-v5.jffs2 image/
Copier les fichiers (cp -R) du repertoire image/ dans la racine de la partition.Exemple :
sudo cp -R /your-path/image/* /media/disk/
Installer le patch init.rc
cd /media/disk/ sudo mv init.rc init.rc.bakup sudo wget http://activationrecord.net/radekp/openmoko/android/init.rc
Créer le repertoire boot
sudo mkdir boot
Mettre dans ce répertoire l'image du kernel que l'on a précédement téléchargé avec le nom uImage-GTA02.bin
Démonter la carte µSD, l'insérer dans le téléphone et démarrer.
Enjoy
Image de michael
http://panicking.kicks-ass.org/download/
Pour l'image optimisée par michael il faut lire ces pages: http://wiki.openmoko.org/wiki/Android_usage
http://wiki.openmoko.org/wiki/Android_on_Freerunner
cupcake snapshot v6 The latest image from Michael Trimarchi is freerunner-cupcake-snapshot-v6.jffs2, however you might (more than likely will) run into a problem if you install it directly: The FreeRunner boots up but gets stuck when the colours of the "Android" log cycle (it keeps twinkling for ever). This image will work if you follow these steps in the right order: install, or verify that you have, a recent version of qi reformat and prepare your SD card as described above flash (kernel) uImage-v17.bin flash (rootfs) freerunner-v14.6-cupcake.jffs2 reboot the FreeRunner, it should start with Android shut it down (hold the power button for 5 sec, "shutdown", "OK") flash (rootfs) freerunner-cupcake-snapshot-v6.jffs2
La partie avec la carte SD est trés trés importante sans quoi ça ne marchera pas!
Logiciels Libres pour Android
Une liste de logiciels libre pour Android est maintenue par le projet Replicant à l'adresse :
http://trac.osuosl.org/trac/replicant/wiki/ListOfKnownFreeSoftwareApps
