Bitbake不安装我的文件在我的rootfs



我的目标是创建Bitbake配方,这将安装配置文件在/etc目录,和脚本,这将应用这个配置到/etc/init。D目录(并调用update-rc-d)。我已经看到了另一个类似的问题(Bitbake没有在rootfs映像中安装我的文件)。我几乎和这个人做的一模一样,但不幸的是没有成功。问题是Bitbake没有抱怨任何东西,只是没有将这些文件添加到rootfs中。这是我现在的食谱。我还将脚本和配置文件放在两个目录中:files和alsa-config,它们位于recipe目录中。

SUMMARY = "Alsa Config"
DESCRIPTION = "Adds alsa configuration file, and startup script that applies it."
LICENSE = "MIT"
LIC_FILES_CHKSUM = "file://${COMMON_LICENSE_DIR}/MIT;md5=0835ade698e0bcf8506ecda2f7b4f302"
SRC_URI += " 
           file://my-alsa-config 
           file://asound.state 
"
PACKAGE_ARCH = "${MACHINE_ARCH}"
S = "${WORKDIR}"
INITSCRIPT_NAME = "my-alsa-config"
INITSCRIPT_PARAMS = "defaults 99 01"
inherit autotools update-rc.d
do_install() {
install -m 0644 ${WORKDIR}/asound.state ${D}${sysconfdir}
}
FILES_${PN} += "${sysconfdir}/asound.state"

在我的local.conf中我添加了line:

CORE_IMAGE_EXTRA_INSTALL += "alsa-config "
请问,有人能帮忙吗?

幸运的是,我能够解决这个问题。解决方案如下:

SUMMARY = "Alsa Config"
DESCRIPTION = "Adds alsa configuration file, and startup script that applies it."
LICENSE = "MIT"
LIC_FILES_CHKSUM = "file://${COMMON_LICENSE_DIR}/MIT;md5=0835ade698e0bcf8506ecda2f7b4f302"
SRC_URI += " 
           file://my-alsa-config 
           file://asound.state 
"
PACKAGE_ARCH = "${MACHINE_ARCH}"
S = "${WORKDIR}"
INITSCRIPT_NAME = "my-alsa-config"
INITSCRIPT_PARAMS = "defaults 99 01"
inherit autotools update-rc.d
do_install() {
install -d ${D}${sysconfdir}/init.d/
install -m 0755 ${WORKDIR}/my-alsa-config ${D}${sysconfdir}/init.d/
install -m 0644 ${WORKDIR}/asound.state ${D}${sysconfdir}/
}
FILES_${PN} += "${sysconfdir}/asound.state 
                ${sysconfdir}/my-alsa-config"

注释:

  1. PACKAGE_ARCH必须正确设置。在我的情况下,当我没有它时,脚本文件的执行权限由于某种原因没有设置。
  2. do_install()必须创建每个目录,这是必需的。即使我知道,在我的rootfs中将有/etc目录,我也必须创建它。我不确定是否有必要,但最好在安装目录的末尾加上斜杠,以防万一。
  3. 初始化脚本要安装在启动时启动也必须安装;)
  4. 脚本必须有适当的权限设置。

相关内容

  • 没有找到相关文章

最新更新