| 43 | |
| 44 | [=#bootdevs] |
| 45 | == Boot Devices |
| 46 | The Venice U-Boot Bootloader supports the following devices and partition types: |
| 47 | - eMMC |
| 48 | - microSD |
| 49 | - USB Mass Storage |
| 50 | - NVMe |
| 51 | |
| 52 | The U-Boot 'Generic Distro Config' is used for Venice: |
| 53 | - the default bootcmd will ultimately search for boot scripts on a set of bootable devices |
| 54 | - the 'boot_targets' env variable dictates which devices are checked and in what order |
| 55 | - the 'boot_prefixes' env variable dictates what file prefixes are searched for a boot script |
| 56 | - the 'boot_scripts' env variable dictates what bootscript names are searched for |
| 57 | - only partitions that have the 'boot' flag set are looked at for boot scripts |
| 58 | |
| 59 | Venice boards are configured via one-time-programable fuses to boot to an on-board eMMC device (it is possible to have Gateworks configure a board to boot to microSD instead for a special or custom build). |
| 60 | |
| 61 | If you wish to select a different boot device priority you can adjust boot_targets. For example: |
| 62 | * boot from NVMe (nvme dev 0) |
| 63 | {{{#!bash |
| 64 | # flash your disk image to the NVMe device |
| 65 | u-boot=> pci enum |
| 66 | PCIE-0: Link up (Gen1-x1, Bus0) |
| 67 | u-boot=> nvme scan |
| 68 | u-boot=> nvme info |
| 69 | Device 0: Vendor: 0x10ec Rev: 0426-D00 Prod: 60272-0005 |
| 70 | Type: Hard Disk |
| 71 | Capacity: 57241.8 MB = 55.9 GB (117231408 x 512) |
| 72 | u-boot=> tftpboot $loadaddr venice/jammy-venice.img.gz && gzwrite nvme 0 $loadaddr $filesize |
| 73 | ... |
| 74 | # set boot targets to boot only from nvme |
| 75 | setenv boot_targets nvme0 |
| 76 | saveenv |
| 77 | }}} |
| 78 | * boot from microSD (mmc dev 1) |
| 79 | {{{#!bash |
| 80 | u-boot=> mmc dev 1 |
| 81 | switch to partitions #0, OK |
| 82 | mmc1 is current device |
| 83 | u-boot=> mmc list |
| 84 | FSL_SDHC: 0 |
| 85 | FSL_SDHC: 1 (SD) |
| 86 | FSL_SDHC: 2 (eMMC) |
| 87 | u-boot=> tftpboot $loadaddr venice/jammy-venice.img.gz && gzwrite mmc 1 $loadaddr $filesize |
| 88 | ... |
| 89 | # set boot targets to boot only from nvme |
| 90 | setenv boot_targets mmc1 |
| 91 | saveenv |
| 92 | }}} |
| 93 | * boot from USB 0 (usb dev 0) |
| 94 | {{{#!bash |
| 95 | u-boot=> usb start |
| 96 | starting USB... |
| 97 | Bus usb@38100000: Register 2000140 NbrPorts 2 |
| 98 | Starting the controller |
| 99 | USB XHCI 1.10 |
| 100 | Bus usb@38200000: Register 2000140 NbrPorts 2 |
| 101 | Starting the controller |
| 102 | USB XHCI 1.10 |
| 103 | scanning bus usb@38100000 for devices... cannot reset port 1!? |
| 104 | 2 USB Device(s) found |
| 105 | scanning bus usb@38200000 for devices... 4 USB Device(s) found |
| 106 | scanning usb for storage devices... 1 Storage Device(s) found |
| 107 | u-boot=> usb storage |
| 108 | Device 0: Vendor: ASolid Rev: Prod: USB |
| 109 | Type: Removable Hard Disk |
| 110 | Capacity: 60000.0 MB = 58.5 GB (122880001 x 512) |
| 111 | |
| 112 | u-boot=> tftpboot $loadaddr venice/jammy-venice.img.gz && gzwrite usb 0 $loadaddr $filesize |
| 113 | ... |
| 114 | # set boot targets to boot only from nvme |
| 115 | setenv boot_targets mmc1 |
| 116 | saveenv |
| 117 | }}} |
| 118 | |
| 119 | |