La distribution Linux Xandros de l'EeePC
La distribution Linux Xandros de l'EeePC
La distribution Linux livrée avec l'EeePC est une version spéciale de Xandros, elle même basée sur la distribution Debian.
Elle en partage donc un grand nombre de particularités.
Si vous êtes nouveau à Linux, je vous propose de lire l'article d'introduction à Linux de ce site.
installer un logiciel
à faire
désinstaller un logiciel
à faire
ajouter des dépôts de logiciels
à faire
Le disque interne (UnionFS)
Votre disque interne est découpé en 2 partitions. L'une (/dev/sda1
) qui contient le système tel qu'installé par Asus en sortie d'usine (et ne sera jamais modifié), l'autre (/dev/sda2
) contenant toutes les modifications apportées par l'utilisateur depuis la première utilisation (fichiers utilisateurs, logiciels installés ou mis à jour...).
Ces deux partitions sont montées lors du démarrage, en les fusionnant afin de n'en faire apparaître qu'une seule. Ce mode de montage se nomme UnionFS.
"Monter" une partition signifie sous Linux attacher son contenu à un répertoire afin de pouvoir y accéder. Il n'existe pas d'accès direct aux partitions sous formes de lettres comme le C:, D: d'un autre système d'exploitation bien connu, au contraire, le principe du montage permet de faire apparaître toutes les partitions, tous les disques durs, tous les accès à des répertoires partagés, etc. comme un seul et unique système de fichier).
Ainsi, pour revenir à la configuration d'usine, il suffit de supprimer la deuxième partition. C'est d'ailleurs ce que fait l'entrée du menu de boot "Restore factory settings" (voir ci-dessous).
C'est l'avantage principal de cette configuration (i.e. vous ne pouvez pas rendre votre EeePC inutilisable en faisant des manips, en dehors du mode single user). Le désavantage étant :
- la nécessité de partitionner le petit disque de 4 Go,
- la perte de place (lorsque vous mettez à jour un logiciel, les anciens programmes ne sont plus visibles mais restent sur la première partition, et consomment donc de la place pour rien). C'est particulièrement sensible sur le disque interne de 4 Go, mais assez peu dérangeant finalement si vous ajoutez une carte SD (on trouve maintenant des 16 Go pour pas cher) pour y placer vos fichiers utilisateur.
Vous pouvez voir sous le capot en démarrant en mode single user. Après le démarrage, aucune des 2 partitions n'est montée. Vous vous trouvez dans la racine du système /.
Pour accéder à vos fichiers, il faut "monter" les partitions, i.e. attacher leur contenu à un répertoire. Pour ce faire entrez les 2 commandes suivantes :
# mount /dev/sda1 /mnt-system
mount /dev/sda2 /mnt-user
Dans chacun des répertoires /mnt-system
et /mnt-user
, vous pourrez voir un ensemble de répertoire semblables à ceux qu'on trouve à la racine de n'importe quel système Linux. La magie de UnionFS est de les fusionner et de n'en laisser apparaître qu'un.
Vos modifications seront toutes dans /mnt-user
. Dans /mnt-system
, vous trouvez le système d'origine. Attention aux modifications faites dans /mnt-system
: vous ne pourrez plus revenir en arrière depuis le menu de démarrage, et si vous n'arrivez pas à corriger un problème il ne vous restera plus qu'à utiliser le DVD de restauration !
Le démarrage (séquence de boot)
Le démarrage de l'EeePC est spécifique à cette machine. C'est ce qui lui permet de démarrer en si peu de temps (environ 25 secondes).
Le gestionnaire de démarrage choisi par Asus est Grub.
Grub propose un menu de démarrage ; celui-ci n'est pas visible, mais si vous pressez <key>F9</key> de façon répétée lors du boot, vous devriez voir apparaître un menu ressemblant à ceci : <cadre type=console> +--------------------------------- | Normal boot | Perform disk scan | Restore factory settings |</cadre>
Si vous avez appliqué le tutoriel Rescue mode EeePC, vous devez avoir une entrée supplémentaire, dénommée "Single user".
Dans ce menu, choisissez une entrée avec les flèches du clavier, et appuyez sur entrée pour la lancer. Vous pouvez ajouter / modifier les arguments de la ligne de commande passées à Linux en tapant <key>E</key>, et même utiliser la ligne de commande de Grub en pressant <key>C</key>. Les modifications effectuées ici ne sont pas enregistrées (elle ne seront pas visibles au boot suivant). Pour plus d'informations, voir l'article détaillant Grub.
Description des entrées de menu :
- Normal boot : démarrage normal de l'EeePC.
- Perform disk scan : vérification du disque interne.
- Restore factory settings : remise à zéro de l'EeePC (supprime toutes les modifications que vous avez apportées depuis l'acquisition de la machine).
la séquence de boot
La distribution de l'EeePC utilise un programme de boot nommé fastinit qui remplace le programme init des autres distributions. Fastinit est un logiciel propriétaire d'Asus. A noter l'existence de finit, un logiciel libre permettant de remplacer et améliorer fastinit (vive le logiciel libre ;-).
l'initialisation
Au lieu d'exécuter tout en un ensemble de scripts présents dans /etc/init.d
, ce qui prend un temps important, fastinit fait lui-même le travail d'un init simplifié, et de quelques scripts d'initialisation. Il gère les signaux, monte les systèmes de fichiers, crée les fichiers de base, met en place le réseau (mais pas la connection elle-même), ouvre les terminaux (en fait un seul, celui où va tourner X Window) et finalement lance :
- le serveur X, puis
/usr/bin/x-session-manager
, qui est un lien vers/usr/bin/startsimple.sh
(voir ci-dessous) - En même temps, en tâche de fond, il démarre les autres services non essentiels. Ainsi le serveur X est-il lancé le plus tôt possible, donnant une sensation de grande rapidité au démarrage.
Le lancement de ces services "non essentiels" consiste simplement à lancer le script shell /usr/sbin/services.sh
, qui va faire tout le travail.
services.sh
Pour ceux qui ne peuvent ou ne veulent pas lire le script shell, voici ce qu'il fait.
- il attend 1 seconde que l'environnement graphique soit démarré (afin de ne pas ralentir son démarrage),
- il démarre vraiment le réseau,
- il charge tous les drivers (modules) nécessaires,
- il lance
/usr/sbin/wlan_on_boot.sh
qui essaie de se connecter en wifi lors du démarrage (si vous avez défini une telle connection), - il restore le volume sonore (tel qu'il était lors de l'arrêt),
- il démarre le système d'impression Cups,
- il démarre de la façon standard (comme init le ferait) les services listés dans
/etc/fastservices
(fichier qui n'existe pas par défaut ; c'est ici que vous pouvez ajouter les noms de services présents dans/etc/init.d/
), - il démarre Samba, la couche de partage de ressources (répertoires, imprimantes...) compatible avec Windows,
- plus tout un tas de petites (mais importantes) choses.
Note : comme c'est un script shell, on peut le modifier pour ajouter des services non graphiques, mais il me semble plus judicieux de le faire de la façon standard, i.e. utiliser des scripts dans /etc/init.d/
et les référencer dans /etc/fastservices
(voir ci-dessous)...
startsimple.sh
/usr/bin/startsimple.sh
, dont les permissions autorisent l'édition par un simple utilisateur, lance tout ce qui est nécessaire pour initialiser la session graphique sous X Window :
- l'environnement "Easy" avec ses grandes icones,
- la zone de notification (la zone avec les icones en bas à droite),
- les logiciels qui s'y affichent sous forme d'icone (réglages réseau, réseau, batterie, témoins verrouillage numérique et verrouillage majuscule, mixer sonore,
- le logiciel permettant d'afficher en sur-impression les actions faites avec la touche <key>Fn</key> (comme changer la luminosité de l'écran, le volume sonore...),
- si vous avez suivi le tutoriel [Lancement automatique de logiciels au démarrage sur EeePC], il va lancer les programmes présents ou liés depuis
/home/user/Autostart
(permettant ainsi à l'utilisateur d'ajouter simplement des logiciels à lancer au démarrage, comme par exemple la messagerie instantanée), - puis lancer dispwatch et enfin IceWM, les gestionnaire de fenêtres (le programme qui affiche la barre de titre des fenêtres, permet de les déplacer, dimensionner, etc.)
fastservices ou comment démarrer des services (démons ou daemons) au démarrage
Un grand nombre de services sont installés par défaut, et on peut en ajouter. Chaque service dispose d'un script de démarrage dans /etc/init.d/
. Néanmoins, l'EeePC n'utilisant pas la méthode standard de démarrage des autres distributions, vous devez les activer en ajoutant leur nom dans le fichier /etc/fastservices
.
Vous pouvez lire cet article afin d'avoir plus d'explication sur les services, et leur fonctionnement dans le cadre d'une distribution classique de Linux (i.e. les informations qui y sont présentes ne s'appliquent pas toutes à l'EeePC).
Si vous en avez besoin, vous devrez créer ce fichier (il n'existe pas par défaut), et mettre dedans les services que vous souhaitez lancer. Par exemple :
ssh
cron
rc.local
Dans cet exemple, nous démarrons le serveur ssh (pour se connecter à la machine depuis le réseau avec ssh), le service cron (qui réalise des tâches programmées), et lançons le script /etc/init.d/rc.local
.
rc.local devrait toujours être la dernière ligne du fichier. En effet, dans une distribution Linux classique, il est lancé en dernier et contient des instructions à exécuter après que tous les services aient été démarrés. C'est le script où l'utilisateur customise le démarrage de la machine (pour faire des actions supplémentaires).
Note : le fichier ne doit contenir que chaque service sur une ligne. En particulier on ne peut pas mettre de commentaires dedans à cause de la façon dont le fichier est utilisé dans le script qui l'appelle.
la finalisation
Lorsque vous arrêtez l'EeePC, fastinit reprend la main, enregistre quelques réglages (le volume sonore, l'heure système), puis démonte les systèmes de fichiers et arrête ou redémarre le PC en fonction de l'action que vous avez demandée.
Copyright
Copyright © 6/2008, Jean-Christophe Cardot
Ce document est publié sous licence Creative Commons Attribution, Partage à l'identique 4.0 : https://creativecommons.org/licenses/by-sa/4.0/ |