All of lore.kernel.org
 help / color / mirror / Atom feed
From: Darren Hart <dvhart@linux.intel.com>
To: Bruce Ashfield <bruce.ashfield@gmail.com>
Cc: bruce.ashfield@intel.com, poky@yoctoproject.org
Subject: Re: [PATCH 1/4] linux-yocto-rt: initial PREEMPT_RT recipe for the linux-yocto stable kernel
Date: Mon, 20 Dec 2010 09:59:14 -0800	[thread overview]
Message-ID: <4D0F9972.4030405@linux.intel.com> (raw)
In-Reply-To: <AANLkTiks2GmL_rgoq0uE_Uz5ecPmQVn5jZxBjE7z3WKE@mail.gmail.com>

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


  reply	other threads:[~2010-12-20 17:59 UTC|newest]

Thread overview: 11+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
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 [this message]
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

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=4D0F9972.4030405@linux.intel.com \
    --to=dvhart@linux.intel.com \
    --cc=bruce.ashfield@gmail.com \
    --cc=bruce.ashfield@intel.com \
    --cc=poky@yoctoproject.org \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
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.