aboutsummaryrefslogtreecommitdiffstats
path: root/meta/classes/kernel.bbclass
diff options
context:
space:
mode:
authorAndre McCurdy <armccurdy@gmail.com>2015-12-22 16:12:53 -0800
committerRichard Purdie <richard.purdie@linuxfoundation.org>2016-01-17 11:32:21 +0000
commita29371848deda618a42f9a30f9856a44c2342fe6 (patch)
tree4bdcccbaa030d104d24773d0e9291029ffea2d57 /meta/classes/kernel.bbclass
parent70b8a60d42831c701d10066eb57aaaad7a6fb7ae (diff)
downloadopenembedded-core-contrib-a29371848deda618a42f9a30f9856a44c2342fe6.tar.gz
openembedded-core-contrib-a29371848deda618a42f9a30f9856a44c2342fe6.tar.bz2
openembedded-core-contrib-a29371848deda618a42f9a30f9856a44c2342fe6.zip
kernel-yocto.bbclass: move do_kernel_link_vmlinux() into kernel.bbclass
Move do_kernel_link_vmlinux() from kernel-yocto.bbclass into kernel.bbclass so that it's available to any kernel recipe. Note that the task is not enabled by default in kernel-yocto.bbclass, so don't enable by default in kernel.bbclass either. To enable, see the example in linux-yocto.inc, ie: addtask kernel_link_vmlinux after do_compile before do_install Signed-off-by: Andre McCurdy <armccurdy@gmail.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
Diffstat (limited to 'meta/classes/kernel.bbclass')
-rw-r--r--meta/classes/kernel.bbclass12
1 files changed, 12 insertions, 0 deletions
diff --git a/meta/classes/kernel.bbclass b/meta/classes/kernel.bbclass
index 5c3287bb98..dee6f7db24 100644
--- a/meta/classes/kernel.bbclass
+++ b/meta/classes/kernel.bbclass
@@ -417,6 +417,18 @@ python split_kernel_packages () {
do_split_packages(d, root='/lib/firmware', file_regex='^(.*)\.(bin|fw|cis|dsp)$', output_pattern='kernel-firmware-%s', description='Firmware for %s', recursive=True, extra_depends='')
}
+# Many scripts want to look in arch/$arch/boot for the bootable
+# image. This poses a problem for vmlinux based booting. This
+# task arranges to have vmlinux appear in the normalized directory
+# location.
+do_kernel_link_vmlinux() {
+ if [ ! -d "${B}/arch/${ARCH}/boot" ]; then
+ mkdir ${B}/arch/${ARCH}/boot
+ fi
+ cd ${B}/arch/${ARCH}/boot
+ ln -sf ../../../vmlinux
+}
+
do_strip() {
if [ -n "${KERNEL_IMAGE_STRIP_EXTRA_SECTIONS}" ]; then
if [ "${KERNEL_IMAGETYPE}" != "vmlinux" ]; then