如何添加自定義單板
在開發過程中,用戶有時需要創建自定義板配置。本節將通過一個實例講解用戶如何創建屬于自己的machine,下面以g2l-test.conf為例進行說明。

14.8.1 選擇一個類似的machine
復制一個類似的machine文件,并重命名為一個你板子的指定名字,如和g2l-test.conf配置文件。
ubuntu@ubuntu2004:~/renesas/yocto/myir-renesas-yocto/layers/meta-myir-remi/conf/machine$ lsinclude myir-remi-1g.conf myir-remi.conf myir-yg2lx-1g.conf myir-yg2lx.confubuntu@ubuntu2004:~/renesas/yocto/myir-renesas-yocto/layers/meta-myir-remi/conf/machine$ cp myir-remi-1g.conf g2l-test.confubuntu@ubuntu2004:~/renesas/yocto/myir-renesas-yocto/layers/meta-myir-remi/conf/machine$ lsg2l-test.conf include myir-remi-1g.conf myir-remi.conf myir-yg2lx-1g.conf myir-yg2lx.conf


14.8.2 更改machine文件
修改g2l-test.conf文件,把COMPATIBLE_MACHINE定義修改為g2l-test。
PC:~/renesas/yocto/layers/meta-myir-remi/conf/machine$ vi myir-test.confCOMPATIBLE_MACHINE_g2l-test = "g2l-test
原來的配置,第15行 | 修改后的配置,第15行 |
![]() | ![]() |
修改完成后,保存退出,繼續執行后續操作。

14.8.3 拷貝g2l-test目錄文件
進入layers/meta-myir-remi/docs/template/conf目錄下拷貝平臺文件,操作步驟如下所示:
ubuntu@ubuntu2004:~/renesas/yocto/myir-renesas-yocto/layers/meta-myir-remi/docs/template/conf$ cp myir-remi-1g/ g2l-test -rvf


14.8.4 修改g2l-test目錄下local.conf文件
修改g2l-test目錄下的local.conf文件,修改38行MACHINE定義為g2l-test,操作步驟如下所示:
ubuntu@ubuntu2004:~/renesas/yocto/myir-renesas-yocto/layers/meta-myir-remi/docs/template/conf/g2l-test$ vi local.conf# This sets the default machine to be qemux86-64 if no other machine is selected:MACHINE ??= "g2l-test"

修改之前配置 | 修改之后配置 |
![]() | ![]() |

14.8.5 修改layer.conf層文件
進入layers/meta-myir-remi/conf目錄修改layer.conf增加對應的g2l-test平臺,操作步驟如下:
ubuntu@ubuntu2004:~/renesas/yocto/myir-renesas-yocto$ cd layers/meta-myir-remi/confubuntu@ubuntu2004:~/renesas/yocto/myir-renesas-yocto/layers/meta-myir-remi/conf$ lslayer.conf machineubuntu@ubuntu2004:~/renesas/yocto/myir-renesas-yocto/layers/meta-myir-remi/conf$ vilayer.conf

分別參考下圖所示,在layer.conf內增加如下兩行配置:
LAYERDEPENDS_g2l-test = "core"LAYERDEPENDS_g2l-test = "core yocto yoctobsp openembedded-layer meta-python"
增加配置之前 | 增加配置之后 |
![]() | ![]() |
增加完成前面的配置后,繼續增加如下配置:
BBFILE_COLLECTIONS += "g2l-test"BBFILE_PATTERN_g2l-test = "^${LAYERDIR}/"BBFILE_PRIORITY_g2l-test = "99"LAYERSERIES_COMPAT_g2l-test = "dunfell"
增加配置之前 | 增加配置之后 |
![]() | ![]() |
全部增加完成后,保存退出即可。

14.8.6 增加環境變量文件
進入到layers/meta-myir-remi/scripts/目錄修改g2l-environment-test.sh文件,操作步驟如下:
ubuntu@ubuntu2004:~/renesas/yocto/myir-renesas-yocto$ cd layers/meta-myir-remi/scripts/ubuntu@ubuntu2004:~/renesas/yocto/myir-renesas-yocto/layers/meta-myir-remi/scripts$cp myir-remi-1g-environment.sh g2l-environment-test.sh

使用編輯器打開g2l-environment-test.sh文件,修改第一行內容為如下所示:
BUID=$(pwd)/layers/meta-myir-remi/docs/template/conf/g2l-test/
修改完成后,保存退出。

14.8.7 修改tf-a-myir.bb文件
修改tf-a-myir.bb文件,增加如下紅色部分:

buntu@ubuntu2004:~/renesas/yocto/myir-renesas-yocto$ cd layers/meta-myir-remi/recipes-bsp/trusted-firmware-aubuntu@ubuntu2004:~/renesas/yocto/myir-renesas-yocto/layers/meta-myir-remi/recipes-bsp/trusted-firmware-a$ vi tf-a-myir.bb
COMPATIBLE_MACHINE_test = "(g21-test)"
PLATFORM_g2l-test = "g2l"EXTRA_FLAGS_g2l-test = "BOARD=smarc_1"PMIC_EXTRA_FLAGS_g2l-test = "BOARD=smarc_pmic_1"FLASH_ADDRESS_BL2_BP_g2l-test = "00000"FLASH_ADDRESS_FIP_g2l-test = "1D200"


14.8.8 修改flash-writer.bb文件
進入到layers/meta-myir-remi/recipes-remi/recipes-bsp/flash-writer修改flash-writer.bb文件,參考如下步驟所示:
ubuntu@ubuntu2004:~/renesas/yocto/myir-renesas-yocto$ cd layers/meta-myir-remi/recipes-remi/recipes-bsp/flash-writerubuntu@ubuntu2004:~/renesas/yocto/myir-renesas-yocto/layers/meta-myir-remi/recipes-remi/recipes-bsp/flash-writer$ vi flash-writer.bb

在do_compile函數內增加下面的命令,具體參考如下圖紅框所示:
elif [ "${MACHINE}" = "g2l-test" ]; thenBOARD="RZG2L_SMARC_PMIC_1GB";PMIC_BOARD="RZG2L_SMARC_PMIC";

修改完成,保存退出即可。

14.8.9 修改linux-myir_5.10.bb文件
進入到layers/meta-myir-remi/recipes-bsp/linux-kernel/linux修改linux-myir_5.10.bb文件,操作步驟如下所示:
ubuntu@ubuntu2004:~/renesas/yocto/myir-renesas-yocto$ cd layers/meta-myir-remi/recipes-bsp/linux-kernel/linuxubuntu@ubuntu2004:~/renesas/yocto/myir-renesas-yocto/layers/meta-myir-remi/recipes-bsp/linux-kernel/linux$ vi linux-myir_5.10.bb

使用vim/gedit等工具打開linux-myir_5.10.bb文件后,增加一行如下配置,具體參考下圖紅色底線所示:
COMPATIBLE_MACHINE_test = "(g2l-test)"

14.8.10 編譯machine文件
根據以上已經配置好的平臺文件,接下來可以進行編譯,如下步驟指定MACHINE為我們新增的g2l-test,環境變量使用我們新增的g2l-environment-test.sh進行環境配置。
ubuntu@ubuntu2004:~/renesas/yocto/myir-renesas-yocto$ DISTRO=poky MACHINE=g2l-test source layers/meta-myir-remi/scripts/g2l-environment-test.sh build-g2l-test

配置完成后,就可以開始編譯自己的系統鏡像。如下所示,默認支持的目標系統鏡像,我們以myir-image-core為例,接下來進行編譯演示。

ubuntu@ubuntu2004:~/renesas/yocto/myir-renesas-yocto/build-g2l-test$ bitbake myir-image-core -k


整個編譯過程因為需要聯網下載軟件包,大概需要至少4-12個小時,建議耐心等待,編譯完成后,系統鏡像會輸出至tmp/deploy/images/目錄內,具體操作可以參考前面章節編譯系統鏡像部分。
第15章 常見問題
關閉GUI:
移除/etc/systemd/system/myir.service,重啟。
發現scp出現權限問題時:
rm -f /home/ubuntu/.ssh/known_hosts
編譯strace:
git clone https://github.com/strace/strace.git./bootstrap
strace$ ./configure --prefix=$PWD/tmp --host=aarch64-poky-linux CFLAGS="-mtune=cortex-a55 -fstack-protector-strong -D_FORTIFY_SOURCE=2 -Wformat -Wformat-security -Werror=format-security --sysroot=/opt/remi-sdk/sysroots/aarch64-poky-linux" --enable-mpers=no --disable-gcc-Werror
如您在使用瑞薩MCU/MPU產品中有任何問題,可識別下方二維碼或復制網址到瀏覽器中打開,進入瑞薩技術論壇尋找答案或獲取在線技術支持。
https://community-ja.renesas.com/zh/forums-groups/mcu-mpu/
推薦閱讀
添加社區軟件包 proftpd——RZ MPU工業控制教程連載(63)
Yocto系統添加程序——RZ MPU工業控制教程連載(62)
bitbake使用——RZ MPU工業控制教程連載(61)



需要產品及方案支持
請掃碼登記