Age | Commit message (Collapse) | Author |
|
archiso/mkarchiso:
Change the help output to reflect that the `-g` option is generically signing a rootfs (which may be e.g. squashfs or
erofs).
Change the output of `_mksignature()` to be more generic, as it signs any type of understood rootfs image (which may be
e.g. squashfs or erofs).
|
|
archiso/mkarchiso:
Force the file extension in use for the PGP signatures of the rootfs to always be .sig.
When gnupg's 'armor' configuration option is used, the output otherwise defaults to using .asc.
As the verification hook in mkinitcpio-archiso expects the .sig file extension, verifying the rootfs will fail in that
scenario.
|
|
.gitlab/ci/build-inside-vm.sh:
Create an ephemeral signing key for signing the rootfs image (e.g. squashfs or erofs) when building the profiles.
Implements #125
|
|
CHANGELOG.rst:
Add changelog for v53
|
|
configs/releng/packages.x86_64:
Add libfido2 for unlocking LUKS2 volumes with FIDO2 tokens.
Add tpm2-tss for unlocking LUKS2 volumes with TPM2.
|
|
configs/releng/packages.x86_64:
Add libusb-compat and pcsclite as optional dependencies for gnupg to be able to interact with smartcards out-of-the-box.
Closes #122
|
|
|
|
|
|
Keep all documentation except the main README in the docs directory.
|
|
* Don't nest code blocks inside quote blocks.
* Use monospace for paths, options, values, etc.
|
|
* Don't nest code blocks inside quote blocks.
* Replace bash with sh, as there's nothing bash-specific in the examples.
* There is no syntax highlighting for grub, use sh.
* Use sentence case for headings.
* Use monospace for paths.
|
|
Additionally enable serial in baseline profile.
Related to #75.
|
|
Use the gzip option -n/--no-name to prevent saving the original file name and timestamp.
Fixes #104.
|
|
$airootfs_dir before creating them with output redirection
mkarchiso creates "${airootfs_dir}/etc/machine-id" by using output redirection. If this file is an existing symlink, then the printf output would be written to the symlink target. It can be a big issue in case the symlink resolves to a path outside ${airootfs_dir}.
Fixes #121.
|
|
This provides the ISO version information in the os-release file.
* IMAGE_ID is set to the value of $iso_name.
* IMAGE_VERSION is set to the value of $iso_version.
Implements #116.
|
|
GitLab metrics
Metrics are now collected in build-inside-vm.sh since the files in question are in the work directory.
Implements #101 and #111.
|
|
archiso/initcpio/hooks/archiso_pxe_common:
Disable shellcheck's SC3060, as ash is able to do bash-like string replacements.
|
|
.gitlab/ci/build-host.sh:
Change the readonly TMPDIR variable to a global tmpdir variable and set it in the `init()` function.
.gitlab/ci/build-inside-vm.sh:
Change assigning the readonly tmpdir variable directly to assigning it after declaring it.
Change `cleanup()` and `create_zsync_delta()` to use bash-style statements and also check whether SUDO_GID is set before
using it.
|
|
|
|
ISOs that will support BIOS booting
Some hardware, like Lenovo Thinkpad T420, will not BIOS boot if the disk has a valid GPT.
See https://bbs.archlinux.org/viewtopic.php?id=264096 .
Instead of a valid GPT, change to a valid MBR and invalid GPT similar to what was used before 729d16b48c99c5d9b23a89123ecde4ecacfa8705. That layout, despite having crazy partition tables, boots everywhere.
The difference is that -append_partition is still kept and specified before -isohybrid-gpt-basdat. Thus the appended partition will be listed as EFI system partition in MBR and as Microsoft basic partition in the invalid GPT.
Fixes #102.
|
|
This reverts commit 8b6f3545e348caf16a2ff30d948ff93b4d9a4b89.
|
|
CHANGELOG.rst:
Add changelog entry for v52
|
|
Implements #90
|
|
Add archinstall to the list of packages thare are installed on the ISO.
|
|
README.rst:
Add a "Releases" section that specifies who is creating releases and which PGP key ID is used to sign tags.
Additionally, information about how to retrieve the relevant public key and how to verify a tag in the repository is
added.
Fixes #114
|
|
configs/releng/airootfs/etc/xdg/reflector/reflector.conf:
Reduce the amount mirrors that reflector checks from 70 to 20.
This significantly reduces the time it takes to end up with an up-to-date mirrorlist during boot with the releng
profile.
Fixes #92
|
|
configs/releng/airootfs/root/.automated_script.sh:
Add the `--location` curl parameter (see `man 1 curl`) to allow for curl to retrieve a remote script even if the source
is being redirected (e.g. moved permanently) when using the `script=` kernel commandline parameter.
Fixes #113
|
|
ModemManager's mmcli is the simplest way to connect with WWAN modems.
Mention mmcli in MOTD.
Implements #110.
|
|
Add /etc/systemd/network/20-wwan.network
Related to #110.
|
|
The file is limited to Wi-Fi (Type=wlan in networkd configuration).
|
|
configs/releng/airootfs/etc/systemd/network/20-{ethernet,wireless}.network
* Match the device type instead of the interface name.
* Replace DHCP section with DHCPv4/DHCPv6. systemd split the sections.
|
|
Remove hardcoded '-comp xz', it prevents using mksquashfs defaults.
Fixes #112.
|
|
Allow building ISOs with EROFS airootfs images in CI.
|
|
/usr/lib/modules/
Packages with files in /usr/lib/modules/ depend on the current kernel, thus they should not be updated.
|
|
- if a folder listed in the associative array ends with a "/",
recursively apply chmod and chown.
|
|
|
|
Forks may not have access to secure runners. Restrict build:secure to https://gitlab.archlinux.org/archlinux/archiso/ only.
Fixes https://gitlab.archlinux.org/archlinux/archiso/-/issues/106 .
|
|
Some mksquashfs runs take a very long time and 1000 seconds might not be enough.
|
|
|
|
EROFS, like Squashfs, is a read-only file system. It can be used to store airootfs in an image file.
Its advantage is the support for POSIX ACLs. EROFS downside is that currently it only supports LZ4 compression (LZMA support is not yet fully implemented).
A difference from Squashfs is that, EROFS stores change time (ctime) not modification time (mtime). The reverse is true for Squashfs.
Implements https://gitlab.archlinux.org/archlinux/archiso/-/issues/59
|
|
Remove /run/archiso/bootmnt directory if nothing is mounted there. An empty directory is just confusing.
|
|
configs/releng/packages.x86_64:
Add usbmuxd to list of packages, so that users have the option to use iOS devices out-of-the-box for data connection
during installation.
Fixes #99
|
|
haveged was added 8 years ago[1] to increase entropy and presumably to
prevent entropy starvation.
A few things has changed since, most notable:
* the kernel actively tries to add entropy (jitter entropy)[2][3][4][5]
* /dev/random no longer blocks after CRNG initialization[6][7]
[1] d7e790d ("Initialize pacman keyring on bootup")
[2] https://github.com/torvalds/linux/commit/3f2dc2798b81531fd93a3b9b7c39da47ec689e55
[3] https://github.com/torvalds/linux/commit/50ee7529ec4500c88f8664560770a7a1b65db72b
[4] https://lore.kernel.org/lkml/alpine.DEB.2.21.1909290010500.2636@nanos.tec.linutronix.de/T/
[5] https://lwn.net/Articles/800509/
[6] https://github.com/torvalds/linux/commit/30c08efec8884fb106b8e57094baa51bb4c44e32
[7] https://lwn.net/Articles/808575/
Fix #98
|
|
`du --block-size=MiB` (and `du -m`) returns mebibytes not megabytes.
Additionally, shorten the du command. `du --block-size=MiB` is the same as `du -m`.
|
|
CHANGELOG.rst:
Add file to track changes (at least for v51).
|
|
.gitlab/ci/build-host.sh:
Set shebang to /usr/bin/env bash to be more portable/flexible.
Turn all posix statements ([]) to bash style statements ([[]]), as we are using bash.
Terminate the list of parameters to rm or cp with --.
Replace the implementation of finding a local ISO to use with one that relies on a sorted list of potential images.
Use virtio-net-pci for networking with qemu.
Set the cow_spacesize to 4G for the archiso environment.
Use --needed in the call to pacman to not re-install already up-to-date targets.
Attempt a full system upgrade (but ignore the kernel).
Increase the timeout for when installing packages to the archiso environment using pacman to 120s, as a system upgrade
is being done as well.
Use systemctl poweroff -i to shut down the virtual machine as it is more future proof and robust.
|
|
.gitlab-ci.yml:
Add a build stage to the gitlab CI, that facilitates the scripts below .gitlab/ci/, building the baseline and releng
profiles in parallel.
Distinguish the use-case in which builds are done for master, schedules and tags in a secure environment and any other
where builds just have to be fast (for ensuring nothing is broken).
Use MiB as block size for the du call when generating data for the metrics file.
|
|
Makefile:
Add scripts below .gitlab/ci/ to the lint target of the Makefile.
|
|
.gitlab/ci/build-host.sh:
Add script to be run in a container with access to qemu.
It is a slight modification of arch-boxes' build-host.sh script to cater to the specific archiso requirements.
.gitlab/ci/build-inside-vm.sh:
Add script to be run in virtualized environment, established by build-host.sh.
This script builds the actual archiso profiles and creates checksum for the resulting image files.
|
|
This finally removes customize_airootfs.sh from releng.
Fixes https://gitlab.archlinux.org/archlinux/archiso/-/issues/21 .
|