427923af2c33d04b5f3c0e32a5ba3d2f9ba4107c
[vuplus_openembedded] / packages / linux / linux-hackndev-2.6_svn.bb
1 DESCRIPTION = "Hack&Dev's Linux kernel for Palm devices."
2 HOMEPAGE = "http://www.hackndev.com/"
3 SECTION = "kernel"
4 LICENSE = "GPL"
5 PR = "r2"
6
7 COMPATIBLE_MACHINE = "(palmtx|palmld|palmz72)"
8
9 SRC_URI = "svn://svn.sourceforge.net/svnroot/hackndev/linux4palm/linux;module=trunk;proto=https \
10            file://defconfig"
11
12 SRC_URI_append_palmtx += "http://www.busybox.net/downloads/busybox-1.1.0.tar.bz2 \
13                           file://init \
14                           file://initramfs_list \
15                           file://busybox-config"
16
17 S = "${WORKDIR}/trunk"
18
19 K_MAJOR = "2"
20 K_MINOR = "6"
21 K_MICRO = "17"
22 HHV="hnd0"
23 PV = "${K_MAJOR}.${K_MINOR}.${K_MICRO}-${HHV}"
24
25 inherit kernel
26
27 PACKAGE_ARCH_palmtx     = "palmtx"
28 PACKAGE_ARCH_palmld     = "palmld"
29 PACKAGE_ARCH_palmz72    = "palmz72"
30
31 do_configure() {
32
33         if [ -f ${WORKDIR}/defconfig ]; then
34                 install -m 0644 ${WORKDIR}/defconfig ${S}/.config || die "No configuration for ${MACHINE} available."
35         else
36                 install -m 0644 ${S}/arch/arm/configs/${MACHINE}_defconfig ${S}/.config \
37                         || die "No default configuration for ${MACHINE} available."
38         fi
39
40         if [ "${TARGET_OS}" == "linux-gnueabi" -o  "${TARGET_OS}" == "linux-uclibcgnueabi" ]; then
41                 echo "CONFIG_AEABI=y"                   >> ${S}/.config
42                 echo "CONFIG_OABI_COMPAT=y"             >> ${S}/.config
43         else
44                 echo "# CONFIG_AEABI is not set"        >> ${S}/.config
45                 echo "# CONFIG_OABI_COMPAT is not set"  >> ${S}/.config
46         fi
47
48         if [ -f ${WORKDIR}/initramfs_list ]; then
49                 install -m 0644 ${WORKDIR}/busybox-config ${WORKDIR}/busybox-1.1.0/.config \
50                         || die "No busybox configuration available."
51
52                 echo "CROSS_COMPILER_PREFIX=\"${TARGET_PREFIX}\"" >> ${WORKDIR}/busybox-1.1.0/.config
53                 echo "USING_CROSS_COMPILER=y" >> ${WORKDIR}/busybox-1.1.0/.config
54
55                 MY_UID=`id -u`
56                 MY_GID=`id -g`
57
58                 echo "CONFIG_INITRAMFS_SOURCE=\"../initramfs_list\"" >> ${S}/.config
59                 echo "CONFIG_INITRAMFS_ROOT_UID=${MY_UID}" >> ${S}/.config
60                 echo "CONFIG_INITRAMFS_ROOT_GID=${MY_GID}" >> ${S}/.config
61         else
62                 echo "CONFIG_INITRAMFS_SOURCE=\"\"" >> ${S}/.config
63                 echo "CONFIG_INITRAMFS_ROOT_UID=0" >> ${S}/.config
64                 echo "CONFIG_INITRAMFS_ROOT_GID=0" >> ${S}/.config
65
66         fi
67
68         yes '' | oe_runmake oldconfig
69
70 }
71
72
73 do_compile_prepend() {
74         if [ -f ${WORKDIR}/initramfs_list ]; then
75                 cd ${WORKDIR}/busybox-1.1.0
76                 oe_runmake 'CC=${CC}' 'CROSS=${HOST_PREFIX}'
77                 cd -
78         fi
79 }
80
81 do_deploy() {
82         install -d ${DEPLOY_DIR_IMAGE}
83         install -m 0644 arch/${ARCH}/boot/${KERNEL_IMAGETYPE} ${DEPLOY_DIR_IMAGE}/${KERNEL_IMAGETYPE}-${PV}-${MACHINE}-${DATETIME}
84 }   
85
86 do_deploy[dirs] = "${S}"
87
88 addtask deploy before do_build after do_compile