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.
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.
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.
After writing two loader files normally, turn off the power of the board by changing the SW11.
Note
Address of
EXT_CSDregister of eMMC for eMMC bootAddress Value to write 0xB10x020xB30x08Address for sending each loader binary file for eMMC boot
File name Partition to save to eMMC Address to save to eMMC Address to load to RAM bl2_bp_mmc-smarc-rzg2l_pmic.srec10000000111E00fip-smarc-rzg2l_pmic.srec10000010000000
Then, set the SW1 on SOM module to eMMC mode.
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.
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.
After writing two loader files normally, turn off the power of the board by changing the SW11.
Note
Address of
EXT_CSDregister of eMMC for eMMC bootAddress Value to write 0xB10x020xB30x08Address for sending each loader binary file for eMMC boot
File name Partition to save to eMMC Address to save to eMMC Address to load to RAM bl2_bp_mmc-smarc-rzg2lc.srec10000000111E00fip-smarc-rzg2lc.srec10000010000000
Then, set the SW1 on SOM module to eMMC mode.
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.
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.
After writing two loader files normally, turn off the power of the board by changing the SW11.
Note
Address of
EXT_CSDregister of eMMC for eMMC bootAddress Value to write 0xB10x020xB30x08Address for sending each loader binary file for eMMC boot
File name Partition to save to eMMC Address to save to eMMC Address to load to RAM bl2_bp_mmc-smarc-rzg2ul.srec10000000111E00fip-smarc-rzg2ul.srec10000010000000
Then, set the SW_CONFIG on SOM module to eMMC mode.
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.
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.
After writing two loader files normally, turn off the power of the board by changing the SW_MODE.
Note
Address of
EXT_CSDregister of eMMC for eMMC bootAddress Value to write 0xB10x020xB30x08Address for sending each loader binary file for eMMC boot
File name Partition to save to eMMC Address to save to eMMC Address to load to RAM bl2_bp_mmc-smarc-rzg3s.srec100000001A1E00fip-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-minimalcore-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-minimalcore-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
Writing rootfs to eMMC¶
To set the board to eMMC Boot mode, set the SW11 as below:
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.
Format the eMMC and write the kernel, device tree, and rootfs.
Note
Where <image name> is one of the following:
core-image-minimalcore-image-weston
To set the board to eMMC Boot mode, set the SW11 as below:
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.
Format the eMMC and write the kernel, device tree, and rootfs.
Note
Where <image name> is one of the following:
core-image-minimalcore-image-weston
To set the board to eMMC Boot mode, set the SW11 as below:
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.
Format the eMMC and write the kernel, device tree, and rootfs.
Note
Where <image name> is one of the following:
core-image-minimal
To set the board to eMMC Boot mode, set the SW_MODE as below:
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.
Format the eMMC and write the kernel, device tree, and rootfs.
Note
Where <image name> is one of the following:
core-image-minimal
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
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
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
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.
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.motbl2_bp_mmc-smarc-rzg2l_pmic.srecbl2_bp_spi-smarc-rzg2l_pmic.srecbl2_bp_esd-smarc-rzg2l_pmic.binfip-smarc-rzg2l_pmic.srecfip-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.motbl2_bp_mmc-smarc-rzg2lc.srecbl2_bp_spi-smarc-rzg2lc.srecbl2_bp_esd-smarc-rzg2lc.binfip-smarc-rzg2lc.srecfip-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.motbl2_bp_mmc-smarc-rzg2ul.srecbl2_bp_spi-smarc-rzg2ul.srecbl2_bp_esd-smarc-rzg2ul.binfip-smarc-rzg2ul.srecfip-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.motbl2_bp_mmc-smarc-rzg3s.srecbl2_bp_spi-smarc-rzg3s.srecbl2_bp_esd-smarc-rzg3s.binfip-smarc-rzg3s.srecfip-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:
Then, change SW1 on the module to select micro SD card slot instead of eMMC.
Please insert the micro SD card into the SOM module slot.
To set the board to eSD Boot mode, set the SW11 as below:
Then, change SW1 on the module to select micro SD card slot instead of eMMC.
Please insert the micro SD card into the SOM module slot.
To set the board to eSD Boot mode, set the SW11 as below:
Then, change SW1 on the module to select micro SD card slot instead of eMMC.
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:
Then, change SW_CONFIG on the module to enable micro SD card slot.
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:~#






