FIT Image not working in U-Boot
Freddie
fpidev23 at gmail.com
Thu Aug 17 15:56:44 CEST 2023
On Thu, Aug 17, 2023 at 2:45 PM Simon Glass <sjg at chromium.org> wrote:
> Hi Freddie,
>
> On Thu, 17 Aug 2023 at 07:39, Freddie <fpidev23 at gmail.com> wrote:
> >
> >
> >
> > On Thu, Aug 17, 2023 at 2:19 PM Simon Glass <sjg at chromium.org> wrote:
> >>
> >> Hi Freddie,
> >>
> >> On Thu, 17 Aug 2023 at 07:02, Freddie <fpidev23 at gmail.com> wrote:
> >> >
> >> > Hi Simon,
> >> >
> >> > I'm quite new to this so sorry for asking so many questions but where
> do I run the 'dump_image -l' command and which code should I look into
> adding print statements to?
> >>
> >> One thing is to add your reply at the bottom, not the top.
> >>
> >> Actually it is 'dumpimage -l file.fit' to list the contents of your
> >> fit file called 'file.fit'. The program is built in the tools/
> >> directory or your build, or you can
> >>
> >> I mean if you are completely stumped, go to where the error is
> >> generated and add lots of debugging around it. This is
> >> boot_get_kernel() which is in v2021.10 is in common/bootm.c - so just
> >> add lots of printf() stuff there, rebuild and run on the board and see
> >> if you can figure out what is wrong. From my side I am really not
> >> sure.
> >>
> >> Feel free to share the FIT through a link if you like.
> >>
> >> Also, you could try using a simple FIT without the signature part.
> >>
> >> >
> >> > I have also just looked into my .config file and this is the contents:
> >> >
> >> > #
> >> > # Automatically generated file; DO NOT EDIT.
> >> > # U-Boot 2021.10 Configuration
> >> > #
> >> >
> >> [..]
> >>
> >> > #
> >> > # Boot images
> >> > #
> >> > # CONFIG_ANDROID_BOOT_IMAGE is not set
> >> > CONFIG_FIT=y
> >> > CONFIG_FIT_EXTERNAL_OFFSET=0x0
> >> > CONFIG_FIT_FULL_CHECK=y
> >> > CONFIG_FIT_SIGNATURE=y
> >> > CONFIG_FIT_SIGNATURE_MAX_SIZE=0x10000000
> >> > # CONFIG_FIT_RSASSA_PSS is not set
> >> > # CONFIG_FIT_CIPHER is not set
> >> > # CONFIG_FIT_VERBOSE is not set
> >> > # CONFIG_FIT_BEST_MATCH is not set
> >> > CONFIG_FIT_PRINT=y
> >> > # CONFIG_LEGACY_IMAGE_FORMAT is not set
> >> > CONFIG_SUPPORT_RAW_INITRD=y
> >> > CONFIG_OF_BOARD_SETUP=y
> >> > # CONFIG_OF_SYSTEM_SETUP is not set
> >> > # CONFIG_OF_STDOUT_VIA_ALIAS is not set
> >> > CONFIG_SYS_EXTRA_OPTIONS=""
> >> > CONFIG_HAVE_SYS_TEXT_BASE=y
> >> > CONFIG_ARCH_FIXUP_FDT_MEMORY=y
> >> > # CONFIG_CHROMEOS is not set
> >> > # CONFIG_CHROMEOS_VBOOT is not set
> >> >
> >> [..]
> >>
> >> This has CONFIG_FIT and CONFIG_LEGACY_IMAGE_FORMAT is disabled (since
> >> you have signature verification on).
> >>
> >> Regards,
> >> Simon
> >
> >
> > Hi Simon,
> >
> > Thank you for your advice, I'll make sure to reply at the bottom of the
> message from now on.
> >
> > I've run the dumpimage command and this was my output:
> > root at freddie-pi-dev:/home/fit# ../optee/u-boot/tools/dumpimage -l
> image.fit
> > FIT description: RPi FIT Image
> > Created: Thu Aug 3 15:47:15 2023
> > Image 0 (kernel-1)
> > Description: default kernel
> > Created: Thu Aug 3 15:47:15 2023
> > Type: Kernel Image
> > Compression: uncompressed
> > Data Size: 20869632 Bytes = 20380.50 KiB = 19.90 MiB
> > Architecture: AArch64
> > OS: Linux
> > Load Address: 0x12000000
> > Entry Point: 0x12000000
> > Hash algo: sha1
> > Hash value: 08d43ed37129fa26e0f5f9d303a211b708c66783
> > Image 1 (tee-1)
> > Description: atf
> > Created: Thu Aug 3 15:47:15 2023
> > Type: Standalone Program
> > Compression: uncompressed
> > Data Size: 1257464 Bytes = 1227.99 KiB = 1.20 MiB
> > Architecture: AArch64
> > Load Address: 0x08400000
> > Entry Point: 0x08400000
> > Hash algo: sha1
> > Hash value: 4907d9c33098b2767cd6bc4bc9836f2f913464c7
> > Image 2 (fdt-1)
> > Description: device tree
> > Created: Thu Aug 3 15:47:15 2023
> > Type: Flat Device Tree
> > Compression: uncompressed
> > Data Size: 32501 Bytes = 31.74 KiB = 0.03 MiB
> > Architecture: AArch64
> > Load Address: 0x01000000
> > Hash algo: sha1
> > Hash value: 1b5bb266752cb247d89245c63bd041acfa34c7c0
> > Default Configuration: 'config-1'
> > Configuration 0 (config-1)
> > Description: default configuration
> > Kernel: kernel-1
> > FDT: fdt-1
> > Loadables: tee-1
> > Sign algo: sha1,rsa2048:dev
> > Sign value:
> 22cd61395ae659917626ef88ebf82429d6d592a7975cf48eb1e301f81c8f2a9ae60e203e283b8800971b72cd1b6bf93fb4f5f54d9bc4fb0f49ae0e48115ff087d8638f8080fdc9f72fbfdd2228d60dba33849a75dba6958a134eefb9441b43f6f8319b7885c052c7993a7c791fe0acc577a629b04630060f02e24e82f9e5c8851c0df3d63da45ee5daeeabe198b990c2b8cbe24834763df299d8ed5a25cb90818caa23676e764d4d6e91e852451c1dae8a2946b9741e637b7556b6ebf27fa9e0ad5252909d13da67179b40f5097cc29c4ac1539c0fb89b567e8ee2d56ef92707d2a9d82a090d35c66cf23e8e66e5c8da5e197ec4a0dd771ef4a3246f6f499850
> > Timestamp: Thu Aug 3 15:47:15 2023
> >
>
> That looks fine
>
> >
> > I have tried to use an unsigned FIT before, but I also ran into the same
> error. In this case, do I simply disable the signature parts of the config,
> enable the legacy image format option and make the new image without any of
> the signing or are there other changes as well?
>
> Well no point in trying it then...you can normally just omit the signing
> step.
>
> >
> > Where would be an appropriate place to upload my FIT file to in order to
> share a link?
> >
>
> Google drive? Anything that allows public links.
>
> At this point, I think debugging it is the only option, as I mentioned
> earlier. I don't know what rpi doesn't enable FIT by default, but
> perhaps there is some reason.
>
> Regards,
> Simon
>
Hi Simon,
I have uploaded my FIT file to google drive:
https://drive.google.com/file/d/1Q4GMcrT8tzCCznPe1X_5JA3LLFarW6iO/view?usp=drive_link
I will now try and do some debugging, thank you very much for your help.
Regards,
Freddie
More information about the U-Boot
mailing list