System.img varied with different compiling hosts

Recently,i try to make system.img on different compiling host,but the running result is not the same.
The system.img made by one comipling host was flashed to the target board,all functions are normal,including graphical destop.
The system.img made by another comipiling host was flashed to the target board,all function are normal ,but for graphical desktop ,there is no utuntu desktop,but i could login by using of ssh or uart command line.

all the size of the system.img are the same,the ubuntu desktop can’t work normally even replace the Image and dtb
with each other.
so,why?i am comfused。What are the differences between the system.img made by different comipiling host?
can anyone give me a reasonable explanation?

sometimes if a host has few space on disk similar issues could arise;
it needs at least 50-60GB free space at root partition to proceed with image creation etc

but in my another comipiling host,there is enough disk space,may be 1.5 T,as follow:

you may try using headless sdkmanager
explicitly specifying imagedownloadfolder/ install folder arguments
as by default sdkmanager attempts typically to use the root / partition unless the home folder is customized so it is loaded from a different disk
you may try smth like :

 sdkmanager --cli install  --product Jetson --version 4.5.1 --targetos Linux --target P3668-0000 --flash all --targetimagefolder /diskb/installation_nx_devkit_v451 --downloadfolder /diskb/Downloads_nx_devkit_v45 --additionalsdk DeepStream

is there any difference with “sudo ./flash.sh --no-flash jetson-xavier-nx-devkit-emmc mmcblk0p1” to make system.img?

yes and no the headless example is for devkit version; while the flash sh command above is for emmc version
mismatch of version could cause issues

by the way, i have built the kernel Image and dtb,because i have revised some kernel driver code;and i have customised the rootfs installed some user tools;so i want make system.img to distribute to other people.

does the default stock OS have the same issue as the customized by you?
I would suggest first to confirm the default stock OS works, then move further with customizations
It might be a matter of customization applied