summaryrefslogtreecommitdiffstats
path: root/meta-extras/packages/linux/linux-android-goldfish_2.6.23-rc20.bb
diff options
context:
space:
mode:
Diffstat (limited to 'meta-extras/packages/linux/linux-android-goldfish_2.6.23-rc20.bb')
-rw-r--r--meta-extras/packages/linux/linux-android-goldfish_2.6.23-rc20.bb171
1 files changed, 171 insertions, 0 deletions
diff --git a/meta-extras/packages/linux/linux-android-goldfish_2.6.23-rc20.bb b/meta-extras/packages/linux/linux-android-goldfish_2.6.23-rc20.bb
new file mode 100644
index 0000000000..a4512eeaca
--- /dev/null
+++ b/meta-extras/packages/linux/linux-android-goldfish_2.6.23-rc20.bb
@@ -0,0 +1,171 @@
1DESCRIPTION = "2.6 Linux Android Kernel from Google"
2SECTION = "kernel"
3LICENSE = "GPL"
4
5inherit kernel
6
7PR = "r0"
8
9SRC_URI = "http://android.googlecode.com/files/linux-2.6.23-android-m3-rc20.tar.gz \
10 file://binutils-buildid-arm.patch;patch=1 \
11 file://defconfig-android-goldfish"
12
13S = "${WORKDIR}/kernel"
14
15RPROVIDES_kernel-base += "hostap-modules"
16
17DOSRC = "http://www.do13.de/openzaurus/patches"
18RPSRC = "http://www.rpsys.net/openzaurus/patches/archive"
19JLSRC = "http://www.cs.wisc.edu/~lenz/zaurus/files"
20BASRC = "http://www.orca.cx/zaurus/patches"
21CHSRC = "http://oz.drigon.com/patches"
22TKSRC = "http://www.informatik.hu-berlin.de/~tkunze/zaurus/patches"
23
24COMPATIBLE_HOST = "arm.*-linux"
25COMPATIBLE_MACHINE = 'android'
26
27KERNEL_CUSTOM_NAME ?= ""
28KERNEL_DEPLOY_NAME ?= "${KERNEL_IMAGETYPE}-${PV}-${KERNEL_CUSTOM_NAME}${MACHINE}-${DATETIME}.bin"
29KERNEL_SYMLINK_NAME ?= "${KERNEL_IMAGETYPE}-${KERNEL_CUSTOM_NAME}${MACHINE}.bin"
30KERNEL_DEFCONFIG ?= "defconfig-${MACHINE}"
31
32CMDLINE_CON = "console=ttyS0,115200n8 console=tty1 noinitrd"
33CMDLINE_CON_collie = "console=ttySA0,115200n8 console=tty1 noinitrd"
34CMDLINE_CON_qemuarm = "console=ttyAMA0,115200n8 console=tty1 noinitrd"
35CMDLINE_CON_zylonite = "console=ttyS0,38400"
36CMDLINE_ROOT ?= "root=/dev/mtdblock2 rootfstype=jffs2"
37CMDLINE_ROOT_spitz ?= "root=/dev/hda1 rootfstype=ext3 rootdelay=1 rw"
38#CMDLINE_ROOT_spitz = "root=/dev/mmcblk0p2 rootfstype=ext2 rootdelay=3 rw"
39CMDLINE_OTHER = "dyntick=enable"
40CMDLINE_DEBUG = '${@base_contains("IMAGE_FEATURES", "debug-tweaks", "debug", "quiet", d)}'
41
42##############################################################
43# Configure memory/ramdisk split for collie
44#
45export mem = '${@bb.data.getVar("COLLIE_MEMORY_SIZE",d,1) or "32"}'
46export rd = '${@bb.data.getVar("COLLIE_RAMDISK_SIZE",d,1) or "32"}'
47
48CMDLINE_MEM_collie = "mem=${mem}M"
49CMDLINE_MEM_zylonite = "mem=64M"
50CMDLINE_ROTATE_spitz = "fbcon=rotate:1"
51CMDLINE_ROTATE_akita = "fbcon=rotate:1"
52CMDLINE_ROTATE_collie = "fbcon=rotate:1"
53CMDLINE_ROTATE_poodle = "fbcon=rotate:1"
54CMDLINE = "${CMDLINE_CON} ${CMDLINE_ROOT} ${CMDLINE_MEM} ${CMDLINE_ROTATE} ${CMDLINE_OTHER} ${CMDLINE_DEBUG}"
55
56
57do_configure() {
58 rm -f ${S}/.config
59
60 if [ "${MACHINE}" = "tosa" ]; then
61 gcc_version=`${KERNEL_CC} -dumpversion`
62 if [ "${gcc_version}" = "4.0.1" ] || [ "${gcc_version}" = "4.0.2" ]; then
63 die "tosa kernel wont work with gcc 4.0.x"
64 fi
65 fi
66
67 if [ ! -e ${WORKDIR}/${KERNEL_DEFCONFIG} ]; then
68 die "No default configuration for ${MACHINE} available."
69 fi
70
71 if [ "${MACHINE}" = "collie" ]; then
72 mempos=`echo "obase=16; $mem * 1024 * 1024" | bc`
73 rdsize=`echo "$rd * 1024" | bc`
74 total=`expr $mem + $rd`
75 addr=`echo "obase=16; ibase=16; C0000000 + $mempos" | bc`
76 if [ "$rd" = "0" ]
77 then
78 echo "No RAMDISK"
79 echo "# CONFIG_MTD_MTDRAM_SA1100 is not set" >> ${S}/.config
80 else
81 echo "RAMDIR = $rdsize on $addr"
82 echo "CONFIG_MTD_MTDRAM_SA1100=y" >> ${S}/.config
83 echo "CONFIG_MTDRAM_TOTAL_SIZE=$rdsize" >> ${S}/.config
84 echo "CONFIG_MTDRAM_ERASE_SIZE=1" >> ${S}/.config
85 echo "CONFIG_MTDRAM_ABS_POS=$addr" >> ${S}/.config
86 fi
87 fi
88
89 echo "CONFIG_CMDLINE=\"${CMDLINE}\"" >> ${S}/.config
90
91 if [ "${TARGET_OS}" = "linux-gnueabi" -o "${TARGET_OS}" = "linux-uclibcgnueabi" ]; then
92 echo "CONFIG_AEABI=y" >> ${S}/.config
93 echo "CONFIG_OABI_COMPAT=y" >> ${S}/.config
94 else
95 echo "# CONFIG_AEABI is not set" >> ${S}/.config
96 echo "# CONFIG_OABI_COMPAT is not set" >> ${S}/.config
97 fi
98
99 if [ "${DISTRO}" = "poky" -a "${MACHINE}" != "collie" ]; then
100 echo "CONFIG_LOGO=y" >> ${S}/.config
101 echo "CONFIG_LOGO_OHAND_CLUT224=y" >> ${S}/.config
102 echo "# CONFIG_LOGO_OZ240_CLUT224 is not set" >> ${S}/.config
103 echo "# CONFIG_LOGO_OZ480_CLUT224 is not set" >> ${S}/.config
104 echo "# CONFIG_LOGO_OZ640_CLUT224 is not set" >> ${S}/.config
105 echo "# CONFIG_LOGO_LINUX_CLUT224 is not set" >> ${S}/.config
106 else
107 echo "# CONFIG_LOGO is not set" >> ${S}/.config
108 echo "# CONFIG_LOGO_OHAND_CLUT224 is not set" >> ${S}/.config
109 echo "# CONFIG_LOGO_LINUX_CLUT224 is not set" >> ${S}/.config
110 echo "# CONFIG_LOGO_OZ240_CLUT224 is not set" >> ${S}/.config
111 echo "# CONFIG_LOGO_OZ480_CLUT224 is not set" >> ${S}/.config
112 echo "# CONFIG_LOGO_OZ640_CLUT224 is not set" >> ${S}/.config
113 fi
114
115 sed -e '/CONFIG_AEABI/d' \
116 -e '/CONFIG_OABI_COMPAT=/d' \
117 -e '/CONFIG_CMDLINE=/d' \
118 -e '/CONFIG_MTD_MTDRAM_SA1100=/d' \
119 -e '/CONFIG_MTDRAM_TOTAL_SIZE=/d' \
120 -e '/CONFIG_MTDRAM_ERASE_SIZE=/d' \
121 -e '/CONFIG_MTDRAM_ABS_POS=/d' \
122 -e '/CONFIG_LOGO=/d' \
123 -e '/CONFIG_LOGO_LINUX_CLUT224=/d' \
124 -e '/CONFIG_LOGO_OHAND_CLUT224=/d' \
125 -e '/CONFIG_LOGO_OZ240_CLUT224=/d' \
126 -e '/CONFIG_LOGO_OZ480_CLUT224=/d' \
127 -e '/CONFIG_LOGO_OZ640_CLUT224=/d' \
128 '${WORKDIR}/${KERNEL_DEFCONFIG}' >>'${S}/.config'
129
130 yes '' | oe_runmake oldconfig
131}
132
133# Check the kernel is below the 1264*1024 byte limit for the PXA Zaurii
134do_compile_append() {
135 case ${MACHINE} in
136 c7x0 | akita | poodle | spitz | tosa )
137 size=`ls -l arch/${ARCH}/boot/${KERNEL_IMAGETYPE} | awk '{ print $5}'`
138 if [ $size -ge 1294336 ]; then
139 rm arch/${ARCH}/boot/${KERNEL_IMAGETYPE}
140 echo "Size is $size"
141 die "This kernel is too big for your PXA Zaurus and will destroy data if you flash it. Please reduce the size of the kernel by making more of it modular."
142 fi
143 ;;
144 collie )
145 size=`ls -l arch/${ARCH}/boot/${KERNEL_IMAGETYPE} | awk '{ print $5}'`
146 if [ $size -ge 1048576 ]; then
147 rm arch/${ARCH}/boot/${KERNEL_IMAGETYPE}
148 echo "Size is $size"
149 die "This kernel is too big for your Collie and will not be flashed. Please reduce the size of the kernel by making more of it modular."
150 fi
151 ;;
152 *)
153 ;;
154 esac
155}
156
157do_deploy() {
158 install -d ${DEPLOY_DIR_IMAGE}
159 install -m 0644 arch/${ARCH}/boot/${KERNEL_IMAGETYPE} ${DEPLOY_DIR_IMAGE}/${KERNEL_DEPLOY_NAME}
160 cd ${DEPLOY_DIR_IMAGE}
161 ln -sf ${KERNEL_DEPLOY_NAME} ${KERNEL_SYMLINK_NAME}
162 #tar -cvzf ${DEPLOY_DIR_IMAGE}/modules-${KERNEL_VERSION}-${MACHINE}.tgz -C ${D} lib
163}
164
165do_deploy[dirs] = "${S}"
166
167addtask deploy before do_package after do_install
168
169# wlan-ng stuff need compiled kernel sources
170do_rm_work() {
171}