diff options
author | Darren Hart <dvhart@linux.intel.com> | 2011-07-25 11:10:17 -0700 |
---|---|---|
committer | Richard Purdie <richard.purdie@linuxfoundation.org> | 2011-08-12 17:16:59 +0100 |
commit | bafaaad264fe3e745c714951ddcf2784d33b755a (patch) | |
tree | cb475094cdc455d46cf0148f0ddb7046c9407bd7 /meta | |
parent | 92aa6a587f4fabfadbebdb7ae24306d36f43910a (diff) | |
download | openembedded-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.bb | 44 | ||||
-rw-r--r-- | meta/recipes-kernel/linux/linux-yocto-rt_3.0.bb | 46 | ||||
-rw-r--r-- | meta/recipes-rt/images/core-image-rt-sdk.bb | 15 | ||||
-rw-r--r-- | meta/recipes-rt/images/core-image-rt.bb | 12 | ||||
-rw-r--r-- | meta/recipes-rt/rt-tests/rt-tests_0.73.bb | 22 |
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} +} |