DeforaOS
Introduction
En fin d'année 2009, Hackable:1 avait sorti sa version 5 nommée "Chuck" basée sur Debian et les librairies Gtk. Ensuite, ils ont commencé à réfléchir pour sortir la version suivante qui aurait en plus comme outil de base FSO. Malheureusement, cette distribution semble être dormant depuis janvier 2010.
De son côté, khorben développe son propre système d'exploitation flexible et portable nommé DeforaOS avec ses propres objectifs et qui peut se baser sur Linux, *BSD ou Solaris. Cet OS a aussi son propre environnement de bureau qui se veut ergonomique et cohérent.
En septembre 2010, khorben s'est basé sur son projet Defora et le projet Hackable:1 pour présenter son concept de système d'exploitation sur le Neo FreeRunner. La première réalisation de DeforaOS smartphone environment (dse1) est disponible en téléchargement sur le site de DeforaOS. Depuis, on peut trouver une roadmap détaillée sur le site du projet Defora pour l'année 2011.
Pour plus d'informations à propos de DeforaOS, vous pouvez lire les posts suivant du blog de khorben :
- The DeforaOS smartphone environment
- News from the hackable:1 front
- Releasing a new snapshot of the DeforaOS smartphone environment on hackable:1
- First (unofficial) release of the DeforaOS smartphone environment
Téléchargement et installation
Pour installer DeforaOS, on peut flasher le Neo FreeRunner avec les fichiers .jffs2 et uImage.bin (que l'on peut trouver dans la source .tar.gz) disponibles sur la page de téléchargement.
Il y a aussi la possibilité de télécharger les sources .tar.gz et de les mettre sur une carte uSD. Si votre bootloader est U-Boot, vous pouvez suivre les instructions d'installation de Hackable1 [à vérifier]. Sinon, si vous utilisez Qi ou Qi-bootmenu comme bootloader, il suffit de suivre ces étapes :
- Téléchargez la source
- Insérez votre carte uSD dans votre ordinateur
- Décompressez la source dans la partition de votre carte uSD en tant que root, avec la commande :
tar -xpf la_source.tar.gz -C /media/la_carte_uSD - Insérez la carte uSD dans le FreeRunner et DeforaOS devrait démarrer.
Trucs et Astuces
Voilà quelques points qui vous amélioreront l'exprécience d'utilisation avec DeforaOS qui ont été trouvé après la réalisation de l'image de septembre :
Version dse1 (septembre 2010)
Clôre une application
Pour clôre une application, il suffit de garder cliqué un instant sur l'icône de l'application dans le panel du bas, puis de choisir close. Vous remarquerez qu'il y a aussi la possibilité de cliquer sur fullscreen, mais ça ne fonctionne pas.
Connexion SSH et partage de connexion Internet
DeforaOS installe par défaut un serveur SSH et un fichier /etc/network/interface configuré de telle manière à ce qu'on puisse se connecter au Neo FreeRunner via le câble USB. Il faut configurer l'ordinateur hôte pour qu'il utilise l'interface usb0 comme interface de communication (NetworkManager devrait le faire par défaut [à vérifier]).
Pour pouvoir partager la connexion Internet de l'hôte avec le Neo FreeRunner, j'ai eu besoin de modifier ainsi le fichier /etc/network/interfaces du Neo (repris de la configuration de SHR):
auto usb0 iface usb0 inet static address 192.168.0.202 netmask 255.255.255.0 network 192.168.0.0 up route add default gw 192.168.0.200 metric 8 up echo nameserver 208.67.222.222 > /etc/resolv.conf up echo nameserver 208.67.220.220 >> /etc/resolv.conf down route del default gw 192.168.0.200 metric 8
Ensuite, j'ai fait ma propre configuration de l'interface usb0 de l'hôte (en suivant le wiki officiel) :
ip link set usb0 down iptables -A POSTROUTING -t nat -j MASQUERADE -s 192.168.0.0/24 sysctl -w net.ipv4.ip_forward=1 ip addr add 192.168.0.200/24 dev usb0 sysctl net.ipv4.conf.wlan0.proxy_arp=1 #remplacer wlan0 par votre interface relié à Internet ip link set usb0 up ssh hackable1@192.168.0.202
Première mise à jour
Suite à la première réalisation de DeforaOS smartphone environment (dse1), quelques paquets de trop étaient installés, alors, il faut les supprimer avant de faire une mise-à-jour :
# dpkg --remove xserver-xorg-input-all xserver-xorg-video-all # apt-get install -f
(l'option -f permet de corriger automatiquement les dépendances)
Puis, on peut faire les mises à jour, comme sur tout OS basé sur Debian :
# apt-get update && apt-get upgrade
(attention, la première mise-à-jour portera sur beaucoup de paquets, ~150 actuellement, prévoyez du temps et une bonne connexion internet ;))
"Cannot allocate enough memory" : erreur de dpkg lors d'une mise-à-jour ou d'une installation
Si vous rencontrez une erreur de ce genre lors d'une mise-à-jour ou d'une installation d'un paquet qui demande pas mal de mémoire pour s'installer, ne paniquez pas, vous pouvez résoudre ce problème:
- Connectez vous avec une connexion SSH
- Lancez la commande suivante pour stopper le serveur graphique et ainsi obtenir plus de mémoire vive pour l'installation : invoke-rc.d nodm stop
- Lancez la commande suivante pour remettre dpkg dans un état correcte pour terminer l'installation ou la mise à jour dpkg --configure -a
- Re-lancez votre installation/mise-à-jour qui se terminera cette fois-ci correctement.
- Réactiver le serveur graphique : invoke-rc.d nodm start
Améliorations de l'affichage
Supprimer le titre des applications sous le panneau du haut
Pour supprimer le titre des applications qui prend beaucoup de place et n'est pas très utile, puisque le panneau du bas permet déjà de sélectionner les applications en route, il faut modifier le fichier de préférence /home/hackable1/.xsession :
# nano /home/hackable1/.xsession
Il faut modifier le fichier ainsi (la modification est en gras) :
start_windowmanager(){
while true; do
matchbox-window-manager -use_titlebar no -use_desktop_mode decorated -theme Moko -use_cursor no
sleep 1
done
}
Diminuer la taille de panneau du haut
Il est utile de diminuer la taille du panneau du haut, parce que ce panneau n'est prévu que pour donner des indications (il n'est pas prévu pour être interactif apparemment). Il faut ajouter cette ligne dans le fichier /home/hackable1/.panel :
# echo top_size=small >> "/home/hackable1/.panel"
Ensuite, il faut modifier le fichier de configuration gtk /home/hackable1/gtkrc-2.0, pour indiquer au panel du haut d'utiliser la taille "small" :
# nano /home/hackable1/gtkrc-2.0
Et modifier la ligne gtk-icon-size, ainsi :
gtk-icon-sizes = "gtk-button=64,64:gtk-small-toolbar=32,32:gtk-large-toolbar=64,64:gtk-menu=64,64"
Gérer le bluetooth et le wifi
Pour installer la gestion du bluetooth et le wifi, je vous propose d'installer ces deux programmes :
# apt-get install gnome-bluetooth nautilus-sendto wicd wicd-gtk --no-install-recommends
Ensuite, il faut ajouter à la fin du fichier /home/hackable1/.xsession, les deux lignes suivantes :
# nano /home/hackable1/.xsession
Pour avoir la notification bluetooth, le programme est bluetooth-applet et celle du wifi wifi-gtk (mais, elles ne sont pas nécessaires) :
bluetooth-applet & wicd-gtk &
/!\ Il faut bien placer ces 2 lignes avant la dernière ligne ! /!\
Utiliser les dépôts de tests
Vous serez peut-être intéressé d'utiliser les toutes dernières versions de développement des applications de DeforaOS. Pour ce faire, il suffit de modifier le fichier des sources de mises-à-jour /etc/apt/sources.list :
# nano /etc/apt/sources.list
et de remplacer le mot wip par wip-squeeze, puis de faire une mise-à-jour avec apt-get.
Activer/Désactiver l'antenne GPS
Pour activer l'antenne GPS, il faut lancer le terminal et se connecter en tant que root, puis lancer la commande :
echo 1 > /sys/class/i2c-adapter/i2c-0/0-0073/pcf50633-regltr.7/neo1973-pm-gps.0/power_on
Si vous avez une version moins récente du noyeau ou si vous utilisez le Neo 1973, le chemin ci-dessus peut être différent, dans ce cas, reportez vous directement au wiki d'openmoko : GPS.
Pour la désactiver, il suffit d'écrire 0 dans le même fichier :
echo 0 > /sys/class/i2c-adapter/i2c-0/0-0073/pcf50633-regltr.7/neo1973-pm-gps.0/power_on
Sources
Le forum d'openmoko-fr :
http://openmoko-fr.org/forum/viewtopic.php?pid=15908 (souvent mis-à-jour)
Le site web de Defora :
http://defora.org/
Le site d'hackable:1 avec quelques pages de leur wiki dédiées à Defora :
http://trac.hackable1.org/trac/ (le site) http://trac.hackable1.org/trac/wiki/DeforaOSSmartphone (la page de Defora) http://trac.hackable1.org/trac/wiki/AvailableVersions/dse1 (notes de version de dse1)
Le wiki d'Openmoko :
http://wiki.openmoko.org/wiki