The default kernel cofiguration has support for all the hardware components available on the ConnectCore 6UL system-on-module and on the ConnectCore 6UL SBC Pro. It also has support for common file systems, cryptography, network, and multimedia.
You can check the default kernel configuration at https://github.com/digi-embedded/linux/blob/v6.6/nxp/dey-5.0/maint/arch/arm/configs/ccimx6ul_defconfig.
The configuration is tailor-made for the kernel to be as small as possible so it also boots faster.
Your custom carrier board may include new hardware and peripherals that you likely need to enable on the Linux kernel. This topic explains how to modify the kernel configuration to meet your needs.
Generate a custom kernel configuration file
-
Go to your Digi Embedded Yocto project and source the environment:
$ cd <your-project> $ source dey-setup-environment
-
Run task
menuconfig
for the Linux kernel recipe:$ bitbake -c menuconfig linux-dey
This opens the configuration menu for the Linux kernel.
-
Make your configuration changes, save, and quit the configuration tool.
-
Generate a
defconfig
file with your changes by running:$ bitbake -c savedefconfig linux-dey
This generates a
defconfig
file in the working directory of your project’s kernel source tree. -
Check the Linux kernel recipe
WORKDIR
path with:$ bitbake -e linux-dey | grep ^WORKDIR=
This command takes several seconds to complete. In this path you can find the generated defconfig
file.
Use a custom kernel configuration file
To make Digi Embedded Yocto use your custom configuration file:
-
Change to your layer directory, for instance:
$ cd /<yourpath>/<meta-custom>/
-
Create a path that replicates the path where the original recipe resides in its original layer. For instance, for the kernel recipe
linux-dey
in meta-digi layer the path isrecipes-kernel/linux/
:$ mkdir -p recipes-kernel/linux/
-
Create a subfolder with the name of the recipe to hold the
defconfig
file:$ mkdir -p recipes-kernel/linux/linux-dey/
-
Copy the
defconfig
file generated in Generate a custom kernel configuration file to this folder. -
Set the Yocto variable
KERNEL_DEFCONFIG
in your project’sconf/local.conf
to an empty string:conf/local.conf# Define to empty string to use defconfig file in layer # instead of the one in the kernel source tree KERNEL_DEFCONFIG = ""
The file must be called
defconfig
. If you want to rename it, then setKERNEL_DEFCONFIG
with the full path to the file.conf/local.conf# Use custom defconfig file KERNEL_DEFCONFIG = "/<yourpath>/your-defconfig"
-
Build the recipe so that it takes the new configuration:
$ bitbake linux-dey
This builds the kernel recipe only. Build an image recipe to have the new kernel included in your image.
Test the new kernel
See Deploy kernel and/or device tree for instructions on how to quickly transfer and test the modified kernel on your target platform.