Actually I'm working on the DART-IMX8M board. I can able to build the image in linux machine and run it on the board. But for every build, i have to run the image on board. I have checked on the qemu but it is not supported for the machine imx8mq-var-dart.Generally speaking, at the point when we get to working with boards we are needing to interact with the outside world so we have to run on the target hardware. Once U-Boot (or equivalent) is up and running then we speed the development process up using TFTP/NFS to boot the Linux kernel and mount the root file system.
It saves all the messing around programming on-board flash devices or SD cards whilst the image is in flux. It also means that all the application developers are using the same and the latest configuration rather than having flash devices with old versions potentially causing problems.
It might help a little!