[OE-core] what are the major phases of do_patch() for the kernel?

Robert P. J. Day rpjday at crashcourse.ca
Sat Jul 21 10:50:07 UTC 2012


On Thu, 19 Jul 2012, Bruce Ashfield wrote:

> On Thu, Jul 19, 2012 at 5:50 PM, Robert P. J. Day <rpjday at crashcourse.ca> wrote:
> >
> >   short version: what happens during each major processing step of the
> > do_patch function for the kernel?
> >
> >   longer version: i'm stepping through what happens when i do a
> > "bitbake linux-yocto", and documenting what happens at each step --
> > currently looking at do_patch().
> >
> >   after having run the previous validate_branches target, what i
> > appear to have is the source directory containing the kernel source
> > with the (for me) standard/arm-versatile-926ejs branch checked out,
> > and no top-level "meta" directory.  so far, so good.
> >
> >   now, i'm building core-image-minimal for qemuarm, so i'm being as
> > unexciting and non-exotic as possible -- not selecting any special
> > parameters or corner cases or anything.
> >
> >   so as i peruse do_patch() in kernel-yocto.bbclass, i'm following
> > along to functions like createme and updateme and patchme, and with
> > createme, further into decheckpoint and check_defconfig and ... you
> > get the idea.  and i'm kind of getting lost in the weeds of details.
> >
> >   given that i'm building an absolutely stock target with a supported
> > machine, all i really need for the moment is a very high-level
> > explanation of what each of those main routines does.
> >
> >   so if my initial understanding is correct (that before i start
> > do_patch), i have the stock yocto kernel checked out to the
> > appropriate machine branch and nothing else), what does each
> > subsequent step accomplish?
> >
> >   don't need horrific detail, just one line or less as to what's
> > accomplished by each step like:
> >
> >   * createme
> >     * decheckpoint
> >     * checkdefconfig
> >     * check_branch
> >     * metaize
> >   * updateme
>
> Most of this is already covered in the kernel architecture manual
> that you can find on the yocto pages .. I'd suggest starting there.

  actually, i *was* going through your kernel manual and the major
thing that was causing me grief was a lack of precise terminology.
when you're reading chapter 3, there are numerous references to the
"kernel tree", but i think it would be massively useful to distinguish
between the variations of tree here.

  one could start by mentioning the pristine kernel.org tree that's
used as a starting point.  then there's the tree one checks out of
git.yoctoproject.org, which contains (among other things) a "meta"
branch which is then added to that tree and its content applied.  from
what i can read in the kern-tools utilities, that might be called the
"metaize"d tree.  after which the configuration is done, and so on.

  terminology matters.  all i'm after is, if i'm describing this
process to a class, i want to use terminology that matches what's in
the manuals.

rday

-- 

========================================================================
Robert P. J. Day                                 Ottawa, Ontario, CANADA
                        http://crashcourse.ca

Twitter:                                       http://twitter.com/rpjday
LinkedIn:                               http://ca.linkedin.com/in/rpjday
========================================================================




More information about the Openembedded-core mailing list