Changes between Version 2 and Version 3 of venice/bootloader


Ignore:
Timestamp:
04/18/2024 12:41:20 AM (7 months ago)
Author:
Tim Harvey
Comment:

--

Legend:

Unmodified
Added
Removed
Modified
  • venice/bootloader

    v2 v3  
    4141}}}
    4242
     43
     44[=#bootdevs]
     45== Boot Devices
     46The Venice U-Boot Bootloader supports the following devices and partition types:
     47 - eMMC
     48 - microSD
     49 - USB Mass Storage
     50 - NVMe
     51
     52The 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
     59Venice 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
     61If 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
     65u-boot=> pci enum
     66PCIE-0: Link up (Gen1-x1, Bus0)
     67u-boot=> nvme scan
     68u-boot=> nvme info
     69Device 0: Vendor: 0x10ec Rev: 0426-D00 Prod: 60272-0005         
     70            Type: Hard Disk
     71            Capacity: 57241.8 MB = 55.9 GB (117231408 x 512)
     72u-boot=> tftpboot $loadaddr venice/jammy-venice.img.gz && gzwrite nvme 0 $loadaddr $filesize
     73...
     74# set boot targets to boot only from nvme
     75setenv boot_targets nvme0
     76saveenv
     77}}}
     78 * boot from microSD (mmc dev 1)
     79{{{#!bash
     80u-boot=> mmc dev 1
     81switch to partitions #0, OK
     82mmc1 is current device
     83u-boot=> mmc list
     84FSL_SDHC: 0
     85FSL_SDHC: 1 (SD)
     86FSL_SDHC: 2 (eMMC)
     87u-boot=> tftpboot $loadaddr venice/jammy-venice.img.gz && gzwrite mmc 1 $loadaddr $filesize
     88...
     89# set boot targets to boot only from nvme
     90setenv boot_targets mmc1
     91saveenv
     92}}}
     93 * boot from USB 0 (usb dev 0)
     94{{{#!bash
     95u-boot=> usb start
     96starting USB...
     97Bus usb@38100000: Register 2000140 NbrPorts 2
     98Starting the controller
     99USB XHCI 1.10
     100Bus usb@38200000: Register 2000140 NbrPorts 2
     101Starting the controller
     102USB XHCI 1.10
     103scanning bus usb@38100000 for devices... cannot reset port 1!?
     1042 USB Device(s) found
     105scanning bus usb@38200000 for devices... 4 USB Device(s) found
     106       scanning usb for storage devices... 1 Storage Device(s) found
     107u-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       
     112u-boot=> tftpboot $loadaddr venice/jammy-venice.img.gz && gzwrite usb 0 $loadaddr $filesize
     113...
     114# set boot targets to boot only from nvme
     115setenv boot_targets mmc1
     116saveenv
     117}}}
     118
     119
    43120[=#memmap]
    44121== Memory Mapping