[yocto] how to copy a tar file to Root file system

Paul Eggleton paul.eggleton at linux.intel.com
Mon Oct 31 19:00:42 PDT 2016


Hi Swapna,

On Tue, 01 Nov 2016 01:17:18 Swapna.Gurumani at microchip.com wrote:
> Hi, I have a tar file on my local drive and I want to untar this and copy it
> to my rootfilesystem image. Please find attached the .bb recipe I am using.
> When I run bitbake for this recipe, my build breaks with the following
> error: ERROR: crank-1.0-r0 do_install: Function failed: do_install (log
> file is locate at
> /home/swapna/workspace/work/yocto/poky/build-atmel/tmp/work/cortexa5hf-neon
> poky-linux-gnueabi/crank/1.0-r0/temp/log.do_install.16738) ERROR: Logfile of
> failure stored in:
> /home/swapna/workspace/work/yocto/poky/buid-atmel/tmp/work/cortexa5hf-neon-
> poky-linux-gnueabi/crank/1.0-r0/temp/log.do_intall.16738
> Log data follows:
> | DEBUG: Executing shell function do_install
> | make: *** No rule to make target 'install'.  Stop.
> | WARNING:
> | /home/swapna/workspace/work/yocto/poky/build-atmel/tmp/work/cortexa5f-neo
> | n-poky-linux-gnueabi/crank/1.0-r0/temp/run.do_install.16738:1 exit 2 from
> | make
> | INSTALL_ROOT=/home/swapna/workspace/work/yocto/poky/build-atmel/tmp/work/
> | crtexa5hf-neon-poky-linux-gnueabi/crank/1.0-r0/image install' ERROR:
> | Function failed: do_install (log file is located at
> | /home/swapna/worksace/work/yocto/poky/build-atmel/tmp/work/cortexa5hf-neo
> | n-poky-linux-gnueabi/crak/1.0-r0/temp/log.do_install.16738)
> ERROR: Task 1095
> (/home/swapna/workspace/work/yocto/meta-atmel/qt5-layer/recipe-qt/apps/cran
> k_1.0.bb, do_install) failed with exit code '1' NOTE: Tasks Summary:
> Attempted 3563 tasks of which 3562 didn't need to be rerunand 1 failed. No
> currently running tasks (3056 of 4701)

You say that this is a tarball that you want to untar into the image, but 
inheriting qmake5 and setting DEPENDS suggests that there's more to it than 
that.

As for the failure, it's hard to say without seeing what's been unpacked, but 
perhaps the .pro file in this project doesn't actually have any install 
directives needed to create an install target in the Makefile? If that's the 
case you'll need to install the files "manually" within do_install using 
install and/or cp commands.

A couple of other notes:

* You can simply set FILES_${PN} to "/opt/crank" here, no need to list each 
file unless you have more than one package and you want to split the files 
among them.

* Is this really MIT licensed, or should the LICENSE in fact be "CLOSED"? Then 
you wouldn't need to set LIC_FILES_CHKSUM either. (I'm assuming this is closed 
source software you're packaging).

Cheers,
Paul

-- 

Paul Eggleton
Intel Open Source Technology Centre



More information about the yocto mailing list