Age | Commit message (Collapse) | Author |
|
The project access token expired ~3 months ago and apparently the job
token has the scopes needed for deleting old packages, so let's just use
that instead of creating a new project access token. I assume it was not
possible to delete packages with the job token, when this was initially
implemented[1].
[1] d04c827 ("Use GitLab's package registry for releases instead of tags")
|
|
.gitlab-ci.yml: use 4 MiB OVMF files
See merge request archlinux/arch-boxes!199
|
|
.gitlab-ci.yml: use 4 MiB OVMF files
See merge request archlinux/arch-boxes!199
|
|
Use `OVMF_CODE.4m.fd` and `OVMF_VARS.4m.fd` instead of the old 2 MiB
`OVMF_CODE.fd` and `OVMF_VARS.fd`.
|
|
It broke ~2 month ago and I suspect it is a backend issue, so disable
the usage of direct upload for now, so we can release boxes to Vagrant
Cloud again.
[1] https://github.com/hashicorp/vagrant/issues/13319
|
|
It will be stored as a CI/CD variable.
[1] https://developer.hashicorp.com/vagrant/vagrant-cloud/users/authentication#authenticating-tools
|
|
Run DHCP client on predictable network interfaces
See merge request archlinux/arch-boxes!197
|
|
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.
|
|
The refactor of the qemu package was done over a year ago[1], but the
qemu-headless "provides" has only recently been dropped[2][3].
For the .build job, only qemu-img is needed since [4].
[1] https://archlinux.org/news/qemu-700-changes-split-package-setup/
[2] https://gitlab.archlinux.org/archlinux/packaging/packages/qemu/-/commit/6b17907e83f69e873fa1495350bdaf70097142c0
[3] https://gitlab.archlinux.org/archlinux/packaging/packages/qemu/-/commit/dd39e979e6817ebe6c25ee9de1ed0e8c7d670538
[4] 3bda5b2 ("Use new experimental VM runners[1] for building")
|
|
Allow systemd-gpt-auto-generator to mount the ESP automatically
See merge request archlinux/arch-boxes!195
|
|
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_automounting
|
|
Revert "Create /etc/resolv.conf as a relative symlink"
See merge request archlinux/arch-boxes!196
|
|
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.
|
|
The docker runners are preferred as they are faster and use fewer
resources.
|
|
[1] https://github.com/hashicorp/vagrant/commit/b40f6e5fdae1113518e9c92f96dfcd364b646ff9
|
|
Create /etc/resolv.conf as a relative symlink
See merge request archlinux/arch-boxes!194
|
|
This matches with /usr/lib/tmpfiles.d/systemd-resolve.conf.
|
|
Initialize an empty pacman keyring in the target
See merge request archlinux/arch-boxes!193
|
|
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.
|
|
TRIM the EFI system partition
See merge request archlinux/arch-boxes!192
|
|
Linux supports TRIM on VFAT, so run fstrim against the ESP mountpoint.
|
|
Credit to @nl6720.
|
|
Clarify release schedule
See merge request archlinux/arch-boxes!191
|
|
"Biweekly" is ambiguous as it could mean either "once every two weeks"
or "twice a week".
Use the word "fortnightly" to remove the ambiguity.
|
|
Enable DHCPv6 client
See merge request archlinux/arch-boxes!190
|
|
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.
|
|
Create the swap file with the btrfs utility
See merge request archlinux/arch-boxes!189
|
|
Use `btrfs filesystem mkswapfile` instead of performing all the actions
manually.
|
|
The community repository has been merged into extra as part of the git
migration.
[1] https://archlinux.org/news/git-migration-announcement/
|
|
Add UEFI support
Closes #141
See merge request archlinux/arch-boxes!182
|
|
Test basic and cloudimg image booting on x64 UEFI using qemu with edk2-ovmf.
|
|
This makes it clear that they only test booting in BIOS mode.
|
|
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
|
|
build.sh executes mkfs.btrfs. Currently it only works because the environment
where build.sh runs (an arch-boxes image itself) already has btrfs-progs.
|
|
feat: Remove build-host.sh as it is no longer used
See merge request archlinux/arch-boxes!188
|
|
Rename the script to just `build.sh` to use a more generic name and
description.
|
|
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.
|
|
Use DHCP for all ethernet interfaces
See merge request archlinux/arch-boxes!186
|
|
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).
|
|
Align the partition end sectors and add partition names
See merge request archlinux/arch-boxes!179
|
|
A swap file cannot be referenced by its UUID so there's no need for it to have one in the first place.
|
|
sgdisk by default only aligns the partition start. Use the --align-end option to align the partition end too.
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 by using the "Linux x86-64 root" partition type.
|
|
Switch to Geo IP mirrors
See merge request archlinux/arch-boxes!184
|
|
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.
|
|
Enable systemd-time-wait-sync.service and order pacman-init.service after time-sync.target
See merge request archlinux/arch-boxes!183
|
|
time-sync.target
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.
|
|
Order pacman-init.service before archlinux-keyring-wkd-sync.service
See merge request archlinux/arch-boxes!180
|
|
archlinux-keyring-wkd-sync.service needs an initialized pacman keyring to work.
|
|
Do not pass a keyring name to pacman-key
See merge request archlinux/arch-boxes!178
|
|
If the keyring is not specified, pacman-key will simply use all keyrings from /usr/share/pacman/keyrings/.
|