| .. SPDX-License-Identifier: GPL-2.0+: |
| |
| .. index:: |
| single: bootdev (command) |
| |
| bootdev command |
| =============== |
| |
| Synopsis |
| -------- |
| |
| :: |
| |
| bootdev list [-p] - list all available bootdevs (-p to probe) |
| bootdev hunt [-l|<spec>] - use hunt drivers to find bootdevs |
| bootdev select <bm> - select a bootdev by name |
| bootdev info [-p] - show information about a bootdev |
| |
| Description |
| ----------- |
| |
| The `bootdev` command is used to manage bootdevs. It can list available |
| bootdevs, select one and obtain information about it. |
| |
| See :doc:`../../develop/bootstd` for more information about bootdevs in general. |
| |
| |
| bootdev list |
| ~~~~~~~~~~~~ |
| |
| This lists available bootdevs |
| |
| Scanning with `-p` causes the bootdevs to be probed. This happens automatically |
| when they are used. |
| |
| The list looks something like this: |
| |
| === ====== ====== ======== ========================= |
| Seq Probed Status Uclass Name |
| === ====== ====== ======== ========================= |
| 0 [ + ] OK mmc mmc@7e202000.bootdev |
| 1 [ ] OK mmc sdhci@7e300000.bootdev |
| 2 [ ] OK ethernet smsc95xx_eth.bootdev |
| === ====== ====== ======== ========================= |
| |
| |
| The fields are as follows: |
| |
| Seq: |
| Sequence number in the scan, used to reference the bootflow later |
| |
| Probed: |
| Shows a plus (+) if the device is probed, empty if not. |
| |
| Status: |
| Shows the status of the device. Typically this is `OK` meaning that there is |
| no error. If you use -p and an error occurs when probing, then this shows |
| the error number. You can look up Linux error codes to find the meaning of |
| the number. |
| |
| Uclass: |
| Name of the media device's Uclass. This indicates the type of the parent |
| device (e.g. MMC, Ethernet). |
| |
| Name: |
| Name of the bootdev. This is generated from the media device appended |
| with `.bootdev` |
| |
| |
| bootdev hunt |
| ~~~~~~~~~~~~ |
| |
| This hunts for new bootdevs, or shows a list of hunters. |
| |
| Use `-l` to list the available bootdev hunters. |
| |
| To run hunters, specify the name of the hunter to run, e.g. "mmc". If no |
| name is provided, all hunters are run. |
| |
| |
| bootdev select |
| ~~~~~~~~~~~~~~ |
| |
| Use this to select a particular bootdev. You can select it by the sequence |
| number or name, as shown in `bootdev list`. |
| |
| Once a bootdev is selected, you can use `bootdev info` to look at it or |
| `bootflow scan` to scan it. |
| |
| If no bootdev name or number is provided, then any existing bootdev is |
| unselected. |
| |
| |
| bootdev info |
| ~~~~~~~~~~~~ |
| |
| This shows information on the current bootdev, with the format looking like |
| this: |
| |
| ========= ======================= |
| Name `mmc@7e202000.bootdev` |
| Sequence 0 |
| Status Probed |
| Uclass mmc |
| Bootflows 1 (1 valid) |
| ========= ======================= |
| |
| Most of the information is the same as `bootdev list` above. The new fields |
| are: |
| |
| Device |
| Name of the bootdev |
| |
| Status |
| Shows `Probed` if the device is probed, `OK` if not. If `-p` is used and the |
| device fails to probe, an error code is shown. |
| |
| Bootflows |
| Indicates the number of bootflows attached to the bootdev. This is 0 |
| unless you have used 'bootflow scan' on the bootflow, or on all bootflows. |
| |
| |
| Example |
| ------- |
| |
| This example shows listing available bootdev and getting information about |
| one of them:: |
| |
| U-Boot> bootdev list |
| Seq Probed Status Uclass Name |
| --- ------ ------ -------- ------------------ |
| 0 [ + ] OK mmc mmc@7e202000.bootdev |
| 1 [ ] OK mmc sdhci@7e300000.bootdev |
| 2 [ ] OK ethernet smsc95xx_eth.bootdev |
| --- ------ ------ -------- ------------------ |
| (3 devices) |
| U-Boot> bootdev sel 0 |
| U-Boot> bootflow scan |
| U-Boot> bootdev info |
| Name: mmc@7e202000.bootdev |
| Sequence: 0 |
| Status: Probed |
| Uclass: mmc |
| Bootflows: 1 (1 valid) |
| |
| This shows using one of the available hunters, then listing them:: |
| |
| => bootdev hunt usb |
| Hunting with: usb |
| Bus usb@1: scanning bus usb@1 for devices... |
| 3 USB Device(s) found |
| => bootdev hunt -l |
| Prio Used Uclass Hunter |
| ---- ---- --------------- --------------- |
| 6 ethernet eth_bootdev |
| 1 simple_bus (none) |
| 5 ide ide_bootdev |
| 2 mmc mmc_bootdev |
| 4 nvme nvme_bootdev |
| 4 scsi scsi_bootdev |
| 4 spi_flash sf_bootdev |
| 5 * usb usb_bootdev |
| 4 virtio virtio_bootdev |
| (total hunters: 9) |
| => usb stor |
| Device 0: Vendor: sandbox Rev: 1.0 Prod: flash |
| Type: Hard Disk |
| Capacity: 4.0 MB = 0.0 GB (8192 x 512) |
| Device 1: Vendor: sandbox Rev: 1.0 Prod: flash |
| Type: Hard Disk |
| Capacity: 0.0 MB = 0.0 GB (1 x 512) |
| => |
| |
| |
| Return value |
| ------------ |
| |
| The return value $? is always 0 (true). |