diff options
Diffstat (limited to 'meta/recipes-kernel/linux/linux-rp.inc')
-rw-r--r-- | meta/recipes-kernel/linux/linux-rp.inc | 167 |
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 @@ | |||
1 | DESCRIPTION = "2.6 Linux Development Kernel for Zaurus devices and iPAQ hx2750." | ||
2 | SECTION = "kernel" | ||
3 | LICENSE = "GPL" | ||
4 | |||
5 | inherit kernel | ||
6 | |||
7 | DEPENDS_append_collie = " bc-native" | ||
8 | RPROVIDES_kernel-base += "hostap-modules" | ||
9 | |||
10 | DOSRC = "http://www.do13.de/openzaurus/patches" | ||
11 | RPSRC = "http://www.rpsys.net/openzaurus/patches/archive" | ||
12 | JLSRC = "http://www.cs.wisc.edu/~lenz/zaurus/files" | ||
13 | BASRC = "http://www.orca.cx/zaurus/patches" | ||
14 | CHSRC = "http://oz.drigon.com/patches" | ||
15 | TKSRC = "http://www.informatik.hu-berlin.de/~tkunze/zaurus/patches" | ||
16 | |||
17 | COMPATIBLE_HOST = "(arm|i.86|mips).*-linux" | ||
18 | COMPATIBLE_MACHINE = '(collie|poodle|c7x0|akita|spitz|tosa|hx2000|qemuarm|qemux86|qemumips|bootcdx86|htcuniversal|zylonite)' | ||
19 | |||
20 | KERNEL_CUSTOM_NAME ?= "" | ||
21 | KERNEL_DEPLOY_NAME ?= "${KERNEL_IMAGETYPE}-${PV}-${KERNEL_CUSTOM_NAME}${MACHINE}-${DATETIME}.bin" | ||
22 | KERNEL_SYMLINK_NAME ?= "${KERNEL_IMAGETYPE}-${KERNEL_CUSTOM_NAME}${MACHINE}.bin" | ||
23 | KERNEL_DEFCONFIG ?= "defconfig-${MACHINE}" | ||
24 | |||
25 | CMDLINE_CON = "console=ttyS0,115200n8 console=tty1 noinitrd" | ||
26 | CMDLINE_CON_collie = "console=ttySA0,115200n8 console=tty1 noinitrd" | ||
27 | CMDLINE_CON_qemuarm = "console=ttyAMA0,115200n8 console=tty1 noinitrd" | ||
28 | CMDLINE_CON_zylonite = "console=ttyS0,38400" | ||
29 | CMDLINE_ROOT ?= "root=/dev/mtdblock2 rootfstype=jffs2" | ||
30 | CMDLINE_ROOT_spitz ?= "root=/dev/hda1 rootfstype=ext3 rootdelay=1 rw" | ||
31 | #CMDLINE_ROOT_spitz = "root=/dev/mmcblk0p2 rootfstype=ext2 rootdelay=3 rw" | ||
32 | CMDLINE_OTHER = "dyntick=enable" | ||
33 | CMDLINE_DEBUG = '${@base_contains("IMAGE_FEATURES", "debug-tweaks", "debug", "quiet", d)}' | ||
34 | |||
35 | ############################################################## | ||
36 | # Configure memory/ramdisk split for collie | ||
37 | # | ||
38 | export mem = '${@bb.data.getVar("COLLIE_MEMORY_SIZE",d,1) or "64"}' | ||
39 | export rd = '${@bb.data.getVar("COLLIE_RAMDISK_SIZE",d,1) or "0"}' | ||
40 | |||
41 | CMDLINE_MEM_collie = "mem=${mem}M" | ||
42 | CMDLINE_MEM_zylonite = "mem=64M" | ||
43 | CMDLINE_ROTATE_spitz = "fbcon=rotate:1" | ||
44 | CMDLINE_ROTATE_akita = "fbcon=rotate:1" | ||
45 | CMDLINE_ROTATE_collie = "fbcon=rotate:1" | ||
46 | CMDLINE_ROTATE_poodle = "fbcon=rotate:1" | ||
47 | CMDLINE = "${CMDLINE_CON} ${CMDLINE_ROOT} ${CMDLINE_MEM} ${CMDLINE_ROTATE} ${CMDLINE_OTHER} ${CMDLINE_DEBUG}" | ||
48 | |||
49 | ############################################################### | ||
50 | # module configs specific to this kernel | ||
51 | # | ||
52 | module_autoload_pxaficp_ir = "pxaficp_ir" | ||
53 | module_autoload_snd-pcm-oss = "snd-pcm-oss" | ||
54 | module_autoload_pcmcia_core = "pcmcia_core" | ||
55 | module_autoload_pxa2xx_cs = "pxa2xx_cs" | ||
56 | module_autoload_ohci-hcd_tosa = "ohci-hcd" | ||
57 | module_autoload_snd-soc-corgi_c7x0 = "snd-soc-corgi" | ||
58 | module_autoload_snd-soc-spitz_akita = "snd-soc-spitz" | ||
59 | module_autoload_snd-soc-spitz_spitz = "snd-soc-spitz" | ||
60 | module_autoload_snd-soc-poodle_poodle = "snd-soc-poodle" | ||
61 | module_autoload_locomo-spi_collie = "locomo-spi" | ||
62 | module_autoload_mmc_block_collie = "mmc_block" | ||
63 | module_autoload_mmc_spi = "mmc-spi" | ||
64 | module_autoload_locomokbd_collie = "locomokbd" | ||
65 | module_autoload_sa1100-cs_collie = "sa1100_cs" | ||
66 | module_autoload_collie-ts_collie = "collie-ts" | ||
67 | module_autoload_leds-locomo_collie = "leds-locomo" | ||
68 | module_autoload_power_collie = "power" | ||
69 | |||
70 | do_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 | |||
150 | do_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 | } | ||
162 | addtask bootkern after do_deploy | ||
163 | do_bootkern[nostamp] = "1" | ||
164 | |||
165 | # wlan-ng stuff need compiled kernel sources | ||
166 | do_rm_work() { | ||
167 | } | ||