Tezi Deployable Image

I have flashed our IMX8QM with a Yocto build of the embedded linux multimedia reference image. This works fine and I built and developed with the SDK for this.

I now want to essentially clone what I have built from the board to an easy-installer offline USB deploy-able package.

I built the image using Yocto and can use the easy-installer to deply “Apalis-iMX8_Reference-Multimedia-Image-Tezi_6.6.0-devel-20240216162259+build.0”

I tried to modify the rootfs of the Reference-Multimedia-Image-apalis-imx8.tar.xz within this but unfortuantley I couldn’t get it to fully boot.

Instead I used the easy installer to load the USB-OTG and copied the rootFS from the board using “cp -rp”, packed it into Reference-Multimedia-Image-apalis-imx8.tar.xz, and copied this into the existing Yoco tezi image.

This boots, but wayland doesn’t appear to boot givimg me the following form systemctl:

root@apalis-imx8-14903975:/etc/xdg/weston# systemctl status weston.service 
× weston.service - Weston, a Wayland compositor, as a system service
     Loaded: loaded (/lib/systemd/system/weston.service; enabled; vendor preset: enabled)
     Active: failed (Result: exit-code) since Wed 2024-02-28 14:05:03 UTC; 7min ago
TriggeredBy: ● weston.socket
       Docs: man:weston(1)
             man:weston.ini(5)
             http://wayland.freedesktop.org/
    Process: 862 ExecStart=/usr/bin/weston --modules=systemd-notify.so (code=exited, status=1/FAILURE)
   Main PID: 862 (code=exited, status=1/FAILURE)

Feb 28 14:05:03 apalis-imx8-14903975 weston[862]: [14:05:03.197] Command line: /usr/bin/weston --modules=systemd-notify.so
Feb 28 14:05:03 apalis-imx8-14903975 weston[862]: [14:05:03.197] OS: Linux, 5.15.129-6.6.0-devel+git.c6f626a5642c, #1 SMP PREEMPT Sun Dec 24 15:44:39 UTC 2023, aarch64
Feb 28 14:05:03 apalis-imx8-14903975 weston[862]: [14:05:03.197] Flight recorder: enabled
Feb 28 14:05:03 apalis-imx8-14903975 weston[862]: [14:05:03.197] fatal: environment variable XDG_RUNTIME_DIR is not set.
Feb 28 14:05:03 apalis-imx8-14903975 weston[862]: Refer to your distribution on how to get it, or
Feb 28 14:05:03 apalis-imx8-14903975 weston[862]: http://www.freedesktop.org/wiki/Specifications/basedir-spec
Feb 28 14:05:03 apalis-imx8-14903975 weston[862]: on how to implement it.
Feb 28 14:05:03 apalis-imx8-14903975 systemd[1]: weston.service: Main process exited, code=exited, status=1/FAILURE
Feb 28 14:05:03 apalis-imx8-14903975 systemd[1]: weston.service: Failed with result 'exit-code'.
Feb 28 14:05:03 apalis-imx8-14903975 systemd[1]: Failed to start Weston, a Wayland compositor, as a system service.

I’m sure this is probably bad practice, but the target board is in a good state, and I’d like to clone it.

Where could I be going wrong?

Thank you,
William

The preferred method for preparing a custom image for production programming involves incorporating your applications, data, and necessary libraries into the build by creating a custom meta-layer and compiling a complete image using the Yocto build system. This approach will provide you with a “USB deployable package” containing all your custom modifications.
While not recommended, it is still possible to use a “hacker” approach by modify the root filesystem directly, as you attempted.
Remember, any modifications to the root filesystem (unpacking, altering, and repacking) must be performed on a Linux machine with root privileges.

Thank you for your reply.

Do you know the tar compression type for packing the rootfs,
‘tar -cvf’ seems to give me an error when uploading the image to the board, but just ‘right click, compress’ inside Ubuntu nautilus doesn’t give me this error.

Thank you,

As root:
Tar the FS directly from RFS mount point using the following:

sudo tar -Jcvf /where/ever/to/save/Reference-Multimedia-Image-apalis-imx8.tar.xz .

“Reference-Multimedia-Image-apalis-imx8.tar.xz” being the image I am using