Arducopter Waf Build Repeatability

Is there a way to build a new waf firmware that produces an exact image copy in the PX4 file compared to a previous build? We are using a variation of arducopter 3.5.5 and need a way to reproduce the firmware image (the image: “…”, section in the px4 file) exactly for verification. We have noticed the following:

  1. Using the same directory on the same computer at different times produces images where the last 5% or so of the arducopter.px4 image is different between the 2 files, along with the build time of course. The px4 images are the same size.

  2. Using the same directory on different computers at different times produces produces images of the same size as well with a similar 5% difference.

  3. Using different directories with different path lengths produces px4 images of different sizes.

So is it possible to produce px4 file images from different builds that are exactly the same somehow?

Thanks in advance!

Hi John,

Unfortunately no. This post discusses what’s going on:

Thanks for the reply! I got as far as reproducing everything except the timestamps in the python scripts (time.time() calls). I’m going to give up on this for now, but I may have to revisit it in the future.

Wow, impressive! :ok_hand:

I’ve done a fix for the ChibiOS builds here:

the issue was caused by the timestamp in the gzip header in compressed ROMFS files