2015-12-15 12 views
5

のデフォルトのinitスクリプトの書き込みを上書きする.bbappendファイルを使用してブートプロシージャーをinitに設定します。ブート時に実行される初期化スクリプトです。私の.bbappendファイルの目的は、ベースopenembedded-coreおよび/またはpokyの環境を変更せずに、元の場所にコピーする起動スクリプトの修正バージョンを参照することです。 .bbappendファイルと私のバージョンのスクリプトは、私のプロジェクトディレクトリに置かれ、残りの自分のレシピがビルドされます。Yoctoは私が<code>init-live.sh</code>の内容を書き込み<code>do_install()</code>内部の声明、管理シェルスクリプトを持っている<code>initramfs-live-boot_1.0.bb</code>に追加されます<code>.bbappend</code>ファイルを記述しようとしていますinitramfsを

initramfs-live-boot_1.0.bbappendは、次のようになります。

SUMMARY = "Replacement recipe" 
FILESEXTRAPATH_prepend := "${THISDIR}/files:" 
SRC_URI += "file://init.sh" 

do_install_append() { 
     install -m 0755 ${WORKDIR}/init.sh ${D}/init 
} 

私はそれから読むべきinit.shスクリプトを含む.bbappendファイルと同じディレクトリにフォルダfilesを持っています。

私はイメージを構築しようとすると問題があるが、それはこのエラー吐く:

WARNING: Failed to fetch URL file://init.sh, attempting MIRRORS if available 

をして、不足しているファイルのためではなく、私のプロジェクトのディレクトリにpokyディレクトリを検索しようとします。

.bbappendファイルを間違って書いたことがありますか? .bbappendファイルを使用してinitramfsスクリプトを編集するにはどうすればよいですか?

答えて

5

FILESEXTRAPATH_prepend := "${THISDIR}/files:"は、FILESEXTRAPATHS_prepend := "${THISDIR}/files:"である必要があります。最後のSはFILESEXTRAPATHSです。

それはあなたのために働くはずです。

もう1つの改善点は、ファイルファイルの名前をinit.shからinit-live.shに変更することです。私。元のinitramfs-live-bootレシピのファイルと同じ名前を使用してください。これにより、do_install_append()関数と、SRC_URI += "file://init.sh"をbbappendから削除することができます。レシピ自体はあなたのためにそれらを処理します。従って、あなたが実際に必要とするのはFILESEXTRAPATHS_prepend := "${THISDIR}/files:"です。

+0

私は自分の '.bbappend'に必要なのは' FILESEXTRAPATHS_prepend:= "$ {THISDIR}/files:" 'ですか? – Shiri

+0

はい、元のファイルと同じように 'init-live.sh'というファイル名を付けたとします。 – Anders

+0

恐ろしい!あなたの答えをありがとう、ちょうどそれを試してみて、それはエラーをスローしていない。 – Shiri

関連する問題

 関連する問題