/**
* label_boot_fdtoverlay() - Loads fdt overlays specified in 'fdtoverlays'
+ * or 'devicetree-overlay'
*
* @ctx: PXE context
* @label: Label to process
{"devicetreedir", T_FDTDIR},
{"fdtdir", T_FDTDIR},
{"fdtoverlays", T_FDTOVERLAYS},
+ {"devicetree-overlay", T_FDTOVERLAYS},
{"ontimeout", T_ONTIMEOUT,},
{"ipappend", T_IPAPPEND,},
{"background", T_BACKGROUND,},
and then applied in the load order to the fdt blob stored at the
address indicated in the fdt_addr_r environment variable.
+devicetree-overlay <path> [...] - if this label is chosen, use tftp to retrieve the DT
+ overlay(s) at <path>. it will be temporarily stored at the
+ address indicated in the fdtoverlay_addr_r environment variable,
+ and then applied in the load order to the fdt blob stored at the
+ address indicated in the fdt_addr_r environment variable.
+ Alias for fdtoverlays.
+
kaslrseed - set this label to request random number from hwrng as kaslr seed.
append <string> - use <string> as the kernel command line when booting this
the fdt_addr_r environment variable, and that address will
be passed to bootm.
+devicetree <path> - if this label is chosen, use tftp to retrieve the fdt blob
+ at <path>. it will be stored at the address indicated in
+ the fdt_addr_r environment variable, and that address will
+ be passed to bootm. Alias for fdt.
+
fdtdir <path> - if this label is chosen, use tftp to retrieve a fdt blob
relative to <path>. If the fdtfile environment variable
is set, <path>/<fdtfile> is retrieved. Otherwise, the
The standard format for boot configuration files is that of extlinux.conf, as
handled by U-Boot's "syslinux" (disk) or "pxe boot" (network). This is roughly
-as specified at BootLoaderSpec_:
+as specified at `Boot Loader Specification`_:
-... with the exceptions that the BootLoaderSpec document:
+... with the exceptions that the Boot Loader Specification document:
* Prescribes a separate configuration per boot menu option, whereas U-Boot
lumps all options into a single extlinux.conf file. Hence, U-Boot searches
* Does not document the fdtdir option, which automatically selects the DTB to
pass to the kernel.
+See also doc/README.pxe under 'pxe file format'.
+
One example extlinux.conf generated by the Fedora installer is::
# extlinux.conf generated by anaconda
fdtdir /boot/dtb-3.16.0-0.rc6.git1.1.fc22.armv7hl+lpae
+One example of hand-crafted extlinux.conf::
+
+ menu title Select kernel
+ timeout 100
+
+ label Arch with uart devicetree overlay
+ kernel /arch/Image.gz
+ initrd /arch/initramfs-linux.img
+ fdt /dtbs/arch/board.dtb
+ fdtoverlays /dtbs/arch/overlay/uart0-gpio0-1.dtbo
+ append console=ttyS0,115200 console=tty1 rw root=UUID=fc0d0284-ca84-4194-bf8a-4b9da8d66908
+
+ label Arch with uart devicetree overlay but with Boot Loader Specification keys
+ kernel /arch/Image.gz
+ initrd /arch/initramfs-linux.img
+ devicetree /dtbs/arch/board.dtb
+ devicetree-overlay /dtbs/arch/overlay/uart0-gpio0-1.dtbo
+ append console=ttyS0,115200 console=tty1 rw root=UUID=fc0d0284-ca84-4194-bf8a-4b9da8d66908
+
Another hand-crafted network boot configuration file is::
TIMEOUT 100
A size of 1MB for the FDT/DTB seems reasonable.
+fdtoverlay_addr_r:
+ Mandatory. The location in RAM where DTB overlays will be temporarily
+ stored and then applied in the load order to the fdt blob stored at the
+ address indicated in the fdt_addr_r environment variable.
+
fdtfile:
Mandatory. the name of the DTB file for the specific board for instance
the espressobin v5 board the value is "marvell/armada-3720-espressobin.dtb"
variables (e.g. mmc_boot, usb_boot) are a strictly internal implementation
detail and must not be used as a public interface.
-.. _BootLoaderSpec: http://www.freedesktop.org/wiki/Specifications/BootLoaderSpec/
+.. _`Boot Loader Specification`: https://systemd.io/BOOT_LOADER_SPECIFICATION/
.. sectionauthor:: (C) Copyright 2014 Red Hat Inc.
.. sectionauthor:: Copyright (c) 2014-2015, NVIDIA CORPORATION. All rights reserved.