Unfortunately, dnf treats it as an error if we try to remove a package
that already did not exist. This means that, e.g., if we try to remove
calamares itself, but calamares was not installed on the base image,
only in the overlay, we will fail with an error. So, as long as we do
not have a better solution, we ignore the exit code of "dnf remove"
entirely.
(yum does not show this behavior, it returns success when the package to
remove is already not installed.)
When removing packages with yum or dnf, pass the --disablerepo=*
(disable all online repositories) and -C (run from cache) arguments.
Package removals do not normally require network access, and this
measure saves time and bandwidth and prevents possible unnecessary
errors (e.g., if we do not have active network access, or if there is
some problem with the mirrors).
Having swap set at "none" makes hibernating not possible.
AFAIK, no filesystem/partition sets mountpoint as "none" nor has any other besides swap an empty mountpoint at the stage where the fstab module is called.
Tests so far show this change creates a working fstab when using a swap partition.
From Arch wiki:
--target=i386-pc instructs grub-install to install for BIOS systems only. It is recommended
to always use this option to remove ambiguity in grub-install.
If the efiBootloaderId is set, it is used as the --bootloader-id when
installing grub-efi. The rationale is pretty much the same as for the
Gummiboot case.
If the setting is not used, the --bootloader-id is determined from the
branding's bootloaderEntryName (as before).
mount: Remember the extraMounts (and extraMountsEfi, if applicable) in
the global storage (as "extraMounts").
unpackfs: Read the extra mounts from the global storage to generate the
exclude list instead of trying to detect it from the "mount" command's
output, because the latter also includes normally-mounted destination
partitions.
This makes having separate partitions for non-/ mountpoints work again.