diff options
author | Darren Hart <dvhart@linux.intel.com> | 2010-12-20 15:02:40 -0800 |
---|---|---|
committer | Richard Purdie <richard.purdie@linuxfoundation.org> | 2011-01-20 21:36:58 +0000 |
commit | 0d7d5666509c013228242b87c1dfd15395af6701 (patch) | |
tree | 64e733a571982bc274e7a96a562de306b2731656 /meta-rt | |
parent | 4de544015b41cde2938d8bb00fec48f470e6d7fb (diff) | |
download | poky-0d7d5666509c013228242b87c1dfd15395af6701.tar.gz |
meta-rt: Initial PREEMPT_RT layer and kernel recipes
The meta-rt layer provides a preempt_rt kernel recipe
using the linux-yocto-stable git tree. It overrides
the virtual/kernel provider and defines the compatible
machines and per-machine SRCREVs. The initial layer
supports only qemux86-64.
Signed-off-by: Darren Hart <dvhart@linux.intel.com>
Cc: Tom Zanussi <tom.zanussi@intel.com>
Cc: Bruce Ashfield <bruce.ashfield@windriver.com>
Diffstat (limited to 'meta-rt')
-rw-r--r-- | meta-rt/conf/layer.conf | 22 | ||||
-rw-r--r-- | meta-rt/recipes-kernel/linux-yocto-rt_stablegit.bb | 39 |
2 files changed, 61 insertions, 0 deletions
diff --git a/meta-rt/conf/layer.conf b/meta-rt/conf/layer.conf new file mode 100644 index 0000000000..dbf4a326ba --- /dev/null +++ b/meta-rt/conf/layer.conf | |||
@@ -0,0 +1,22 @@ | |||
1 | # Default to first disk/first partition | ||
2 | RSP_ROOT ?= "sda1" | ||
3 | |||
4 | # We have a conf and classes directory, add to BBPATH | ||
5 | BBPATH := "${BBPATH}:${LAYERDIR}" | ||
6 | |||
7 | # We have an images and various recipe-* directories, add to BBFILES | ||
8 | BBFILES := "${BBFILES} ${LAYERDIR}/images/*.bb ${LAYERDIR}/images/*.bbappend ${LAYERDIR}/recipes-*/*.bb ${LAYERDIR}/recipes-*/*.bbappend" | ||
9 | |||
10 | BBFILE_COLLECTIONS += "rt" | ||
11 | BBFILE_PATTERN_rt := "^${LAYERDIR}/" | ||
12 | BBFILE_PRIORITY_rt = "8" | ||
13 | |||
14 | # This layer builds images using a PREEMPT_RT kernel. Override any machine | ||
15 | # specified kernel providers and leave it up to the kernel recipe to | ||
16 | # determine COMPATIBLE_MACHINE. | ||
17 | PREFERRED_PROVIDER_virtual/kernel = "linux-yocto-rt" | ||
18 | |||
19 | # preempt_rt SRCREVs, one for meta, one per machine | ||
20 | SRCREV_meta_pn-linux-yocto-rt ?= "50ccd2b3213b6a1bacb3f898c035119802dac420" | ||
21 | SRCREV_machine_pn-linux-yocto-rt_qemux86-64 ?= "f49444f06875894389e640bcda6c3f6ceb1f0c3e" | ||
22 | |||
diff --git a/meta-rt/recipes-kernel/linux-yocto-rt_stablegit.bb b/meta-rt/recipes-kernel/linux-yocto-rt_stablegit.bb new file mode 100644 index 0000000000..361b6806cd --- /dev/null +++ b/meta-rt/recipes-kernel/linux-yocto-rt_stablegit.bb | |||
@@ -0,0 +1,39 @@ | |||
1 | inherit kernel | ||
2 | require recipes-kernel/linux/linux-yocto.inc | ||
3 | |||
4 | KMACHINE_qemux86-64 = "common_pc_64" | ||
5 | |||
6 | LINUX_VERSION ?= "2.6.34" | ||
7 | LINUX_KERNEL_TYPE = "preempt_rt" | ||
8 | LINUX_VERSION_EXTENSION ?= "-yocto-${LINUX_KERNEL_TYPE_EXTENSION}" | ||
9 | |||
10 | PR = "r0" | ||
11 | PV = "${LINUX_VERSION}+git${SRCPV}" | ||
12 | SRCREV_FORMAT = "meta_machine" | ||
13 | |||
14 | COMPATIBLE_MACHINE = "(qemux86-64)" | ||
15 | |||
16 | # this performs a fixup on the SRCREV for new/undefined BSPs | ||
17 | python __anonymous () { | ||
18 | import bb, re, string | ||
19 | |||
20 | rev = bb.data.getVar("SRCREV_machine", d, 1) | ||
21 | if rev == "standard": | ||
22 | bb.data.setVar("SRCREV_machine", "${SRCREV_meta}", d) | ||
23 | |||
24 | kerntype = string.replace(bb.data.expand("${LINUX_KERNEL_TYPE}", d), "_", "-") | ||
25 | bb.data.setVar("LINUX_KERNEL_TYPE_EXTENSION", kerntype, d) | ||
26 | } | ||
27 | |||
28 | SRC_URI = "git://git.pokylinux.org/linux-2.6-windriver.git;protocol=git;fullclone=1;branch=${KBRANCH};name=machine \ | ||
29 | git://git.pokylinux.org/linux-2.6-windriver.git;protocol=git;noclone=1;branch=wrs_meta;name=meta" | ||
30 | |||
31 | # Functionality flags | ||
32 | KERNEL_REVISION_CHECKING ?= "t" | ||
33 | KERNEL_FEATURES=features/netfilter | ||
34 | |||
35 | # extra tasks | ||
36 | addtask kernel_link_vmlinux after do_compile before do_install | ||
37 | addtask validate_branches before do_patch after do_kernel_checkout | ||
38 | |||
39 | require recipes-kernel/linux/linux-tools.inc | ||