All of lore.kernel.org
 help / color / mirror / Atom feed
* [PATCH 1/4] linux-yocto-rt: initial PREEMPT_RT recipe for the linux-yocto stable kernel
  2010-12-18  0:08 [PATCH 0/4] Initial Real-Time Linux recipes Darren Hart
@ 2010-12-10 22:53 ` Darren Hart
  2010-12-20  5:20   ` Bruce Ashfield
  2010-12-10 23:33 ` [PATCH 3/4] poky-image-minimal-rt*: Add initial real-time image recipes Darren Hart
                   ` (4 subsequent siblings)
  5 siblings, 1 reply; 11+ messages in thread
From: Darren Hart @ 2010-12-10 22:53 UTC (permalink / raw)
  To: poky, tom.zanussi, bruce.ashfield

Signed-off-by: Darren Hart <dvhart@linux.intel.com>
---
 .../conf/distro/include/poky-default-revisions.inc |    3 +
 .../linux/linux-yocto-rt_stablegit.bb              |   47 ++++++++++++++++++++
 2 files changed, 50 insertions(+), 0 deletions(-)
 create mode 100644 meta/recipes-kernel/linux/linux-yocto-rt_stablegit.bb

diff --git a/meta/conf/distro/include/poky-default-revisions.inc b/meta/conf/distro/include/poky-default-revisions.inc
index 0612b7d..efb4a5d 100644
--- a/meta/conf/distro/include/poky-default-revisions.inc
+++ b/meta/conf/distro/include/poky-default-revisions.inc
@@ -95,6 +95,9 @@ SRCREV_machine_pn-linux-yocto-stable_routerstationpro ?= "2ec2edaf256dd8500ee3d4
 SRCREV_machine_pn-linux-yocto-stable_mpc8315e-rdb ?= "986e6eb66c26007cee7916d5d12f4756e6b5436f"
 SRCREV_machine_pn-linux-yocto-stable_beagleboard ?= "0431115c9d720fee5bb105f6a7411efb4f851d26"
 SRCREV_meta_pn-linux-yocto-stable ?= "50ccd2b3213b6a1bacb3f898c035119802dac420"
+# preempt_rt SRCREVs
+SRCREV_machine_pn-linux-yocto-rt_qemux86-64 ?= "f49444f06875894389e640bcda6c3f6ceb1f0c3e"
+SRCREV_meta_pn-linux-yocto-rt ?= "50ccd2b3213b6a1bacb3f898c035119802dac420"
 # development SRCREVs
 SRCREV_machine_pn-linux-yocto_qemuarm = "87e00a2d47ba80b4ad1f9170cb3f6cf81f21d739"
 SRCREV_machine_pn-linux-yocto_qemumips = "7231e473dd981a28e3cea9f677ed60583e731550"
diff --git a/meta/recipes-kernel/linux/linux-yocto-rt_stablegit.bb b/meta/recipes-kernel/linux/linux-yocto-rt_stablegit.bb
new file mode 100644
index 0000000..cb182da
--- /dev/null
+++ b/meta/recipes-kernel/linux/linux-yocto-rt_stablegit.bb
@@ -0,0 +1,47 @@
+inherit kernel
+require linux-yocto.inc
+
+KMACHINE_qemux86  = "common_pc/base"
+KMACHINE_qemux86-64  = "common_pc_64"
+KMACHINE_qemuppc  = "qemu_ppc32"
+KMACHINE_qemumips = "mti_malta32_be"
+KMACHINE_qemuarm  = "arm_versatile_926ejs"
+KMACHINE_atom-pc  = "atom-pc"
+KMACHINE_routerstationpro = "routerstationpro"
+KMACHINE_mpc8315e-rdb = "fsl-mpc8315e-rdb"
+KMACHINE_beagleboard = "beagleboard"
+
+LINUX_VERSION ?= "2.6.34"
+LINUX_KERNEL_TYPE = "preempt_rt"
+LINUX_VERSION_EXTENSION ?= "-yocto-${LINUX_KERNEL_TYPE_EXTENSION}"
+
+PR = "r0"
+PV = "${LINUX_VERSION}+git${SRCPV}"
+SRCREV_FORMAT = "meta_machine"
+
+COMPATIBLE_MACHINE = "(qemux86-64)"
+
+# this performs a fixup on the SRCREV for new/undefined BSPs
+python __anonymous () {
+    import bb, re, string
+
+    rev = bb.data.getVar("SRCREV_machine", d, 1)
+    if rev == "standard":
+        bb.data.setVar("SRCREV_machine", "${SRCREV_meta}", d)
+
+    kerntype = string.replace(bb.data.expand("${LINUX_KERNEL_TYPE}", d), "_", "-")
+    bb.data.setVar("LINUX_KERNEL_TYPE_EXTENSION", kerntype, d)
+}
+
+SRC_URI = "git://git.pokylinux.org/linux-2.6-windriver.git;protocol=git;fullclone=1;branch=${KBRANCH};name=machine \
+           git://git.pokylinux.org/linux-2.6-windriver.git;protocol=git;noclone=1;branch=wrs_meta;name=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 linux-tools.inc
-- 
1.7.2.3



^ permalink raw reply related	[flat|nested] 11+ messages in thread

* [PATCH 3/4] poky-image-minimal-rt*: Add initial real-time image recipes
  2010-12-18  0:08 [PATCH 0/4] Initial Real-Time Linux recipes Darren Hart
  2010-12-10 22:53 ` [PATCH 1/4] linux-yocto-rt: initial PREEMPT_RT recipe for the linux-yocto stable kernel Darren Hart
@ 2010-12-10 23:33 ` Darren Hart
  2010-12-17 23:34 ` [PATCH 2/4] rt-tests: add the PREEMPT_RT rt-tests testsuite and recipes-tests directory Darren Hart
                   ` (3 subsequent siblings)
  5 siblings, 0 replies; 11+ messages in thread
From: Darren Hart @ 2010-12-10 23:33 UTC (permalink / raw)
  To: poky, tom.zanussi, bruce.ashfield

Add poky-image-minimal-rt* image recipes. They are based on the minimal recipe
and add rt-tests for basic evaluation of a board with a PREEMPT_RT kernel.

Signed-off-by: Darren Hart <dvhart@linux.intel.com>
---
 .../images/poky-image-minimal-rt-directdisk.bb     |   15 +++++++++++++++
 .../images/poky-image-minimal-rt-live.bb           |   15 +++++++++++++++
 meta/recipes-core/images/poky-image-minimal-rt.bb  |   15 +++++++++++++++
 3 files changed, 45 insertions(+), 0 deletions(-)
 create mode 100644 meta/recipes-core/images/poky-image-minimal-rt-directdisk.bb
 create mode 100644 meta/recipes-core/images/poky-image-minimal-rt-live.bb
 create mode 100644 meta/recipes-core/images/poky-image-minimal-rt.bb

diff --git a/meta/recipes-core/images/poky-image-minimal-rt-directdisk.bb b/meta/recipes-core/images/poky-image-minimal-rt-directdisk.bb
new file mode 100644
index 0000000..8f276d4
--- /dev/null
+++ b/meta/recipes-core/images/poky-image-minimal-rt-directdisk.bb
@@ -0,0 +1,15 @@
+#
+# Copyright (C) 2010 Intel Corporation.
+#
+
+require poky-image-directdisk.inc
+
+DESCRIPTION = "Bootable Minimal Real-Time Direct Disk Image"
+
+ROOTFS = "${DEPLOY_DIR_IMAGE}/poky-image-minimal-rt-${MACHINE}.ext3"
+
+LICENSE = "MIT"
+
+do_bootdirectdisk[depends] += "poky-image-minimal-rt:do_rootfs"
+
+
diff --git a/meta/recipes-core/images/poky-image-minimal-rt-live.bb b/meta/recipes-core/images/poky-image-minimal-rt-live.bb
new file mode 100644
index 0000000..988c270
--- /dev/null
+++ b/meta/recipes-core/images/poky-image-minimal-rt-live.bb
@@ -0,0 +1,15 @@
+#
+# Copyright (C) 2010 Intel Corporation.
+#
+
+DESCRIPTION = "Bootable Live Minimal Real-Time Linux Image"
+
+require recipes-core/images/poky-image-live.inc
+
+LABELS += "boot install"
+
+ROOTFS = "${DEPLOY_DIR_IMAGE}/poky-image-rt-${MACHINE}.ext3"
+
+LICENSE = "MIT"
+
+do_bootimg[depends] += "poky-image-minimal-rt:do_rootfs"
diff --git a/meta/recipes-core/images/poky-image-minimal-rt.bb b/meta/recipes-core/images/poky-image-minimal-rt.bb
new file mode 100644
index 0000000..cbc69c4
--- /dev/null
+++ b/meta/recipes-core/images/poky-image-minimal-rt.bb
@@ -0,0 +1,15 @@
+#
+# Copyright (C) 2010 Intel Corporation.
+#
+
+# For best results, be sure to select a PREEMPT_RT kernel in your machine
+# config or in your local.conf. For example:
+# PREFERRED_PROVIDER_virtual/kernel ?= "linux-yocto-rt"
+
+DESCRIPTION = "Minimal Real-Time Linux Image"
+
+require recipes-core/images/poky-image-minimal.bb
+
+IMAGE_INSTALL += "rt-tests"
+
+LICENSE = "MIT"
-- 
1.7.2.3



^ permalink raw reply related	[flat|nested] 11+ messages in thread

* [PATCH 2/4] rt-tests: add the PREEMPT_RT rt-tests testsuite and recipes-tests directory
  2010-12-18  0:08 [PATCH 0/4] Initial Real-Time Linux recipes Darren Hart
  2010-12-10 22:53 ` [PATCH 1/4] linux-yocto-rt: initial PREEMPT_RT recipe for the linux-yocto stable kernel Darren Hart
  2010-12-10 23:33 ` [PATCH 3/4] poky-image-minimal-rt*: Add initial real-time image recipes Darren Hart
@ 2010-12-17 23:34 ` Darren Hart
  2010-12-18  0:05 ` [PATCH 4/4] machine/qemu: Allow for users to override the preferred kernel version Darren Hart
                   ` (2 subsequent siblings)
  5 siblings, 0 replies; 11+ messages in thread
From: Darren Hart @ 2010-12-17 23:34 UTC (permalink / raw)
  To: poky, tom.zanussi, bruce.ashfield

The rt-tests test-suite is a collection of tests meant to measure the
latency and determinism of the Linux PREEMPT_RT kernel.

Signed-off-by: Darren Hart <dvhart@linux.intel.com>
---
 meta/recipes-tests/rt/rt-tests_git.bb |   22 ++++++++++++++++++++++
 1 files changed, 22 insertions(+), 0 deletions(-)
 create mode 100644 meta/recipes-tests/rt/rt-tests_git.bb

diff --git a/meta/recipes-tests/rt/rt-tests_git.bb b/meta/recipes-tests/rt/rt-tests_git.bb
new file mode 100644
index 0000000..35af022
--- /dev/null
+++ b/meta/recipes-tests/rt/rt-tests_git.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 = ${AUTOREV}
+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}
+}
-- 
1.7.2.3



^ permalink raw reply related	[flat|nested] 11+ messages in thread

* [PATCH 4/4] machine/qemu: Allow for users to override the preferred kernel version
  2010-12-18  0:08 [PATCH 0/4] Initial Real-Time Linux recipes Darren Hart
                   ` (2 preceding siblings ...)
  2010-12-17 23:34 ` [PATCH 2/4] rt-tests: add the PREEMPT_RT rt-tests testsuite and recipes-tests directory Darren Hart
@ 2010-12-18  0:05 ` Darren Hart
  2010-12-20  5:24   ` Bruce Ashfield
  2010-12-18  0:27 ` [PATCH 0/4] Initial Real-Time Linux recipes Darren Hart
  2010-12-20 19:47 ` [PATCH 0/4] Initial Real-Time Linux recipes (DO NOT PULL) Darren Hart
  5 siblings, 1 reply; 11+ messages in thread
From: Darren Hart @ 2010-12-18  0:05 UTC (permalink / raw)
  To: poky, tom.zanussi, bruce.ashfield

The linux-yocto-rt kernel has been boot tested on qemux86-64. Unlock
the preferred provider for virtual/kernel so it can be selected and
used.

Signed-off-by: Darren Hart <dvhart@linux.intel.com>
---
 meta/conf/machine/include/qemu.inc |    2 +-
 1 files changed, 1 insertions(+), 1 deletions(-)

diff --git a/meta/conf/machine/include/qemu.inc b/meta/conf/machine/include/qemu.inc
index 502e24f..61281bf 100644
--- a/meta/conf/machine/include/qemu.inc
+++ b/meta/conf/machine/include/qemu.inc
@@ -15,7 +15,7 @@ IMAGE_ROOTFS_SIZE_ext3 ?= "280000"
 RDEPENDS_kernel-base = ""
 
 # Use a common kernel recipe for all QEMU machines
-PREFERRED_PROVIDER_virtual/kernel = "linux-yocto"
+PREFERRED_PROVIDER_virtual/kernel ?= "linux-yocto"
 #PREFERRED_PROVIDER_linux-libc-headers ?= "linux-libc-headers-yocto"
 
 EXTRA_IMAGEDEPENDS += "qemu-native qemu-helper-native"
-- 
1.7.2.3



^ permalink raw reply related	[flat|nested] 11+ messages in thread

* [PATCH 0/4] Initial Real-Time Linux recipes
@ 2010-12-18  0:08 Darren Hart
  2010-12-10 22:53 ` [PATCH 1/4] linux-yocto-rt: initial PREEMPT_RT recipe for the linux-yocto stable kernel Darren Hart
                   ` (5 more replies)
  0 siblings, 6 replies; 11+ messages in thread
From: Darren Hart @ 2010-12-18  0:08 UTC (permalink / raw)
  To: poky, tom.zanussi, bruce.ashfield

This patch provides an initial set of PREEMPT_RT kernel and related
test and image recipes. The poky-image-minimal-rt image has been boot
tested on qemux86-64, and that is currently the only "COMPATIBLE_MACHINE".
More will be added as they are tested and confirmed working.

To make use of the rt-tests pacakge included in the new images, you need
to select linux-yocto-rt as the preferred kernel provider in your local.conf
or in a supported machine config. qemu.inc has been updated to allow for
the setting of the kernel provider in your local.conf.

It was my intent to have the image specify the require kernel, but things
don't really work that way. As such, it may be that having the images
just to add rt-tests is overkill and unecessarily pollutes the images
directory. I'm open to ideas on how to best go about building rt images.

Pull URL: git://git.pokylinux.org/poky-contrib.git
  Branch: dvhart/rt
  Browse: http://git.pokylinux.org/cgit.cgi/poky-contrib/log/?h=dvhart/rt

Thanks,
    Darren Hart <dvhart@linux.intel.com>
---


Darren Hart (4):
  linux-yocto-rt: initial PREEMPT_RT recipe for the linux-yocto stable
    kernel
  rt-tests: add the PREEMPT_RT rt-tests testsuite and recipes-tests
    directory
  poky-image-minimal-rt*: Add initial real-time image recipes
  machine/qemu: Allow for users to override the preferred kernel
    version

 .../conf/distro/include/poky-default-revisions.inc |    3 +
 meta/conf/machine/include/qemu.inc                 |    2 +-
 .../images/poky-image-minimal-rt-directdisk.bb     |   15 ++++++
 .../images/poky-image-minimal-rt-live.bb           |   15 ++++++
 meta/recipes-core/images/poky-image-minimal-rt.bb  |   15 ++++++
 .../linux/linux-yocto-rt_stablegit.bb              |   47 ++++++++++++++++++++
 meta/recipes-tests/rt/rt-tests_git.bb              |   22 +++++++++
 7 files changed, 118 insertions(+), 1 deletions(-)
 create mode 100644 meta/recipes-core/images/poky-image-minimal-rt-directdisk.bb
 create mode 100644 meta/recipes-core/images/poky-image-minimal-rt-live.bb
 create mode 100644 meta/recipes-core/images/poky-image-minimal-rt.bb
 create mode 100644 meta/recipes-kernel/linux/linux-yocto-rt_stablegit.bb
 create mode 100644 meta/recipes-tests/rt/rt-tests_git.bb

-- 
1.7.2.3



^ permalink raw reply	[flat|nested] 11+ messages in thread

* Re: [PATCH 0/4] Initial Real-Time Linux recipes
  2010-12-18  0:08 [PATCH 0/4] Initial Real-Time Linux recipes Darren Hart
                   ` (3 preceding siblings ...)
  2010-12-18  0:05 ` [PATCH 4/4] machine/qemu: Allow for users to override the preferred kernel version Darren Hart
@ 2010-12-18  0:27 ` Darren Hart
  2010-12-20 19:47 ` [PATCH 0/4] Initial Real-Time Linux recipes (DO NOT PULL) Darren Hart
  5 siblings, 0 replies; 11+ messages in thread
From: Darren Hart @ 2010-12-18  0:27 UTC (permalink / raw)
  To: poky

Please disregard this thread and respond to the (RESEND) to follow.
I had an error in the recipients.

-- 
Darren Hart
Yocto Linux Kernel


^ permalink raw reply	[flat|nested] 11+ messages in thread

* Re: [PATCH 1/4] linux-yocto-rt: initial PREEMPT_RT recipe for the linux-yocto stable kernel
  2010-12-10 22:53 ` [PATCH 1/4] linux-yocto-rt: initial PREEMPT_RT recipe for the linux-yocto stable kernel Darren Hart
@ 2010-12-20  5:20   ` Bruce Ashfield
  2010-12-20 17:59     ` Darren Hart
  0 siblings, 1 reply; 11+ messages in thread
From: Bruce Ashfield @ 2010-12-20  5:20 UTC (permalink / raw)
  To: Darren Hart; +Cc: bruce.ashfield, poky

On Fri, Dec 10, 2010 at 5:53 PM, Darren Hart <dvhart@linux.intel.com> wrote:
> Signed-off-by: Darren Hart <dvhart@linux.intel.com>
> ---
>  .../conf/distro/include/poky-default-revisions.inc |    3 +
>  .../linux/linux-yocto-rt_stablegit.bb              |   47 ++++++++++++++++++++
>  2 files changed, 50 insertions(+), 0 deletions(-)
>  create mode 100644 meta/recipes-kernel/linux/linux-yocto-rt_stablegit.bb
>
> diff --git a/meta/conf/distro/include/poky-default-revisions.inc b/meta/conf/distro/include/poky-default-revisions.inc
> index 0612b7d..efb4a5d 100644
> --- a/meta/conf/distro/include/poky-default-revisions.inc
> +++ b/meta/conf/distro/include/poky-default-revisions.inc
> @@ -95,6 +95,9 @@ SRCREV_machine_pn-linux-yocto-stable_routerstationpro ?= "2ec2edaf256dd8500ee3d4
>  SRCREV_machine_pn-linux-yocto-stable_mpc8315e-rdb ?= "986e6eb66c26007cee7916d5d12f4756e6b5436f"
>  SRCREV_machine_pn-linux-yocto-stable_beagleboard ?= "0431115c9d720fee5bb105f6a7411efb4f851d26"
>  SRCREV_meta_pn-linux-yocto-stable ?= "50ccd2b3213b6a1bacb3f898c035119802dac420"
> +# preempt_rt SRCREVs
> +SRCREV_machine_pn-linux-yocto-rt_qemux86-64 ?= "f49444f06875894389e640bcda6c3f6ceb1f0c3e"
> +SRCREV_meta_pn-linux-yocto-rt ?= "50ccd2b3213b6a1bacb3f898c035119802dac420"
>  # development SRCREVs
>  SRCREV_machine_pn-linux-yocto_qemuarm = "87e00a2d47ba80b4ad1f9170cb3f6cf81f21d739"
>  SRCREV_machine_pn-linux-yocto_qemumips = "7231e473dd981a28e3cea9f677ed60583e731550"
> diff --git a/meta/recipes-kernel/linux/linux-yocto-rt_stablegit.bb b/meta/recipes-kernel/linux/linux-yocto-rt_stablegit.bb
> new file mode 100644
> index 0000000..cb182da
> --- /dev/null
> +++ b/meta/recipes-kernel/linux/linux-yocto-rt_stablegit.bb
> @@ -0,0 +1,47 @@
> +inherit kernel
> +require linux-yocto.inc
> +
> +KMACHINE_qemux86  = "common_pc/base"

For stable, this one would be common_pc, which I see points out a bug in
the -stable recipe. I'll fix that one in the morning.

> +KMACHINE_qemux86-64  = "common_pc_64"
> +KMACHINE_qemuppc  = "qemu_ppc32"
> +KMACHINE_qemumips = "mti_malta32_be"
> +KMACHINE_qemuarm  = "arm_versatile_926ejs"
> +KMACHINE_atom-pc  = "atom-pc"
> +KMACHINE_routerstationpro = "routerstationpro"
> +KMACHINE_mpc8315e-rdb = "fsl-mpc8315e-rdb"
> +KMACHINE_beagleboard = "beagleboard"
> +
> +LINUX_VERSION ?= "2.6.34"
> +LINUX_KERNEL_TYPE = "preempt_rt"
> +LINUX_VERSION_EXTENSION ?= "-yocto-${LINUX_KERNEL_TYPE_EXTENSION}"

In the initial factoring of the recipes had these in a common location, but
when the -stable and -dev kernels split the branching I had to move
the branch specifications, kernel version and extension into the specific
recipe files and out of the includes (since they were different).

If we end up with a proliferation of recipes, it does make sense to create
a stablegit.inc and devgit.inc (or some other suitable names), since
we clearly don't want to repeat the machie mappings, and extension
everywhere. I'll toss that into an upcoming series.

> +
> +PR = "r0"
> +PV = "${LINUX_VERSION}+git${SRCPV}"
> +SRCREV_FORMAT = "meta_machine"

Same as this, we can make this part of an include

> +
> +COMPATIBLE_MACHINE = "(qemux86-64)"
> +
> +# this performs a fixup on the SRCREV for new/undefined BSPs
> +python __anonymous () {
> +    import bb, re, string
> +
> +    rev = bb.data.getVar("SRCREV_machine", d, 1)
> +    if rev == "standard":
> +        bb.data.setVar("SRCREV_machine", "${SRCREV_meta}", d)
> +
> +    kerntype = string.replace(bb.data.expand("${LINUX_KERNEL_TYPE}", d), "_", "-")
> +    bb.data.setVar("LINUX_KERNEL_TYPE_EXTENSION", kerntype, d)
> +}

This can probably go away soon, either to somewhere common, or away
completely but for now it is required.

> +
> +SRC_URI = "git://git.pokylinux.org/linux-2.6-windriver.git;protocol=git;fullclone=1;branch=${KBRANCH};name=machine \
> +           git://git.pokylinux.org/linux-2.6-windriver.git;protocol=git;noclone=1;branch=wrs_meta;name=meta"

This should be inherited as well, more to factor out, good to see more
recipes that highlight what I missed.

> +
> +# 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

Probably the tasks as well. Something to try at least.

But it looks good, not as small as we'd want, but getting there. Having
too small a recipe with everything factored out is also bad, but the arcane
parts should at least be made common.

Bruce

> +
> +require linux-tools.inc
> --
> 1.7.2.3
>
> _______________________________________________
> poky mailing list
> poky@yoctoproject.org
> https://lists.yoctoproject.org/listinfo/poky
>



-- 
"Thou shalt not follow the NULL pointer, for chaos and madness await
thee at its end"


^ permalink raw reply	[flat|nested] 11+ messages in thread

* Re: [PATCH 4/4] machine/qemu: Allow for users to override the preferred kernel version
  2010-12-18  0:05 ` [PATCH 4/4] machine/qemu: Allow for users to override the preferred kernel version Darren Hart
@ 2010-12-20  5:24   ` Bruce Ashfield
  0 siblings, 0 replies; 11+ messages in thread
From: Bruce Ashfield @ 2010-12-20  5:24 UTC (permalink / raw)
  To: Darren Hart; +Cc: bruce.ashfield, poky

On Fri, Dec 17, 2010 at 7:05 PM, Darren Hart <dvhart@linux.intel.com> wrote:
> The linux-yocto-rt kernel has been boot tested on qemux86-64. Unlock
> the preferred provider for virtual/kernel so it can be selected and
> used.

Acked-by: Bruce Ashfield <bruce.ashfield@windriver.com>

We definitely need this.

Bruce

>
> Signed-off-by: Darren Hart <dvhart@linux.intel.com>
> ---
>  meta/conf/machine/include/qemu.inc |    2 +-
>  1 files changed, 1 insertions(+), 1 deletions(-)
>
> diff --git a/meta/conf/machine/include/qemu.inc b/meta/conf/machine/include/qemu.inc
> index 502e24f..61281bf 100644
> --- a/meta/conf/machine/include/qemu.inc
> +++ b/meta/conf/machine/include/qemu.inc
> @@ -15,7 +15,7 @@ IMAGE_ROOTFS_SIZE_ext3 ?= "280000"
>  RDEPENDS_kernel-base = ""
>
>  # Use a common kernel recipe for all QEMU machines
> -PREFERRED_PROVIDER_virtual/kernel = "linux-yocto"
> +PREFERRED_PROVIDER_virtual/kernel ?= "linux-yocto"
>  #PREFERRED_PROVIDER_linux-libc-headers ?= "linux-libc-headers-yocto"
>
>  EXTRA_IMAGEDEPENDS += "qemu-native qemu-helper-native"
> --
> 1.7.2.3
>
> _______________________________________________
> poky mailing list
> poky@yoctoproject.org
> https://lists.yoctoproject.org/listinfo/poky
>



-- 
"Thou shalt not follow the NULL pointer, for chaos and madness await
thee at its end"


^ permalink raw reply	[flat|nested] 11+ messages in thread

* Re: [PATCH 1/4] linux-yocto-rt: initial PREEMPT_RT recipe for the linux-yocto stable kernel
  2010-12-20  5:20   ` Bruce Ashfield
@ 2010-12-20 17:59     ` Darren Hart
  2010-12-20 18:08       ` Bruce Ashfield
  0 siblings, 1 reply; 11+ messages in thread
From: Darren Hart @ 2010-12-20 17:59 UTC (permalink / raw)
  To: Bruce Ashfield; +Cc: bruce.ashfield, poky

On 12/19/2010 09:20 PM, Bruce Ashfield wrote:
> On Fri, Dec 10, 2010 at 5:53 PM, Darren Hart<dvhart@linux.intel.com>  wrote:
>> Signed-off-by: Darren Hart<dvhart@linux.intel.com>
>> ---
>>   .../conf/distro/include/poky-default-revisions.inc |    3 +
>>   .../linux/linux-yocto-rt_stablegit.bb              |   47 ++++++++++++++++++++
>>   2 files changed, 50 insertions(+), 0 deletions(-)
>>   create mode 100644 meta/recipes-kernel/linux/linux-yocto-rt_stablegit.bb
>>
>> diff --git a/meta/conf/distro/include/poky-default-revisions.inc b/meta/conf/distro/include/poky-default-revisions.inc
>> index 0612b7d..efb4a5d 100644
>> --- a/meta/conf/distro/include/poky-default-revisions.inc
>> +++ b/meta/conf/distro/include/poky-default-revisions.inc
>> @@ -95,6 +95,9 @@ SRCREV_machine_pn-linux-yocto-stable_routerstationpro ?= "2ec2edaf256dd8500ee3d4
>>   SRCREV_machine_pn-linux-yocto-stable_mpc8315e-rdb ?= "986e6eb66c26007cee7916d5d12f4756e6b5436f"
>>   SRCREV_machine_pn-linux-yocto-stable_beagleboard ?= "0431115c9d720fee5bb105f6a7411efb4f851d26"
>>   SRCREV_meta_pn-linux-yocto-stable ?= "50ccd2b3213b6a1bacb3f898c035119802dac420"
>> +# preempt_rt SRCREVs
>> +SRCREV_machine_pn-linux-yocto-rt_qemux86-64 ?= "f49444f06875894389e640bcda6c3f6ceb1f0c3e"
>> +SRCREV_meta_pn-linux-yocto-rt ?= "50ccd2b3213b6a1bacb3f898c035119802dac420"
>>   # development SRCREVs
>>   SRCREV_machine_pn-linux-yocto_qemuarm = "87e00a2d47ba80b4ad1f9170cb3f6cf81f21d739"
>>   SRCREV_machine_pn-linux-yocto_qemumips = "7231e473dd981a28e3cea9f677ed60583e731550"
>> diff --git a/meta/recipes-kernel/linux/linux-yocto-rt_stablegit.bb b/meta/recipes-kernel/linux/linux-yocto-rt_stablegit.bb
>> new file mode 100644
>> index 0000000..cb182da
>> --- /dev/null
>> +++ b/meta/recipes-kernel/linux/linux-yocto-rt_stablegit.bb
>> @@ -0,0 +1,47 @@
>> +inherit kernel
>> +require linux-yocto.inc
>> +
>> +KMACHINE_qemux86  = "common_pc/base"
>
> For stable, this one would be common_pc, which I see points out a bug in
> the -stable recipe. I'll fix that one in the morning.
>
>> +KMACHINE_qemux86-64  = "common_pc_64"
>> +KMACHINE_qemuppc  = "qemu_ppc32"
>> +KMACHINE_qemumips = "mti_malta32_be"
>> +KMACHINE_qemuarm  = "arm_versatile_926ejs"
>> +KMACHINE_atom-pc  = "atom-pc"
>> +KMACHINE_routerstationpro = "routerstationpro"
>> +KMACHINE_mpc8315e-rdb = "fsl-mpc8315e-rdb"
>> +KMACHINE_beagleboard = "beagleboard"
>> +
>> +LINUX_VERSION ?= "2.6.34"
>> +LINUX_KERNEL_TYPE = "preempt_rt"
>> +LINUX_VERSION_EXTENSION ?= "-yocto-${LINUX_KERNEL_TYPE_EXTENSION}"
>
> In the initial factoring of the recipes had these in a common location, but
> when the -stable and -dev kernels split the branching I had to move
> the branch specifications, kernel version and extension into the specific
> recipe files and out of the includes (since they were different).
>
> If we end up with a proliferation of recipes, it does make sense to create
> a stablegit.inc and devgit.inc (or some other suitable names), since
> we clearly don't want to repeat the machie mappings, and extension
> everywhere. I'll toss that into an upcoming series.
>
>> +
>> +PR = "r0"
>> +PV = "${LINUX_VERSION}+git${SRCPV}"
>> +SRCREV_FORMAT = "meta_machine"
>
> Same as this, we can make this part of an include
>
>> +
>> +COMPATIBLE_MACHINE = "(qemux86-64)"
>> +
>> +# this performs a fixup on the SRCREV for new/undefined BSPs
>> +python __anonymous () {
>> +    import bb, re, string
>> +
>> +    rev = bb.data.getVar("SRCREV_machine", d, 1)
>> +    if rev == "standard":
>> +        bb.data.setVar("SRCREV_machine", "${SRCREV_meta}", d)
>> +
>> +    kerntype = string.replace(bb.data.expand("${LINUX_KERNEL_TYPE}", d), "_", "-")
>> +    bb.data.setVar("LINUX_KERNEL_TYPE_EXTENSION", kerntype, d)
>> +}
>
> This can probably go away soon, either to somewhere common, or away
> completely but for now it is required.
>
>> +
>> +SRC_URI = "git://git.pokylinux.org/linux-2.6-windriver.git;protocol=git;fullclone=1;branch=${KBRANCH};name=machine \
>> +           git://git.pokylinux.org/linux-2.6-windriver.git;protocol=git;noclone=1;branch=wrs_meta;name=meta"
>
> This should be inherited as well, more to factor out, good to see more
> recipes that highlight what I missed.
>
>> +
>> +# 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
>
> Probably the tasks as well. Something to try at least.
>
> But it looks good, not as small as we'd want, but getting there. Having
> too small a recipe with everything factored out is also bad, but the arcane
> parts should at least be made common.

Agreed on all points. Much of the above should be in an include. I think 
we should keep "COMPATIBLE MACHINES", "KERNEL_FEATURES", and possible 
"KMACHINE_*" in each recipe instance. Or are we better off to just 
override them in each instance?

-- 
Darren Hart
Yocto Linux Kernel


^ permalink raw reply	[flat|nested] 11+ messages in thread

* Re: [PATCH 1/4] linux-yocto-rt: initial PREEMPT_RT recipe for the linux-yocto stable kernel
  2010-12-20 17:59     ` Darren Hart
@ 2010-12-20 18:08       ` Bruce Ashfield
  0 siblings, 0 replies; 11+ messages in thread
From: Bruce Ashfield @ 2010-12-20 18:08 UTC (permalink / raw)
  To: Darren Hart; +Cc: bruce.ashfield, poky

On Mon, Dec 20, 2010 at 12:59 PM, Darren Hart <dvhart@linux.intel.com> wrote:
> On 12/19/2010 09:20 PM, Bruce Ashfield wrote:
>>
>> On Fri, Dec 10, 2010 at 5:53 PM, Darren Hart<dvhart@linux.intel.com>
>>  wrote:
>>>
>>> Signed-off-by: Darren Hart<dvhart@linux.intel.com>
>>> ---
>>>  .../conf/distro/include/poky-default-revisions.inc |    3 +
>>>  .../linux/linux-yocto-rt_stablegit.bb              |   47
>>> ++++++++++++++++++++
>>>  2 files changed, 50 insertions(+), 0 deletions(-)
>>>  create mode 100644 meta/recipes-kernel/linux/linux-yocto-rt_stablegit.bb
>>>
>>> diff --git a/meta/conf/distro/include/poky-default-revisions.inc
>>> b/meta/conf/distro/include/poky-default-revisions.inc
>>> index 0612b7d..efb4a5d 100644
>>> --- a/meta/conf/distro/include/poky-default-revisions.inc
>>> +++ b/meta/conf/distro/include/poky-default-revisions.inc
>>> @@ -95,6 +95,9 @@ SRCREV_machine_pn-linux-yocto-stable_routerstationpro
>>> ?= "2ec2edaf256dd8500ee3d4
>>>  SRCREV_machine_pn-linux-yocto-stable_mpc8315e-rdb ?=
>>> "986e6eb66c26007cee7916d5d12f4756e6b5436f"
>>>  SRCREV_machine_pn-linux-yocto-stable_beagleboard ?=
>>> "0431115c9d720fee5bb105f6a7411efb4f851d26"
>>>  SRCREV_meta_pn-linux-yocto-stable ?=
>>> "50ccd2b3213b6a1bacb3f898c035119802dac420"
>>> +# preempt_rt SRCREVs
>>> +SRCREV_machine_pn-linux-yocto-rt_qemux86-64 ?=
>>> "f49444f06875894389e640bcda6c3f6ceb1f0c3e"
>>> +SRCREV_meta_pn-linux-yocto-rt ?=
>>> "50ccd2b3213b6a1bacb3f898c035119802dac420"
>>>  # development SRCREVs
>>>  SRCREV_machine_pn-linux-yocto_qemuarm =
>>> "87e00a2d47ba80b4ad1f9170cb3f6cf81f21d739"
>>>  SRCREV_machine_pn-linux-yocto_qemumips =
>>> "7231e473dd981a28e3cea9f677ed60583e731550"
>>> diff --git a/meta/recipes-kernel/linux/linux-yocto-rt_stablegit.bb
>>> b/meta/recipes-kernel/linux/linux-yocto-rt_stablegit.bb
>>> new file mode 100644
>>> index 0000000..cb182da
>>> --- /dev/null
>>> +++ b/meta/recipes-kernel/linux/linux-yocto-rt_stablegit.bb
>>> @@ -0,0 +1,47 @@
>>> +inherit kernel
>>> +require linux-yocto.inc
>>> +
>>> +KMACHINE_qemux86  = "common_pc/base"
>>
>> For stable, this one would be common_pc, which I see points out a bug in
>> the -stable recipe. I'll fix that one in the morning.
>>
>>> +KMACHINE_qemux86-64  = "common_pc_64"
>>> +KMACHINE_qemuppc  = "qemu_ppc32"
>>> +KMACHINE_qemumips = "mti_malta32_be"
>>> +KMACHINE_qemuarm  = "arm_versatile_926ejs"
>>> +KMACHINE_atom-pc  = "atom-pc"
>>> +KMACHINE_routerstationpro = "routerstationpro"
>>> +KMACHINE_mpc8315e-rdb = "fsl-mpc8315e-rdb"
>>> +KMACHINE_beagleboard = "beagleboard"
>>> +
>>> +LINUX_VERSION ?= "2.6.34"
>>> +LINUX_KERNEL_TYPE = "preempt_rt"
>>> +LINUX_VERSION_EXTENSION ?= "-yocto-${LINUX_KERNEL_TYPE_EXTENSION}"
>>
>> In the initial factoring of the recipes had these in a common location,
>> but
>> when the -stable and -dev kernels split the branching I had to move
>> the branch specifications, kernel version and extension into the specific
>> recipe files and out of the includes (since they were different).
>>
>> If we end up with a proliferation of recipes, it does make sense to create
>> a stablegit.inc and devgit.inc (or some other suitable names), since
>> we clearly don't want to repeat the machie mappings, and extension
>> everywhere. I'll toss that into an upcoming series.
>>
>>> +
>>> +PR = "r0"
>>> +PV = "${LINUX_VERSION}+git${SRCPV}"
>>> +SRCREV_FORMAT = "meta_machine"
>>
>> Same as this, we can make this part of an include
>>
>>> +
>>> +COMPATIBLE_MACHINE = "(qemux86-64)"
>>> +
>>> +# this performs a fixup on the SRCREV for new/undefined BSPs
>>> +python __anonymous () {
>>> +    import bb, re, string
>>> +
>>> +    rev = bb.data.getVar("SRCREV_machine", d, 1)
>>> +    if rev == "standard":
>>> +        bb.data.setVar("SRCREV_machine", "${SRCREV_meta}", d)
>>> +
>>> +    kerntype = string.replace(bb.data.expand("${LINUX_KERNEL_TYPE}", d),
>>> "_", "-")
>>> +    bb.data.setVar("LINUX_KERNEL_TYPE_EXTENSION", kerntype, d)
>>> +}
>>
>> This can probably go away soon, either to somewhere common, or away
>> completely but for now it is required.
>>
>>> +
>>> +SRC_URI =
>>> "git://git.pokylinux.org/linux-2.6-windriver.git;protocol=git;fullclone=1;branch=${KBRANCH};name=machine
>>> \
>>> +
>>> git://git.pokylinux.org/linux-2.6-windriver.git;protocol=git;noclone=1;branch=wrs_meta;name=meta"
>>
>> This should be inherited as well, more to factor out, good to see more
>> recipes that highlight what I missed.
>>
>>> +
>>> +# 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
>>
>> Probably the tasks as well. Something to try at least.
>>
>> But it looks good, not as small as we'd want, but getting there. Having
>> too small a recipe with everything factored out is also bad, but the
>> arcane
>> parts should at least be made common.
>
> Agreed on all points. Much of the above should be in an include. I think we
> should keep "COMPATIBLE MACHINES", "KERNEL_FEATURES", and possible
> "KMACHINE_*" in each recipe instance. Or are we better off to just override
> them in each instance?

compatible machines: per-recipe
kernel_features: per-recipe

kmachine_*: common. It is a mapping of machines to branches, not a guarantee
that they'll work for every recipe. So having the base recipe (stable
vs dev) have
the full list of mappings makes sense.

I've made most of the changes here and will run some tests and send them
out for merging.

cheers,

Bruce

>
> --
> Darren Hart
> Yocto Linux Kernel
>



-- 
"Thou shalt not follow the NULL pointer, for chaos and madness await
thee at its end"


^ permalink raw reply	[flat|nested] 11+ messages in thread

* Re: [PATCH 0/4] Initial Real-Time Linux recipes (DO NOT PULL)
  2010-12-18  0:08 [PATCH 0/4] Initial Real-Time Linux recipes Darren Hart
                   ` (4 preceding siblings ...)
  2010-12-18  0:27 ` [PATCH 0/4] Initial Real-Time Linux recipes Darren Hart
@ 2010-12-20 19:47 ` Darren Hart
  5 siblings, 0 replies; 11+ messages in thread
From: Darren Hart @ 2010-12-20 19:47 UTC (permalink / raw)
  To: poky, tom.zanussi, bruce.ashfield

On 12/17/2010 04:08 PM, Darren Hart wrote:
> RESEND: corrected Bruce's email address, apologies for the duplicate
>
> This patch provides an initial set of PREEMPT_RT kernel and related
> test and image recipes. The poky-image-minimal-rt image has been boot
> tested on qemux86-64, and that is currently the only "COMPATIBLE_MACHINE".
> More will be added as they are tested and confirmed working.
>
> To make use of the rt-tests pacakge included in the new images, you need
> to select linux-yocto-rt as the preferred kernel provider in your local.conf
> or in a supported machine config. qemu.inc has been updated to allow for
> the setting of the kernel provider in your local.conf.
>
> It was my intent to have the image specify the require kernel, but things
> don't really work that way. As such, it may be that having the images
> just to add rt-tests is overkill and unecessarily pollutes the images
> directory. I'm open to ideas on how to best go about building rt images.
>

I'll be redoing these as meta-rt layer and rebase them on fixes to the 
stable kernel recipe from Bruce. Please DO NOT PULL.

--
Darren Hart
Yocto Linux Kernel


^ permalink raw reply	[flat|nested] 11+ messages in thread

end of thread, other threads:[~2010-12-20 19:47 UTC | newest]

Thread overview: 11+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2010-12-18  0:08 [PATCH 0/4] Initial Real-Time Linux recipes Darren Hart
2010-12-10 22:53 ` [PATCH 1/4] linux-yocto-rt: initial PREEMPT_RT recipe for the linux-yocto stable kernel Darren Hart
2010-12-20  5:20   ` Bruce Ashfield
2010-12-20 17:59     ` Darren Hart
2010-12-20 18:08       ` Bruce Ashfield
2010-12-10 23:33 ` [PATCH 3/4] poky-image-minimal-rt*: Add initial real-time image recipes Darren Hart
2010-12-17 23:34 ` [PATCH 2/4] rt-tests: add the PREEMPT_RT rt-tests testsuite and recipes-tests directory Darren Hart
2010-12-18  0:05 ` [PATCH 4/4] machine/qemu: Allow for users to override the preferred kernel version Darren Hart
2010-12-20  5:24   ` Bruce Ashfield
2010-12-18  0:27 ` [PATCH 0/4] Initial Real-Time Linux recipes Darren Hart
2010-12-20 19:47 ` [PATCH 0/4] Initial Real-Time Linux recipes (DO NOT PULL) Darren Hart

This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.