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

Bruce Ashfield bruce.ashfield at gmail.com
Wed Jul 31 05:42:30 PDT 2013


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 ?

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"



More information about the yocto mailing list