[yocto] Building linux-yocto kernel in own bsp layer

Bruce Ashfield bruce.ashfield at windriver.com
Wed Aug 7 10:23:14 PDT 2013


On 13-08-07 12:31 PM, martiert at gmail.com wrote:
> Bruce, have you had the opportunity to look at this yet?
>

I was about to email on this. I was out of the office last week, but
was just starting on this last night.

Cheers,

Bruce

> - Martin
>
> On 5. aug. 2013, at 05:03, Bruce Ashfield <bruce.ashfield at windriver.com> wrote:
>
>> On 13-08-04 5:23 PM, martiert at gmail.com wrote:
>>>
>>>
>>> On 31. juli 2013, at 14:42, Bruce Ashfield <bruce.ashfield at gmail.com> wrote:
>>>
>>>> On Wed, Jul 31, 2013 at 6:57 AM, Martin Ertsaas <martiert at gmail.com> wrote:
>>>>> On 07/31/13 10:57, Andrea Adami wrote:
>>>>>> On Wed, Jul 31, 2013 at 9:21 AM, Martin Ertsaas <martiert at gmail.com> wrote:
>>>>>>> Hi.
>>>>>>>
>>>>>>> I'm creating my own bsp layer for omap4 chips (Yes, I know of meta-ti,
>>>>>>> but I want to learn how to do this myself :)). I'm trying to use the
>>>>>>> linux-yocto 3.4 kernel,
>>>>>>> and have gotten it to work locally. I then made a
>>>>>>> linux-yocto_3.4.bbappend which contains the following:
>>>>>>>
>>>>>>> COMPATIBLE_MACHINE_pandaboard = "pandaboard"
>>>>>>>
>>>>>>> SRCREV_machine_pandaboard ?= "7eb5fbf903d9db90c3cf371b65e1f2a68d5676d7"
>>>>>>>
>>>>>>> THISDIR := "${@os.path.dirname(bb.data.getVar('FILE', d, True))}"
>>>>>>> FILESEXTRAPATHS_prepend := "${THISDIR}/${PN}-3.4"
>>>>>
>>>>> The defconfig is found. I can see a defconfig in ${WORKDIR} with zero
>>>>> diff to my defconfig. It is, however, not copied from there into
>>>>> ${WORKDIR}/linux.
>>>>
>>>> If you are looking in ${WORKDIR}/linux, you'll never see the defconfig. Even
>>>> in the base kernel class it is copied to the build directory, which is
>>>> linux-$MACHINE-build.
>>>>
>>>> Even after the copy, it is pulled into a secondary set of
>>>> configuration steps that
>>>> allow configuration fragments to be processed and layered on top of
>>>> that baseline
>>>> configuration.
>>>>
>>>> Are you determining that it isn't being used by the existence or non
>>>> existence of a
>>>> file, or are you seeing other issues with the resulting .config ?
>>>
>>> What I see is that I have a ${WORKDIR}/defconfig. The .config in linux-${MACHINE}-build is for a different architecture (x86) than my defconfig, the same holds for the .config.old in the same place. Tried adding B=${WORKDIR}/linux-${MACHINE}-build to my append, but no difference.
>>
>> Can you make your BSP layer available to me ? I need to see this
>> happening on my machines, since all my tests worked here :(
>>
>> B=${WORKDIR}/linux-${MACHINE}-build would already be set by the
>> base classes, so I wouldn't have expected it to make much of a
>> difference.
>>
>> Bruce
>>
>>>>
>>>> Technically you don't even need a defconfig, you can just use a .cfg
>>>> with h/w options
>>>> for the board, but that's a different topic.
>>>>
>>>> Cheers,
>>>>
>>>> Bruce
>>>>
>>>>>
>>>>> I changed it so it uses the colon though, and removed THISDIR as
>>>>> suggested by Paul, but didn't help. I still don't get the config copied
>>>>> in, and if I add the do_configure_prepend myself to do this, I get a
>>>>> message from the kernel building saying my folder is unclean.
>>>>>
>>>>> - Martin
>>>>>
>>>>>> Martin,
>>>>>>
>>>>>> the code in kernel.bbclass does already copy defonfig to .config, see
>>>>>> http://cgit.openembedded.org/openembedded-core/tree/meta/classes/kernel.bbclass#n216
>>>>>>
>>>>>> I think your problem is the deconfig is not found,  you miss a colon at the end.
>>>>>> Use something like
>>>>>>
>>>>>> FILESEXTRAPATHS_prepend :=
>>>>>> "${THISDIR}/${PN}-3.4:${THISDIR}/${PN}:${THISDIR}/files:"
>>>>>>
>>>>>> Cheers
>>>>>>
>>>>>> Andrea
>>>>>>
>>>>>>
>>>>>>> SRC_URI += "file://defconfig"
>>>>>>>
>>>>>>> do_configure_prepend() {
>>>>>>>         cp ${WORKDIR}/defconfig ${S}/.config
>>>>>>> }
>>>>>>>
>>>>>>> Problem I get is, without this configure_prepend, my defconfig is not
>>>>>>> copied into .config the kernel folder. With this however, I get a
>>>>>>> complaint from the kernel that the kernel directory is not clean and I
>>>>>>> have to run make mrproper.
>>>>>>>
>>>>>>> I would greatly appreciate any pointer/help/explanations as to what I
>>>>>>> have done wrong here, and how to fix it. Have been struggling for this
>>>>>>> for a while now, and have no idea what I have done wrong.
>>>>>>>
>>>>>>> Best regards
>>>>>>> Martin Ertsaas
>>>>>>> _______________________________________________
>>>>>>> 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
>>>>
>>>>
>>>>
>>>> --
>>>> "Thou shalt not follow the NULL pointer, for chaos and madness await
>>>> thee at its end"
>>> _______________________________________________
>>> yocto mailing list
>>> yocto at yoctoproject.org
>>> https://lists.yoctoproject.org/listinfo/yocto
>>




More information about the yocto mailing list