[Solved] 'Packer built' VM does not start: Impossible to rename file '(null).new' to '(null)': Bad address




Manjaro XFCE x86_64




OS:                Arch Linux  
Hypervisor:        QEMU KVM  
Architecture:      x64
Machine Type:      qc35
EFI Firmware Code: /usr/share/edk2-ovmf/x64/OVMF_CODE.fd
EFI Firmware Vars: /usr/share/edk2-ovmf/x64/OVMF_VARS.fd

See GitHub - safenetwork-community/bastillebox-installer at arch for the box I’m trying to build.

I’m trying to build a vagrant box with Arch Linux OS installed and some app that needs to use partitions, so I can’t use docker for this.

I also like using EFI for this, although not really necessary, I’m a perfectionist when it comes to this project of mine.

The last time I worked on this, I took compromises and support dropped for one piece of software making the box permanently outdated.

So I want to do it right this time around and want nothing but the best of everything that I perceive as such.

The problem is with EFI.

After building the box with packer build I can’t run the box without receiving an error.


Starting install...
ERROR  Impossible to rename file '(null).new' to '(null)': Bad address
Domain installation does not appear to have been successful.
If it was, you can restart your domain by running:
virsh --connect qemu:///system start testvm1
otherwise, please restart your installation.

This happens when running the command below:

virt-install command

sudo virt-install \
--name bastille-installer \
--vcpu 2 \
--memory 1024 \
--osinfo archlinux \
--disk /var/lib/libvirt/images/bastille-installer_qemu_archlinux-2023-05.qcow2 \
--import \
--boot loader=/usr/share/edk2-ovmf/x64/OVMF_CODE.fd,loader.readonly=yes,loader.type=pflash,nvram.template=/usr/share/edk2-ovmf/x64/OVMF_VARS.fd,loader_secure=no

I’m at a loss as to why, what or where a ‘(null).new’
is being renamed to ‘(null)’.
Can anyone here help me out with this issue?

/usr/share/edk2-ovmf is a symbolic link to /usr/share/edk2 and that seems to have thrown off virt-install trying to find the nvram_template file.