DeforaOS

De openmoko-fr.

Sommaire

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 :

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 :

  1. Téléchargez la source
  2. Insérez votre carte uSD dans votre ordinateur
  3. 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
  4. 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:

  1. Connectez vous avec une connexion SSH
  2. 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
  3. Lancez la commande suivante pour remettre dpkg dans un état correcte pour terminer l'installation ou la mise à jour dpkg --configure -a
  4. Re-lancez votre installation/mise-à-jour qui se terminera cette fois-ci correctement.
  5. 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
Outils personnels