| .. SPDX-License-Identifier: GPL-2.0+: | |
| .. index:: | |
| single: bootmeth (command) | |
| bootmeth command | |
| ================ | |
| Synopsis | |
| -------- | |
| :: | |
| bootmeth list [-a] - list selected bootmeths (-a for all) | |
| bootmeth order "[<bm> ...]" - select the order of bootmeths | |
| bootmeth set <bootmeth> <property> <value> - 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 |