On 21 December 2017 at 14:51, Guillaume Tucker < guillaume.tucker@collabora.com> wrote:
On 21/12/17 14:49, Guillaume Tucker wrote:
On 19/12/17 19:02, Guillaume Tucker wrote: [...]
I've now added some patches to generate the FIT image using mkimage using a similar approach as for uImage, see all the current reviews here:
https://review.linaro.org/#/q/topic:T6321-depthcharge
As Tomeu pointed out, the "mkimage -f auto" option can be used to automatically generate a .its structure without actually using any intermediate file. There are a few things that can't be done with this simple mode but as far as I can tell it should cover our needs for Depthcharge.
The LXC support remains available if particular tests need customised
handling or options (or if a patched version of mkimage is needed).
The FIT format has been around for long enough for it to work with standard mkimage, I would hope. But yes, if some LAVA labs use an older distro with an incompatible version then LXC would be a way to keep the version of mkimage under control. It would however make the test definitions a bit more complicated and depthcharge-specific, which is something we would prefer to avoid for kernelci.org in particular.
So I'll see how it goes with running mkimage on the dispatcher and with various versions of mkimage.
I still need to compare various versions of mkimage.
So Debian Stretch has mkimage 2016.11 which supports the "-f auto" option. However, Debian Jessie has mkimage 2014.10 which does not and really needs an its file to generate an FIT image.
There's no backport to jessie-backports currently.
Add a check the validate() based on infrastructure_check() and see if the version can be checked for compliance - raise InfrastructureError exception if not. Then it will be up to admins to base their dispatchers on Stretch. We'll be moving to Stretch being the recommended base for LAVA in the New Year and dropping support for Jessie at some point in 2018.
Is it OK to require a recent enough version of mkimage as in Stretch in order to generate these FIT images, or should we generate the its file to support older versions?
I started to look at options to generate the its file, it can be a bit cumbersome but should not be technically challenging... Would be nice to avoid it if possible to keep the code simpler.
Alternatively, it should hopefully be easy enough to backport u-boot-tools from Stretch to a local Jessie repository.
Also, dtc is not installed on ci.linaro.org so the Gerrit
Compare with existing unit tests - if you need a tool in the path which is not always installed, use a @skipIf decorator with the infrastructure_check on that binary.
automated unit tests are now failing since I added a check:
14:35:27 JobError: Invalid job data: ["Cannot find command 'dtc' in $PATH"]
Guillaume