Overriding virtual/kernel in openembedded

Brian Cavagnolo brian at cozybit.com
Thu Mar 6 19:02:59 CET 2008


On 3/6/08, Brian Cavagnolo <brian at cozybit.com> wrote:
> Hello,
>
>  I'm trying to get openembedded to build my kernel instead of the
>  default openmoko-kernel specified as the PREFERRED_PROVIDER in the
>  openembedded/conf/machine/fic-gta01.conf file.  To achieve this, I
>  created an overlay tree called 'o11s' and made it the highest priority
>  in the BBPATH as described here:
>
>  http://wiki.openmoko.org/wiki/Application_Development_Crash_Course
>
>  Next I populated the conf directory of the overlay tree with a copy of
>  machine/fic-gta01.conf and changed the PREFERRED_PROVIDER to
>  linux-openmoko-o11s.  The file linux-openmoko-o11s_git.bb lives in the
>  pacages/linux/ directory of my overlay tree.
>
>  When I run "bitbake virtual/kernel -D", I get the following:
>
>  DEBUG: providers for virtual/kernel are: [<blah blah blah>,
>  'linux-openmoko-o11s', <blah blah blah>, 'linux-openmoko', <blah blah
>  blah>, 'linux-openmoko-devel', <blah blah blah>]
>  NOTE: Selecting already-staged linux-openmoko (0:2.6.24+svnr4102-r3)
>  to satisfy virtual/kernel
>  NOTE: selecting linux-openmoko-o11s to satisfy virtual/kernel due to
>  PREFERRED_PROVIDERS
>  DEBUG: sorted providers for virtual/kernel are:
>  ['/path/to/o11s/packages/linux/linux-openmoko-o11s_git.bb',
>  '/path/to/openembedded/packages/linux/linux-openmoko_2.6.24.bb',
>  '/path/to/openembedded/packages/linux/poodle-kernel-2.4-embedix.bb',
>  <etc....>
>  ]
>
>  As expected, my linux-openmoko-o11s kernel appears as a provider, and
>  AND appears at the top of the sorted providers AND appears to be
>  selected from the list due to my PREFERRED_PROVIDERS declaration.
>  Confusingly, bitbake also reports that it is selecting linux-openmoko.

A read of the bitbake source code reveals that my kernel is actually
being selected at this stage.  However....

>  The build does not create my preferred kernel and completes with:
>
>  NOTE: Tasks Summary: Attempted 513 tasks of which 513 didn't need to
>  be rerun and 0 failed.
>  NOTE: build 200803060906: completed
>
>  revealing that in the end, linux-openmoko was preferred over
>  linux-openmoko-o11s.  Why?  How can I override this?  I'm about to
>  dive into the bitbake source, but any help would be appreciated.

Later in the debug output stream, we learn why linux-openmoko-o11s is
not being built:

NOTE: Nothing PROVIDES 'virtual/arm-angstrom-linux-gnueabi-depmod-'
(but '['/path/to/o11s/packages/linux/linux-openmoko-o11s_git.bb']'
DEPENDS on or otherwise requires it)
NOTE: Target 'virtual/arm-angstrom-linux-gnueabi-depmod-' is
unbuildable, removing...
Missing or unbuildable dependency chain was:
['virtual/arm-angstrom-linux-gnueabi-depmod-']
DEBUG: File '/path/to/o11s/packages/linux/linux-openmoko-o11s_git.bb'
is unbuildable, removing...

Ah ha!  In my bitbake file, I didn't have the PV variable set
properly, and bitbake was failing to find a suitable depmod package.
I fixed this variable and things are chugging along now.

Ciao,
Brian



More information about the distro-devel mailing list