Since systemd 245, IPv6PrivacyExtensions can be set not just per
connection, but also globally for all connection with a configuration
file in /etc/systemd/network.conf.d/.
Since tmpfs has a `noswap` option, use it instead of ramfs. Unlike
ramfs, tmpfs has a limit to its size.
This reverts commit 09b0428128 ("configs/releng/airootfs/etc/systemd/system/etc-pacman.d-gnupg.mount: use ramfs").
configs/releng/airootfs/etc/systemd/system/pacman-init.service:
Order pacman-init.service after time-sync.target, so that time on the host is synchronized before initializing pacman.
configs/releng/airootfs/etc/systemd/system/{dbus-org.freedesktop.timesync1},sysinit.target.wants/systemd-timesyncd}.service:
Enable systemd-timesyncd which aliases to dbus-org.freedesktop.timesync1 to ensure time gets synced on the host.
configs/releng/airootfs/etc/systemd/system/sysinit.target.wants/systemd-time-wait-sync.service:
Enable systemd-time-wait-sync to ensure time is finished syncing when time-sync.target is finished.
archlinux-keyring-wkd-sync.service needs an initialized pacman keyring to work.
Add BindsTo=etc-pacman.d-gnupg.mount to stop pacman-init.service if the mount unit suddenly enters inactive state.
* open-vm-tools package, vmtoolsd.service and vmware-vmblock-fuse.service for VMware.
* hyperv package, hv_fcopy_daemon.service, hv_kvp_daemon.service and hv_vss_daemon.service for Hyper-V.
Related to #118.
When using tmpfs, it is possible that parts of it end up getting put in swap space (only if there is one).
This may not be desired, so use ramfs instead.
When booting the ISO, you can observe a message that systemd-gpt-auto-generator has failed:
systemd-gpt-auto-generator[197]: Reading EFI variable /sys/firmware/efi/efivars/LoaderDevicePartUUID-4a67b082-0a4c-41cf-b6c7-440b29bb8c4f.
systemd-gpt-auto-generator[197]: open("/sys/firmware/efi/efivars/LoaderDevicePartUUID-4a67b082-0a4c-41cf-b6c7-440b29bb8c4f") failed: No such file or directory
systemd-gpt-auto-generator[197]: EFI loader partition unknown, exiting.
systemd-gpt-auto-generator[197]: (The boot loader did not set EFI variable LoaderDevicePartUUID.)
systemd-gpt-auto-generator[197]: Failed to open device: No such device
Seeing as it started to appear relatively recently, it may be a systemd bug.
Since we do not want any GPT partition automounting in the live environment anyway, systemd-gpt-auto-generator can simply be disabled.
Fixes#164.
* virtualbox-guest-utils-nox package and vboxservice.service for VirtualBox.
* qemu-guest-agent package and qemu-guest-agent.service for QEMU & libvirt.
Implements #118.
configs/releng/airootfs/etc/systemd/system/reflector.service:
Use the 70 mirrors synced most recently (--latest) instead of a specific time since last sync (--age).
According to FS#67399 using 1hour as sync age is too short, as it sometimes leads to empty list.
configs/releng/airootfs/etc/fstab:
/etc/fstab shipped by the filesystem package has only comments. There is no reason to replace it with an empty file.
configs/releng/airootfs/etc/systemd/system/default.target:
There is no harm in booting to graphical.target. releng does not enable (or even install) any service that has {Required,Wanted}By=graphical.target.
LICENSE:
Add GPL-3.0 license.
{{archiso,configs}/*,.editorconfig,.gitlab-ci.yml}:
Add SPDX license identifier.
Makefile:
Add SPDX license identifier.
Install the `run_archiso.sh` script as global executable `run_archiso`.
Use -D and -t flags to install to install files more generically (without a previous call to install the directory).
README.rst:
Add README outlining the project's scope, how to build images from the profiles and how to test.
AUTHORS.rst:
Add list of all direct contributors to the repository.
CONTRIBUTING.rst:
Add basic contribution guidelines, explaining the linter and the license in use.
Closes#7Closes#3
It is enough if one network interface is online, there is no need to wait for all of them.
Without this, when connecting with Wi-Fi and leaving Ethernet disconnected, the network-online.target will get unnecessarily delayed.
configs/releng/airootfs/etc/systemd/network/20-{ethernet,wirless}.network:
Making sure that systemd-networkd enables DHCP capabilities also for
IPv6 ('DHCP=yes' and unsetting IPv6AcceptRA - see `man 5
systemd.network` for further information).
Closes#23
configs/releng/airootfs/etc/systemd/system/multi-user.target.wants/iwd.service:
Adding a symlink to /usr/lib/systemd/system/iwd.service to enable iwd in
airootfs (and thus on the image).
Closes#18
Adding a numerical prefix ('20-') to the ethernet.network and
wireless.network configuration files for systemd-networkd.
This way overriding them can become more predictable e.g. by providing
files with a '30-' prefix.
Closes#13
configs/releng/airootfs/etc/udev/rules.d/81-dhcpcd.rules:
Removing the udev rule for starting dhcpcd@.service on interfaces of the
form eth* and en*.
configs/releng/airootfs/etc/systemd/network/{ethernet,wireless}.network:
Adding default DHCP configurations for en*, eth*, wlp* and wlan*
interfaces.
configs/releng/airootfs/etc/resolv.conf:
Adding a symlink from /run/systemd/resolve/stub-resolv.conf to
/etc/resolv.conf (in airootfs).
configs/releng/airootfs/root/customize_airootfs.sh:
Adding systemd-networkd and systemd-resolved to the list of services
that are being enabled during airootfs customization.