Why Yocto (not Buildroot) for armStoneMX8MP?

  • Dear Support-Team,


    why not using good old Buildroot for i.MX8MP platform? After 5+ years working with your i.MX6 devices I understood Buildroot very well including configuring/updating/adding packages. Now the i.MX8MP platform comes with Yocto release ;(. While building the standard image for the first time I got following error fetching the gstreamer packages:

    Code
    1. ERROR: gstreamer1.0-1.20.3.imx-r0 do_fetch: Bitbake Fetcher Error: FetchError('Unable to fetch URL from any source.', 'gitsm://github.com/nxp-imx/gstreamer.git;protocol=https;branch=MM_04.07.02_2210_L5.15.y')

    This happened around package 1000 of more than 6000 packages. The directory now already fills about 20 GB.

    How to fix this error?

    Is there a chance to have a Buildroot release too for this platform?


    At least I hope as a result of Yocto I will get a Toolchain, that I can use to compile U-Boot and Kernel with our own configurations (menuconfig). Also somehow we need to do our own minimal Yocto configuration for a framebuffer version (no X, no wayland). But first we need to get baking the standard image working...


    Thanks in advance.

  • After multiple tries I succeeded downloading and building all packages. So now I have a compiled Uboot, Kernel, Device Tree, Filesystem.

    The resulting directory now is 340 GB (crazy for expected embedded images of 32 MB at all).


    Question: How to configure the filesystem now? Is there some kind of gui for selecting/deselecting the packages similar to buildroot menuconfig?


    Thanks in advance.

  • How to get the toolchain from Yocto?


    Code
    1. bitbake –c populate_sdk fus-image-std
    2. Loading cache: 100% |########################################################################################################################################| Time: 0:00:00
    3. Loaded 4750 entries from dependency cache.
    4. Parsing recipes: 100% |######################################################################################################################################| Time: 0:00:00
    5. Parsing of 3203 .bb files complete (3201 cached, 2 parsed). 4752 targets, 302 skipped, 3 masked, 0 errors.
    6. ERROR: Nothing PROVIDES '–c'
  • Hello,


    Buildroot fsimx8mp

    we are not planning to support Buildroot for fsimx8mp in the near future, because the porting effort of the imx specific packages is to high and we want to focus to bring all releases to the newest Kernel versions right now. NXP offers only Yocto releases, so porting Yocto is much faster.


    However there is a merge request on github hat adds basic fsimx8mp support to buildroot. If you only need basic packages, maybe this will already be sufficient.

    https://github.com/FSEmbedded/…400c781e3c6d3bd6fc4bf283e


    If you could test it, we could at least make a merge so the code will be available in our git even though we might not officially release it.


    Fetching errors

    The error you are describing would have also happend in Buildroot because for some reason the github page was not available at this moment.

    This might be due to your internet connection or there was a problem with the routing server or the github server itself.

    You can always start the bitbake command with the parameter -k, then bitbake will keep building all packages that are not depended on failed packages.

    This saves at lease some time with overnight builds.


    Toolchain

    To build only the toolchain you can use the command

    bitbake meta-toolchain


    The populate_sdk command installs also all the development libraries of your image which might explain you large build size.


    After that, you can find an install shell-script at

    tmp/deploy/sdk/

    You can execute it to install the tool chain do any other machine.


    However if you only need a gcc to compile Linux Kernel and U-Boot, you can still use the F&S toolchains installed in the F&S building machines. They are not the exact same like the ones form the Yocto build but should at lease be based on the same version and we never had a problem with combining them with yocto builds before.


    Configure filesystem
    Yocto has no menuconfig. Everything is defined in .bb recipes.

    Typically, you would add your own meta-layer with the highest priority and with your own recipes that describe your image.


    you can use the

    meta-fus/recipes-config/images/fus-image-std.bb

    as an example.


    Framebuffer

    i.MX8 based boards don't use framebuffers anymore, but DRM.

    However there is still a legacy simulated framebuffer, that can be used by frambuffer based programs like psplash.

    NXP implemented a lot of graphic related code in their westin-imx implementation, so if you are not using weston, you might not get the full graphical acceleration.

    Why exactly do not want to use weston?


    Your F&S Support Team