Commit graph

1401 commits

Author SHA1 Message Date
nl6720
7dd615ea83
Revert "mkarchiso: unset LANGUAGE"
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 6ac2230953.
2024-02-20 14:02:10 +02:00
nl6720
2932a9def3
Makefile: build and install the mkarchiso(1) man page
rst2man from python-docutils is required to convert the man page from
reStructuredText.
2024-02-17 11:27:19 +02:00
nl6720
bedb75a8c3
Add man page for mkarchiso 2024-02-07 14:50:40 +02:00
nl6720
1f65b695d3
Add changelog for 75 2024-01-24 12:23:44 +02:00
nl6720
5d8fe01fe1
configs/releng/profiledef.sh: replace "CD" with "DVD" in iso_application
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
2024-01-20 16:35:14 +02:00
nl6720
5aac945f76
mkarchiso: update memtest86+ license file location
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
2024-01-18 15:26:59 +02:00
nl6720
e04a40d04b
configs/releng/packages.x86_64: explicitly add ldns
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`.
2024-01-05 17:42:18 +02:00
nl6720
a3b7121afb
Add changelog for 74 and update AUTHORS.rst 2023-12-21 11:45:08 +02:00
nl6720
56417cead4
mkarchiso: place prepared systemd-boot configuration in work directory
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.
2023-12-21 11:08:14 +02:00
nl6720
ebceecbd84
mkarchiso: add missing replacement for ARCHISO_UUID in /loader/entries/*.conf on ISO 9660
Fixes: 094afd169a ("mkarchiso: support %ARCHISO_UUID% variable in boot loader configuration")
2023-12-21 10:03:47 +02:00
nl6720
cb61daf8ea
configs/*/airootfs/etc/systemd/network/: add RequiredForOnline=routable
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.
2023-12-09 12:40:59 +02:00
nl6720
c96c2bef48
Merge remote-tracking branch 'origin/merge-requests/355'
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
2023-12-08 11:09:38 +02:00
John Lane
e11875e951 update changelog 2023-12-07 21:00:27 +00:00
John Lane
72c274924a Allow download automated script using TFTP 2023-12-07 21:00:27 +00:00
nl6720
977e0b0fd4
Merge remote-tracking branch 'origin/merge-requests/353'
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
2023-12-07 15:53:27 +02:00
Anton Hvornum
28becbfc03 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 2023-12-07 12:00:47 +01:00
nl6720
60a38f0890
.gitlab/ci/build_archiso.sh: do not use "default" as the gpg Key-Type
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).
2023-12-07 10:39:20 +02:00
nl6720
1eb7fc3c8a
Merge remote-tracking branch 'origin/merge-requests/351'
By kojq su
* origin/merge-requests/351:
  add bcachefs-tools

See merge request https://gitlab.archlinux.org/archlinux/archiso/-/merge_requests/351
2023-12-01 09:49:00 +02:00
kojq su
7b843d6f27 add bcachefs-tools 2023-12-01 09:47:54 +02:00
nl6720
e880172984
Add changelog for 73 2023-09-29 13:34:21 +03:00
nl6720
4b489cd8bc
Add configs/baseline/airootfs/etc/localtime
Make sure the ISO can be booted successfully without triggering questions from systemd-firstboot.

Fixes https://gitlab.archlinux.org/archlinux/archiso/-/issues/205
Fixes: 6e1be91961 ("archiso/mkarchiso: write "uninitialized" to /etc/machine-id")
2023-09-29 13:00:56 +03:00
nl6720
a75d7e5f7e
mkarchiso: always create /boot/grub/grubenv and /boot/grub/loopback.cfg
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.
2023-09-28 10:53:45 +03:00
nl6720
4280af7474
Add configs/*/grub/loopback.cfg
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
2023-09-28 10:09:10 +03:00
nl6720
0cd0cc0c3b
configs/*/grub/grub.cfg: do not hardcode the architecture and platform
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.
2023-09-28 10:08:36 +03:00
nl6720
8fb5246de6
configs/releng/grub/grub.cfg: play init tune at the end
Move the `play` command to the end of the file so it plays after the
menu entries are shown and ready.
2023-09-28 10:08:36 +03:00
nl6720
0a3a57a88b
configs/*/grub/grub.cfg: rearrange module loading
* 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.
2023-09-28 10:08:36 +03:00
nl6720
5e72546e89
mkarchiso: add uefi-ia32.systemd-boot.esp and 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.
2023-09-24 12:06:02 +03:00
nl6720
519a5c004d
configs/releng/packages.x86_64: add bolt
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.
2023-09-24 11:31:23 +03:00
nl6720
a4bbbfde42
Add changelog for 72 2023-08-29 22:27:03 +02:00
David Runge
6c5ab3d388
Use pcsclite for communicating with OpenPGP smartcards
As opgpcard uses pcsclite and gnupg is able to use it as well, switch
away from using gnupg's internal ccid driver.
2023-08-29 20:13:32 +02:00
David Runge
81d62d4c5d
Add sequoia-sq and openpgp-card-tools to releng profile 2023-08-29 15:04:25 +02:00
nl6720
174f818581
/etc/ssh/sshd_config.d/10-archiso.conf: keep only the modified options
The only changes we make to the default are to enable root login via a
password.

While `PasswordAuthentication yes` is the default, let's set it
explicitly to avoid potential issues in the future.
2023-08-26 10:54:26 +03:00
nl6720
d501e235bb
Move custom sshd_config to /etc/ssh/sshd_config.d/
openssh 9.4p1-2 changed /etc/ssh/sshd_config to add support for
drop-in files in /etc/ssh/sshd_config.d/.

Using drop-in files avoids needing to keep up with changes to the
default /etc/ssh/sshd_config.
2023-08-26 10:54:26 +03:00
nl6720
9bb29f3980
configs/releng/packages.x86_64: add tpm2-tools
The tools are useful for clearing, creating and reading keys and etc.
on the TPM.
2023-08-26 10:11:53 +03:00
David Runge
ddda63ba09
Remove qemu-headless from list of dependencies in GitLab CI
Remove qemu-headless since it is no longer needed to build the project
and is also no longer provided by qemu-base.
2023-08-21 15:55:06 +02:00
nl6720
2e6db24f23
Set IPv6PrivacyExtensions=yes in global systemd-netorkd configuration
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/.
2023-08-11 11:40:14 +03:00
nl6720
0b8704fe4b
configs/releng/airootfs/etc/systemd/system/etc-pacman.d-gnupg.mount: use tmpfs with noswap option
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").
2023-08-05 16:00:28 +03:00
nl6720
8ddd08f51d
.gitlab/ci/build_archiso.sh: create a valid code signing certificate
Make sure the certificate has a extendedKeyUsage section with
codeSigning per the iPXE requirements.

Fixes #195
2023-08-02 16:06:49 +03:00
nl6720
279d3c0971
.gitlab/ci/build_archiso.sh: improve CI codesigning certificate
Adjust subject name to more closely match what's used in create_ephemeral_pgp_key.

Reduce the certificate validity to two days. These are just temporary
certificates, they will not be used anywhere.

Fixes #196
2023-08-02 16:04:35 +03:00
nl6720
17a71ade2e
configs/*/airootfs/etc/mkinitcpio.conf.d/archiso.conf: remove comments and unused options
Set only the custom values for HOOKS and COMPRESSION.
2023-06-21 16:20:16 +03:00
nl6720
eb5720331b
configs/: move custom mkinitcpio.conf files to /etc/mkinitcpio.conf.d/
This allows to retain a pristine /etc/mkinitcpio.conf in the rootfs.
2023-06-21 16:20:16 +03:00
nl6720
28a3a54c5f
Fix optional shellcheck warnings
Additionally fix a few code style issues found with shfmt.
2023-06-15 15:12:28 +03:00
nl6720
40dbfcfaf0
.shellcheckrc: enable optional checks
* Suggest explicitly using -n in `[ $var ]`. https://www.shellcheck.net/wiki/SC2243 & https://www.shellcheck.net/wiki/SC2244
* Suggest 'command -v' instead of 'which'. https://www.shellcheck.net/wiki/SC2230
* Suggest quoting variables without metacharacters. https://www.shellcheck.net/wiki/SC2248
* Require [[ and warn about [ in Bash/Ksh. https://www.shellcheck.net/wiki/SC2292
2023-06-15 15:12:28 +03:00
nl6720
bf79d7be9e
mkarchiso: prevent interference from xorriso startup files
Options set in xorriso startup files (~/.xorrisorc) could interfere with the xorriso command run by mkarchiso.
For example, if ~root/.xorrisorc contains -dummy on, then the ISO file will be empty.

Pass -no_rc as the first option to xorriso to prevent interference and unintended behavior.

Fixes #153.
2023-06-15 14:19:34 +03:00
nl6720
1d1f9a0fc8
mkarchiso: run _cms_sign_artifact only once
Since `_build_buildmode_netboot` runs `_build_iso_base` which runs
`_prepare_airootfs_image`, the call to `_cms_sign_artifact` in
`_build_buildmode_netboot` can be removed.

Fixes #197
2023-06-01 09:58:22 +03:00
nl6720
c50ffaf48b
Add changelog for 71 and update AUTHORS.rst 2023-05-28 10:48:08 +03:00
nl6720
1637dc3590
Update configs/{baseline,releng}/pacman.conf
Update pacman.conf to match the one shipped with pacman 6.0.2-7.

The community repository is gone. See
https://archlinux.org/news/git-migration-completed/
2023-05-25 16:35:56 +03:00
nl6720
dee0da6eb2
Merge remote-tracking branch 'origin/merge-requests/330'
By Sorin Pânca
* origin/merge-requests/330:
  Add support for mDNS.

See merge request https://gitlab.archlinux.org/archlinux/archiso/-/merge_requests/330
2023-05-25 16:34:35 +03:00
Sorin Pânca
32b32bd615 Add support for mDNS. 2023-05-22 15:58:50 +03:00
nl6720
b5e7f5afc5
mkarchiso: add a -r option to delete the working directory
`-r` will instruct to delete the working directory at the end of a
`mkarchiso` run.

If the specified directory already exists, then it will not be deleted
and instead produce a warning.

Implements #211
2023-05-17 21:46:19 +03:00