« La distribution Linux Xandros de l'EeePC » : différence entre les versions
m (→l'initialisation : startsimple) |
|||
Ligne 68 : | Ligne 68 : | ||
===l'initialisation=== | ===l'initialisation=== | ||
Au lieu d'exécuter tout en un ensemble de scripts présents dans <code>/etc/init.d</code>, 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, | Au lieu d'exécuter tout en un ensemble de scripts présents dans <code>/etc/init.d</code>, 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 simultanément : | ||
*le serveur X, puis lance x-session-manager, qui est un lien vers <code>/usr/bin/startsimple.sh</code> (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]] <code>/usr/sbin/services.sh</code>, qui va faire tout le travail. | Le lancement de ces services "non essentiels" consiste simplement à lancer le script [[shell]] <code>/usr/sbin/services.sh</code>, qui va faire tout le travail. |
Version du 3 juillet 2008 à 13:16
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 simultanément :
- le serveur X, puis lance 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é,
- il démarre vraiment le réseau,
- il charge tous les drivers (modules) nécessaires,
- il lance /usr/sbin/wlan_on_boot.sh (voir ci-dessous),
- 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.
... to be continued...
Note : comme c'est un script shell, on peut le modifier...
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/ |