[yocto] changing kernel config in Morty build

Greg Wilson-Lindberg GWilson at sakuraus.com
Wed Oct 10 12:07:00 PDT 2018


Hi Bruce,
I've got another question. I know that in a .bbappend I can specify functions to run during the build procedure, would it be possible to add in a function that would run after the do_configure_prepend() in the linux-rpi.inf file? If I could do that, then I could modify the config file that is produced by that ...prepend() function.

Or the other option is to modify the linux-rpi.inc file itself.
Regards,

Greg Wilson-Lindberg  
Principal Firmware Engineer | Sakura Finetek USA, Inc.  
 

> -----Original Message-----
> From: Greg Wilson-Lindberg
> Sent: Wednesday, October 10, 2018 09:31 AM
> To: 'Bruce Ashfield' <bruce.ashfield at windriver.com>; yocto at yoctoproject.org
> Subject: RE: [yocto] changing kernel config in Morty build
> 
> Hi Bruce,
> Thanks for all of your help in looking into this. I did get another response that
> detailed using an out of tree defconfig. They didn't know if it would work with Morty,
> they are using it with Sumo. I'll have to try it with Morty.
> Thanks again,
> Greg Wilson-Lindberg
> Principal Firmware Engineer | Sakura Finetek USA, Inc.
> 
> > -----Original Message-----
> > From: Bruce Ashfield [mailto:bruce.ashfield at windriver.com]
> > Sent: Tuesday, October 09, 2018 08:16 PM
> > To: Greg Wilson-Lindberg <GWilson at sakuraus.com>;
> > yocto at yoctoproject.org
> > Subject: Re: [yocto] changing kernel config in Morty build
> >
> > 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-raspber
> > > ry
> > > pi/
> > >
> > > 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
> > >> > /w
> > >> > ork
> > >> > -shared/raspberrypi3/kernel-source/.kernel-meta/configs/Scribe.cf
> > >> > g
> > >> >
> > >> > 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
> > >> > /w
> > >> > ork
> > >> > -shared/raspberrypi3/kernel-source/.kernel-meta/configs/Scribe.cf
> > >> > g
> > >> >
> > >> > 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
> > >> > /w
> > >> > ork
> > >> > -shared/raspberrypi3/kernel-source/.kernel-meta/configs/Scribe.cf
> > >> > g
> > >> >
> > >> > 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