sg3-utils: add newer buildable version
[openembedded.git] / recipes / linux / linux-rp.inc
1 DESCRIPTION = "2.6 Linux Development Kernel for Zaurus devices and iPAQ hx2750."
2 SECTION = "kernel"
3 LICENSE = "GPLv2"
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).*-linux"
18 COMPATIBLE_MACHINE = '(collie|poodle|c7x0|akita|spitz|tosa|hx2000|qemuarm|qemux86|bootcdx86|htcuniversal|zylonite)'
19
20 # Enable OABI compat for people stuck with obsolete userspace
21 ARM_KEEP_OABI ?= "1"
22
23 # Quirk for udev greater or equal 141
24 UDEV_GE_141 ?= "0"
25
26 KERNEL_DEFCONFIG ?= "defconfig-${MACHINE}"
27
28 CMDLINE_CON = "console=ttyS0,115200n8 console=tty1 noinitrd"
29 CMDLINE_CON_collie = "console=ttySA0,115200n8 console=tty1 noinitrd"
30 CMDLINE_CON_qemuarm = "console=ttyAMA0,115200n8 console=tty1 noinitrd"
31 CMDLINE_CON_zylonite = "console=ttyS0,38400"
32 CMDLINE_ROOT ?= "root=/dev/mtdblock2 rootfstype=jffs2"
33 CMDLINE_ROOT_collie = "root=/dev/mmcblk0p1 rootfstype=ext2 rootdelay=3 rw"
34 CMDLINE_ROOT_spitz ?= "root=/dev/hda1 rootfstype=ext3 rootdelay=1 rw"
35 #CMDLINE_ROOT_spitz = "root=/dev/mmcblk0p2 rootfstype=ext2 rootdelay=3 rw"
36 CMDLINE_OTHER = "dyntick=enable"
37 CMDLINE_DEBUG = '${@base_conditional("DISTRO_TYPE", "release", "quiet", "debug",d)}'
38
39 ##############################################################
40 # Configure memory/ramdisk split for collie
41 #
42 export mem = '${@bb.data.getVar("COLLIE_MEMORY_SIZE",d,1) or "64"}'
43 export rd  = '${@bb.data.getVar("COLLIE_RAMDISK_SIZE",d,1) or "0"}'
44
45 CMDLINE_MEM_collie = "mem=${mem}M"
46 CMDLINE_MEM_zylonite = "mem=64M"
47 CMDLINE_ROTATE_spitz = "fbcon=rotate:1"
48 CMDLINE_ROTATE_akita = "fbcon=rotate:1"
49 CMDLINE_ROTATE_collie = "fbcon=rotate:1"
50 CMDLINE_ROTATE_poodle = "fbcon=rotate:1"
51 CMDLINE = "${CMDLINE_CON} ${CMDLINE_ROOT} ${CMDLINE_MEM} ${CMDLINE_ROTATE} ${CMDLINE_OTHER} ${CMDLINE_DEBUG}"
52
53 ###############################################################
54 # module configs specific to this kernel
55 #
56 module_autoload_pxaficp_ir = "pxaficp_ir"
57 module_autoload_snd-pcm-oss = "snd-pcm-oss"
58 module_autoload_pcmcia_core = "pcmcia_core"
59 module_autoload_pxa2xx_cs = "pxa2xx_cs"
60 module_autoload_ohci-hcd_tosa = "ohci-hcd"
61 module_autoload_snd-soc-corgi_c7x0 = "snd-soc-corgi"
62 module_autoload_snd-soc-spitz_akita = "snd-soc-spitz"
63 module_autoload_snd-soc-spitz_spitz = "snd-soc-spitz"
64 module_autoload_snd-soc-poodle_poodle = "snd-soc-poodle"
65 module_autoload_locomo-spi_collie = "locomo-spi"
66 module_autoload_mmc_block_collie = "mmc_block"
67 module_autoload_mmc_spi = "mmc-spi"
68 module_autoload_locomokbd_collie = "locomokbd"
69 module_autoload_sa1100-cs_collie = "sa1100_cs"
70 module_autoload_collie-ts_collie = "collie-ts"
71 module_autoload_leds-locomo_collie = "leds-locomo"
72 module_autoload_power_collie = "power"
73
74 do_configure() {
75         rm -f ${S}/.config
76
77         if [ "${MACHINE}" = "tosa" ]; then
78                 gcc_version=`${KERNEL_CC} -dumpversion`         
79                 if [ "${gcc_version}" = "4.0.1" ] || [ "${gcc_version}" = "4.0.2" ]; then
80                         die "tosa kernel wont work with gcc 4.0.x"
81                 fi
82         fi
83
84         if [ ! -e ${WORKDIR}/${KERNEL_DEFCONFIG} ]; then
85                 die "No default configuration for ${MACHINE} available."
86         fi
87
88         if [ "${MACHINE}" = "collie" ]; then
89                 mempos=`echo "obase=16; $mem * 1024 * 1024" | bc`
90                 rdsize=`echo "$rd * 1024" | bc`
91                 total=`expr $mem + $rd`
92                 addr=`echo "obase=16; ibase=16; C0000000 + $mempos" | bc`
93                 if [ "$rd" = "0" ]
94                 then
95                     echo "No RAMDISK"
96                         echo "# CONFIG_MTD_MTDRAM_SA1100 is not set" >> ${S}/.config
97                 else
98                     echo "RAMDIR = $rdsize on $addr"
99                         echo "CONFIG_MTD_MTDRAM_SA1100=y"           >> ${S}/.config
100                         echo "CONFIG_MTDRAM_TOTAL_SIZE=$rdsize"     >> ${S}/.config
101                         echo "CONFIG_MTDRAM_ERASE_SIZE=1"           >> ${S}/.config
102                         echo "CONFIG_MTDRAM_ABS_POS=$addr"          >> ${S}/.config
103                 fi
104         fi
105
106         echo "CONFIG_CMDLINE=\"${CMDLINE}\"" >> ${S}/.config
107
108         if [ "${TARGET_OS}" = "linux-gnueabi" -o "${TARGET_OS}" = "linux-uclibceabi" ]; then
109                 echo "CONFIG_AEABI=y"                   >> ${S}/.config
110                 if [ "${ARM_KEEP_OABI}" = "1" ] ; then
111                         echo "CONFIG_OABI_COMPAT=y"             >> ${S}/.config
112                 else
113                         echo "# CONFIG_OABI_COMPAT is not set"  >> ${S}/.config
114                 fi
115         else 
116                 echo "# CONFIG_AEABI is not set"        >> ${S}/.config
117                 echo "# CONFIG_OABI_COMPAT is not set"  >> ${S}/.config
118         fi
119
120         if [ "${DISTRO}" = "poky" -a "${MACHINE}" != "collie" ]; then
121                 echo "CONFIG_LOGO=y"                          >> ${S}/.config
122                 echo "CONFIG_LOGO_OHAND_CLUT224=y"            >> ${S}/.config
123                 echo "# CONFIG_LOGO_OZ240_CLUT224 is not set" >> ${S}/.config
124                 echo "# CONFIG_LOGO_OZ480_CLUT224 is not set" >> ${S}/.config
125                 echo "# CONFIG_LOGO_OZ640_CLUT224 is not set" >> ${S}/.config
126                 echo "# CONFIG_LOGO_LINUX_CLUT224 is not set" >> ${S}/.config
127         else 
128                 echo "# CONFIG_LOGO is not set"               >> ${S}/.config
129                 echo "# CONFIG_LOGO_OHAND_CLUT224 is not set" >> ${S}/.config
130                 echo "# CONFIG_LOGO_LINUX_CLUT224 is not set" >> ${S}/.config
131                 echo "# CONFIG_LOGO_OZ240_CLUT224 is not set" >> ${S}/.config
132                 echo "# CONFIG_LOGO_OZ480_CLUT224 is not set" >> ${S}/.config
133                 echo "# CONFIG_LOGO_OZ640_CLUT224 is not set" >> ${S}/.config
134         fi
135
136         sed -e '/CONFIG_AEABI/d' \
137             -e '/CONFIG_OABI_COMPAT=/d' \
138             -e '/CONFIG_CMDLINE=/d' \
139             -e '/CONFIG_MTD_MTDRAM_SA1100=/d' \
140             -e '/CONFIG_MTDRAM_TOTAL_SIZE=/d' \
141             -e '/CONFIG_MTDRAM_ERASE_SIZE=/d' \
142             -e '/CONFIG_MTDRAM_ABS_POS=/d' \
143             -e '/CONFIG_LOGO=/d' \
144             -e '/CONFIG_LOGO_LINUX_CLUT224=/d' \
145             -e '/CONFIG_LOGO_OHAND_CLUT224=/d' \
146             -e '/CONFIG_LOGO_OZ240_CLUT224=/d' \
147             -e '/CONFIG_LOGO_OZ480_CLUT224=/d' \
148             -e '/CONFIG_LOGO_OZ640_CLUT224=/d' \
149             '${WORKDIR}/${KERNEL_DEFCONFIG}' >>'${S}/.config'
150
151         echo 'CONFIG_LOCALVERSION=""' >>${S}/.config
152         echo '# CONFIG_LOCALVERSION_AUTO is not set' >>${S}/.config
153
154         #
155         # Udev quirks
156         #
157
158         # Newer versions of udev mandate that sysfs doesn't have deprecated entries
159         if [ "${UDEV_GE_141}" = "1" ] ; then
160             sed -e /CONFIG_SYSFS_DEPRECATED/d \
161                 -e /CONFIG_SYSFS_DEPRECATED_V2/d \
162                 -i '${S}/.config'
163             echo '# CONFIG_SYSFS_DEPRECATED is not set' >> ${S}/.config
164             echo '# CONFIG_SYSFS_DEPRECATED_V2 is not set' >> ${S}/.config
165         fi
166
167         yes '' | oe_runmake oldconfig
168 }