bug-grub
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

[bug #52939] [PATCH] 10_linux: support loading device trees


From: Heinrich Schuchardt
Subject: [bug #52939] [PATCH] 10_linux: support loading device trees
Date: Sat, 20 Jan 2018 05:58:58 -0500 (EST)
User-agent: Mozilla/5.0 (X11; Linux x86_64; rv:52.0) Gecko/20100101 Firefox/52.0

URL:
  <http://savannah.gnu.org/bugs/?52939>

                 Summary: [PATCH] 10_linux: support loading device trees
                 Project: GNU GRUB
            Submitted by: xypron
            Submitted on: Sat 20 Jan 2018 11:58:56 AM CET
                Category: Booting
                Severity: Major
                Priority: 5 - Normal
              Item Group: Feature Request
                  Status: None
                 Privacy: Public
             Assigned to: None
         Originator Name: Heinrich Schuchardt
        Originator Email: address@hidden
             Open/Closed: Open
         Discussion Lock: Any
                 Release: 
                 Release: Git master
         Reproducibility: Every Time
         Planned Release: None

    _______________________________________________________

Details:

Currently grub only loads the Linux kernel and the initial file system before
booting.

On the arm and arm64 architectures the device tree is also needed for booting.
The device tree is Linux kernel version dependent. So we can not rely on the
initial bootloader to provide the correct device tree when calling grub.

For example I am using U-Boot to load iPXE. In iPXE I choose an iSCSI target.
iPXE connects to the target and starts grubaa64.efi. The device tree that has
to be used depends on the Linux kernel installed on the chosen iSCSI target.

Luckily the device tree to be loaded can be specified in grub with the
devicetree command.

The patch changes the 10_linux script to look in sequence for files 

* ${dirname}/dtb-${version} and 
* ${dirname}/dtb.

If one of the files is present an entry

    devicetreee ${rel_dirname}/${dtb}

is added to the Linux boot entry.

== Distro suppport ==

Debian maintains a symbolic link /boot/dtb to the most current device tree and
another symbolic link /boot/dtb-${version} for the version specific devicetree
if package flash-kernel is installed.

On Suse a symbolic link /boot/dtb points to the current
/boot/dtb-${version}.

== Caveats ==

The EFI bootloader will still have to supply a dummy device tree which will be
replaced by the devicetree command.

As of U-Boot version v2018.01 U-Boot this dummy device tree has to be passed
explicitely to the bootefi command.



    _______________________________________________________

File Attachments:


-------------------------------------------------------
Date: Sat 20 Jan 2018 11:58:56 AM CET  Name:
0001-10_linux-support-loading-device-trees.patch  Size: 3KiB   By: xypron

<http://savannah.gnu.org/bugs/download.php?file_id=42983>

    _______________________________________________________

Reply to this item at:

  <http://savannah.gnu.org/bugs/?52939>

_______________________________________________
  Message sent via/by Savannah
  http://savannah.gnu.org/




reply via email to

[Prev in Thread] Current Thread [Next in Thread]