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 "
2005-12-15 17:41:17 +00:00
PROVIDES = " virtual/kernel-hostap "
RPROVIDES = " virtual/kernel-hostap "
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 "
inherit kernel
##############################################################
# 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 "
CMDLINE_ROOT_borzoi = " 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 "
CMDLINE_ROTATE_borzoi = " 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_borzoi = " snd-soc-spitz "
module_autoload_snd - soc - spitz_spitz = " snd-soc-spitz "
2005-09-20 06:18:37 +00:00
do_configure () {
2005-10-10 10:41:35 +00:00
case $ { MACHINE } in
akita | spitz | borzoi )
install - m 0644 $ { WORKDIR } / defconfig - cxx00 $ { S } /. config || die " No default configuration for cxx00 available. "
;;
* )
install - m 0644 $ { WORKDIR } / defconfig - $ { MACHINE } $ { S } /. config || die " No default configuration for ${ MACHINE } available. "
;;
esac
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
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
yes '' | oe_runmake oldconfig
}
# Check the kernel is below the 1272*1024 byte limit for the PXA Zaurii
do_compile_append () {
case $ { MACHINE } in
c7x0 | akita | poodle | spitz | borzoi | tosa )
2005-12-13 09:10:55 +00:00
size = `ls -l arch/${ARCH}/boot/${KERNEL_IMAGETYPE} | awk '{ print $5}'`
if [ $size - ge 1302000 ]; 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
2005-09-20 06:18:37 +00:00
}
do_deploy [ dirs ] = " ${ S } "
addtask deploy before do_build after do_compile