Commit Graph

405 Commits

Author SHA1 Message Date
Johannes Frohnmeyer 97183630e6
chmod 2023-09-30 23:31:14 +02:00
Johannes Frohnmeyer 9667b465ea
Additional tweaks 2023-09-30 23:31:00 +02:00
Johannes Frohnmeyer 715b8d30fc
Additional tweaks 2023-09-30 22:45:57 +02:00
Johannes Frohnmeyer 6341a71428
Add gnome 2023-09-30 21:59:39 +02:00
Johannes Frohnmeyer 8543abbcff
add pull scripts 2023-09-30 21:39:01 +02:00
nl6720 d5e28e7b02 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 342f20d0d7 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 83a7c4fabf 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 3096c0749c 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 f4a9f84b26 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
David Runge edd92d42c5 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 46ecca63a2 Add sequoia-sq and openpgp-card-tools to releng profile 2023-08-29 15:04:25 +02:00
nl6720 692099f157 /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 5743926e72 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 039283407e 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
nl6720 980f9e6511 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 100b6087d2 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 9278ebfc21 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 3dedfe61bb 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 dc77a3a508 Fix optional shellcheck warnings
Additionally fix a few code style issues found with shfmt.
2023-06-15 15:12:28 +03:00
nl6720 1e577cadbf 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
Sorin Pânca de09a1cf4d Add support for mDNS. 2023-05-22 15:58:50 +03:00
nl6720 2bd49da60c 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 e308287bfe 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
Antonio V e079cd4ef8 Added classes for Memtest86+ and UEFI Shell menuentries 2023-05-14 15:10:02 +00:00
Zig Globulin 089ddf6821 wait for networkd online before curl invocation
1) wait for network-online.target before invoking curl
   as there's no synchronization with network setup for this script
2) don't hide curl errors - it may be easier to debug the issues
3) add log and comments
2023-03-02 16:29:17 +02:00
David Runge c376dc24c5 Use console as grub's terminal_output
configs/{baseline,releng}/grub/grub.cfg:
Use `console` as grub's `terminal_output`, as with `gfxterm` only a blank screen is shown on some hardware.

Fixes #212
2023-02-27 19:31:45 +01:00
nl6720 5a45ac52ed configs/*/grub/grub.cfg: replace /dev/disk/by-uuid/ with UUID=
Use the shorter and more nicer looking `UUID=` *tags* instead of the
`/dev/disk/by-uuid/` paths.

This requires mkinitcpio-archiso v68.

Related to #202
2023-02-24 11:41:14 +02:00
nl6720 a48bbd874f Move the .uuid file to /boot/grub/YYYY-mm-dd-HH-MM-SS-00.uuid
To prevent the file from being accidentally missed when someone copies
the ISO's contents, let's not place it in a directory that starts with a
dot. Since all GRUB related files are in /boot/grub/, put it there too.

Instead of using a more unique UUID for the file name, use
`YYYY-mm-dd-HH-MM-SS-00.uuid` which matches the ISO's modification date
in UTC,i.e. its "UUID". If multiple ISOs would be generated in the exact
same second, the ISO 9660 modification date (i.e. its "UUID") would be
the same, so there would be not way to distinguish between the volumes
anyway. This also makes the file look less suspicious to the casual
glance.
2023-02-24 10:22:41 +02:00
nl6720 b68ced4460 configs/*/grub/grub.cfg: reuse ARCHISO_HINT and ARCHISO_UUID passed from the embedded grub.cfg
The `grub.cfg` embedded in the GRUB binaries already sets `ARCHISO_HINT`
and `ARCHISO_UUID` in most cases. To avoid performing the same searches
multiple times, use the existing variables.
2023-02-22 18:28:28 +02:00
nl6720 46b87073f0 configs/*/profiledef.sh: honor SOURCE_DATE_EPOCH
Ensure the **correct** date is used in `iso_label` and `iso_version`.
2023-02-22 18:03:13 +02:00
nl6720 c62e5859d6 mkarchiso: do not place memtest86+ in netboot artifacts
Move memtest86+ to `/boot/memtest86+/` on ISO 9660. That directory is
not copied to netboot artifact output.

Netboot boot menu https://ipxe.archlinux.org/releng/netboot/archlinux.ipxe
does not have entries for memtest and archiso-manager removes these files
(not the EFI one, though) before uploading the release files anyway.
2023-02-10 08:29:37 +02:00
nl6720 969740e1af configs/*/airootfs/etc/ssh/sshd_config: update to match 9.2p1-1
Update /etc/ssh/sshd_config to match changes made in
42aa04744e
and 7166713c55

The only modification remains `PermitRootLogin yes`.
2023-02-07 17:38:11 +02:00
nl6720 51588ac684 Preload GRUB's NTFS, exFAT and UDF modules
There are claims that some UEFI allegedly natively support NTFS.
Preload the required GRUB modules to support booting from NTFS on such
systems.

Additionally preload the exFAT and UEF modules, because, why not?
2023-02-02 11:49:16 +02:00
nl6720 51b90129d5 configs/*/grub/grub.cfg: search for a .uuid file in /.disk/ and use the volume it's on
Search for `/.disk/%UUID_SEARCH_FILENAME%.uuid` and pass the UUID of the
volume it's on as `archisodevice`. mkarchiso will replace
`%UUID_SEARCH_FILENAME%` with a hardcoded value generated using
`SOURCE_DATE_EPOCH` durring ISO build.

This allows to prepare an UEFI bootable installation medium by simply
copying the directory structure without having to touch `grub.cfg`.

Relying on the volume UUID instead of its LABEL also avoids collisions
of multiple ISOs created in the same month.

Fixes #202
2023-02-02 11:49:16 +02:00
nl6720 317169cd2e Update URLs
* Update mkinitcpio-archiso project link,
* Update code of conduct link,
* Update arch-releng mailing list link,
* Use HTTPS where possible,
* Replace dead link.
2023-01-29 11:11:38 +02:00
nl6720 a48953f392 configs/releng/syslinux/archiso_pxe-linux.cfg: replace checksum and verify with cms_verify=y
Specify `cms_verify=y` in SYSLINUX/PXELINUX configuration to use OpenSSL
CMS based method for verifying the root file system image against the
code signing certificates in the initramfs.

`checksum` and `verify` are removed since they essentially serve the same
purpose and performing all the checks just needlessly delays boot.
Additionally, the removal of `verify` allows to build the ISO without gpg,
i.e. without using `mkarchiso`'s `-g` and `-G` options.

Fixes #200
2022-12-10 12:22:41 +02:00
Jonathan Liu 77164a236a Add Memtest86+ to x86_64 UEFI GRUB boot menu
Implements #203.
2022-12-03 20:56:18 +11:00
nl6720 c49bcf927d configs/releng/airootfs/root/.zlogin: use grep -a to ensure /proc/cmdline is treated as text
This protects against the case where /proc/cmdline contains garbage triggering grep to think it is a binary.
See e.g. https://bugs.archlinux.org/task/76468 for an example.
2022-11-12 11:35:36 +02:00
nl6720 0c351c5182 configs/releng/airootfs/etc/mkinitcpio.conf: replace the deprecated archiso_kms hook with kms
The archiso_kms hook was moved from mkinitcpio-archiso to the mkinitcpio project.

See 7bfe4861ea and dec17db532
2022-10-25 12:18:56 +03:00
nl6720 38df534fb5 configs/: remove "Copy to RAM" boot entries since it is automatic now
The default is now copytoram=auto which enables copying to RAM when the rootfs image size is less than 4 GiB and free RAM exceeds the rootfs image size + 2 GiB.

See https://gitlab.archlinux.org/mkinitcpio/mkinitcpio-archiso/-/issues/13 and https://gitlab.archlinux.org/mkinitcpio/mkinitcpio-archiso/-/merge_requests/26.

Implements #177.
2022-10-22 17:31:46 +03:00
nl6720 06a90588eb configs/: Do not explicitly enable qemu-guest-agent.service
qemu-guest-agent.service will be started by the /usr/lib/udev/rules.d/99-qemu-guest-agent.rules udev rule.

Fixes #199
2022-10-06 15:56:18 +03:00
David Runge 32d0b40c96 Order pacman-init.service after time-sync.target
configs/releng/airootfs/etc/systemd/system/pacman-init.service:
Order pacman-init.service after time-sync.target, so that time on the host is synchronized before initializing pacman.
2022-09-25 15:39:28 +02:00
David Runge 046e05fe07 Enable systemd-timesyncd and systemd-time-wait-sync
configs/releng/airootfs/etc/systemd/system/{dbus-org.freedesktop.timesync1},sysinit.target.wants/systemd-timesyncd}.service:
Enable systemd-timesyncd which aliases to dbus-org.freedesktop.timesync1 to ensure time gets synced on the host.

configs/releng/airootfs/etc/systemd/system/sysinit.target.wants/systemd-time-wait-sync.service:
Enable systemd-time-wait-sync to ensure time is finished syncing when time-sync.target is finished.
2022-09-25 15:36:18 +02:00
Tobias Powalowski cf6f86831a remove ipw2100-fw and ipw2200-fw, cleanup of [core] 2022-09-22 11:01:03 +02:00
nl6720 ebc45ab2b6 Order pacman-init.service before archlinux-keyring-wkd-sync.service
archlinux-keyring-wkd-sync.service needs an initialized pacman keyring to work.

Add BindsTo=etc-pacman.d-gnupg.mount to stop pacman-init.service if the mount unit suddenly enters inactive state.
2022-09-01 09:41:00 +03:00
nl6720 47bb22aadf configs/*/grub/grub.cfg: enable serial input and output
Try to initialize a serial device and use it for input and output.

Add more comments to grub.cfg to explain what is done.

Related to #75
2022-06-26 13:16:29 +03:00
nl6720 301e7d9521 configs/*/grub/grub.cfg: auto-boot after 15 seconds
* Set the default boot entry and its timeout.
* Add classes to menu entries to allow theming them.

Fixes #179
2022-06-23 08:27:44 +03:00
Alexander Epaneshnikov 8eebf62ff8 change grub init tune
yes it was descriptive but too large. this fixes #180
2022-06-18 15:53:03 +03:00
plainlinen 4ac1224da4 Use grub for uefi x64 boot modes in profiledef.sh 2022-06-09 22:39:43 -07:00