[U-Boot] Complete verified uboot example
Simon Glass
sjg at chromium.org
Wed Mar 8 21:02:17 UTC 2017
Hi Ron,
On 27 February 2017 at 14:49, Ron Brash <ron.brash at gmail.com> wrote:
> Looks like far more progress:
>
> #> setenv my_bootcount 0; bootm 0xD0084000
> Initial value for argc=3
> Final value for argc=3
> ## Current stack ends at 0x23f11db8 * kernel: cmdline image address =
> 0xd0084000
> Reading image header from dataflash address d0084000 to RAM address
> 22000000
> FIT/FDT format image found at 0x22000000, size 0x0016c0b1
> Reading image remaining data from dataflash address d0084040 to RAM
> address 22000040
> ## Loading kernel from FIT Image at 22000000 ...
> No configuration specified, trying default...
> Found default configuration: 'config at 1'
> Using 'config at 1' configuration
> Trying 'linux_kernel at 1' kernel subimage
> Description: Linux zImage
> Type: Kernel Image
> Compression: uncompressed
> Data Start: 0x220000dc
> Data Size: 1465544 Bytes = 1.4 MiB
> Architecture: ARM
> OS: Linux
> Load Address: 0x22000000
> Entry Point: 0x22008000
> Hash node: 'hash at 1'
> Hash algo: sha256
> Hash value:
> 5dcf9a4328bca6fe5c3405e03b9a58402dce36f3a4f0c757e52091b050d2bcb2
> Hash len: 32
> Verifying Hash Integrity ... sha256+ OK
> kernel data at 0x220000dc, len = 0x00165cc8 (1465544)
> * ramdisk: using config 'config at 1' from image at 0x22000000
> * ramdisk: no 'ramdisk' in config
> * fdt: using config 'config at 1' from image at 0x22000000
> ## Checking for 'FDT'/'FDT Image' at 22000000
> ## Loading fdt from FIT Image at 22000000 ...
> Using 'config at 1' configuration
> Trying 'fdt at 1' fdt subimage
> Description: FDT blob
> Type: Flat Device Tree
> Compression: uncompressed
> Data Start: 0x22165ea4
> Data Size: 21681 Bytes = 21.2 KiB
> Architecture: ARM
> Hash node: 'hash at 1'
> Hash algo: sha256
> Hash value:
> c7f32d039871d858dda8d397c3b6a685bc914c78cf70f03d1860f61ecfe9c689
> Hash len: 32
> Verifying Hash Integrity ... sha256+ OK
> Loading fdt from 0x22165ea4 to 0x28000000
> Booting using the fdt blob at 0x28000000
> of_flat_tree at 0x28000000 size 0x000054b1
> Initial value for argc=3
> Final value for argc=3
> Loading Kernel Image ... OK
> CACHE: Misaligned operation at range [22000000, 22165cc8]
> kernel loaded at 0x22000000, end = 0x22165cc8
> images.os.start = 0x22000000, images.os.end = 0x2216c0f1
> images.os.load = 0x22000000, load_end = 0x22165cc8
> ERROR: new format image overwritten - must RESET the board to recover
> resetting ...
>
> This appears to be an addressing issue. Anyone care to comment?
>
> I'll put up how I got to this point after, but I am curious on how all of
> the addresses are leveraged, is there an order they follow and more?
At this point you are not dealing with a verified boot problem, IMO.
This is just about getting your board to load things at the right
address.
BTW you appear to be using image verification - I think you should
consider using configuration verification as it is more secure.
[...]
Regards,
Simon
More information about the U-Boot
mailing list