[yocto] A question on adding a new program to a new meta layer

Bruce Ashfield bruce.ashfield at windriver.com
Thu Mar 7 17:45:09 PST 2013


On 13-03-07 4:43 PM, Insop Song wrote:
> Hi Bruce,
>
>
>> What do you have in your "defconfig" ? I'm about to push patches that
>> will make enabling sched_dealine a KERNEL_FEATURE option, which makes
>> it even easier to use.
>>
>
> Here is my defconfg
> https://github.com/insop/meta-dl/blob/sched-dl-V7/recipes-kernel/linux/linux/defconfig
>
> I've asked this to Juri, too. So this is for the config for sched_deadline
> "Every defconfig kernel should compile and work
> fine (given HZ=1000, NO_HZ not set and HRTIMERS=y)"
>
> And here are the CONFIG that should set  (Juri, please let us know if
> I miss anything)
> ------
> CONFIG_EXPERIMENTAL = y
> CONFIG_CGROUPS = y
> CONFIG_CGROUP_SCHED = n
> CONFIG_HIGH_RES_TIMERS = y
> CONFIG_PREEMPT = y
> CONFIG_PREEMPT_RT = y
> CONFIG_HZ_1000 = y

So this is all that you should have in your configuration fragment addon.
We are trying to get people to separate BSP configuration from policy
with feature addons being incremental blocks of CONFIG_ items aded
at the end.

There's a base policy in place for every linux-yocto based BSP, all
you need to do is turn on the options that you want for your feature.

That way, as we migrate through kernel versions, tweak performance
options, etc, there is a central policy fragment that is changed and
all BSPs are updated. Versus hunting down hundreds of defconfigs, in
various layers and attempting to get them all synchronized and updated.

For non linux-yocto BSPs, as of 1.4 we can share the out of tree
kernel configuration fragments, and implement a similar policy. If we
are seeking to synchronize efforts, trying to use the configuration
extensions that are available makes a lot of sense to me!

>
> # CONFIG_NO_HZ is not set
>
> ------
>
>> But in the meantime, if you want to enable the support on a yocto BSP,
>> you can change your "defconfig" to be "sched-deadline.cfg" and only
>> put the kernel options required to enable the feature.
>
> I will pick up yocto-3.8 bb file from "master" branch and will try
> this way shortly.


Sounds good!

Bruce

>
> Regards,
>
> Insop
>
>>
>> Cheers,
>>
>> Bruce
>>
>>
>>>
>>>    PV = "3.8"
>>> -PR = "dl7"
>>> +PR = "dl"
>>>
>>>    KSRC ?= ""
>>>    S = '${@base_conditional("KSRC", "", "${WORKDIR}/git", "${KSRC}", d)}'
>>>
>>> Thank you.
>>>
>>> Insop
>>>
>>> On Wed, Mar 6, 2013 at 8:00 PM, Bruce Ashfield
>>> <bruce.ashfield at windriver.com>  wrote:
>>>>
>>>> On 13-03-05 1:54 AM, Insop Song wrote:
>>>>>
>>>>>
>>>>> Hi,
>>>>>
>>>>> I am preparing a new meta layer for testing and promoting a
>>>>> sched_deadline scheduler, called "meta-dl". I am planning to add
>>>>> scheduler testing tools and different kernel versions as well.
>>>>> - http://insop.github.com/meta-dl/
>>>>
>>>>
>>>>
>>>> FYI: I've already merged and staged sched_dl in linux-yocto_3.8:
>>>>
>>>>
>>>> http://git.yoctoproject.org/cgit/cgit.cgi/linux-yocto-3.8/log/?h=standard/edf
>>>>
>>>> I'll be supporting it there as well, so it makes sense to coordinate
>>>> our efforts around kernels, configurations and benchmarks.
>>>>
>>>> Juri and I talked about this @ ELC a few weeks ago (I've added
>>>> him to the cc as well), and rather than hiding sched_deadline
>>>> kernel support in a custom kernel layer, I'd like to try and get
>>>> more eyes on it via linux-yocto .. so if we can all coordinate our
>>>> efforts here, that would be much better.
>>>>
>>>> Cheers,
>>>>
>>>> Bruce
>>>>
>>>>>
>>>>> With the help of hands-on kernel lab (thank you Tom and Darren), I am
>>>>> able to make kernel with sched_deadline enabled.
>>>>>
>>>>>
>>>>> Now, I am having some trouble of adding testing tools to this meta-dl,
>>>>> and hope I can get some help from you.
>>>>>
>>>>> - problem: adding a new software into my meta-dl layer
>>>>>
>>>>> - symtom and questions?
>>>>> 1. bitbake core-image-minimal (normal image build) won't include the
>>>>> additional program that I listed in .bb file below
>>>>> 2. If I do "bitbake schedtool-dl -c install" it builds and install,
>>>>> but at "i586" location instead of my machine staging rootfs
>>>>> (dl-qemux86)
>>>>>
>>>>>
>>>>>
>>>>> - Here is my .bb file that pulls an additional program.
>>>>>
>>>>>
>>>>> https://github.com/insop/meta-dl/blob/sched-dl-V7/recipes-tools/schedtool-dl/schedtool-dl.bb
>>>>> ===
>>>>> DESCRIPTION = "schedtool-dl (scheduler test tool) for deadline
>>>>> scheduler"
>>>>> HOMEPAGE = "https://github.com/insop/schedtool-dl"
>>>>> SECTION = "base"
>>>>> LICENSE = "GPLv2"
>>>>> LIC_FILES_CHKSUM =
>>>>> "file://Makefile;endline=55;md5=e4b4e8ed9c2132e1d727a1bb5e3bd984"
>>>>> PR = "r1"
>>>>>
>>>>> SRC_URI = "git://github.com/insop/schedtool-dl.git;protocol=git"
>>>>> SRCREV = "${AUTOREV}"
>>>>>
>>>>> S = "${WORKDIR}/git"
>>>>>
>>>>> do_compile() {
>>>>>            oe_runmake
>>>>> }
>>>>>
>>>>> do_install() {
>>>>>            oe_runmake install DESTDIR=${D}
>>>>> }
>>>>>
>>>>> PARALLEL_MAKE = ""
>>>>>
>>>>> BBCLASSEXTEND = "native"
>>>>>
>>>>> COMPATIBLE_MACHINE_dl-qemux86 = "dl-qemux86"
>>>>> ====
>>>>>
>>>>>
>>>>> - I've updated my conf/layer.conf file to include above file
>>>>> https://github.com/insop/meta-dl/blob/sched-dl-V7/conf/layer.conf
>>>>> ====
>>>>> # We have a conf and classes directory, add to BBPATH
>>>>> BBPATH := "${BBPATH}:${LAYERDIR}"
>>>>>
>>>>> # We have a recipes directory, add to BBFILES
>>>>> BBFILES := "${BBFILES} ${LAYERDIR}/recipes-*/*/*.bb \
>>>>>            ${LAYERDIR}/recipes-*/*/*.bbappend"
>>>>>
>>>>> BBFILE_COLLECTIONS += "dl-qemux86"
>>>>> BBFILE_PATTERN_dl-qemux86 := "^${LAYERDIR}/"
>>>>> BBFILE_PRIORITY_dl-qemux86 = "6"
>>>>> =====
>>>>>
>>>>>
>>>>>
>>>>> Thank you.
>>>>>
>>>>> Regards,
>>>>>
>>>>> Insop
>>>>>
>>>>>
>>>>> - ref:
>>>>> 1. sched_deadline:
>>>>> https://events.linuxfoundation.org/events/linuxcon-europe/song
>>>>> 2. sched_deadline:
>>>>>
>>>>>
>>>>> http://events.linuxfoundation.org/images/stories/slides/elc2013_kobayashi.pdf?a
>>>>> _______________________________________________
>>>>> yocto mailing list
>>>>> yocto at yoctoproject.org
>>>>> https://lists.yoctoproject.org/listinfo/yocto
>>>>
>>>>
>>>>
>>> _______________________________________________
>>> yocto mailing list
>>> yocto at yoctoproject.org
>>> https://lists.yoctoproject.org/listinfo/yocto
>>>
>>




More information about the yocto mailing list