LS1088ARDB/LS1088ARDB-PB - How to update U-Boot binary on SD card

Document created by Swati Gupta Employee on Oct 24, 2018Last modified by Swati Gupta Employee on Nov 30, 2018
Version 19Show Document
  • View in full screen mode

This how-to topic is applicable for LSDK 18.09 and older releases.

Follow these steps to update U-Boot binary on the SD card. 

Prerequisites 

  • Ubuntu 18.04 64-bit should be installed on the Linux host machine for building LSDK 18.06 or LSDK 18.09 U-Boot binary.

 

Compiling U-Boot binary

Clone the u-boot repository.

  1. $ git clone https://source.codeaurora.org/external/qoriq/qoriq-components/u-boot.git
  2. $ cd u-boot
  3. $ git checkout -b <new branch name> LSDK-<LSDK version>. For example, $ git checkout -b LSDK-18.09 LSDK-18.09 
  4. $ export ARCH=arm64
  5. $ export CROSS_COMPILE=aarch64-linux-gnu-
  6. $ make distclean
  7. Execute appropriate defconfig file:
    • For LS1088ARDB: $ make ls1088ardb_sdcard_qspi_defconfig
    • For LS1088ARDB-PB: $ make ls1088ardb_pb_sdcard_qspi_defconfig
  8. If required, make changes to the U-Boot files.
  9. $ make

If the make command shows the error "*** Your GCC is older than 6.0 and is not supported", ensure that you are using Ubuntu 18.04 64-bit version for building LSDK 18.06 or LSDK 18.09 U-Boot binary. 

  

The compiled U-Boot image, u-boot-with-spl.bin, is available at u-boot/.

SD card start block number for U-Boot binary

 

Image SD card start block number
U-Boot binary0x00800 = 2048

Refer the Layerscape Software Development Kit <version> Documentation for complete listing of the SD card start block numbers for all LSDK firmware images. 

  

Programming U-Boot binary to SD card

  1. Plug the SD card into the Linux host.
  2. Run the following command on the Linux host:
    • $ sudo dd if=u-boot-with-spl.bin of=/dev/sdX bs=512 seek=2048 conv=fsync

      Use the command cat /proc/partitions to see a list of devices and their sizes to

      make sure that the correct device names have been chosen.

       

      The SDHC storage drive in the Linux PC is detected as /dev/
      sdX, where X is a letter such as a, b, c. Make sure to choose the correct
      device name, because data on this device will be replaced.

       

      If your Linux host machine supports read/write SDHC card directly without
      an extra SDHC card reader device, the device name of SDHC card is typically
      mmcblk0.

        
  3. Remove the SD card from the Linux host machine.
  4. On the LS1088ARDB/LS1088ARDB-PB, ensure that the switches are set to boot the board from SD card. 
    • For booting from SD card, SW1[1:8] + SW2[1] = 0010_0000_0 
  5. Plug the SD card into the board and boot the board to Ubuntu.

If U-Boot does not find LSDK on the SD card, it will boot TinyDistro from lsdk_linux_arm64_ tiny.itb stored on the SD card.

Attachments

    Outcomes