I am relatively new to Yocto/Poky. I have customized and built kernels and rootfs for various QorIQ targets (P1022DS, MPC8544DS, and MPC8572DS) using the Linux SDK Poky build system. My question is: how would I go about building a specific version of the kernel for given target? I need to build a 2.6 kernel for the MPC8572--specifically, 2.6.32-rc5. When I build this kernel using Linux SDK 1.2, I get a 3.0 kernel.
I've considered 2 approaches for this:
#1. Downloading the 2.6.32-rc5 kernel tarball to the sources directory in my build tree, and modifying the recipes to build this kernel.
#2. Construct a build tree from Freescale git repositories. At least then I could use "git checkout v2.6.32-rc5" tag for the linux repository.
Using either approach I get stuck on the fact that I don't know which recipes need modifying to build the kernel and rootfs. Approach #1 seems like it should be easy. But, I like approach #2 as I feel like I would learn more about the build system in general.
Any suggestions here are welcome.
Our QorIQ SDKs support only a single kernel version for all SOCs. We call it a "unified kernel", and we do that intentionally.
If you need an older kernel version, then you probably need to look upstream and download the specific version you want. You'll then need to identify all the missing features that you need, and manually back-port them.
2.6.32 is really old. There's no support for the P1022 in that kernel. Some support exists in 2.6.35, but most code was added after that.
We have existing products based on the 2.6.32-rc5 kernel--with several custom patches for our HW. Eventually, we would move forward with a newer kernel. I am trying to bring up a quick prototype.