我正在尝试将一个简单文件安装到目标rootfs的/ etc目录中。我正在构建core-image-sato
。 “ raxy_test”文件(在下面的配方中)甚至都没有在WORKDIR中复制。
我做错什么了吗?
我可以用普通配方做同样的事情,但不能用图像配方做。
普通食谱和图片食谱有什么区别?
DESCRIPTION = "Image with Sato, a mobile environment and visual style for \
mobile devices. The image supports X11 with a Sato theme, Pimlico \
applications, and contains terminal, editor, and file manager."
IMAGE_FEATURES += "splash package-management x11-base x11-sato ssh-server-dropbear hwcodecs"
LICENSE = "MIT"
inherit core-image
TOOLCHAIN_HOST_TASK_append = " nativesdk-intltool nativesdk-glib-2.0"
TOOLCHAIN_HOST_TASK_remove_task-populate-sdk-ext = " nativesdk-intltool nativesdk-glib-2.0"
LICENSE="CLOSED"
LIC_FILES_CHKSUM=""
SRC_URI = "\
file://raxy_test \
"
do_install() {
install -d ${D}${sysconfdir}
install -m 0755 raxy_test ${D}${sysconfdir}
}
我希望WORKDIR以及目标的/ etc目录中都存在“ raxy_test”文件。
我们将不胜感激,谢谢... !!!
答案 0 :(得分:2)
多件事:
core-image-sato
)在图像中添加文件。您应该使用单独的配方进行此修改; install
不正确(未使用WORKDIR); 对于单独的配方,请在recipes- *子目录中创建文件(例如myrecipe.bb
或所需的任何文件)(您需要将其放置在与其他配方相同的文件夹级别上!)。我没有测试它,但是我认为这可以作为基础:
DESCRIPTION = "My recipe"
LICENSE="CLOSED"
PR = "r0"
PV = "0.1"
SRC_URI = " file://raxy_test "
# Create package specific skeleton
do_install() {
install -d ${D}${sysconfdir}
install -m 0755 ${WORKDIR}/raxy_test ${D}${sysconfdir}/raxy_test
}
# Populate packages
FILES_${PN} = "${sysconfdir}"
您会注意到有些事情已经改变:
install
必须包含$ {WORKDIR}路径:
install -m 0755 ${WORKDIR}/raxy_test ${D}${sysconfdir}
我们需要填充软件包:
FILES_${PN} = "${sysconfdir}"
这会将${sysconfdir}
中的文件添加到包${PN}
(默认为配方名称)中。