arch-boxes merge requestshttps://gitlab.archlinux.org/archlinux/arch-boxes/-/merge_requests2023-12-21T12:43:06Zhttps://gitlab.archlinux.org/archlinux/arch-boxes/-/merge_requests/198Add RequiredForOnline=routable to /etc/systemd/network/80-dhcp.network2023-12-21T12:43:06Znl6720Add RequiredForOnline=routable to /etc/systemd/network/80-dhcp.networkBy default [systemd-networkd-wait-online.service](https://man.archlinux.org/man/systemd-networkd-wait-online.service.8****) considers a network
connection to be "online" when it has reached the "degraded" state
(see [networkctl(1)](https...By default [systemd-networkd-wait-online.service](https://man.archlinux.org/man/systemd-networkd-wait-online.service.8****) considers a network
connection to be "online" when it has reached the "degraded" state
(see [networkctl(1)](https://man.archlinux.org/man/networkctl.1.en) for the definitions).
Since "degraded" does not ensure there's a routable address, let's
change the connection's requirement to "routable" instead.https://gitlab.archlinux.org/archlinux/arch-boxes/-/merge_requests/197Run DHCP client on predictable network interfaces2023-11-07T18:12:06Znl6720Run DHCP client on predictable network interfacesMake sure networking still works when someone removes the silly
`net.ifnames=0` kernel parameter from the boot loader configuration and
chooses to use predictable network interface names.Make sure networking still works when someone removes the silly
`net.ifnames=0` kernel parameter from the boot loader configuration and
chooses to use predictable network interface names.https://gitlab.archlinux.org/archlinux/arch-boxes/-/merge_requests/196Revert "Create /etc/resolv.conf as a relative symlink"2023-07-18T13:47:19Znl6720Revert "Create /etc/resolv.conf as a relative symlink"Something about the relative symlink makes arch-chroot go haywire
when invoked by `build.sh` and create crazy bind mounts like
`/tmp/boxes-tmp/tmp.cwtHQPvydE/mount/tmp/boxes-tmp/tmp.cwtHQPvydE/mount/run/systemd/resolve/stub-resolv.conf`
...Something about the relative symlink makes arch-chroot go haywire
when invoked by `build.sh` and create crazy bind mounts like
`/tmp/boxes-tmp/tmp.cwtHQPvydE/mount/tmp/boxes-tmp/tmp.cwtHQPvydE/mount/run/systemd/resolve/stub-resolv.conf`
Revert to an absolute symlink until the issue is fixed.
See https://github.com/archlinux/arch-install-scripts/issues/55
This reverts commit ff22bfc49ac60001849fcce73fe91e5fbabcf03a.https://gitlab.archlinux.org/archlinux/arch-boxes/-/merge_requests/195Allow systemd-gpt-auto-generator to mount the ESP automatically2023-08-19T20:17:09Znl6720Allow systemd-gpt-auto-generator to mount the ESP automaticallygrub-mkconfig from grub 2:2.06.r566.g857af0e17-1 sets up loading a `bli`
module that sets `LoaderDevicePartUUID`. This means that
systemd-gpt-auto-generator can now automount partitions when GRUB is
used as the boot loader.
See https://...grub-mkconfig from grub 2:2.06.r566.g857af0e17-1 sets up loading a `bli`
module that sets `LoaderDevicePartUUID`. This means that
systemd-gpt-auto-generator can now automount partitions when GRUB is
used as the boot loader.
See https://wiki.archlinux.org/title/systemd#GPT_partition_automountinghttps://gitlab.archlinux.org/archlinux/arch-boxes/-/merge_requests/194Create /etc/resolv.conf as a relative symlink2023-06-28T16:17:24Znl6720Create /etc/resolv.conf as a relative symlinkThis matches with `/usr/lib/tmpfiles.d/systemd-resolve.conf`.This matches with `/usr/lib/tmpfiles.d/systemd-resolve.conf`.https://gitlab.archlinux.org/archlinux/arch-boxes/-/merge_requests/193Initialize an empty pacman keyring in the target2023-06-26T17:24:20Znl6720Initialize an empty pacman keyring in the targetUse `pacstrap -K` to create a new pacman keyring instead of copying it
from the host. While it gets removed either way in `image_cleanup`, it
seems better to avoid using things from the host.Use `pacstrap -K` to create a new pacman keyring instead of copying it
from the host. While it gets removed either way in `image_cleanup`, it
seems better to avoid using things from the host.https://gitlab.archlinux.org/archlinux/arch-boxes/-/merge_requests/192TRIM the EFI system partition2023-06-25T20:17:06Znl6720TRIM the EFI system partitionLinux supports TRIM on VFAT, so run fstrim against the ESP mountpoint.Linux supports TRIM on VFAT, so run fstrim against the ESP mountpoint.https://gitlab.archlinux.org/archlinux/arch-boxes/-/merge_requests/191Clarify release schedule2023-06-10T15:32:29Znl6720Clarify release schedule"Biweekly" is ambiguous as it could mean either "once every two weeks"
or "twice a week".
Use the word "fortnightly" to remove the ambiguity."Biweekly" is ambiguous as it could mean either "once every two weeks"
or "twice a week".
Use the word "fortnightly" to remove the ambiguity.https://gitlab.archlinux.org/archlinux/arch-boxes/-/merge_requests/190Enable DHCPv6 client2023-06-10T15:29:48Znl6720Enable DHCPv6 clientSet `DHCP=yes` in `/etc/systemd/network/80-dhcp.network` to start both
DHCPv4 and DHCPv6 clients. This provides IPv6 for networks using DHCPv6
without RA.
It should not have much effect of networks with working RA since the
`IPv6AcceptR...Set `DHCP=yes` in `/etc/systemd/network/80-dhcp.network` to start both
DHCPv4 and DHCPv6 clients. This provides IPv6 for networks using DHCPv6
without RA.
It should not have much effect of networks with working RA since the
`IPv6AcceptRA` option is enabled by default for these connections anyway.https://gitlab.archlinux.org/archlinux/arch-boxes/-/merge_requests/189Create the swap file with the btrfs utility2023-06-10T15:21:37Znl6720Create the swap file with the btrfs utilityUse `btrfs filesystem mkswapfile` instead of performing all the actions
manually.
----
As previously mentioned in https://gitlab.archlinux.org/archlinux/arch-boxes/-/merge_requests/179#note_91923Use `btrfs filesystem mkswapfile` instead of performing all the actions
manually.
----
As previously mentioned in https://gitlab.archlinux.org/archlinux/arch-boxes/-/merge_requests/179#note_91923https://gitlab.archlinux.org/archlinux/arch-boxes/-/merge_requests/188feat: Remove build-host.sh as it is no longer used2023-04-06T22:19:12ZDavid Rungefeat: Remove build-host.sh as it is no longer usedThe use of `build-host.sh` has been removed in
3bda5b26a675f241a1e0ba596dc94858839d96fc.
In the case a script is needed to run `build-inside-vm.sh` in such an
environment again, it is advised to rely on
https://gitlab.archlinux.org/archl...The use of `build-host.sh` has been removed in
3bda5b26a675f241a1e0ba596dc94858839d96fc.
In the case a script is needed to run `build-inside-vm.sh` in such an
environment again, it is advised to rely on
https://gitlab.archlinux.org/archlinux/ci-scripts/ instead.https://gitlab.archlinux.org/archlinux/arch-boxes/-/merge_requests/187Draft: Revert "Enable systemd-time-wait-sync.service and order pacman-init.se...2023-04-06T22:21:43ZDavid RungeDraft: Revert "Enable systemd-time-wait-sync.service and order pacman-init.service after time-sync.target"This reverts commit e23d3c57a02b6b6d1062a878b792dfcce2c7004d.
It appears that systemd-time-wait-sync never exits (unless
systemd-networkd is restarted), which leads to follow-up services such
as sshd not starting:
https://gitlab.archlinu...This reverts commit e23d3c57a02b6b6d1062a878b792dfcce2c7004d.
It appears that systemd-time-wait-sync never exits (unless
systemd-networkd is restarted), which leads to follow-up services such
as sshd not starting:
https://gitlab.archlinux.org/archlinux/arch-boxes/-/issues/158
Fixes #158https://gitlab.archlinux.org/archlinux/arch-boxes/-/merge_requests/186Use DHCP for all ethernet interfaces2023-04-04T19:38:33ZDavid RungeUse DHCP for all ethernet interfacesChange the interface match of systemd-networkd from `eth0` to `eth*` to
match all local ethernet interfaces.
This is particularly useful for Vagrant, as it requires two interfaces
(one solely used for managing the machine, another e.g. f...Change the interface match of systemd-networkd from `eth0` to `eth*` to
match all local ethernet interfaces.
This is particularly useful for Vagrant, as it requires two interfaces
(one solely used for managing the machine, another e.g. for outbound
connections) and for machines in general, as depending on their context
(e.g. plain libvirt) the user may attach more interfaces and having DHCP
available for them out-of-the-box is a quality of life improvement (as
we do not know what the user intends to do with eth0 by default).https://gitlab.archlinux.org/archlinux/arch-boxes/-/merge_requests/185allow known ssh key for QEMU image2023-07-01T01:20:47ZGabriel barrosallow known ssh key for QEMU imageUsing the QEMU file for most programatic use cases is difficult without a ssh key pre-set.
Either using the image in a vagrant qemu backend, or directly via `qemu-system-x86_64 -display none -daemonize` makes it very difficult to intera...Using the QEMU file for most programatic use cases is difficult without a ssh key pre-set.
Either using the image in a vagrant qemu backend, or directly via `qemu-system-x86_64 -display none -daemonize` makes it very difficult to interact with the image since there's no way to ssh to the instance or attach qemu to std i/o without too much unrelated code (as this repo does, btw)
This change just add (and centralizes in common) the code to create the user with a known public ssh key.https://gitlab.archlinux.org/archlinux/arch-boxes/-/merge_requests/184Switch to Geo IP mirrors2023-01-04T17:08:56ZJelle van der WaaSwitch to Geo IP mirrorsReflector can take a long time to figure out the best mirrors and blocks
ssh access which makes some automation slow (Waiting longer then 1
minute on a functioning server). This approach is similiar to what we
have for our docker images.Reflector can take a long time to figure out the best mirrors and blocks
ssh access which makes some automation slow (Waiting longer then 1
minute on a functioning server). This approach is similiar to what we
have for our docker images.https://gitlab.archlinux.org/archlinux/arch-boxes/-/merge_requests/183Enable systemd-time-wait-sync.service and order pacman-init.service after tim...2022-09-01T15:09:23Znl6720Enable systemd-time-wait-sync.service and order pacman-init.service after time-sync.targetIf the hardware clock is not in UTC, but instead UTC+_X_, the pacman keyring may end up with keys created in the future.
Ensure the time is synced before starting `pacman-init.service`.
This fixes the equivalent of archiso's https://git...If the hardware clock is not in UTC, but instead UTC+_X_, the pacman keyring may end up with keys created in the future.
Ensure the time is synced before starting `pacman-init.service`.
This fixes the equivalent of archiso's https://gitlab.archlinux.org/archlinux/archiso/-/issues/190 for arch-boxes.https://gitlab.archlinux.org/archlinux/arch-boxes/-/merge_requests/182Add UEFI support2023-06-04T21:02:11Znl6720Add UEFI supportCreate a 300 MiB EFI system partition.
Install GRUB to the default/fallback boot path on the ESP. This way it will boot everywhere and NVRAM will not be touched.
* dosfstools is needed for fsck.vfat,
* efibootmgr is for manipulating UE...Create a 300 MiB EFI system partition.
Install GRUB to the default/fallback boot path on the ESP. This way it will boot everywhere and NVRAM will not be touched.
* dosfstools is needed for fsck.vfat,
* efibootmgr is for manipulating UEFI boot entries. This is not done by any of scripts since we don't want to touch NVRAM.
Implements #141
----
Depends on !179.https://gitlab.archlinux.org/archlinux/arch-boxes/-/merge_requests/181Draft: Rename the default user from "arch" to "archie"2023-03-26T16:34:38Znl6720Draft: Rename the default user from "arch" to "archie"This matches with the example user of ArchWiki. See https://wiki.archlinux.org/title/Users_and_groups#User_database.This matches with the example user of ArchWiki. See https://wiki.archlinux.org/title/Users_and_groups#User_database.https://gitlab.archlinux.org/archlinux/arch-boxes/-/merge_requests/180Order pacman-init.service before archlinux-keyring-wkd-sync.service2022-09-01T14:11:40Znl6720Order pacman-init.service before archlinux-keyring-wkd-sync.service`archlinux-keyring-wkd-sync.service` will need an initialized pacman keyring to work.`archlinux-keyring-wkd-sync.service` will need an initialized pacman keyring to work.https://gitlab.archlinux.org/archlinux/arch-boxes/-/merge_requests/179Align the partition end sectors and add partition names2023-06-10T09:55:04Znl6720Align the partition end sectors and add partition names[sgdisk](https://man.archlinux.org/man/sgdisk.8) by default only aligns the partition start. Use the `--align-end` option to align the partition end too. See https://wiki.archlinux.org/title/Advanced_Format#Partition_alignment. Just to n...[sgdisk](https://man.archlinux.org/man/sgdisk.8) by default only aligns the partition start. Use the `--align-end` option to align the partition end too. See https://wiki.archlinux.org/title/Advanced_Format#Partition_alignment. Just to note, this doesn't make the images usable on 4Kn disks.
Additionally:
* Add `PARTLABEL` values to all partitions.
* Do not hardcode the partition number and end sectors in `sgdisk` commands by using the special value "`0`".
* Follow the [Discoverable Partitions Specification](https://systemd.io/DISCOVERABLE_PARTITIONS/) by using the "Linux x86-64 root" partition type.
* Do not create a UUID for the swap file.