When dhcpcd receives a DHCP lease, it tries to configure the DNS servers
through a D-Bus call to systemd-resolved, which currently fails. Fix
this by enabling the relevant systemd unit.
Booting the Arch Linux ISO nowadays requires at least 955 MB of memory
(from running `free -m` after booting it in VirtualBox).
When the virtual machine only has 768 MB of RAM, extracting the initrd
fails and the provisioning script aborts.
Increase the memory to 1024 MB to fix this.
OpenSSL 3.0 removed option `-crypt`. Use `-6` as this option seems
unlikely to be removed soon.
While at it, quote shell variables in a safe way to prevent issues when
they contain space characters.
Fixes: https://github.com/elasticdog/packer-arch/issues/80
It takes some time to write zeros to the disk and it aborts later if
less than 20GB are available.
Add variable to the template, cleanup script and add a new option to
wrapacker.
The '==>' prefix is used by pacstrap, pacman, and mkinitcpio. A new
prefix is needed to better differentiate the output of the script from
the output of the programs mentioned above.
Also adding more output to the different steps helps during troubleshooting.
Quickly test the box after creation to discover errors like missing
netctl. Better test the box in this project then in another project
that uses the box.
- virtualbox-guest-modules-arch doesn't exist anymore and the installation
will fail.
- virtualbox-guest-utils was replaced by virtualbox-guest-utils-nox
because Xorg isn't used.
- linux-headers removed because it's not needed by virtualbox-guest-utils
The Arch Linux installation ISO cannot be booted with 512MB (default).
It needs to be increased to 768MB. Only tested with VirtualBox, most
probably it's the same with every hypervisor.
In older versions of arch linux, the hashicorp packer package (and
binary) was named packer-io to avoid clashing with a pre-existing AUR
helper called packer. Recently, the AUR helper package was renamed to
packer-aur and the old packer-io (and corresponding binary) was
renamed to packer.
https://www.archlinux.org/packages/community/x86_64/packer/
Previously, the wrapacker script would unconditionally set PACKER_BIN
to "packer-io" if the file /etc/arch-release existed. We now instead
the check for the existence of a packer-io command, and fall back to
the default "packer" in case that doesn't exist.
mirrors.kernel.org is redirecting to mirrors.edge.kernel.org, causing
ISO_NAME to be set to an empty string. This resulted in ISO_URL being
set to the wrong value and packer failing to download the iso.
Packer template variables allow for dynamic integration of isodate
variables.
This commit leverages the isotime template engine to auto generate
the year and month values for the ISO url as well as the SHA checksum
fields.
This will allow for the ISO image to continuously remain up-to-date
without the need for continued monthly commits.
Additionally, it leverages this same template variable to ensure that
the resulting box filename matches the date it was created, for archival
purposes.