| | 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 | |