fastboot: boot: Relocate ramdisk

qianfan Zhao qianfanguijin at
Tue Nov 2 03:20:01 CET 2021


The u-boot doesn't relocated ramdisk if we booting linux by using next fastboot command: (FASTBOOT_BUF_ADDR is configed to 0x82000000)

 "fastboot boot arch/arm/boot/zImage ramdisk.cpio arch/arm/boot/dts/imx6ull-myir-mys-6ulx-eval.dtb -c 'console=ttymxc0,115200 root=/dev/ram0 rdinit=/init' -b 0x81000000"

Next is the log from console:

## Booting Android Image at 0x82000000 ...
Kernel load addr 0x81008000 size 6601 KiB
Kernel command line: console=ttymxc0,115200 root=/dev/ram0 rdinit=/init
   kernel data at 0x82000800, len = 0x006722d8 (6759128)
RAM disk load addr 0x82000000 size 3939 KiB
Error: header_version must be >= 2 to get dtb
second address is 0x82a4c000
   Loading Kernel Image
   kernel loaded at 0x81008000, end = 0x8167a2d8
   Using Device Tree in place at 82a4c000, end 82a55483
## Transferring control to Linux (at address 81008000)...

[    0.000000] OF: fdt: initrd_start=0x82673000 initrd_end=0x82a4ba00

The kernel is relocated to the new address we setted in fastboot command, but u-boot havn't relocate ramdisk. From the kernel's log we know ramdisk in 0x82673000, not the address 0x82000000 that u-boot printed.

More information about the U-Boot mailing list