Loading...
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 120 121 122 123 124 125 126 127 128 129 130 131 132 133 134 135 136 137 138 139 140 141 142 143 144 145 146 147 148 149 150 151 152 153 154 155 156 157 158 159 160 161 162 163 164 165 166 167 168 169 170 171 172 173 174 175 176 177 178 | .. 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). |