You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何将交叉编译的内核对象添加至Yocto构建流程

将88w8987 WiFi/蓝牙固件集成到Yocto镜像的步骤

针对你的iMX8MP自定义板(USB Host连接88w8987),按以下步骤把编译好的固件加入Yocto镜像:

1. 创建自定义Yocto层(若未创建)

如果还没有专属板卡的自定义层,先创建一个(避免修改官方层,方便后续维护):

bitbake-layers create-layer meta-yourboard
bitbake-layers add-layer meta-yourboard

层的核心目录结构需包含:

meta-yourboard/
├── conf/
│   └── layer.conf
└── recipes-firmware/
    └── brcm88w8987/

2. 编写固件配方文件

在meta-yourboard/recipes-firmware/brcm88w8987/下创建brcm88w8987-firmware.bb,内容如下(替换为你实际的固件文件名):

SUMMARY = "Broadcom 88w8987 WiFi/BT firmware"
LICENSE = "PROPRIETARY"
LIC_FILES_CHKSUM = "file://LICENSE;md5=xxxxxx"  # 有许可证文件则替换校验值,无则可暂时留空(不推荐)

# 指定固件文件路径,本地文件用file://前缀
SRC_URI = "file://brcmfmac43455-usb.bin \
           file://brcmfmac43455-usb.txt"

S = "${WORKDIR}"

do_install() {
    # 安装到系统标准固件目录,Broadcom设备默认路径为/lib/firmware/brcm/
    install -d ${D}/lib/firmware/brcm/
    install -m 0644 ${S}/brcmfmac43455-usb.bin ${D}/lib/firmware/brcm/
    install -m 0644 ${S}/brcmfmac43455-usb.txt ${D}/lib/firmware/brcm/
}

# 声明要打包进镜像的文件
FILES_${PN} = "/lib/firmware/brcm/*"

将你编译好的固件文件放到meta-yourboard/recipes-firmware/brcm88w8987/files/目录下。

3. 配置内核驱动选项

88w8987对应的内核驱动是brcmfmac,需确保开启USB相关驱动配置:

  • 在meta-yourboard/recipes-kernel/linux/下创建linux-imx_%.bbappend(适配iMX官方内核层):
SRC_URI += "file://brcmfmac-usb.cfg"
  • 创建brcmfmac-usb.cfg文件,添加以下内核配置:
CONFIG_BRCMFMAC=y
CONFIG_BRCMFMAC_USB=y
CONFIG_BRCMUTIL=y
CONFIG_BRCMDBG=y  # 可选,用于调试驱动

4. 将固件包加入镜像

在项目的conf/local.conf或自定义层的conf/machine/yourboard.conf中添加:

IMAGE_INSTALL_append = " brcm88w8987-firmware"

5. 构建镜像

执行构建命令生成包含固件和驱动的镜像:

bitbake core-image-base  # 替换为你实际使用的镜像名称

构建完成后,烧录镜像到板卡,系统启动时会自动加载brcmfmac驱动,并从/lib/firmware/brcm/读取对应固件文件。

内容的提问来源于stack exchange,提问作者Gencay

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.07.02 05:33:35