public inbox for u-boot@lists.denx.de
 help / color / mirror / Atom feed
* Can’t boot FIT kernel image
@ 2021-02-19  8:47 Алексей Беляев
  2021-02-19 14:19 ` Sean Anderson
  0 siblings, 1 reply; 2+ messages in thread
From: Алексей Беляев @ 2021-02-19  8:47 UTC (permalink / raw)
  To: u-boot

Hello!

I'm trying to make FIT Kernel+dtb image for U-Boot.
```
mkimage -E -f Image.its Image.new
```

Image.its:
```
/dts-v1/;

/ {
         description = "ARM64 OpenWrt FIT (Flattened Image Tree)";
         #address-cells = <1>;

         images {
                 kernel at 1 {
                         description = "ARM64 OpenWrt Linux-5.4.60";
                         data = /incbin/("arch/arm64/boot/Image.lzma");
                         type = "kernel";
                         arch = "arm64";
                         os = "linux";
                         compression = "lzma";
                         load = <0x40008000>;
                         entry = <0x40008000>;
                         hash at 1 {
                                 algo = "crc32";
                         };
                         hash at 2 {
                                 algo = "sha1";
                         };
                 };

                 fdt at 1 {
                         description = "ARM64 OpenWrt 
xunlong_orangepi-zero-plus2 device tree blob";
                         data = 
/incbin/("sun50i-h5-orangepi-zero-plus2.dtb");
                         type = "flat_dt";
                         arch = "arm64";
                         compression = "none";
                         load = <0x4FA00000>;
                         hash at 1 {
                                 algo = "crc32";
                         };
                         hash at 2 {
                                 algo = "sha1";
                         };
                 };

         };

         configurations {
                 default = "config at 1";
                 config at 1 {
                         description = "OpenWRT";
                         kernel = "kernel at 1";
                         fdt = "fdt at 1";
                 };
         };
};
```

and it Look like good. U-boot print correct Information about it.

```
U-Boot 2020.04 (Aug 28 2020 - 09:44:29 +0000) Allwinner Technology

CPU:   Allwinner H5 (SUN50I)
Model: OrangePi Zero Plus2
DRAM:  512 MiB
MMC:   Device 'mmc at 1c11000': seq 1 is in use by 'mmc at 1c10000'
mmc at 1c0f000: 0, mmc at 1c10000: 2, mmc at 1c11000: 1

In:    serial
Out:   serial
Err:   serial
Hit any key to stop autoboot:  0
=> fatload mmc 0 53E00000 Image.new
3561732 bytes read in 513 ms (6.6 MiB/s)
=> setenv bootargs console=ttyS0,115200 earlyprintk 
root=PARTUUID=5452574f-02 rootwait earlycon=uart,mmio32,0x01c28000
=> bootm 53E00000
## Loading kernel from FIT Image at 53e00000 ...
    Using 'config at 1' configuration
    Trying 'kernel at 1' kernel subimage
      Description:  ARM64 OpenWrt Linux-5.4.60
      Type:         Kernel Image
      Compression:  lzma compressed
      Data Start:   0x53e0043c
      Data Size:    3537003 Bytes = 3.4 MiB
      Architecture: AArch64
      OS:           Linux
      Load Address: 0x40008000
      Entry Point:  0x40008000
      Hash algo:    crc32
      Hash value:   1003b68e
      Hash algo:    sha1
      Hash value:   94d9ea6a0f543649d294b50bd2a7bba1857cf538
    Verifying Hash Integrity ... crc32+ sha1+ OK
## Loading fdt from FIT Image at 53e00000 ...
    Using 'config at 1' configuration
    Trying 'fdt at 1' fdt subimage
      Description:  ARM64 OpenWrt xunlong_orangepi-zero-plus2 device tree 
blob
      Type:         Flat Device Tree
      Compression:  uncompressed
      Data Start:   0x5415fca8
      Data Size:    23641 Bytes = 23.1 KiB
      Architecture: AArch64
      Load Address: 0x4fa00000
      Hash algo:    crc32
      Hash value:   fc8daabb
      Hash algo:    sha1
      Hash value:   6c18b66e1c9bb6dfb289701e1a478e294cb3568c
    Verifying Hash Integrity ... crc32+ sha1+ OK
    Loading fdt from 0x5415fca8 to 0x4fa00000
    Booting using the fdt blob at 0x4fa00000
    Uncompressing Kernel Image
    Loading Device Tree to 0000000049ff7000, end 0000000049fffc58 ... OK

Starting kernel ...
```
And device has freeze.

Kernel and dtb is fine. I have Image.lzma and "dtb" files distinctly and 
their work fine:
```
U-Boot 2020.04 (Aug 28 2020 - 09:44:29 +0000) Allwinner Technology

CPU:   Allwinner H5 (SUN50I)
Model: OrangePi Zero Plus2
DRAM:  512 MiB
MMC:   Device 'mmc at 1c11000': seq 1 is in use by 'mmc at 1c10000'
mmc at 1c0f000: 0, mmc at 1c10000: 2, mmc at 1c11000: 1

In:    serial
Out:   serial
Err:   serial
Hit any key to stop autoboot:  0
=> load mmc 0 53E00000 Image.lzma
3537067 bytes read in 506 ms (6.7 MiB/s)
=> fatload mmc 0 0x4FA00000 sun50i-h5-orangepi-zero-plus2.dtb
23641 bytes read in 5 ms (4.5 MiB/s)
=> setenv bootargs console=ttyS0,115200 earlyprintk 
root=PARTUUID=5452574f-02 rootwait earlycon=uart,mmio32,0x01c28000
=bootm 0x53E00000 - 0x4FA00000
## Booting kernel from Legacy Image at 53e00000 ...
    Image Name:   Linux
    Image Type:   AArch64 Linux Kernel Image (lzma compressed)
    Data Size:    3537003 Bytes = 3.4 MiB
    Load Address: 40080000
    Entry Point:  40080000
    Verifying Checksum ... OK
## Flattened Device Tree blob at 4fa00000
    Booting using the fdt blob at 0x4fa00000
    Uncompressing Kernel Image
    Loading Device Tree to 0000000049ff7000, end 0000000049fffc58 ... OK

Starting kernel ...

[    0.000000] Booting Linux on physical CPU 0x0000000000 [0x410fd034]
[    0.000000] Linux version 5.4.60 (spider at horoshiki.ru) (gcc version 
8.4.0 (OpenWrt GCC 8.4.0 r14283-42d14ace3e)) #0 SMP Fri Aug 28 09:44:29 
2020
[    0.000000] Machine model: OrangePi Zero Plus2
```

What I do wrong?

PS. Kernel boot normally by next command:
```
lzmadec 0x53e0043c 0x40008000
imxtract 53e00000 fdt at 1 0x4FA00000
booti 0x40008000 - 0x4FA00000
```


-- 

^ permalink raw reply	[flat|nested] 2+ messages in thread

* Re: Can’t boot FIT kernel image
  2021-02-19  8:47 Can’t boot FIT kernel image Алексей Беляев
@ 2021-02-19 14:19 ` Sean Anderson
  0 siblings, 0 replies; 2+ messages in thread
From: Sean Anderson @ 2021-02-19 14:19 UTC (permalink / raw)
  To: u-boot



On 2/19/21 3:47 AM, ??????? ?????? wrote:
> Hello!
> 
> I'm trying to make FIT Kernel+dtb image for U-Boot.
> ```
> mkimage -E -f Image.its Image.new
> ```
> 
> Image.its:
> ```
> /dts-v1/;
> 
> / {
>  ??????? description = "ARM64 OpenWrt FIT (Flattened Image Tree)";
>  ??????? #address-cells = <1>;
> 
>  ??????? images {
>  ??????????????? kernel at 1 {
>  ??????????????????????? description = "ARM64 OpenWrt Linux-5.4.60";
>  ??????????????????????? data = /incbin/("arch/arm64/boot/Image.lzma");
>  ??????????????????????? type = "kernel";
>  ??????????????????????? arch = "arm64";
>  ??????????????????????? os = "linux";
>  ??????????????????????? compression = "lzma";
>  ??????????????????????? load = <0x40008000>;
>  ??????????????????????? entry = <0x40008000>;
>  ??????????????????????? hash at 1 {
>  ??????????????????????????????? algo = "crc32";
>  ??????????????????????? };
>  ??????????????????????? hash at 2 {
>  ??????????????????????????????? algo = "sha1";
>  ??????????????????????? };
>  ??????????????? };
> 
>  ??????????????? fdt at 1 {
>  ??????????????????????? description = "ARM64 OpenWrt xunlong_orangepi-zero-plus2 device tree blob";
>  ??????????????????????? data = /incbin/("sun50i-h5-orangepi-zero-plus2.dtb");
>  ??????????????????????? type = "flat_dt";
>  ??????????????????????? arch = "arm64";
>  ??????????????????????? compression = "none";
>  ??????????????????????? load = <0x4FA00000>;
>  ??????????????????????? hash at 1 {
>  ??????????????????????????????? algo = "crc32";
>  ??????????????????????? };
>  ??????????????????????? hash at 2 {
>  ??????????????????????????????? algo = "sha1";
>  ??????????????????????? };
>  ??????????????? };
> 
>  ??????? };
> 
>  ??????? configurations {
>  ??????????????? default = "config at 1";
>  ??????????????? config at 1 {
>  ??????????????????????? description = "OpenWRT";
>  ??????????????????????? kernel = "kernel at 1";
>  ??????????????????????? fdt = "fdt at 1";
>  ??????????????? };
>  ??????? };
> };
> ```
> 
> and it Look like good. U-boot print correct Information about it.
> 
> ```
> U-Boot 2020.04 (Aug 28 2020 - 09:44:29 +0000) Allwinner Technology
> 
> CPU:?? Allwinner H5 (SUN50I)
> Model: OrangePi Zero Plus2
> DRAM:? 512 MiB
> MMC:?? Device 'mmc at 1c11000': seq 1 is in use by 'mmc at 1c10000'
> mmc at 1c0f000: 0, mmc at 1c10000: 2, mmc at 1c11000: 1
> 
> In:??? serial
> Out:?? serial
> Err:?? serial
> Hit any key to stop autoboot:? 0
> => fatload mmc 0 53E00000 Image.new
> 3561732 bytes read in 513 ms (6.6 MiB/s)
> => setenv bootargs console=ttyS0,115200 earlyprintk root=PARTUUID=5452574f-02 rootwait earlycon=uart,mmio32,0x01c28000
> => bootm 53E00000
> ## Loading kernel from FIT Image at 53e00000 ...
>  ?? Using 'config at 1' configuration
>  ?? Trying 'kernel at 1' kernel subimage
>  ???? Description:? ARM64 OpenWrt Linux-5.4.60
>  ???? Type:???????? Kernel Image
>  ???? Compression:? lzma compressed
>  ???? Data Start:?? 0x53e0043c
>  ???? Data Size:??? 3537003 Bytes = 3.4 MiB
>  ???? Architecture: AArch64
>  ???? OS:?????????? Linux
>  ???? Load Address: 0x40008000

Here it is 40008000

>  ???? Entry Point:? 0x40008000
>  ???? Hash algo:??? crc32
>  ???? Hash value:?? 1003b68e
>  ???? Hash algo:??? sha1
>  ???? Hash value:?? 94d9ea6a0f543649d294b50bd2a7bba1857cf538
>  ?? Verifying Hash Integrity ... crc32+ sha1+ OK
> ## Loading fdt from FIT Image at 53e00000 ...
>  ?? Using 'config at 1' configuration
>  ?? Trying 'fdt at 1' fdt subimage
>  ???? Description:? ARM64 OpenWrt xunlong_orangepi-zero-plus2 device tree blob
>  ???? Type:???????? Flat Device Tree
>  ???? Compression:? uncompressed
>  ???? Data Start:?? 0x5415fca8
>  ???? Data Size:??? 23641 Bytes = 23.1 KiB
>  ???? Architecture: AArch64
>  ???? Load Address: 0x4fa00000
>  ???? Hash algo:??? crc32
>  ???? Hash value:?? fc8daabb
>  ???? Hash algo:??? sha1
>  ???? Hash value:?? 6c18b66e1c9bb6dfb289701e1a478e294cb3568c
>  ?? Verifying Hash Integrity ... crc32+ sha1+ OK
>  ?? Loading fdt from 0x5415fca8 to 0x4fa00000
>  ?? Booting using the fdt blob at 0x4fa00000
>  ?? Uncompressing Kernel Image
>  ?? Loading Device Tree to 0000000049ff7000, end 0000000049fffc58 ... OK
> 
> Starting kernel ...
> ```
> And device has freeze.
> 
> Kernel and dtb is fine. I have Image.lzma and "dtb" files distinctly and their work fine:
> ```
> U-Boot 2020.04 (Aug 28 2020 - 09:44:29 +0000) Allwinner Technology
> 
> CPU:?? Allwinner H5 (SUN50I)
> Model: OrangePi Zero Plus2
> DRAM:? 512 MiB
> MMC:?? Device 'mmc at 1c11000': seq 1 is in use by 'mmc at 1c10000'
> mmc at 1c0f000: 0, mmc at 1c10000: 2, mmc at 1c11000: 1
> 
> In:??? serial
> Out:?? serial
> Err:?? serial
> Hit any key to stop autoboot:? 0
> => load mmc 0 53E00000 Image.lzma
> 3537067 bytes read in 506 ms (6.7 MiB/s)
> => fatload mmc 0 0x4FA00000 sun50i-h5-orangepi-zero-plus2.dtb
> 23641 bytes read in 5 ms (4.5 MiB/s)
> => setenv bootargs console=ttyS0,115200 earlyprintk root=PARTUUID=5452574f-02 rootwait earlycon=uart,mmio32,0x01c28000
> =bootm 0x53E00000 - 0x4FA00000
> ## Booting kernel from Legacy Image at 53e00000 ...
>  ?? Image Name:?? Linux
>  ?? Image Type:?? AArch64 Linux Kernel Image (lzma compressed)
>  ?? Data Size:??? 3537003 Bytes = 3.4 MiB
>  ?? Load Address: 40080000

but here it is 40080000. Which one is correct?

--Sean

>  ?? Entry Point:? 40080000
>  ?? Verifying Checksum ... OK
> ## Flattened Device Tree blob at 4fa00000
>  ?? Booting using the fdt blob at 0x4fa00000
>  ?? Uncompressing Kernel Image
>  ?? Loading Device Tree to 0000000049ff7000, end 0000000049fffc58 ... OK
> 
> Starting kernel ...
> 
> [??? 0.000000] Booting Linux on physical CPU 0x0000000000 [0x410fd034]
> [??? 0.000000] Linux version 5.4.60 (spider at horoshiki.ru) (gcc version 8.4.0 (OpenWrt GCC 8.4.0 r14283-42d14ace3e)) #0 SMP Fri Aug 28 09:44:29 2020
> [??? 0.000000] Machine model: OrangePi Zero Plus2
> ```
> 
> What I do wrong?
> 
> PS. Kernel boot normally by next command:
> ```
> lzmadec 0x53e0043c 0x40008000
> imxtract 53e00000 fdt at 1 0x4FA00000
> booti 0x40008000 - 0x4FA00000
> ```
> 
> 

^ permalink raw reply	[flat|nested] 2+ messages in thread

end of thread, other threads:[~2021-02-19 14:19 UTC | newest]

Thread overview: 2+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2021-02-19  8:47 Can’t boot FIT kernel image Алексей Беляев
2021-02-19 14:19 ` Sean Anderson

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox