Yocto:装载后创建一个目录

Yocto:装载后创建一个目录,yocto,bitbake,Yocto,Bitbake,我的图层中有一个Yocto bitbake配方-base-files\uuz%.bbappend。它创建装载点: do_install_append() { mknod -m 622 ${D}/dev/console c 5 1 install -m 0755 -d ${D}/boot/EFI install -m 0755 -d ${D}/data } /data/目录稍后将装入内部SD卡 我想创建一个目录${D}/data/test。最好的方法是什么?我在这个函数中

我的图层中有一个Yocto bitbake配方-
base-files\uuz%.bbappend
。它创建装载点:

do_install_append() {
    mknod -m 622 ${D}/dev/console c 5 1
    install -m 0755 -d ${D}/boot/EFI
    install -m 0755 -d ${D}/data
}
/data/
目录稍后将装入内部SD卡

我想创建一个目录
${D}/data/test
。最好的方法是什么?我在这个函数中添加了一行
install-m0755-d${d}/data/test
,但它没有这样做


非常感谢。

您必须将这些已安装的文件添加到您的配方中:

文件{PN}+=“/data/test”

另一个解决方案是在图像配方中添加:

create_dirs() {
    mkdir -p ${IMAGE_ROOTFS}/data/test
}

ROOTFS_POSTPROCESS_COMMAND += "create_dirs ; "

在您的do_install函数中

do_install(){
    mkdir -d ${D}/data/test
}
-d选项在rootfs中创建dir,如果要复制文件,请在do_安装函数中使用下面的命令

install -m 0777 ${s}/your files ${D}/data/test
应通知QA包装过程验证:

FILES_${PN} += "/data/test"

/data/test
是一个目录,而不是文件。我想创建它,以便在系统运行期间有一个放置文件的就绪位置。我尝试了
文件\u${PN}+=“/data/test”
-没有帮助。抱歉,您提到的“图像配方”在哪里?@ilya1725每次执行bitbake生成图像时,您实际上是在对图像配方进行bitbake(核心图像最小值)。搜索它,然后您可以修改它(不推荐),也可以通过添加建议继承您自己的图像配方Nayfe@urnenfeld我们有自己的配方,可以做其他事情,并添加到
ROOTFS\u POSTPROCESS\u命令
。但是它在这个特定的目录上不起作用,这个目录会稍后挂载。好吧,我误解了这个问题,如果挂载了/data,一个解决方案是创建一个小型服务(systemd或sysvinit),它将在fstab挂载后创建/data/test。