【发布时间】:2020-03-31 01:41:19
【问题描述】:
我目前正在使用 yocto 构建系统 imx6sxsabresd (IMX6 Solo X)。我已经成功构建了图像,但是我想在 init.d 中添加一个脚本来打开 LED。我将附加到 meta-fsl-bsp-release 层中的 linux-imx 配方。
这是我的 linux-imx.bbappend 文件:
FILESEXTRAPATHS_prepend := "${THISDIR}/linux-imx:"
SRC_URI += "file://0001-added-pad-for-heartbeat-led.patch \
file://heartbeat.sh \
file://heartbeat "
PACKAGECONFIG_append = " heartbeat"
inherit update-rc.d
INITSCRIPT_PACKAGES = "${PN}"
INITSCRIPT_PARAMS = "start"
INITSCRIPT_NAME = "heartbeat.sh"
do_install_append()
{
install -d ${D}${sysconfdir}/init.d
install -m 0755 ${WORKDIR}/heartbeat.sh ${D}${sysconfdir}/init.d/heartbeat.sh
install -d ${D}/home/root
install -m 0755 ${WORKDIR}/heartbeat ${D}/home/root/heartbeat
}
FILES_${PN} += "${sysconfdir}/init.d/heartbeat.sh /home/root/heartbeat"
PACKAGES = "${PN}"
我可以使用此 bbappend 文件中包含的补丁成功创建 sdcard 映像,但是,文件 heartbeat.sh 和 heartbeat 没有复制到添加到输出 sdcard 文件的最终 rootfs。这很奇怪,因为我可以在它们的路径中看到这些文件被复制到 ../tmp/work/imx6sxsabresd-poky-linux-gnueabi/linux-imx/4.14.98-r0/image/
【问题讨论】:
-
Linux-imx 听起来像一个内核,对吧?我不希望内核包一定会安装在 rootfs 上。您是否考虑过使用新配方?
-
是的。为什么不呢?是否有另一个创建 rootfs 的配方?当我把它分开时,我在执行我的食谱时遇到了问题。它位于 nxp 提供的 bsp 之上。
-
在挂载 rootfs 之前启动期间所需的任何东西都不能根据定义存储在 rootfs 上。内核就是其中之一。