# We set PR here, since a change in the kexecboot recipe will need to get picked up by *all* the kernels:
-PR = "r15"
-
-SRC_URI = "file://defconfig"
+PR = "r18"
LOGO_SIZE = '${@base_conditional("GUI_MACHINE_CLASS", "bigscreen", "vga", "qvga", d)}'
-SRC_URI += "file://${LOGO_SIZE}/logo_linux_clut224.ppm.bz2"
+SRC_URI = "file://${LOGO_SIZE}/logo_linux_clut224.ppm.bz2"
require ../linux/linux.inc
KERNEL_IMAGE_BASE_NAME = "${KERNEL_IMAGETYPE}-kexecboot-${PV}-${PR}-${MACHINE}"
KERNEL_IMAGE_SYMLINK_NAME = "${KERNEL_IMAGETYPE}-kexecboot-${MACHINE}"
+# use custom function until base_version_less_or_equal is fixed
+#
+def kernel_version_less_or_equal(variable, checkvalue, truevalue, falsevalue, d):
+ from bb import utils
+ result = bb.utils.vercmp_part(bb.data.getVar(variable,d,True), checkvalue)
+ if result <= 0:
+ return truevalue
+ else:
+ return falsevalue
+
+# force lzma compression for kernel (linux-kexecboot >= 2.6.32)
+# force lzma compression for initramfs (linux-kexecboot >= 2.6.30)
+
+KERNEL_COMPRESSION = '${@kernel_version_less_or_equal("PV", "2.6.32", "", "CONFIG_KERNEL_LZMA=y", d)}'
+
+INITRAMFS_COMPRESSION = '${@kernel_version_less_or_equal("PV", "2.6.30", "", "CONFIG_INITRAMFS_COMPRESSION_LZMA=y", d)}'
+INITRAMFS_COMPRESSION_SUFFIX = '${@kernel_version_less_or_equal("PV", "2.6.30", "gz", "lzma", d)}'
+RD_COMPRESSION = '${@kernel_version_less_or_equal("PV", "2.6.30", "", "CONFIG_RD_LZMA=y", d)}'
+
do_configure[depends] += "${INITRAMFS_IMAGE}:do_rootfs"
+
do_configure_append() {
sed -i -e /CONFIG_BLK_DEV_INITRD/d \
-e /CONFIG_KEXEC/d \
+ -e /CONFIG_KERNEL/d \
-e /CONFIG_INITRAMFS_SOURCE/d \
+ -e /CONFIG_INITRAMFS_COMPRESSION/d \
+ -e /CONFIG_RD/d \
-e /=m/d \
-e /CONFIG_MODULES/d \
-e /CONFIG_DEBUG_ERRORS/d \
echo 'CONFIG_BLK_DEV_INITRD=y
CONFIG_KEXEC=y
-CONFIG_INITRAMFS_SOURCE="initramfs.cpio.gz"
+${KERNEL_COMPRESSION}
+${INITRAMFS_COMPRESSION}
+CONFIG_INITRAMFS_SOURCE="initramfs.cpio.${INITRAMFS_COMPRESSION_SUFFIX}"
+${RD_COMPRESSION}
CONFIG_MODULES=n' >> ${S}/.config
yes '' | oe_runmake oldconfig