On 30 August 2018 at 17:06, Olof Johansson <olof@xxxxxxxxx> wrote:dtb= handling does need to be enabled in the only defconfig
On Wed, Aug 29, 2018 at 10:54 PM, Ard BiesheuvelWe don't have any of that in the stub, and inventing new ways to pass
<ard.biesheuvel@xxxxxxxxxx> wrote:
On 29 August 2018 at 20:59, Scott Branden <scott.branden@xxxxxxxxxxxx> wrote:Ard,
Hi Olof,And these production systems run mainline kernels in a defconfig configuration?
On 18-08-29 11:44 AM, Olof Johansson wrote:
Hi,Broadcom NS2 and Stingray in current development and production need this
On Wed, Aug 29, 2018 at 10:21 AM, Scott Branden
<scott.branden@xxxxxxxxxxxx> wrote:
Enable EFI_ARMSTUB_DTB_LOADER to add support for the dtb= command lineWhy did Ard create an option for this if it's just going be turned on
parameter to function with efi loader.
Required to boot on existing bootloaders that do not support devicetree
provided by the platform or by the bootloader.
Fixes: 3d7ee348aa41 ("efi/libstub/arm: Add opt-in Kconfig option for the
DTB loader")
Signed-off-by: Scott Branden <scott.branden@xxxxxxxxxxxx>
in default configs? Doesn't make sense to me.
It would help to know what firmware still is crippled and how common
it is, since it's been a few years that this has been a requirement by
now.
option in the kernel enabled in order to boot.
The simply reality is that the DTB loader has been deprecated for a
good reason: it was only ever intended as a development hack anyway,
and if we need to treat the EFI stub provided DTB as a first class
citizen, there are things we need to fix to make things works as
expected. For instance, GRUB will put a property in the /chosen node
for the initramfs which will get dropped if you boot with dtb=.
Don't be surprised if some future enhancements of the EFI stub code
depend on !EFI_ARMSTUB_DTB_LOADER. On UEFI systems, DTBs [or ACPI
tables] are used by the firmware to describe itself and the underlying
platform to the OS, and the practice of booting with DTB file images
(taken from the kernel build as well) conflicts with that view. Note
that GRUB still permits you to load DTBs from files (and supports more
sources than just the file system the kernel Image was loaded from).
Maybe a WARN() splat would be more useful as a phasing-out method than
removing functionality for them that needs to be reinstated through
changing the config?
such information between the stub and the kernel proper seems like a
cart-before-horse kind of thing to me. The EFI stub diagnostic
messages you get on the serial console are not recorded in the kernel
log buffer, so they only appear if you actually look at the serial
output.
Once the stub and the boot method is there, it's hard to undo as weThe dtb= handling is still there, it is just not enabled by default.
can see here. Being loud and warn might be more useful, and set a
timeline for hard removal (12 months?).
We can keep it around if people are still using it. But as I pointed
out, we may decide to make new functionality available only if it is
disabled, and at that point, we'll have to choose between one or the
other in defconfig, which is annoying.
The EFI stub is the boot wrapper? Everything works perfectly today
Scott; an alternative for you is to do a boot wrapper that bundles a
DT and kernel, and boot that instead of the kernel image (outside of
the kernel tree). Some 32-bit platforms from Marvell use that. That
way the kernel will just see it as a normally passed in DT.
Ard, GRUB is not a requirement to boot the kernel. But, it sounds likeOr use GRUB. It comes wired up in all the distros, and let's you load
a DT binary from anywhere you can imagine, as opposed to the EFI stub
which can only load it if it happens to reside in the same file system
(or even directory - I can't remember) as the kernel image. Note that
the same reservations apply to doing that - the firmware is no longer
able to describe itself to the OS via the DT, which is really the only
conduit it has available on an arm64 system..