Adaptation française : Matthieu Thomassin
Relecture de la version française : Yvon Benoist
Préparation de la publication de la v.f. : Jean-Philippe Guérard
1.7.fr.1.0
2008-03-06
Historique des versions | ||
---|---|---|
Version 1.7.fr.1.0 | 2008-03-06 | MT, YB, JPG |
Première adaptation française. | ||
Version 1.7 | 2005-03-25 | AP |
Changements selon la version 2.1 de SquashFS. | ||
Version 1.6 | 2004-11-10 | AP |
Changements selon la version 2.0 de SquashFS. Corrections dans le texte. | ||
Version 1.5 | 2004-06-07 | AP |
Changements selon la version 2.0 alpha de SquashFS. Beaucoup de descriptions améliorées et clarifiées. Découpage des instructions pour le noyau Linux 2.6.x (nouveau) et les versions 2.4.x. | ||
Version 1.1 | 2004-05-22 | AP |
Changements selon la version 1.3r3 de SquashFS. | ||
Version 1.0 | 2004-02-19 | AP |
Version initial, revu par LDP. | ||
Version 0.2 | 2003-12-08 | AP |
Corrections du texte, licence ajoutée. | ||
Version 0.1 | 2003-11-24 | AP |
Version initial. Instructions pour la version 1.3r2 de SquashFS. |
Résumé
Ce guide pratique décrit l'utilisation de SquashFS — un système de fichier en lecture seule hautement compressé pour Linux, qui est prévu pour être utilisé dans des systèmes embarqués et de petite taille, et partout où on peut avoir besoin d’utiliser un système de fichier compressé. Avec ce document, vous allez apprendre comment préparer un noyau Linux à l'utilisation de SquashFS, créer un système de fichier compressé et l'utiliser en toute sérénité.
Table des matières
Le site principal de SquashFS est basé à l'adresse http://squashfs.sourceforge.net/ ; il contient les informations pour les dernières versions et la liste des changements apportés, ainsi que les informations générales sur SquashFS. On peut obtenir la dernière version de SquashFS en allant sur la page du projet SquashFS de SourceForge.
Pour pouvoir l’utiliser, SquashFS doit être supporté dans votre noyau,
exactement comme s’il s’agissait d’un système de fichiers
reiserfs
ou ext3
. Il faut
s'assurer qu'il existe un correctif approprié pour la version de votre
noyau ; il devrait être dans le sous-répertoire
linux-2.x.y
de l'arborescence de SquashFS. En
outre, rappelez vous que dans la plupart des cas vous aurez besoin d'un
noyau source Linux propre (original) récupérer sur
kernel.org. Si votre noyau
source vient d’un revendeur de distribution, il aura peut-être été
pré-corrigé par le revendeur, et l’application du correctif de SquashFS
ne donnera très certainement aucun résultat, car les correctifs SquashFS
sont faits par rapport aux noyaux Linux d’origine
bash# cd /usr/src/squashfs bash# cp linux-2.x.y/squashfs-patch /usr/src/linux
Allez dans le répertoire source du noyau Linux
/usr/src/linux
:
bash# cd /usr/src/linux
![]() | Note |
---|---|
Il faut se rappeler qu'on ne quittera pas ce répertoire à aucun moment
au cours des procédures prochaines liées au noyau, et que tous les
chemins seront donnés par rapport au chemin
|
Maintenant appliquez le correctif de SquashFS sur la source :
bash# patch -p1 < squashfs-patch
Nettoyez et préparez la source du noyau :
bash# make distclean bash# make mrproper
Configurez le noyau en utilisant votre méthode préférée (config/menuconfig/xconfig/gconfig) :
bash# make menuconfig
Maintenant on peut compiler le noyau et les modules :
bash# make
bash# make menuconfig
Maintenant on peut compiler le noyau et les modules :
bash# make dep bash# make bzImage bash# make modules
bash# mksquashfs source1 source2 ... destination [options]
Remarques concernant le comportement par défaut de mksquashfs :
Voir la section suivante pour plus d'information sur l'ensemble des options disponibles.
bash# mksquashfs /répertoire/quelconque dir.sqsh
bash# mkdir /mnt/dir bash# mount dir.sqsh /mnt/dir -t squashfs -o loop
Pour vérifier si on obtient bien le résultat escompté :
bash# ls /mnt/dir
bash# mksquashfs /répertoire/quelconque /dev/fd0
Ensuite il n'y a qu'à monter le périphérique avec la commande mount :
bash# mount /dev/fd0 /mnt/floppy -t squashfs
bash# ls /mnt/floppy
Compressez le répertoire, puis montez le en local pour le tester :
bash# mksquashfs /var/arch /var/arch.sqsh bash# mkdir /mnt/tmp bash# mount /var/arch.sqsh /mnt/tmp -t squashfs -o loop bash# ls /mnt/tmp
/var/arch.sqsh /var/arch squashfs ro,defaults 0 0
bash# umount /mnt/tmp bash# mount /var/arch
Maintenant il n'y a plus qu'à vérifier que tout fonctionne bien :
bash# ls /var/arch
/dev/hda7 /var/arch reiserfs defaults 0 0
De la même manière que dans l'exemple précédent :
bash# mksquashfs /var/arch /var/arch.sqsh bash# mkdir /mnt/tmp bash# mount /var/arch.sqsh /mnt/tmp -t squashfs -o loop bash# ls /mnt/tmp
bash# umount /dev/hda7 bash# dd if=/var/arch.sqsh of=/dev/hda6
Maintenant remplacez la ligne /dev/hda7
dans
/etc/fstab
par :
/dev/hda6 /var/arch squashfs ro,defaults 0 0
Montez le nouveau système de fichiers et vérifiez si tout s'est bien passé :
bash# mount /var/arch bash# ls /var/arch
N'oubliez pas d'effacer l'image du système de fichiers dont on n'a plus besoin :
bash# rm /var/arch.sqsh
En disant "incorporés/minuscules", je veux parler de systèmes Linux construits pour démarrer à partir de disquettes, de disque IDE/USB à mémoire flash, de CD-ROM iso-9660, de petits disques durs et autres. Que vous vouliez avoir votre système de fichiers racine en entier sur un support unique (une seule partition, une seule disquette), ou avoir un système modulaire (plusieurs disquettes ou partitions de disques), la procédure est presque identique. La création des systèmes Linux en question n'entre pas dans le cadre de ce Guide Pratique ; il existe des guides pratiques et autres qui y sont consacrés (comme le Bootdisk HOWTO et Linux From Scratch ; visitez http://www.tldp.org pour récupérer ces documents).
bash# cd /home/user bash# mksquashfs floppylinux root.sqsh -e usr bash# mksquashfs floppylinux/usr usr.sqsh
![]() | Note |
---|---|
Vous voyez ici comment nous utilisons l'option -e
pour exclure le répertoire |
![]() | Note |
---|---|
N'oubliez pas de spécifiez |
bash# mount /mnt/floppy bash# cp root.sqsh /mnt/floppy/boot
bash# dd if=usr.sqsh of=/dev/fd0
Je souhaiterais exprimer mes sincères remerciements et mon immense respect à :
Tabatha Marshall de TLDP pour m'avoir aidé à amener ce Guide Pratique à la version finale 1.0.
Tous les participants à The Linux Documentation Project http://www.tldp.org pour leur superbe travail sur tous les guides pratiques et autres guides qui m'ont beaucoup aidé pour explorer et bidouiller Linux.
Tous les abonnés des listes de distribution de TLDP qui m'ont aidé à démarrer.
Je remercie infiniment et adresse mon respect à toutes les personnes qui développent les logiciels libres.
Ce document peut être utilisé et distribué selon les termes et conditions établies en avant dans la licence Open Content. Pour faire court, cela signifie que vous pouvez librement modifier et re-distribuer ce Guide Pratique à condition expresse que vous y conserviez intégralement l'auteur et les droits. Le texte complet de la licence est disponible sur http://www.opencontent.org/opl.shtml