summaryrefslogtreecommitdiff
path: root/packages/linux/linux-handhelds-2.6.inc
diff options
context:
space:
mode:
Diffstat (limited to 'packages/linux/linux-handhelds-2.6.inc')
-rw-r--r--packages/linux/linux-handhelds-2.6.inc69
1 files changed, 69 insertions, 0 deletions
diff --git a/packages/linux/linux-handhelds-2.6.inc b/packages/linux/linux-handhelds-2.6.inc
new file mode 100644
index 0000000000..5535e91c48
--- /dev/null
+++ b/packages/linux/linux-handhelds-2.6.inc
@@ -0,0 +1,69 @@
+SECTION = "kernel"
+DESCRIPTION = "handhelds.org Linux kernel 2.6 for PocketPCs and other consumer handheld devices."
+LICENSE = "GPL"
+
+COMPATIBLE_HOST = "arm.*-linux"
+COMPATIBLE_MACHINE ?= '(h1910|h2200|h3900|h4000|h5xxx|htcuniversal|hx4700)'
+
+FILESDIR = "${@os.path.dirname(bb.data.getVar('FILE',d,1))}/handhelds-pxa-${PV}"
+
+SRC_URI = "${HANDHELDS_CVS};module=linux/kernel26;tag=${@'K' + bb.data.getVar('PV',d,1).replace('.', '-')} \
+ file://24-hostap_cs_id.diff;patch=1 \
+ file://hrw-pcmcia-ids-r2.patch;patch=1 \
+ file://defconfig"
+
+S = "${WORKDIR}/kernel26"
+
+inherit kernel
+
+FILES_kernel-image_hx4700 = ""
+ALLOW_EMPTY_hx4700 = 1
+FILES_kernel-image_htcuniversal = ""
+ALLOW_EMPTY_htcuniversal = 1
+
+
+
+K_MAJOR = "${@bb.data.getVar('PV',d,1).split('-')[0].split('.')[0]}"
+K_MINOR = "${@bb.data.getVar('PV',d,1).split('-')[0].split('.')[1]}"
+K_MICRO = "${@bb.data.getVar('PV',d,1).split('-')[0].split('.')[2]}"
+HHV = "${@bb.data.getVar('PV',d,1).split('-')[1].split('hh')[-1]}"
+
+KERNEL_PRIORITY = "${@'%d' % (int(bb.data.getVar('K_MAJOR',d,1)) * 100000000 + int(bb.data.getVar('K_MINOR',d,1)) * 1000000 + int(bb.data.getVar('K_MICRO',d,1)) * 10000 + float(bb.data.getVar('HHV',d,1)))}"
+
+do_configure() {
+
+ if [ `grep EXTRAVERSION Makefile | grep hh | awk '{print $3}' | sed s/-hh//` != ${HHV} ]; then
+ die "-hh version mismatch"
+ fi
+
+ rm -f ${S}/.config
+
+ if [ ! -e ${WORKDIR}/defconfig ]; then
+ die "No default configuration for ${MACHINE} available."
+ fi
+
+
+ if [ "${TARGET_OS}" == "linux-gnueabi" -o "${TARGET_OS}" == "linux-uclibcgnueabi" ]; then
+ echo "CONFIG_AEABI=y" >> ${S}/.config
+ echo "CONFIG_OABI_COMPAT=y" >> ${S}/.config
+ else
+ echo "# CONFIG_AEABI is not set" >> ${S}/.config
+ echo "# CONFIG_OABI_COMPAT is not set" >> ${S}/.config
+ fi
+
+ sed -e '/CONFIG_AEABI/d' \
+ -e '/CONFIG_OABI_COMPAT=/d' \
+ '${WORKDIR}/defconfig' >>'${S}/.config'
+
+ yes '' | oe_runmake oldconfig
+
+}
+
+do_deploy() {
+ install -d ${DEPLOY_DIR_IMAGE}
+ install -m 0644 arch/${ARCH}/boot/${KERNEL_IMAGETYPE} ${DEPLOY_DIR_IMAGE}/${KERNEL_IMAGETYPE}-${PV}-${MACHINE}-${DATETIME}
+}
+
+do_deploy[dirs] = "${S}"
+
+addtask deploy before do_build after do_compile