
Hi Heiko,
On Fri, 22 Oct 2021 at 11:54, Heiko Thiery heiko.thiery@gmail.com wrote:
Hi Simon,
Am Fr., 22. Okt. 2021 um 18:07 Uhr schrieb Simon Glass sjg@chromium.org:
Hi Heiko,
On Fri, 22 Oct 2021 at 07:24, Heiko Thiery heiko.thiery@gmail.com wrote:
Hi,
Am Fr., 22. Okt. 2021 um 14:37 Uhr schrieb Stefano Babic sbabic@denx.de:
Hi Heiko,
On 22.10.21 10:19, Heiko Thiery wrote:
Hi Stefano, Hi Simon,
Am Do., 21. Okt. 2021 um 15:57 Uhr schrieb Heiko Thiery heiko.thiery@gmail.com:
Hi Stefano, Hi Simon,
Am Do., 21. Okt. 2021 um 15:29 Uhr schrieb Stefano Babic sbabic@denx.de: > > On 21.10.21 15:17, Heiko Thiery wrote: >> Hi Stefano, >> >> >> Am Do., 21. Okt. 2021 um 13:31 Uhr schrieb Stefano Babic sbabic@denx.de: >>> >>> Hi Heiko, >>> >>> On 14.10.21 20:08, Heiko Thiery wrote: >>>> The Kontron pitx-imx8m is an NXP i.MX8MQ based board in the pITX >>>> form factor. >>>> >>> >>> There is still something using binman that does not work with CI. >>> Without CI, we load all firmware including signed_hdmi_imx8m.bin. >>> >>> But on CI, file is not loaded, but instead of warnings, build for this >>> board fails with : >>> >>> +Image 'main-section' is missing external blobs and is non-functional: >>> blob-ext@1 blob-ext@2 blob-ext@3 blob-ext@4 >>> +binman: Error 1 running 'mkimage -d ./mkimage.spl.mkimage -n >>> spl/u-boot-spl.cfgout -T imx8mimage -e 0x7e1000 >>> ./mkimage-out.spl.mkimage': signed_hdmi_imx8m.bin: Can't open: No such >>> file or directory >>> + >>> >>> Could you take a look ? >> >> Sure. Could you point me to the right CI configuration? >> > > Configuration is in .gitlab-ci.yml. For thsi board, buildman is called > as part of aarch64 target, that is > > buildman -o /tmp -P -E -W arm -x aarch64 > >> I need to understand how the required imx-firmware files are copied to >> the u-boot dir. This seems to work already for e. g. the imx8mm >> boards. These require the lpdd* train fw files.
Here we seem to hit an issue with the CI. blobs (lpddr*) are required for the imx8mm boards. Binman reports the missing files only as a warning and buildman does not care about that:
+WARNING 'mkimage.flash.mkimage' not found, resulting binary is not-functional
With the imx8mq boards switching to binman we also need an additional fw part (signed_hdmi_imx8m.bin). But other than the lpddr firmware as blob the signed_hmdi'_imx8m.bin is passed to mkimage and mkimage exits with an error. Thats leads to the error:
binman: Error 1 running 'mkimage -d ./mkimage.spl.mkimage -n spl/u-boot-spl.cfgout -T imx8mimage -e 0x7e1000 ./mkimage-out.spl.mkimage': signed_hdmi_imx8m.bin: Can't open: No such file or directory
Currently I do not have an idea how to handle that. Anyone else?
If I understand correctly:
1.You don't have these blobs in the tree so don't want to fail a build in CI, which is why binman's blob-ext is used
Correct, for the imx8mq e.g. the signed_hdmi_imx8m.bin is required that comes from NXP and has to be copied to the u-boot build dir.
- You sometimes need to ensure that they do exist
For the build the "signed_hdmi_imx8m.bin" is required to successfully build.
Should we add a cmdline flag to binman to require all external blobs?
I do not understand that. What should happen if this flag is present?
Could we drop the blobs and add code to generate them, or put the date in a C struct?
No, this is not possible because they are delivered by NXP from the firmware-imx package and has to be copied from there.
Perhaps they should upstream that stuff and turn it into code in U-Boot?
Anyway, I think you are working on this, per the irc chat. [..]
Regards, Simon