[yocto] changing kernel config in Morty build

Bruce Ashfield bruce.ashfield at windriver.com
Tue Oct 9 20:16:00 PDT 2018


On 2018-10-05 7:26 PM, Greg Wilson-Lindberg wrote:
> Hi Bruce,
> I've been able to reproduce the problem in a more minimal environment.
> 
> To build a basic Yocto Raspberry Pi environment I based my build on the instructions found here:
> https://themeaningfulengineer.github.io/exploring-yocto-with-raspberrypi/
> 
> The steps that I actually executed are:
> 
> git clone -b morty --single-branch git://git.yoctoproject.org/poky
> cd poky/
> git clone -b morty http://git.yoctoproject.org/git/meta-raspberrypi
> source oe-init-build-env rpi-build
> 
> In rpi-build/conf/local.conf I changed the MACHINE assignment to "raspberrypi2" from "qemu86"
> 
> In rpi-build/conf/bblayers.conf I added "  /home/gwilson/Qt/poky/meta-raspberrypi \" to pick up the raspberry layer.
> 
> At this point I ran:
> bitbake rpi-hwup-image
> 
> to verify that the environment was correct. The build finished with only a couple of warnings about checksum problems and using alternate mirrors.
> 
> I then copied in my kernel scripts and added in the directory to the bblayers file.
> 
> When I rebuilt with these changes I get the same warnings/errors about changing the kernel config that I get with my full build environment.
> 
> I've attached my meta-test directory with the kernel configuration .bbappend and .scc & .cfg files, and the final bblayers.conf & local.conf files.

Thanks for the layers and cut & paste instructions. They helped
a lot.

.. even with that start, it took me a bit to figure things out.

In the end, I can't actually figure out how to get the fragment
working with the rpi kernel configuration routines as they stand
in the morty timeframe.

in recipes-kernel/linux/linux-rpi.inc, there's a do_configure_prepend
routine who's first action is to clear ${B}/.config .. which is where
the kernel-yocto bbclass would have put the merged config + fragment.
(The defconfig is also a placeholder defconfig, I could work around
that, but in the end, it doesn't matter since that routine zeros out
anything that has merged).

So as I see it, you'll either need to carry your own defconfig, patch
the in-tree defconfig that is used, or write routines in your bbappend
to modify the configuration directly. I admit to not looking to see
if the techniques to do this are described anywhere, since I was just
trying to sort out why the fragment wasn't being properly applied.

Sorry I couldn't be of more help.

Cheers,

Bruce

> 
> Thank you for taking a look at this.
> 
> Regards,
> 
> Greg Wilson-Lindberg
> 
> 
> 
> ------------------------------------------------------------------------
> *From:* yocto-bounces at yoctoproject.org <yocto-bounces at yoctoproject.org> 
> on behalf of Greg Wilson-Lindberg <GWilson at sakuraus.com>
> *Sent:* Friday, October 5, 2018 9:23:52 AM
> *To:* Bruce Ashfield; yocto at yoctoproject.org
> *Subject:* Re: [yocto] changing kernel config in Morty build
> Hi Bruce,
> I'll do my best to get something for you.
> Thanks,
> 
> Greg Wilson-Lindberg
> Principal Firmware Engineer | Sakura Finetek USA, Inc.
> 
> 1750 W 214th Street | Torrance, CA 90501 | U.S.A.
> T: +1 310 783 5075
> F: +1 310 618 6902 | E: gwilson at sakuraus.com
> www.sakuraus.com <http://www.sakuraus.com>
> 
> 
> 
> 
> 
> Confidentiality Notice: This e-mail transmission may contain 
> confidential or legally privileged information that is intended only for 
> the individual or entity named in the e-mail address. If you are not the 
> intended recipient, you are hereby notified that any disclosure, 
> copying, distribution, or reliance upon the contents of this e-mail is 
> strictly prohibited. If you have received this e-mail transmission in 
> error, please reply to the sender, so that Sakura Finetek USA, Inc. can 
> arrange for proper delivery, and then please delete the message from 
> your inbox. Thank you.
> 
> 
> 
>> -----Original Message-----
>> From: Bruce Ashfield [mailto:bruce.ashfield at windriver.com]
>> Sent: Friday, October 05, 2018 08:46 AM
>> To: Greg Wilson-Lindberg <GWilson at sakuraus.com>; yocto at yoctoproject.org
>> Subject: Re: [yocto] changing kernel config in Morty build
>> 
>> On 2018-10-04 4:38 PM, Greg Wilson-Lindberg wrote:
>> > Does anybody else have any idea about what is going on here?
>> >
>> 
>> I can't tell from the information provided.
>> 
>> But if you can send me a set of layers to clone, and configure locally, I can figure it
>> out.
>> 
>> Cheers,
>> 
>> Bruce
>> 
>> > Yocto is seeing my request to change the kernel config, suggests that
>> > the change is acceptable, but then doesn't make it.
>> >
>> > Thanks in advance for any insight,
>> >
>> > Greg
>> >
>> > **
>> >
>> > *From:*Greg Wilson-Lindberg
>> > *Sent:* Tuesday, October 02, 2018 02:22 PM
>> > *To:* yocto at yoctoproject.org
>> > *Subject:* changing kernel config in Morty build
>> >
>> > I'm trying to change some kernel configuration flags in a
>> > raspberrypi3 Morty build and I get warnings that it isn't working.
>> >
>> > Here is the build info and warnings:
>> >
>> > Build Configuration:
>> >
>> > BB_VERSION        = "1.32.0"
>> >
>> > BUILD_SYS         = "x86_64-linux"
>> >
>> > NATIVELSBSTRING   = "universal"
>> >
>> > TARGET_SYS        = "arm-poky-linux-gnueabi"
>> >
>> > MACHINE           = "raspberrypi3"
>> >
>> > DISTRO            = "b2qt"
>> >
>> > DISTRO_VERSION    = "2.2.4"
>> >
>> > TUNE_FEATURES     = "arm armv7ve vfp thumb neon vfpv4
>> > callconvention-hard cortexa7"
>> >
>> > TARGET_FPU        = "hard"
>> >
>> > SDKMACHINE        = "x86_64"
>> >
>> > meta
>> >
>> > meta-poky         = "HEAD:df76669bdd70aa0d903c4211dde731221c7e756d"
>> >
>> > meta-raspberrypi  = "HEAD:2a192261a914892019f4f428d7462bb3c585ebac"
>> >
>> > meta-oe
>> >
>> > meta-python
>> >
>> > meta-networking
>> >
>> > meta-initramfs
>> >
>> > meta-multimedia   = "HEAD:b40116cf457b88a2db14b86fda9627fb34d56ae6"
>> >
>> > meta-boot2qt
>> >
>> > meta-raspberrypi-extras = "<unknown>:<unknown>"
>> >
>> > meta-mingw        = "HEAD:1c2e155111dce94423cc227ea69f7f50f316c78e"
>> >
>> > meta-qt5          = "HEAD:49e9d9a73b5c6e3d6eab88dc0005305e85b1a62d"
>> >
>> > meta-sakura       = "<unknown>:<unknown>"
>> >
>> > Initialising tasks: 100%
>> >
>> |###################################################################
>> ##
>> >
>> |###################################################################
>> ##
>> > |###|
>> > Time: 0:00:00
>> >
>> > NOTE: Executing SetScene Tasks
>> >
>> > NOTE: Executing RunQueue Tasks
>> >
>> > WARNING: linux-raspberrypi-1_4.4.50+gitAUTOINC+04c8e47067-r0
>> > do_kernel_configcheck: [kernel config]: specified values did not make
>> > it into the kernel's final configuration:
>> >
>> > ---------- CONFIG_SND_SOC_MAX9768 -----------------
>> >
>> > Config: CONFIG_SND_SOC_MAX9768
>> >
>> > From:
>> > /home/gwilson/Qt/Qt-5.9.6/Yocto-build-RPi3/build-raspberrypi3/tmp/work
>> > -shared/raspberrypi3/kernel-source/.kernel-meta/configs/Scribe.cfg
>> >
>> > Requested value:  CONFIG_SND_SOC_MAX9768=y
>> >
>> > Actual value:
>> >
>> > Config 'SND_SOC_MAX9768' has the following conditionals:
>> >
>> > Dependency values are:
>> >
>> > ---------- CONFIG_MAX1363 -----------------
>> >
>> > Config: CONFIG_MAX1363
>> >
>> > From:
>> > /home/gwilson/Qt/Qt-5.9.6/Yocto-build-RPi3/build-raspberrypi3/tmp/work
>> > -shared/raspberrypi3/kernel-source/.kernel-meta/configs/Scribe.cfg
>> >
>> > Requested value:  CONFIG_MAX1363=m
>> >
>> > Actual value:     # CONFIG_MAX1363 is not set
>> >
>> > Config 'MAX1363' has the following conditionals:
>> >
>> >    I2C (value: "y")
>> >
>> > Dependency values are:
>> >
>> >    I2C [y]
>> >
>> > ---------- CONFIG_CAN_EMS_USB -----------------
>> >
>> > Config: CONFIG_CAN_EMS_USB
>> >
>> > From:
>> > /home/gwilson/Qt/Qt-5.9.6/Yocto-build-RPi3/build-raspberrypi3/tmp/work
>> > -shared/raspberrypi3/kernel-source/.kernel-meta/configs/Scribe.cfg
>> >
>> > Requested value:  CONFIG_CAN_EMS_USB=m
>> >
>> > Actual value:     # CONFIG_CAN_EMS_USB is not set
>> >
>> > Config 'CAN_EMS_USB' has the following conditionals:
>> >
>> >    (none)
>> >
>> > Dependency values are:
>> >
>> > Here is my
>> >
>> > linux-raspberrypi_4.4.bbappend for the kernel:
>> >
>> > # Scribe additions to Kernel configuration
>> >
>> > FILESEXTRAPATHS_prepend := "${FILE_DIRNAME}/files:"
>> >
>> > FILESEXTRAPATHS_prepend := "${FILE_DIRNAME}/${PN}:"
>> >
>> > SRC_URI += "file://Scribe.scc <file:///%5C%5CScribe.scc>"
>> >
>> > SRC_URI += "file://mcp251x.c.patch <file:///%5C%5Cmcp251x.c.patch>"
>> >
>> > The Scribe.scc file:
>> >
>> > # Scribe additions to kernel configuration
>> >
>> > kconf hardware Scribe.cfg
>> >
>> > And the Scribe.cfg file:
>> >
>> > # Scribe additions to kernel configuration
>> >
>> > # Enable MAX9768
>> >
>> > #CONFIG_SOC_ALL_CODECS=m
>> >
>> > #CONFIG_COMPILE_TEST=y
>> >
>> > CONFIG_SND_SOC_MAX9768=y
>> >
>> > # Enable MAX11606
>> >
>> > #IIO=y
>> >
>> > CONFIG_MAX1363=m
>> >
>> > # Enable EMS CPC-USB
>> >
>> > CONFIG_CAN_EMS_USB=m
>> >
>> > Here is my directory tree:
>> >
>> > Qt-5.9.6
>> >
>> >       Yocto-mirror
>> > # Yocto build mirror
>> >
>> >       Yocto-build-RPi3                                              #
>> > Yocto build root
>> >
>> >                  build-raspberrypi                                   #
>> > build directory
>> >
>> >                  sources
>> >   # yocto sources
>> >
>> >                         meta-sakura
>> > # our recipes
>> >
>> >                                 recipes-kernel
>> > # directory for kernel changes
>> >
>> >                                         linux
>> >     # directory that contains linux-raspberrypi_4.4.bbappend
>> >
>> >                                                files
>> >       # directory that contains .scc & .cfg files
>> >
>> > As seen above none of the changes are accepted although there is
>> > nothing that blocks any of them.
>> >
>> > Any help understanding this would be greatly appreciated.
>> >
>> > Regards,
>> >
>> > Greg Wilson-Lindberg
>> >
>> >
>> >
> 
> -- 
> _______________________________________________
> yocto mailing list
> yocto at yoctoproject.org
> https://lists.yoctoproject.org/listinfo/yocto



More information about the yocto mailing list