Commit graph

1386 commits

Author SHA1 Message Date
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
nl6720
b9cec1e08b
Merge remote-tracking branch 'origin/merge-requests/327'
By 2hexed
* origin/merge-requests/327:
  Update mkarchiso
  Fixed a little typo in install_dir's description

See merge request https://gitlab.archlinux.org/archlinux/archiso/-/merge_requests/327
2023-05-17 21:25:15 +03:00
2hexed
dc72a84dae Update mkarchiso 2023-05-17 14:43:15 +00:00
nl6720
7f1632334b
CHANGELOG.rst: remove stray git conflict marker
Fixes 8cc0e9e5b0
2023-05-17 17:36:59 +03:00
nl6720
493aa90fd2
configs/releng/packages.x86_64: add more terminfo packages
Add foot-terminfo and wezterm-terminfo packages to allow using their
terminfo entries for installations via SSH.
2023-05-17 16:12:01 +03:00
nl6720
db292a59ab
README.profile.rst: document %ARCHISO_UUID% and %ARCHISO_SEARCH_FILENAME%
While their values are not affected by `profiledef.sh` variables, there
is no other place to document these *identifiers*.
2023-05-17 15:23:45 +03:00
nl6720
8cc0e9e5b0
mkarchiso: read SOURCE_DATE_EPOCH from file early
When restarting an interrupted build, SOURCE_DATE_EPOCH needs to be
available before `profiledef.sh` is read, since it may reference it.

Fixes 7c6f266ec9
2023-05-17 15:23:44 +03:00
nl6720
ce8fdedbf7
Use UUIDs in all boot loader configuration files
Relying on the volume UUID instead of its LABEL avoids collisions of
multiple ISOs created in the same month.

Fixes #202
2023-05-17 15:23:18 +03:00
nl6720
094afd169a
mkarchiso: support %ARCHISO_UUID% variable in boot loader configuration
It will be replaced with the ISO's modification date in UTC, i.e.
its "UUID".

This allows to replace `archisolabel=%ARCHISO_LABEL%` with
`archisodevice=UUID=%ARCHISO_UUID%` in boot loader configurations.

Related to #202
2023-05-17 15:23:18 +03:00
nl6720
b468327442
Merge remote-tracking branch 'origin/merge-requests/325'
By shivanandvp
* origin/merge-requests/325:
  mkarchiso: Fix the cp command arguments to retain mkarchiso's behavior prior to the GNU Coreutils update. Fixes Issue #214

See merge request https://gitlab.archlinux.org/archlinux/archiso/-/merge_requests/325
2023-05-17 15:11:26 +03:00
shivanandvp
14b2e44d90
mkarchiso: Fix the cp command arguments to retain mkarchiso's behavior prior to the GNU Coreutils update. Fixes Issue #214 2023-05-17 04:08:33 -05:00
nl6720
db2b78fd30
Merge remote-tracking branch 'origin/merge-requests/322'
By Antonio V
* origin/merge-requests/322:
  Fixed subdirectories copy from grub/ to the ISO
  Subdirectories from grub/ are copied to the ISO

Fixes https://gitlab.archlinux.org/archlinux/archiso/-/issues/215

See merge request https://gitlab.archlinux.org/archlinux/archiso/-/merge_requests/322
2023-05-17 11:11:33 +03:00
David Runge
44471540dc Merge branch 'd3vil0per-master-patch-56859' into 'master'
Added classes for Memtest86+ and UEFI Shell menuentries

See merge request archlinux/archiso!323
2023-05-16 21:59:25 +00:00
Antonio V
2b2f212845 Added classes for Memtest86+ and UEFI Shell menuentries 2023-05-14 15:20:07 +00:00
Antonio V
42f645edc3 Fixed subdirectories copy from grub/ to the ISO 2023-05-14 15:17:35 +00:00
Antonio V
751f6ed9ba Added classes for Memtest86+ and UEFI Shell menuentries 2023-05-14 15:10:02 +00:00