Add new machine in custom Digi Embedded Yocto layer
The final step in adding a new custom machine is to create a new custom layer in Digi Embedded Yocto that defines the new machine type and points to the newly created U-Boot and Kernel branches.
You can find an example of this layer, called meta-custom in this example, here.
To use it, clone it into the sources folder of your Digi Embedded Yocto installation and setup your project using the mkproject.sh script pointing it to the new "custom" machine in the new layer:
source /usr/local/dey-2.2/mkproject.sh -m meta-custom -p custom
Note You must copy the Linux kernel default configuration file to the meta-custom layer, as Yocto does not use the one included in the kernel tree. For more information on generating a Linux kernel default configuration, see Kernel development workflows.
The device tree is not included in the layer. Digi Embedded Yocto uses the one compiled with the kernel tree.
In the example, the changes to both U-Boot and Linux and added as patches on their corresponding bbappend recipes. Alternatively, the U-Boot and Linux recipes can point to a forked branch on a git repository:
For U-Boot
recipes-bsp/u-boot/u-boot-dey_2015.04.bbappend
FILESEXTRAPATHS_prepend := "${THISDIR}/${BPN}-${PV}:" UBOOT_GIT_URI = "git://github.com/<username>/u-boot.git;protocol=http" SRCBRANCH_custom = "2.2-r3/custom" COMPATIBLE_MACHINE = "(custom)"
For Linux
recipes-kernel/linux/linux-dey_4.9.bbappend
FILESEXTRAPATHS_prepend := "${THISDIR}/${BPN}-${PV}:" LINUX_GIT_URI = "git://github.com/<username>/linux-dey.git;protocol=http" SRCBRANCH = "2.2-r3/custom" COMPATIBLE_MACHINE = "(custom)"
In the case above, the changes are contained in github repositories instead of patches inside meta-custom.