Package: grub-common Version: 2.02+dfsg1-18 Severity: normal Tags: patch Dear Maintainer,
I am booting from an arm64 laptop, with secureboot turned off, and I need to provide a devicetree blob for the time being. I adjusted flash-kernel database, to install device tree blob into /boot, however 10_linux in grub doesn't automatically pick it up. The attached patch adds tests in 10_linux, similar to how initrd is detected and generates menu entries with devicetree command and I manage to boot and upgrade kernels on arm64 laptop. Please consider including this patch in Debian. Regards, Dimitri.
>From 96ddabed632d330f5f32c49478c5004678aa3265 Mon Sep 17 00:00:00 2001 From: Dimitri John Ledkov <[email protected]> Date: Wed, 22 May 2019 19:57:29 +0100 Subject: [PATCH] Add devicetree command, if a dtb is present. Specically support dtb paths as installed by flash-kernel. Signed-off-by: Dimitri John Ledkov <[email protected]> --- util/grub.d/10_linux.in | 19 +++++++++++++++++++ 1 file changed, 19 insertions(+) diff --git a/util/grub.d/10_linux.in b/util/grub.d/10_linux.in index 024bd5c63..012088026 100644 --- a/util/grub.d/10_linux.in +++ b/util/grub.d/10_linux.in @@ -193,6 +193,17 @@ EOF fi sed "s/^/$submenu_indentation/" << EOF initrd ${rel_dirname}/${initrd} +EOF + fi + if test -n "${dtb}" ; then + if [ x"$quiet_boot" = x0 ] || [ x"$type" != xsimple ]; then + message="$(gettext_printf "Loading device tree blob...")" + sed "s/^/$submenu_indentation/" << EOF + echo '$(echo "$message" | grub_quote)' +EOF + fi + sed "s/^/$submenu_indentation/" << EOF + devicetree ${rel_dirname}/${dtb} EOF fi sed "s/^/$submenu_indentation/" << EOF @@ -310,6 +321,14 @@ while [ "x$list" != "x" ] ; do fi done + dtb= + for i in "dtb-${version}" "dtb-${alt_version}" "dtb"; do + if test -e "${dirname}/${i}" ; then + dtb="$i" + break + fi + done + config= for i in "${dirname}/config-${version}" "${dirname}/config-${alt_version}" "/etc/kernels/kernel-config-${version}" ; do if test -e "${i}" ; then -- 2.20.1

