Je crée des squashfs personnalisés d’Ubuntu.
Actuellement, je suis confronté à cette erreur:
[ ... ] squashfs: SQUASHFS error: unable to read xattr id index table
Il peut être reproduit en s’exécutant dans initramfs
mount /cdrom/casper/filesystem.squashfs /filesystem.squashfs -t squashfs -o loop
Sans le -o loop
c'est la même chose.
mais quand je lance la commande dans Ubuntu, tout va bien:
Sudo mount /media/USER/UUI/casper/filesystem.squashfs fs-uui -t squashfs -o loop
Remarques:
splash
et quiet
de la commande de démarrage.Si vous avez des suggestions sur la manière de déboguer ceci ou sur la création de votre image iso personnalisée à l’amorçage avec efi, veuillez laisser une note.
EDIT 1: Actuellement, la solution consiste à supprimer les xattrs du système de fichiers racine à l’aide de l’option -no-xattrs
:
mksquashfs / "$filesystem_location/filesystem.squashfs" -ef ./exclude.txt -wildcards -no-xattrs
Edit 2: L'erreur persiste.
Vous écrivez, vous pouvez monter les squashfs à partir d'un système entièrement démarré, mais vous ne pouvez pas le monter lors du démarrage. Cela suggère qu'il vous manque un module de noyau dans votre initramdrive.
Au démarrage, seuls les modules des images initrd sont disponibles.
Dans le système en cours d'exécution, vous pouvez émettre lsmod
pour afficher une liste des modules chargés. Lors du montage de l'image squash, le noyau doit être contraint de charger des modules de pilote supplémentaires. Emission de lsmod
avant et après le montage, vous devriez pouvoir voir quels modules ont été chargés pendant le montage.
Entrez ces modules dans /etc/initramfs-tools/modules
et reconstruisez votre initrd en utilisant update-initramfs -u
.