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é :
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.
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.
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
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.
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.
mke2fs
, créez un système racine de la bonne
taille sur une disquette.
rdev
indiquée.
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.
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 :
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
).