Skip to content

  • Projects
  • Groups
  • Snippets
  • Help
    • Loading...
  • Sign in
DIOT Zynq Ultrascale-based System Board
DIOT Zynq Ultrascale-based System Board
  • Project
    • Project
    • Details
    • Activity
    • Cycle Analytics
  • Repository
    • Repository
    • Files
    • Commits
    • Branches
    • Tags
    • Contributors
    • Graph
    • Compare
    • Charts
  • Issues 7
    • Issues 7
    • List
    • Board
    • Labels
    • Milestones
  • Merge Requests 1
    • Merge Requests 1
  • CI / CD
    • CI / CD
    • Pipelines
    • Jobs
    • Schedules
    • Charts
  • Wiki
    • Wiki
  • image/svg+xml
    Discourse
    • Discourse
  • Members
    • Members
  • Collapse sidebar
  • Activity
  • Graph
  • Charts
  • Create a new issue
  • Jobs
  • Commits
  • Issue Boards
  • Projects
  • DIOT Zynq Ultrascale-based System BoardDIOT Zynq Ultrascale-based System Board
  • Wiki
    • Software
  • Booting

Booting

Last edited by Adam Wujek Dec 09, 2021
Page history
  • Selecting boot medium
  • U-boot Booting
    • Default boot order
    • Manual selection of boot source
    • Create boot script to be used by network booting
  • Updating boot images
    • Updating BOOT.BIN from U-boot
    • Updating BOOT.BIN in eMMC/microSD from Linux
    • Updating BOOT.BIN in QSPI from Linux
    • Updating image.bin

Selecting boot medium

The boot medium can be selected by DIP switch on the board. DIOT board can boot from QSPI, eMMC or microSD card.

NOTE: In most cases there is no need to change the boot source/medium.

NOTE: On the first bach of the boards, the DIP switches were not working as described on the board. For details see issue #211 (closed).

U-boot Booting

Default boot order

During the startup of u-boot, if a user does not press a key on a console, the u-boot will run the following automatic sequence:

  • obtain IP address together with IP of TFTP server and filename of an image
  • download the pointed image from network
  • try to execute retrieved image as an u-boot script
  • try to boot retrieved image
  • try to download image.ub via network
  • try to use retrieved image as an u-boot script
  • try to boot retrieved image
  • try to boot image.ub from the first partition on microSD
  • try to boot image.ub from the first partition on eMMC
  • try to boot from the address 0x02040000 of QSPI
  • if none of the above was successful, reset the board

Manual selection of boot source

From U-boot's console it is possible to boot from a desired source by executing one of the following scripts:

  • boot_net_script
  • boot_net
  • boot_sd
  • boot_emmc
  • boot_qspi

E.g.

run boot_net

Will try to get image.ub from the TFTP server and try boot it.

Create boot script to be used by network booting

Create text file with valid u-boot commands to be executed. E.g.:

echo "echo hello!" > boot_script.txt

Make a uboot image out of that file:

mkimage -A arm -O linux -C none -T script -n 'boot script' -d boot_script.txt boot_script.img

Updating boot images

Updating BOOT.BIN from U-boot

To ease the update of u-boot image (BOOT.BIN) or kernel image (image.ub) on different mediums there are several scripts available in the u-boot. For u-boot image:

  • update_boot_qspi_from_net
  • update_boot_emmc_from_net
  • update_boot_sd_from_net
  • update_boot_emmc_from_sd
  • update_boot_qspi_from_sd

Names are self-explanatory. To run these scipts type:

run <script_name>

E.g. run update_boot_qspi_from_net updates the BOOT.BIN in QSPI memory.

Updating BOOT.BIN in eMMC/microSD from Linux

Copy BOOT.BIN to the mounted first partition of eMMC/microSD (/run/media/mmcblk0p1 for eMMC; /run/media/mmcblk1p1 for microSD). Then issue sync. E.g.

cp BOOT.BIN /run/media/mmcblk0p1
sync

Updating BOOT.BIN in QSPI from Linux

flash_erase /dev/mtd0 0 0
cat BOOT.BIN > /dev/mtd0

Updating image.bin

Similar scripts are available to update image.ub:

  • update_image_qspi_from_net
  • update_image_emmc_from_net
  • update_image_sd_from_net
  • update_image_qspi_from_sd
  • update_image_emmc_from_sd
Clone repository
  • Backplane gth ibert analysis
  • Board specification
  • Software
  • Files
  • Home
  • Prototypes evaluation
  • PTS
    • Simple pts files
  • Software
    • Build system
    • Linux
    • Pts
    • Booting
    • Sensors for diagnostics
More Pages

New Wiki Page

Tip: You can specify the full path for the new file. We will automatically create any missing directories.