diff options
author | Koen Kooi <k-kooi@ti.com> | 2010-02-09 12:02:24 +0100 |
---|---|---|
committer | Koen Kooi <koen@openembedded.org> | 2010-04-12 19:43:18 +0200 |
commit | 6499b64e6fd59e28ed915f06f0c7b6c9b897e891 (patch) | |
tree | 97b27db2e053176e9ebecb26389458adc76e735b | |
parent | 05d6cc5dc9a580f4a9182f4f2c43aa518880061e (diff) |
multi-kernel.inc: include file to build and deploy multiple kernel and module sets from a single recipe
-rw-r--r-- | recipes/linux/multi-kernel.inc | 42 |
1 files changed, 42 insertions, 0 deletions
diff --git a/recipes/linux/multi-kernel.inc b/recipes/linux/multi-kernel.inc new file mode 100644 index 0000000000..f8fd950a85 --- /dev/null +++ b/recipes/linux/multi-kernel.inc @@ -0,0 +1,42 @@ +# This .inc file allows you to build and deploy multiple sets of kernel + modules with different defconfigs +# +# Note that this include will NOT stage anything nor create packages, since that is virtuall impossible +# Userspace should be built against the 'regular' kernel +# +# The intended usecase is for machines that has mutually exclusive drivers due to e.g. pinmuxing issues. +# For example the LogicPD omap-l138 experimenter board can have multiple mutually exclusive expansion boards +# like lcd, ethernet, sound, 20x2 character LCD, etc. To be able to easily test all of those you can use this .inc +# +# To make it easier finding the original defconfig from a running kernel, this also forcefully turns on +# CONFIG_IKCONFIG_PROC so people can do 'zcat /proc/config.gz' on the target. + +require linux.inc + +SRC_URI = " \ + file://configs/" + + +do_compile() { + for config in ${WORKDIR}/configs/* ; do + cp $config ${WORKDIR}/defconfig + echo "CONFIG_IKCONFIG=y" >> ${WORKDIR}/defconfig + echo "CONFIG_IKCONFIG_PROC=y" >> ${WORKDIR}/defconfig + + do_configure + kernel_do_compile + kernel_do_install + + cp arch/${ARCH}/boot/uImage ${DEPLOY_DIR_IMAGE}/uImage.multi-config-$(basename $config) + + if [ -d "${D}/lib" ]; then + fakeroot tar -cvzf ${DEPLOY_DIR_IMAGE}/${MODULES_IMAGE_BASE_NAME}.multi-config-$(basename $config).tgz -C ${D} lib + fi + done +} + +do_install() { + : +} + + + |