diff options
Diffstat (limited to 'meta/packages')
-rw-r--r-- | meta/packages/linux/linux-wrs_git.bb | 82 |
1 files changed, 82 insertions, 0 deletions
diff --git a/meta/packages/linux/linux-wrs_git.bb b/meta/packages/linux/linux-wrs_git.bb new file mode 100644 index 0000000000..a4bdcab5d7 --- /dev/null +++ b/meta/packages/linux/linux-wrs_git.bb | |||
@@ -0,0 +1,82 @@ | |||
1 | DESCRIPTION = "Wind River Kernel" | ||
2 | SECTION = "kernel" | ||
3 | LICENSE = "GPL" | ||
4 | |||
5 | # Set this to 'preempt_rt' in the local.conf if you want a real time kernel | ||
6 | LINUX_KERNEL_TYPE ?= standard | ||
7 | DEPENDS = "kern-tools-native" | ||
8 | PV = "2.6.34+git${SRCPV}" | ||
9 | |||
10 | # To use a staged, on-disk bare clone of a Wind River Kernel, use a | ||
11 | # variant of the below | ||
12 | # SRC_URI = "git://///path/to/kernel/default_kernel.git;fullclone=1" | ||
13 | SRC_URI = "git://git.pokylinux.org/linux-2.6-windriver.git;protocol=git;fullclone=1;branch=${WRMACHINE}-${LINUX_KERNEL_TYPE}" | ||
14 | |||
15 | |||
16 | WRMACHINE = "${MACHINE} | ||
17 | WRMACHINE_qemux86 = "common_pc" | ||
18 | WRMACHINE_qemuppc = "qemu_ppc32" | ||
19 | WRMACHINE_qemumips = "mti_malta32_be" | ||
20 | WRMACHINE_qemuarm = "arm_versatile_926ejs" | ||
21 | |||
22 | LINUX_VERSION=v2.6.34 | ||
23 | LINUX_VERSION_EXTENSION="-wr-${LINUX_KERNEL_TYPE}" | ||
24 | PR = r1 | ||
25 | PV = "2.6.34+${PR}+git${SRCREV}" | ||
26 | |||
27 | S = "${WORKDIR}/linux" | ||
28 | B = "${WORKDIR}/linux-${WRMACHINE}-${LINUX_KERNEL_TYPE}-build" | ||
29 | |||
30 | do_patch() { | ||
31 | echo "[INFO] Patching is currently not supported" | ||
32 | } | ||
33 | |||
34 | do_wrlinux_checkout() { | ||
35 | if [ -d ${WORKDIR}/.git/refs/remotes/origin ]; then | ||
36 | echo "Fixing up git directory for ${WRMACHINE}-${LINUX_KERNEL_TYPE}" | ||
37 | rm -rf ${S} | ||
38 | mkdir ${S} | ||
39 | mv ${WORKDIR}/.git ${S} | ||
40 | mv ${S}/.git/refs/remotes/origin/* ${S}/.git/refs/heads | ||
41 | rmdir ${S}/.git/refs/remotes/origin | ||
42 | fi | ||
43 | cd ${S} | ||
44 | git checkout -f ${WRMACHINE}-${LINUX_KERNEL_TYPE} | ||
45 | } | ||
46 | |||
47 | addtask wrlinux_checkout before do_patch after do_unpack | ||
48 | |||
49 | do_wrlinux_configme() { | ||
50 | echo "Doing wrlinux configme" | ||
51 | rm -rf ${B} | ||
52 | cd ${S} | ||
53 | configme | ||
54 | echo "# CONFIG_WRNOTE is not set" >> ${B}/.config | ||
55 | echo "# Global settings from linux recipe" >> ${B}/.config | ||
56 | echo "CONFIG_LOCALVERSION="\"${LINUX_VERSION_EXTENSION}\" >> ${B}/.config | ||
57 | } | ||
58 | |||
59 | do_wrlinux_configcheck() { | ||
60 | echo "[INFO] validating kernel configuration" | ||
61 | cd ${B}/.. | ||
62 | kconf_check ${B}/.config ${B} ${S} ${B} ${LINUX_VERSION} ${WRMACHINE}-${LINUX_KERNEL_TYPE} | ||
63 | } | ||
64 | |||
65 | do_wrlinux_link_vmlinux() { | ||
66 | if [ -n "${KERNEL_IMAGETYPE_LINK}" ]; then | ||
67 | cd ${B}/arch/${ARCH}/boot | ||
68 | ln -sf ../../../${KERNEL_IMAGETYPE_LINK} | ||
69 | fi | ||
70 | } | ||
71 | |||
72 | do_wrlinux_configme[depends] = "kern-tools-native:do_populate_sysroot" | ||
73 | addtask wrlinux_configme before do_configure after do_patch | ||
74 | addtask wrlinux_link_vmlinux after do_compile before do_install | ||
75 | |||
76 | # XXX | ||
77 | #addtask wrlinux_configcheck after do_configure before do_compile | ||
78 | |||
79 | inherit kernel | ||
80 | |||
81 | # object files are in B, not S, so we need to override this | ||
82 | do_deploy[dirs] = "${B}" | ||