Boot a mainline kernel with tfpboot/dhcp u-boot command

Hi everyone,
I’ve been running a rk3399 on a 96boards for kernel development and in order to prevent multiple flashing, the board boots the cross compiled kernel image from server.

The u-boot commands do:
dhcp Image-rock960 ; bootm 0x800800

myImage is created with the command:
mkimage -f rock960-rk3399-kernel.its /var/tftp/build/Image-rock960

The its configuration file contains:
/dts-v1/;

/ {
description = “Mainline kernel image with one or more FDT blobs”;
#address-cells = <1>;

    images {
            kernel@1 {
                    description = "Mainline kernel";
                    data = /incbin/("arch/arm64/boot/Image");
                    type = "kernel";
                    arch = "arm64";
                    os = "linux";
                    load = <0x4080000>;
                    entry = <0x4080000>;
                    compression = "none";
            };
            fdt@1 {
                    description = "RK3399-rock960";
                    data = /incbin/("arch/arm64/boot/dts/rockchip/rk3399-rock960.dtb");
                    type = "flat_dt";
                    arch = "arm64";
                    compression = "none";
                    fdt-version = <1>;
            };
            ramdisk@1 {
                    description = "rockchip-debian-ramdisk";
                    data = /incbin/("ramdisk/ramdisk-rock960.modules.img");
                    type = "ramdisk";
                    arch = "arm64";
                    os = "linux";
            };
    };
    configurations {
            default = "conf@1";
            conf@1 {
                    kernel = "kernel@1";
                    fdt = "fdt@1";
                    ramdisk = "ramdisk@1";
            };
    };

};

Now, I would like to reproduce the same setup on the rock pi4 B plus but I’m not sure about the load addresses.

Does someone have any idea of the u-boot’s “fileaddr” value and the loadaddress in the its file to generate loadable the image ?

The load address is the same, actually rock960 image can directly run on ROCK Pi 4 without modification.

Thanks for the information. However, even if the kernel is able to boot it has a strange behavior, especially spitting strange characters to the console after awhile and then hangs. Sometimes the board reboots after loading the kernel, so I’m wondering if my setup is correct

Do you have any FIT description to compare with the one below ?

FIT description: Mainline kernel image with one or more FDT blobs
Created: Wed Feb 16 19:01:44 2022
Image 0 (kernel@1)
Description: Mainline kernel
Created: Wed Feb 16 19:01:44 2022
Type: Kernel Image
Compression: uncompressed
Data Size: 36129280 Bytes = 35282.50 KiB = 34.46 MiB
Architecture: AArch64
OS: Linux
Load Address: 0x08080000
Entry Point: 0x08080000
Image 1 (fdt@1)
Description: RK3399-rockpi4b+
Created: Wed Feb 16 19:01:44 2022
Type: Flat Device Tree
Compression: uncompressed
Data Size: 58910 Bytes = 57.53 KiB = 0.06 MiB
Architecture: AArch64
Image 2 (ramdisk@1)
Description: rockchip-debian-ramdisk
Created: Wed Feb 16 19:01:44 2022
Type: RAMDisk Image
Compression: Unknown Compression
Data Size: 7401788 Bytes = 7228.31 KiB = 7.06 MiB
Architecture: AArch64
OS: Linux
Load Address: unavailable
Entry Point: unavailable
Default Configuration: ‘conf@1’
Configuration 0 (conf@1)
Description: unavailable
Kernel: kernel@1
Init Ramdisk: ramdisk@1
FDT: fdt@1