aboutsummaryrefslogtreecommitdiff
Commit message (Collapse)AuthorAgeFilesLines
* mkarchiso: do not pad the ISO when it is not necessarynl67202024-05-182-0/+6
| | | | | If the ISO exceeds the max size of a CD (900 MiB), the 300 KiB padding needed for CDs can be removed.
* mkarchiso: increase the additional free space added to efiboot.imgnl67202024-05-132-7/+6
| | | | | | | | | | | | Less than 1 MiB (but rounded up to one) is needed to account for file and directory entries, especially when using FAT32. Otherwise the ISO build could stop with: Disk full The rest of the increase is to allow more space for adding custom files after the fact, i.e. when repacking the ISO. E.g. for the purposes of adding a signed boot loader for Secure Boot or similar. See https://wiki.archlinux.org/title/Unified_Extensible_Firmware_Interface/Secure_Boot#ISO_repacking
* scripts/run_archiso.sh: use 4 MiB OVMF filesnl67202024-05-092-6/+7
| | | | | Use `OVMF_CODE.4m.fd` and `OVMF_VARS.4m.fd` instead of the old 2 MiB `OVMF_CODE.fd` and `OVMF_VARS.fd`.
* mkarchiso: do not place the pkglist.x86_64.txt file inside the bootstrap ↵nl67202024-05-093-7/+9
| | | | | | | tarball's root.x86_64 directory Keep it inside the archive, but separate from the `root.x86_64` directory to avoid polluting it.
* mkarchiso: fix check for microcode update files in initramfs imagesnl67202024-05-042-5/+9
| | | | | | | | The existence of a ``early_cpio`` file is not enough since mkinitcpio can and will place other files in the early uncompressed CPIO even when the microcode hook is not used. Fixes https://gitlab.archlinux.org/archlinux/archiso/-/issues/231
* Add changelog for 77nl67202024-04-211-6/+18
|
* configs/releng/profiledef.sh: change UEFI boot loader from GRUB to systemd-bootnl67202024-04-192-2/+4
| | | | | | | | | | | | | | | | | | | | | While using GRUB as the UEFI boot loader has reduced the size of the ISO, it has brought nothing but pain otherwise: * We cannot use `gfxterm` since it is not visible on some hardware. * GRUB has a a strange and nonsensical limitation where the EFI binary can be built with either support for shim or custom Secure Boot key support, but not both. This means you cannot repack the ISO to use shim + MOK since we currently use `--disable-shim-lock` to provide support for setups with custom keys. * GRUB's EFI binary needs to be built with `grub-mkstandalone` instead of there being a ready made EFI binary in the package. This requires having grub installed on the host system which affects reproducibility. This increases the size of the ISO since systemd-boot cannot boot files from other volumes, i.e. the kernel and initramfs is duplicated in the EFI system partition (the second partition made from `efiboot.img`). Implements https://gitlab.archlinux.org/archlinux/archiso/-/issues/227
* configs/: replace archisodevice boot parameter with archisosearchuuidnl67202024-04-199-28/+12
| | | | | | | | | | | | `archisosearchuuid=` first searches for a matching UUID. If that fails, then it mounts and looks for a `/boot/${archisosearchuuid}.uuid` file in all detected block devices (in whatever order `blkid` lists them). This implements "file system transposition" without relaying on boot loader specific features and does not tie us to GRUB anymore. Related to https://gitlab.archlinux.org/archlinux/mkinitcpio/mkinitcpio-archiso/-/merge_requests/48 Fixes https://gitlab.archlinux.org/archlinux/archiso/-/issues/217
* configs/releng/: use mkinitcpio's microcode hook instead of external ↵nl67202024-04-198-14/+12
| | | | | | | | | microcode images This simplifies boot loader configuration, but custom PXE setups will be forced to update theirs. Implements https://gitlab.archlinux.org/archlinux/archiso/-/issues/226
* configs/releng/profiledef.sh: use zstd compression for bootstrap imagenl67202024-04-192-1/+3
| | | | | | | | | | | | | | | | | | The zstd tool has now been around for a while, so the availability of it should not be a concern anymore. Unlike gzip which was used until now, zstd offers higher compression while still being faster (and multi-threaded). The `--auto-threads=logical` option is used just so that there is some difference between the releng and baseline profiles. Everyone using the official Arch Linux bootstrap tarball (previously `archlinux-bootstrap-YYYY.MM.DD-x86_64.tar.gz` or `archlinux-bootstrap-x86_64.tar.gz`) will need to update their scripts and etc. to use `archlinux-bootstrap-YYYY.MM.DD-x86_64.tar.zst` or `archlinux-bootstrap-x86_64.tar.zst` instead. Implements https://gitlab.archlinux.org/archlinux/archiso/-/issues/130
* mkarchiso: fix requirement validation logic for uefi-ia32.systemd-boot.eltoritonl67202024-04-012-1/+4
| | | | | | | `uefi-ia32.systemd-boot.eltorito` has the same requirements as `uefi-ia32.systemd-boot.esp`, not the same as `uefi-x64.systemd-boot.esp`. Fixes: 5e72546e89024a9e8095c75be6ca86312f5c376a ("mkarchiso: add uefi-ia32.systemd-boot.esp and uefi-ia32.systemd-boot.eltorito boot modes")
* Add configs/releng/efiboot/loader/entries/03-archiso-x86_64-memtest86+.confnl67202024-04-012-0/+4
| | | | | | Create a boot entry for Memtest86+. Implements https://gitlab.archlinux.org/archlinux/archiso/-/issues/228
* mkarchiso: copy Memtest86+ for uefi-x64.systemd-boot.* boot modesnl67202024-04-012-1/+27
| | | | | | | If the Memtest86+ EFI binary exists, copy it to the EFI system partition (`efiboot.img`) and also to ISO 9660. Implements https://gitlab.archlinux.org/archlinux/archiso/-/issues/228
* Add changelog for 76nl67202024-03-301-6/+18
|
* configs/*/profiledef.sh: set bootstrap_tarball_compressionnl67202024-03-303-1/+3
| | | | | | | * bootstrap will use .tar.zst with `zstd -c -T0 --long -19`, * releng will retain .tar.gz with `gzip -cn9` for now. This will later be changed as part of https://gitlab.archlinux.org/archlinux/archiso/-/issues/130.
* mkarchiso: implement configurable bootstrap tarball compressionnl67202024-03-304-4/+55
| | | | | | | profiledef.sh gains a new option `bootstrap_tarball_compression` which is a bash array containing the compression program and its arguments. Related to https://gitlab.archlinux.org/archlinux/archiso/-/issues/130.
* .gitignore: add more ignored filesnl67202024-03-301-1/+4
| | | | | | * more tarball matching, * `network-config` used by cloud-init, * anything starting with `codesigning`.
* mkarchiso: skip including external microcode images if the initramfs file ↵nl67202024-03-262-21/+43
| | | | | | | | | contains early_cpio The early uncompressed CPIO archive containing microcode update files can be part of the initramfs file. To avoid wasting space, first check if the initramfs file contains `early_cpio` and only copy external microcode initramfs images if it does not.
* mkarchiso: move /boot/grub/YYYY-mm-dd-HH-MM-SS-00.uuid to ↵nl67202024-03-242-14/+14
| | | | | | | | | /boot/YYYY-mm-dd-HH-MM-SS-00.uuid Once mkinitcpio-archiso implements searching for the file in early userspace, this file's use will not be limited to just GRUB. Related to https://gitlab.archlinux.org/archlinux/archiso/-/issues/217
* Revert "mkarchiso: unset LANGUAGE"nl67202024-02-202-5/+2
| | | | | | | | Starting with glibc 2.39, LC_ALL=C.UTF-8 overrides LANGUAGE, just like LC_ALL=C. See https://sourceware.org/bugzilla/show_bug.cgi?id=16621 for details. This reverts commit 6ac22309530f3aa07a2b638ccde419a3a509f50c.
* Makefile: build and install the mkarchiso(1) man pagenl67202024-02-177-37/+48
| | | | | rst2man from python-docutils is required to convert the man page from reStructuredText.
* Add man page for mkarchisonl67202024-02-072-0/+93
|
* Add changelog for 75nl67202024-01-241-6/+19
|
* configs/releng/profiledef.sh: replace "CD" with "DVD" in iso_applicationnl67202024-01-202-1/+3
| | | | | | | | Starting with kernel 6.7, the releng ISO exceeds 900 MiB which is the maximum size of a CD. Adjust the description to say "DVD" instead. Closes https://gitlab.archlinux.org/archlinux/archiso/-/issues/144
* mkarchiso: update memtest86+ license file locationnl67202024-01-182-2/+4
| | | | | | | | | | | The licenses package does not ship `/usr/share/licenses/common/GPL2/license.txt` anymore, which results in: /usr/share/licenses/common/GPL2/license.txt': No such file or directory Use its replacement, `/usr/share/licenses/spdx/GPL-2.0-only.txt` instead. Fixes https://gitlab.archlinux.org/archlinux/archiso/-/issues/225
* configs/releng/packages.x86_64: explicitly add ldnsnl67202024-01-052-0/+4
| | | | | | | | | Currently the ldns package is pulled in as a dependency of openssh, but that dependency may be gone in the future. See https://gitlab.archlinux.org/archlinux/packaging/packages/openssh/-/issues/2 Explicitly include ldns to ensure the live environment will continue to have `drill`.
* Add changelog for 74 and update AUTHORS.rstnl67202023-12-212-6/+20
|
* mkarchiso: place prepared systemd-boot configuration in work directorynl67202023-12-211-18/+27
| | | | | | | | | | Keep the prepared `.conf` files in `work_dir` to avoid having to run them through `sed` twice. This makes sure the FAT image size calculation is more correct and also simplifies copying the files m to both ISO 9660 and the FAT image since the the whole `loader` directory can copied instead of copying individual files.
* mkarchiso: add missing replacement for ARCHISO_UUID in ↵nl67202023-12-212-0/+3
| | | | | | /loader/entries/*.conf on ISO 9660 Fixes: 094afd169a0ff871eb7a6b37d68a9b9bcb7195e4 ("mkarchiso: support %ARCHISO_UUID% variable in boot loader configuration")
* configs/*/airootfs/etc/systemd/network/: add RequiredForOnline=routablenl67202023-12-095-0/+15
| | | | | | | | | | | By default systemd-networkd-wait-online.service considers a network connection to be "online" when it has reached the "degraded" state (see networkctl(1) for the definitions). Since "degraded" does not ensure there's a routable address, let's change the connection's requirement to "routable" instead. This gives a better chance that the network really is online when network-online.target is reached.
* Merge remote-tracking branch 'origin/merge-requests/355'nl67202023-12-082-1/+2
|\ | | | | | | | | | | | | | | | | By John Lane * origin/merge-requests/355: update changelog Allow download automated script using TFTP See merge request https://gitlab.archlinux.org/archlinux/archiso/-/merge_requests/355
| * update changelogJohn Lane2023-12-071-0/+1
| |
| * Allow download automated script using TFTPJohn Lane2023-12-071-1/+1
|/
* Merge remote-tracking branch 'origin/merge-requests/353'nl67202023-12-071-1/+2
|\ | | | | | | | | | | | | | | By Anton Hvornum * origin/merge-requests/353: Ensured the correct CA key and CA certificate is used during signing process. It's been working based on default assumptions from the openssl configuration, but it's worth being explicit when doing these operations. Also removed a redundant -sha256 See merge request https://gitlab.archlinux.org/archlinux/archiso/-/merge_requests/353
| * Ensured the correct CA key and CA certificate is used during signing ↵Anton Hvornum2023-12-071-1/+2
|/ | | | process. It's been working based on default assumptions from the openssl configuration, but it's worth being explicit when doing these operations. Also removed a redundant -sha256
* .gitlab/ci/build_archiso.sh: do not use "default" as the gpg Key-Typenl67202023-12-071-2/+2
| | | | | | | | GnuPG changed their default from RSA to ECC, so Key-Length not a thing it supports. Instead it asks for the Key-Curve. Avoid using the default and hardcode ed25519 (which is the current GnuPG default).
* Merge remote-tracking branch 'origin/merge-requests/351'nl67202023-12-012-0/+3
|\ | | | | | | | | | | | | | | By kojq su * origin/merge-requests/351: add bcachefs-tools See merge request https://gitlab.archlinux.org/archlinux/archiso/-/merge_requests/351
| * add bcachefs-toolskojq su2023-12-012-0/+3
|/
* Add changelog for 73nl67202023-09-291-9/+18
|
* Add configs/baseline/airootfs/etc/localtimenl67202023-09-292-0/+4
| | | | | | | Make sure the ISO can be booted successfully without triggering questions from systemd-firstboot. Fixes https://gitlab.archlinux.org/archlinux/archiso/-/issues/205 Fixes: 6e1be91961967a6485901ac431f6f6b06675b750 ("archiso/mkarchiso: write "uninitialized" to /etc/machine-id")
* mkarchiso: always create /boot/grub/grubenv and /boot/grub/loopback.cfgnl67202023-09-281-2/+41
| | | | | | | | | | Even if GRUB is not used as a boot loader for the ISO, create a `/boot/grub/grubenv` file in the ISO 9660 file system. If a `loopback.cfg` file exists in the profile's `grub` directory, copy it to `/boot/grub/loopback.cfg` on the ISO. This ensures the funtionality will not be lost if the used boot loaders are changed.
* Add configs/*/grub/loopback.cfgnl67202023-09-283-0/+155
| | | | | | | | | See https://www.supergrubdisk.org/wiki/Loopback.cfg for details. Only `${iso_path}` is guaranteed, so we need to search for the volume, on which the ISO file resides, ourselves. Implements https://gitlab.archlinux.org/archlinux/archiso/-/issues/165
* configs/*/grub/grub.cfg: do not hardcode the architecture and platformnl67202023-09-282-22/+101
| | | | | | | | | | Construct a human readable platform identifier from GRUB's built-in variables and use it in menu item descriptions. Only add the menu entries for the additional tools (UEFI shell, Memtest86+) if the files exist. Modify baseline's `grub.cfg` to closer match releng.
* configs/releng/grub/grub.cfg: play init tune at the endnl67202023-09-281-2/+4
| | | | | Move the `play` command to the end of the file so it plays after the menu entries are shown and ready.
* configs/*/grub/grub.cfg: rearrange module loadingnl67202023-09-282-6/+12
| | | | | | * Do not manually load modules that will get loaded by invoking a command. * Explicitly load serial modules. * Move `insmod all_video` after the font is loaded.
* mkarchiso: add uefi-ia32.systemd-boot.esp and ↵nl67202023-09-243-31/+135
| | | | | | | | | | | | uefi-ia32.systemd-boot.eltorito boot modes The systemd 254.2-1 package ships with IA32 systemd-boot, so it is possible to use for booting on IA32 UEFI. Perhaps they will be useful in the future. At least for now, the baseline and releng profiles are not changed to use them. When the issues and headaches caused with GRUB reach a critical point, then we will switch.
* configs/releng/packages.x86_64: add boltnl67202023-09-242-0/+3
| | | | | | | bolt can be used to list and authorize Thunderbolt and USB4 devices. Inspired by https://bbs.archlinux.org/viewtopic.php?id=288731 where a user needed to install the package in the live environment.
* Add changelog for 72nl67202023-08-291-6/+18
|
* Use pcsclite for communicating with OpenPGP smartcardsDavid Runge2023-08-294-0/+7
| | | | | As opgpcard uses pcsclite and gnupg is able to use it as well, switch away from using gnupg's internal ccid driver.
* Add sequoia-sq and openpgp-card-tools to releng profileDavid Runge2023-08-292-0/+3
|