summaryrefslogtreecommitdiffstats
path: root/meta/recipes-kernel/linux/linux-rp.inc
diff options
context:
space:
mode:
Diffstat (limited to 'meta/recipes-kernel/linux/linux-rp.inc')
-rw-r--r--meta/recipes-kernel/linux/linux-rp.inc167
1 files changed, 167 insertions, 0 deletions
diff --git a/meta/recipes-kernel/linux/linux-rp.inc b/meta/recipes-kernel/linux/linux-rp.inc
new file mode 100644
index 0000000000..8b86bdee1f
--- /dev/null
+++ b/meta/recipes-kernel/linux/linux-rp.inc
@@ -0,0 +1,167 @@
1DESCRIPTION = "2.6 Linux Development Kernel for Zaurus devices and iPAQ hx2750."
2SECTION = "kernel"
3LICENSE = "GPL"
4
5inherit kernel
6
7DEPENDS_append_collie = " bc-native"
8RPROVIDES_kernel-base += "hostap-modules"
9
10DOSRC = "http://www.do13.de/openzaurus/patches"
11RPSRC = "http://www.rpsys.net/openzaurus/patches/archive"
12JLSRC = "http://www.cs.wisc.edu/~lenz/zaurus/files"
13BASRC = "http://www.orca.cx/zaurus/patches"
14CHSRC = "http://oz.drigon.com/patches"
15TKSRC = "http://www.informatik.hu-berlin.de/~tkunze/zaurus/patches"
16
17COMPATIBLE_HOST = "(arm|i.86|mips).*-linux"
18COMPATIBLE_MACHINE = '(collie|poodle|c7x0|akita|spitz|tosa|hx2000|qemuarm|qemux86|qemumips|bootcdx86|htcuniversal|zylonite)'
19
20KERNEL_CUSTOM_NAME ?= ""
21KERNEL_DEPLOY_NAME ?= "${KERNEL_IMAGETYPE}-${PV}-${KERNEL_CUSTOM_NAME}${MACHINE}-${DATETIME}.bin"
22KERNEL_SYMLINK_NAME ?= "${KERNEL_IMAGETYPE}-${KERNEL_CUSTOM_NAME}${MACHINE}.bin"
23KERNEL_DEFCONFIG ?= "defconfig-${MACHINE}"
24
25CMDLINE_CON = "console=ttyS0,115200n8 console=tty1 noinitrd"
26CMDLINE_CON_collie = "console=ttySA0,115200n8 console=tty1 noinitrd"
27CMDLINE_CON_qemuarm = "console=ttyAMA0,115200n8 console=tty1 noinitrd"
28CMDLINE_CON_zylonite = "console=ttyS0,38400"
29CMDLINE_ROOT ?= "root=/dev/mtdblock2 rootfstype=jffs2"
30CMDLINE_ROOT_spitz ?= "root=/dev/hda1 rootfstype=ext3 rootdelay=1 rw"
31#CMDLINE_ROOT_spitz = "root=/dev/mmcblk0p2 rootfstype=ext2 rootdelay=3 rw"
32CMDLINE_OTHER = "dyntick=enable"
33CMDLINE_DEBUG = '${@base_contains("IMAGE_FEATURES", "debug-tweaks", "debug", "quiet", d)}'
34
35##############################################################
36# Configure memory/ramdisk split for collie
37#
38export mem = '${@bb.data.getVar("COLLIE_MEMORY_SIZE",d,1) or "64"}'
39export rd = '${@bb.data.getVar("COLLIE_RAMDISK_SIZE",d,1) or "0"}'
40
41CMDLINE_MEM_collie = "mem=${mem}M"
42CMDLINE_MEM_zylonite = "mem=64M"
43CMDLINE_ROTATE_spitz = "fbcon=rotate:1"
44CMDLINE_ROTATE_akita = "fbcon=rotate:1"
45CMDLINE_ROTATE_collie = "fbcon=rotate:1"
46CMDLINE_ROTATE_poodle = "fbcon=rotate:1"
47CMDLINE = "${CMDLINE_CON} ${CMDLINE_ROOT} ${CMDLINE_MEM} ${CMDLINE_ROTATE} ${CMDLINE_OTHER} ${CMDLINE_DEBUG}"
48
49###############################################################
50# module configs specific to this kernel
51#
52module_autoload_pxaficp_ir = "pxaficp_ir"
53module_autoload_snd-pcm-oss = "snd-pcm-oss"
54module_autoload_pcmcia_core = "pcmcia_core"
55module_autoload_pxa2xx_cs = "pxa2xx_cs"
56module_autoload_ohci-hcd_tosa = "ohci-hcd"
57module_autoload_snd-soc-corgi_c7x0 = "snd-soc-corgi"
58module_autoload_snd-soc-spitz_akita = "snd-soc-spitz"
59module_autoload_snd-soc-spitz_spitz = "snd-soc-spitz"
60module_autoload_snd-soc-poodle_poodle = "snd-soc-poodle"
61module_autoload_locomo-spi_collie = "locomo-spi"
62module_autoload_mmc_block_collie = "mmc_block"
63module_autoload_mmc_spi = "mmc-spi"
64module_autoload_locomokbd_collie = "locomokbd"
65module_autoload_sa1100-cs_collie = "sa1100_cs"
66module_autoload_collie-ts_collie = "collie-ts"
67module_autoload_leds-locomo_collie = "leds-locomo"
68module_autoload_power_collie = "power"
69
70do_configure() {
71 rm -f ${S}/.config
72
73 if [ "${MACHINE}" = "tosa" ]; then
74 gcc_version=`${KERNEL_CC} -dumpversion`
75 if [ "${gcc_version}" = "4.0.1" ] || [ "${gcc_version}" = "4.0.2" ]; then
76 die "tosa kernel wont work with gcc 4.0.x"
77 fi
78 fi
79
80 if [ ! -e ${WORKDIR}/${KERNEL_DEFCONFIG} ]; then
81 die "No default configuration for ${MACHINE} available."
82 fi
83
84 if [ "${MACHINE}" = "collie" ]; then
85 mempos=`echo "obase=16; $mem * 1024 * 1024" | bc`
86 rdsize=`echo "$rd * 1024" | bc`
87 total=`expr $mem + $rd`
88 addr=`echo "obase=16; ibase=16; C0000000 + $mempos" | bc`
89 if [ "$rd" = "0" ]
90 then
91 echo "No RAMDISK"
92 echo "# CONFIG_MTD_MTDRAM_SA1100 is not set" >> ${S}/.config
93 else
94 echo "RAMDIR = $rdsize on $addr"
95 echo "CONFIG_MTD_MTDRAM_SA1100=y" >> ${S}/.config
96 echo "CONFIG_MTDRAM_TOTAL_SIZE=$rdsize" >> ${S}/.config
97 echo "CONFIG_MTDRAM_ERASE_SIZE=1" >> ${S}/.config
98 echo "CONFIG_MTDRAM_ABS_POS=$addr" >> ${S}/.config
99 fi
100 fi
101
102 echo "CONFIG_CMDLINE=\"${CMDLINE}\"" >> ${S}/.config
103
104 if [ "${TARGET_OS}" = "linux-gnueabi" -o "${TARGET_OS}" = "linux-uclibcgnueabi" ]; then
105 echo "CONFIG_AEABI=y" >> ${S}/.config
106 if [ "${MACHINE}" = "qemuarm" -o "${MACHINE}" = "qemuarmv6" -o "${MACHINE}" = "qemuarmv7" -o ]; then
107 echo "CONFIG_OABI_COMPAT=y" >> ${S}/.config
108 else
109 echo "# CONFIG_OABI_COMPAT is not set" >> ${S}/.config
110 fi
111 else
112 echo "# CONFIG_AEABI is not set" >> ${S}/.config
113 echo "# CONFIG_OABI_COMPAT is not set" >> ${S}/.config
114 fi
115
116 if [ "${DISTRO}" = "poky" -a "${MACHINE}" != "collie" ]; then
117 echo "CONFIG_LOGO=y" >> ${S}/.config
118 echo "CONFIG_LOGO_OHAND_CLUT224=y" >> ${S}/.config
119 echo "# CONFIG_LOGO_OZ240_CLUT224 is not set" >> ${S}/.config
120 echo "# CONFIG_LOGO_OZ480_CLUT224 is not set" >> ${S}/.config
121 echo "# CONFIG_LOGO_OZ640_CLUT224 is not set" >> ${S}/.config
122 echo "# CONFIG_LOGO_LINUX_CLUT224 is not set" >> ${S}/.config
123 else
124 echo "# CONFIG_LOGO is not set" >> ${S}/.config
125 echo "# CONFIG_LOGO_OHAND_CLUT224 is not set" >> ${S}/.config
126 echo "# CONFIG_LOGO_LINUX_CLUT224 is not set" >> ${S}/.config
127 echo "# CONFIG_LOGO_OZ240_CLUT224 is not set" >> ${S}/.config
128 echo "# CONFIG_LOGO_OZ480_CLUT224 is not set" >> ${S}/.config
129 echo "# CONFIG_LOGO_OZ640_CLUT224 is not set" >> ${S}/.config
130 fi
131
132 sed -e '/CONFIG_AEABI/d' \
133 -e '/CONFIG_OABI_COMPAT=/d' \
134 -e '/CONFIG_CMDLINE=/d' \
135 -e '/CONFIG_MTD_MTDRAM_SA1100=/d' \
136 -e '/CONFIG_MTDRAM_TOTAL_SIZE=/d' \
137 -e '/CONFIG_MTDRAM_ERASE_SIZE=/d' \
138 -e '/CONFIG_MTDRAM_ABS_POS=/d' \
139 -e '/CONFIG_LOGO=/d' \
140 -e '/CONFIG_LOGO_LINUX_CLUT224=/d' \
141 -e '/CONFIG_LOGO_OHAND_CLUT224=/d' \
142 -e '/CONFIG_LOGO_OZ240_CLUT224=/d' \
143 -e '/CONFIG_LOGO_OZ480_CLUT224=/d' \
144 -e '/CONFIG_LOGO_OZ640_CLUT224=/d' \
145 '${WORKDIR}/${KERNEL_DEFCONFIG}' >>'${S}/.config'
146
147 yes '' | oe_runmake oldconfig
148}
149
150do_bootkern() {
151 echo "Copying Kernel"
152 scp ${DEPLOY_DIR_IMAGE}/${KERNEL_SYMLINK_NAME} root@${TARGET_DEVICE_IP}:/zImage-bootkern
153 echo "Copying Modules"
154 scp ${DEPLOY_DIR_IMAGE}/modules-${KERNEL_VERSION}-${MACHINE}.tgz root@${TARGET_DEVICE_IP}:/
155 echo "Unpacking Modules"
156 ssh root@${TARGET_DEVICE_IP} "cd /; tar -xvzf modules-${KERNEL_VERSION}-${MACHINE}.tgz; rm modules-${KERNEL_VERSION}-${MACHINE}.tgz"
157 echo "Loading Kernel into kexec"
158 ssh root@${TARGET_DEVICE_IP} "/usr/sbin/kexec -l /zImage-bootkern"
159 echo "Launching kernel"
160 ssh root@${TARGET_DEVICE_IP} "/usr/sbin/kexec -f -e"
161}
162addtask bootkern after do_deploy
163do_bootkern[nostamp] = "1"
164
165# wlan-ng stuff need compiled kernel sources
166do_rm_work() {
167}