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 Standard Boot for more information.
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