[yocto] using BBMULTICONFIG to create a 32-bit rootfs, kernel, u-boot that also includes a 64-bit kernel, u-boot for NXP i.mx6/i.mx8

Joshua Watt jpewhacker at gmail.com
Fri Oct 4 19:58:48 PDT 2019


On Fri, Oct 4, 2019, 7:04 PM Davis Roman <davis.roman84 at gmail.com> wrote:

> Hello,
>
> We're working on a Linux distro for two systems where one is based on
> NXP i.mx6(32-bit,armv7) and the other i.mx8(64-bit,armv8).
>
> I have two machine types defined in Yocto so individually I can build
> either one however our goal is to create a single distro that can run on
> both processors.
>
> So the idea is to use BBMULTICONFIG(
> https://www.yoctoproject.org/docs/latest/ref-manual/ref-manual.html#var-BBMULTICONFIG
> )
> to build two separate images,
>
> 1) a 32-bit distro for an i.mx6
> 2) a 64-bit distro for an i.mx8
>
> and then finally, take the 32-bit distro and add the 64-bit kernel+modules
> and u-boot.
>
> ---------------------------------------
> |--------------------------------------|
> ||           32-bit rootfs            ||
> |--------------------------------------|
> |-----------------   ----------------- |
> || 32-bit kernel |   |  64-bit kernel ||
> |-----------------   ----------------- |
> |-----------------   ----------------- |
> || 32-bit u-boot |   |  64-bit u-boot ||
> |-----------------   ----------------- |
> ---------------------------------------
>    i.mx6solo             i.mx8m mini
>
> We've already tried our existing 32-bit rootfs + 64-bit kernel/u-boot on
> the i.mx8 and the system runs.
> So in theory, it should just be a matter of getting yocto to assemble all
> the pieces together.
>
> I don't have much experience with BBMULTICONFIG so any ideas or comments
> on how to proceed would be appreciated.
>

You are on the right track. Create two multiconfig files one for each
machine, then user mcdepends (
https://www.yoctoproject.org/docs/current/mega-manual/mega-manual.html#dev-enabling-multiple-configuration-build-dependencies)
to pull the 64 bit kernel, etc. into the 32 bit image.

BBMULTICONFIG is used in local.conf to select which multiconfigs you want
to enable. In your case it would have to list both of the ones that you
define.


> Thank you,
>
> Davis
> --
> _______________________________________________
> yocto mailing list
> yocto at yoctoproject.org
> https://lists.yoctoproject.org/listinfo/yocto
>
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.yoctoproject.org/pipermail/yocto/attachments/20191004/aeedb1ea/attachment.html>


More information about the yocto mailing list