Commit Graph

1367 Commits

Author SHA1 Message Date
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
Antonio V
63c77dc2d1 Subdirectories from grub/ are copied to the ISO 2023-05-14 14:59:53 +00:00
nl6720
798562bbfd
Merge remote-tracking branch 'origin/merge-requests/235'
By Zig Globulin
* origin/merge-requests/235:
  wait for networkd online before curl invocation

See merge request https://gitlab.archlinux.org/archlinux/archiso/-/merge_requests/235
2023-05-13 16:22:24 +03:00
nl6720
20fc8030a3
configs/baseline/profiledef.sh: compress more
* Use LZMA extreme compression level,
* enable experimental compressed fragments feature to create a smaller image,
* enable experimental data deduplication.

This decreases the baseline profile's `airootfs.erofs` size by about ~16 MiB.
2023-03-17 19:35:59 +02:00
Zig Globulin
f60525103d 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
nl6720
5c36c85bd5
Add changelog for 70 2023-02-27 20:29:03 +01:00
David Runge
29f4b0071b
Add changelog entry for terminal_output fix 2023-02-27 20:03:01 +01:00
David Runge
8535d695ff
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
cedb3d142c
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
1da743cc4e
README.transfer.rst: update instructions
Convert the file to reStructuredText markup.
Fixes #39.

Rewrite the instructions where possible or otherwise update them.
E.g. fix the changed boot loader paths, etc.

The "Manual formatting (BIOS only)", previosly "PC-BIOS (ISOHYBRID-MBR)",
method is not tested and it is not clear if it still even works.
2023-02-24 11:28:43 +02:00
nl6720
04d439d1b7
Rename docs/README.transfer to docs/README.transfer.rst 2023-02-24 11:27:55 +02:00
nl6720
a0941539c0
Move SYSLINUX directory from /syslinux/ to /boot/syslinux/
This allows to reduce the number of top-level directories by one and
matches with the GRUB directory move.

Most boot loader related things will now be in the /boot/ directory.

Fixes #207
2023-02-24 10:33:37 +02:00
nl6720
c8474f8dbe
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
d96a356995
mkarchiso: write grubenv in _make_common_bootmode_grub_cfg
Add all variables that we replace with values in configuration files.

Keep `${isofs_dir}/${install_dir}/grubenv` with fewer variables for
backwards compatibility. It will be removed in the future.
2023-02-24 10:22:36 +02:00
nl6720
f7502001b0
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
b94d7c4ce5
Move grub files from /EFI/BOOT/ to /boot/grub/ on ISO 9660
Move the location of GRUB files so that there is boot-platform
(BIOS vs EFI) neutral place for GRUB-specific files (e.g. configuration
files, background images, etc.).

The EFI binaries are obviosly staying in the default/fallback boot path
`/EFI/BOOT/BOOT*.EFI`, otherwise there will be no UEFI booting.

The /boot/grub/ directory will be used to store BIOS (i386-pc) GRUB
bootsector images, if we get to that.

It is also a requirement for implementing `loopback.cfg` support, since
the file's path must be `/boot/grub/loopback.cfg`.

Implements #206
2023-02-22 18:28:27 +02:00
nl6720
f5ade898f9
Do not duplicate grub.cfg in efiboot.img
Instruct the embeded grub.cfg to search for a volume with a
`/.disk/%UUID_SEARCH_FILENAME%.uuid` file and load `/EFI/BOOT/grub.cfg`
from it.

This avoid duplicating GRUB configuration files in two places (ISO 9660
and FAT) and ensures there is no confusion about which is the _correct_
configuration file.

Since nothing besides EFI binaries is copied to `efibootimg`, the
`_make_common_bootmode_grub_copy_to_efibootimg` function is removed.

Fixes #208
2023-02-22 18:28:24 +02:00
nl6720
40e09767f0
mkarchiso: add more details to the comment in grub-embed.cfg
Link to the upstream issue report.
2023-02-22 18:27:45 +02:00
nl6720
7c6f266ec9
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
28d2bc11e3
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