[yocto] defconfig file (or fragment files) not used
Bruce Ashfield
bruce.ashfield at windriver.com
Thu Mar 29 07:12:17 PDT 2018
On 03/28/2018 12:27 PM, Vincent Daanen wrote:
> Hi,
>
> I want to add CAN driver support to the kernel. Here is the procedure I
> followed:
>
> 1. Generate a .config file
> 2. Copy it to meta-myWork/recipes-kernel/linux/files/defconfig
> 3. Update it: set at the end the config to enable CAN as follows
>
> # CAN Bus
>
> CONFIG_NET=y
>
> CONFIG_CAN=y
>
> CONFIG_CAN_RAW=y
>
> CONFIG_CAN_BCM=y
>
> CONFIG_CAN_GW=y
>
> #
>
> # CAN Device Drivers
>
> #
>
> CONFIG_CAN_VCAN=y
>
> # CONFIG_CAN_SLCAN is not set
>
> CONFIG_CAN_DEV=y
>
> # CONFIG_CAN_CALC_BITTIMING is not set
>
> # CONFIG_CAN_LEDS is not set
>
> # CONFIG_CAN_SJA1000 is not set
>
> 4. Update the linux-yocto_%.bbappend file as follows
>
> SUMMARY = "Recipe to configure kernel as required"
>
> LICENSE = "CLOSED"
>
> inherit kernel-yocto
>
> FILESEXTRAPATHS_prepend := "${THISDIR}/files:"
>
> SRC_URI += file://defconfig
>
> 5. Request rebuilt:
>
> bitbake linux-yocto-rt -c cleansstate
>
> bitbake -k linux-yocto-rt
>
> Once the image started (with qemu), I check if the CAN is enabled (using
> zcat /proc/config.gz | grep CAN) and I always get “CAN not set”
Do you have all of the CAN* Kconfig dependencies in your defconfig ?
If you don't, the kernel config subsystem will turn them off.
Also note that a 'defconfig' translates to a merge config run (yes,
even with just a defconfig) of 'allnoconfig', so that can also be
turning off dependencies if they were only valid via their default
and were not explicitly specified.
You can set KCONFIG_MODE="alldefconfig" in a linux-yocto bbappend to
change what mode merge-config uses.
Bruce
>
> I also tried using fragment and I got the same result ☹
>
> According the user manual, it seems to me I’m doing the right think!
>
> Does someone know why my defconfig file is not taken into account ?
>
> Thanks
>
> Vincent
>
>
>
More information about the yocto
mailing list