[yocto] Kernel patch is unpacked but not applied
Bryan Evenson
bevenson at melinkcorp.com
Thu Jun 27 05:50:23 PDT 2013
> -----Original Message-----
> From: Bruce Ashfield [mailto:bruce.ashfield at windriver.com]
> Sent: Thursday, June 27, 2013 1:24 AM
> To: Bryan Evenson
> Cc: yocto at yoctoproject.org
> Subject: Re: [yocto] Kernel patch is unpacked but not applied
>
> On 13-06-26 11:42 PM, Bruce Ashfield wrote:
> > On 13-06-26 11:08 PM, Bryan Evenson wrote:
> >> I am building a custom Linux kernel under poky-dylan and I am having
> >> an issue with patches being unpacked but not applied. I have two
> >> layers that have a bbappend file for the kernel. Generally, this is
> >> what each bbappend file looks like:
> >>
> >> #First .bbappend
> >>
> >> FILESEXTRAPATHS_prepend := "${THISDIR}/${PN}:"
> >> COMPATIBLE_MACHINE_mach1 = "mach1"
> >> COMPATIBLE_MACHINE_mach2 = "mach2"
> >> SRC_URI_append_mach2 = " file://${MACHINE}/${KBRANCH}/0001-
> blah.patch \
> >> file://${MACHINE}/${KBRANCH}/0002-blah.patch \
> >> "
> >>
> >> # Increment the recipe revision
> >> PRINC := "${@int(PRINC) + 1}"
> >>
> >> # Second .bbappend
> >>
> >> FILESEXTRAPATHS_prepend := "${THISDIR}/${PN}:"
> >> COMPATIBLE_MACHINE_mach1 = "mach1"
> >> COMPATIBLE_MACHINE_mach2 = "mach2"
> >> SRC_URI_append_mach2 = " file://${MACHINE}/${KBRANCH}/0003-
> blah.patch \
> >> file://${MACHINE}/${KBRANCH}/0004-blah.patch \
> >> "
> >>
> >> # Increment the recipe revision
> >> PRINC := "${@int(PRINC) + 1}"
> >>
> >> All of the patch files are properly unpacked, but the last two
> >> patches are not being applied. If I open the devshell for the
> kernel
> >> (bitbake -c devshell linux-yocto-custom) I can see in the git log
> >> that the first patch set was applied. The second patch set exists
> >> but is not applied. If I call "guilt push" repeatedly from the
> >> devshell, the patches from the second set are cleanly applied. My
> >> guess is that something doesn't like the second SRC_URI_append call.
> >> Any ideas on how to fix it?
> >
> > It shouldn't matter. Let me try and set up something that reproduces
> > the problem and get back to you.
> >
> > Strangely .. I'm actively debugging something similar here already,
> so
> > I may be able to re-use it.
> >
> > Stay tuned.
> >
> > Out of curiosity, have you tried this on master ?
>
I have not tried this on master. Here is the relevant build information:
Build Configuration:
BB_VERSION = "1.18.0"
BUILD_SYS = "i686-linux"
NATIVELSBSTRING = "Ubuntu-12.04"
TARGET_SYS = "arm-poky-linux-gnueabi"
MACHINE = "at91sam9x5ek"
DISTRO = "poky"
DISTRO_VERSION = "1.4.1"
TUNE_FEATURES = "armv5 thumb dsp arm926ejs"
TARGET_FPU = "soft"
meta-melink = "dylan:e4a0a4c5e419154a34710a1b6c28d4180c6304c3"
meta-atmel = "master:b2a9c072730b0f6b2a669a8de613e5e1d59453e6"
meta
meta-yocto
meta-yocto-bsp = "dylan:e4a0a4c5e419154a34710a1b6c28d4180c6304c3"
meta-oe = "dylan:13ae5105ee30410136beeae66ec41ee4a8a2e2b0"
So I'm at the HEAD of the Dylan branch for both poky and meta-oe.
The kernel patches are in both the meta-atmel layer and the meta-melink
Layter. Ignore that version string for meta-melink; it's not a git
repository so it's just grabbing the info from poky.
> So I tried to recreate this on master, and things worked for me. Which
> I figured would happen, since this will make it harder to fix ... and
> that's how it always works out.
>
> I created two layers, with four patches to the main linux Makefile.
> They all add something to the description:
>
> FILESEXTRAPATHS_prepend := "${THISDIR}/${PN}:"
>
> SRC_URI_append = " file://0001-makefile-one.patch \
> file://0002-makefile-two.patch"
>
>
>
> PRINC := "${@int(PRINC) + 1}"
>
> and
>
>
> FILESEXTRAPATHS_prepend := "${THISDIR}/${PN}:"
> SRC_URI_append = " file://0003-makefile-three.patch \
> file://0004-makefile-four.patch"
>
>
>
> PRINC := "${@int(PRINC) + 1}"
>
> .. and alas, the all were applied:
>
> > grep NAME Makefile
> NAME = Displaced Humerus Anterior one two three four
>
> ....
>
> Can you send me the exact names of your patches ? I'm wondering if an
> already applied check is triggering and preventing the auto push.
>
Here are the patch names in the first layer (meta-atmel):
" file://${MACHINE}/${KBRANCH}/UBI.cfg \
file://${MACHINE}/${KBRANCH}/dma.cfg \
file://${MACHINE}/${KBRANCH}/usb-c.patch \
file://${MACHINE}/${KBRANCH}/usart3.patch \
file://${MACHINE}/${KBRANCH}/rtc.patch \
file://${MACHINE}/${KBRANCH}/serial_dma.patch \
${@base_contains("MACHINE_FEATURES", "watchdog", "file://${MACHINE}/${KBRANCH}/watchdog.patch", " ", d)} \
"
If you're wondering about that last line, I added a watchdog
feature to the meta-atmel layer to enable or disable the watchdog
for the kernel, U-Boot and the AT91Bootstrap.
And here are the patch names for the second layer (meta-melink):
SRC_URI_append_at91sam9x5ek = " file://${MACHINE}/${KBRANCH}/mq.cfg \
file://${MACHINE}/${KBRANCH}/gpio.cfg \
file://${MACHINE}/${KBRANCH}/ad5446.cfg \
file://${MACHINE}/${KBRANCH}/rs485.patch;apply=yes \
file://${MACHINE}/${KBRANCH}/usart1.patch;apply=yes \
file://${MACHINE}/${KBRANCH}/mmc.patch;apply=yes \
file://${MACHINE}/${KBRANCH}/one-wire.patch;apply=yes \
"
I tried adding the "apply=yes" to the second layer patches, and they still
were not applied. Incidentally, the configuration changes (.cfg files)
*are* being applied. So if I understand correctly, do_unpack is getting
the correct files, do_patch is not applying all the patches, but
do_configure is applying all the configuration changes.
If it helps, the meta-atmel layer I am using is available here:
https://github.com/evensonbryan/meta-atmel. I just pushed an update a few
minutes ago, so it has what I am using.
I'll let you know if I discover anything new.
Thanks,
Bryan
> Bruce
>
> >
> > Cheers,
> >
> > Bruce
> >
> >>
> >> Thanks,
> >> Bryan
> >> _______________________________________________
> >> yocto mailing list
> >> yocto at yoctoproject.org
> >> https://lists.yoctoproject.org/listinfo/yocto
> >>
> >
> > _______________________________________________
> > yocto mailing list
> > yocto at yoctoproject.org
> > https://lists.yoctoproject.org/listinfo/yocto
More information about the yocto
mailing list