Hi, I only recently noticed that Debian doesn't seem use U-boot support for extlinux style boot menus. This makes jumping between kernel versions frustrating.
I've taken the old syslinux support for menu generation and re-purposed it for u-boot: https://github.com/suihkulokki/u-boot-update Note location is temporary, I don't know if this is preferrable as independent package, part of flash-kernel or even u-boot package itself. Setting this up for Dragonboard 410c is matter of: # echo U_BOOT_FDT=\"qcom/apq8016-sbc.dtb\" > /etc/default/u-boot This could be truly platform agnostic by using the the "fdtdir" keyword in the menu. However, on u-boot the fdtfile is "apq8016-sbc.dtb", missing the qcom/ directory prefix. We need to submit a patch for u-boot to search device tree from vendor sub-dirs too. Now that the device tree is set, the only thing to make it work on any new u-boot with distro_bootcmd set is generating and using the menu: # u-boot-update P: Checking for EXTLINUX directory... found. P: Writing config for /boot/vmlinuz-4.9.0-rc8-arm64... P: Writing config for /boot/vmlinuz-4.8.0-rc8-arm64... P: Writing config for /boot/vmlinuz-4.4.23-linaro-lt-qcom... P: Updating /boot/extlinux/extlinux.conf... # reboot ... U-Boot 2016.09+dfsg1-1 (Sep 12 2016 - 19:43:29 +0000) ... Scanning mmc 0:a... Found /boot/extlinux/extlinux.conf Retrieving file: /boot/extlinux/extlinux.conf 1965 bytes read in 99 ms (18.6 KiB/s) U-Boot menu 1: Debian GNU/Linux kernel 4.9.0-rc8-arm64 2: Debian GNU/Linux kernel 4.9.0-rc8-arm64 (rescue target) 3: Debian GNU/Linux kernel 4.8.0-rc8-arm64 4: Debian GNU/Linux kernel 4.8.0-rc8-arm64 (rescue target) 5: Debian GNU/Linux kernel 4.4.23-linaro-lt-qcom 6: Debian GNU/Linux kernel 4.4.23-linaro-lt-qcom (rescue target) Enter choice: 5 5: Debian GNU/Linux kernel 4.4.23-linaro-lt-qcom Retrieving file: /boot/initrd.img-4.4.23-linaro-lt-qcom 4658722 bytes read in 596 ms (7.5 MiB/s) Retrieving file: /boot/vmlinuz-4.4.23-linaro-lt-qcom 13888000 bytes read in 1552 ms (8.5 MiB/s) append: root=/dev/disk/by-partlabel/rootfs rw rootwait Retrieving file: /usr/lib/linux-image-4.4.23-linaro-lt-qcom/qcom/apq8016-sbc.dtb 70369 bytes read in 440 ms (155.3 KiB/s) ## Flattened Device Tree blob at 83000000 Booting using the fdt blob at 0x83000000 Using Device Tree in place at 0000000083000000, end 00000000830142e0 Starting kernel ... [ 0.000000] Booting Linux on physical CPU 0x0