基于 OE 构建单一工具包

前面有讲解了 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

对该工具包的构建进行清理:

MACHINE=am335x-evm bitbake -c cleansstate vim

或:

MACHINE=am335x-evm bitbake -c cleanall vim

这在修改了部分配置需要重新构建整个文件系统或 SDK 时需要用到,不做这步清理,即使修改了配置也不会重新构建。

2020年5月7日

已标记关键词 清除标记
相关推荐
©️2020 CSDN 皮肤主题: 深蓝海洋 设计师:CSDN官方博客 返回首页