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