
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@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@1 { algo = "crc32"; }; hash@2 { algo = "sha1"; }; };
fdt@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@1 { algo = "crc32"; }; hash@2 { algo = "sha1"; }; };
};
configurations { default = "config@1"; config@1 { description = "OpenWRT"; kernel = "kernel@1"; fdt = "fdt@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@1c11000': seq 1 is in use by 'mmc@1c10000' mmc@1c0f000: 0, mmc@1c10000: 2, mmc@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@1' configuration Trying 'kernel@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@1' configuration Trying 'fdt@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@1c11000': seq 1 is in use by 'mmc@1c10000' mmc@1c0f000: 0, mmc@1c10000: 2, mmc@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@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@1 0x4FA00000 booti 0x40008000 - 0x4FA00000 ```
--