.. SPDX-License-Identifier: GPL-2.0+: .. index:: single: bootmeth (command) bootmeth command ================ Synopsis -------- :: bootmeth list [-a] - list selected bootmeths (-a for all) bootmeth order "[ ...]" - select the order of bootmeths bootmeth set - set optional property Description ----------- The `bootmeth` command is used to manage bootmeths. It can list them and change the order in which they are used. See :doc:`/develop/bootstd/index` for more information. .. _bootmeth_order: bootmeth order ~~~~~~~~~~~~~~ Selects which bootmeths to use and the order in which they are invoked. When scanning bootdevs, each bootmeth is tried in turn to see if it can find a valid bootflow. You can use this command to adjust the order or even to omit some boomeths. The argument is a quoted list of bootmeths to use, by name. If global bootmeths are included, they must be at the end, otherwise the scanning mechanism will not work correctly. bootmeth list ~~~~~~~~~~~~~ This lists the selected bootmeths, or all of them, if the `-a` flag is used. The format looks like this: ===== === ================== ================================= Order Seq Name Description ===== === ================== ================================= 0 0 extlinux Extlinux boot from a block device 1 1 efi EFI boot from an .efi file 2 2 pxe PXE boot from a network device 3 3 sandbox Sandbox boot for testing glob 4 efi_mgr EFI bootmgr flow ===== === ================== ================================= The fields are as follows: Order: The order in which these bootmeths are invoked for each bootdev. If this shows as a hyphen, then the bootmeth is not in the current ordering. If it shows as 'glob', then this is a global bootmeth and should be at the end. Seq: The sequence number of the bootmeth, i.e. the normal ordering if none is set Name: Name of the bootmeth Description: A friendly description for the bootmeth Example ------- This shows listing bootmeths. All are present and in the normal order:: => bootmeth list Order Seq Name Description ----- --- ------------------ ------------------ 0 0 distro Extlinux boot from a block device 1 1 efi EFI boot from an .efi file 2 2 pxe PXE boot from a network device 3 3 sandbox Sandbox boot for testing 4 4 efi_mgr EFI bootmgr flow ----- --- ------------------ ------------------ (5 bootmeths) Now the order is changed, to include only two of them:: => bootmeth order "sandbox distro" => bootmeth list Order Seq Name Description ----- --- ------------------ ------------------ 0 3 sandbox Sandbox boot for testing 1 0 distro Extlinux boot from a block device ----- --- ------------------ ------------------ (2 bootmeths) The -a flag shows all bootmeths so you can clearly see which ones are used and which are not:: => bootmeth list -a Order Seq Name Description ----- --- ------------------ ------------------ 1 0 distro Extlinux boot from a block device - 1 efi EFI boot from an .efi file - 2 pxe PXE boot from a network device 0 3 sandbox Sandbox boot for testing - 4 efi_mgr EFI bootmgr flow ----- --- ------------------ ------------------ (5 bootmeths) bootmeth set ~~~~~~~~~~~~ Allows setting of bootmeth specific configuration. This allows finer grain control over the boot process in specific instances. Supported Configuration Options ------------------------------- The following configuration options are currently supported: ======== =================== ====== =============================== Property Supported Bootmeths Values Description ======== =================== ====== =============================== fallback extlinux 0 | 1 Enable or disable fallback path ======== =================== ====== =============================== Bootmeth set Example -------------------- With the bootcount functionality enabled, when the bootlimit is reached, the `altbootcmd` environment variable lists the command used for booting rather than `bootcmd`. We can set the fallback configuration to cause the fallback boot option to be preferred, to revert to a previous known working boot option after a failed update for example. So if `bootcmd` is set to:: bootflow scan -lb We would set "altbootcmd" to:: bootmeth set extlinux fallback 1; bootflow scan -lb