[Bug 1819443] Re: Cannot boot installer on platforms requiring Device Tree
Dimitri John Ledkov
launchpad at surgut.co.uk
Mon Mar 11 15:47:10 UTC 2019
1. The precompiled dtb's -> i can check if we can ship them in the d-i
initrd preinstalled, or at least add them for the mini.iso and/or
server.iso
2. So for amd64 mini.iso there is a 6M partition free to use for
whatever:
$ wget http://archive.ubuntu.com/ubuntu/dists/bionic/main/installer-amd64/current/images/netboot/mini.iso
$ sudo kpartx -av ./mini.iso
$ mount /dev/mapper/loop30p2 /mnt/
$ df -h | grep /mnt
/dev/mapper/loop30p2 6.0M 0 6.0M 0% /mnt
But i don't see anything similar for arm64 unfortunately. The intention is that when one does dd= of this onto e.g. usb-stick, there is a partition to drop e.g. preseed or some weird dkms drivers there.
How much space would we need to drop a dtb? (ie. what's the largest reasonable dtb is?)
3. le sigh
ideally we'd then structure the boot entries somehow sensible in subtrees, or offer an edit to specify the right name, cause there are a lot of them.
Can grub at all guess/detect the right one to use at all? I.e. at least read the top level vendor and/or model names? Cause it would be nice to load the right one automatically, where possible.
--
You received this bug notification because you are a member of Ubuntu
Foundations Bugs, which is subscribed to debian-installer in Ubuntu.
https://bugs.launchpad.net/bugs/1819443
Title:
Cannot boot installer on platforms requiring Device Tree
Status in debian-installer package in Ubuntu:
New
Bug description:
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 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
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
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.
To manage notifications about this bug go to:
https://bugs.launchpad.net/ubuntu/+source/debian-installer/+bug/1819443/+subscriptions
More information about the foundations-bugs
mailing list