Page suivante Page précédente Table des matières

8. Sujets divers

8.1 Réduire la taille du système racine

Parfois un système racine est trop gros pour tenir sur une disquette, même après compression. Voici quelques techniques pour réduire sa taille, citées par ordre décroissant d'efficacité :

Augmentez la densité du disque

Par défaut, les disquettes sont formattées à 1440 Ko, mais des formats plus denses existent. fdformat peut formatter des disques avec les tailles suivantes : 1600, 1680, 1722, 1743, 1760, 1840 et 1920. La plupart des lecteurs 1440 Ko peuvent supporter 1722 Ko, et c'est ce que j'utilise toujours pour les disques d'amorce. Lisez la page de manuel de fdformat ainsi que /usr/src/linux/Documentation/devices.txt.

Changez de shell

Certains shells populaires sous Linux, tels que bash et tcsh, sont gros et nécessitent de nombreuses bibliothèques. D'autres options plus légères existent, telles que ash, lsh, kiss et smash, bien plus petites et nécessitant peu (ou pas) de bibliothèques. La plupart de ces shells de remplacement sont disponibles sur http://metalab.unc.edu/pub/Linux/system/shells/. Vérifiez que le shell que vous utilisez sait faire tourner les commandes de tous les scripts rc que vous incluez sur le disque d'amorce.

Nettoyez les bibliothèques et binaires

De nombreux binaires et bibliothèques restent non nettoyés (ils contiennent les informations pour le debogage). Si vous lancez 'file' sur ces fichiers, il vous indiquera 'not stripped' si c'est le cas. Lorsque vous copiez des binaires sur votre système racine, une bonne habitude à prendre est d'utiliser :

        objcopy --strip-all ORIGINE DESTINATION

Et lorsque vous copiez des bibliothèques :

        objcopy --strip-debug ORIGINE DESTINATION

Déplacez les fichiers non essentiels vers un disque utilitaire

Si certains binaires ne sont pas immédiatement nécessaires au démarrage ou au login, vous pouvez les déplacer sur un disque utilitaire. Lisez la section Construire un disque utilitaire pour les détails. Vous pouvez aussi déplacer les modules vers un disque utilitaire.

8.2 Système racine sans disque mémoire

La section Construire un système racine explique comment construire un système racine compressé chargé en mémoire lors du démarrage du système. Cette méthode qui présente beaucoup d'avantages est souvent utilisée. Néanmoins, certains systèmes possédant peu de mémoire ne peuvent se permettre d'utiliser de la RAM pour un disque mémoire, et doivent donc utiliser un système racine monté directement depuis la disquette.

De tels systèmes sont en réalité plus facile à construire que les systèmes racines compressés car on peut les créer directement sur disquette plutôt qu'en passant par un autre périphérique intermédiaire, et ne nécessitent pas de compression. Nous indiquerons les différences de procédure par rapports aux instructions précédentes. Si vous choisissez cette méthode, rappelez-vous bien que vous aurez beaucoup moins d'espace disque disponible.

  1. Calculez la taille disponible pour les fichiers racines. Si vous construisez un système d'amorce/racine unique, vous devez arriver à faire tenir tous les blocs du noyau ainsi que tous les blocs du système racine sur un seul disque.
  2. A l'aide de mke2fs, créez un système racine de la bonne taille sur une disquette.
  3. Remplissez le système comme décrit précédemment.
  4. Après cela, démontez le système et transférez-le vers un fichier sur le disque, mais sans le compresser.
  5. Transférez le noyau sur une disquette comme décrit précédemment. Lorsque vous calculerez le mot disque mémoire, mettez le bit 14 à 0 pour indiquer que le système racine ne doit pas être chargé en mémoire. Lancez la commande rdev indiquée.
  6. Transférez le système racine comme précédemment.

Vous pouvez prendre quelques raccourcis. Si vous construisez un système avec deux disques, vous pouvez construire le système de fichiers racine directement sur le second disque au lieu de le transférer sur le disque dur puis à nouveau sur la disquette. De même, si vous construisez un disque d'amorce/racine unique et si vous utilisez LILO, vous pouvez créer un système de fichiers unique sur toute la disquette contenant le noyau, les fichiers de LILO et les fichiers racine, avant de simplement lancer LILO comme dernière étape.

8.3 Construire un disque utilitaire

Construire un disque utilitaire est assez facile : créez simplement un système de fichiers sur une disquette formattée et copiez les fichiers dessus. Pour l'utiliser depuis un disque d'amorce, montez-le manuellement une fois le système démarré.

Les instructions précédentes indiquent qu'un disque utilitaire peut être monté en tant que /usr. Dans ce cas, les binaires doivent être placés dans un répertoire /bin du disque utilitaire, afin d'être référencés si vous mettez /usr/bin dans votre chemin. Les bibliothèques supplémentaires nécessaires aux binaires sont à placer dans /lib sur le disque utilitaire.

Il faut penser à plusieurs choses lorsque l'on crée un disque utilitaire :

  1. Ne placez pas de binaires ou de bibliothèques essentiels au système sur le disque utilitaire, puisqu'il ne sera montable qu'une fois le système démarré ;
  2. Vous ne pouvez pas utiliser de lecteur de disquette et de lecteur de bande sur port disquette en même temps. Ce qui veut dire que si votre lecteur de bande est sur un port disquette, vous ne pourrez pas y accéder tant que votre disque utilitaire sera monté ;
  3. L'accès aux fichiers du disque utilitaire sera lent.

L'annexe Exemple de contenu de disque utilitaire montre ce que peut contenir un tel disque. Voici quelques idées de fichiers qui peuvent vous être utiles : programmes de diagnostic et de manipulation de disques (format, fdisk) et systèmes de fichiers (mke2fs, fsck, debugfs, isofs.o), un éditeur de texte léger (elvis, jove), des utilitaires de compression et archivage (gzip, tar, cpio, afio), de gestion de bande (mt, tob, taper), de communication (ppp.o, slip.o, minicom) et de gestion de périphériques (setseriad, mknod).


Page suivante Page précédente Table des matières