Xandros et eeebuntu en duo (dual boot) sur eeePC 900

Plan de la page, introduction

Installation de eeebuntu
   Création d'une clef USB d'installation
   Partitionnement et installation
   Correction de GRUB !
Quelques réglages après installation
   Eliminer l'affichage d'un faux message sur la batterie
   Réparer la webcam
   Réparer la webcam (bis) après échec TNT
   Obtenir l'extinction complète de la machine
   Faire marcher l'accès wifi à la Livebox
   Installer son imprimante Canon PIXMA iP3000
   Accélérer Firefox et ménager sa mémoire flash
   Désactiver le dialogue au chargement de la carte SD (sous xandros)
   Synchroniser un iPAQ 2210 avec Evolution

La distribution Xandros de base livrée avec l'eeePC 900 sous Linux® est faite pour rendre imédiatement utilisable la machine sans avoir à maîtriser l'informatique, surtout pour les utilisateurs un peu habitués à Windows®, et elle atteint parfaitement son but.

Cependant, elle paraît limitée à l'utilisateur un peu averti. Plusieurs possibilités s'offrent à lui pour une utilisation plus avancée.

Cette page se propose de décrire la procédure adoptée.

L'auteur de cette page n'est ni informaticien, ni un expert de Linux® - seulement un utilisateur qui apprend... Il ne garantit pas que la procédure décrite ci-dessous est parfaite, ni qu'elle est sans danger, notamment en cas d'erreur de manipulation. Il l'a appliquée sans problème mais chacun prend ses responsabilités :-) et il est prudent, comme avant toute installation, de sauvegarder ses données, voire son MBR (chercher sur Exalead ou sur Google).

Installation de eeebuntu

Création d'une clef USB d'installation

Pour installer la distribution, faute de lecteur de CD dans la machine et pour ne pas être obligé d'en acheter un, on va créer une clef USB amorçable qui va se comporter comme un live CD, avec possibilité d'installation, grâce à un petit logiciel disponible sous Linux® et sous Windows® : UnetBootin. Pour fabriquer cette clef, il faut utiliser un autre ordinateur. L'auteur de cette page a utilisé son ordinateur de test, présentement doté de Gutsy Gibbon, en procédant de la manière suivante :

L'emploi de UnetBootin est bien expliqué sur son site. Insérer d'abord une clef de 1Go vide formatée en FAT 32 par la méthode suivante.

Méthode : Brancher la clef, son icône s'affiche sur le bureau. Ouvrir un terminal, puis


Les propriétés de la clef USB après formatage.

Lancer le programme UnetBootin. Il détecte la clef (vérifier ce qui s'affiche et le cas échéant sélectionner la bonne clef) et il suffit de cocher le bouton indiquant d'utiliser une iso sur le disque et de parcourir ce dernier pour pointer l'image téléchargée.

L'ISO désignée et la clef détectée, UnetBootin est prêt à démarrer.

Après le clic sur OK, ça marche tout seul... Pendant l'installation des fichiers, on peut avoir l'impression d'un blocage (au fichier 7, par exemple) mais non, c'est juste un peu long. A la fin, UnetBootin propose de relancer mais comme la clef n'est pas destinée à cette machine, ne pas cliquer sur "Reboot", cliquer sur "Exit", éjecter la clef et se diriger vers le eeepc.

Partitionnement et installation

S'il est en marche, éteindre l'eeepc. Lorsque le premier écran gris s'affiche, presser F2 pour aller dans le BIOS et chercher la page des périphériques (dans l'onglet Advanced, ouvrir la rubrique Onboard devices configuration) et activer la webcam et le wifi s'ils ne le sont pas. ATTENTION : faire cela même si la caméra et le wifi sont actifs dans XANDROS car ce dernier ne tient pas compte des paramètres du BIOS et certaines machines sont livrées avec des périphériques désactivés (pour l'auteur de cette page, c'était le cas de la webcam!).

Eteindre l'eeepc. Insérer la clef USB et allumer la machine. Lorsque le premier écran gris s'affiche (celui qui permet d'aller dans le BIOS en pressant F2), appuyer sur la touche Echap. Ceci permet d'accéder à une liste des périphériques de démarrage disponibles. Sélectionner la clef portant l'eeebuntu, presser Entrée.

Là, la distribution se lance en live. Lancer l'utilitaire de partitionnement et :

Nota : les noms de partition ne sont pas les mêmes que sous Xandros!

Cela fait, on procède à une installation on ne peut plus normale de la distribution eeebuntu, qui ressemble fort à l'installation habituelle d'Ubuntu. Une fois les 7 étapes initiales de définition passées, on peut aller prendre son déjeuner car le système va mettre une petite heure pour s'installer.

Correction de GRUB !

Lorsqu'on relance la machine, clef USB retirée, c'est la déception! Le menu de GRUB n'apparaît pas et Xandros démarre comme si de rien n'était! L'installeur d'eeebuntu n'a donc pas réussi à paramétrer GRUB comme il faut... et c'est normal! En effet, Xandros est conçu pour être robuste et ne se laisse pas facilement modifier. Pour obtenir le menu habituel de choix de démarrage de GRUB, il faut ruser. C'est le moment de retrousser ses manches :

  1. Sous Xandros, ouvrir un terminal par la combinaison de touches [Ctrl] [Alt] t puis créer un point de montage, par exemple /mnt/xan, par :

  2. Toujours dans la console, faire afficher les partitions existantes : Le système répond : On note que les partitions ont des noms différents de ceux sous la live eeebuntu et ce sera encore différent sous eeebuntu installé.
    En effet, quand Xandros est aux commandes, il considère qu'il est sur le premier disque (flash) donc nommé sda, et il en occupe les deux premières partitions : sda1 et sda2. Donc si l'installation a été faite comme décrit plus haut, eeebuntu est installé sur sda3.

  3. Sans quitter la console, monter la partition système d'eeebuntu sur le nouveau point de montage en faisant (transposer les notations si nécessaire) : Ouvrir le fichier /mnt/xan/boot/grub/menu.lst, noter ou imprimer l'option de démarrage correspondant à la version de eeebuntu installée. Dans l'exemple considéré ici, c'était :
    REMARQUE : Lorsque la clef usb eeebuntu a démarré en live, le système l'a considérée comme le premier disque (sda), a placé la carte SD en deuxième position (sdb) et la mémoire flash du eeepc en troisième position (sdc). Comme dit plus haut, eeebuntu fut installé sur la troisième partition de cette dernière, soit sdc3. Dans l'autre système de désignation des disques, du type (hdx,y), les numérotations commencent à 0, donc le troisième disque est hd2 et sa troisième partition est la 2, donc sdc3 peut aussi se voir comme (hd2,2). Ceci explique le nom surligné de l'emplacement root ci-dessus. TOUTEFOIS, pour transporter cette option dans le GRUB de Xandros, il faut se souvenir que cette distribution voit son système installé sur sda1 et eeebuntu sur sda3, soit (hd0,2). Il faut donc effectuer la correction et remplacer (hd2,2) par (hd0,2).

  4. Eteindre la machine. La relancer en gardant le doigt appuyé sur F9 pour forcer l'apparition du menu de démarrage du GRUB de XANDROS. Lorsque celui ci apparaît, sélectionner l'entrée "Normal boot" et appuyer sur la touche 'e' du clavier pour éditer la commande de lancement, en procédant ligne par ligne. Cette manipulation est un peu pénible mais elle n'est à faire qu'une fois... Noter que les modifications faites n'affectent pas le système et ne servent qu'au lancement en cours.

  5. Une fois eeebuntu ouvert, on se retrouve sous l'environnement familier d'Ubuntu. On va aller modifier le fichier menu.lst du GRUB de XANDROS pour obtenir la présentation classique du menu de démarrage au lancement. Pour cela, il faut savoir que le système de fichier utilisé par XANDROS est très protecteur. En fait, le système est installé sur la première partition du disque flash. Les modifications qui lui sont apportées... ne le modifient pas réellement : elles sont enregistrées dans la deuxième partition, dans des fichiers de mêmes noms qui sont présentés à l'utilisateur en lieu et place des fichiers d'origine (ce système de fichiers s'appelle unionfs). Ceci explique pourquoi les changements apportés SOUS XANDROS au fichier menu.lst ne changent pas la séquence de démarrage : ces changements modifient un fichier (de la deuxième partition) qui n'est pas encore monté au moment où GRUB intervient. Il faut donc aller modifier le "vrai" menu.lst de la 1ère partition. Il est à noter que le système de fichiers de XANDROS dissimule quelque peu ce fonctionnement ; notamment, l'utilitaire de disque présente les deux premières partitions fusionnées...

    L'utilitaire de disque de Xandros affiche un disque principal
    "fusionnant" ses partitions sda1 et sda2.

    Comme on est présentement sous Ubuntu, il va être très facile de contourner cette limitation.... Le système répond : Donc le disque flash est passé en seconde postion (sdb) mais on y retrouve les deux partitions de xandros (sdb1 et sdb2), la partition système de eeebuntu (sdb3) et la petite partition FAT d'origine conservée (sdb4).

  6. Ouvrir une console, en procédant comme plus haut, créer un point de montage /dev/xan puis monter la partition système de Xandros sur ce nouveau point de montage. Ouvrir le gestionnaire de fichier en mode root (attention, toutes les interventions faites dedans ont les privilèges du superutilisateur!) en faisant : et y ouvrir le dossier /mnt/xan/boot/grub. Ouvrir le fichier menu.lst.
    D'origine, il doit contenir : Y ajouter l'option de démarrage eeebuntu en deuxième position après celle "Normal boot", dire que c'est l'option de démarrage par défaut en mettant default=1, commenter la ligne hiddenmenu pour voir le menu de grub et allonger un peu le temps de réaction (timeout) pour avoir le temps de choisir une autre option au besoin. Après modification, le menu.lst devient : Enregistrer le fichier, fermer nautilus et la console, relancer... Normalement, ça va tout seul.
  7. Inconvénient, après mise à jour du noyau de eeebuntu, il faudra venir corriger l'option eeebuntu dans ce fichier pour pointer vers le dernier noyau chargé ! Toutefois, cela sera simple : il suffira de copier les trois lignes dans le menu.lst de eeebuntu et de les coller à la place des trois lignes inscrites dans le menu.lst de Xandros, sans oublier de remplacer (hd2,2) par (hd0,2).

Quelques réglages après installation

La distribution eeebuntu est livrée avec des scripts dans le dossier /eeesupport/scripts. Afficher leur contenu pour voir ce qu'ils font et les lancer pour finir d'ajuster l'installation au matériel.

Après avoir fait ça, l'auteur de cette page a encore dû :

  1. Eliminer l'affichage d'un faux message sur la batterie

    en ouvrant un terminal pour y faire :
  2. Réparer la webcam

  3. Réparer la webcam (bis) après échec TNT

    A propos de webcam, l'auteur de cette page recommande aux utilisateurs qui tiennent à utiliser leur webcam sous eeebuntu de NE PAS faire ce qu'il a fait (sauf s'ils sont de vrais experts de linux - et il ne s'agit pas seulement de savoir lire les pages trouvées par Google !). Quelques explications...

    L'idée était d'installer une clef usb permettant de recevoir la TNT...

    Avec un peu de recherche sur Google, il fut facile de trouver que

    A ce stade, la clef TNT ne marche toujours pas, la cause du problème se voyant en regardant les messages systèmes

    Comme on est obstiné, on trouve dans un forum l'information suivante : "le problème du /dev/dvb/adapter0/frontend0 a été resolu dans le v4l repository de Michael Krufky : http://linuxtv.org/hg/~mkrufky/megasky
    Code:

    Peine perdue ! Rien n'y fait... A ce stade, Goooogle n'aide plus... on trouve plus de questions que de réponses et les quelques indications éparses rencontrées sont partielles et compliquées....

    ...et, pour faire bonne mesure, la webcam ne marche plus !

    Cela suffit, on décide de faire marche arrière mais ce n'est pas si simple. En effet, il apparaît que l'installation des modules nécessaires à la clef TNT a remplacé de nombreux modules de l'eeebuntu par des versions semble-t-il incohérentes avec la version du noyau installé.

    La solution suivante pour récupérer sa webcam en remettant l'utilisation de la TNT à des jours meilleurs futurs est assez simple. Elle fut inspirée par ce message d'un forum sur ubuntu mais pour la rendre utilisable plus facilement, on va la détailler et la compléter ci-dessous. Il faut l'appliquer totalement pour retrouver un système propre, sous peine de tomber sur des messages du type :

    WARNING: Error inserting videodev (/lib/modules/2.6.24-19-eeepc/kernel/drivers/media/video/videodev.ko): Unknown symbol in module, or unknown parameter (see dmesg)
    FATAL: Error inserting uvcvideo (/lib/modules/2.6.24-19-eeepc/ubuntu/media/usbvideo/uvcvideo.ko): Unknown symbol in module, or unknown parameter (see dmesg)

    lors de l'insertion des modules video.

    Cette méthode fait relancer plusieurs fois la machine - c'est rare sous linux (sauf pour aller dans le BIOS) - et ce n'est donc peut-être pas la plus directe mais elle évite une réinstallation et marche parfaitement.

    Pour la TNT, on attendra une mise à jour d'eeebuntu ou bien de trouver une explication vraiment SURE...

  4. Obtenir l'extinction complète de la machine

  5. Faire marcher l'accès wifi à la Livebox

  6. Installer son imprimante Canon PIXMA iP3000

    Sous Xandros

    Sous eeebuntu

  7. Accélérer Firefox et ménager sa mémoire flash

    (traduction de cette page en anglais)

  8. Désactiver le dialogue au chargement de la carte SD (sous xandros)

  9. Synchroniser un iPAQ 2210 avec Evolution

    La procédure ci-dessous permet :

    La méthode présentée s'inspire fortement de la page synchroniser son pda sous windows 2003 avec evolution en la complétant voire la corrigeant par endroit.

    Installations préalables

    Avec un apt-get habile ou bien en préférant le confort graphique de Synaptic (dont sont inspirées les descriptions ci-dessous), il faut d'abord installer les logiciels suivants (ou vérifier qu'ils sont déjà installés) :

    librra0Bibliothèque à l'usage de la synchronisation avec des appareils sous WinCE, rra fait partie du projet SynCE (http://synce.sourceforge.net/). Fournit la couche de bas niveau nécessaire et permet de savoir ce qui a été changé, créé ou supprimé depuis la dernière connexion. Peut convertir les formats internes de WinCE en standards tels que vCard, vEvent ou vTodo. Ce paquet contient la bibliothèque partagée librra.
    librra0-toolsCe paquet contient divers outils utiles à la mise en œuvre de la bibliothèque partagée librra.
    librapi2-toolsEnsemble d'outils pour communiquer en ligne de commande avec une machine sous WinCE. La plupart ne sont qu'une version déportée d'outils Unix de gestion de fichiers. Certains servent à afficher l'état de l'appareil, lancer un programme ou faire la liste des programmes installés sur la machine.
    libsynce0Bibliothèque au service de synce, l'outil de synchronisation des appareils sous WinCE.
    synce-dccmDémon pour garder active la connexion au périphérique WinCE. Maintient une connexion à un périphérique WinCE, en répondant aux demandes d'états, en fournissant aux autres programmes de la suite d'outils SynCE des détails de l'adresse IP et en fournissant la capacité d'exécuter automatiquement des scripts à la connexion.
    synce-multisync-pluginUne extension de multisync qui utilise synce pour synchroniser l'appareil Windows CE.
    synce-serialScripts de manipulation de connexion SynCE, qui manipulent (arrêt/démarrage/configuration) une connexion à un périphérique Windows CE.
    libmultisync-plugin-evolutionUne extension de multisync pour effectuer la synchronisation avec Evolution.
    libmultisync-plugin-backupUne extension de multisync pour sauvegarder les données (calendrier, contacts, etc.) d'Evolution.
    multisyncLe programme qui synchronise les informations personnelles (emploi du temps, contacts, etc.) entre Evolution et l'appareil mobile.

    Communication USB

    Temporairement, pour faciliter les opérations d'installation, désactiver l'éventuel mot de passe du PDA - il sera remis en fonction juste après.

    Brancher l'iPAQ sur l'eeepc en utilisant la connexion USB. Ouvrir un terminal et y entrer la commande :

    ~$ lsusb

    qui produit une réponse du type :

    Bus 005 Device 003: ID 05e3:0505 Genesys Logic, Inc.
    Bus 005 Device 002: ID 0951:1606 Kingston Technology
    Bus 005 Device 001: ID 0000:0000
    Bus 004 Device 001: ID 0000:0000
    Bus 003 Device 001: ID 0000:0000
    Bus 002 Device 001: ID 0000:0000
    Bus 001 Device 002: ID 03f0:1016 Hewlett-Packard Jornada 548 / iPAQ HW6515 Pocket PC
    Bus 001 Device 001: ID 0000:0000

    Le nom affiché est étrange mais cela n'a pas d'importance. On note surtout dans cette réponse :
    - le numéro de vendor : 03f0
    - le numéro de product : 1016
    qui permettent d'identifier la machine qui se branche. Pour ce faire, on se rend dans le dossier /etc/modprobe.d pour y créer le ficher synce en tant que superutilisateur :

    ~$ cd /
    /$ cd etc
    /etc$ cd modprobe.d
    /etc/modprobe.d$ gksudo gedit synce

    et dans ce fichier, on place l'unique ligne :

    options ipaq vendor=03f0 product=1016

    Enregistrer et fermer le fichier. Débrancher le Pocket PC et, toujours dans la console, faire

    $ dccm

    Le système ne répond rien, c'est NORMAL ! Rebrancher le pocket et, toujours dans la console :

    $ dmesg | tail -4

    [ 318.040547] usb 1-2: new full speed USB device using uhci_hcd and address 3
    [ 318.048461] usb 1-2: configuration #1 chosen from 1 choice
    [ 318.055299] ipaq 1-2:1.0: PocketPC PDA converter detected
    [ 318.060258] usb 1-2: PocketPC PDA converter now attached to ttyUSB0

    Cette fois, la réponse montre que l'appareil est connecté sur ttyUSB0, dans le cas présent. Cette sortie peut être différente ; le cas échéant, adapter la suite en conséquence. Dans le terminal, faire donc :

    $ sudo synce-serial-config ttyUSB0

    You can now run synce-serial-start to start a serial connection.

    En fait, cette commande crée un fichier de configuration synce-device qui contient :

    # Modifications to this file will be lost next time you run synce-serial-config
    /dev/ttyUSB0 115200
    connect '/usr/bin/synce-serial-chat'
    nodefaultroute
    noauth
    local
    192.168.131.102:192.168.131.201
    ms-dns 192.168.131.102
    crtscts
    linkname synce-device

    Maintenant, mettre en route la communication série par :

    $ sudo synce-serial-start ttyUSB0

    synce-serial-start is now waiting for your device to connect

    Cette réponse exprime que eeebuntu attend la réponse du PDA. Ce dernier affiche très vite la petite double flèche rotative indiquant qu'il est en conférence... Vérifions que la communication fonctionne avec une commande qui va nous afficher quelques informations :

    $ synce-pstatus

    Version
    =======
    Version: 4.20.1081 (Ozone: Pocket PC 2003 (?))
    Platform: 3 (Windows CE)
    Details: ""

    System
    ======
    Processor architecture: 5 (ARM)
    Processor type: 2577 (StrongARM)
    Page size: 0x10000

    Power
    =====
    ACLineStatus: 01 (Online)

    Status for main battery
    =========================
    Flag: 1 (High)
    LifePercent: 100%
    LifeTime: Unknown
    FullLifeTime: Unknown

    Status for backup battery
    =========================
    Flag: 1 (High)
    LifePercent: 100%
    LifeTime: Unknown
    FullLifeTime: Unknown

    Store
    =====
    Store size: 37478400 bytes (35 megabytes)
    Free space: 4926692 bytes (4 megabytes)

    Memory for storage: 37584896 bytes (35 megabytes)
    Memory for RAM: 22298624 bytes (21 megabytes)

    Si rien ne sort ici, inutile d'aller plus loin, quelque chose est à revoir dans ce qui précède. Vérifier pas à pas...

    Si ça marche, on peut continuer... et, d'abord, interrompre la communication :

    $ sudo synce-serial-abort

    synce-serial-abort has requested shutdown of the current connection.

    Cela fait, la suite va permettre d'automatiser les opérations.

    Automatisation de la connexion par udev

    Se rendre dans le dossier /etc/udev/rules.d/ et y créer un nouveau fichier 10-ipaq.rules par  :

    /etc/udev/rules.d$ sudo gedit 10-ipaq.rules

    Dans ce fichier, recopier les lignes suivantes

    # fichier de regles udev pour SynCE
    BUS!=="usb", ACTION!=="add", KERNEL!=="ttyUSB*", GOTO=="synce_rules_end"
    # Commande de connexion
    RUN+="/usr/bin/synce-serial-start"
    LABEL="synce_rules_end"

    puis relancer udev par :

    $ sudo /etc/init.d/udev restart

    * Loading additional hardware drivers... [ OK ]

    ... et une musique peut alors se faire entendre... Rétablir la connexion en faisant :

    $ dccm

    puis ré-initialiser le pocket (soft reset) et le rebrancher sur la prise USB.

    Vérifier le bon fonctionnement par un petit

    $ synce-pstatus

    puis afficher les partenariats déjà présents sur le PDA par :

    $ synce-matchmaker status

    Current partner index: 1
    Partner 1 id: 0x1f721931
    Partner 1 name: "NOM_ORDI_1"
    Partner 2 id: 0x7c9942b4
    Partner 2 name: "NOM_ORDI_2"
    [rra_matchmaker_create_partnership:380] Partnership not found and there are no empty partner slots on device.
    Partnership creation failed. Maybe there is no empty partnership slot?

    Le PDA ne peut pas assurer plus de deux partenariats. Si donc, comme dans l'exemple qui précède, il a déjà été associé à deux ordinateurs, il va falloir remplacer l'un des deux pour l'associer à l'eeepc (pour d'autres cas, faire man synce-matchmaker dans une console pour voir les autres possibilités). Pour procéder au remplacement du partenariat 1, il suffit de faire :

    $ synce-matchmaker replace 1

    Partnership replacement succeeded.

    Le succès de l'opération peut être vérifié en relançant :

    $ synce-matchmaker status

    Current partner index: 1
    Partner 1 id: 0x2bf659d1
    Partner 1 name: "NOM du_eeepc"
    Partner 2 id: 0x7c9942b4
    Partner 2 name: "NOM_ORDI_2"
    Partnership creation succeeded. Using partnership index 1.

    Synchronisation d'Evolution avec les informations personnelles du PDA

    Lancer multi sync par le menu Accssoires > Multisync. Cliquer sur le bouton "New..." pour créer une nouvelle paire de synchronisation. Choisir les deux éléments de la paire comme suit :


    Paramétrage de la paire de synchronisation.

    puis cliquer sur le boutons "Options" du plugin Evolution pour cocher les informations à synchroniser et valider. Dans l'onglet "Synchonize options", choisir la méthode de résolution des conflits (source de référence ou interrogation de l'utilisateur). Après validation, de retour dans la fenêtre principale de Multisync, cliquer sur le bouton Sync.

    Les informations sont transférées. La petite flèche du PDA tourne en permanence. Une fois les opérations terminées, fermer multisync et débrancher la prise USB du PDA.

    Pour les utilisateurs qui le souhaitent, c'est le moment de revenir sur le PDA pour rétablir le mot de passe. En supposant que celui-ci soit MOT_DE_PASSE, avant de rebrancher l'USB du PDA la prochaine fois, il faudra faire dans la console :

    $ dccm -p MOT_DE_PASSE

    et dccm se chargera de se faire passer pour ActiveSync et de s'authentifier correctement auprès de WinCE.

    Récapitulation pratique

    Une fois tout ce qui précède fait, c'est simple :

    1. Faire dccm (ou dccm -p MOT_DE_PASSE) dans une console ou à l'aide d'un bouton lanceur.
    2. Brancher le câble du Pocket sur une prise USB du eeepc (le PDA affiche alors la double flèche de connexion).
    3. Lancer Accessoires > Multisync et cliquer sur Sync (les données d'Evolution sont alors mises à jour).
    4. Fermer Multisync et débrancher le Pocket PC.
Retour au plan de la page