2017-12-18 12 views
0

自分のinitramfs.cpioを私のカーネルイメージにyoctoで入れてしまいました。yoctoでカーネルイメージに余分なファイルを入れる方法

私は2つのbbファイルを持っています.1つはinitramfsを構築するために使用され、もう1つはfitimageを構築するために使用されます。 私は自分のinitramfsイメージにバンドルされたフィットイメージを構築するのに成功しました。 しかし、常にfitImageの/ usrディレクトリにinitramfs.cpio.gzを持つfitImageを構築できませんでした。 (私が意味する、私はコンソールに私のfitImageブートを使用する場合は/ usrにinitramfs.cpioという名前のファイルを見たい)

================== ==========================================ここ は...

ERROR: linux-mine-1_4.9.27+gitAUTOINC+d87116e608-r0 do_package: QA Issue: linux-mine: Files/directories were installed but not shipped in any package: 
    /usr 
    /usr/initramfs-mine-qemu.cpio 
Please set FILES such that these items are packaged. Alternatively if they are unneeded, avoid installing them or delete them within do_install. 
linux-mine: 2 installed and not shipped files. [installed-vs-shipped] 
ERROR: linux-mine-1_4.9.27+gitAUTOINC+d87116e608-r0 do_package: Fatal QA errors found, failing task. 
ERROR: linux-mine-1_4.9.27+gitAUTOINC+d87116e608-r0 do_package: Function failed: do_package 
ERROR: Logfile of failure stored in: /home/paul/projects/Test/yocto/build/tmp/work/mine-poky-linux-gnueabi/linux-mine/1_4.9.27+gitAUTOINC+d87116e608-r0/temp/log.do_package.26149 
ERROR: Task (/home/paul/projects/Test/yocto/yocto-2.2/poky/../meta-mine/recipes-kernel/linux/linux-mine_4.9.bb:do_package) failed with exit code '1' 

===================================私のエラーメッセージが表示されます=================================ここ は私のカーネルイメージBBファイルは==

FILESEXTRAPATHS_prepend := "${THISDIR}/${PN}-${PV}:" 

LINUX_VERSION ?= "4.9.27" 

SRCREV = "d87116e608e94ad684b5e94d46c892e33b9e2d78" 
SRC_URI = "git://local/kernel;protocol=ssh;branch=master" 

#FILES_${PN} += "/usr /usr/initramfs-mine-${MACHINE_ARCH}.cpio" 
#FILES_${PN}-${PV} += "/usr /usr/initramfs-mine-${MACHINE_ARCH}.cpio" 
#IMAGE_INSTALL = "initramfs-mine" 

do_install_append() { 
echo "WangPaul : S=[${S}]" 
echo "WangPaul : B=[${B}]" 
echo "WangPaul : D=[${D}]" 
install -d ${D}/usr/ 
install -m 0444 ${B}/usr/initramfs-mine-${MACHINE_ARCH}.cpio ${D}/usr/ 
} 
です========================== ==========================ここ は私のinitramfsが

LICENSE = "GPLv2" 

PACKAGE_INSTALL = "initramfs-live-boot ${VIRTUAL-RUNTIME_base-utils} udev ${ROOTFS_BOOTSTRAP_INSTALL}" 
IMAGE_FSTYPES = "${INITRAMFS_FSTYPES}" 

inherit core-image 

==========ファイルBBで========================================== ======== 私が発見した同様の質問: Ship extra files in kernel module recipeAn example of using FILES_${PN}

方法の議論が動作していないaboves中...

あらゆる情報が感謝されるだろう! ありがとうございます!

+0

間違った形式を与えているあなたのkernel.bbファイルであってもよいです。 [manual](http://www.yoctoproject.org/docs/2.2/mega-manual/mega-manual.html#var-INITRAMFS_IMAGE)を見ましたか?必要に応じて、freenodeの#yoctoに参加して、さらに役立つことができます。 – Nayfe

+0

こんにちは@Nayfe、あなたの情報ありがとう~~、私はマニュアルを読んで、私はfitimageのラムディスクを構築することができます。それは私が望むものではありません。私はramdiskを束ねることなくフィット画像を求めています。それを私のデバイスにフラッシュして起動し、最後に/ usrディレクトリにcpioファイルがあるようにします。 – user3610309

+0

あなたはちょうどあなたのカーネルイメージを追加しようとしましたか? ファイル_ $ {PN} + = "/usr/initramfs-mine-${MACHINE_ARCH}.cpio" これが役に立ったら教えてください。 。 –

答えて

0

QAにエラーがあるとは、ソースがコンパイルされているがrootfsに追加されていないことを意味します。 kernel-image.bbに下記の行を追加してください。それは問題を解決します。

FILES_${PN} += "${exec_prefix}/*" 

注:あなたは私はあなたがacheiveしようとするのかわからないんだけど

関連する問題