[U-Boot] efi_loader: Add distro boot script for removable media

Stephen Warren swarren at wwwdotorg.org
Wed Apr 13 19:54:25 CEST 2016


I've spotted a couple of problems in 74522c898b35 "efi_loader: Add 
distro boot script for removable media". These help explain something I 
found strange in the commit description of the recently sent patch 
"jetson-tk1: Set fdtfile environment variable"; "The 4.5.0 kernel cannot 
cope with U-Boot's internal device tree".

> 	"load_efi_dtb="                                                   \
> 		"load ${devtype} ${devnum}:${distro_bootpart} "           \
> 			"${fdt_addr_r} ${prefix}${fdtfile}; "             \
> 		"fdt addr ${fdt_addr_r}\0"                                \
> 	\

The "fdt addr" command shouldn't be there. That affects the DT that 
U-Boot's internal commands operate on internally. That is entirely 
unrelated to the the DT that is passed to the Linux kernel. Instead, the 
EFI code should pass the DTB at ${kernel_addr_r} to the kernel, just 
like all other boot mechanisms do.

If by some chance U-Boot is configured by DTB and that DTB is fully 
suitable to pass to the Linux kernel, then the board-specific code can 
arrange for ${kernel_addr_r} to point at that same DTB, thus removing 
the need to load one. However, that's unlikely to happen too often at 
present; the most complete DTBs are housed in the Linux kernel source 
tree, and DTB ABI still isn't really a thing, so in practice one mostly 
wants to load a DTB that was built as part of the kernel being booted, 
and hence U-Boot's DTB isn't relevant.


More information about the U-Boot mailing list