summaryrefslogtreecommitdiff
path: root/meta
diff options
context:
space:
mode:
authorDarren Hart <dvhart@linux.intel.com>2011-07-25 11:10:17 -0700
committerRichard Purdie <richard.purdie@linuxfoundation.org>2011-08-12 17:16:59 +0100
commitbafaaad264fe3e745c714951ddcf2784d33b755a (patch)
treecb475094cdc455d46cf0148f0ddb7046c9407bd7 /meta
parent92aa6a587f4fabfadbebdb7ae24306d36f43910a (diff)
downloadopenembedded-core-bafaaad264fe3e745c714951ddcf2784d33b755a.tar.gz
openembedded-core-bafaaad264fe3e745c714951ddcf2784d33b755a.tar.bz2
openembedded-core-bafaaad264fe3e745c714951ddcf2784d33b755a.zip
Move meta-rt recipes to oe-core (meta)
Keeping the rt recipes in their own layer has led to maintenance issues, particularly with the linux-yocto-rt recipes. As these kernel types are part of the same linux-yocto source repository, it seems reasonable to include the rt kernel recipes alongside the standard recipes. A new recipes-rt directory for the other recipes provides adequate separation and eliminates the need for a separate layer. As there is no meta-rt/conf/layer.conf to force the kernel, users must now specify the rt kernel in their local.conf or in the machine.conf: PREFERRED_PROVIDER_virtual/kernel = "linux-yocto-rt" The merging of the rt recipes into the core also eliminates complications with multiple layer dependencies for new BSP layers. Having to either separate RT BSPs from standard BSPs or force users to add meta-rt to bblayers even when not building an RT BSP (because the RT BSPs in the same layer would fail to parse without it) was sub-optimal at best. Signed-off-by: Darren Hart <dvhart@linux.intel.com>
Diffstat (limited to 'meta')
-rw-r--r--meta/recipes-kernel/linux/linux-yocto-rt_2.6.34.bb44
-rw-r--r--meta/recipes-kernel/linux/linux-yocto-rt_3.0.bb46
-rw-r--r--meta/recipes-rt/images/core-image-rt-sdk.bb15
-rw-r--r--meta/recipes-rt/images/core-image-rt.bb12
-rw-r--r--meta/recipes-rt/rt-tests/rt-tests_0.73.bb22
5 files changed, 139 insertions, 0 deletions
diff --git a/meta/recipes-kernel/linux/linux-yocto-rt_2.6.34.bb b/meta/recipes-kernel/linux/linux-yocto-rt_2.6.34.bb
new file mode 100644
index 0000000000..0ca53ae436
--- /dev/null
+++ b/meta/recipes-kernel/linux/linux-yocto-rt_2.6.34.bb
@@ -0,0 +1,44 @@
+inherit kernel
+require recipes-kernel/linux/linux-yocto.inc
+
+KMACHINE = "common-pc"
+KMACHINE_qemux86 = "common_pc"
+KMACHINE_qemux86-64 = "common_pc_64"
+
+LINUX_VERSION ?= "2.6.34"
+LINUX_KERNEL_TYPE = "preempt_rt"
+LINUX_VERSION_EXTENSION ?= "-yocto-${LINUX_KERNEL_TYPE_EXTENSION}"
+
+KMETA = wrs_meta
+KBRANCH = ${KMACHINE}-${LINUX_KERNEL_TYPE}
+
+SRCREV_machine_qemux86 = "439602eb6acd53d9beb8493710310214fc7bd749"
+SRCREV_machine_qemux86-64 = "3c84c45ad3c3592f9c7ff4076de9bee417cd322e"
+SRCREV_machine = "439602eb6acd53d9beb8493710310214fc7bd749"
+SRCREV_meta = "e1f85a470934a0cf6abde5d95533e74501822c6b"
+
+PR = "r2"
+PV = "${LINUX_VERSION}+git${SRCPV}"
+SRCREV_FORMAT = "meta_machine"
+
+COMPATIBLE_MACHINE = "(qemux86|qemux86-64)"
+
+# this performs a fixup on the SRCREV for new/undefined BSPs
+python __anonymous () {
+ import bb, re, string
+
+ kerntype = string.replace(bb.data.expand("${LINUX_KERNEL_TYPE}", d), "_", "-")
+ bb.data.setVar("LINUX_KERNEL_TYPE_EXTENSION", kerntype, d)
+}
+
+SRC_URI = "git://git.yoctoproject.org/linux-yocto-2.6.34.git;protocol=git;nocheckout=1;branch=${KBRANCH},wrs_meta;name=machine,meta"
+
+# Functionality flags
+KERNEL_REVISION_CHECKING ?= "t"
+KERNEL_FEATURES=features/netfilter
+
+# extra tasks
+addtask kernel_link_vmlinux after do_compile before do_install
+addtask validate_branches before do_patch after do_kernel_checkout
+
+require recipes-kernel/linux/linux-tools.inc
diff --git a/meta/recipes-kernel/linux/linux-yocto-rt_3.0.bb b/meta/recipes-kernel/linux/linux-yocto-rt_3.0.bb
new file mode 100644
index 0000000000..c8a175dad8
--- /dev/null
+++ b/meta/recipes-kernel/linux/linux-yocto-rt_3.0.bb
@@ -0,0 +1,46 @@
+inherit kernel
+require recipes-kernel/linux/linux-yocto.inc
+
+KMACHINE = "common-pc"
+KMACHINE_qemux86 = "common-pc"
+KMACHINE_qemux86-64 = "common-pc-64"
+KMACHINE_qemuarm = "arm-versatile-926ejs"
+KMACHINE_qemuppc = "qemu-ppc32"
+KMACHINE_qemumips = "mti-malta32-be"
+
+KBRANCH = "yocto/standard/preempt-rt/base"
+KMETA = meta
+
+LINUX_VERSION ?= "3.0"
+LINUX_KERNEL_TYPE = "preempt-rt"
+LINUX_VERSION_EXTENSION ?= "-yocto-${LINUX_KERNEL_TYPE}"
+
+SRCREV_machine = "7e1e5b6c8a13c615feb0d7b6d37988a094aae98f"
+SRCREV_meta = "7782fc673afd6a1c742409896ae787560d96fce8"
+
+PR = "r0"
+PV = "${LINUX_VERSION}+git${SRCPV}"
+SRCREV_FORMAT = "meta_machine"
+
+SRC_URI = "git://git.yoctoproject.org/linux-yocto-3.0.git;protocol=git;nocheckout=1;branch=${KBRANCH},meta;name=machine,meta"
+
+# Omit broken machines from COMPATIBLE_MACHINE
+# qemuppc hangs at boot
+# qemumips panics at boot
+COMPATIBLE_MACHINE = "(qemux86|qemux86-64|qemuarm)"
+
+# Functionality flags
+KERNEL_REVISION_CHECKING ?= "t"
+KERNEL_FEATURES=features/netfilter
+KERNEL_FEATURES_append=" features/taskstats"
+KERNEL_FEATURES_append_qemux86=" cfg/sound"
+KERNEL_FEATURES_append_qemux86-64=" cfg/sound"
+
+YOCTO_KERNEL_META_DATA=t
+
+# extra tasks
+addtask kernel_link_vmlinux after do_compile before do_install
+addtask validate_branches before do_patch after do_kernel_checkout
+addtask kernel_configcheck after do_configure before do_compile
+
+require recipes-kernel/linux/linux-tools.inc
diff --git a/meta/recipes-rt/images/core-image-rt-sdk.bb b/meta/recipes-rt/images/core-image-rt-sdk.bb
new file mode 100644
index 0000000000..6e983433aa
--- /dev/null
+++ b/meta/recipes-rt/images/core-image-rt-sdk.bb
@@ -0,0 +1,15 @@
+#
+# Copyright (C) 2011 Intel Corporation.
+#
+
+DESCRIPTION = "Real-Time Linux Image with SDK support"
+DEPENDS = "linux-yocto-rt"
+
+require recipes-core/images/core-image-minimal.bb
+
+IMAGE_FEATURES += "dev-pkgs tools-sdk"
+EXTRA_IMAGE_FEATURES += "tools-debug tools-profile tools-testapps debug-tweaks"
+
+IMAGE_INSTALL += "rt-tests"
+
+LICENSE = "MIT"
diff --git a/meta/recipes-rt/images/core-image-rt.bb b/meta/recipes-rt/images/core-image-rt.bb
new file mode 100644
index 0000000000..e11f159f7a
--- /dev/null
+++ b/meta/recipes-rt/images/core-image-rt.bb
@@ -0,0 +1,12 @@
+#
+# Copyright (C) 2010 Intel Corporation.
+#
+
+DESCRIPTION = "Real-Time Linux Image"
+DEPENDS = "linux-yocto-rt"
+
+require recipes-core/images/core-image-minimal.bb
+
+IMAGE_INSTALL += "rt-tests"
+
+LICENSE = "MIT"
diff --git a/meta/recipes-rt/rt-tests/rt-tests_0.73.bb b/meta/recipes-rt/rt-tests/rt-tests_0.73.bb
new file mode 100644
index 0000000000..6334bcdeef
--- /dev/null
+++ b/meta/recipes-rt/rt-tests/rt-tests_0.73.bb
@@ -0,0 +1,22 @@
+DESCRIPTION = "Real-Time preemption testcases"
+HOMEPAGE = "https://rt.wiki.kernel.org/index.php/Cyclictest"
+SECTION = "tests"
+DEPENDS = "linux-libc-headers eglibc"
+LICENSE = "GPLv2 & GPLv2+"
+LIC_FILES_CHKSUM = "file://COPYING;md5=751419260aa954499f7abaabaa882bbe \
+ file://src/cyclictest/cyclictest.c;beginline=7;endline=9;md5=ce162fe491d19d2ec67dff6dbc938d50 \
+ file://src/pi_tests/pi_stress.c;beginline=6;endline=19;md5=bd426a634a43ec612e9fbf125dfcc949"
+SRCREV = v0.73
+PV = "git${SRCPV}"
+PR = "r0"
+
+SRC_URI = "git://git.kernel.org/pub/scm/linux/kernel/git/clrkwllms/rt-tests.git;protocol=git"
+
+S = "${WORKDIR}/git"
+
+CFLAGS += "-I${S}/src/include -D_GNU_SOURCE -Wall -Wno-nonnull"
+
+do_install() {
+ oe_runmake install DESTDIR=${D} SBINDIR=${sbindir} MANDIR=${mandir} \
+ INCLUDEDIR=${includedir}
+}