From bafaaad264fe3e745c714951ddcf2784d33b755a Mon Sep 17 00:00:00 2001 From: Darren Hart Date: Mon, 25 Jul 2011 11:10:17 -0700 Subject: 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 --- meta-rt/conf/layer.conf | 18 --------- meta-rt/images/core-image-rt-sdk.bb | 15 ------- meta-rt/images/core-image-rt.bb | 12 ------ .../recipes-kernel/linux/linux-yocto-rt_2.6.34.bb | 44 --------------------- meta-rt/recipes-kernel/linux/linux-yocto-rt_3.0.bb | 46 ---------------------- meta-rt/recipes-tests/rt-tests/rt-tests_0.73.bb | 22 ----------- meta/recipes-kernel/linux/linux-yocto-rt_2.6.34.bb | 44 +++++++++++++++++++++ meta/recipes-kernel/linux/linux-yocto-rt_3.0.bb | 46 ++++++++++++++++++++++ meta/recipes-rt/images/core-image-rt-sdk.bb | 15 +++++++ meta/recipes-rt/images/core-image-rt.bb | 12 ++++++ meta/recipes-rt/rt-tests/rt-tests_0.73.bb | 22 +++++++++++ 11 files changed, 139 insertions(+), 157 deletions(-) delete mode 100644 meta-rt/conf/layer.conf delete mode 100644 meta-rt/images/core-image-rt-sdk.bb delete mode 100644 meta-rt/images/core-image-rt.bb delete mode 100644 meta-rt/recipes-kernel/linux/linux-yocto-rt_2.6.34.bb delete mode 100644 meta-rt/recipes-kernel/linux/linux-yocto-rt_3.0.bb delete mode 100644 meta-rt/recipes-tests/rt-tests/rt-tests_0.73.bb create mode 100644 meta/recipes-kernel/linux/linux-yocto-rt_2.6.34.bb create mode 100644 meta/recipes-kernel/linux/linux-yocto-rt_3.0.bb create mode 100644 meta/recipes-rt/images/core-image-rt-sdk.bb create mode 100644 meta/recipes-rt/images/core-image-rt.bb create mode 100644 meta/recipes-rt/rt-tests/rt-tests_0.73.bb diff --git a/meta-rt/conf/layer.conf b/meta-rt/conf/layer.conf deleted file mode 100644 index 59f42b62fe..0000000000 --- a/meta-rt/conf/layer.conf +++ /dev/null @@ -1,18 +0,0 @@ -# Default to first disk/first partition -RSP_ROOT ?= "sda1" - -# We have a conf and classes directory, add to BBPATH -BBPATH := "${BBPATH}:${LAYERDIR}" - -# We have an images and various recipe-* directories, add to BBFILES -BBFILES := "${BBFILES} ${LAYERDIR}/images/*.bb ${LAYERDIR}/images/*.bbappend \ - ${LAYERDIR}/recipes-*/*/*.bb ${LAYERDIR}/recipes-*/*/*.bbappend" - -BBFILE_COLLECTIONS += "rt" -BBFILE_PATTERN_rt := "^${LAYERDIR}/" -BBFILE_PRIORITY_rt = "8" - -# This layer builds images using a PREEMPT_RT kernel. Override any machine -# specified kernel providers and leave it up to the kernel recipe to -# determine COMPATIBLE_MACHINE. -PREFERRED_PROVIDER_virtual/kernel = "linux-yocto-rt" diff --git a/meta-rt/images/core-image-rt-sdk.bb b/meta-rt/images/core-image-rt-sdk.bb deleted file mode 100644 index 6e983433aa..0000000000 --- a/meta-rt/images/core-image-rt-sdk.bb +++ /dev/null @@ -1,15 +0,0 @@ -# -# 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-rt/images/core-image-rt.bb b/meta-rt/images/core-image-rt.bb deleted file mode 100644 index e11f159f7a..0000000000 --- a/meta-rt/images/core-image-rt.bb +++ /dev/null @@ -1,12 +0,0 @@ -# -# 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-rt/recipes-kernel/linux/linux-yocto-rt_2.6.34.bb b/meta-rt/recipes-kernel/linux/linux-yocto-rt_2.6.34.bb deleted file mode 100644 index 0ca53ae436..0000000000 --- a/meta-rt/recipes-kernel/linux/linux-yocto-rt_2.6.34.bb +++ /dev/null @@ -1,44 +0,0 @@ -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-rt/recipes-kernel/linux/linux-yocto-rt_3.0.bb b/meta-rt/recipes-kernel/linux/linux-yocto-rt_3.0.bb deleted file mode 100644 index c8a175dad8..0000000000 --- a/meta-rt/recipes-kernel/linux/linux-yocto-rt_3.0.bb +++ /dev/null @@ -1,46 +0,0 @@ -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-rt/recipes-tests/rt-tests/rt-tests_0.73.bb b/meta-rt/recipes-tests/rt-tests/rt-tests_0.73.bb deleted file mode 100644 index 6334bcdeef..0000000000 --- a/meta-rt/recipes-tests/rt-tests/rt-tests_0.73.bb +++ /dev/null @@ -1,22 +0,0 @@ -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} -} 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} +} -- cgit v1.2.3