[linux-yocto] Question: What is the relation between "4.1.6-yocto-standard" and the 4.1.15 git repo version used

Bruce Ashfield bruce.ashfield at windriver.com
Fri Apr 22 07:12:01 PDT 2016


On 2016-04-22 9:28 AM, Hugo Heutinck wrote:
>
>
> 2016-04-22 14:57 GMT+02:00 Bruce Ashfield <bruce.ashfield at windriver.com
> <mailto:bruce.ashfield at windriver.com>>:
>
>     On 2016-04-22 3:21 AM, Hugo Heutinck wrote:
>
>
>
>         2016-04-21 15:22 GMT+02:00 Bruce Ashfield
>         <bruce.ashfield at windriver.com <mailto:bruce.ashfield at windriver.com>
>         <mailto:bruce.ashfield at windriver.com
>         <mailto:bruce.ashfield at windriver.com>>>:
>
>              On 2016-04-21 7:42 AM, Hugo Heutinck wrote:
>
>                  Hello,
>
>                  I was wondering what the relation is between the
>                  kernel-4.1.6-yocto-standard and the actual kernel
>         version being used
>                  4.1.15 ?
>
>                  Logging shows e.g. kernel-4.1.6-yocto-standard:armel
>                  (4.1.15+git0+46bb64d605_efb6ffb2ca-r0) ...
>
>                  I assume this is some kind of mapping to keep yocto
>         kernel changes /
>                  updates separate from the kernel.org
>         <http://kernel.org> <http://kernel.org>
>                  <http://kernel.org> versions. But
>                  the issue is that "cat /proc/version" shows a 4.1.6
>         version while a
>                  4.1.15 kernel is running, and this causes some
>         confusion between
>                  various
>                  people.
>
>                  Is it a bad coincidence that both versions are in the
>         same range
>                  (4.1.x)
>                  or am I missing something here ?
>
>
>              What branch / release are you using ? That shouldn't
>         happen. The only
>              way there's a skew is if I forgot to update to the
>         LINUX_VERSION
>              variable when merging -stable updates to the tree.
>
>
>         I am using the jethro branch git://git.yoctoproject.org/poky.git
>         <http://git.yoctoproject.org/poky.git>
>         <http://git.yoctoproject.org/poky.git>, with last commit
>         a3a374a639b5d3c0be1e73d23615231dfc0798ce (so from feb 05, 2016)
>
>
>
>              Master shows: 4.1.18 for both LINUX_VERSION and what I've
>         merged to
>              the tree.
>
>              .. but the kicker is that the kernel tree is the per kernel
>         version,
>              not per-yocto release. So I'm betting you are on an older
>         branch and
>              no one has ported my version bump to that release.
>
>              If you can confirm the release you are using, I'll see if I
>         can figure
>              out a way to keep them in sync.
>
>         The meta layer seems to contain the right version:
>
>         meta/recipes-kernel/linux/linux-yocto-rt_4.1.bb:LINUX_VERSION ?=
>         "4.1.15"
>         meta/recipes-kernel/linux/linux-yocto-rt_4.1.bb:PV =
>         "${LINUX_VERSION}+git${SRCPV}"
>         *meta/recipes-kernel/linux/linux-yocto_4.1.bb:LINUX_VERSION ?=
>         "4.1.15"*
>         meta/recipes-kernel/linux/linux-yocto_4.1.bb:LINUX_VERSION_qemux86
>         ?=
>         "4.1.17"
>         meta/recipes-kernel/linux/linux-yocto_4.1.bb:LINUX_VERSION_qemux86-64
>         ?=
>         "4.1.17"
>         *meta/recipes-kernel/linux/linux-yocto_4.1.bb:PV =
>         "${LINUX_VERSION}+git${SRCPV}"*
>         meta/recipes-kernel/linux/linux-yocto-tiny_4.1.bb:LINUX_VERSION
>         ?= "4.1.15"
>         meta/recipes-kernel/linux/linux-yocto-tiny_4.1.bb:PV =
>         "${LINUX_VERSION}+git${SRCPV}"
>
>         However, looking in the build/work directory, and grepping for
>         *4.1.6*
>         or *262406* references I see
>
>
>         beaglebone-poky-linux-gnueabi/linux-yocto/4.1.15+gitAUTOINC+46bb64d605_efb6ffb2ca-r0/
>         *  |-
>         linux-beaglebone-standard-build/include/generated/utsrelease.h:#define
>         UTS_RELEASE "4.1.6-yocto-standard"*
>             |-
>         linux-beaglebone-standard-build/include/generated/autoconf.h: *
>         Linux/arm 4.1.6 Kernel Configuration
>             |-
>         linux-beaglebone-standard-build/include/config/tristate.conf:#
>         Linux/arm 4.1.6 Kernel Configuration
>             |-
>         linux-beaglebone-standard-build/include/config/auto.conf.cmd:ifneq
>         "$(KERNELVERSION)" "4.1.6"
>             |- linux-beaglebone-standard-build/include/config/auto.conf:#
>         Linux/arm 4.1.6 Kernel Configuration
>         *  |-
>         linux-beaglebone-standard-build/include/config/kernel.release:4.1.6-yocto-standard*
>             |-
>         *linux-beaglebone-standard-build/include/generated/uapi/linux/version.h:#define
>         LINUX_VERSION_CODE 262406*
>
>
>     Aha.
>
>     Its the same thing that I was mentioning, just a different
>     manifestation.
>
>     The reference boards have their own SRCREVs set in meta-yocto-bsp, and
>     those SRCREVs haven't been bumped on the older releases. So there's
>     a skew between the main kernel recipe (which is setting the linux
>     version (and PV)) and the boards.
>
>     I have an open bugzilla to make sure that version is consistent in a
>     situation such as this, but it isnt complete yet.
>
>
>
> Do you have a ticket id for this issue so I can track it ?

It's an old one:

https://bugzilla.yoctoproject.org/show_bug.cgi?id=6767

But really, there's no code to be written for it, just making sure
that the kernel version is set in the meta-yocto-bsp bbappends.

>
> How does this SRCREV relation work ?

It's the git hash of the BSP branch that is to be built.

>
> Its a SHA1 sum of which repo ?

git.yoctoproject.org/linux-yocto-4.1.git

>
> (With this info I think I could create a local patch for the yocto
> sources fixing this issue for our specific situation.)

See: meta-yocto-bsp/recipes-kernel/linux/linux-yocto_4.1.bbappend

SRCREV_machine_beaglebone ?= "efb6ffb2ca96a364f916c9890ad023fc595e0e6e" 
 


If you look at that commit, it is 4.1.6 for that board. You can
update that in your local layers if you want (and have tested)
a newer commit (i.e. tip of standard/beaglebone in the linux-yocto-4.1
kernel tree).

Also see in that file where the generic BSP bumps its version since
it uses a new SRCREV.

LINUX_VERSION_genericx86 = "4.1.18"
LINUX_VERSION_genericx86-64 = "4.1.18"

So the BSPs on older revs, really should set their own version, but
it just hasn't happened yet .. since ideally whenever I update the
kernel tree, the references are tested, updated .. and are always
in sync. But of course, that doesn't always happen, since time is
limited :)

Bruce



>
>
>
>
>
>
>     Bruce
>
>
>
>         Hugo
>
>
>
>              Bruce
>
>
>                  With kind regards,
>
>                  H.Heutinck
>
>
>
>
>
>
>
>
>



More information about the linux-yocto mailing list