Debian

De openmoko-fr.

Il est possible d'installer la distribution Debian sur le Freerunner.

Je me suis fortement inspiré de cette page.

Nous allons l'installer sur la carte microSD (celle reçu à une capacité de 500 mega soit en df -h: 464M, l'installe prendra 306mega, reste 135 mega).

Sommaire

Installation sur le FreeRunner :

Nous effectuerons le reste de l'installation à travers une connection SSH sur le FreeRunner.

Script d'installation

Téléchargeons le script d'installation et rendons le exécutable :

wget -O install.sh http://pkg-fso.alioth.debian.org/freerunner/install.sh
chmod +x install.sh

(si le lien est cassé, attendez quelques heures, voir jours)

ext2 vs vfat

L'installation par défaut créera deux partitions :

  • une première de 8 Mo, en ext2 (par défaut) ou en vfat
  • une seconde avec le reste de l'espace disponible en ext2

Sous l'angle Debian, il est préférable que la première partition soit en ext2. Si ce n'est pas le cas, l'installation standard de noyaux Debian ne fonctionnera pas et les noyaux devront être installés à la main.

Sous l'angle FR, u-boot est configuré par défaut pour booter la carte µSD à partir d'une partition en vfat. L'utilisation de deux partitions en ext2 requiert donc de modifier l'environnement u-boot. Nous expliquons cette étape plus bas, à la suite de l'installation.

Installation

Remarque : la commande suivante va effacer complètement la carte µSD ! Prévoyez de faire vos sauvegardes avant ;)

On lance l'installation (en spécifiant un mirroir pas loin de chez nous afin de soulager le serveur principal de Debian) :

INST_MIRROR=http://ftp.fr.debian.org/debian ./install.sh all

Ou, si on tient à une première partition en vfat :

SD_PART1_FS=vfat INST_MIRROR=http://ftp.fr.debian.org/debian ./install.sh all 

Si Qtopia utilise la carte µSD, vous obtiendrez ce message d'erreur :

Qtopia wants to continually access /media/card. You need to stop it with `killall qpe` and then restart the installation!

On arrête alors le service qpe et on relance le script (l'arrêt propre du démon libère correctement la carte alors que le killall risque de la laisser "busy") (pour ma part, 2008.9, j'ai pas de /etc/init.d/qpe donc j'ai fait un killall) :

/etc/init.d/qpe stop
./install.sh all

Un message d'erreur peut également apparaître spécifiant que mkfs.vfat n'est pas disponible.

Dans ce cas, il vous est possible de l'installer en utilisant ces commandes :

wget http://members.shaw.ca/mmontour/neo/dosfstools_2.11-r0_armv4t.ipk 
opkg install dosfstools-2.11-r0_armv4t.ipk

Le script va alors télécharger et configurer tous les paquets nécessaires ... on peut aller boire quelques cafés (1h30 environ) ...

Réussir l'installation en mode VFAT

Si vous avez choisi, malgré l'usage, de configurer votre première partition (/boot) sur la SD en vfat, le script d'installation se terminera par :

Running stage kernel
Installing kernel package
E: when using vfat as filesystem for the first microSD card
  partition, you should manully install the kernel, since dpkg
  does not support non-POSIX filesystems:
    http://bugs.debian.org/bug=315493

Alors ce message sur le forum permet de trouver comment s'en sortir. Il faut relancer le script sans l'option vfat pour la partie kernel

./install.sh kernel

L'erreur qui se produit lors de la configuration est due à l'absence de lien symbolique en vfat. Le script de post-installation est /mnt/debian/var/lib/dpkg/info/linux-image-2.6.24-openmoko-gta02.postinst. Au 10 janvier 2009, ce script ne crée qu'un simple lien symbolique. Il suffit donc de recopier le fichier d'image noyau

cp  /mnt/debian/boot/vmlinuz-2.6.24-20081103.git7172ec57 /mnt/debian/boot/uImage.bin

puis de finir l'installation

./install.sh unmount

pour obtenir Debian en mode vfat (voir toutefois la section Debian#TroubleShooting).

Configuration u-boot pour ext2

Prérequis à installer sur le PC (pas sur le FR) :

Configuration, depuis le PC en root, avec le FR sur le menu u-boot NOR (AUX puis POWER) et connecté en USB :

wget http://pkg-fso.alioth.debian.org/freerunner/configure-uboot.sh
chmod +x configure-uboot.sh
./configure-uboot.sh

(essayez une deuxième fois ./configure-uboot.sh si la première donne un message d'erreur, ça peut marcher)

Si pour quelconque raison, ça ne marchait pas et que vous vouliez revenir à la configuration initiale, suivez ces étapes

Première utilisation

Une fois l'installation terminée, il ne reste plus qu'à rebooter et à utiliser le menu uBoot pour démarrer sur la carte µSD ("power" suivit de "aux", il faut parfois s'y reprendre à 2 fois). Et utiliser Zhone qui est installé par défaut :


Zhone-Desktop.png Zhone-Dialer.png Zhone-Annuaire.png


On pourra se référer au wiki officiel pour plus d'informations.

Que faire d'autres ?

En général

  • Mettre un password: passwd
  • ping : apt-get install iputils-ping
  • Debian/mplayer
  • Debian/Bluetooth
  • Debian/Wifi
  • Niveau de la batterie : apm
  • Navigateur : midori
  • TangoGPS
  • brancher un périphérique (clavier, souris, ...)
  • Avoir un terminal avec d'autre font (plus grande :-) apt-get install xfce4-terminal
  • un dictionnaire : opendict apt-get install opendict dict-freedict-eng-fra
  • Gagner de la place en supprimant les locales inutiles : apt-get install localepurge

Zhone-session

Zhone session est l'interface par défaut lors de l'installation debian, orientée téléphone. Incroyable que tout le monde veut utiliser ce machin pour téléphoner, mais bon.

  • Afficher le clavier en poussant sur le bouton AUX
  • sur ce clavier, <ctrl>+<alt>+<x> ouvre un xterm.
  • fbpanel (passage aisé d'une applique à l'autre)

Xfce

Un client graphique léger.

  • régler l'heure redpkg-reconfigure tzdata
  • Activer le clic-droit : sur le forum
  • travailler avec un écran digne de ce nom et un clavier tout aussi digne, c'est à dire celui de votre desktop grâce à Debian/Xephir ou Debian/vnc
  • alléger les mouvements de fenêtres.
Menu XFCE-> Settings -> Window Manager Settings -> Advanced

En décochant les options :

Display content of windows when resizing
Display content of windows when moving
  • Augmenter la hauteur de la barre de lancement et de tâches. Click-droit(ou click-long c'est selon)/custommize/size, mettre 56.
  • Profiter des 4 espaces de travail en glissant une application d'un espace miniature à l'autre espace miniature. Cela permet de passer facilement de l'un à l'autre.
  • xmms : Passe suivant la chanson entre 8% (mp3) et 60% (ogg) cpu. Pour les paquets
apt-get install xmms2 gxmms2.
  • sephora. Panneau de configuration wifi, gps, ...
wget http://launchpad.net/sephora/0.2/2.0alpha3/+download/sephora_0.2-alpha3_all.deb
dpkg -i sephora_0.2-alpha3_all.deb

A ne pas faire !

Ou alors dites-nous comment :-)

  • Rhythmbox : j'ai bien réussi à entendre une chanson, mais après, je n'entends que des débuts. Probablement trop lourd. Dommage... Mais... quand même... ca passe pas trop mal en mp3 mais pas en ogg :-(. Le processeur est à 95%.
  • Navigateur : iceweasel (firefox). Un peu lourd.

Ressources En

TroubleShooting

mars 09

Installation

Si lors de l'installation vous avez :

mount: mount point /mnt/debian does not exist

faire un

mkdir /mnt/debian

Kernel Panic

Si vous avez un message au boot du type

kernel panic - not syncing: VFS: Unable to mount root fs on un known-block(179,2)

c'est parce que vous avez du enlever la batterie sans couper le gsm, peut être mal démonter la carte µSD lorsqu'elle était dans un lecteur PC, ou autre chose. Une solution est de mettre la carte dans un lecteur PC, la démonter convenablement et relancer le nfr. Info : http://docs.openmoko.org/trac/ticket/1998

janvier 09

L'installation en mode vfat ne fonctionne pas. Le script est buggé. Appliquer le patch :

--- install.sh  Sat Jan 10 08:41:13 2009
+++ install-cbd.sh      Sat Jan 10 08:40:57 2009
@@ -405,9 +405,9 @@http://wiki.openmoko.org/wiki/Debianhttp://wiki.openmoko.org/wiki/Debian
 
 echo " * Waiting for partitions to appear"
 SLEEP_SECONDS=3
-while ! ([ "$SINGLE_PART" = "true" ] && test -e ${SD_DEVICE}p1) ||\
-       test -e ${SD_DEVICE}p1 -a -e ${SD_DEVICE}p2; do
-       if [ "$SLEEP_SECONDS" = 15 ]; then
+while ! (([ "$SINGLE_PART" = "true" ] && test -e ${SD_DEVICE}p1) ||\
+       test -e ${SD_DEVICE}p1 -a -e ${SD_DEVICE}p2); do
+       if [ "$SLEEP_SECONDS" = 30 ]; then
                echo "E: Partitioning has failed, partitions have not been created"
                exit 1
        fi
@@ -796,7 +796,7 @@
 # Stage unmount
 #
 echo "Unmounting microSD card partitions"
-if ![ "$SINGLE_PART" = "true" ]; then
+if [ "$SINGLE_PART" != "true" ]; then
        umount $INST_DIR/boot
 fi
 umount $INST_DIR

Zhone ne fonctionne pas non plus :(

wget http://natha.nkinka.de/openmoko/python-evas_0.2.1-2_armel.deb
dpkg -i python-evas_0.2.1-2_armel.deb

puis rebooter la bête, permettra de retrouver une distribution debian fonctionnelle.

Outils personnels