1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
|
DESCRIPTION = "Linux kernel for the SIEMENS SIMpad family of devices."
MAINTAINER = "Michael 'Mickey' Lauer <mickey@Vanille.de>"
LICENSE = "GPL"
KV = "${@oe.data.getVar('PV',d,True).split('-')[0]}"
VRSV = "${@oe.data.getVar('PV',d,True).split('-')[1]}"
PXAV = "${@oe.data.getVar('PV',d,True).split('-')[2]}"
JPMV = "${@oe.data.getVar('PV',d,True).split('-')[3]}"
PR = "r7"
FILESDIR = "${@os.path.dirname(oe.data.getVar('FILE',d,1))}/opensimpad-${PV}"
SRC_URI = "ftp://ftp.kernel.org/pub/linux/kernel/v2.4/linux-${KV}.tar.bz2 \
file://${KV}-${VRSV}.patch;patch=1 \
file://${KV}-${VRSV}-${PXAV}.patch;patch=1 \
file://${KV}-${VRSV}-${PXAV}-${JPMV}.patch;patch=1 \
file://sound-volume-reversed.patch;patch=1 \
file://disable-pcmcia-probe.patch;patch=1 \
file://mkdep.patch;patch=1 \
file://defconfig-${MACHINE} \
ftp://ftp.xs4all.nl/pub/crypto/freeswan/kernpatch/freeswan-2.06.k2.4.patch.gz;patch=1 \
file://mipv6-1.1-v2.4.25.patch;patch=1 \
file://simpad-backlight-if.diff;patch=1;pnum=0 "
# apply this when we have a patch that allows building with gcc 3.x:
# SRC_URI_append = file://gcc-3.3.patch;patch=1
# SRC_URI_append = file://machtune-args.patch;patch=1
S = "${WORKDIR}/linux-${KV}"
inherit kernel
KERNEL_CCSUFFIX = "-3.3.3"
COMPATIBLE_HOST = "arm.*-linux"
SIMPAD_MEM = ${@oe.data.getVar("SIMPAD_MEMORY_SIZE",d,1) or "32"}
SIMPAD_RD = ${@oe.data.getVar("SIMPAD_RAMDISK_SIZE",d,1) or "32"}
export CMDLINE = ${@oe.data.getVar("SIMPAD_CMDLINE",d,1) or "mtdparts=sa1100:512k(boot),1m(kernel),-(root) console=ttySA root=1f02 noinitrd jffs2_orphaned_inodes=delete rootfstype=jffs2 "}
EXTRA_OEMAKE = ""
module_conf_sa1100_ir = "alias irda0 sa1100_ir"
do_configure() {
install -m 0644 ${WORKDIR}/defconfig-${MACHINE} ${S}/.config || die "No default configuration for ${MACHINE} available."
mem=${SIMPAD_MEM}
rd=${SIMPAD_RD}
mempos=`echo "obase=16; $mem * 1024 * 1024" | bc`
rdsize=`echo "$rd * 1024" | bc`
total=`expr $mem + $rd`
addr=`echo "obase=16; ibase=16; C000000 + $mempos" | bc`
if [ "$rd" == "0" ]
then
echo "# CONFIG_MTD_MTDRAM_SA1100 is not set" >> ${S}/.config
else
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
echo "CONFIG_CMDLINE=\"${CMDLINE} mem=${mem}M\"" >> ${S}/.config
oe_runmake oldconfig
}
|