]> pilppa.org Git - familiar-h63xx-build.git/blob - org.handhelds.familiar/packages/linux/linux-openzaurus.inc
OE tree imported from monotone branch org.openembedded.oz354fam083 at revision 8b12e3...
[familiar-h63xx-build.git] / org.handhelds.familiar / packages / linux / linux-openzaurus.inc
1 DESCRIPTION = "2.6 Linux Development Kernel for Zaurus devices and iPAQ hx2750."
2 SECTION = "kernel"
3 MAINTAINER = "Richard Purdie <rpurdie@rpsys.net>, Michael 'Mickey' Lauer <mickey@vanille.de>"
4 LICENSE = "GPL"
5
6 DOSRC = "http://www.do13.in-berlin.de/openzaurus/patches"
7 RPSRC = "http://www.rpsys.net/openzaurus/patches"
8 JLSRC = "http://www.cs.wisc.edu/~lenz/zaurus/files"
9 BASRC = "http://www.orca.cx/zaurus/patches"
10
11 inherit kernel
12
13 ##############################################################
14 # Compensate for sucky bootloader on all Sharp Zaurus models
15 #
16 FILES_kernel-image = ""
17 ALLOW_EMPTY = 1
18
19 EXTRA_OEMAKE = "OPENZAURUS_RELEASE=-${DISTRO_VERSION}"
20 COMPATIBLE_HOST = "arm.*-linux"
21
22 CMDLINE_CON = "console=ttyS0,115200n8 console=tty1 noinitrd"
23 CMDLINE_ROOT = "root=/dev/mtdblock2 rootfstype=jffs2 "
24 CMDLINE_ROOT_poodle = "root=/dev/mtdblock1 rootfstype=jffs2 "
25 CMDLINE_ROOT_spitz = "root=/dev/hda1 rootfstype=ext3 rw "
26
27 ##############################################################
28 # Configure memory/ramdisk split for collie
29 #
30 export mem = ${@bb.data.getVar("COLLIE_MEMORY_SIZE",d,1) or "32"}
31 export rd  = ${@bb.data.getVar("COLLIE_RAMDISK_SIZE",d,1) or "32"}
32
33 CMDLINE_MEM_collie = "mem=${mem}M"
34
35 CMDLINE_DEBUG = '${@base_conditional("DISTRO_TYPE", "release", "quiet", "debug",d)}'
36
37 CMDLINE = "${CMDLINE_CON} ${CMDLINE_ROOT} ${CMDLINE_MEM} ${CMDLINE_DEBUG}"
38
39 ###############################################################
40 # Enable or disable ELPP via local.conf - default is "no"
41 #
42 ENABLE_ELPP = ${@bb.data.getVar("OZ_KERNEL_ENABLE_ELPP",d,1) or "no"}
43
44 ###############################################################
45 # module configs specific to this kernel
46 #
47 module_autoload_pxaficp_ir = "pxaficp_ir"
48
49 do_configure() {
50
51         install -m 0644 ${WORKDIR}/defconfig-${MACHINE} ${S}/.config || die "No default configuration for ${MACHINE} available."
52
53         if [ "${MACHINE}" == "collie" ]; then
54                 mempos=`echo "obase=16; $mem * 1024 * 1024" | bc`
55                 rdsize=`echo "$rd * 1024" | bc`
56                 total=`expr $mem + $rd`
57                 addr=`echo "obase=16; ibase=16; C0000000 + $mempos" | bc`
58                 if [ "$rd" == "0" ]
59                 then
60                     echo "No RAMDISK"
61                         echo "# CONFIG_MTD_MTDRAM_SA1100 is not set" >> ${S}/.config
62                 else
63                     echo "RAMDIR = $rdsize on $addr"
64                         echo "CONFIG_MTD_MTDRAM_SA1100=y"           >> ${S}/.config
65                         echo "CONFIG_MTDRAM_TOTAL_SIZE=$rdsize"     >> ${S}/.config
66                         echo "CONFIG_MTDRAM_ERASE_SIZE=1"           >> ${S}/.config
67                         echo "CONFIG_MTDRAM_ABS_POS=$addr"          >> ${S}/.config
68                 fi
69         fi
70
71         echo "CONFIG_CMDLINE=\"${CMDLINE}\"" >> ${S}/.config
72
73         if [ "${ENABLE_ELPP}" == "yes" ]; then
74                 echo "# Enhanced Linux Progress Patch"  >> ${S}/.config
75                 echo "CONFIG_FB_ELPP=y"                 >> ${S}/.config
76                 echo "CONFIG_LOGO=y"                    >> ${S}/.config
77                 echo "CONFIG_LOGO_LINUX_CLUT224=y"      >> ${S}/.config
78         else
79                 echo "# CONFIG_FB_ELPP is not set"      >> ${S}/.config
80         fi
81
82         yes '' | oe_runmake oldconfig
83 }
84
85 # Check the kernel is below the 1272*1024 byte limit for the PXA Zaurii
86 do_compile_append() {
87         case ${MACHINE} in
88                 c7x0 | akita | poodle | spitz | borzoi | tosa )
89                         size=`ls arch/${ARCH}/boot/${KERNEL_IMAGETYPE} -s | cut -d ' ' -f 1`
90                         if [ $size -ge 1271 ]; then     
91                                 rm arch/${ARCH}/boot/${KERNEL_IMAGETYPE}
92                                 die "This kernel is too big for the c7x0 and will destroy your machine if you flash it!!!"
93                         fi
94                         ;;
95                 *)
96                         ;;
97         esac
98 }
99
100 do_deploy() {
101         install -d ${DEPLOY_DIR}/images
102         install -m 0644 arch/${ARCH}/boot/${KERNEL_IMAGETYPE} ${DEPLOY_DIR}/images/${KERNEL_IMAGETYPE}-${PV}-${MACHINE}-${DATETIME}.bin
103 }
104
105 do_deploy[dirs] = "${S}"
106
107 addtask deploy before do_build after do_compile