I'm working on the LS1043ARDB and am looking for a basic Yocto build target.
The LLDPUG points at ls-image-tiny, ls-image-lite and ls-image-main. ls-image-tiny does not seem to exist in the langdale 6.1.1_1.0.0 build and -lite and -main want to build Ubuntu based systems.
What I need is a basic, minimal embedded platform with U-Boot, kernel, root filesystem with busybox, networking, ssh and a mimimal set of tools and to build an SDK that can be used to cross build other applications outside of Yocto.
It also needs to be basically host OS-flavour agnostic. ie I want to be able to use langdale default host build tools (which for example won't compile the very old, NXP-patched pseudo) and not create problematic dependencies on host tools like apt-get unless they are really essential and properly built within the Yocto system.
Would something like fsl-image-networking from 6.1.1_1.0.0 get me what I need or is there a better target or approach. Would flex-installer still work in this case? What would be the recommended cross SDK target?
Thanks
Solved! Go to Solution.
Hi @lineage!
Thank you for contacting NXP Support!
You can generate your image similar to our precompiled images for Layerscape (Installed on an SD card by flex-installer ).
To compile that image you have to follow these steps:
$ mkdir desktop
$ cd desktop
$ repo init -u https://github.com/nxp-qoriq/yocto-sdk -b langdale -m ls-6.1.1-1.0.0_distro.xml
$ repo sync
$ source distro-setup-env -m ls1043ardb
$ bitbake qoriq-composite-firmware # build composite firmware for flex-installer
After those commands, you can install the firmware update on your SD card using the Flex-installer or on your board following the steps in the LSDK2108 User Guide.
Best Regards!
Chavira
Just to wrap this up for anyone else coming here,
qoriq-composite-firmware will generate a set of files firmware_ls1043ardb_uboot_{nor,sd,nand}boot.img. They include RCW, BL*, U-Boot, some microcode, Kernel, device tree and a ram filesystem. The kernel/filesystem is a fit file that is pulled into memory then booted.
It is based on the components from fsl-image-mfgtool
I put the the SD version on a SD card and it did boot Ok
Building, using the recipes from @Chavira above, you can either
source setup-env -m ls1043ardb
which builds a system based on initscripts (49M) or you can use
source distro-setup-env -m ls1043ardb
which builds a slightly larger image (57M) based on systemd.
I have not worked out whether there is anything in 'distro' I need yet, but I'm guessing there are a few other differences.
One word of warning when using distro-setup-env. I build using the Yocto host toolchain (sources/poky/scripts/install-buildtools). The distro-setup-env builds a patched version of the Yocto pseudo tool which is quite old but has changes needed to run the Ubuntu apt tools. The version of pseudo used is too old to compile with the Yocto toolchain. Since for
qoriq-composite-firmware we don't need apt tools, we need to revert to the default Yocto version of pseudo to get it to build.
The files to drop are meta-nxp-desktop/recipes-devtools/pseudo/pseudo_git.bb and meta-nxp-desktop/dynamic-layers/core/recipes-devtools/pseudo/pseudo_%.bbappend
Hi @lineage!
Thank you for contacting NXP Support!
You can generate your image similar to our precompiled images for Layerscape (Installed on an SD card by flex-installer ).
To compile that image you have to follow these steps:
$ mkdir desktop
$ cd desktop
$ repo init -u https://github.com/nxp-qoriq/yocto-sdk -b langdale -m ls-6.1.1-1.0.0_distro.xml
$ repo sync
$ source distro-setup-env -m ls1043ardb
$ bitbake qoriq-composite-firmware # build composite firmware for flex-installer
After those commands, you can install the firmware update on your SD card using the Flex-installer or on your board following the steps in the LSDK2108 User Guide.
Best Regards!
Chavira
Thanks Chavira,
That helps a lot. I'd just realised that fsl-image-networking only generates the raw comonents.
Would you recommend using the fsl-image-networking or fsl-image-mfgtool main target first or does qoriq-composite-firmware have internal dependencies to build a basic system?
For the SDK I presume any image target would probably work, so would
bitbake fsl-image-networking -c populate_sdk
be a sensible option?
Thanks
Hi @lineage!
Only compiling the "qoriq-composite-firmware" can generate the tiny image, please see all can be generated with "qoriq-composite-firmware" only in the log attached
To generate the SDK for the host that command should work.
Best Regards!
Chavira