I have tried to mount a filesystem from a firmware (embedded-linux) but it failed on my Ubuntu 12.04 machine. Could you tell me how to mount that file system? (or possible reasons of the failure). Details are as follows.


Step1) Analyzing the firmware using binwalk shows starting address of squashfs filesystem. Thus I generated squashfs filesystem using "dd" linux utility.

Step2) The analysis of generated filesystem using "binwalk ./fs.img" command shows:

Squashfs filesystem, big endian, lzma signatrue, version 3.0, size: XXXXXXX bytes, XXX inodes, blocksize: XXXXX bytes, created: xxxx

Step3) "mount -o loop ./fs.img ./fs" failed. "dmesg | tail" shows:

SQUASHFS error: Can't find a SQUASHFS superblock on loop1

How can I mount that file system? FYI, I installed latest squashfs-tools with lzma support from "sourceforge.net/procjects/squashfs".

  • 1
    IIRC you may omit the -o loop on FSimages, but anyway: Does it work if you mount it read-only? You could also try to use 'unsquashfs'...
    – Jan
    Aug 22, 2014 at 7:45
  • It does not work even if I omiited "-o loop" option (also read-only mount). Also I tried unsquashfs, but I got the same error message in Step3.
    – kolar
    Aug 23, 2014 at 13:54

1 Answer 1


I faced the same issue. Since my configuration did not support zlib, I used xz compression instead as it was supported in my configuration. The following worked:

mksquashfs source source.sqfs -comp xz
mount source.sqfs destination

You must log in to answer this question.

Not the answer you're looking for? Browse other questions tagged .