[yocto] Does Edison work with Beagleboard & linux-yocto-3.0 kernel?

Brian Hutchinson b.hutchman at gmail.com
Sun Jan 22 19:33:27 PST 2012


OK, hate to bring this up again but I must be doing something wrong.
My kernel changes don't appear to be getting picked up.  I thought it
was OK before but then I did some real work on the kernel and that is
when I realized something isn't right.

To recap from the previous emails, I'm following the Appendix B
example and trying to modify the kernel using a local git repo.

In going over the steps again, it looks like I didn't checkout a local
branch in the copy of the bare clone so I don't know if that is my
problem or not.  When I make a copy of the bare clone I see my changes
so my changes must be in the local git.  Here is what I did:

. I checked out master.
. I cd into poky and ran git clone
git://git.yoctoproject.org/poky-extras poky-extras
. Outside of poky I created a bare clone git clone linux-yocto-3.0.git
linux-yocto-3.0
. Inside linux-yocto-3.0 I think I checked out master.  I can't
remember.  When I do git branch in the copy of the bare clone it says
I'm on master
. When I sourced to build, I followed the example on one of the videos
and did "source poky/oe-init-build-env bb-test" so my conf dir is in
bb-test directory.  Here is what conf bblayers.conf has

# LAYER_CONF_VERSION is increased each time build/conf/bblayers.conf
# changes incompatibly
LCONF_VERSION = "4"

BBFILES ?= ""
BBLAYERS ?= " \
  /home/hutch/yocto/master/poky/meta \
  /home/hutch/yocto/master/poky/meta-yocto \
  /home/hutch/yocto/master/poky/poky-extras/meta-kernel-dev \
  "

. At this point, my copy of the bare clone is in /home/hutch/linux-yocto-3.0
. So, my linux-yocto_3.0.bbappend file looks like this:

FILESEXTRAPATHS := "${THISDIR}/${PN}"

COMPATIBLE_MACHINE = ${MACHINE}

# KMACHINE is the branch to build
# KMACHINE_<MACHINE> ?= "yocto/${LINUX_KERNEL_TYPE}/${KMACHINE}"

# KERNEL_FEATURES are features to be added to the kernel, and must
# point to configurations stored on the 'meta' branch of the kernel
# that is being built.
# KERNEL_FEATURES ?= <FOO>

# It is often nice to have a local clone of the kernel repos, to
# allow patches to be staged, branches created, etc. Modify

# KSRC_linux_yocto to point to your local clone as appropriate.
KSRC_linux_yocto ?= /home/hutch/linux-yocto-3.0.git
KMACHINE ?= "yocto/${LINUX_KERNEL_TYPE}/${KMACHINE}"

SRC_URI = "git://${KSRC_linux_yocto};protocol=file;nocheckout=1;branch=${KBRANCH},meta;name=machine,meta"

KERNEL_REVISION_CHECKING=
SRCREV=${AUTOREV}
#BB_LOCALCOUNT_OVERRIDE = "1"
LOCALCOUNT = "0"

. I'm working with spidev and user space gpio so I needed to turn
these things on in menuconfig so I ran:

bitbake linux-yocto -c menuconfig and then made my changes.

. Then I build the kernel with:

bitbake linux-yocto -c compile -f
bitbake linux-yocto

My first clue that my changes were not getting picked up is I didn't
have a /dev/spidev entry.  I found the board-omap3beagle.c file in tmp
and it didn't have my changes.

If I make another copy of my bare clone with git clone
linux-yocto-3.0.git linux-yocto-3.0_test2 ... I see my changes.

After I made my source changes I did:

git add arch/arm/mach-omap2/board-omap3beagle.c
git commit --signoff
git status (nothing else checked out)
git push origin master:master

On the target, if I zcat config.gz, I see the changes I made to
menuconfig but my source changes don't show up when I poke around in
tmp.

Not sure what went wrong but it doesn't appear to be picking up my
kernel changes when I bitbake and I don't understand why.  Hopefully I
provided enough info for someone to spot what I hosed up.

Regards,

Brian



More information about the yocto mailing list