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
Avec la source du noyau et le correctif SquashFS qui convient, il n’y a qu’à
faire ceci (on suppose que la source de votre noyau est dans
/usr/src/linux
et que la source de SquashFS est
dans /usr/src/squashfs
) :
Passer dans le répertoire source de SquashFS et copiez le correctif du noyau
(on supposera qu'il se nomme squashfs-patch
) vers
/usr/src/linux
.
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
Dans la partie « File systems », sous-partie « Miscellaneous file systems », activez l'option « Squashed filesystem », aussi bien comme module ou empaqueté dans le noyau. Il n'est nécessaire de compiler SquashFS à l'intérieur du noyau que si vous prévoyez d'utiliser un disque RAM initial compressé (initrd).
Si vous voulez utiliser un disque RAM initial compressé, activez le « Initial RAM disk support » dans la partie « Device drivers », sous-partie « Block devices ».
Si vous voulez avoir, à l'avenir, la possibilité de monter le système de fichier compressé via un périphérique local, vous devrez activer le « Loopback device support » dans la partie « Device drivers », dans la sous-partie« Block devices ».
Maintenant on peut compiler le noyau et les modules :
bash# make
Configuration du noyau :
bash# make menuconfig
Dans la partie « File systems », activez l'option « Squashed filesystems », aussi bien comme module ou empaqueté dans le noyau. Il n'est pas nécessaire de compiler SquashFS à l'intérieur du noyau que si vous prévoyez d'utiliser un disque RAM initial compressé (initrd).
Si vous voulez utiliser un disque RAM initial compressé, activez le « Initial RAM disk support » dans la partie « Block devices ».
Si vous voulez avoir, à l'avenir, la possibilité de monter le système de fichiers compressé via un périphérique local, vous devrez activer le « Loopback device support » dans la partie « Block devices ».
Maintenant on peut compiler le noyau et les modules :
bash# make dep bash# make bzImage bash# make modules
C’est maintenant que l’on va installer le nouveau noyau qui est prêt pour SquashFS. Les instructions ci-dessous expliquent l'installation et le démarrage du noyau sur la machine hôte. Si on veut, on peut l'installer et le tester sur le système cible.
On suppose que le noyau était compilé pour une architecture x86, et que
l'image du noyau compressé est situé dans le sous-répertoire
arch/i386/boot/
de l'arborescence du noyau.
Maintenant copiez le noyau dans le répertoire /boot
(et appelez-le bzImage-sqsh
par commodité si vous
voulez) :
bash# cp arch/i386/boot/bzImage /boot/bzImage-sqsh
N'oubliez pas d'installer les modules du noyau si vous en avez :
bash# make modules_install
Modifiez la configuration de votre chargeur de démarrage pour inclure votre nouveau noyau et installez (mettez à jour) le chargeur de démarrage. Maintenant vous pouvez redémarrer avec votre nouveau noyau. Quand la machine redémarre, vérifiez que tout va bien :
bash# cat /proc/filesystems
Ou, si vous avez construit votre support de SquashFS un module du noyau :
bash# insmod squashfs bash# cat /proc/filesystems
Si vous voyez la ligne squashfs
à l'intérieur d'autres systèmes de fichiers, cela signifie que vous avez correctement activé SquashFS dans votre noyau.
Maintenant il faut compiler mksquashfs, l'outil pour créer des systèmes de fichiers compressés.
bash# cd /usr/src/squashfs/squashfs-tools
Compilez et installez mksquashfs :
bash# make bash# cp mksquashfs /usr/sbin
Si tout s’est bien passé, en tapant mksquashfs dans un interpréteur de commandes vous devriez avoir le message sur« l'utilisation ».