前面有讲解了 OE 开发环境的搭建以及基本使用:https://blog.csdn.net/engrossment/article/details/105866276
在此基础上,下面以 vim 工具的构建进行举例说明。开发环境中有各种各样的工具包,搜索确认有 bb 文件配置好即可轻松进行构建。
开发环境中已经有 vim 的 bb 文件写好:
tisdk/sources/meta-openembedded/meta-oe/recipes-support/vim/vim_8.0.0022.bb
所以,在 build 目录中做好初始化,执行 bitbake 即可构建 vim:
MACHINE=am335x-evm bitbake vim
有一个问题是,vim 这个 bb 包含的内容很多,我们可以按需配置构建。使用的特性是 package-split。这里我们如果单独想要 vim 包里的 xxd 工具,就要对 bb 文件进行修改,以下是修改前后的 diff:
-PACKAGES =+ "${PN}-common ${PN}-syntax ${PN}-help ${PN}-tutor ${PN}-vimrc ${PN}-tools"
+PACKAGES =+ "${PN}-xxd ${PN}-common ${PN}-syntax ${PN}-help ${PN}-tutor ${PN}-vimrc ${PN}-tools"
+FILES_${PN}-xxd = "${bindir}/xxd"
注意,${PN}-xxd 需配置在前面,以免其他工具包已包含该工具,不会单独生成。然后执行构建:
MACHINE=am335x-evm bitbake vim
构建完成后,在以下目录就分别生成了 xxd 的可执行文件和 ipk 安装包。ipk 安装包可以放到板卡文件系统中用 opkg install 进行安装。
build/arago-tmp-external-linaro-toolchain/work/armv7ahf-neon-linux-gnueabi/vim/8.0.0022-r0/packages-split/vim-xxd
build/arago-tmp-external-linaro-toolchain/work/armv7ahf-neon-linux-gnueabi/vim/8.0.0022-r0/deploy-ipks/armv7ahf-neon
2020年5月7日