Rootfs location in lx2160a_build

I’d like to add some startup options for systemd to my build using the solidrun supplied kernel repository, lx2160a_build. Could you please tell me how to add files to merge into rootfs at build time? I can’t seem to locate rootfs but I’m probably looking in the wrong place.

Look at the script in lx2160a_build. If you go down to the part that starts “Assembling kernel and rootfs image” you will see where e2cp, e2mkdir, and e2ln are used to mkdir directories, copy files and create links in the base Ubuntu image, during the boot process.

Thanks, I’ll check it out.

My next step is to nfs mount the entire filesystem from u-boot on my workstation. Have you done that at SolidRun? Is it possible to build the rootfs on the development system with your build tools?

I am working on a Yocto meta-layer for the lx2160a. That is much easier way for you to build a custom filesystem.

Perfect. Setting up a Yocto build is on my list of things to do. Please let me know if you need a beta tester.

Hi, I am using Yocto Projet with NXP board. for the ClearFog boards that we received recently I would like to substitute the ubuntu filesystem with the Yocto one. Could you please tell me how to do it?

This reminds me to start working on the Yocto build. I plan to start with the NXP LSDK Yocto recipe and work from there to include the patches and such from SolidRun.

@jnettlet Should I expect the Yocto NXP rootfs/kernel build for the LX2160ARDB to run on the Honeycomb board or will I need to add select patches to even get the OS to load and start?

I’ve been looking into getting a yocto layer using this repo working with the intention of supporting a custom board we’re making:
qoriq-components/yocto-sdk - Repo manifest for QorIQ Yocto SDK -b kirkstone

That yocto linux kernel will boot as-is on the ClearFog but really requires the addition of a config fragment to select some drivers which aren’t in the NXP config (the AMC fan speed controller for example). These are documented here:
lx2160a_build/lx2k_additions.config at master · SolidRun/lx2160a_build · GitHub and I added them as a config fragment to a kernel recipe bbappend. Most of the patches applied to the Linux kernel in the lx2160a_build seem to be included (or superseded) in the NXP yocto 5.15 (lf-5.15.32-2.0.0) kernel

While the Linux kernel has proven pretty easy so far, the tricker bits IMO are the other boot artefacts - RCW, u-boot and ATF. There are quite a few patches applied to these by lx2160a_build and a fair bit of work is needed to rebase these from the latest release supported by LX2160a_build (LSDK-21.08 tag) to the latest yocto tag (lf-5.15.32-2.0.0). So far, I’ve had some success with RCW, ATF and Linux and am still looking at u-boot when time permits. I haven’t got as far as trying the rootfs yet.

I think it’s unlikely that a plain LX2160ARDB build will work on the ClearFog but haven’t tried. Even if the ARDB image did boot to an extent, some things like SERDES configurations, clocks, etc. would definately be wrong for the ClearFog.

Judging by NXP forum posts like the one below, It’s not clear whether the LSDK tagged releases will continue so yocto support for the lx2160acex + ClearFog would be very useful. I found a Yocto layer maintained by another LX2160A SoM vendor which has proven pretty useful as an example of how to create the appropriate layers / bbappends.