diff options
| author | Richard Purdie <richard.purdie@linuxfoundation.org> | 2015-01-20 13:01:29 +0000 |
|---|---|---|
| committer | Richard Purdie <richard.purdie@linuxfoundation.org> | 2015-01-23 14:32:02 +0000 |
| commit | 11ef55a93bd2bbd95e203fab3aa237322923ffd9 (patch) | |
| tree | 69c6dbbe850170ae846e419eb1ef964e6769863e /meta/recipes-kernel | |
| parent | 46dba263741692d64801ed425e85362fce999d06 (diff) | |
| download | poky-11ef55a93bd2bbd95e203fab3aa237322923ffd9.tar.gz | |
kernel/image/depmodwrapper: Fixups for depmod
With the rpm package backend enabled, running:
bitbake <image>
bitbake virtual/kernel -c clean
bitbake <image> -c rootfs -f
results in an image with incorrect kernel module dependency information.
The problem is that the System.map and kernel-abiversion files are needed
for depmod and after the recent kernel changes, these are no longer in
sstate.
Its reasonable to require the kernel to unpack/build if you're
about to build a module against it. It is not reasonable to require this
just to build a rootfs.
Therefore stash the needed files specifically for depmod.
Also fix some STAGING_KERNEL_DIR references which were incorrect, found
whilst sorting through his change.
(From OE-Core rev: b851504dcf5e147c9efb1c7b6a4d22c1a1a87cd7)
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
Diffstat (limited to 'meta/recipes-kernel')
| -rw-r--r-- | meta/recipes-kernel/kmod/depmodwrapper-cross_1.0.bb | 12 | ||||
| -rw-r--r-- | meta/recipes-kernel/systemtap/systemtap-uprobes_git.bb | 2 |
2 files changed, 7 insertions, 7 deletions
diff --git a/meta/recipes-kernel/kmod/depmodwrapper-cross_1.0.bb b/meta/recipes-kernel/kmod/depmodwrapper-cross_1.0.bb index 7533809f27..83a382a2cd 100644 --- a/meta/recipes-kernel/kmod/depmodwrapper-cross_1.0.bb +++ b/meta/recipes-kernel/kmod/depmodwrapper-cross_1.0.bb | |||
| @@ -19,21 +19,21 @@ if [ "\$1" != "-a" -o "\$2" != "-b" ]; then | |||
| 19 | echo "Usage: depmodwrapper -a -b rootfs KERNEL_VERSION" >&2 | 19 | echo "Usage: depmodwrapper -a -b rootfs KERNEL_VERSION" >&2 |
| 20 | exit 1 | 20 | exit 1 |
| 21 | fi | 21 | fi |
| 22 | if [ ! -r ${STAGING_KERNEL_BUILDDIR}/kernel-abiversion ]; then | 22 | if [ ! -r ${STAGING_DIR_TARGET}${datadir}/kernel-depmod/kernel-abiversion ]; then |
| 23 | echo "Unable to read: ${STAGING_KERNEL_BUILDDIR}/kernel-abiversion" >&2 | 23 | echo "Unable to read: ${STAGING_DIR_TARGET}${datadir}/kernel-depmod/kernel-abiversion" >&2 |
| 24 | else | 24 | else |
| 25 | kernelabi=\$(cat ${STAGING_KERNEL_BUILDDIR}/kernel-abiversion) | 25 | kernelabi=\$(cat ${STAGING_DIR_TARGET}${datadir}/kernel-depmod/kernel-abiversion) |
| 26 | if [ "\$kernelabi" != "\$4" ]; then | 26 | if [ "\$kernelabi" != "\$4" ]; then |
| 27 | echo "Error: Kernel version \$4 does not match kernel-abiversion (\$kernelabi)" >&2 | 27 | echo "Error: Kernel version \$4 does not match kernel-abiversion (\$kernelabi)" >&2 |
| 28 | exit 1 | 28 | exit 1 |
| 29 | fi | 29 | fi |
| 30 | fi | 30 | fi |
| 31 | 31 | ||
| 32 | if [ ! -r ${STAGING_KERNEL_BUILDDIR}/System.map-\$4 ]; then | 32 | if [ ! -r ${STAGING_DIR_TARHET}${datadir}/kernel-depmod/System.map-\$4 ]; then |
| 33 | echo "Unable to read: ${STAGING_KERNEL_BUILDDIR}/System.map-\$4" >&2 | 33 | echo "Unable to read: ${STAGING_DIR_TARGET}${datadir}/kernel-depmod/System.map-\$4" >&2 |
| 34 | exec env depmod "\$1" "\$2" "\$3" "\$4" | 34 | exec env depmod "\$1" "\$2" "\$3" "\$4" |
| 35 | else | 35 | else |
| 36 | exec env depmod "\$1" "\$2" "\$3" -F "${STAGING_KERNEL_BUILDDIR}/System.map-\$4" "\$4" | 36 | exec env depmod "\$1" "\$2" "\$3" -F "${STAGING_DIR_TARGET}${datadir}/kernel-depmod/System.map-\$4" "\$4" |
| 37 | fi | 37 | fi |
| 38 | EOF | 38 | EOF |
| 39 | chmod +x ${D}${bindir_crossscripts}/depmodwrapper | 39 | chmod +x ${D}${bindir_crossscripts}/depmodwrapper |
diff --git a/meta/recipes-kernel/systemtap/systemtap-uprobes_git.bb b/meta/recipes-kernel/systemtap/systemtap-uprobes_git.bb index 4d2bec4714..758908bff9 100644 --- a/meta/recipes-kernel/systemtap/systemtap-uprobes_git.bb +++ b/meta/recipes-kernel/systemtap/systemtap-uprobes_git.bb | |||
| @@ -21,7 +21,7 @@ EXTRA_OEMAKE = "" | |||
| 21 | # support. Note that staprun expects it in the systemtap/runtime directory, | 21 | # support. Note that staprun expects it in the systemtap/runtime directory, |
| 22 | # not in /lib/modules. | 22 | # not in /lib/modules. |
| 23 | do_compile() { | 23 | do_compile() { |
| 24 | if grep -q "CONFIG_UTRACE=y" ${STAGING_KERNEL_DIR}/.config | 24 | if grep -q "CONFIG_UTRACE=y" ${STAGING_KERNEL_BUILDDIR}/.config |
| 25 | then | 25 | then |
| 26 | unset CFLAGS CPPFLAGS CXXFLAGS LDFLAGS CC LD CPP | 26 | unset CFLAGS CPPFLAGS CXXFLAGS LDFLAGS CC LD CPP |
| 27 | oe_runmake CC="${KERNEL_CC}" LD="${KERNEL_LD}" \ | 27 | oe_runmake CC="${KERNEL_CC}" LD="${KERNEL_LD}" \ |
