2017-04-07 15 views
1

私のLinuxディストリビューションの/etc/fstabをYoctoでビルドするときに問題が発生しました。私はYoctoにはかなり新しいので、おそらく私はロッカーをオフにしています。/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ファイルが実際に実行されたかどうかを確認するにはどうすればよいですか?

答えて

4

ROOTFS_POSTPROCESS_COMMANDは、画像レシピとパッケージレシピにしないで処理されます。 2つの可能性があります。

  • base-file_%.bbappendであなたのfstabを更新します。

    do_install_append() { 
        cat >> ${D}${sysconfdir}/fstab <<EOF 
    
    # Generated from smack-userspace 
    smackfs /smack smackfs smackfsdefault=* 0 0 
    
    EOF 
    } 
    
  • 更新イメージのレシピでfstabに:この場合、あなたはちょうどあなたがイメージのレシピに(あなたのポストで)上に書いたもの を追加。

+0

ありがとう、それは美しく働いた。 – slashingweapon

0

、その中mylayer

を作成レシピ、コアと呼ばれるフォルダを作成し、このフォルダ 内な塩基と呼ばれる別のフォルダを作成し

yocto層を使用して、新しいレイヤーを作成します。ファイル。 。ファイルを作成し、このフォルダの中

は_%以下の内容で、をbbappend ベースファイルと呼ば:

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

あなたはのfstabというファイルを置く必要があり、その内部ベースのファイルと呼ばれる別のフォルダを作成しますを設定してください。

bblayers.confで新しいレイヤーを有効にしてください。正常に動作し、追加レシピなどを作成する必要はありません。 私はこの問題を抱え、今日この方法を使って解決しました。

関連する問題