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

Juri Lelli j.lelli at sssup.it
Thu Mar 7 20:02:49 PST 2013


Hi,

On 03/07/2013 01: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
>
> # CONFIG_NO_HZ is not set
>

I actually have:

CONFIG_HIGH_RES_TIMERS = y
CONFIG_PREEMPT = y
CONFIG_HZ_1000 = y
# CONFIG_NO_HZ is not set

all the other options are not required (anymore, as the PREEMPT_RT,
since SCHED_DEADLINE is currently based on 3.8-rc7).

Thanks,

- Juri

> ------
>
>> 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.
>
> 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