This how-to topic is applicable only for LSDK 18.09 and older releases. For LSDK 18.12 and newer releases, refer LS1088ARDB-PB - How to deploy TF-A binaries on SD card.
Follow these steps to update the PBL/RCW binary on the SD card.
Compiling PBL binary from RCW source file (optional)
If user already has a PBL binary, this step can be skipped.
Clone the rcw repository and compile the PBL binary.
- $ git clone https://source.codeaurora.org/external/qoriq/qoriq-components/rcw
- $ cd rcw
- $ git checkout -b <new branch name> <LSDK tag>. For example, $ git checkout -b LSDK-18.09 LSDK-18.09
- $ cd ls1088ardb
- If required, make changes to the rcw files.
- $ make
The default PBL binary for LS1088ARDB/LS1088ARDB-PB is FCQQQQQQQQ_PPP_H_0x1d_0x0d/rcw_1600_qspi.bin.
See the rcw/ls1088ardb/README file for an explanation of the naming convention for the directories that contain the RCW source and binary files.
SD card start block number for PBL/RCW binary
| Image | SD card start block number |
|---|
| PBL/RCW binary | 0x00008 = 8 |
Refer the Flash layout for old boot flow with PPA – LSDK 18.09 and older releases for complete listing of the SD card start block numbers for all LSDK firmware images.
Programming PBL/RCW binary to SD card
- Plug the SD card into the Linux host.
- Run the following command on the Linux host:
- $ sudo dd if=rcw_1600_qspi.bin of=/dev/sdX bs=512 seek=8 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.
- Remove the SD card from the Linux host machine.
- On the LS1088ARDB/LS1088ARDB-PB, ensure that the switches are set to boot the board from the SD card.
- For booting from SD card, SW1[1:8] + SW2[1] = 0010_0000_0
- Plug the SD card to 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.