In order to compile an i.MX8M Plus image with chromium, please follow these steps:

These steps were tested on a Ubuntu 22.04 build machine.

Install required packages

sudo apt install flex bison gperf build-essential zlib1g-dev lib32ncurses5-dev \
x11proto-core-dev libx11-dev lib32z1-dev libgl1-mesa-dev tofrodos libxml2-utils \
openssh-server openssh-client uuid uuid-dev zlib1g-dev liblz-dev lzop liblzo2-2 \
liblzo2-dev git-core curl python3 python3-pip python3-pexpect python3-git \
python3-jinja2 u-boot-tools mtd-utils openjdk-8-jdk device-tree-compiler aptitude \
libcurl4-openssl-dev nss-updatedb chrpath texinfo gawk cpio diffstat \
libncursesw5-dev libssl-dev libegl1-mesa net-tools libsdl1.2-dev xterm socat \
icedtea-netx-common icedtea-netx python3-markdown android-sdk-libsparse-utils \
xsltproc gcc-multilib g++-multilib subversion libc++-dev libstdc++6 \
libstdc++-12-dev python-is-python3 lz4;

pip3 install pylint

Building from sources

mkdir imx-yocto
cd imx-yocto
wget https://storage.googleapis.com/git-repo-downloads/repo
chmod +x repo
./repo init -u https://github.com/SolidRun/meta-solidrun-arm-imx8 -b kirkstone-imx8m -m sr-imx-5.15.71-2.2.0.xml
./repo sync
DISTRO=fsl-imx-xwayland MACHINE=imx8mpsolidrun source imx-setup-release.sh -b build-xwayland-imx8mpsolidrun
BBLAYERS += "${BSPDIR}/sources/meta-solidrun-arm-imx8"
CORE_IMAGE_EXTRA_INSTALL += "chromium-ozone-wayland"
MIRRORS += " \
    git://source.codeaurora.org/external/imx/ git://github.com/nxp-imx/;protocol=https \n \
    https://source.codeaurora.org/external/imx/ https://github.com/nxp-imx/ \n \
    http://source.codeaurora.org/external/imx/ http://github.com/nxp-imx/ \n \
    gitsm://source.codeaurora.org/external/imx/ gitsm://github.com/nxp-imx/;protocol=https \n \
"

First build rust-native and then imx-image-full. The reason that rust-native is built first since it might fail on systems with less than 64GByte system memory.

If your machine does have available 64GByte system memory you can skip building rust-native and go ahead built imx-image-full directly.

bitbake -C compile rust-native
bitbake imx-image-full

Using Chromium

Once the image was compiled and deployed, you can start the browser simply by running:

chromium --no-sandbox