Subject: Re: bug#52267: disk image installer for rock64 fails

From: "pelzflorian (Florian Pelz)" <[email-masked]>
Date: Sat, 4 Dec 2021 22:02:51 +0100

On Sat, Dec 04, 2021 at 12:39:28PM +0100, pelzflorian (Florian Pelz) wrote:
> It failed until I added the
> 
> (service qemu-binfmt-service-type
>          (qemu-binfmt-configuration
>            (platforms (lookup-qemu-platforms "arm" "aarch64"))))
> 
> from the manual.
> 
> The version with --target worked and building is faster, although
> maybe building the whole image might still fail, which would be a bug.

My suggestion that you change your command to use --target rather than
--system fails.  Sorry it was the wrong suggestion, because I had not
tried before answering.  (On master it fails to cross-compile
meson-based packages; on core-updates-frozen it fails to cross-compile
dosfstools.)

Anyway, your previous command with --system was correct, but if you
are on GNU Guix System, you need to add the qemu-binfmt-service-type.

> (service qemu-binfmt-service-type
>          (qemu-binfmt-configuration
>            (platforms (lookup-qemu-platforms "arm" "aarch64"))))

You wrote to me in private and talk about rockpro.  If you have a
rockpro64 and not a rock64, I am not sure if the command works; at
least you would need to use rockpro64-installation-os instead of
rock64-installation-os.

But if your PC uses Guix on a foreign distribution such as Debian, you
need to add qemu binfmt support in another way.  For Debian it seems
to be documented at <https://wiki.debian.org/QemuUserEmulation>, but
you need to use aarch64 instead of armhf, and I have not tried.  It
depends on the distro.

Alternatively, you can install another distro on the rock64 /
rockpro64 and then install GNU Guix on it without a Guix System image.

If you know what you are doing, you can install GNU Guix System onto
an SSD connected to the rock64 via USB2 by the guix system init
command; this is what I did, but I have no automatic setup for the
bootloader.  The rock64 officially only boots from the SD card, I
think, and I always copy the relevant store files to the SD card
manually.

Regards,
Florian