Merge branch 'org.openembedded.dev' of git://git.openembedded.net/openembedded into...
[vuplus_openembedded] / packages / linux / linux-hackndev-2.6_git.bb
1 DESCRIPTION = "Hack&Dev's Linux kernel for Palm devices."
2 HOMEPAGE = "http://www.hackndev.com/"
3 SECTION = "kernel"
4 LICENSE = "GPL"
5 FILE_PR = "r14"
6
7 COMPATIBLE_MACHINE = "(palmld|palmtc|palmtt3|palmtt5|palmtx|palmz31|palmz72|palmt650)"
8
9 SRC_URI = "git://git.hackndev.com/linux-hnd;protocol=git \
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 = "21"
22 HHV="hnd3"
23 PV = "${K_MAJOR}.${K_MINOR}.${K_MICRO}-${HHV}"
24
25 inherit kernel
26
27 do_configure() {
28
29         if [ -f ${WORKDIR}/defconfig ]; then
30                 install -m 0644 ${WORKDIR}/defconfig ${S}/.config || die "No configuration for ${MACHINE} available."
31         else
32                 install -m 0644 ${S}/arch/arm/configs/${MACHINE}_defconfig ${S}/.config \
33                         || die "No default configuration for ${MACHINE} available."
34         fi
35
36         if [ "${TARGET_OS}" == "linux-gnueabi" -o  "${TARGET_OS}" == "linux-uclibcgnueabi" ]; then
37                 echo "CONFIG_AEABI=y"                   >> ${S}/.config
38                 echo "CONFIG_OABI_COMPAT=y"             >> ${S}/.config
39         else
40                 echo "# CONFIG_AEABI is not set"        >> ${S}/.config
41                 echo "# CONFIG_OABI_COMPAT is not set"  >> ${S}/.config
42         fi
43
44         if [ -f ${WORKDIR}/initramfs_list ]; then
45                 install -m 0644 ${WORKDIR}/busybox-config ${WORKDIR}/busybox-1.1.0/.config \
46                         || die "No busybox configuration available."
47
48                 echo "CROSS_COMPILER_PREFIX=\"${TARGET_PREFIX}\"" >> ${WORKDIR}/busybox-1.1.0/.config
49                 echo "USING_CROSS_COMPILER=y" >> ${WORKDIR}/busybox-1.1.0/.config
50
51                 MY_UID=`id -u`
52                 MY_GID=`id -g`
53
54                 echo "CONFIG_INITRAMFS_SOURCE=\"../initramfs_list\"" >> ${S}/.config
55                 echo "CONFIG_INITRAMFS_ROOT_UID=${MY_UID}" >> ${S}/.config
56                 echo "CONFIG_INITRAMFS_ROOT_GID=${MY_GID}" >> ${S}/.config
57         else
58                 echo "CONFIG_INITRAMFS_SOURCE=\"\"" >> ${S}/.config
59                 echo "CONFIG_INITRAMFS_ROOT_UID=0" >> ${S}/.config
60                 echo "CONFIG_INITRAMFS_ROOT_GID=0" >> ${S}/.config
61
62         fi
63
64         yes '' | oe_runmake oldconfig
65
66 }
67
68
69 do_compile_prepend() {
70         if [ -f ${WORKDIR}/initramfs_list ]; then
71                 cd ${WORKDIR}/busybox-1.1.0
72                 oe_runmake 'CC=${CC}' 'CROSS=${HOST_PREFIX}'
73                 cd -
74         fi
75 }