我正在尝试将一些二进制文件部署到 RPi CM3 的 Yocto 映像中的 /boot ,但它将它们部署到错误的位置。
do_install() {
install -d ${D}/boot/overlays
install -m 0664 ${WORKDIR}/*.dtb ${D}/boot/overlays/
install -m 0664 ${WORKDIR}/*.dtbo ${D}/boot/overlays/
}
Run Code Online (Sandbox Code Playgroud)
这些文件部署到最终映像的 / 分区中的 /boot,但不部署到 /boot 分区。所以它们在启动时不可用。
我已经用谷歌搜索并研究了 Poky 发行版的内核配方(和类),但我没有找到它使用的机制如何确保将文件部署到引导映像(而不是部署到根映像中的 /boot 目录) )。
任何帮助表示赞赏:)
在我的 local.conf 中,我做了:
IMAGE_BOOT_FILES_append = " \
overlays/3dlab-nano-player.dtbo \
overlays/adau1977-adc.dtbo \
...
"
Run Code Online (Sandbox Code Playgroud)
在我的 rpi3-overlays.bb
do_deploy() {
install -d ${DEPLOYDIR}/${PN}
install -m 0664 ${WORKDIR}/*.dtb ${DEPLOYDIR}/${PN}
install -m 0664 ${WORKDIR}/*.dtbo ${DEPLOYDIR}/${PN}
touch ${DEPLOYDIR}/${PN}/${PN}-${PV}.stamp
}
Run Code Online (Sandbox Code Playgroud)
使用此映像构建,但文件仍未部署在 /boot 分区中。使用 RPI_KERNEL_DEVICETREE_OVERLAYS 我得到一个构建错误,因为内核配方试图构建 dtbo 文件,如 dts …