在Yocto为BeagleBone Black构建内核镜像时缺失config-pin二进制文件
解决BeagleBone Black Yocto构建中包含config-pin的问题
核心结论:config-pin的来源
- config-pin不是内核编译选项,它是BeagleBoard专属的用户空间工具,属于BeagleBoard BSP层提供的软件包,需要通过Yocto引入对应BSP层并添加该包到镜像配方中。
构建含config-pin的镜像步骤
引入meta-beagleboard BSP层
- 先将BeagleBoard的Yocto BSP层克隆到你的构建目录
sources下:git clone https://git.yoctoproject.org/git/meta-beagleboard - 在
conf/bblayers.conf中添加该层的路径,示例:BBLAYERS += "${TOPDIR}/sources/meta-beagleboard"
- 先将BeagleBoard的Yocto BSP层克隆到你的构建目录
将config-pin加入镜像
- 快速方式:在
conf/local.conf中添加如下配置,让构建的镜像自动包含该工具:IMAGE_INSTALL_append = " config-pin" - 精准匹配官方镜像:直接使用BeagleBoard提供的专属镜像配方(如
beaglebone-image或部分版本的core-image-beaglebone),这类配方默认已经内置config-pin及官方镜像的全套工具链。
- 快速方式:在
复用官方镜像的内核配置
- 提取官方镜像的defconfig完全可行,步骤如下:
- 挂载官方镜像的根文件系统,找到
/boot/config-<对应内核版本>文件 - 将该文件复制到Yocto内核层的
configs目录(例如meta-ti/recipes-kernel/linux/linux-ti-staging/bbblack_defconfig) - 在
local.conf中指定使用该配置文件:KERNEL_DEFCONFIG = "bbblack_defconfig"
- 挂载官方镜像的根文件系统,找到
- 提取官方镜像的defconfig完全可行,步骤如下:
关于core-image-sato-sdk的说明
该镜像默认确实不含config-pin,只需按照上述方法在local.conf中添加IMAGE_INSTALL_append = " config-pin",重新构建即可包含该工具。
内容的提问来源于stack exchange,提问作者KUJI
相关产品推荐
相关产品推荐

