For example, qemu-system-i386 supports qemux86, genericx86, intel-x86-32 and so on, but our runqemu only supports qemux86, the similar to qemu-system-arm and others, we can make it accept arch the parameter rather than machine. runqemu supports two ways to run atm: 1) $ runqemu path/to/image 2) $ runqemu machine For the first way, its easy to do, we just require the user to input the arch, for example: $ runqemu x86_64 path/to/image But for the second one, if we run it as: $ runqemu x86_64 We can't know where is the image since our image name doesn't contain arch, for example: tmp/deploy/images/qemux86-64/core-image-minimal-qemux86-64-20160407073216.rootfs.cpio.gz It would come true if we make the image name contains arch (not only machine name), for example: core-image-minimal-qemux86-64-x86-64.cpio.gz Or better: core-image-minimal_qemux86-64_x86-64.cpio.gz
It's worth mentioning that by default qemux86-64 can't execute code for intel-corei7-64, so it's not that simple. This sounds a lot like bug 4827. The idea was that runqemu can be extended by BSPs, so for example if you try to runqemu on a corei7-64 image then the BSP tells it to run qemu-system-x86-64 -cpu Nehalem. *** This bug has been marked as a duplicate of bug 4827 ***