Thanks for your rapid response.

1. They are pre-compiled DTB files contained in the linux-modules-*
packages where 'do_dtbs' is set (currently ARMHF and ARM64).

$ dpkg -l | grep linux-modules
ii  linux-modules-4.15.0-29-generic        4.15.0-29.31                         
        arm64        Linux kernel extra modules for version 4.15.0 on ARMv8 SMP
ii  linux-modules-4.15.0-34-generic        4.15.0-34.37                         
        arm64        Linux kernel extra modules for version 4.15.0 on ARMv8 SMP
ii  linux-modules-4.15.0-43-generic        4.15.0-43.46                         
        arm64        Linux kernel extra modules for version 4.15.0 on ARMv8 SMP
ii  linux-modules-extra-4.15.0-29-generic  4.15.0-29.31                         
        arm64        Linux kernel extra modules for version 4.15.0 on ARMv8 SMP
ii  linux-modules-extra-4.15.0-34-generic  4.15.0-34.37                         
        arm64        Linux kernel extra modules for version 4.15.0 on ARMv8 SMP
ii  linux-modules-extra-4.15.0-43-generic  4.15.0-43.46                         
        arm64        Linux kernel extra modules for version 4.15.0 on ARMv8 SMP

$ apt download linux-modules-4.15.0-43-generic
Get:1 http://gb.ports.ubuntu.com/ubuntu-ports bionic-updates/main arm64 
linux-modules-4.15.0-43-generic arm64 4.15.0-43.46 [11.9 MB]
Fetched 11.9 MB in 5s (2,490 kB/s)                          

$ dpkg-deb -R linux-modules-4.15.0-43-generic_4.15.0-43.46_arm64.deb
unpack

$ find . | grep dtb
./unpack/lib/firmware/4.15.0-43-generic/device-tree/lg/lg1312-ref.dtb
./unpack/lib/firmware/4.15.0-43-generic/device-tree/lg/lg1313-ref.dtb
./unpack/lib/firmware/4.15.0-43-generic/device-tree/freescale/fsl-ls2080a-simu.dtb
./unpack/lib/firmware/4.15.0-43-generic/device-tree/freescale/fsl-ls1012a-rdb.dtb
./unpack/lib/firmware/4.15.0-43-generic/device-tree/freescale/fsl-ls1088a-rdb.dtb
./unpack/lib/firmware/4.15.0-43-generic/device-tree/freescale/fsl-ls2080a-rdb.dtb
./unpack/lib/firmware/4.15.0-43-generic/device-tree/freescale/fsl-ls1043a-qds.dtb
./unpack/lib/firmware/4.15.0-43-generic/device-tree/freescale/fsl-ls1012a-qds.dtb
./unpack/lib/firmware/4.15.0-43-generic/device-tree/freescale/fsl-ls2088a-rdb.dtb
./unpack/lib/firmware/4.15.0-43-generic/device-tree/freescale/fsl-ls1046a-qds.dtb
./unpack/lib/firmware/4.15.0-43-generic/device-tree/freescale/fsl-ls2080a-qds.dtb
./unpack/lib/firmware/4.15.0-43-generic/device-tree/freescale/fsl-ls1088a-qds.dtb
./unpack/lib/firmware/4.15.0-43-generic/device-tree/freescale/fsl-ls2088a-qds.dtb
./unpack/lib/firmware/4.15.0-43-generic/device-tree/freescale/fsl-ls1043a-rdb.dtb
./unpack/lib/firmware/4.15.0-43-generic/device-tree/freescale/fsl-ls1046a-rdb.dtb
./unpack/lib/firmware/4.15.0-43-generic/device-tree/freescale/fsl-ls1012a-frdm.dtb
./unpack/lib/firmware/4.15.0-43-generic/device-tree/apm/apm-merlin.dtb
./unpack/lib/firmware/4.15.0-43-generic/device-tree/apm/apm-mustang.dtb
./unpack/lib/firmware/4.15.0-43-generic/device-tree/amd/amd-overdrive-rev-b0.dtb
./unpack/lib/firmware/4.15.0-43-generic/device-tree/amd/amd-overdrive-rev-b1.dtb
./unpack/lib/firmware/4.15.0-43-generic/device-tree/amd/amd-overdrive.dtb
./unpack/lib/firmware/4.15.0-43-generic/device-tree/amd/husky.dtb
./unpack/lib/firmware/4.15.0-43-generic/device-tree/sprd/sp9860g-1h10.dtb
./unpack/lib/firmware/4.15.0-43-generic/device-tree/sprd/sc9836-openphone.dtb
./unpack/lib/firmware/4.15.0-43-generic/device-tree/actions/s900-bubblegum-96.dtb
./unpack/lib/firmware/4.15.0-43-generic/device-tree/hisilicon/hi3660-hikey960.dtb
./unpack/lib/firmware/4.15.0-43-generic/device-tree/hisilicon/hip06-d03.dtb
./unpack/lib/firmware/4.15.0-43-generic/device-tree/hisilicon/hi3798cv200-poplar.dtb
./unpack/lib/firmware/4.15.0-43-generic/device-tree/hisilicon/hip07-d05.dtb
./unpack/lib/firmware/4.15.0-43-generic/device-tree/hisilicon/hi6220-hikey.dtb
./unpack/lib/firmware/4.15.0-43-generic/device-tree/hisilicon/hip05-d02.dtb
./unpack/lib/firmware/4.15.0-43-generic/device-tree/altera/socfpga_stratix10_socdk.dtb
./unpack/lib/firmware/4.15.0-43-generic/device-tree/allwinner/sun50i-h5-orangepi-zero-plus2.dtb
./unpack/lib/firmware/4.15.0-43-generic/device-tree/allwinner/sun50i-a64-bananapi-m64.dtb
./unpack/lib/firmware/4.15.0-43-generic/device-tree/allwinner/sun50i-a64-olinuxino.dtb
./unpack/lib/firmware/4.15.0-43-generic/device-tree/allwinner/sun50i-a64-pine64.dtb
./unpack/lib/firmware/4.15.0-43-generic/device-tree/allwinner/sun50i-a64-sopine-baseboard.dtb
./unpack/lib/firmware/4.15.0-43-generic/device-tree/allwinner/sun50i-h5-orangepi-pc2.dtb
./unpack/lib/firmware/4.15.0-43-generic/device-tree/allwinner/sun50i-h5-orangepi-prime.dtb
./unpack/lib/firmware/4.15.0-43-generic/device-tree/allwinner/sun50i-a64-orangepi-win.dtb
./unpack/lib/firmware/4.15.0-43-generic/device-tree/allwinner/sun50i-a64-nanopi-a64.dtb
./unpack/lib/firmware/4.15.0-43-generic/device-tree/allwinner/sun50i-h5-nanopi-neo-plus2.dtb
./unpack/lib/firmware/4.15.0-43-generic/device-tree/allwinner/sun50i-a64-pine64-plus.dtb
./unpack/lib/firmware/4.15.0-43-generic/device-tree/allwinner/sun50i-h5-nanopi-neo2.dtb
./unpack/lib/firmware/4.15.0-43-generic/device-tree/xilinx/zynqmp-ep108.dtb
./unpack/lib/firmware/4.15.0-43-generic/device-tree/cavium/thunder2-99xx.dtb
./unpack/lib/firmware/4.15.0-43-generic/device-tree/cavium/thunder-88xx.dtb
./unpack/lib/firmware/4.15.0-43-generic/device-tree/realtek/rtd1295-mele-v9.dtb
./unpack/lib/firmware/4.15.0-43-generic/device-tree/realtek/rtd1295-probox2-ava.dtb
./unpack/lib/firmware/4.15.0-43-generic/device-tree/realtek/rtd1295-zidoo-x9s.dtb
./unpack/lib/firmware/4.15.0-43-generic/device-tree/broadcom/northstar2/ns2-svk.dtb
./unpack/lib/firmware/4.15.0-43-generic/device-tree/broadcom/northstar2/ns2-xmc.dtb
./unpack/lib/firmware/4.15.0-43-generic/device-tree/broadcom/bcm2837-rpi-3-b.dtb
./unpack/lib/firmware/4.15.0-43-generic/device-tree/broadcom/stingray/bcm958742t.dtb
./unpack/lib/firmware/4.15.0-43-generic/device-tree/broadcom/stingray/bcm958742k.dtb
./unpack/lib/firmware/4.15.0-43-generic/device-tree/qcom/msm8994-angler-rev-101.dtb
./unpack/lib/firmware/4.15.0-43-generic/device-tree/qcom/msm8992-bullhead-rev-101.dtb
./unpack/lib/firmware/4.15.0-43-generic/device-tree/qcom/apq8096-db820c.dtb
./unpack/lib/firmware/4.15.0-43-generic/device-tree/qcom/msm8996-mtp.dtb
./unpack/lib/firmware/4.15.0-43-generic/device-tree/qcom/apq8016-sbc.dtb
./unpack/lib/firmware/4.15.0-43-generic/device-tree/qcom/msm8916-mtp.dtb
./unpack/lib/firmware/4.15.0-43-generic/device-tree/qcom/ipq8074-hk01.dtb
./unpack/lib/firmware/4.15.0-43-generic/device-tree/arm/juno-r1.dtb
./unpack/lib/firmware/4.15.0-43-generic/device-tree/arm/vexpress-v2f-1xv7-ca53x2.dtb
./unpack/lib/firmware/4.15.0-43-generic/device-tree/arm/foundation-v8-gicv3.dtb
./unpack/lib/firmware/4.15.0-43-generic/device-tree/arm/foundation-v8-psci.dtb
./unpack/lib/firmware/4.15.0-43-generic/device-tree/arm/juno.dtb
./unpack/lib/firmware/4.15.0-43-generic/device-tree/arm/rtsm_ve-aemv8a.dtb
./unpack/lib/firmware/4.15.0-43-generic/device-tree/arm/foundation-v8.dtb
./unpack/lib/firmware/4.15.0-43-generic/device-tree/arm/foundation-v8-gicv3-psci.dtb
./unpack/lib/firmware/4.15.0-43-generic/device-tree/arm/juno-r2.dtb
./unpack/lib/firmware/4.15.0-43-generic/device-tree/renesas/r8a7795-salvator-x.dtb
./unpack/lib/firmware/4.15.0-43-generic/device-tree/renesas/r8a7795-h3ulcb-kf.dtb
./unpack/lib/firmware/4.15.0-43-generic/device-tree/renesas/r8a7796-m3ulcb-kf.dtb
./unpack/lib/firmware/4.15.0-43-generic/device-tree/renesas/r8a7795-es1-h3ulcb.dtb
./unpack/lib/firmware/4.15.0-43-generic/device-tree/renesas/r8a7796-m3ulcb.dtb
./unpack/lib/firmware/4.15.0-43-generic/device-tree/renesas/r8a77995-draak.dtb
./unpack/lib/firmware/4.15.0-43-generic/device-tree/renesas/r8a7795-es1-h3ulcb-kf.dtb
./unpack/lib/firmware/4.15.0-43-generic/device-tree/renesas/r8a7795-h3ulcb.dtb
./unpack/lib/firmware/4.15.0-43-generic/device-tree/renesas/r8a77970-eagle.dtb
./unpack/lib/firmware/4.15.0-43-generic/device-tree/renesas/r8a7796-salvator-x.dtb
./unpack/lib/firmware/4.15.0-43-generic/device-tree/renesas/r8a7795-es1-salvator-x.dtb
./unpack/lib/firmware/4.15.0-43-generic/device-tree/renesas/r8a7795-salvator-xs.dtb
./unpack/lib/firmware/4.15.0-43-generic/device-tree/marvell/berlin4ct-stb.dtb
./unpack/lib/firmware/4.15.0-43-generic/device-tree/marvell/berlin4ct-dmp.dtb
./unpack/lib/firmware/4.15.0-43-generic/device-tree/mediatek/mt6755-evb.dtb
./unpack/lib/firmware/4.15.0-43-generic/device-tree/mediatek/mt8173-evb.dtb
./unpack/lib/firmware/4.15.0-43-generic/device-tree/mediatek/mt7622-rfb1.dtb
./unpack/lib/firmware/4.15.0-43-generic/device-tree/mediatek/mt6797-evb.dtb
./unpack/lib/firmware/4.15.0-43-generic/device-tree/mediatek/mt2712-evb.dtb
./unpack/lib/firmware/4.15.0-43-generic/device-tree/mediatek/mt6795-evb.dtb

2. I haven't looked for a partition.  I thought the installer was ISO
9660 which is RO.

3. Trying them all is not a good idea.  They should all boot to various
stages of borkage/levels of functionality.  The user should really
select the correct one for the platform.

** Description changed:

  In the past, when booting Linux on non-(x84_64|i386) machines, it was a
  requirement to configure and build Linux kernels tailored specifically
  for a particular device. Now, after many efforts ("one image to rule
  them all" and the like) to unify and consolidate vendor fragmentation,
  it is now possible to boot Single Board Computers (SBCs) of similar core
  architectures with one single binary image.
  
  In order to make this possible Linux is provided with a description of
  the hardware it is expected to operate on. There are currently two main
- technologies which provide these functionality; Advanced Configuration
+ technologies which provide this functionality; Advanced Configuration
  and Power Interface (ACPI) and Device Tree (DT). This report only deals
  with Device Tree (DT).
  
- In an ideal world firmware installed onto a device would be readily
+ In an ideal world, firmware installed onto a device would be readily
  upgradable and thus provide Linux with an up-to-date hardware
  description that it can work with. However, there are some devices which
  do not contain either capable or upgradable (or both) firmware, so this
  information has to be sought from elsewhere.
  
  The kernel packages provided by the Ubuntu build system do contain pre-
  compiled Device Tree Binaries (DTBs) for currently supported hardware,
  however these do not make it into the Ubuntu Installers. Instead only a
  single kernel binary exists which expects to be informed of platform
  specifics via ACPI tables provided by the platform's firmware. This
  means that many devices which could easily be supported by the Ubuntu
  Installer, are not.
  
  There are a couple of ideas which we'd like to put forward to start the
  conversation off:
  
-  1. Place all supported DTBs into the installer
-  2. Allow for a small writable partition on the install media for a user to 
place a DTB
-  3. Enable Grub to be able to pick a DTB from a menu at boot time
+  1. Place all supported DTBs into the installer
+  2. Allow for a small writable partition on the install media for a user to 
place a DTB
+  3. Enable Grub to be able to pick a DTB from a menu at boot time
  
  At worst case, as long as the DTBs find their way into the installer a
  user can manually add a 'devicetree' (similar to 'linux' and 'initrd')
  entry to the Grub menuentry, which would also achieve the aim.
  
  Any help to boot such devices would be gratefully received.

-- 
You received this bug notification because you are a member of Ubuntu
Bugs, which is subscribed to Ubuntu.
https://bugs.launchpad.net/bugs/1819443

Title:
  Cannot boot installer on platforms requiring Device Tree

To manage notifications about this bug go to:
https://bugs.launchpad.net/ubuntu/+source/debian-installer/+bug/1819443/+subscriptions

-- 
ubuntu-bugs mailing list
ubuntu-bugs@lists.ubuntu.com
https://lists.ubuntu.com/mailman/listinfo/ubuntu-bugs

Reply via email to