Please enable javascript, or click here to visit my ecommerce web site powered by Shopify.
Jump to: navigation, search

Rock5/guide/build-u-boot-on-5b

< Rock5‎ | guide
Revision as of 15:14, 20 February 2023 by Milas (Talk | contribs)

    ROCK 5 >  Guide >  Build U-Boot on ROCK 5B

Build U-Boot on ROCK 5B

Below is the instructions of how to build u-boot image for ROCK 5 on rock5b board.

Available boards:

  • ROCK 5B

Install essential pacakges

sudo apt-get update
sudo apt-get install -y git  device-tree-compiler libncurses5 libncurses5-dev build-essential libssl-dev mtools bc python dosfstools flex bison

Get the source code

Clone the source code

mkdir ~/rk3588-sdk && cd ~/rk3588-sdk
git clone -b stable-5.10-rock5 https://github.com/radxa/u-boot.git
git clone -b master https://github.com/radxa/rkbin.git
git clone -b debian https://github.com/radxa/build.git

And you will get

build   rkbin u-boot

Directories usage introductions:

  • build:
    • Some script files and configuration files for building u-boot, kernel and rootfs.
  • rkbin:
    • Prebuilt Rockchip binaries, include first stage loader and ATF(Arm Trustzone Firmware).
  • u-boot:
    • u-boot as the second stage bootloader

Build u-boot

Need to checkout branch to stable-5.10-rock5.

Build u-boot with default rock-5b-rk3588_defconfig.

cd ~/rk3588-sdk
./build/mk-uboot.sh rk3588-rock-5b     #For ROCK 5B

The generated images will be copied to out/u-boot folder

ls out/u-boot/
idbloader.img  rk3588_spl_loader_v1.07.111.bin  spi  u-boot.itb

Write u-boot images

1. After a successful build, the ~/rk3588-sdk/out/u-boot directory will be populated

~/rk3588-sdk/out/u-boot
├── idbloader.img
├── rk3588_spl_loader_v1.08.111.bin
├── spi
│   └── spi_image.img
└── u-boot.itb

2. Flash U-Boot to your desired storage device

⚠️ Some versions of the Rock 5B kernel have the eMMC and SD Card devices swapped

ℹ️ Booting from an NVMe device requires flashing U-Boot to SPI - see SPI NVMe Boot Guide

The following commands should be run from the ~/rk3588-sdk directory.

  • emmc
sudo dd if=./out/u-boot/idbloader.img of=/dev/mmcblk0 bs=512 seek=64
sudo dd if=./out/u-boot/u-boot.itb of=/dev/mmcblk0 bs=512 seek=16384
  • sdcard
sudo dd if=./out/u-boot/idbloader.img of=/dev/mmcblk1 bs=512 seek=64
sudo dd if=./out/u-boot/u-boot.itb of=/dev/mmcblk1 bs=512 seek=16384
  • spi nor
sudo dd if=./out/u-boot/idbloader.img of=/dev/mtdblock0 bs=512 seek=64
sudo dd if=./out/u-boot/u-boot.itb of=/dev/mtdblock0 bs=512 seek=16384

FAQs

Troubleshooting

Check ROCK 5 FAQs first, if it doesn't help, start a new post on the forum https://forum.radxa.com/c/rock5.