Mandriva sur carte SDHC avec eeePC

Dans cet article, nous allons décrire l’installation de la mandriva 2008.1 sur une carte SDHC 4 Go que nous avons mise dans l’eeePC.

L’Asus EeePC ne dispose pas de lecteur CD ou DVD, il n’est pas question ici de dire au lecteur d’en acheter un juste pour installer la mandriva. Pour éviter cela, nous aurons besoin d’une clef USB de n’importe quelle taille mais VIERGE. Celle-ci va contenir l’installeur "mandriva".

principe employé

Nous allons utiliser un clef usb qui va recevoir le strict minimum : l’installeur dans un linux de base pour aller télécharger sur internet tous les paquets rpm ont nous aurons besoin. Nous ferons l’installation entièrement sur la carte SDHC pour conserver la Xandros en système de secours. Donc :
 on ne touchera pas au disque interne
 toute l’installation se fera au travers d’un cable RJ45 par internet
 on pourra lancer Xandros ou Mandriva 2008.1 à chaque démarrage du eeePC

préparation de notre clef USB d’installation

ATTENTION : La clef USB ne doit rien contenir. Tout ce qui est dessus va être détruit. Si votre clef contient des données, c’est le moment où jamais d’effectuer une sauvegarde. Prononcez à haute voix : « j’ai bien compris que si j’ai laissé un fichier superimportant sur ma clef, c’est tanpis pour moi. »

Petite parenthèse : sauvegarder une clef reconnue par linux comme /dev/sdb se fait ainsi : dd if=/dev/sdb of=/home/mon_user/sauvegarde.clef.dd
Ensuite pour remettre ses fichiers sur la clef, opération inverse :
dd if=/home/mon_user/sauvegarde.clef.dd of=/dev/sdb
(Fin de la parenthèse)

Mandriva fournit une image d’installeur très pratique : all.img. Vous la trouverez sur le CD1 d’installation ou sur le DVD dans le dossier « i586/install/images » ou vous pourrez le télécharger sur n’importe quel miroir de téléchargement de cette distribution. Par exemple, free.fr le propose en téléchargement ici pour la version 2008.1.

Une fois téléchargé, ce fichier doit être copié sur votre clef usb, toujours en utilisant l’utilitaire dd : dd if=all.img of=/dev/sdb. Voilà, tous vos fichiers sur cette clef ont été remplacés par l’installeur Mandriva. Pour les « Windowsiens »,l’utilitaire équivalent se trouve ici [1] .

lancement de l’eeePC avec notre clef

Il va falloir aller dans le BIOS (ou setup) de votre eeePC pour lui intimer l’ordre de démarrer sur la clef au lieu de démarrer sur le disque interne. Au démarrage, lorque vous voyez le logo « eeePC », appuyez sur la touche F2 (c’est indiqué sur la dernière ligne de l’écran).

Dans cet écran, vous allez dans le menu boot et là vous avez une ligne "hard disk drives" et c’est là que vous allez lui dire de préférer le disque USB plutôt que le SILICON MOTION truc (le disque interne). Enregistrez, redémarrez et c’est parti.

Vous avez désormais une installation classique Mandriva dont 3 étapes sont importantes :
 le partitionnement
 le chargeur de démarrage
 la configuration réseau

configuration du réseau

Branchez votre eeePC sur votre modem, votre routeur, votre hub, votre switch, votre adslbox. Bref, branchez-le au réseau internet. Dans mon cas, j’ai préféré rester sur du classique filaire ethernet. Il est peut-être possible de faire d’autre choix (pas wifi, le pilote madwifi n’est pas présent à ce stade) mais je suis quelqu’un de raisonnable : le réseau filaire , c’est simple, temporaire, efficace et fiable pour une installation par le réseau.

Si vous n’y arrivez pas, il n’est pas utile de continuer : sans téléchargement des paquets rpm, ça ne peut pas marcher. Il faudrait alors explorer l’alternative "miroir sur disque dur USB" qui nécessite une préparation supplémentaire.

partitionnement

A titre personnel, j’ai choisi de mettre une partition unique de 4 Go en « linux native » (donc extended 2 non journalisé). L’inconvénient est qu’en cas d’arrêt brutal, il y aura des dégâts sur les données mais je réduis un peu les accès disque. Je n’ai pas mis de swap qui amputerait la carte de 512 Mo ou + et vu que la « class 6 » tourne à 6 Mo/s maximum, ce serait une bien piêtre mémoire vive virtuelle.

Pour faire cela, il faut bien entendu choisir « partitionnement personnalisé » et ne pas se tromper entre la carte SD et le disque interne. Dans mon cas, la carte SD était reconnue en « sda » et contenait une partition unique en VFAT donc aucun risque de confondre avec le disque interne qui contient 3 partitions (une extended2, une extended3 et un fat). Cette version du disque interne semble spécifique à mon achat : eeepc avec clef 3G SFR.

le chargeur de démarrage

J’ai laissé le chargeur GRUB, proposé par défaut sur la mandriva 2008.1, mais il m’a fallu ensuite corriger les entrées. En effet, il m’a trouvé les deux partitions Xandros mais les choix du menu grub correspondant ne sont pas fonctionnels. On corrigera après le premier démarrage.

fin de l’installation

Je n’ai pas parlé des paquets à choisir car chacun fait ce qui lui plait. Personnellement, j’ai mis icewm+kde pour tester la rapidité en passant par les choix de paquetage individuel. Mais en voyant les noms des paquets défiler, je sais qu’il y aura de l’optimisation à faire.

N’oubliez pas de repasser par le BIOS pour rechanger le menu des priorités disque dur. Maintenant c’est SD-card qui passe en 1 er disque dur.

Au premier démarrage, toujours avec mon réseau ethernet, je découvre enfin mon eeepc avec ma mandriva fonctionnelle. Il faut configurer les miroirs [2] et notamment les miroirs non-free pour installer le paquet dkms-madwifi qui va nous permettre de faire fonctionner le wifi. Utilisez votre outil préféré (software manager rpmdrake, urpmi, gurpmi...) pour faire cela.

Désormais, vous pourrez configurer votre accès wifi avec l’habituel centre de configuration mandriva (ou plus exactement drakconnect).

Passons au correctif de grub

Déjà, il détecte du Debian alors que je voudrais qu’il l’appelle Xandros et ça se termine invariablement par un fichier non trouvé (il chaine sur le grub de la partition qui ne marchait pas) ou un kernel panic. La raison ? En changeant l’ordre dans le bios, j’ai aussi inversé /dev/sda et /dev/sdb or Xandros n’utilise pas l’UUID.

Quand j’arrive à chainer correctement sur le grub de ma partition Xandros, le lancement se fait sans le splashscreen gris "Starting..." et aboutit à une demande de login password graphique. Bref pas du tout sur mon environnement habituel.

Finalement, j’ai choisi de supprimer les deux entrées qu’avait détecté l’installeur Mandriva et de mettre la mienne. J’ai donc changé le fichier /boot/grub/menu.lst avec un éditeur de texte pour y ajouter :

root (hd1,0)
kernel /boot/vmlinuz-2.6.21.4-eeepc rw root=/dev/sda1 vga=785 quiet
initrd /boot/initramfs-eeepc.img

Ainsi, j’ai fait une entrée sans UUID, correcte et avec les mêmes options que le grub de la xandros.

Ensuite...

Voilà, nous y sommes : une mandriva qui fonctionne sur la carte SDHC, une xandros qui n’a pas bougé sur le disque interne, un wifi fonctionnel des deux côtés.

Cette installation ne me satisfait toutefois pas totalement. D’abord, le temps de chargement est trop long et pour chaque démarrage, j’ai droit à une vérification complète de /dev/sda ce qui ralentit d’autant le chargement. Petit à petit je m’oriente vers l’idée que ma carte SD est défectueuse.

Il restera à faire également toutes les optimisations :

 suppression des paquets RPM inutiles, désinstaller les logiciels gourmands
 tester LILO au lieu de GRUB qui me semble trop lent (30’’ ! ) ou rapatrier au moins vmlinuz et initrd sur le disque interne
 optimiser le chargement de Mandriva (en ne démarrant pas les service inutiles par exemple, en réduisant le nombre de mingetty)
 optimiser l’interface graphique (taille, résolution, nombre de bureaux, choix du window manager...)
 installer la clef 3G
 et toutes les autres choses que vous découvrirez dans un prochain article