Re: Adding test files to an image

Jim Abernathy

On 03/08/2012 11:57 AM, Autif Khan wrote:
Suppose I want to build the meta-intel/meta-sugarbay image and also include
some video and audio files into the /home/root directory to facilitate
testing of the video and audio players.

Can I include these files in a recipe somewhere?
I use the recipe at the end of this message to include whatever I
want. This recipe has to be added to the image - I have a custom
image, so it goes in there. I am sure a recipe can be added to
something in local.conf - I just do not know that variable. My guess
it is IMAGE_IMSTALL += "mypics".

Regardless ...

mypics-1.0.tar.gz contains a file called COPYING and its mds5um on the
2nd line. It can be replaced with a license from common licenses
directory - but at the time when I wrote this recipe, I did not know
how to do that. Anything that goes in there ends up in

It can probably be tweaked to look better - I am sure SRC_URI line is
not perfect. But it seems to work between Edison to master

For larger files - like video worth 200MB or so, I just store them on
a hard disk and mount manually on /media/hdd or where-ever. Not that
it wont work in this recipe, just that it would take longer to build
the image etc.

All the best. Hopefully, this will get you started in the right direction.

LIC_FILES_CHKSUM = "file://COPYING;md5=697172b05e4bff0a2421579697ba5653"

MY_DESTINATION = "/home/root/mypics"

SRC_URI = "file://mypics-1.0/mypics-1.0.tar.gz"

do_install_append() {
install -d ${D}${MY_DESTINATION}
install -m 0644 ${S}/* ${D}${MY_DESTINATION}

PR = "r0"

I have some issues that seem to be related to where everything gets unpacked and where it thinks it needs to install from.

Below is my recipe file name ""

DESCRIPTION = "my video test files"
SECTION = "examples"

MY_DESTINATION = "/home/root/myvideos"

SRC_URI = "file://myvideos_1.0/myvideos-1.0.tar.gz"

do_install_append() {
install -d ${D}${MY_DESTINATION}
install -m 0644 ${S}/* ${D}${MY_DESTINATION}

PR = "r0"


I have the myvideo-1.0.tar.gz file in the myvideos_1.0 directory, same level as the recipe in a directory call myvideos.

The error I'm getting is :
Log data follows:
| ERROR: Function failed: do_install (see /build/sugarbay-master/tmp/work/x86_64-poky-linux/myvideos-1.0-r0/temp/log.do_install.9051 for further information)
| install: cannot stat `/build/sugarbay-master/tmp/work/x86_64-poky-linux/myvideos-1.0-r0/myvideos-1.0/*': No such file or directory
NOTE: package myvideos-1.0-r0: task do_install: Failed
ERROR: Task 2 (/home/jim/poky/meta-jfa/recipes-jfa/myvideos/, do_install) failed with exit code '1'
NOTE: Tasks Summary: Attempted 651 tasks of which 644 didn't need to be rerun and 1 failed.

The tar.gz is getting unpacked in the ..tmp/work/x86_64-poky-linux/myvideos-1.0-r0 directory per the unpack log file below:

NOTE: Unpacking /home/jim/poky/meta-jfa/recipes-jfa/myvideos/myvideos_1.0/myvideos-1.0.tar.gz to /build/sugarbay-master/tmp/work/x86_64-poky-linux/myvideos-1.0-r0/

The critical parts of the run.do_install is below:

do_install() {
install -d /build/sugarbay-master/tmp/work/x86_64-poky-linux/myvideos-1.0-r0/image/home/root/myvideos
install -m 0644 /build/sugarbay-master/tmp/work/x86_64-poky-linux/myvideos-1.0-r0/myvideos-1.0/* /build/sugarbay-master/tmp/work/x86_64-poky-linux/myvideos-1.0-r0/image/home/root/myvideos


base_do_install() {


cd /build/sugarbay-master/tmp/work/x86_64-poky-linux/myvideos-1.0-r0/myvideos-1.0

So it looks like it unpacks it one place, but is looking to install from somewhere else. I'm just not sure how all the S and D variables are set and what they do.

Jim A

Join { to automatically receive all group messages.