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

martiert at gmail.com martiert at gmail.com
Sun Aug 4 14:23:36 PDT 2013



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.

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