[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