2005-09-20 06:18:37 +00:00
DESCRIPTION = " 2.6 Linux Development Kernel for Zaurus devices and iPAQ hx2750. "
SECTION = " kernel "
MAINTAINER = " Richard Purdie <rpurdie@rpsys.net>, Michael 'Mickey' Lauer <mickey@vanille.de> "
LICENSE = " GPL "
2006-04-12 16:19:14 +00:00
inherit kernel
2006-04-13 13:51:06 +00:00
RPROVIDES_kernel - image = " hostap-modules "
2005-09-20 06:18:37 +00:00
2005-12-13 09:10:55 +00:00
DOSRC = " http://www.do13.de/openzaurus/patches "
2006-02-09 16:05:53 +00:00
RPSRC = " http://www.rpsys.net/openzaurus/patches/archive "
2005-09-20 06:18:37 +00:00
JLSRC = " http://www.cs.wisc.edu/~lenz/zaurus/files "
BASRC = " http://www.orca.cx/zaurus/patches "
2006-03-24 07:38:46 +00:00
CHSRC = " http://oz.drigon.com/patches "
2005-09-20 06:18:37 +00:00
##############################################################
# Compensate for sucky bootloader on all Sharp Zaurus models
#
FILES_kernel - image = " "
ALLOW_EMPTY = 1
EXTRA_OEMAKE = " OPENZAURUS_RELEASE=- ${ DISTRO_VERSION } "
COMPATIBLE_HOST = " arm.*-linux "
CMDLINE_CON = " console=ttyS0,115200n8 console=tty1 noinitrd "
2005-12-13 09:10:55 +00:00
CMDLINE_ROOT = " root=/dev/mtdblock2 rootfstype=jffs2 "
CMDLINE_ROOT_spitz = " root=/dev/hda1 rootfstype=ext3 rw "
2006-02-03 09:19:56 +00:00
CMDLINE_OTHER = " dyntick=enable "
CMDLINE_DEBUG = '${@base_conditional("DISTRO_TYPE", "release", "quiet", "debug",d)}'
2005-09-20 06:18:37 +00:00
##############################################################
# Configure memory/ramdisk split for collie
#
export mem = $ { @ bb . data . getVar ( " COLLIE_MEMORY_SIZE " , d , 1 ) or " 32 " }
export rd = $ { @ bb . data . getVar ( " COLLIE_RAMDISK_SIZE " , d , 1 ) or " 32 " }
CMDLINE_MEM_collie = " mem= ${ mem } M "
2005-11-01 13:35:52 +00:00
CMDLINE_ROTATE_spitz = " fbcon=rotate:1 "
CMDLINE_ROTATE_akita = " fbcon=rotate:1 "
2006-04-12 16:19:14 +00:00
CMDLINE_ROTATE_collie = " fbcon=rotate:1 "
CMDLINE_ROTATE_poodle = " fbcon=rotate:1 "
2006-02-03 09:19:56 +00:00
CMDLINE = " ${ CMDLINE_CON } ${ CMDLINE_ROOT } ${ CMDLINE_MEM } ${ CMDLINE_ROTATE } ${ CMDLINE_OTHER } ${ CMDLINE_DEBUG } "
2005-09-20 06:18:37 +00:00
###############################################################
# Enable or disable ELPP via local.conf - default is "no"
#
ENABLE_ELPP = $ { @ bb . data . getVar ( " OZ_KERNEL_ENABLE_ELPP " , d , 1 ) or " no " }
###############################################################
# module configs specific to this kernel
#
module_autoload_pxaficp_ir = " pxaficp_ir "
2005-12-13 09:10:55 +00:00
module_autoload_snd - pcm - oss = " snd-pcm-oss "
module_autoload_snd - soc - corgi_c7x0 = " snd-soc-corgi "
module_autoload_snd - soc - spitz_akita = " snd-soc-spitz "
module_autoload_snd - soc - spitz_spitz = " snd-soc-spitz "
2005-09-20 06:18:37 +00:00
do_configure () {
2006-04-12 16:19:14 +00:00
rm - f $ { S } /. config
2005-09-20 06:18:37 +00:00
2006-04-12 16:19:14 +00:00
if [ ! - e $ { WORKDIR } / defconfig - $ { MACHINE } ]; then
die " No default configuration for ${ MACHINE } available. "
fi
2005-09-20 06:18:37 +00:00
if [ " ${ MACHINE } " == " collie " ]; then
mempos = `echo "obase=16; $mem * 1024 * 1024" | bc`
rdsize = `echo "$rd * 1024" | bc`
total = `expr $mem + $rd`
addr = `echo "obase=16; ibase=16; C0000000 + $mempos" | bc`
if [ " $rd " == " 0 " ]
then
echo " No RAMDISK "
echo " # CONFIG_MTD_MTDRAM_SA1100 is not set " >> $ { S } /. config
else
echo " RAMDIR = $rdsize on $addr "
echo " CONFIG_MTD_MTDRAM_SA1100=y " >> $ { S } /. config
echo " CONFIG_MTDRAM_TOTAL_SIZE= $rdsize " >> $ { S } /. config
echo " CONFIG_MTDRAM_ERASE_SIZE=1 " >> $ { S } /. config
echo " CONFIG_MTDRAM_ABS_POS= $addr " >> $ { S } /. config
fi
fi
echo " CONFIG_CMDLINE= \" ${ CMDLINE } \" " >> $ { S } /. config
2006-04-12 16:19:14 +00:00
#if [ "${ENABLE_ELPP}" == "yes" ]; then
# echo "# Enhanced Linux Progress Patch" >> ${S}/.config
# echo "CONFIG_FB_ELPP=y" >> ${S}/.config
# echo "CONFIG_LOGO=y" >> ${S}/.config
# echo "CONFIG_LOGO_LINUX_CLUT224=y" >> ${S}/.config
#else
# echo "# CONFIG_FB_ELPP is not set" >> ${S}/.config
#fi
if [ " ${ TARGET_OS } " == " linux-gnueabi " ]; then
echo " CONFIG_AEABI=y " >> $ { S } /. config
echo " CONFIG_OABI_COMPAT=y " >> $ { S } /. config
else
echo " # CONFIG_AEABI is not set " >> $ { S } /. config
echo " # CONFIG_OABI_COMPAT is not set " >> $ { S } /. config
2005-09-20 06:18:37 +00:00
fi
2006-04-12 16:19:14 +00:00
sed - e '/CONFIG_AEABI/d' \
- e '/CONFIG_OABI_COMPAT=/d' \
- e '/CONFIG_CMDLINE=/d' \
- e '/CONFIG_MTD_MTDRAM_SA1100=/d' \
- e '/CONFIG_MTDRAM_TOTAL_SIZE=/d' \
- e '/CONFIG_MTDRAM_ERASE_SIZE=/d' \
- e '/CONFIG_MTDRAM_ABS_POS=/d' \
'${WORKDIR}/defconfig-${MACHINE}' >> '${S}/.config'
2005-09-20 06:18:37 +00:00
yes '' | oe_runmake oldconfig
}
2006-04-12 16:19:14 +00:00
# Check the kernel is below the 1264*1024 byte limit for the PXA Zaurii
2005-09-20 06:18:37 +00:00
do_compile_append () {
case $ { MACHINE } in
2006-04-12 16:19:14 +00:00
c7x0 | akita | poodle | spitz | tosa )
2005-12-13 09:10:55 +00:00
size = `ls -l arch/${ARCH}/boot/${KERNEL_IMAGETYPE} | awk '{ print $5}'`
2006-04-12 16:19:14 +00:00
if [ $size - ge 1294336 ]; then
2005-09-20 06:18:37 +00:00
rm arch / $ { ARCH } / boot / $ { KERNEL_IMAGETYPE }
2005-12-13 09:10:55 +00:00
echo " Size is $size "
2005-10-10 10:41:35 +00:00
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. "
2005-09-20 06:18:37 +00:00
fi
;;
* )
;;
esac
}
do_deploy () {
2006-03-22 09:16:25 +00:00
install - d $ { DEPLOY_DIR_IMAGE }
install - m 0644 arch / $ { ARCH } / boot / $ { KERNEL_IMAGETYPE } $ { DEPLOY_DIR_IMAGE } / $ { KERNEL_IMAGETYPE } - $ { PV } - $ { MACHINE } - $ { DATETIME } . bin
2006-04-12 16:19:14 +00:00
tar - cvzf $ { DEPLOY_DIR_IMAGE } / modules - $ { KERNEL_RELEASE } - $ { MACHINE } . tgz - C $ { D } lib
2005-09-20 06:18:37 +00:00
}
do_deploy [ dirs ] = " ${ S } "
2006-04-12 16:19:14 +00:00
addtask deploy before do_package after do_install