[yocto] Migrating from krogoth to morty (can't boot fitImage)

colin.helliwell at ln-systems.com colin.helliwell at ln-systems.com
Tue Jul 25 03:21:48 PDT 2017


I'm trying to migrate my krogoth environment to morty. I have custom recipes
for u-boot and kernel; the only change necessary to build under morty was to
patch u-boot for gcc6  - other than that the source versions and configs
used are the same.
On krogoth I can boot a fitImage kernel, but not on morty. (uImage works on
both). 
Looking at the image info on the morty image, it looks like the load/entry
addresses are completely wrong.

On krogoth:
U-Boot > iminfo

## Checking Image at 18000000 ...
   FIT image found
   FIT description: U-Boot fitImage for 
    Image 0 (kernel at 1)
     Description:  Linux kernel
     Type:         Kernel Image
     Compression:  uncompressed
     Data Start:   0x180000e8
     Data Size:    3304552 Bytes = 3.2 MiB
     Architecture: ARM
     OS:           Linux
     Load Address: 0x10008000
     Entry Point:  0x10008000
     Hash algo:    sha1
     Hash value:   10a220564569205b11febba4b7e2809395bfee9c
    Image 1 (fdt at 1)
     Description:  Flattened Device Tree blob
     Type:         Flat Device Tree
     Compression:  uncompressed
     Data Start:   0x18326e44
     Data Size:    38269 Bytes = 37.4 KiB
     Architecture: ARM
     Hash algo:    sha1
     Hash value:   79d5eeb892ef059566c04d98cdc6b30e92a665a2
    Default Configuration: 'conf at 1'
    Configuration 0 (conf at 1)
     Description:  Boot Linux kernel with FDT blob
     Kernel:       kernel at 1
     FDT:          fdt at 1
## Checking hash(es) for FIT Image at 18000000 ...
   Hash(es) for Image 0 (kernel at 1): sha1+
   Hash(es) for Image 1 (fdt at 1): sha1+

On morty:
U-Boot > iminfo

## Checking Image at 18000000 ...
   FIT image found
   FIT description: U-Boot fitImage for 
    Image 0 (kernel at 1)
     Description:  Linux kernel
     Type:         Kernel Image
     Compression:  uncompressed
     Data Start:   0x180000e8
     Data Size:    3304016 Bytes = 3.2 MiB
     Architecture: ARM
     OS:           Linux
     Load Address: 0x01314c40		<- doesn't seem like these could be
correct?
     Entry Point:  0x01314c40
     Hash algo:    sha1
     Hash value:   e2de67793e93d854614a42994180b77e053c7302
    Image 1 (fdt at 1)
     Description:  Flattened Device Tree blob
     Type:         Flat Device Tree
     Compression:  uncompressed
     Data Start:   0x18326c2c
     Data Size:    38269 Bytes = 37.4 KiB
     Architecture: ARM
     Hash algo:    sha1
     Hash value:   79d5eeb892ef059566c04d98cdc6b30e92a665a2
    Default Configuration: 'conf at 1'
    Configuration 0 (conf at 1)
     Description:  Linux kernel, FDT blob
     Kernel:       kernel at 1
     FDT:          fdt at 1
## Checking hash(es) for FIT Image at 18000000 ...
   Hash(es) for Image 0 (kernel at 1): sha1+
   Hash(es) for Image 1 (fdt at 1): sha1+

Attempting to boot causes it to hang after "Loading Kernel Image ... "

Anyone got any ideas what might be wrong, or where to look to track it down?
(Any change to mkimage-type steps in morty?)





More information about the yocto mailing list