diff options
author | Bruce Ashfield <bruce.ashfield@windriver.com> | 2010-06-18 01:09:42 -0400 |
---|---|---|
committer | Bruce Ashfield <bruce.ashfield@windriver.com> | 2010-07-19 11:59:51 -0400 |
commit | f0af0ba94a9084aa40e1b592dc8e0acaddfaee8d (patch) | |
tree | 6243aeb38247a1ee8e812bcf75fd0096eecffdab | |
parent | 15624d13d0ee432a2ff28168ba58674c54550af0 (diff) | |
download | poky-f0af0ba94a9084aa40e1b592dc8e0acaddfaee8d.tar.gz |
kernel: create base recipe for Wind River Linux kernel building
This base recipe implements support for building a git based
Wind River Linux kernel repository.
There are several restrictions in this first import:
- no patching (needs guilt)
- missing Wind River features (config audit, etc)
Signed-off-by: Bruce Ashfield <bruce.ashfield@windriver.com>
-rw-r--r-- | meta/conf/distro/include/poky-default-revisions.inc | 4 | ||||
-rw-r--r-- | meta/packages/linux/linux-wrs_git.bb | 82 |
2 files changed, 86 insertions, 0 deletions
diff --git a/meta/conf/distro/include/poky-default-revisions.inc b/meta/conf/distro/include/poky-default-revisions.inc index a65e5876d7..9e651d90e8 100644 --- a/meta/conf/distro/include/poky-default-revisions.inc +++ b/meta/conf/distro/include/poky-default-revisions.inc | |||
@@ -68,6 +68,10 @@ SRCREV_pn-libxext-nativesdk ??= "d1f3bc77a48c8e42771579e3fdf3370b35d3209d" | |||
68 | SRCREV_pn-libxi ??= "d0326fe8cdbb08d4f52d79fd3fd4e1b2a0951d5e" | 68 | SRCREV_pn-libxi ??= "d0326fe8cdbb08d4f52d79fd3fd4e1b2a0951d5e" |
69 | SRCREV_pn-linux-openmoko ??= "5ccaca2adb1c37b5955a4733f68ae08a755e3d78" | 69 | SRCREV_pn-linux-openmoko ??= "5ccaca2adb1c37b5955a4733f68ae08a755e3d78" |
70 | SRCREV_pn-linux-omap3-pm ??= "totallybroken" | 70 | SRCREV_pn-linux-omap3-pm ??= "totallybroken" |
71 | SRCREV_pn-linux-wrs_qemuarm ??= "426480c5062f8e3af7fe6fad507de09c8f1444e0 | ||
72 | SRCREV_pn-linux-wrs_qemumips ??= "77cd56e5642c094c1849ed1669b3b6a0a087087a" | ||
73 | SRCREV_pn-linux-wrs_qemuppc ??= "cf03da29f5fa62bbaffa44501a40e297d5794706" | ||
74 | SRCREV_pn-linux-wrs_qemux86 ??= "b6327f69b5aed1aa10d0c7ff10b2763379ef2ed" | ||
71 | SRCREV_pn-linux-libc-headers-wrs ??= "63a07cb64ccc3ceae619d3298545d602ab5ecd38" | 75 | SRCREV_pn-linux-libc-headers-wrs ??= "63a07cb64ccc3ceae619d3298545d602ab5ecd38" |
72 | SRCREV_pn-matchbox-config-gtk ??= "2081" | 76 | SRCREV_pn-matchbox-config-gtk ??= "2081" |
73 | SRCREV_pn-matchbox-desktop-sato ??= "76" | 77 | SRCREV_pn-matchbox-desktop-sato ??= "76" |
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}" | ||