Skip to content

Appendix

How to boot from eMMC

In this section, the steps to boot from eMMC are described.

Writing Bootloader for eMMC Boot

For the boot operation, EXT_CSD registers of eMMC need to be modified and two boot loader files need to be written to the target board.

After booting the Flash Writer, EM_SECSD command of Flash Writer is used to modify EXT_CSD register of eMMC to enable eMMC boot.

Then, EM_W command of Flash Writer is used to write boot loader binary files. This command receives binary data from the serial port and writes the data to a specified address of the eMMC with information where the data should be loaded on the address of the main memory.

Then, set the SW1 on SOM module to eMMC mode.

SW1-1SW1-2
ONOFF

For example, this part describes how to modify EXT_CSD register and write boot loader files:

>EM_SECSD
  Please Input EXT_CSD Index(H'00 - H'1FF) :b1
  EXT_CSD[B1] = 0x00
  Please Input Value(H'00 - H'FF) :2
  EXT_CSD[B1] = 0x02
>EM_SECSD
  Please Input EXT_CSD Index(H'00 - H'1FF) :b3
  EXT_CSD[B3] = 0x00
  Please Input Value(H'00 - H'FF) :8
  EXT_CSD[B3] = 0x08
>EM_W
EM_W Start --------------
---------------------------------------------------------
Please select,eMMC Partition Area.
 0:User Partition Area   : 62160896 KBytes
  eMMC Sector Cnt : H'0 - H'0768FFFF
 1:Boot Partition 1      : 32256 KBytes
  eMMC Sector Cnt : H'0 - H'0000FBFF
 2:Boot Partition 2      : 32256 KBytes
  eMMC Sector Cnt : H'0 - H'0000FBFF
---------------------------------------------------------
  Select area(0-2)>1
-- Boot Partition 1 Program -----------------------------
Please Input Start Address in sector :1
Please Input Program Start Address : 11e00
Work RAM(H'50000000-H'50FFFFFF) Clear....
please send ! ('.' & CR stop load)

Send the data of bl2_bp_mmc-smarc-rzg2l_pmic.srec from terminal software after the message please send ! is shown.

After successfully downloading the binary, messages like below are shown on the terminal.

SAVE -FLASH.......
EM_W Complete!

Next, write another loader file by using EM_W command again.

> EM_W
EM_W Start --------------
---------------------------------------------------------
Please select,eMMC Partition Area.
 0:User Partition Area   : 62160896 KBytes
  eMMC Sector Cnt : H'0 - H'0768FFFF
 1:Boot Partition 1      : 32256 KBytes
  eMMC Sector Cnt : H'0 - H'0000FBFF
 2:Boot Partition 2      : 32256 KBytes
  eMMC Sector Cnt : H'0 - H'0000FBFF
---------------------------------------------------------
  Select area(0-2)>1
-- Boot Partition 1 Program -----------------------------
Please Input Start Address in sector :100
Please Input Program Start Address : 0
Work RAM(H'50000000-H'50FFFFFF) Clear....
please send ! ('.' & CR stop load)

Send the data of fip-smarc-rzg2l_pmic.srec from terminal software after the message please send ! is shown.

After successfully downloading the binary, messages like below are shown on the terminal.

SAVE -FLASH.......
EM_W Complete!

After writing two loader files normally, turn off the power of the board by changing the SW11.

Note

  • Address of EXT_CSD register of eMMC for eMMC boot

    AddressValue to write
    0xB10x02
    0xB30x08
  • Address for sending each loader binary file for eMMC boot

    File namePartition to save to eMMCAddress to save to eMMCAddress to load to RAM
    bl2_bp_mmc-smarc-rzg2l_pmic.srec10000000111E00
    fip-smarc-rzg2l_pmic.srec10000010000000

Then, set the SW1 on SOM module to eMMC mode.

SW1-1SW1-2SW1-3SW1-4SW1-5SW1-6
ONOFFONOFFONON

For example, this part describes how to modify EXT_CSD register and write boot loader files:

>EM_SECSD
  Please Input EXT_CSD Index(H'00 - H'1FF) :b1
  EXT_CSD[B1] = 0x02
  Please Input Value(H'00 - H'FF) :2
  EXT_CSD[B1] = 0x02
>EM_SECSD
  Please Input EXT_CSD Index(H'00 - H'1FF) :b3
  EXT_CSD[B3] = 0x08
  Please Input Value(H'00 - H'FF) :8
  EXT_CSD[B3] = 0x08
>EM_W
EM_W Start --------------
---------------------------------------------------------
Please select,eMMC Partition Area.
 0:User Partition Area   : 62160896 KBytes
  eMMC Sector Cnt : H'0 - H'0768FFFF
 1:Boot Partition 1      : 32256 KBytes
  eMMC Sector Cnt : H'0 - H'0000FBFF
 2:Boot Partition 2      : 32256 KBytes
  eMMC Sector Cnt : H'0 - H'0000FBFF
---------------------------------------------------------
  Select area(0-2)>1
-- Boot Partition 1 Program -----------------------------
Please Input Start Address in sector :1
Please Input Program Start Address : 11e00
Work RAM(H'50000000-H'50FFFFFF) Clear....
please send ! ('.' & CR stop load)

Send the data of bl2_bp_mmc-smarc-rzg2lc.srec from terminal software after the message please send ! is shown.

After successfully downloading the binary, messages like below are shown on the terminal.

SAVE -FLASH.......
EM_W Complete!

Next, write another loader file by using EM_W command again.

> EM_W
EM_W Start --------------
---------------------------------------------------------
Please select,eMMC Partition Area.
 0:User Partition Area   : 62160896 KBytes
  eMMC Sector Cnt : H'0 - H'0768FFFF
 1:Boot Partition 1      : 32256 KBytes
  eMMC Sector Cnt : H'0 - H'0000FBFF
 2:Boot Partition 2      : 32256 KBytes
  eMMC Sector Cnt : H'0 - H'0000FBFF
---------------------------------------------------------
  Select area(0-2)>1
-- Boot Partition 1 Program -----------------------------
Please Input Start Address in sector :100
Please Input Program Start Address : 0
Work RAM(H'50000000-H'50FFFFFF) Clear....
please send ! ('.' & CR stop load)

Send the data of fip-smarc-rzg2lc.srec from terminal software after the message please send ! is shown.

After successfully downloading the binary, messages like below are shown on the terminal.

SAVE -FLASH.......
EM_W Complete!

After writing two loader files normally, turn off the power of the board by changing the SW11.

Note

  • Address of EXT_CSD register of eMMC for eMMC boot

    AddressValue to write
    0xB10x02
    0xB30x08
  • Address for sending each loader binary file for eMMC boot

    File namePartition to save to eMMCAddress to save to eMMCAddress to load to RAM
    bl2_bp_mmc-smarc-rzg2lc.srec10000000111E00
    fip-smarc-rzg2lc.srec10000010000000

Then, set the SW1 on SOM module to eMMC mode.

SW1-1SW1-2SW1-3
ONOFFON

For example, this part describes how to modify EXT_CSD register and write boot loader files:

>EM_SECSD
  Please Input EXT_CSD Index(H'00 - H'1FF) :b1
  EXT_CSD[B1] = 0x00
  Please Input Value(H'00 - H'FF) :2
  EXT_CSD[B1] = 0x02
>EM_SECSD
  Please Input EXT_CSD Index(H'00 - H'1FF) :b3
  EXT_CSD[B3] = 0x00
  Please Input Value(H'00 - H'FF) :8
  EXT_CSD[B3] = 0x08
>EM_W
EM_W Start --------------
---------------------------------------------------------
Please select,eMMC Partition Area.
 0:User Partition Area   : 62160896 KBytes
  eMMC Sector Cnt : H'0 - H'0768FFFF
 1:Boot Partition 1      : 32256 KBytes
  eMMC Sector Cnt : H'0 - H'0000FBFF
 2:Boot Partition 2      : 32256 KBytes
  eMMC Sector Cnt : H'0 - H'0000FBFF
---------------------------------------------------------
  Select area(0-2)>1
-- Boot Partition 1 Program -----------------------------
Please Input Start Address in sector :1
Please Input Program Start Address : 11e00
Work RAM(H'50000000-H'50FFFFFF) Clear....
please send ! ('.' & CR stop load)

Send the data of bl2_bp_mmc-smarc-rzg2ul.srec from terminal software after the message please send ! is shown.

After successfully downloading the binary, messages like below are shown on the terminal.

SAVE -FLASH.......
EM_W Complete!

Next, write another loader file by using EM_W command again.

> EM_W
EM_W Start --------------
---------------------------------------------------------
Please select,eMMC Partition Area.
 0:User Partition Area   : 62160896 KBytes
  eMMC Sector Cnt : H'0 - H'0768FFFF
 1:Boot Partition 1      : 32256 KBytes
  eMMC Sector Cnt : H'0 - H'0000FBFF
 2:Boot Partition 2      : 32256 KBytes
  eMMC Sector Cnt : H'0 - H'0000FBFF
---------------------------------------------------------
  Select area(0-2)>1
-- Boot Partition 1 Program -----------------------------
Please Input Start Address in sector :100
Please Input Program Start Address : 0
Work RAM(H'50000000-H'50FFFFFF) Clear....
please send ! ('.' & CR stop load)

Send the data of fip-smarc-rzg2ul.srec from terminal software after the message please send ! is shown.

After successfully downloading the binary, messages like below are shown on the terminal.

SAVE -FLASH.......
EM_W Complete!

After writing two loader files normally, turn off the power of the board by changing the SW11.

Note

  • Address of EXT_CSD register of eMMC for eMMC boot

    AddressValue to write
    0xB10x02
    0xB30x08
  • Address for sending each loader binary file for eMMC boot

    File namePartition to save to eMMCAddress to save to eMMCAddress to load to RAM
    bl2_bp_mmc-smarc-rzg2ul.srec10000000111E00
    fip-smarc-rzg2ul.srec10000010000000

Then, set the SW_CONFIG on SOM module to eMMC mode.

SW_CONFIG[1]SW_CONFIG[2]SW_CONFIG[3]SW_CONFIG[4]SW_CONFIG[5]SW_CONFIG[6]
OFFOFFONOFFOFFOFF

For example, this part describes how to modify EXT_CSD register and write boot loader files:

>EM_SECSD
  Please Input EXT_CSD Index(H'00 - H'1FF) :b1
  EXT_CSD[B1] = 0x00
  Please Input Value(H'00 - H'FF) :2
  EXT_CSD[B1] = 0x02
>EM_SECSD
  Please Input EXT_CSD Index(H'00 - H'1FF) :b3
  EXT_CSD[B3] = 0x00
  Please Input Value(H'00 - H'FF) :8
  EXT_CSD[B3] = 0x08
>EM_W
EM_W Start --------------
---------------------------------------------------------
Please select,eMMC Partition Area.
 0:User Partition Area   : 62160896 KBytes
  eMMC Sector Cnt : H'0 - H'0768FFFF
 1:Boot Partition 1      : 32256 KBytes
  eMMC Sector Cnt : H'0 - H'0000FBFF
 2:Boot Partition 2      : 32256 KBytes
  eMMC Sector Cnt : H'0 - H'0000FBFF
---------------------------------------------------------
  Select area(0-2)>1
-- Boot Partition 1 Program -----------------------------
Please Input Start Address in sector :1
Please Input Program Start Address : a1e00
Work RAM(H'50000000-H'50FFFFFF) Clear....
please send ! ('.' & CR stop load)

Send the data of bl2_bp_mmc-smarc-rzg3s.srec from terminal software after the message please send ! is shown.

After successfully downloading the binary, messages like below are shown on the terminal.

SAVE -FLASH.......
EM_W Complete!

Next, write another loader file by using EM_W command again.

> EM_W
EM_W Start --------------
---------------------------------------------------------
Please select,eMMC Partition Area.
 0:User Partition Area   : 62160896 KBytes
  eMMC Sector Cnt : H'0 - H'0768FFFF
 1:Boot Partition 1      : 32256 KBytes
  eMMC Sector Cnt : H'0 - H'0000FBFF
 2:Boot Partition 2      : 32256 KBytes
  eMMC Sector Cnt : H'0 - H'0000FBFF
---------------------------------------------------------
  Select area(0-2)>1
-- Boot Partition 1 Program -----------------------------
Please Input Start Address in sector :300
Please Input Program Start Address : 0
Work RAM(H'50000000-H'50FFFFFF) Clear....
please send ! ('.' & CR stop load)

Send the data of fip-smarc-rzg3s.srec from terminal software after the message please send ! is shown.

After successfully downloading the binary, messages like below are shown on the terminal.

SAVE -FLASH.......
EM_W Complete!

After writing two loader files normally, turn off the power of the board by changing the SW_MODE.

Note

  • Address of EXT_CSD register of eMMC for eMMC boot

    AddressValue to write
    0xB10x02
    0xB30x08
  • Address for sending each loader binary file for eMMC boot

    File namePartition to save to eMMCAddress to save to eMMCAddress to load to RAM
    bl2_bp_mmc-smarc-rzg3s.srec100000001A1E00
    fip-smarc-rzg3s.srec10000030000000

Create a microSD card to boot Linux for eMMC boot

Please create a microSD card (see Step 4: Deploy Renesas RZ Linux BSP Plus).

After that, please return to the following instructions before unmounting the micro SD card.

Copy the kernel image, device tree file, and rootfs to the second partition of the microSD card.

Note

Where <image name> is one of the following:

  • core-image-minimal
  • core-image-weston

cd /media/user/rootfs/root/
sudo cp ${WORK}/build/tmp/deploy/images/smarc-rzg2l/Image-smarc-rzg2l.bin ./
sudo cp ${WORK}/build/tmp/deploy/images/smarc-rzg2l/r9a07g044l2-smarc.dtb ./
sudo cp ${WORK}/build/tmp/deploy/images/smarc-rzg2l/<image name>-smarc-rzg2l.rootfs.tar.bz2 ./
cd ${WORK}
sudo umount /media/user/rootfs

Please create a microSD card (see Step 4: Deploy Renesas RZ Linux BSP Plus).

After that, please return to the following instructions before unmounting the micro SD card.

Copy the kernel image, device tree file, and rootfs to the second partition of the microSD card.

Note

Where <image name> is one of the following:

  • core-image-minimal
  • core-image-weston

cd /media/user/rootfs/root/
sudo cp ${WORK}/build/tmp/deploy/images/smarc-rzg2lc/Image-smarc-rzg2lc.bin ./
sudo cp ${WORK}/build/tmp/deploy/images/smarc-rzg2lc/r9a07g044c2-smarc.dtb ./
sudo cp ${WORK}/build/tmp/deploy/images/smarc-rzg2lc/<image name>-smarc-rzg2lc.rootfs.tar.bz2 ./
cd ${WORK}
sudo umount /media/user/rootfs

Please create a microSD card (see Step 4: Deploy Renesas RZ Linux BSP Plus).

After that, please return to the following instructions before unmounting the micro SD card.

Copy the kernel image, device tree file, and rootfs to the second partition of the microSD card.

Note

Where <image name> is one of the following:

  • core-image-minimal

cd /media/user/rootfs/root/
sudo cp ${WORK}/build/tmp/deploy/images/smarc-rzg2ul/Image-smarc-rzg2ul.bin ./
sudo cp ${WORK}/build/tmp/deploy/images/smarc-rzg2ul/r9a07g043u11-smarc.dtb ./
sudo cp ${WORK}/build/tmp/deploy/images/smarc-rzg2ul/<image name>-smarc-rzg2ul.rootfs.tar.bz2 ./
cd ${WORK}
sudo umount /media/user/rootfs

Please create a microSD card (see Step 4: Deploy Renesas RZ Linux BSP Plus).

After that, please return to the following instructions before unmounting the micro SD card.

Copy the kernel image, device tree file, and rootfs to the second partition of the microSD card.

Note

Where <image name> is one of the following:

  • core-image-minimal

cd /media/user/rootfs/root/
sudo cp ${WORK}/build/tmp/deploy/images/smarc-rzg3s/<image name>-smarc-rzg3s.rootfs.tar.bz2 ./
cd ${WORK}
sudo umount /media/user/rootfs

Writing rootfs to eMMC

To set the board to eMMC Boot mode, set the SW11 as below:

SW11-1SW11-2SW11-3SW11-4
ONOFFOFFON

Turn on the board by pressing the reset button. After Linux boots, please log in as root and create partitions on the eMMC by running the following commands.

root@smarc-rzg2l:~# fdisk /dev/mmcblk0

Welcome to fdisk (util-linux 2.35.1).
Changes will remain in memory only, until you decide to write them.
Be careful before using the write command.

Command (m for help): o
Created a new DOS disklabel with disk identifier 0xf3d53104.

Command (m for help): n
Partition type
   p   primary partition (1-4)
   e   extended
p

Partition number (1-4): 1
First sector (16-124321791, default 16): 16
Last sector or +size{,K,M,G,T} (16-124321791, default 124321791): +500M

Command (m for help): n
Partition type
   p   primary partition (1-4)
   e   extended
p

Partition number (1-4): 2
First sector (1024016-124321791, default 1024016): 1024016
Last sector or +size{,K,M,G,T} (1024016-124321791, default 124321791): 124321791

Command (m for help): p
Disk /dev/mmcblk0: 59 GB, 63652757504 bytes, 124321792 sectors
1942528 cylinders, 4 heads, 16 sectors/track
Units: sectors of 1 * 512 = 512 bytes

Device       Boot StartCHS    EndCHS        StartLBA     EndLBA    Sectors  Size Id Type
/dev/mmcblk0p1    0,1,1       1023,3,16           16    1024015    1024000  500M 83 Linux
/dev/mmcblk0p2    1023,3,16   1023,3,16      1024016  124321791  123297776 58.7G 83 Linux

Command (m for help): w
The partition table has been altered.
Calling ioctl() to re-read partition table.

root@smarc-rzg2l:~#

Format eMMC.

mkfs.ext4 /dev/mmcblk0p1
mkfs.ext4 /dev/mmcblk0p2

Format the eMMC and write the kernel, device tree, and rootfs.

Note

Where <image name> is one of the following:

  • core-image-minimal
  • core-image-weston

mount /dev/mmcblk0p1 /mnt/
cp Image-smarc-rzg2l.bin /mnt/
cp r9a07g044l2-smarc.dtb /mnt/
umount /dev/mmcblk0p1
mount /dev/mmcblk0p2 /mnt/
tar xf /root/<image name>-smarc-rzg2l.rootfs.tar.bz2 -C /mnt/
umount /dev/mmcblk0p2

To set the board to eMMC Boot mode, set the SW11 as below:

SW11-1SW11-2SW11-3SW11-4
ONOFFOFFON

Turn on the board by pressing the reset button. After Linux boots, please log in as root and create partitions on the eMMC by running the following commands.

root@smarc-rzg2lc:~# fdisk /dev/mmcblk0

Welcome to fdisk (util-linux 2.35.1).
Changes will remain in memory only, until you decide to write them.
Be careful before using the write command.

Command (m for help): o
Created a new DOS disklabel with disk identifier 0xf3d53104.

Command (m for help): n
Partition type
   p   primary partition (1-4)
   e   extended
p

Partition number (1-4): 1
FFirst sector (32-124321791, default 32): 32
Last sector or +size{,K,M,G,T} (32-124321791, default 124321791): +500M

Command (m for help): n
Partition type
   p   primary partition (1-4)
   e   extended
p

Partition number (1-4): 2
First sector (1024032-124321791, default 1024032): 1024032
Last sector or +size{,K,M,G,T} (1024032-124321791, default 124321791): 124321791

Command (m for help): p
Disk /dev/mmcblk0: 59 GB, 63652757504 bytes, 124321792 sectors
971264 cylinders, 4 heads, 32 sectors/track
Units: sectors of 1 * 512 = 512 bytes

Device       Boot StartCHS    EndCHS        StartLBA     EndLBA    Sectors  Size Id Type
/dev/mmcblk0p1    0,1,1       1023,3,32           32    1024031    1024000  500M 83 Linux
/dev/mmcblk0p2    1023,3,32   1023,3,32      1024032  124321791  123297760 58.7G 83 Linux

Command (m for help): w
The partition table has been altered.
Calling ioctl() to re-read partition table.

root@smarc-rzg2lc:~#

Format eMMC.

mkfs.ext4 /dev/mmcblk0p1
mkfs.ext4 /dev/mmcblk0p2

Format the eMMC and write the kernel, device tree, and rootfs.

Note

Where <image name> is one of the following:

  • core-image-minimal
  • core-image-weston

mount /dev/mmcblk0p1 /mnt/
cp Image-smarc-rzg2lc.bin /mnt/
cp r9a07g044c2-smarc.dtb /mnt/
umount /dev/mmcblk0p1
mount /dev/mmcblk0p2 /mnt/
tar xf /root/<image name>-smarc-rzg2lc.rootfs.tar.bz2 -C /mnt/
umount /dev/mmcblk0p2

To set the board to eMMC Boot mode, set the SW11 as below:

SW11-1SW11-2SW11-3SW11-4
ONOFFOFFON

Turn on the board by pressing the reset button. After Linux boots, please log in as root and create partitions on the eMMC by running the following commands.

root@smarc-rzg2ul:~# fdisk /dev/mmcblk0

Welcome to fdisk (util-linux 2.35.1).
Changes will remain in memory only, until you decide to write them.
Be careful before using the write command.

Command (m for help): o
Created a new DOS disklabel with disk identifier 0xf3d53104.

Command (m for help): n
Partition type
   p   primary partition (1-4)
   e   extended
p

Partition number (1-4): 1
FFirst sector (32-124321791, default 32): 32
Last sector or +size{,K,M,G,T} (32-124321791, default 124321791): +500M

Command (m for help): n
Partition type
   p   primary partition (1-4)
   e   extended
p

Partition number (1-4): 2
First sector (1024032-124321791, default 1024032): 1024032
Last sector or +size{,K,M,G,T} (1024032-124321791, default 124321791): 124321791

Command (m for help): p
Disk /dev/mmcblk0: 59 GB, 63652757504 bytes, 124321792 sectors
971264 cylinders, 4 heads, 32 sectors/track
Units: sectors of 1 * 512 = 512 bytes

Device       Boot StartCHS    EndCHS        StartLBA     EndLBA    Sectors  Size Id Type
/dev/mmcblk0p1    0,1,1       1023,3,32           32    1024031    1024000  500M 83 Linux
/dev/mmcblk0p2    1023,3,32   1023,3,32      1024032  124321791  123297760 58.7G 83 Linux

Command (m for help): w
The partition table has been altered.
Calling ioctl() to re-read partition table.

root@smarc-rzg2ul:~#

Format eMMC.

mkfs.ext4 /dev/mmcblk0p1
mkfs.ext4 /dev/mmcblk0p2

Format the eMMC and write the kernel, device tree, and rootfs.

Note

Where <image name> is one of the following:

  • core-image-minimal

mount /dev/mmcblk0p1 /mnt/
cp Image-smarc-rzg2ul.bin /mnt/
cp r9a07g043u11-smarc.dtb /mnt/
umount /dev/mmcblk0p1
mount /dev/mmcblk0p2 /mnt/
tar xf /root/<image name>-smarc-rzg2ul.rootfs.tar.bz2 -C /mnt/
umount /dev/mmcblk0p2

To set the board to eMMC Boot mode, set the SW_MODE as below:

SW_MODE[1]SW_MODE[2]SW_MODE[3]SW_MODE[4]
ONOFFOFFON

Turn on the board by pressing the reset button. After Linux boots, please log in as root and create partitions on the eMMC by running the following commands.

root@smarc-rzg3s:~# fdisk /dev/mmcblk0

Welcome to fdisk (util-linux 2.35.1).
Changes will remain in memory only, until you decide to write them.
Be careful before using the write command.

Command (m for help): o
Created a new DOS disklabel with disk identifier 0xf3d53104.

Command (m for help): n
Partition type
   p   primary partition (1-4)
   e   extended
p

Partition number (1-4): 1
First sector (16-124321791, default 16): 16
Last sector or +size{,K,M,G,T} (16-124321791, default 124321791): +500M

Command (m for help): n
Partition type
   p   primary partition (1-4)
   e   extended
p

Partition number (1-4): 2
First sector (1024016-124321791, default 1024016):1024016
Last sector or +size{,K,M,G,T} (1024016-124321791, default 124321791): 124321791

Command (m for help): p
Disk /dev/mmcblk0: 59 GB, 63652757504 bytes, 124321792 sectors
1942528 cylinders, 4 heads, 16 sectors/track
Units: sectors of 1 * 512 = 512 bytes

Device       Boot StartCHS    EndCHS        StartLBA     EndLBA    Sectors  Size Id Type
/dev/mmcblk0p1    0,1,1       1023,3,16           16    1024015    1024000  500M 83 Linux
/dev/mmcblk0p2    1023,3,16   1023,3,16      1024016  124321791  123297776 58.7G 83 Linux

Command (m for help): w
The partition table has been altered.
Calling ioctl() to re-read partition table.

root@smarc-rzg3s:~#

Format eMMC.

mkfs.ext4 /dev/mmcblk0p1
mkfs.ext4 /dev/mmcblk0p2

Format the eMMC and write the kernel, device tree, and rootfs.

Note

Where <image name> is one of the following:

  • core-image-minimal

mount /dev/mmcblk0p2 /mnt/
tar xf /root/<image name>-smarc-rzg3s.rootfs.tar.bz2 -C /mnt/
umount /dev/mmcblk0p2

Setting U-boot for eMMC boot

Reset the board by pressing the reset button and interrupt the boot process by pressing the Enter key.

U-Boot 2024.07 (Sep 12 2025 - 16:08:34 +0000)

CPU:   Renesas Electronics CPU rev 1.0
Model: smarc-rzg2l
DRAM:  1.9 GiB
SF: Detected mt25qu512a with page size 256 Bytes, erase size 4 KiB, total 64 MiB
Core:  33 devices, 19 uclasses, devicetree: separate
WDT:   watchdog@0000000012800800
WDT:   Started watchdog@12800800 with servicing every 1000ms (60s timeout)
MMC:   sd@11c00000: 0, sd@11c10000: 1
Loading Environment from MMC... Reading from MMC(0)... OK
In:    serial@1004b800
Out:   serial@1004b800
Err:   serial@1004b800
WDT:   Started watchdog@12800800 with servicing every 1000ms (60s timeout)
U-boot WDT started!
Net:   eth0: ethernet@11c20000, eth1: ethernet@11c30000
Hit any key to stop autoboot:  0
=>

Set environment variables in the u-boot environment to boot from eMMC.

setenv bootargs 'root=/dev/mmcblk0p2 rootwait'
setenv bootcmd 'mmc dev 1; ext4load mmc 0:1 0x48080000 Image-smarc-rzg2l.bin; ext4load mmc 0:1 0x48000000 r9a07g044l2-smarc.dtb; booti 0x48080000 - 0x48000000'
saveenv

Saving Environment to MMC... Writing to MMC(0)….OK

Please reset the board again for eMMC boot.

Reset the board by pressing the reset button and interrupt the boot process by pressing the Enter key.

U-Boot 2024.07 (Sep 12 2025 - 16:08:34 +0000)

CPU:   Renesas Electronics CPU rev 1.0
Model: smarc-rzg2lc
DRAM:  896 MiB
SF: Detected mt25qu512a with page size 256 Bytes, erase size 4 KiB, total 64 MiB
Core:  29 devices, 19 uclasses, devicetree: separate
WDT:   watchdog@0000000012800800
WDT:   Started watchdog@12800800 with servicing every 1000ms (60s timeout)
MMC:   sd@11c00000: 0, sd@11c10000: 1
Loading Environment from MMC... Reading from MMC(0)... OK
In:    serial@1004b800
Out:   serial@1004b800
Err:   serial@1004b800
WDT:   Started watchdog@12800800 with servicing every 1000ms (60s timeout)
U-boot WDT started!
Net:   eth0: ethernet@11c20000
Hit any key to stop autoboot:  0
=>

Set environment variables in the u-boot environment to boot from eMMC.

setenv bootargs 'root=/dev/mmcblk0p2 rootwait'
setenv bootcmd 'mmc dev 1; ext4load mmc 0:1 0x48080000 Image-smarc-rzg2lc.bin; ext4load mmc 0:1 0x48000000 r9a07g044c2-smarc.dtb; booti 0x48080000 - 0x48000000'
saveenv

Saving Environment to MMC... Writing to MMC(0)….OK

Please reset the board again for eMMC boot.

Reset the board by pressing the reset button and interrupt the boot process by pressing the Enter key.

U-Boot 2024.07 (Sep 12 2025 - 16:08:34 +0000)

CPU:   Renesas Electronics CPU rev 1.0
Model: smarc-rzg2ul
DRAM:  896 MiB
SW_ET0_EN: ON
Core:  30 devices, 20 uclasses, devicetree: separate
WDT:   watchdog@0000000012800800
WDT:   Started watchdog@12800800 with servicing every 1000ms (60s timeout)
MMC:   sd@11c00000: 0, sd@11c10000: 1
Loading Environment from MMC... Reading from MMC(0)... OK
In:    serial@1004b800
Out:   serial@1004b800
Err:   serial@1004b800
WDT:   Started watchdog@12800800 with servicing every 1000ms (60s timeout)
U-boot WDT started!
Net:   eth0: ethernet@11c30000
Hit any key to stop autoboot:  0
=>

Set environment variables in the u-boot environment to boot from eMMC.

setenv bootargs 'root=/dev/mmcblk0p2 rootwait'
setenv bootcmd 'mmc dev 1; ext4load mmc 0:1 0x48080000 Image-smarc-rzg2ul.bin; ext4load mmc 0:1 0x48000000 r9a07g043u11-smarc.dtb; booti 0x48080000 - 0x48000000'
saveenv

Saving Environment to MMC... Writing to MMC(0)….OK

Please reset the board again for eMMC boot.

Reset the board by pressing the reset button and interrupt the boot process by pressing the Enter key.

U-Boot 2024.07 (Sep 12 2025 - 16:08:34 +0000)

CPU:   Renesas Electronics CPU rev 1.0
Model: smarc-rzg3s
DRAM:  896 MiB
Core:  31 devices, 15 uclasses, devicetree: separate
MMC:   sd@11c00000: 0, sd@11c10000: 1, sd@11c20000: 2
Loading Environment from MMC... Reading from MMC(0)... OK
In:    serial@1004b800
Out:   serial@1004b800
Err:   serial@1004b800
Net:
Error: ethernet@11c30000 No valid MAC address found.
No ethernet found.

Hit any key to stop autoboot:  0
=>

Set environment variables in the u-boot environment to boot from eMMC.

env default -a
saveenv

Saving Environment to MMC... Writing to MMC(0)….OK

Please reset the board again for eMMC boot.

How to boot from eSD

In this section, the steps to boot from eSD are described.

Prepare micro SD card

Prepare the micro SD card using the wic image file.

Two files (bl2_bp_esd-smarc-rzg2l_pmic.bin and fip-smarc-rzg2l_pmic.bin) are used for boot from eSD.

  • File and directory in the micro SD card

    Type/Number

    Filesystem

    Contents

    Primary #1




    FAT32




    • Flash_Writer_SCIF_RZG2L_SMARC_PMIC_DDR4_2GB_1PCS.mot
    • bl2_bp_mmc-smarc-rzg2l_pmic.srec
    • bl2_bp_spi-smarc-rzg2l_pmic.srec
    • bl2_bp_esd-smarc-rzg2l_pmic.bin
    • fip-smarc-rzg2l_pmic.srec
    • fip-smarc-rzg2l_pmic.bin

    Primary #2



















    Ext4



















    ./
    ├── bin
    ├── boot
      ├─ Image
      ├─ Image-6.12.34-cip3-yocto-standard-gfd6f2e323a18
     └─ r9a07g044l2-smarc.dtb
    ├── dev
    ├── etc
    ├── home
    ├── lib
    ├── media
    ├── mnt
    ├── proc
    ├── root
    ├── run
    ├── sbin
    ├── srv
    ├── sys
    ├── tmp
    ├── usr
    └── var

Prepare the micro SD card using the wic image file.

Two files (bl2_bp_esd-smarc-rzg2lc.bin and fip-smarc-rzg2lc.bin) are used for boot from eSD.

  • File and directory in the micro SD card

    Type/Number

    Filesystem

    Contents

    Primary #1




    FAT32




    • Flash_Writer_SCIF_RZG2LC_SMARC_DDR4_1GB_1PCS.mot
    • bl2_bp_mmc-smarc-rzg2lc.srec
    • bl2_bp_spi-smarc-rzg2lc.srec
    • bl2_bp_esd-smarc-rzg2lc.bin
    • fip-smarc-rzg2lc.srec
    • fip-smarc-rzg2lc.bin

    Primary #2



















    Ext4



















    ./
    ├── bin
    ├── boot
      ├─ Image
      ├─ Image-6.12.34-cip3-yocto-standard-gb105f79b143c
     └─ r9a07g044c2-smarc.dtb
    ├── dev
    ├── etc
    ├── home
    ├── lib
    ├── media
    ├── mnt
    ├── proc
    ├── root
    ├── run
    ├── sbin
    ├── srv
    ├── sys
    ├── tmp
    ├── usr
    └── var

Prepare the micro SD card using the wic image file.

Two files (bl2_bp_esd-smarc-rzg2ul.bin and fip-smarc-rzg2ul.bin) are used for boot from eSD.

  • File and directory in the micro SD card

    Type/Number

    Filesystem

    Contents

    Primary #1




    FAT32




    • Flash_Writer_SCIF_RZG2UL_SMARC_DDR4_1GB_1PCS.mot
    • bl2_bp_mmc-smarc-rzg2ul.srec
    • bl2_bp_spi-smarc-rzg2ul.srec
    • bl2_bp_esd-smarc-rzg2ul.bin
    • fip-smarc-rzg2ul.srec
    • fip-smarc-rzg2ul.bin

    Primary #2



















    Ext4



















    ./
    ├── bin
    ├── boot
      ├─ Image
      ├─ Image-6.12.34-cip3-yocto-standard-gfd5929f36c66
     └─ r9a07g043u11-smarc.dtb
    ├── dev
    ├── etc
    ├── home
    ├── lib
    ├── media
    ├── mnt
    ├── proc
    ├── root
    ├── run
    ├── sbin
    ├── srv
    ├── sys
    ├── tmp
    ├── usr
    └── var

Prepare the micro SD card using the wic image file.

Two files (bl2_bp_esd-smarc-rzg3s.bin and fip-smarc-rzg3s.bin) are used for boot from eSD.

  • File and directory in the micro SD card

    Type/Number

    Filesystem

    Contents

    Primary #1




    FAT32




    • FlashWriter-smarc-rzg3s.mot
    • bl2_bp_mmc-smarc-rzg3s.srec
    • bl2_bp_spi-smarc-rzg3s.srec
    • bl2_bp_esd-smarc-rzg3s.bin
    • fip-smarc-rzg3s.srec
    • fip-smarc-rzg3s.bin

    Primary #2



















    Ext4



















    ./
    ├── bin
    ├── boot
      ├─ Image
      ├─ Image-6.12.34-cip3-yocto-standard-gfd5929f36c66
     └─ r9a08g045s33-smarc.dtb
    ├── dev
    ├── etc
    ├── home
    ├── lib
    ├── media
    ├── mnt
    ├── proc
    ├── root
    ├── run
    ├── sbin
    ├── srv
    ├── sys
    ├── tmp
    ├── usr
    └── var

Set SMARC EVK board for eSD boot

To set the board to eSD Boot mode, set the SW11 as below:

SW11-1SW11-2SW11-3SW11-4
ONONOFFON

Then, change SW1 on the module to select micro SD card slot instead of eMMC.

SW1-1SW1-2
ONON

Please insert the micro SD card into the SOM module slot.

To set the board to eSD Boot mode, set the SW11 as below:

SW11-1SW11-2SW11-3SW11-4
ONONOFFON

Then, change SW1 on the module to select micro SD card slot instead of eMMC.

SW1-1SW1-2
ONON

Please insert the micro SD card into the SOM module slot.

To set the board to eSD Boot mode, set the SW11 as below:

SW11-1SW11-2SW11-3SW11-4
ONONOFFON

Then, change SW1 on the module to select micro SD card slot instead of eMMC.

SW1-1SW1-2
ONON

Please insert the micro SD card into the SOM module slot.

To set the board to eSD Boot mode, set the SW_MODE as below:

SW_MODE[1]SW_MODE[2]SW_MODE[3]SW_MODE[4]
ONONOFFON

Then, change SW_CONFIG on the module to enable micro SD card slot.

SW_CONFIG[1]SW_CONFIG[2]SW_CONFIG[3]SW_CONFIG[4]SW_CONFIG[5]SW_CONFIG[6]
OFFONONOFFOFFOFF

Please insert the micro SD card into the SOM module slot.

Power on and boot

After pressing the POWER button to turn on the power and RESET button, Linux will be booted from eSD.

NOTICE:  BL2: v2.10.5(release):2.10.5/rz_1.1.0-dirty
NOTICE:  BL2: Built : 13:04:30, Sep 25 2025
NOTICE:  BL2: RZ/G2L
NOTICE:  BL2: SYS_LSI_MODE: 0x0
NOTICE:  BL2: SYS_LSI_DEVID: 0x1841c447
NOTICE:  BL2: SYS_LSI_PRR: 0x0
NOTICE:  BL2: Booting BL31
NOTICE:  BL31: v2.10.5(release):2.10.5/rz_1.1.0-dirty
NOTICE:  BL31: Built : 13:04:30, Sep 25 2025


U-Boot 2024.07 (Sep 12 2025 - 16:08:34 +0000)

CPU:   Renesas Electronics CPU rev 1.0
Model: smarc-rzg2l
DRAM:  1.9 GiB
SF: Detected mt25qu512a with page size 256 Bytes, erase size 4 KiB, total 64 MiB
Core:  33 devices, 19 uclasses, devicetree: separate
WDT:   watchdog@0000000012800800
WDT:   Started watchdog@12800800 with servicing every 1000ms (60s timeout)
MMC:   sd@11c00000: 0, sd@11c10000: 1
Loading Environment from MMC... Reading from MMC(0)... *** Warning - bad CRC, using default environment

In:    serial@1004b800
Out:   serial@1004b800
Err:   serial@1004b800
WDT:   Started watchdog@12800800 with servicing every 1000ms (0s timeout)
U-boot WDT started!
Net:
Warning: ethernet@11c20000 (eth0) using random MAC address - ca:85:51:ea:88:d2
eth0: ethernet@11c20000
Warning: ethernet@11c30000 (eth1) using random MAC address - 4a:64:b3:46:91:8f, eth1: ethernet@11c30000

Hit any key to stop autoboot:  0
## Resetting to default environment
Card did not respond to voltage select! : -110
26690048 bytes read in 2086 ms (12.2 MiB/s)
48482 bytes read in 5 ms (9.2 MiB/s)
Moving Image from 0x48080000 to 0x48200000, end=49c30000
## Flattened Device Tree blob at 48000000
   Booting using the fdt blob at 0x48000000
Working FDT set to 48000000
   Loading Device Tree to 0000000057ff1000, end 0000000057fffd61 ... OK
Working FDT set to 57ff1000
Changing the current FDT in 57ff1000.
   Config Node /soc/mmc@11c00000
      Set property vmmc-supply : <&/regulator-vcc-sdhi0>
   Config Node /soc/mmc@11c00000
      Set property vqmmc-supply : <&/regulator-vccq-sdhi0>

Starting kernel ...

[    0.000000] Booting Linux on physical CPU 0x0000000000 [0x412fd050]
[    0.000000] Linux version 6.12.34-cip3-yocto-standard-gfd6f2e323a18 (oe-user@oe-host)
:
:
Poky (Yocto Project Reference Distro) 5.0.11 smarc-rzg2l ttySC0

smarc-rzg2l login: root
root@smarc-rzg2l:~#

After pressing the POWER button to turn on the power and RESET button, Linux will be booted from eSD.

NOTICE:  BL2: v2.10.5(release):2.10.5/rz_1.1.0-dirty
NOTICE:  BL2: Built : 13:04:30, Sep 25 2025
NOTICE:  BL2: RZ/G2LC
NOTICE:  BL2: SYS_LSI_MODE: 0x0
NOTICE:  BL2: SYS_LSI_DEVID: 0x1841c447
NOTICE:  BL2: SYS_LSI_PRR: 0x0
NOTICE:  BL2: Booting BL31
NOTICE:  BL31: v2.10.5(release):2.10.5/rz_1.1.0-dirty
NOTICE:  BL31: Built : 13:04:30, Sep 25 2025


U-Boot 2024.07 (Sep 12 2025 - 16:08:34 +0000)

CPU:   Renesas Electronics CPU rev 1.0
Model: smarc-rzg2lc
DRAM:  896 MiB
SF: Detected mt25qu512a with page size 256 Bytes, erase size 4 KiB, total 64 MiB
Core:  29 devices, 19 uclasses, devicetree: separate
WDT:   watchdog@0000000012800800
WDT:   Started watchdog@12800800 with servicing every 1000ms (60s timeout)
MMC:   sd@11c00000: 0, sd@11c10000: 1
Loading Environment from MMC... Reading from MMC(0)... *** Warning - bad CRC, using default environment

In:    serial@1004b800
Out:   serial@1004b800
Err:   serial@1004b800
WDT:   Started watchdog@12800800 with servicing every 1000ms (0s timeout)
U-boot WDT started!
Net:
Warning: ethernet@11c20000 (eth0) using random MAC address - fa:f5:de:75:cf:36
eth0: ethernet@11c20000

Hit any key to stop autoboot:  0
## Resetting to default environment
Card did not respond to voltage select! : -110
26690048 bytes read in 2086 ms (12.2 MiB/s)
43306 bytes read in 6 ms (6.9 MiB/s)
Moving Image from 0x48080000 to 0x48200000, end=49c30000
## Flattened Device Tree blob at 48000000
   Booting using the fdt blob at 0x48000000
Working FDT set to 48000000
   Loading Device Tree to 0000000057ff2000, end 0000000057fff929 ... OK
Working FDT set to 57ff2000
Changing the current FDT in 57ff2000.
   Config Node /soc/mmc@11c00000
      Set property vmmc-supply : <&/regulator-vcc-sdhi0>
   Config Node /soc/mmc@11c00000
      Set property vqmmc-supply : <&/regulator-vccq-sdhi0>

Starting kernel ...

[    0.000000] Booting Linux on physical CPU 0x0000000000 [0x412fd050]
[    0.000000] Linux version 6.12.34-cip3-yocto-standard-gb105f79b143c (oe-user@oe-host)
:
:
Poky (Yocto Project Reference Distro) 5.0.11 smarc-rzg2lc ttySC0

smarc-rzg2lc login: root
root@smarc-rzg2lc:~#

After pressing the POWER button to turn on the power and RESET button, Linux will be booted from eSD.

NOTICE:  BL2: v2.10.5(release):2.10.5/rz_1.1.0-dirty
NOTICE:  BL2: Built : 13:04:30, Sep 25 2025
NOTICE:  BL2: RZ/G2UL Type 1
NOTICE:  BL2: SYS_LSI_MODE: 0x0
NOTICE:  BL2: SYS_LSI_DEVID: 0x8450447
NOTICE:  BL2: SYS_LSI_PRR: 0x1101
NOTICE:  BL2: Booting BL31
NOTICE:  BL31: v2.10.5(release):2.10.5/rz_1.1.0-dirty
NOTICE:  BL31: Built : 13:04:30, Sep 25 2025


U-Boot 2024.07 (Sep 12 2025 - 16:08:34 +0000)

CPU:   Renesas Electronics CPU rev 1.0
Model: smarc-rzg2ul
DRAM:  896 MiB
SW_ET0_EN: ON
Core:  30 devices, 20 uclasses, devicetree: separate
WDT:   watchdog@0000000012800800
WDT:   Started watchdog@12800800 with servicing every 1000ms (60s timeout)
MMC:   sd@11c00000: 0, sd@11c10000: 1
Loading Environment from MMC... Reading from MMC(0)... *** Warning - bad CRC, using default environment

In:    serial@1004b800
Out:   serial@1004b800
Err:   serial@1004b800
WDT:   Started watchdog@12800800 with servicing every 1000ms (0s timeout)
U-boot WDT started!
Net:
Warning: ethernet@11c30000 (eth0) using random MAC address - fa:78:51:5a:23:8c
eth0: ethernet@11c30000
Hit any key to stop autoboot:  0
## Resetting to default environment
Card did not respond to voltage select! : -110
26690048 bytes read in 2091 ms (12.2 MiB/s)
35707 bytes read in 5 ms (6.8 MiB/s)
Moving Image from 0x48080000 to 0x48200000, end=49c30000
## Flattened Device Tree blob at 48000000
   Booting using the fdt blob at 0x48000000
Working FDT set to 48000000
   Loading Device Tree to 0000000057ff4000, end 0000000057fffb7a ... OK
Working FDT set to 57ff4000

Starting kernel ...

[    0.000000] Booting Linux on physical CPU 0x0000000000 [0x412fd050]
[    0.000000] Linux version 6.12.34-cip3-yocto-standard-gfd5929f36c66 (oe-user@oe-host)
:
:
Poky (Yocto Project Reference Distro) 5.0.11 smarc-rzg2ul ttySC0

smarc-rzg2ul login: root
root@smarc-rzg2ul:~#

After pressing the POWER button to turn on the power and RESET button, Linux will be booted from eSD.

NOTICE:  BL2: v2.10.5(release):2.10.5/rz_1.1.0-dirty
NOTICE:  BL2: Built : 13:04:30, Sep 25 2025
NOTICE:  BL2: SYS_LSI_MODE: 0x3251
NOTICE:  BL2: SYS_LSI_DEVID: 0x85e0447
NOTICE:  BL2: Booting BL31
NOTICE:  BL31: v2.10.5(release):2.10.5/rz_1.1.0-dirty
NOTICE:  BL31: Built : 13:04:30, Sep 25 2025


U-Boot 2024.07 (Sep 12 2025 - 16:08:34 +0000)

CPU:   Renesas Electronics CPU rev 1.0
Model: smarc-rzg3s
DRAM:  896 MiB
Core:  31 devices, 15 uclasses, devicetree: separate
MMC:   sd@11c00000: 0, sd@11c10000: 1, sd@11c20000: 2
Loading Environment from MMC... Reading from MMC(0)... OK
In:    serial@1004b800
Out:   serial@1004b800
Err:   serial@1004b800
Net:
Error: ethernet@11c30000 No valid MAC address found.
No ethernet found.

Hit any key to stop autoboot:  0
## Resetting to default environment
Card did not respond to voltage select! : -110
26690048 bytes read in 920 ms (27.7 MiB/s)
45489 bytes read in 2 ms (21.7 MiB/s)
Moving Image from 0x48080000 to 0x48200000, end=49c30000
## Flattened Device Tree blob at 48000000
   Booting using the fdt blob at 0x48000000
Working FDT set to 48000000
   Loading Device Tree to 0000000057ff1000, end 0000000057fff1b0 ... OK
Working FDT set to 57ff1000

Starting kernel ...

[    0.000000] Booting Linux on physical CPU 0x0000000000 [0x412fd050]
[    0.000000] Linux version 6.12.34-cip3-yocto-standard-gfd5929f36c66 (oe-user@oe-host)
:
:
Poky (Yocto Project Reference Distro) 5.0.11 smarc-rzg3s ttySC3

smarc-rzg3s login: root
root@smarc-rzg3s:~#