Hi, Zheng Junjie skribis: > Leo Famulari writes: > >> Hi, thanks for these patches! >> >> On Tue, Mar 19, 2024 at 11:15:53PM +0800, Zheng Junjie wrote: >>> hello!. this patchset make `guix system vm --target=riscv64-linux-gnu' work. >>> and `guix system vm --system=riscv64-linux` also work, But there is a problem >>> that the qemu running with --system=riscv64-linux is also riscv architecture, >>> now you have to manually modify to use native qemu or the guix of qemu-system >>> on qemu-user is too slow. and must enable qemu-binfmt. >> >> So, what should we do about the problem? What's the ideal solution for >> Guix? I don't have any experience with this subject matter. > > I've come up with two ideas: > > 1. Force the current system's qemu to be used, on x86_64 and -s > riscv64-linux, use x86_64's qemu. > 2. add an environment variable, GUIX_QEMU, to allow the internal qemu > execution to be replaced > > There may be other solutions, but I can't think of them yet. Thing is, ‘--system=X’ is supposed to be giving the exact same result as if you were building natively on X. Thus, it’s not surprising that ‘guix system vm --system=X’ gives on a QEMU binary built for X. Now, it’s admittedly not very useful in this case. I believe the attached patch implements #1 (I wasn’t able to test it yet because too many things had to be built). How does it sound?