[yocto] Changing Config for linux-raspberrypi

John Whitmore arigead at gmail.com
Wed Nov 6 13:40:41 PST 2013


Was struggling with the documentation on making chages to the config file used
by the raspberrypi linux kernel. I'd got my own layer with a two line append file:

FILESEXTRAPATHS_prepend := "${THISDIR}/${PN}"
KERNEL_DEFCONFIG = "defconfig"

I'd got my defconfig config file into the directory structure under my layer. 

.
├── conf
│   └── layer.conf
└── recipes-kernel
    └── linux
        ├── linux-raspberrypi
        │   └── defconfig
        └── linux-raspberrypi_3.6.11.bbappend.jfw


So all looked good to me thankfully "<kergoth>" on the #yocto IRC Channel
pointed me to bitbake -e linux-raspberrypi and I was able to check stuff
out. Took me a while but I eventually found the problem.

The origional recipe "linux-raspberrypi_3.6.11.bb" contains the lines:

do_configure_prepend() {
	install -m 0644 ${S}/arch/${ARCH}/configs/${KERNEL_DEFCONFIG} ${WORKDIR}/defconfig || die "No default configuration for ${MACHINE} / ${KERNEL_DEFCONFIG} available."
}

So even though my append is changing the FILESEXTRAPATHS and KERNEL_DEFCONFIG
values it makes no difference at all. Well luckily I did manage to change the
name of KERNEL_DEFCONFIG so when the above "install" command was executed it
produced errors all over the place. If that hadn't happened I'd have got a
kernel with none of my changes and there'd have been naughty words.

So given that the text book approach to making changes to the kernel, outlined
in section "2.2.1. Creating the Append File" of the Linux Kernel Development
Manual has been subverted. How do I change the kernel config?

Can I do my own do_configure_prepend() in my bbappend to prepend the recipe's do_configure_prepend()
and get my config file into the place it's going to install from? That sounds
really messy to me but I'm new.

That seems the only alternative short of re-writing the linux-raspberrypi
recipe which doesn't sound too good either.

If somebody could point me in the right direction on how to make changes to
the kernel in this case I'd be very grateful.

Thanks a million for any advice. 




More information about the yocto mailing list