[U-Boot] Unable to boot the new FIT image

Simon Glass sjg at chromium.org
Fri Jun 6 21:58:48 CEST 2014


Hi Harsha,

On 3 June 2014 22:40, Harsha Kiran <harshakiran443 at gmail.com> wrote:
>
> Hi Simon,
>
> On Tue, Jun 3, 2014 at 9:58 PM, Simon Glass <sjg at chromium.org> wrote:
>>
>> Hi Harsha,
>>
>> On 3 June 2014 20:29, Harsha Kiran <harshakiran443 at gmail.com> wrote:
>> > Hi Simon,
>> >
>> > I was able to succesfully test the Secure u-boot on the beaglebone black
>> > from the u-boot-x86 Bone git.
>> > Thanks for all the help and it was a great beaglebone_vboot.txt file !
>>
>> Good!
>>
>> >
>> > I have some of minor things i would like to mention when i followed the
>> > procedure.
>> >
>> > 1) in the 7th step
>> >
>> > 7. Put U-Boot and the kernel onto the board
>> > -------------------------------------------
>> > The MLO information is missing..
>>
>> In my case I already had this on the card. Do you have instructions
>> for what you followed?
>
>
> Harsha: I have formated my SD card into 2 partitions(boot and rootfs). in my
> boot partition, i have MLO,u-boot.img,image.fit,uEnv.txt and in the other
> partition i have the root filesystem.

OK - in the instructions I talk about copying the Angstrom image to
the SD card and it has these. Do you think I should add instructions
on how to do this yourself from scratch, instead of using the image?

> Instructions: I just copied them directly
> harsha at harshakiran_kasha:/abb/Verified-uboot/u-boot-x86$ sudo cp MLO
> /media/harsha/boot/
> harsha at harshakiran_kasha:/abb/Verified-uboot/u-boot-x86$ sudo cp u-boot.img
> /media/harsha/boot/
> harsha at harshakiran_kasha:/abb/Verified-uboot/u-boot-x86/doc/uImage.FIT$ sudo
> cp image.fit /media/harsha/boot/
>
> i used fatload command. i have to modify my uEnv.txt to load it without
> stoping in u-boot prompt.
> U-Boot# fatload mmc 0 0x82000000 image.fit
> reading image.fit
> 8580350 bytes read in 474 ms (17.3 MiB/s)
>
> U-Boot# bootm 0x82000000
> ## Loading kernel from FIT Image at 82000000 ...
>    Using 'conf at 1' configuration
>
>
>
>> >
>> >
>> > 2)
>> >
>> > I was not able to boot with kernel (image.lzo) in the FIT. it gave me
>> > the
>> > following error
>> > U-Boot# bootm 0x82000000
>> >
>> > ## Loading kernel from FIT Image at 82000000 ...
>> >    Using 'conf at 1' configuration
>> >    Verifying Hash Integrity ... OK
>> >    Trying 'kernel at 1' kernel subimage
>> >      Description:  unavailable
>> >      Created:      2014-06-04   1:28:38 UTC
>> >      Type:         Kernel Image
>> >      Compression:  lzo compressed
>> >      Data Start:   0x820000a8
>> >      Data Size:    8543704 Bytes = 8.1 MiB
>> >
>> >      Architecture: ARM
>> >      OS:           Linux
>> >      Load Address: 0x80008000
>> >      Entry Point:  0x80008000
>> >      Hash algo:    sha1
>> >      Hash value:   9504d8fefcec81c054e2d0fb4e9d9b6bcfb9b4b7
>> >    Verifying Hash Integrity ... sha1+ OK
>> >
>> > ## Loading fdt from FIT Image at 82000000 ...
>> >    Using 'conf at 1' configuration
>> >    Trying 'fdt at 1' fdt subimage
>> >      Description:  beaglebone-black
>> >      Created:      2014-06-04   1:28:38 UTC
>> >
>> >      Type:         Flat Device Tree
>> >      Compression:  uncompressed
>> >      Data Start:   0x82825f68
>> >      Data Size:    34352 Bytes = 33.5 KiB
>> >
>> >      Architecture: ARM
>> >      Hash algo:    sha1
>> >      Hash value:   4b14973cf0fe4a40dc420ed55d2441c6f51f586b
>> >    Verifying Hash Integrity ... sha1+ OK
>> >    Booting using the fdt blob at 0x82825f68
>> >    Uncompressing Kernel Image ... LZO: uncompress or overwrite error -1
>> > -
>> > must RESET board to recover
>> > resetting ...
>> >
>> > U-Boot SPL 2014.07-rc2 (Jun 03 2014 - 20:09:15)
>> > reading u-boot.img
>> > reading u-boot.img
>> >
>> > But when i switch it back to the zImage it worked good. I will check
>> > again
>> > on this.
>>
>> It might be the maximum image size:
>>
>> #define CONFIG_SYS_BOOTM_LEN (16 << 20)
>>
>> Is it possible that your kernel is larger than 16MB? Or that you
>> forgot to compress it with lzop?
>>
>  Harsha: I am working on the TI SDK7 and took tisdk_am335x-evm_defconfig as
> my config file.  The default kernel compression mode is Gzip. My Image is 8
> MB and zImage is 4.1MB. Which compression mode is the best? I usually use
> the XZ mode as it gives me smallest binary (uImage 2.9 MB).

Yes XZ is good, but does U-Boot support it? It looks to be like you
didn't compress your kernel 'Image' file with lzop?
>
>
>
>>
>> Regards,
>> Simon
>
>
> I have modified my signed image.fit in a HEX editor and loaded the image and
> it fails to load with the correct error..
> ....
>
> Entry Point:  0x80008000
>      Hash algo:    sha1
>      Hash value:   3d72bc90b8afb5464cb03de2952d1bba90cd542e
>    Verifying Hash Integrity ... sha1 error!
> Bad hash value for 'hash at 1' hash node in 'kernel at 1' image node
> Bad Data Hash
> ERROR: can't get kernel image!
> U-Boot#
> U-Boot SPL 2014.07-rc2 (Jun 03 2014 - 20:09:15)
>
> But, this time i did not sign my image.fit. i just converted my
> kernel_fdt.its to image.fit file (To test the unsigned images)
> harsha at harshakiran_kasha:/abb/Verified-uboot/u-boot-x86/doc/uImage.FIT$ sudo
> ../../b/am335x_boneblack_vboot/tools/mkimage -f  kernel_fdt.its image.fit
> I am still able to load the image.fit successfully.! Should the singed
> u-boot.img allow the unsigned images to load??
>
> To sign my u-boot i used the following command. (there is -r to make it
> compulsary)
>
> harsha at harshakiran_kasha:/abb/Verified-uboot/u-boot-x86/doc/uImage.FIT$ sudo
> ../../b/am335x_boneblack_vboot/tools/mkimage -f kernel_fdt.its -K
> am335x-boneblack-pubkey.dtb -k keys -r image.fit. I am i still missing
> anything??

Do you actually have a signature node in the .its file?

[snip]

Regards,
Simon


More information about the U-Boot mailing list