summaryrefslogtreecommitdiff
path: root/linux/mnci-ramses_2.4.21-rmk2-pxa1.oe
blob: 198ba2dccad74187c9376d638e08bb96c7eaf568 (plain)
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
64
65
66
67
68
69
70
71
72
73
74
75
76
DESCRIPTION = "Linux kernel for MNCI device"
MAINTAINER = "M&N Solutions <info@mn-solutions.de>"
LICENSE = "GPL"
KV = "2.4.21"
RMKV = "2"
PXAV = "1"
PR = "r1"

SRC_URI = "ftp://ftp.kernel.org/pub/linux/kernel/v2.4/linux-${KV}.tar.bz2 \
	   ftp://ftp.arm.linux.org.uk/pub/armlinux/source/kernel-patches/v2.4/patch-${KV}-rmk${RMKV}.gz;patch=1 \
	   file://diff-${KV}-rmk${RMKV}-pxa${PXAV}.gz;patch=1 \
	   file://mnci-combined.patch;patch=1"

S = "${WORKDIR}/linux-${KV}"

inherit kernel

KERNEL_CCSUFFIX = "-3.3.4"
COMPATIBLE_HOST = "arm.*-linux"
FILES_kernel = "/boot /tmp"
DEPENDS = "modutils-cross virtual/${TARGET_PREFIX}gcc${KERNEL_CCSUFFIX}"

do_configure_prepend() {
	install -m 0644 ${S}/arch/arm/def-configs/${MACHINE} ${S}/.config || die "No default configuration for ${MACHINE} available."
}

pkg_postinst_kernel () {
test -f /tmp/zImage || exit 0
cp /tmp/zImage /dev/mtdblock/1
rm /tmp/zImage
sync
cat /dev/mtdblock/1 >/dev/null
}

pkg_postinst_modules () {
if [ -n "$D" ]; then
	${HOST_PREFIX}depmod -A -b $D -F $D/boot/System.map-${PV} ${KERNEL_VERSION}
else
	depmod -A
fi
}

pkg_postrm_modules () {
}

pkg_postrm_kernel () {
}

kernel_do_install() {
	echo Files: ${FILES}
	echo Files Kernel: ${FILES_kernel}
	unset CFLAGS CPPFLAGS CXXFLAGS LDFLAGS
	if (grep -q -i -e '^CONFIG_MODULES=y$' .config); then
		oe_runmake DEPMOD=echo INSTALL_MOD_PATH="${D}" modules_install
	else
		oenote "no modules to install"
	fi
	install -d ${D}/tmp
	install -m 0644 ${KERNEL_OUTPUT} ${D}/tmp
	install -d ${D}/boot
	install -m 0644 .config ${D}/boot/config-${PV}
	bzip2 -9 ${D}/boot/*
	install -d ${D}/etc/modutils
}

do_stage () {
	rm -rf ${STAGING_INCDIR}/linux ${STAGING_INCDIR}/asm
	mkdir -p ${STAGING_INCDIR}/linux ${STAGING_INCDIR}/asm
	cp -a include/linux/* ${STAGING_INCDIR}/linux/
	cp -a include/asm/* ${STAGING_INCDIR}/asm/
	find ${STAGING_INCDIR}/linux -name "*~*" | xargs rm
	find ${STAGING_INCDIR}/asm -name "*~*" | xargs rm

	ln -sf ${STAGING_KERNEL_DIR}/include/linux/wireless.h ${STAGING_INCDIR}/linux/wireless.h
	ln -sf ${STAGING_KERNEL_DIR}/include/linux/wireless.h ${CROSS_DIR}/${TARGET_SYS}/include/linux/wireless.h
}