The Linux kernel shipped on Digi Embedded Yocto contains a default configuration that supports all the hardware available on the ConnectCore 8M Nano and its development board. When you design a custom carrier board, it is common to modify the Linux kernel source tree to:

  • enable support for drivers on the Linux configuration to support hardware on your carrier board.

  • add new drivers that don’t exist on the current kernel source tree, or modify existing ones.

  • modify the device tree to:

    • enable/disable interfaces.

    • change the IOMUX of ConnectCore 8M Nano pads.

    • add entries for new hardware on your carrier board.

Methods

The following sections describe three different approaches to modify and build the Linux kernel source tree.

  • Make permanent changes: This method makes use of the Digi Embedded Yocto build system. The changes are permanent and are applied to all images built with Digi Embedded Yocto. This is the recommended method.

  • Make temporary changes: This method allows you to make temporary changes to the kernel and test them quickly.

  • Build externally: This method clones the Linux kernel repository and builds it externally. It doesn’t require Yocto, but it does require the Digi Embedded Yocto toolchain to compile the code for Digi platforms.