
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@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
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@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
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@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