DESCRIPTION = "2.6 Linux Development Kernel for Zaurus devices and iPAQ hx2750." SECTION = "kernel" MAINTAINER = "Richard Purdie , Michael 'Mickey' Lauer " LICENSE = "GPL" #KV = "${@bb.data.getVar('PV',d,True).split('-')[0]}" KV = "${@bb.data.getVar('PV',d,True)}" PR = "r0" DOSRC = "http://www.do13.in-berlin.de/openzaurus/patches" RPSRC = "http://www.rpsys.net/openzaurus/patches" JLSRC = "http://www.cs.wisc.edu/~lenz/zaurus/files" BASRC = "http://www.orca.cx/zaurus/patches" # Handy URLs # http://www.kernel.org/pub/linux/kernel/people/alan/linux-2.6/2.6.10/patch-2.6.10-ac8.gz;patch=1 \ # http://www.kernel.org/pub/linux/kernel/v2.6/snapshots/patch-2.6.12-rc4-git1.bz2;patch=1 \ # ftp://ftp.kernel.org/pub/linux/kernel/v2.6/testing/patch-2.6.14-rc1.bz2;patch=1 \ # git://rsync.kernel.org/pub/scm/linux/kernel/git/torvalds/linux-2.6.git \ # Recently Merged # ${RPSRC}/corgi_cleanup-r0.patch;patch=1 \ # ${RPSRC}/poodle_cleanup-r0.patch;patch=1 \ # ${RPSRC}/poodle_mmc-r0.patch;patch=1 \ # ${RPSRC}/scoop_collie_fix-r0.patch;patch=1 \ # ${RPSRC}/sharpsl_ssp-r4.patch;patch=1 \ # ${RPSRC}/sharpsl_lcd-r4.patch;patch=1 \ # ${RPSRC}/sharpsl_ts-r6.patch;patch=1 \ # ${RPSRC}/sharpsl_bl-r5a.patch;patch=1 \ # ${RPSRC}/spitzkbd-r3.patch;patch=1 \ # ${RPSRC}/spitz_base-r17.patch;patch=1 \ # ${RPSRC}/sharpsl_bl_miss-r0.patch;patch=1 \ # ${RPSRC}/sharpsl_mtd_extras-r1.patch;patch=1 \ # ${RPSRC}/ohci_portcount-r0.patch;patch=1 \ # ${RPSRC}/pxa_ohci_power-r0.patch;patch=1 \ # Patches submitted upstream are towards top of this list # Hacks should clearly named and at the bottom SRC_URI = "ftp://ftp.kernel.org/pub/linux/kernel/v2.6/linux-2.6.13.tar.gz \ ftp://ftp.kernel.org/pub/linux/kernel/v2.6/testing/patch-2.6.14-rc1.bz2;patch=1 \ ftp://ftp.kernel.org/pub/linux/kernel/people/akpm/patches/2.6/2.6.14-rc1/2.6.14-rc1-mm1/2.6.14-rc1-mm1.bz2;patch=1 \ ${RPSRC}/borzoi_machtype-r0.patch;patch=1 \ ${RPSRC}/poodle_irda-r0.patch;patch=1 \ ${RPSRC}/pxa_i2c_fixes-r1.patch;patch=1 \ ${RPSRC}/pcmcia_really_resume-r0.patch;patch=1 \ ${RPSRC}/pxa_ohci_platform-r1.patch;patch=1 \ ${RPSRC}/pxa_ohci_suspend-r0.patch;patch=1 \ ${RPSRC}/sharpsl_pm-r8.patch;patch=1 \ ${RPSRC}/corgi_pm-r3.patch;patch=1 \ ${RPSRC}/spitz_base_extras-r2.patch;patch=1 \ ${RPSRC}/spitz_pm-r3.patch;patch=1 \ ${RPSRC}/spitz_kbd_fix1-r0.patch;patch=1 \ ${RPSRC}/spitzcf-r3.patch;patch=1 \ ${RPSRC}/pxa_timerfix-r0.patch;patch=1 \ ${RPSRC}/pxa_remove_static-r0.patch;patch=1 \ ${RPSRC}/pxa_irda-r4.patch;patch=1 \ ${RPSRC}/corgi_irda-r3.patch;patch=1 \ ${RPSRC}/pxa_rtc-r1.patch;patch=1 \ ${RPSRC}/scoop_susres-r1.patch;patch=1 \ ${RPSRC}/input_power-r3.patch;patch=1 \ ${RPSRC}/jffs2_longfilename-r0.patch;patch=1 \ ${RPSRC}/sharpsl_bl_kick-r1.patch;patch=1 \ ${RPSRC}/corgi_snd-r10.patch;patch=1 \ ${RPSRC}/ipaq/hx2750_base-r20.patch;patch=1 \ ${RPSRC}/ipaq/hx2750_bl-r2.patch;patch=1 \ ${RPSRC}/ipaq/hx2750_pcmcia-r1.patch;patch=1 \ ${RPSRC}/ipaq/pxa_keys-r2.patch;patch=1 \ ${RPSRC}/ipaq/tsc2101-r8.patch;patch=1 \ ${RPSRC}/ipaq/hx2750_test1-r2.patch;patch=1 \ ${DOSRC}/pxa2xx-ir-dma-r0.patch;patch=1 \ ${DOSRC}/tc6393-device-r5.patch;patch=1 \ ${DOSRC}/tc6393_nand-r6.patch;patch=1 \ ${DOSRC}/tosa-machine-base-r12.patch;patch=1 \ ${DOSRC}/tosa-keyboard-r6.patch;patch=1 \ ${RPSRC}/temp/tc6393fb-r7.patch;patch=1 \ ${DOSRC}/tosa-power-r6.patch;patch=1 \ ${DOSRC}/tosa-mmc-r5.patch;patch=1 \ ${DOSRC}/tosa-udc-r4.patch;patch=1 \ ${DOSRC}/tosa-irda-r3.patch;patch=1 \ ${DOSRC}/tosa-lcd-r3.patch;patch=1 \ ${RPSRC}/temp/tosa-bl-r7.patch;patch=1 \ ${RPSRC}/pcmcia_dev_ids-r1.patch;patch=1 \ ${RPSRC}/mmc_timeout-r0.patch;patch=1 \ ${RPSRC}/pxa_cf_initorder_hack-r1.patch;patch=1 \ file://add-oz-release-string.patch;patch=1 \ file://add-elpp-stuff.patch;patch=1 \ file://pxa-serial-hack.patch;patch=1 \ ${RPSRC}/jl1/pxa-linking-bug.patch;patch=1 \ file://dtl1_cs-add-socket-revE.patch;patch=1 \ file://connectplus-remove-ide-HACK.patch;patch=1 \ file://defconfig-c7x0 \ file://defconfig-ipaq-pxa-2.6 \ file://defconfig-collie \ file://defconfig-poodle \ file://defconfig-spitz \ file://defconfig-tosa " # These patches would really help collie/poodle but we # need someone to maintain them # ${JLSRC}/zaurus-lcd-2.6.11.diff.gz;patch=1 # (Pavel Machek's git tree has updated versions of this?) # ${JLSRC}/zaurus-base-2.6.11.diff.gz;patch=1 # (This is mostly in mainline now?) # ${JLSRC}/zaurus-local-2.6.11.diff.gz;patch=1 \ # ${JLSRC}/zaurus-leds-2.6.11.diff.gz;patch=1 \ SRC_URI_append_tosa = "${DOSRC}/nand-readid-r1.patch;patch=1 \ ${DOSRC}/pxa-ac97-suspend-r0.patch;patch=1 \ ${DOSRC}/ac97codec-rename-revert-r0.patch;patch=1 \ ${DOSRC}/wm9712-ts-r3.patch;patch=1 \ ${DOSRC}/tosa-pxaac97-r4.patch;patch=1 \ ${DOSRC}/tosa-bluetooth-r0.patch;patch=1 " S = "${WORKDIR}/linux-2.6.13" 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" CMDLINE_ROOT = "root=/dev/mtdblock2 rootfstype=jffs2 " CMDLINE_ROOT_poodle = "root=/dev/mtdblock1 rootfstype=jffs2 " CMDLINE_ROOT_spitz = "root=/dev/hda1 rootfstype=ext3 rw " ############################################################## # 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" CMDLINE = "${CMDLINE_CON} ${CMDLINE_ROOT} ${CMDLINE_MEM} debug" ############################################################### # 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" do_configure() { install -m 0644 ${WORKDIR}/defconfig-${MACHINE} ${S}/.config || die "No default configuration for ${MACHINE} available." 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 ) size=`ls arch/${ARCH}/boot/${KERNEL_IMAGETYPE} -s | cut -d ' ' -f 1` if [ $size -ge 1271 ]; then rm arch/${ARCH}/boot/${KERNEL_IMAGETYPE} die "This kernel is too big for the c7x0 and will destroy your machine if you flash it!!!" fi ;; *) ;; esac } do_deploy() { install -d ${DEPLOY_DIR}/images install -m 0644 arch/${ARCH}/boot/${KERNEL_IMAGETYPE} ${DEPLOY_DIR}/images/${KERNEL_IMAGETYPE}-${PV}-${MACHINE}-${DATETIME}.bin } do_deploy[dirs] = "${S}" addtask deploy before do_build after do_compile