1

As I unpack and explore the packing structure of firmware, I am noticing that some firmware will have several file system structures. I can't seem to find any documentation as to why one device may have 1 filesystem structure (ex squashFS) while others can have several structures within the firmware binary.

Why do some vendors seem to do everything in one file system structure, while others use several structures?

1

There can be several reasons for that:

  • Sometimes you want parts of it read/write which squashfs doesn't support. Other parts should always be read-only, so there squashfs would be a great fit.
  • Some vendors allow OEM-partitions that contain changes specific to that OEM, while that doesn't necessarily have to be a different filesystem it's often a filesystem that allows read/write access so it's easier to setup or try out changes
  • Different filesystems have different advantages and disadvantages: Compression, read and write speed, cpu power and so on also should be taken into consideration when choosing a filesystem
  • Different developers working on the same project: Often a reference implementation is provided by the SoC manufacturer, that uses a specific filesystem. If developers prefer a different filesystem they decide to use it, so many developers on different parts that can be easily seperated could be a reason aswell. Ultimately this comes down to an inaccurate specification that gives the developers options where it shouldn't
  • Sometimes developers just want to try different things. While a product shouldn't be a playground for developers, sometimes it is exactly that

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.