如何添加自定义单板

描述

14.8如何添加自定义单板

在开发过程中,用户有时需要创建自定义板配置。本节将通过一个实例讲解用户如何创建属于自己的machine,下面以g2l-test.conf为例进行说明。

14.8.1 选择一个类似的machine

复制一个类似的machine文件,并重命名为一个你板子的指定名字,如和g2l-test.conf配置文件。

左右滑动查看完整内容

 

ubuntu@ubuntu2004:~/renesas/yocto/myir-renesas-yocto/layers/meta-myir-remi/conf/mach
ine$ ls
include myir-remi-1g.conf myir-remi.conf myir-yg2lx-1g.conf myir-yg2lx.conf
ubuntu@ubuntu2004:~/renesas/yocto/myir-renesas-yocto/layers/meta-myir-remi/conf/mach
ine$ cp myir-remi-1g.conf g2l-test.conf
ubuntu@ubuntu2004:~/renesas/yocto/myir-renesas-yocto/layers/meta-myir-remi/conf/mach
ine$ ls
g2l-test.conf include myir-remi-1g.conf myir-remi.conf myir-yg2lx-1g.conf myir-y
g2lx.conf

 

文件

14.8.2 更改machine文件

修改g2l-test.conf文件,把COMPATIBLE_MACHINE定义修改为g2l-test。

左右滑动查看完整内容

 

PC:~/renesas/yocto/layers/meta-myir-remi/conf/machine$ vi myir-test.conf
COMPATIBLE_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/temp
late/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/temp
late/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/conf
ubuntu@ubuntu2004:~/renesas/yocto/myir-renesas-yocto/layers/meta-myir-remi/conf$ ls
layer.conf machine
ubuntu@ubuntu2004:~/renesas/yocto/myir-renesas-yocto/layers/meta-myir-remi/conf$ vi 
layer.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/scrip
ts/
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/recipe
s-bsp/trusted-firmware-a
ubuntu@ubuntu2004:~/renesas/yocto/myir-renesas-yocto/layers/meta-myir-remi/recipes-b
sp/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/recip
es-remi/recipes-bsp/flash-writer
ubuntu@ubuntu2004:~/renesas/yocto/myir-renesas-yocto/layers/meta-myir-remi/recipes-r
emi/recipes-bsp/flash-writer$ vi flash-writer.bb

 

文件

在do_compile函数内增加下面的命令,具体参考如下图红框所示:

左右滑动查看完整内容

 

elif [ "${MACHINE}" = "g2l-test" ]; then
 BOARD="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/recip
es-bsp/linux-kernel/linux
ubuntu@ubuntu2004:~/renesas/yocto/myir-renesas-yocto/layers/meta-myir-remi/recipes-b
sp/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 s
ource 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-im
age-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=corte
x-a55 -fstack-protector-strong -D_FORTIFY_SOURCE=2 -Wformat -Wformat-security -Werr
or=format-security --sysroot=/opt/remi-sdk/sysroots/aarch64-poky-linux" --enable-mpe
rs=no --disable-gcc-Werror

 

打开APP阅读更多精彩内容
声明:本文内容及配图由入驻作者撰写或者入驻合作网站授权转载。文章观点仅代表作者本人,不代表电子发烧友网立场。文章及其配图仅供工程师学习之用,如有内容侵权或者其他违规问题,请联系本站处理。 举报投诉

全部0条评论

快来发表一下你的评论吧 !

×
20
完善资料,
赚取积分