Debian 7.0, I extracted the firmware.bin image using binwalk. The extracted content is squashfs-root folder containing subdirectories, and a separate file.squashfs file. I tried unsquashfs this file.squashfs file, but operation fails:

unsquashfs -l file.squashfs 
Can't find a SQUASHFS superblock on file.squashfs

What is the problem?

EDIT: yes, sasquatch file.squashfs works:

sasquatch D1000.squashfs
SquashFS version [768.256] / inode count [-1073676288] suggests a SquashFS image of a different endianess
Non-standard SquashFS Magic: qshs
Reading a different endian SQUASHFS filesystem on D1000.squashfs
Parallel unsquashfs: Using 2 processors
Trying to decompress using default gzip decompressor...
Trying to decompress with lzma...
Detected lzma compression
413 inodes (430 blocks) to write
  • What does file file.squashfs say? – Chris Down Oct 19 '14 at 1:47
  • what version squashfs was used to compress it? I think there is a breaking upgrade around v4. – mikeserv Oct 19 '14 at 2:24
  • I don't know what squashfs vers. was used to compress it. – triwo Oct 19 '14 at 9:15
  • @Chris Down: it say DATA – triwo Oct 19 '14 at 9:20

Since file doesn't recognize it, the vendor probably used a custom SquashFS magic signature. I expect that unsquashfs is also giving you an error about not being able to find a valid superblock.

Give sasquatch a try; it's a modified version of unsquashfs that attempts to support such vendor hacks.

  • Yes, this works. – triwo Oct 27 '14 at 2:25
  • One note: the squashfs-root extracted with binwalk have www and www_safe directories, whereas in squashfs-root extracted from xxx.squashfs with sasquatch that folders are missing. – triwo Oct 27 '14 at 13:05

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service, privacy policy and cookie policy

Not the answer you're looking for? Browse other questions tagged or ask your own question.