I am using yocto 1.6.1 and I have a a number of recipes in ~/home/poky/meta-atmel-lsp/recipes-lsp.
I have a lightpdbbappend that loads local files, I have a wpa-supplicant.bbappend that loads local files, but I am also trying to load some firmware that should load local files but fails.
In ~/home/poky/meta-atmel-lsp/recipes-lsp/zd1211-firmware/ I have the recipe zd1211-firmware_1.55.bb as follows:
_______________________________________ SUMMARY = "Belkin Wifi Firmware" LICENSE = "GPL"
SRC_URI = "\ file://zd1211_ub \ file://zd1211_uph \ file://zd1211_uphm \ file://zd1211_uphr \ file://zd1211_ur \ "
do_install() { install -d ${D}/lib/firmware/zd1211 install -m 0755 ${WORKDIR}/zd1211_* ${D}/lib/firmware/zd1211/ } _____________________________________ I sourced these files but not the recipe from: http://sourceforge.net/projects/zd1211/
The files indicated in the recipe are in : ~/home/poky/meta-atmel-lsp/recipes-lsp/zd1211-firmware/zd1211-firmware/
When I create the image, no directory is created as /lib/firmware/zd1211 and also no files are loaded into it.
I have also tried {THISDIR} instead of using {WORKDIR} I also tried specifying a specific file rather than using the wild card I have also tried using 'cp' instead of 'install -m 0755'
None seem to work. I am expecting the firmware files to be located in: ~/poky/build-atmel/tmp/work/sama5d3xek-poky-linux-gnueabi/atmel-qt5-demo-image/1.0-r0/rootfs/etc/firmware but they are not.
I originally started with a recipe to load the files directly from the source, but that did not work. The original recipe used was zd1211-firmware_1.4.bb from: https://gitorious.org/opencsbc/openembedded/source/583297ac295f1b381019ccecb4ae6abaa69cbc6c:recipes/zd1211
That did not work and now I am extracting the files from the .tar and trying to load them direct. Maybe the same problem exists between the original recipe and loading the .tar files.
Thanks for any help Lachlan
---- Message sent via Adam Internet WebMail - http://www.adam.com.au/
|
|
Lachlan,
If that is your entire recipe, I don’t see any FILES specification:
http://www.yoctoproject.org/docs/1.7/mega-manual/mega-manual.html#var-FILES. The SRC_URI just says where to get the source, but the FILES states which files are expected to be added to the package. I believe the FILES variable is auto-populated by a compiled
package, which is why you may not see the FILES variable in every recipe. But in your case in which you don’t compile the code but are just installing files on disk, you need to fill out the FILES variable.
Regards,
Bryan
toggle quoted message
Show quoted text
From: yocto-bounces@... [mailto:yocto-bounces@...]
On Behalf Of peterengcomau001@...
Sent: Thursday, November 13, 2014 10:21 AM
To: yocto@...
Subject: [yocto] recipe fails to load local files
I am using yocto 1.6.1 and I have a a number of recipes in
~/home/poky/meta-atmel-lsp/recipes-lsp.
I have a lightpdbbappend that loads local files, I have a wpa-supplicant.bbappend that loads local files, but I am also trying to load some firmware that should load local files but fails.
In ~/home/poky/meta-atmel-lsp/recipes-lsp/zd1211-firmware/ I have the recipe zd1211-firmware_1.55.bb as follows:
_______________________________________
SUMMARY = "Belkin Wifi Firmware"
LICENSE = "GPL"
SRC_URI = "\
file://zd1211_ub \
file://zd1211_uph \
file://zd1211_uphm \
file://zd1211_uphr \
file://zd1211_ur \
"
do_install() {
install -d ${D}/lib/firmware/zd1211
install -m 0755 ${WORKDIR}/zd1211_* ${D}/lib/firmware/zd1211/
}
_____________________________________
I sourced these files but not the recipe from:
http://sourceforge.net/projects/zd1211/
The files indicated in the recipe are in :
~/home/poky/meta-atmel-lsp/recipes-lsp/zd1211-firmware/zd1211-firmware/
When I create the image, no directory is created as /lib/firmware/zd1211
and also no files are loaded into it.
I have also tried {THISDIR} instead of using {WORKDIR}
I also tried specifying a specific file rather than using the wild card
I have also tried using 'cp' instead of 'install -m 0755'
None seem to work.
I am expecting the firmware files to be located in:
~/poky/build-atmel/tmp/work/sama5d3xek-poky-linux-gnueabi/atmel-qt5-demo-image/1.0-r0/rootfs/etc/firmware
but they are not.
I originally started with a recipe to load the files directly from the source, but that did not work. The original recipe used was zd1211-firmware_1.4.bb from:
https://gitorious.org/opencsbc/openembedded/source/583297ac295f1b381019ccecb4ae6abaa69cbc6c:recipes/zd1211
That did not work and now I am extracting the files from the .tar and trying to load them direct.
Maybe the same problem exists between the original recipe and loading the .tar files.
Thanks for any help
Lachlan
---- Message sent via Adam Internet WebMail - http://www.adam.com.au/
|
|
Based on your suggestion Bryan, and referring to Section 10 -Glossary of the ref-manual regarding FILES, I have changed the recipe as follows: __________________________________________ DESCRIPTION = "Belkin Wifi Firmware" PR = "1.5" LICENSE = "CLOSED" FILES_${PN} += "~/poky/meta-atmel-lsp/recipes-lsp/zd1211-firmware/zd1211-firmware" SRC_URI = "\ file://zd1211_ub \ file://zd1211_uph \ file://zd1211_uphm \ file://zd1211_uphr \ file://zd1211_ur \ " do_install() { install -d ${D}/lib/firmware/zd1211 install -m 0555 ${WORKDIR}/zd1211_* ${D}/lib/firmware/zd1211/ }
___________________________________________________________ I had not seen a reference to the FILES parameter previously. However, this still does not work. Refering to : http://www.embeddedlinux.org.cn/OEManual/recipes_examples.html I run the follwoing command from my build directory: $ bitbake -b meta-atmel-lsp/recipes-lsp/zd1211-firmware/zd1211-firmware_1.5.bb and I get the following error: ___________________________________________ ERROR: QA Issue: zd1211-firmware: Files/directories were installed but not shipped /lib /lib/firmware /lib/firmware/zd1211 /lib/firmware/zd1211/zd1211_uphr /lib/firmware/zd1211/zd1211_ub /lib/firmware/zd1211/zd1211_uphm /lib/firmware/zd1211/zd1211_ur /lib/firmware/zd1211/zd1211_uph ERROR: QA run found fatal errors. Please consider fixing them. ERROR: Function failed: do_package_qa ERROR: Logfile of failure stored in: /home/lachlan/poky/build-atmel/tmp/work/cortexa5t2hf-vfp-poky-linux-gnueabi/zd1211-firmware/1.5-1.5/temp/log.do_package.3991 ERROR: Task 10 (/home/lachlan/poky/meta-atmel-lsp/recipes-lsp/zd1211-firmware/zd1211-firmware_1.5.bb, do_package) failed with exit code '1' NOTE: Tasks Summary: Attempted 9 tasks of which 6 didn't need to be rerun and 1 failed. No currently running tasks (9 of 12) Summary: 1 task failed: /home/lachlan/poky/meta-atmel-lsp/recipes-lsp/zd1211-firmware/zd1211-firmware_1.5.bb, do_package ______________________________________________ Note that i also had to address the LICENSE reference as I was getting LICENSE_CHCKSUM errors Also note that when I try to build the full image, there is no error but the files are not present. In my build directory configuration file I have the reference to my recipe layer: /home/lachlan/poky/meta-atmel-lsp \ but although other recipes in this directory are working fine, this recipe seems to be overlooked. I know that the full image build sees the recipe because if I comment out the LICENSE reference, the full image build indicates an error in this regard. Thanks for any help Lachlan ----- Original Message -----
From: "Bryan Evenson" <bevenson@...>
To: "peterengcomau001@..." <peterengcomau001@...>, "yocto@..." <yocto@...>
Cc:
Sent: Thu, 13 Nov 2014 17:03:07 +0000
Subject: RE: [yocto] recipe fails to load local files
Lachlan,
If that is your entire recipe, I don’t see any FILES specification:
http://www.yoctoproject.org/docs/1.7/mega-manual/mega-manual.html#var-FILES. The SRC_URI just says where to get the source, but the FILES states which files are expected to be added to the package. I believe the FILES variable is auto-populated by a compiled
package, which is why you may not see the FILES variable in every recipe. But in your case in which you don’t compile the code but are just installing files on disk, you need to fill out the FILES variable.
Regards,
Bryan
From: yocto-bounces@... [mailto:yocto-bounces@...]
On Behalf Of peterengcomau001@... Sent: Thursday, November 13, 2014 10:21 AM To: yocto@... Subject: [yocto] recipe fails to load local files
I am using yocto 1.6.1 and I have a a number of recipes in
~/home/poky/meta-atmel-lsp/recipes-lsp.
I have a lightpdbbappend that loads local files, I have a wpa-supplicant.bbappend that loads local files, but I am also trying to load some firmware that should load local files but fails.
In ~/home/poky/meta-atmel-lsp/recipes-lsp/zd1211-firmware/ I have the recipe zd1211-firmware_1.55.bb as follows:
_______________________________________
SUMMARY = "Belkin Wifi Firmware"
LICENSE = "GPL"
SRC_URI = "\
file://zd1211_ub \
file://zd1211_uph \
file://zd1211_uphm \
file://zd1211_uphr \
file://zd1211_ur \
"
do_install() {
install -d ${D}/lib/firmware/zd1211
install -m 0755 ${WORKDIR}/zd1211_* ${D}/lib/firmware/zd1211/
}
_____________________________________
I sourced these files but not the recipe from: http://sourceforge.net/projects/zd1211/
The files indicated in the recipe are in :
~/home/poky/meta-atmel-lsp/recipes-lsp/zd1211-firmware/zd1211-firmware/
When I create the image, no directory is created as /lib/firmware/zd1211
and also no files are loaded into it.
I have also tried {THISDIR} instead of using {WORKDIR}
I also tried specifying a specific file rather than using the wild card
I have also tried using 'cp' instead of 'install -m 0755'
None seem to work.
I am expecting the firmware files to be located in:
~/poky/build-atmel/tmp/work/sama5d3xek-poky-linux-gnueabi/atmel-qt5-demo-image/1.0-r0/rootfs/etc/firmware
but they are not.
I originally started with a recipe to load the files directly from the source, but that did not work. The original recipe used was zd1211-firmware_1.4.bb from: https://gitorious.org/opencsbc/openembedded/source/583297ac295f1b381019ccecb4ae6abaa69cbc6c:recipes/zd1211
That did not work and now I am extracting the files from the .tar and trying to load them direct.
Maybe the same problem exists between the original recipe and loading the .tar files.
Thanks for any help
Lachlan
---- Message sent via Adam Internet WebMail - http://www.adam.com.au/
---- Message sent via Adam Internet WebMail - http://www.adam.com.au/
|
|
Lachlan,
I have some recipe changes inline below.
toggle quoted message
Show quoted text
-----Original Message----- From: peterengcomau001@... [mailto:peterengcomau001@...] Sent: Friday, November 14, 2014 3:37 AM To: Bryan Evenson; peterengcomau001@...; yocto@... Subject: RE: [yocto] recipe fails to load local files
Based on your suggestion Bryan, and referring to Section 10 -Glossary of the ref-manual regarding FILES, I have changed the recipe as follows: __________________________________________ DESCRIPTION = "Belkin Wifi Firmware" PR = "1.5" PR is not the firmware version, it’s the recipe version. Start with "r0". After making this change do a "bitbake -c cleanall zd1211-firmware" to remove the old packages as you would be going backwards for the package. LICENSE = "CLOSED" FILES_${PN} += "~/poky/meta-atmel-lsp/recipes-lsp/zd1211- firmware/zd1211-firmware" FILES doesn't specify where to find the files on the build machine, it specifies where the installed files exist on the target filesystem. This is what the error you are seeing is telling you; the files were installed in the do_install step but they did not get placed in the final package. In your case I believe: FILES_${PN} += "${libdir}/zd1211_*" would work. SRC_URI = "\ file://zd1211_ub \ file://zd1211_uph \ file://zd1211_uphm \ file://zd1211_uphr \ file://zd1211_ur \ "
do_install() { install -d ${D}/lib/firmware/zd1211 install -m 0555 ${WORKDIR}/zd1211_* ${D}/lib/firmware/zd1211/ } As mentioned in the FILES variable description in the Yocto manual, you should use the standard path variables whenever possible. The list of available path variables are near the top of meta/conf/bitbake.conf. That means in your case the following would be better: do_install() { install -d ${D}/${libdir}/firmware/zd1211 install -m 0555 ${WORKDIR}/zd1211_* ${D}/${libdir}/firmware/zd1211/ Regards, Bryan __________________________________________________________ _
I had not seen a reference to the FILES parameter previously. However, this still does not work.
Refering to : http://www.embeddedlinux.org.cn/OEManual/recipes_examples.html
I run the follwoing command from my build directory: $ bitbake -b meta-atmel-lsp/recipes-lsp/zd1211-firmware/zd1211- firmware_1.5.bb
and I get the following error: ___________________________________________ ERROR: QA Issue: zd1211-firmware: Files/directories were installed but not shipped /lib /lib/firmware /lib/firmware/zd1211 /lib/firmware/zd1211/zd1211_uphr /lib/firmware/zd1211/zd1211_ub /lib/firmware/zd1211/zd1211_uphm /lib/firmware/zd1211/zd1211_ur /lib/firmware/zd1211/zd1211_uph ERROR: QA run found fatal errors. Please consider fixing them. ERROR: Function failed: do_package_qa ERROR: Logfile of failure stored in: /home/lachlan/poky/build- atmel/tmp/work/cortexa5t2hf-vfp-poky-linux-gnueabi/zd1211- firmware/1.5-1.5/temp/log.do_package.3991 ERROR: Task 10 (/home/lachlan/poky/meta-atmel-lsp/recipes-lsp/zd1211- firmware/zd1211-firmware_1.5.bb, do_package) failed with exit code '1' NOTE: Tasks Summary: Attempted 9 tasks of which 6 didn't need to be rerun and 1 failed. No currently running tasks (9 of 12)
Summary: 1 task failed: /home/lachlan/poky/meta-atmel-lsp/recipes-lsp/zd1211-firmware/zd1211- firmware_1.5.bb, do_package ______________________________________________
Note that i also had to address the LICENSE reference as I was getting LICENSE_CHCKSUM errors
Also note that when I try to build the full image, there is no error but the files are not present. In my build directory configuration file I have the reference to my recipe layer: /home/lachlan/poky/meta-atmel-lsp \ but although other recipes in this directory are working fine, this recipe seems to be overlooked. I know that the full image build sees the recipe because if I comment out the LICENSE reference, the full image build indicates an error in this regard.
Thanks for any help Lachlan
----- Original Message -----
From: "Bryan Evenson" <bevenson@...>
To: "peterengcomau001@..." <peterengcomau001@...>, "yocto@..." <yocto@...>
Cc:
Sent: Thu, 13 Nov 2014 17:03:07 +0000
Subject: RE: [yocto] recipe fails to load local files
Lachlan,
If that is your entire recipe, I don’t see any FILES specification: http://www.yoctoproject.org/docs/1.7/mega-manual/mega- manual.html#var-FILES <http://www.yoctoproject.org/docs/1.7/mega- manual/mega-manual.html#var-FILES> . The SRC_URI just says where to get the source, but the FILES states which files are expected to be added to the package. I believe the FILES variable is auto-populated by a compiled package, which is why you may not see the FILES variable in every recipe. But in your case in which you don’t compile the code but are just installing files on disk, you need to fill out the FILES variable.
Regards,
Bryan
From: yocto-bounces@... [mailto:yocto- bounces@...] On Behalf Of peterengcomau001@... Sent: Thursday, November 13, 2014 10:21 AM To: yocto@... Subject: [yocto] recipe fails to load local files
I am using yocto 1.6.1 and I have a a number of recipes in ~/home/poky/meta-atmel-lsp/recipes-lsp.
I have a lightpdbbappend that loads local files, I have a wpa- supplicant.bbappend that loads local files, but I am also trying to load some firmware that should load local files but fails.
In ~/home/poky/meta-atmel-lsp/recipes-lsp/zd1211-firmware/ I have the recipe zd1211-firmware_1.55.bb as follows:
_______________________________________ SUMMARY = "Belkin Wifi Firmware" LICENSE = "GPL"
SRC_URI = "\ file://zd1211_ub \ file://zd1211_uph \ file://zd1211_uphm \ file://zd1211_uphr \ file://zd1211_ur \ "
do_install() { install -d ${D}/lib/firmware/zd1211 install -m 0755 ${WORKDIR}/zd1211_* ${D}/lib/firmware/zd1211/ } _____________________________________ I sourced these files but not the recipe from: http://sourceforge.net/projects/zd1211/
The files indicated in the recipe are in : ~/home/poky/meta-atmel-lsp/recipes-lsp/zd1211-firmware/zd1211- firmware/
When I create the image, no directory is created as /lib/firmware/zd1211 and also no files are loaded into it.
I have also tried {THISDIR} instead of using {WORKDIR} I also tried specifying a specific file rather than using the wild card I have also tried using 'cp' instead of 'install -m 0755'
None seem to work. I am expecting the firmware files to be located in: ~/poky/build-atmel/tmp/work/sama5d3xek-poky-linux- gnueabi/atmel-qt5-demo-image/1.0-r0/rootfs/etc/firmware but they are not.
I originally started with a recipe to load the files directly from the source, but that did not work. The original recipe used was zd1211- firmware_1.4.bb from: https://gitorious.org/opencsbc/openembedded/source/583297ac29 5f1b381019ccecb4ae6abaa69cbc6c:recipes/zd1211
That did not work and now I am extracting the files from the .tar and trying to load them direct. Maybe the same problem exists between the original recipe and loading the .tar files.
Thanks for any help Lachlan
---- Message sent via Adam Internet WebMail - http://www.adam.com.au/
---- Message sent via Adam Internet WebMail - http://www.adam.com.au/
|
|
Just a few nitpick's... * Bryan Evenson <bevenson@...> [141114 15:21]: LICENSE = "CLOSED" FILES_${PN} += "~/poky/meta-atmel-lsp/recipes-lsp/zd1211- firmware/zd1211-firmware"
FILES doesn't specify where to find the files on the build machine, it specifies where the installed files exist on the target filesystem. This is what the error you are seeing is telling you; the files were installed in the do_install step but they did not get placed in the final package. In your case I believe: FILES_${PN} += "${libdir}/zd1211_*" FILES_${PN} += "/lib/firmware/zd1211" would work. SRC_URI = "\ file://zd1211_ub \ file://zd1211_uph \ file://zd1211_uphm \ file://zd1211_uphr \ file://zd1211_ur \ "
do_install() { install -d ${D}/lib/firmware/zd1211 install -m 0555 ${WORKDIR}/zd1211_* ${D}/lib/firmware/zd1211/ }
As mentioned in the FILES variable description in the Yocto manual, you should use the standard path variables whenever possible. The list of available path variables are near the top of meta/conf/bitbake.conf. That means in your case the following would be better: Well, in general that's true. Though, in this specific case, it should actually be a hardcoded /lib/firmware. ${libdir} could be lib64 or something else, especially in a multilib-build. However, the firmware files are always searched for in /lib/firmware. Cheers, Anders do_install() { install -d ${D}/${libdir}/firmware/zd1211 install -m 0555 ${WORKDIR}/zd1211_* ${D}/${libdir}/firmware/zd1211/ -- Anders Darander ChargeStorm AB / eStorm AB
|
|
Thanks, I have done the changes and no longer get the error. However, the firmware files still do not get generated when I build the image. The current recipe I am using is: ______________________________________ DESCRIPTION = "Belkin Wifi Firmware" LICENSE = "GPL" PR = "r0" FILESPATH = "${THISDIR}/${PN}" FILES_${PN} += "/lib/firmware/zd1211" SRC_URI = "\ file://zd1211_ub \ file://zd1211_uph \ file://zd1211_uphm \ file://zd1211_uphr \ file://zd1211_ur \ " S = "${WORKDIR}" do_install() { install -d ${D}/lib/firmware/zd1211 install -m 0555 ${WORKDIR}/zd1211_* ${D}/lib/firmware/zd1211/ } ________________________________________ No errors result when building the image. However, there is no directory or files in: ~/poky/build-atmel/tmp/work/sama5d3xek-poky-linux-gnueabi/atmel-qt5-demo-image/1.0-r0/rootfs/lib/firmware The recipes are in file: ~/poky/meta-atmel-lsp/recipes-lsp/zd1211-firmware There are other recipes in ~/poky/meta-atmel-lsp/recipes-lsp that work, so bitbake can see these ok (but these are bbappend, not bb files)
In ideas why the ----- Original Message -----
From: "Anders Darander" <anders@...>
To: "Bryan Evenson" <bevenson@...>
Cc: "peterengcomau001@..." <peterengcomau001@...>, "yocto@..." <yocto@...>
Sent: Fri, 14 Nov 2014 15:44:24 +0100
Subject: Re: [yocto] recipe fails to load local files
Just a few nitpick's...
* Bryan Evenson <bevenson@...> [141114 15:21]:
> > LICENSE = "CLOSED"
> > FILES_${PN} += "~/poky/meta-atmel-lsp/recipes-lsp/zd1211-
> > firmware/zd1211-firmware"
> FILES doesn't specify where to find the files on the build machine, it
> specifies where the installed files exist on the target filesystem.
> This is what the error you are seeing is telling you; the files were
> installed in the do_install step but they did not get placed in the
> final package. In your case I believe:
> FILES_${PN} += "${libdir}/zd1211_*"
FILES_${PN} += "/lib/firmware/zd1211"
> would work.
> > SRC_URI = "\
> > file://zd1211_ub \
> > file://zd1211_uph \
> > file://zd1211_uphm \
> > file://zd1211_uphr \
> > file://zd1211_ur \
> > "
> > do_install() {
> > install -d ${D}/lib/firmware/zd1211
> > install -m 0555 ${WORKDIR}/zd1211_* ${D}/lib/firmware/zd1211/
> > }
> As mentioned in the FILES variable description in the Yocto manual,
> you should use the standard path variables whenever possible. The
> list of available path variables are near the top of
> meta/conf/bitbake.conf. That means in your case the following would
> be better:
Well, in general that's true. Though, in this specific case, it should
actually be a hardcoded /lib/firmware. ${libdir} could be lib64 or
something else, especially in a multilib-build. However, the firmware
files are always searched for in /lib/firmware.
Cheers,
Anders
> do_install() {
> install -d ${D}/${libdir}/firmware/zd1211
> install -m 0555 ${WORKDIR}/zd1211_* ${D}/${libdir}/firmware/zd1211/
--
Anders Darander
ChargeStorm AB / eStorm AB
---- Message sent via Adam Internet WebMail - http://www.adam.com.au/
|
|
Alexandru Vaduva <vaduvajanalexandru@...>
Is "zd1211" available in packages and package-split/zd1211-firmware*?
On Saturday, November 15, 2014 9:09 PM, "peterengcomau001@..." <peterengcomau001@...> wrote: Thanks, I have done the changes and no longer get the error. However, the firmware files still do not get generated when I build the image. The current recipe I am using is: ______________________________________ DESCRIPTION = "Belkin Wifi Firmware" LICENSE = "GPL" PR = "r0" FILESPATH = "${THISDIR}/${PN}" FILES_${PN} += "/lib/firmware/zd1211" SRC_URI = "\ file://zd1211_ub \ file://zd1211_uph \ file://zd1211_uphm \ file://zd1211_uphr \ file://zd1211_ur \ " S = "${WORKDIR}" do_install() { install -d ${D}/lib/firmware/zd1211 install -m 0555 ${WORKDIR}/zd1211_* ${D}/lib/firmware/zd1211/ } ________________________________________ No errors result when building the image. However, there is no directory or files in: ~/poky/build-atmel/tmp/work/sama5d3xek-poky-linux-gnueabi/atmel-qt5-demo-image/1.0-r0/rootfs/lib/firmware The recipes are in file: ~/poky/meta-atmel-lsp/recipes-lsp/zd1211-firmware There are other recipes in ~/poky/meta-atmel-lsp/recipes-lsp that work, so bitbake can see these ok (but these are bbappend, not bb files)
In ideas why the ----- Original Message -----
From: "Anders Darander" <anders@...>
To: "Bryan Evenson" <bevenson@...>
Cc: "peterengcomau001@..." <peterengcomau001@...>, "yocto@..." <yocto@...>
Sent: Fri, 14 Nov 2014 15:44:24 +0100
Subject: Re: [yocto] recipe fails to load local files
Just a few nitpick's...
* Bryan Evenson <bevenson@...> [141114 15:21]:
> > LICENSE = "CLOSED"
> > FILES_${PN} += "~/poky/meta-atmel-lsp/recipes-lsp/zd1211-
> > firmware/zd1211-firmware"
> FILES doesn't specify where to find the files on the build machine, it
> specifies where the installed files exist on the target filesystem.
> This is what the error you are seeing is telling you; the files were
> installed in the do_install step but they did not get placed in the
> final package. In your case I believe:
> FILES_${PN} += "${libdir}/zd1211_*"
FILES_${PN} += "/lib/firmware/zd1211"
> would work.
> > SRC_URI = "\
> > file://zd1211_ub \
> > file://zd1211_uph \
> > file://zd1211_uphm \
> > file://zd1211_uphr \
> > file://zd1211_ur \
> > "
> > do_install() {
> > install -d ${D}/lib/firmware/zd1211
> > install -m 0555 ${WORKDIR}/zd1211_* ${D}/lib/firmware/zd1211/
> > }
> As mentioned in the FILES variable description in the Yocto manual,
> you should use the standard path variables whenever possible. The
> list of available path variables are near the top of
> meta/conf/bitbake.conf. That means in your case the following would
> be better:
Well, in general that's true. Though, in this specific case, it should
actually be a hardcoded /lib/firmware. ${libdir} could be lib64 or
something else, especially in a multilib-build. However, the firmware
files are always searched for in /lib/firmware.
Cheers,
Anders
> do_install() {
> install -d ${D}/${libdir}/firmware/zd1211
> install -m 0555 ${WORKDIR}/zd1211_* ${D}/${libdir}/firmware/zd1211/
--
Anders Darander
ChargeStorm AB / eStorm AB
---- Message sent via Adam Internet WebMail - http://www.adam.com.au/
|
|
There is no package called zd1211 that I can identify. If I run $ bitbake atmel-qt5-demo-image -g -u depexp It does not list a package that has zd1211 in it. Having said that, if I run $ find -name zd1211* It shows that zd1211rw and zd1211rw.ko files are in the rootfs in the tmp/work directory under kernel/drivers/net/wirless.
Is that what you are referring to?
Lachlan
toggle quoted message
Show quoted text
----- Original Message -----
From: "Alexandru Vaduva" <vaduvajanalexandru@...>
To: "peterengcomau001@..." <peterengcomau001@...>, "Anders Darander" <anders@...>, "Bryan Evenson" <bevenson@...>
Cc: "yocto@..." <yocto@...>
Sent: Sat, 15 Nov 2014 19:53:14 +0000 (UTC)
Subject: Re: [yocto] recipe fails to load local files
Is "zd1211" available in packages and package-split/zd1211-firmware*?
On Saturday, November 15, 2014 9:09 PM, "peterengcomau001@..." <peterengcomau001@...> wrote:
Thanks, I have done the changes and no longer get the error. However, the firmware files still do not get generated when I build the image. The current recipe I am using is: ______________________________________ DESCRIPTION = "Belkin Wifi Firmware" LICENSE = "GPL" PR = "r0" FILESPATH = "${THISDIR}/${PN}" FILES_${PN} += "/lib/firmware/zd1211" SRC_URI = "\ file://zd1211_ub \ file://zd1211_uph \ file://zd1211_uphm \ file://zd1211_uphr \ file://zd1211_ur \ " S = "${WORKDIR}" do_install() { install -d ${D}/lib/firmware/zd1211 install -m 0555 ${WORKDIR}/zd1211_* ${D}/lib/firmware/zd1211/ } ________________________________________ No errors result when building the image. However, there is no directory or files in: ~/poky/build-atmel/tmp/work/sama5d3xek-poky-linux-gnueabi/atmel-qt5-demo-image/1.0-r0/rootfs/lib/firmware The recipes are in file: ~/poky/meta-atmel-lsp/recipes-lsp/zd1211-firmware There are other recipes in ~/poky/meta-atmel-lsp/recipes-lsp that work, so bitbake can see these ok (but these are bbappend, not bb files)
In ideas why the
----- Original Message -----
From: "Anders Darander" <anders@...>
To: "Bryan Evenson" <bevenson@...>
Cc: "peterengcomau001@..." <peterengcomau001@...>, "yocto@..." <yocto@...>
Sent: Fri, 14 Nov 2014 15:44:24 +0100
Subject: Re: [yocto] recipe fails to load local files
Just a few nitpick's..
* Bryan Evenson <bevenson@...> [141114 15:21]:
> > LICENSE = "CLOSED"
> > FILES_${PN} += "~/poky/meta-atmel-lsp/recipes-lsp/zd1211-
> > firmware/zd1211-firmware"
> FILES doesn't specify where to find the files on the build machine, it
> specifies where the installed files exist on the target filesystem.
> This is what the error you are seeing is telling you; the files were
> installed in the do_install step but they did not get placed in the
> final package. In your case I believe:
> FILES_${PN} += "${libdir}/zd1211_*"
FILES_${PN} += "/lib/firmware/zd1211"
> would work.
> > SRC_URI = "\
> > file://zd1211_ub \
> > file://zd1211_uph \
> > file://zd1211_uphm \
> > file://zd1211_uphr \
> > file://zd1211_ur \
> > "
> > do_install() {
> > install -d ${D}/lib/firmware/zd1211
> > install -m 0555 ${WORKDIR}/zd1211_* ${D}/lib/firmware/zd1211/
> > }
> As mentioned in the FILES variable description in the Yocto manual,
> you should use the standard path variables whenever possible. The
> list of available path variables are near the top of
> meta/conf/bitbake.conf. That means in your case the following would
> be better:
Well, in general that's true. Though, in this specific case, it should
actually be a hardcoded /lib/firmware. ${libdir} could be lib64 or
something else, especially in a multilib-build. However, the firmware
files are always searched for in /lib/firmware.
Cheers,
Anders
> do_install() {
> install -d ${D}/${libdir}/firmware/zd1211
> install -m 0555 ${WORKDIR}/zd1211_* ${D}/${libdir}/firmware/zd1211/
--
Anders Darander
ChargeStorm AB / eStorm AB
---- Message sent via Adam Internet WebMail - http://www.adam.com.au/
|
|
Lachlan,
toggle quoted message
Show quoted text
-----Original Message----- From: peterengcomau001@... [mailto:peterengcomau001@...] Sent: Sunday, November 16, 2014 8:55 AM To: Alexandru Vaduva; peterengcomau001@...; Anders Darander; Bryan Evenson Cc: yocto@... Subject: Re: [yocto] recipe fails to load local files
There is no package called zd1211 that I can identify. If I run $ bitbake atmel-qt5-demo-image -g -u depexp It does not list a package that has zd1211 in it. Having said that, if I run $ find -name zd1211* It shows that zd1211rw and zd1211rw.ko files are in the rootfs in the tmp/work directory under kernel/drivers/net/wirless.
Is that what you are referring to?
Lachlan
----- Original Message -----
From: "Alexandru Vaduva" <vaduvajanalexandru@...>
To: "peterengcomau001@..." <peterengcomau001@...>, "Anders Darander" <anders@...>, "Bryan Evenson" <bevenson@...>
Cc: "yocto@..." <yocto@...>
Sent: Sat, 15 Nov 2014 19:53:14 +0000 (UTC)
Subject: Re: [yocto] recipe fails to load local files
Is "zd1211" available in packages and package-split/zd1211- firmware*? To expand on Alexandru's question, the first step is to verify that the library files are now being added to the zd1211-firmware package. Assuming you are using opkg for package management search in tmp/deploy/ipk/ for any files named "zd1211-firmware.*ipk". You should find one named something like zd1211-firmware_1.5-r0_ sama5d3xek.ipk. Open the package up with file-roller and verify that the lib/firmware directory contains the libraries that you intended to add to the package. If so, then the package is being built correctly. Once the package is being built correctly, the package needs to be added to your image. Packages are only added to an image when they are specifically listed in the image recipe or if it is a required dependency of a package that has been added to the image. If you don't already have a .bbappend for the image, you need to create one in your layer and add the zd1211-firmware package. The .bbappend needs to follow the same directory structure as the image recipe in the meta-atmel layer. So for your specific case: 1. Create the file ~/poky/meta-atmel-lsp/recipes-qt/images/atmel-qt5-demo-image.bbappend, adding directories as needed for the full path. 2. Add the following contents to the atmel-qt5-demo-image.bbappend: IMAGE_INSTALL += " \ zd1211-firmware \ " The extra lines and the \ at the end of the line is there to make sure two package names don't get merged together when IMAGE_INSTALL gets built. 3. If you are not using the PR service ( http://www.yoctoproject.org/docs/1.7/mega-manual/mega-manual.html#working-with-a-pr-service), also add the following to your .bbappend: PR = "r1" otherwise you may not see your change in the final image. 4. Re-build atmel-qt5-demo-image. You should now see your library files in the final image. Regards, Bryan After you make that change and rebuild
On Saturday, November 15, 2014 9:09 PM, "peterengcomau001@..." <peterengcomau001@...> wrote:
Thanks, I have done the changes and no longer get the error. However, the firmware files still do not get generated when I build the image. The current recipe I am using is: ______________________________________ DESCRIPTION = "Belkin Wifi Firmware" LICENSE = "GPL" PR = "r0"
FILESPATH = "${THISDIR}/${PN}" FILES_${PN} += "/lib/firmware/zd1211"
SRC_URI = "\ file://zd1211_ub \ file://zd1211_uph \ file://zd1211_uphm \ file://zd1211_uphr \ file://zd1211_ur \ "
S = "${WORKDIR}"
do_install() { install -d ${D}/lib/firmware/zd1211 install -m 0555 ${WORKDIR}/zd1211_* ${D}/lib/firmware/zd1211/ } ________________________________________
No errors result when building the image. However, there is no directory or files in: ~/poky/build-atmel/tmp/work/sama5d3xek-poky-linux- gnueabi/atmel-qt5-demo-image/1.0-r0/rootfs/lib/firmware
The recipes are in file: ~/poky/meta-atmel-lsp/recipes-lsp/zd1211-firmware There are other recipes in ~/poky/meta-atmel-lsp/recipes-lsp that work, so bitbake can see these ok (but these are bbappend, not bb files)
In ideas why the
----- Original Message -----
From: "Anders Darander" <anders@...>
To: "Bryan Evenson" <bevenson@...>
Cc: "peterengcomau001@..." <peterengcomau001@...>, "yocto@..." <yocto@...>
Sent: Fri, 14 Nov 2014 15:44:24 +0100
Subject: Re: [yocto] recipe fails to load local files
Just a few nitpick's..
* Bryan Evenson <bevenson@...> [141114 15:21]:
> > LICENSE = "CLOSED" > > FILES_${PN} += "~/poky/meta-atmel-lsp/recipes- lsp/zd1211- > > firmware/zd1211-firmware"
> FILES doesn't specify where to find the files on the build machine, it > specifies where the installed files exist on the target filesystem. > This is what the error you are seeing is telling you; the files were > installed in the do_install step but they did not get placed in the > final package. In your case I believe:
> FILES_${PN} += "${libdir}/zd1211_*"
FILES_${PN} += "/lib/firmware/zd1211"
> would work.
> > SRC_URI = "\ > > file://zd1211_ub \ > > file://zd1211_uph \ > > file://zd1211_uphm \ > > file://zd1211_uphr \ > > file://zd1211_ur \ > > "
> > do_install() { > > install -d ${D}/lib/firmware/zd1211 > > install -m 0555 ${WORKDIR}/zd1211_* ${D}/lib/firmware/zd1211/ > > }
> As mentioned in the FILES variable description in the Yocto manual, > you should use the standard path variables whenever possible. The > list of available path variables are near the top of > meta/conf/bitbake.conf. That means in your case the following would > be better:
Well, in general that's true. Though, in this specific case, it should actually be a hardcoded /lib/firmware. ${libdir} could be lib64 or something else, especially in a multilib-build. However, the firmware files are always searched for in /lib/firmware.
Cheers, Anders
> do_install() { > install -d ${D}/${libdir}/firmware/zd1211 > install -m 0555 ${WORKDIR}/zd1211_* ${D}/${libdir}/firmware/zd1211/
-- Anders Darander ChargeStorm AB / eStorm AB
---- Message sent via Adam Internet WebMail - http://www.adam.com.au/
-- _______________________________________________ yocto mailing list yocto@... <mailto:yocto@...> https://lists.yoctoprojectorg/listinfo/yocto <https://lists.yoctoproject.org/listinfo/yocto>
|
|
Thanks Bryan and Alexandru,
This all works now. There were no files starting with zd1211 anywhere in the system and no package of that name. As soon as I put the IMAGE_INSTALL reference, it created the files and the packages and everything is worksing.
Thanks for your help Lachlan ----- Original Message -----
From: "Bryan Evenson" <bevenson@...>
To: "peterengcomau001@..." <peterengcomau001@...>, "Alexandru Vaduva" <vaduvajanalexandru@...>, "Anders Darander" <anders@...>
Cc: "yocto@..." <yocto@...>
Sent: Mon, 17 Nov 2014 13:49:35 +0000
Subject: RE: [yocto] recipe fails to load local files
Lachlan,
> -----Original Message-----
> From: peterengcomau001@...
> [mailto:peterengcomau001@...]
> Sent: Sunday, November 16, 2014 8:55 AM
> To: Alexandru Vaduva; peterengcomau001@...; Anders
> Darander; Bryan Evenson
> Cc: yocto@...
> Subject: Re: [yocto] recipe fails to load local files
>
> There is no package called zd1211 that I can identify. If I run
> $ bitbake atmel-qt5-demo-image -g -u depexp
> It does not list a package that has zd1211 in it. Having said that, if I run
> $ find -name zd1211*
> It shows that zd1211rw and zd1211rw.ko files are in the rootfs in the
> tmp/work directory under kernel/drivers/net/wirless.
>
> Is that what you are referring to?
>
> Lachlan
>
>
> ----- Original Message -----
>
> From:
> "Alexandru Vaduva" <vaduvajanalexandru@...>
>
> To:
> "peterengcomau001@..."
> <peterengcomau001@...>, "Anders Darander"
> <anders@...>, "Bryan Evenson" <bevenson@...>
>
> Cc:
> "yocto@..." <yocto@...>
>
> Sent:
> Sat, 15 Nov 2014 19:53:14 +0000 (UTC)
>
> Subject:
> Re: [yocto] recipe fails to load local files
>
>
>
> Is "zd1211" available in packages and package-split/zd1211-
> firmware*?
To expand on Alexandru's question, the first step is to verify that the library files are now being added to the zd1211-firmware package. Assuming you are using opkg for package management search in tmp/deploy/ipk/ for any files named "zd1211-firmware.*ipk". You should find one named something like zd1211-firmware_1.5-r0_ sama5d3xek.ipk. Open the package up with file-roller and verify that the lib/firmware directory contains the libraries that you intended to add to the package. If so, then the package is being built correctly.
Once the package is being built correctly, the package needs to be added to your image. Packages are only added to an image when they are specifically listed in the image recipe or if it is a required dependency of a package that has been added to the image. If you don't already have a .bbappend for the image, you need to create one in your layer and add the zd1211-firmware package. The .bbappend needs to follow the same directory structure as the image recipe in the meta-atmel layer. So for your specific case:
1. Create the file ~/poky/meta-atmel-lsp/recipes-qt/images/atmel-qt5-demo-image.bbappend, adding directories as needed for the full path.
2. Add the following contents to the atmel-qt5-demo-image.bbappend:
IMAGE_INSTALL += " \
zd1211-firmware \
"
The extra lines and the \ at the end of the line is there to make sure two package names don't get merged together when IMAGE_INSTALL gets built.
3. If you are not using the PR service (http://www.yoctoproject.org/docs/1.7/mega-manual/mega-manual.html#working-with-a-pr-service), also add the following to your .bbappend:
PR = "r1"
otherwise you may not see your change in the final image.
4. Re-build atmel-qt5-demo-image. You should now see your library files in the final image.
Regards,
Bryan
After you make that change and rebuild
>
>
> On Saturday, November 15, 2014 9:09 PM,
> "peterengcomau001@..." <peterengcomau001@...>
> wrote:
>
>
>
> Thanks, I have done the changes and no longer get the error.
> However, the firmware files still do not get generated when I build the
> image.
> The current recipe I am using is:
> ______________________________________
> DESCRIPTION = "Belkin Wifi Firmware"
> LICENSE = "GPL"
> PR = "r0"
>
> FILESPATH = "${THISDIR}/${PN}"
> FILES_${PN} += "/lib/firmware/zd1211"
>
> SRC_URI = "\
> file://zd1211_ub \
> file://zd1211_uph \
> file://zd1211_uphm \
> file://zd1211_uphr \
> file://zd1211_ur \
> "
>
> S = "${WORKDIR}"
>
> do_install() {
> install -d ${D}/lib/firmware/zd1211
> install -m 0555 ${WORKDIR}/zd1211_* ${D}/lib/firmware/zd1211/
> }
> ________________________________________
>
> No errors result when building the image. However, there is no
> directory or files in:
> ~/poky/build-atmel/tmp/work/sama5d3xek-poky-linux-
> gnueabi/atmel-qt5-demo-image/1.0-r0/rootfs/lib/firmware
>
> The recipes are in file:
> ~/poky/meta-atmel-lsp/recipes-lsp/zd1211-firmware
> There are other recipes in ~/poky/meta-atmel-lsp/recipes-lsp that
> work, so bitbake can see these ok (but these are bbappend, not bb files)
>
> In ideas why the
>
>
>
> ----- Original Message -----
>
> From:
> "Anders Darander" <anders@...>
>
> To:
> "Bryan Evenson" <bevenson@...>
>
> Cc:
> "peterengcomau001@..."
> <peterengcomau001@...>, "yocto@..."
> <yocto@...>
>
> Sent:
> Fri, 14 Nov 2014 15:44:24 +0100
>
> Subject:
> Re: [yocto] recipe fails to load local files
>
>
> Just a few nitpick's..
>
> * Bryan Evenson <bevenson@...> [141114
> 15:21]:
>
> > > LICENSE = "CLOSED"
> > > FILES_${PN} += "~/poky/meta-atmel-lsp/recipes-
> lsp/zd1211-
> > > firmware/zd1211-firmware"
>
> > FILES doesn't specify where to find the files on the build
> machine, it
> > specifies where the installed files exist on the target
> filesystem.
> > This is what the error you are seeing is telling you; the files
> were
> > installed in the do_install step but they did not get placed in
> the
> > final package. In your case I believe:
>
> > FILES_${PN} += "${libdir}/zd1211_*"
>
> FILES_${PN} += "/lib/firmware/zd1211"
>
> > would work.
>
> > > SRC_URI = "\
> > > file://zd1211_ub \
> > > file://zd1211_uph \
> > > file://zd1211_uphm \
> > > file://zd1211_uphr \
> > > file://zd1211_ur \
> > > "
>
> > > do_install() {
> > > install -d ${D}/lib/firmware/zd1211
> > > install -m 0555 ${WORKDIR}/zd1211_*
> ${D}/lib/firmware/zd1211/
> > > }
>
> > As mentioned in the FILES variable description in the Yocto
> manual,
> > you should use the standard path variables whenever
> possible. The
> > list of available path variables are near the top of
> > meta/conf/bitbake.conf. That means in your case the
> following would
> > be better:
>
> Well, in general that's true. Though, in this specific case, it
> should
> actually be a hardcoded /lib/firmware. ${libdir} could be lib64
> or
> something else, especially in a multilib-build. However, the
> firmware
> files are always searched for in /lib/firmware.
>
> Cheers,
> Anders
>
> > do_install() {
> > install -d ${D}/${libdir}/firmware/zd1211
> > install -m 0555 ${WORKDIR}/zd1211_*
> ${D}/${libdir}/firmware/zd1211/
>
> --
> Anders Darander
> ChargeStorm AB / eStorm AB
>
>
> ---- Message sent via Adam Internet WebMail -
> http://www.adam.com.au/
>
> --
> _______________________________________________
> yocto mailing list
> yocto@... <mailto:yocto@...>
> https://lists.yoctoprojectorg/listinfo/yocto
> <https://lists.yoctoproject.org/listinfo/yocto>
>
>
>
---- Message sent via Adam Internet WebMail - http://www.adam.com.au/
|
|