Hi, first of all go to NXP and look at the iMX6,7 and 8 series of MCUs, then look at what features they have and what would you like to focus on (multimedia, IoT, industrial devices, etc.).
ALL the development kits from NXP and partners come with FULL source code, except for some special proprietary binaries (HDMI controller, DRAM controller and so on).
Actually the full software is available to download from public repositories, both as a Yocto BSP bundle or individual components (U-Boot bootloader, Linux kernel) and so on.
So my suggestion is to download the BSP for a few MCUs (the NXP distribution covers more MCUs at the same time, you just have to configure it foe your favorite) and play with it:
- install the suggested Linux distribution
- install the per-requisites packages for cross compiling.
- compile the default configuration to get a SD image.
- read Yocto's documentation
- do some changes (add/remove packages included in the firmware) and recompile.
Once you've done all the steps above, you'll get a grasp and the selection of a specific devkit will be easier to make.
Cheers,
DC1MC