All of lore.kernel.org
 help / color / mirror / Atom feed
* Using MACHINE_EXTRA_RDEPENDS to install wifi Firmware
@ 2014-02-27 22:05 Ash Charles
  2014-02-28  0:26 ` Khem Raj
  0 siblings, 1 reply; 7+ messages in thread
From: Ash Charles @ 2014-02-27 22:05 UTC (permalink / raw)
  To: yocto

Hi,

I'm seeing warnings like
"
WARNING: The recipe linux-firmware is trying to install files into a
shared area when those files already exist. Those files and their
manifest location are:
   /home/ash/Store/Yocto/yocto/build/tmp/sysroots/overo/lib/firmware/whiteheat.fw
   Matched in manifest-overo-linux-gumstix
...
"
when building a core-image-minimal.  It looks like the linux-firmware
is getting pulled in resulting in these warnings because I have this
line in my machine/overo.conf file:
"
...
MACHINE_EXTRA_RDEPENDS += "linux-firmware-sd8686"
...
"

I added this to make sure the firmware for my wifi chip was getting
installed as directed per [1] but I'm thinking that this is not
correct.

What is the correct way to ensure my firmware gets installed or will
it anyway by virtue of the kernel being included in the build?

Thanks,
Ash

[1] http://www.yoctoproject.org/docs/current/mega-manual/mega-manual.html#var-MACHINE_EXTRA_RDEPENDS


^ permalink raw reply	[flat|nested] 7+ messages in thread

* Re: Using MACHINE_EXTRA_RDEPENDS to install wifi Firmware
  2014-02-27 22:05 Using MACHINE_EXTRA_RDEPENDS to install wifi Firmware Ash Charles
@ 2014-02-28  0:26 ` Khem Raj
  2014-02-28  0:41   ` Ash Charles
  0 siblings, 1 reply; 7+ messages in thread
From: Khem Raj @ 2014-02-28  0:26 UTC (permalink / raw)
  To: Ash Charles; +Cc: yocto

On Thu, Feb 27, 2014 at 2:05 PM, Ash Charles <ashcharles@gmail.com> wrote:
> Hi,
>
> I'm seeing warnings like
> "
> WARNING: The recipe linux-firmware is trying to install files into a
> shared area when those files already exist. Those files and their
> manifest location are:
>    /home/ash/Store/Yocto/yocto/build/tmp/sysroots/overo/lib/firmware/whiteheat.fw
>    Matched in manifest-overo-linux-gumstix
> ...
> "
> when building a core-image-minimal.  It looks like the linux-firmware
> is getting pulled in resulting in these warnings because I have this
> line in my machine/overo.conf file:
> "
> ...
> MACHINE_EXTRA_RDEPENDS += "linux-firmware-sd8686"

it seems this module is installing/overwriting a file thats coming
from some other recipe
that you omitted from the errors above so cant tell which one exactly.

> ...
> "
>
> I added this to make sure the firmware for my wifi chip was getting
> installed as directed per [1] but I'm thinking that this is not
> correct.
>
> What is the correct way to ensure my firmware gets installed or will
> it anyway by virtue of the kernel being included in the build?
>
> Thanks,
> Ash
>
> [1] http://www.yoctoproject.org/docs/current/mega-manual/mega-manual.html#var-MACHINE_EXTRA_RDEPENDS
> _______________________________________________
> yocto mailing list
> yocto@yoctoproject.org
> https://lists.yoctoproject.org/listinfo/yocto


^ permalink raw reply	[flat|nested] 7+ messages in thread

* Re: Using MACHINE_EXTRA_RDEPENDS to install wifi Firmware
  2014-02-28  0:26 ` Khem Raj
@ 2014-02-28  0:41   ` Ash Charles
  2014-02-28  0:54     ` Khem Raj
  0 siblings, 1 reply; 7+ messages in thread
From: Ash Charles @ 2014-02-28  0:41 UTC (permalink / raw)
  To: Khem Raj; +Cc: yocto

Hi Khem,

Thanks for your response.
On Thu, Feb 27, 2014 at 4:26 PM, Khem Raj <raj.khem@gmail.com> wrote:
> it seems this module is installing/overwriting a file thats coming
> from some other recipe
> that you omitted from the errors above so cant tell which one exactly.
I've posted a more complete log: http://pastebin.com/zydaCXe2

I looked in the work directory to see which other recipe might be
trying to supply a duplicate file and see both linux-firmware and my
kernel recipe (based on linux-yocto.inc) e.g.
ash@gumstux:~/Store/Yocto/yocto/build/tmp/work$ find . -name whiteheat.fw
./all-poky-linux/linux-firmware/1_0.0+gitAUTOINC+600caefd83-r0/git/whiteheat.fw
./all-poky-linux/linux-firmware/1_0.0+gitAUTOINC+600caefd83-r0/packages-split/linux-firmware/lib/firmware/whiteheat.fw
./all-poky-linux/linux-firmware/1_0.0+gitAUTOINC+600caefd83-r0/package/lib/firmware/whiteheat.fw
./all-poky-linux/linux-firmware/1_0.0+gitAUTOINC+600caefd83-r0/image/lib/firmware/whiteheat.fw
./all-poky-linux/linux-firmware/1_0.0+gitAUTOINC+600caefd83-r0/sysroot-destdir/lib/firmware/whiteheat.fw
./overo-poky-linux-gnueabi/linux-gumstix/3.5.7-r0/linux-overo-standard-build/firmware/whiteheat.fw
./overo-poky-linux-gnueabi/linux-gumstix/3.5.7-r0/packages-split/kernel-firmware-whiteheat/lib/firmware/whiteheat.fw
./overo-poky-linux-gnueabi/linux-gumstix/3.5.7-r0/package/lib/firmware/whiteheat.fw
./overo-poky-linux-gnueabi/linux-gumstix/3.5.7-r0/image/lib/firmware/whiteheat.fw
./overo-poky-linux-gnueabi/linux-gumstix/3.5.7-r0/sysroot-destdir/lib/firmware/whiteheat.fw

This makes me think that linux-firmware shouldn't be getting pulled in
as the kernel recipe is providing the right firmware.  But without
MACHINE_EXTRA_RDEPENDS += "linux-firmware-sd8686", no firmware is
included in the image at all.

--Ash


^ permalink raw reply	[flat|nested] 7+ messages in thread

* Re: Using MACHINE_EXTRA_RDEPENDS to install wifi Firmware
  2014-02-28  0:41   ` Ash Charles
@ 2014-02-28  0:54     ` Khem Raj
  2014-02-28  1:09       ` Ash Charles
  0 siblings, 1 reply; 7+ messages in thread
From: Khem Raj @ 2014-02-28  0:54 UTC (permalink / raw)
  To: Ash Charles; +Cc: yocto

On Thu, Feb 27, 2014 at 4:41 PM, Ash Charles <ashcharles@gmail.com> wrote:
> Hi Khem,
>
> Thanks for your response.
> On Thu, Feb 27, 2014 at 4:26 PM, Khem Raj <raj.khem@gmail.com> wrote:
>> it seems this module is installing/overwriting a file thats coming
>> from some other recipe
>> that you omitted from the errors above so cant tell which one exactly.
> I've posted a more complete log: http://pastebin.com/zydaCXe2
>
> I looked in the work directory to see which other recipe might be
> trying to supply a duplicate file and see both linux-firmware and my
> kernel recipe (based on linux-yocto.inc) e.g.
> ash@gumstux:~/Store/Yocto/yocto/build/tmp/work$ find . -name whiteheat.fw
> ./all-poky-linux/linux-firmware/1_0.0+gitAUTOINC+600caefd83-r0/git/whiteheat.fw
> ./all-poky-linux/linux-firmware/1_0.0+gitAUTOINC+600caefd83-r0/packages-split/linux-firmware/lib/firmware/whiteheat.fw
> ./all-poky-linux/linux-firmware/1_0.0+gitAUTOINC+600caefd83-r0/package/lib/firmware/whiteheat.fw
> ./all-poky-linux/linux-firmware/1_0.0+gitAUTOINC+600caefd83-r0/image/lib/firmware/whiteheat.fw
> ./all-poky-linux/linux-firmware/1_0.0+gitAUTOINC+600caefd83-r0/sysroot-destdir/lib/firmware/whiteheat.fw
> ./overo-poky-linux-gnueabi/linux-gumstix/3.5.7-r0/linux-overo-standard-build/firmware/whiteheat.fw
> ./overo-poky-linux-gnueabi/linux-gumstix/3.5.7-r0/packages-split/kernel-firmware-whiteheat/lib/firmware/whiteheat.fw
> ./overo-poky-linux-gnueabi/linux-gumstix/3.5.7-r0/package/lib/firmware/whiteheat.fw
> ./overo-poky-linux-gnueabi/linux-gumstix/3.5.7-r0/image/lib/firmware/whiteheat.fw
> ./overo-poky-linux-gnueabi/linux-gumstix/3.5.7-r0/sysroot-destdir/lib/firmware/whiteheat.fw
>
> This makes me think that linux-firmware shouldn't be getting pulled in
> as the kernel recipe is providing the right firmware.  But without
> MACHINE_EXTRA_RDEPENDS += "linux-firmware-sd8686", no firmware is
> included in the image at all.

as you can see kernel-firmware-whiteheat is the package name under
which kernel is packaging it
so include that if you want the kernel provided one.

>
> --Ash


^ permalink raw reply	[flat|nested] 7+ messages in thread

* Re: Using MACHINE_EXTRA_RDEPENDS to install wifi Firmware
  2014-02-28  0:54     ` Khem Raj
@ 2014-02-28  1:09       ` Ash Charles
  2014-02-28 18:45         ` Ash Charles
  0 siblings, 1 reply; 7+ messages in thread
From: Ash Charles @ 2014-02-28  1:09 UTC (permalink / raw)
  To: Khem Raj; +Cc: yocto

On Thu, Feb 27, 2014 at 4:54 PM, Khem Raj <raj.khem@gmail.com> wrote:
> as you can see kernel-firmware-whiteheat is the package name under
> which kernel is packaging it
> so include that if you want the kernel provided one.
Ah---perfect.  That makes sense.
I had
MACHINE_EXTRA_RDEPENDS += "linux-firmware-sd8686"
I should have had
MACHINE_EXTRA_RDEPENDS += "kernel-firmware-sd8686"

Thanks for your help!
--Ash


^ permalink raw reply	[flat|nested] 7+ messages in thread

* Re: Using MACHINE_EXTRA_RDEPENDS to install wifi Firmware
  2014-02-28  1:09       ` Ash Charles
@ 2014-02-28 18:45         ` Ash Charles
  2014-03-06 19:05           ` Ash Charles
  0 siblings, 1 reply; 7+ messages in thread
From: Ash Charles @ 2014-02-28 18:45 UTC (permalink / raw)
  To: Khem Raj; +Cc: yocto

I think my response yesterday was slightly premature...

If I understand correctly, packages of the form
'kernel-firmware-<xxxx>' are provided by the kernel recipe for any
firmware that is licensed such that it can be included directly with
the kernel source i.e. in the <linux>/firmware directory.  A superset
of this firmware is available from the linux-firmware repository with
different licensing.  Firmware can be pulled into an image with the
addition of a 'linux-firmward-<xxxx>' package.

It seems though that adding a 'linux-firmware-<xxxx>' package pulls in
the basic 'linux-firmware' package that includes firmware binaries
already shipped with the kernel.

If this is correct, I see two options:
1. 'linux-firmware-<xxxx>' should only pull in the explicit firmware
specified, or
2. if 'linux-firmware' is getting pulled in, the kernel recipe
shouldn't populate any firmware

Am I on the right track?

--Ash

On Thu, Feb 27, 2014 at 5:09 PM, Ash Charles <ashcharles@gmail.com> wrote:
> On Thu, Feb 27, 2014 at 4:54 PM, Khem Raj <raj.khem@gmail.com> wrote:
>> as you can see kernel-firmware-whiteheat is the package name under
>> which kernel is packaging it
>> so include that if you want the kernel provided one.
> Ah---perfect.  That makes sense.
> I had
> MACHINE_EXTRA_RDEPENDS += "linux-firmware-sd8686"
> I should have had
> MACHINE_EXTRA_RDEPENDS += "kernel-firmware-sd8686"
>
> Thanks for your help!
> --Ash


^ permalink raw reply	[flat|nested] 7+ messages in thread

* Re: Using MACHINE_EXTRA_RDEPENDS to install wifi Firmware
  2014-02-28 18:45         ` Ash Charles
@ 2014-03-06 19:05           ` Ash Charles
  0 siblings, 0 replies; 7+ messages in thread
From: Ash Charles @ 2014-03-06 19:05 UTC (permalink / raw)
  To: Khem Raj; +Cc: yocto

Hi,

I tried a clean build just to make sure but I still see the issue.

Basically, the kernel.bbclass is packaging and shipping all the
firmware it finds in the kernel source.  The linux-firmware recipe is
also shipping a superset of firmware to those files found in the
kernel hence I see warnings about the files shipped by both recipes.
Is there a way to only include just the package I need from
linux-firmware (linux-firmware-sd8686) without getting all files in
the sysroot-destdir?
--or--
Is there a way to instruct the kernel.bbclass not to ship any firmware?

Thanks for any suggestions!

--Ash

On Fri, Feb 28, 2014 at 10:45 AM, Ash Charles <ashcharles@gmail.com> wrote:
> I think my response yesterday was slightly premature...
>
> If I understand correctly, packages of the form
> 'kernel-firmware-<xxxx>' are provided by the kernel recipe for any
> firmware that is licensed such that it can be included directly with
> the kernel source i.e. in the <linux>/firmware directory.  A superset
> of this firmware is available from the linux-firmware repository with
> different licensing.  Firmware can be pulled into an image with the
> addition of a 'linux-firmward-<xxxx>' package.
>
> It seems though that adding a 'linux-firmware-<xxxx>' package pulls in
> the basic 'linux-firmware' package that includes firmware binaries
> already shipped with the kernel.
>
> If this is correct, I see two options:
> 1. 'linux-firmware-<xxxx>' should only pull in the explicit firmware
> specified, or
> 2. if 'linux-firmware' is getting pulled in, the kernel recipe
> shouldn't populate any firmware
>
> Am I on the right track?
>
> --Ash
>
> On Thu, Feb 27, 2014 at 5:09 PM, Ash Charles <ashcharles@gmail.com> wrote:
>> On Thu, Feb 27, 2014 at 4:54 PM, Khem Raj <raj.khem@gmail.com> wrote:
>>> as you can see kernel-firmware-whiteheat is the package name under
>>> which kernel is packaging it
>>> so include that if you want the kernel provided one.
>> Ah---perfect.  That makes sense.
>> I had
>> MACHINE_EXTRA_RDEPENDS += "linux-firmware-sd8686"
>> I should have had
>> MACHINE_EXTRA_RDEPENDS += "kernel-firmware-sd8686"
>>
>> Thanks for your help!
>> --Ash


^ permalink raw reply	[flat|nested] 7+ messages in thread

end of thread, other threads:[~2014-03-06 19:06 UTC | newest]

Thread overview: 7+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2014-02-27 22:05 Using MACHINE_EXTRA_RDEPENDS to install wifi Firmware Ash Charles
2014-02-28  0:26 ` Khem Raj
2014-02-28  0:41   ` Ash Charles
2014-02-28  0:54     ` Khem Raj
2014-02-28  1:09       ` Ash Charles
2014-02-28 18:45         ` Ash Charles
2014-03-06 19:05           ` Ash Charles

This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.