Yocto配方更新/ etc / fstab

时间:2017-04-07 17:20:31

标签: yocto

在使用Yocto构建它时,我无法更新Linux发行版的/etc/fstab。我对Yocto很新,所以也许我不喜欢摇滚乐。

我最近的尝试是添加名为base-files_%.bbappend的食谱。

mount_smackfs () {
    cat >> ${IMAGE_ROOTFS}/etc/fstab <<EOF

# Generated from smack-userspace
smackfs /smack smackfs smackfsdefault=* 0 0 

EOF
} 

ROOTFS_POSTPROCESS_COMMAND += "mount_smackfs; "

但是,分发上的输出/ etc / fstab没有改变。所以问题是:

  1. 有更好的方法吗?
  2. 如何判断我的.bbappend文件是否实际执行?

2 个答案:

答案 0 :(得分:7)

ROOTFS_POSTPROCESS_COMMAND在图像配方中处理,不在包装配方中处理。你有两种可能性。

  • base-file_%.bbappend更新您的fstab:

    do_install_append () {
        cat >> ${D}${sysconfdir}/fstab <<EOF
    
    # Generated from smack-userspace
    smackfs /smack smackfs smackfsdefault=* 0 0 
    
    EOF
    }
    
  • 更新图片配方中的fstab:在这种情况下,您只需追加即可 你在图片的食谱上面写的(在你的帖子中)。

答案 1 :(得分:0)

使用

创建一个新图层
  

yocto-layer创建mylayer

在其中,创建一个名为recipes-core的文件夹并在此文件夹中 创建另一个名为base-files的文件夹。

在此文件夹中创建一个名为 base-files _%。bbappend 的文件,其中包含以下内容:

FILESEXTRAPATHS_append := "${THISDIR}/${PN}:"

创建另一个名为base-files的文件夹,在其中你应该在其中放置一个名为 fstab 的文件。

确保在 bblayers.conf 中启用新图层,它将正常工作,无需创建任何追加配方或事物。 我有这个问题,今天用这种方法解决了它。