HummingBoard RZ family Boot options

Introduction

The following guide will provide different HummingBoard RZ family boot options.

This guide uses build artifacts from the SolidRun BSP repository. You need to clone this repo and build the artifacts first.

The RZ HummingBoards have two basic boot modes: SD boot and eMMC boot. The boot process starts with loading the bootloaders to the memory from the SD or eMMC. This article will explain how to boot HummingBoard in different modes and flash bootloaders to the eMMC.

This guide compatible with all the RZ family. For using with a specific device you need to change the path of the image to the correct one (replace all the xxxx).

Boot from SD card

  • Prepare the SD card. Connect the SD card to your PC and flash the image on it.

$ sudo dd if=images/rzxxxx_solidrun_buildroot-sd-xxxxxxx.img of=/dev/sdX bs=1M

Note: xxxxxxx in the file name is the software revision number that changes over time.

Note: the SD card is assumed to be connected to /dev/sdX device and unmounted. Don’t forget to change X to the actual device letter.

After that step, the board will boot automatically.

Boot from USB

It’s possible to place the rootfs and boot partitions on the USB drive. This allows us to boot the Linux and get access to the eMMC.

  • Prepare the SD card. Connect the SD card to your PC and flash the bootloader image.

$ sudo dd if=images/rzxxxx_solidrun-sd-bootloader-xxxxxxx.img of=/dev/sdX bs=1M
  • Prepare a USB drive with the boot partition and the rootfs partition.

$ sudo dd if=images/rzxxxx_solidrun_buildroot-sd-xxxxxxx.img of=/dev/sdX bs=1M

Note: the USB drive is assumed to be connected to /dev/sdX device and unmounted. Don’t forget to change X to the actual device letter.

After this step, the board will boot. Stop it in the U-Boot command line in your terminal.

In: serial@1004b800
Out: serial@1004b800
Err: serial@1004b800
Net: EEPROM: TlvInfo v1 len=18
eth0: ethernet@11c20000
Hit any key to stop autoboot: 2
=>

  • Set the bootargs for the USB boot:

  • Load kernel and fdt file from the USB drive:

  • If you need an eMMC access from Linux:

  • Boot the Linux kernel:

After that step, the board will boot using the rootfs placed on the second USB drive partition.

Boot using TFTP

U-Boot allows to load the kernel, ramdisk, and fdt over TFTP. In this example, we will use ramdisk for the rootfs.

  • Prepare the SD card. Connect the SD card to your PC and flash the bootloader image.

  • Set the S3 DIP switch to “Boot from uSD. “

  • Prepare the TFTP server. Place the following files from the build directory on the server:

    • images/tmp/Image

    • images/tmp/rzxxxx-hummingboard.dtb

    • images/tmp/initrd.img

  • Connect the USB cable and open the serial terminal. If you have trouble with this step, refer to the serial connection article.

  • Plug the SD card, USB drive, and Ethernet cable into the HummingBoard, and connect the power supply.

After this step, the board will boot. Stop it in the U-Boot command line in your terminal.

  • Set the TFTP server address:

  • Get the IP address:

  • Set the boot args and load boot artifacts:

  • If you need an eMMC access from Linux:

After that step, the board will boot using the ramdisk rootfs.

Flashing bootloaders and rootfs from Linux

This paragraph assumes you boot Linux using rootfs placed on the USB. And you selected SDIO switch to the eMMC in the u-boot environment before jumping to Linux.

Also, you need to copy bootloader files to the rootfs in the USB:

  • bl2_bp-rzxxx-solidrun.bin

  • fip-rzxxxx-solidrun.bin

  • rzxxx_solidrun_buildroot-sd-xxxxxxx.img

Disable eMMC boot partition write protection:

Flash the bootloaders:

Enable boot partition:

Flash the bootfs and rootfs:

After this step, you can reboot, and the board will start booting from eMMC.

Flashing bootloaders over serial

An RZ/G2LC CPU has a serial downloader mode. With this mode, it’s possible to flash the bootloader to SOM’s eMMC using flash-writer bare-metal software.

Prepare the board:

On your PC terminal go to the flash-writer script dir:

Flash the bootloaders:

Set the S3 DIP switch to eMMC boot and press reset.

Pre-programmed SOMs

 

SolidRun Ltd.