Send patches - preferably formatted by git format-patch - to patches at archlinux32 dot org.
summaryrefslogtreecommitdiff
path: root/CHANGELOG.rst
AgeCommit message (Collapse)Author
2023-06-15mkarchiso: prevent interference from xorriso startup filesnl6720
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-01mkarchiso: run _cms_sign_artifact only oncenl6720
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-05-28Add changelog for 71 and update AUTHORS.rstnl6720
2023-05-25Update configs/{baseline,releng}/pacman.confnl6720
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-22Add support for mDNS.Sorin Pânca
2023-05-17mkarchiso: add a -r option to delete the working directorynl6720
`-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-17CHANGELOG.rst: remove stray git conflict markernl6720
Fixes 8cc0e9e5b09d504a50701a825f0ab9992ed73b6f
2023-05-17configs/releng/packages.x86_64: add more terminfo packagesnl6720
Add foot-terminfo and wezterm-terminfo packages to allow using their terminfo entries for installations via SSH.
2023-05-17mkarchiso: read SOURCE_DATE_EPOCH from file earlynl6720
When restarting an interrupted build, SOURCE_DATE_EPOCH needs to be available before `profiledef.sh` is read, since it may reference it. Fixes 7c6f266ec94e3eff23466ed8d0c45e4bee0ddae4
2023-05-17Use UUIDs in all boot loader configuration filesnl6720
Relying on the volume UUID instead of its LABEL avoids collisions of multiple ISOs created in the same month. Fixes #202
2023-05-17mkarchiso: Fix the cp command arguments to retain mkarchiso's behavior prior ↵shivanandvp
to the GNU Coreutils update. Fixes Issue #214
2023-05-17Merge remote-tracking branch 'origin/merge-requests/322'nl6720
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-14Added classes for Memtest86+ and UEFI Shell menuentriesAntonio V
2023-05-14Fixed subdirectories copy from grub/ to the ISOAntonio V
2023-05-13Merge remote-tracking branch 'origin/merge-requests/235'nl6720
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-03-17configs/baseline/profiledef.sh: compress morenl6720
* 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-02wait for networkd online before curl invocationZig Globulin
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-02-27Add changelog for 70nl6720
2023-02-27Add changelog entry for terminal_output fixDavid Runge
2023-02-24README.transfer.rst: update instructionsnl6720
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-24Move SYSLINUX directory from /syslinux/ to /boot/syslinux/nl6720
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-24Move the .uuid file to /boot/grub/YYYY-mm-dd-HH-MM-SS-00.uuidnl6720
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-24mkarchiso: write grubenv in _make_common_bootmode_grub_cfgnl6720
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-22Move grub files from /EFI/BOOT/ to /boot/grub/ on ISO 9660nl6720
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-22Do not duplicate grub.cfg in efiboot.imgnl6720
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-22configs/*/profiledef.sh: honor SOURCE_DATE_EPOCHnl6720
Ensure the **correct** date is used in `iso_label` and `iso_version`.
2023-02-10mkarchiso: do not place memtest86+ in netboot artifactsnl6720
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-02Preload GRUB's NTFS, exFAT and UDF modulesnl6720
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-02configs/*/grub/grub.cfg: search for a .uuid file in /.disk/ and use the ↵nl6720
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-01-29Update URLsnl6720
* Update mkinitcpio-archiso project link, * Update code of conduct link, * Update arch-releng mailing list link, * Use HTTPS where possible, * Replace dead link.
2022-12-24Add changelog for 69nl6720
2022-12-22archiso/mkarchiso: write "uninitialized" to /etc/machine-idChristian Hesse
This is a new value introduced in systemd v247. It makes sure a new machine-id is generated, but is handled as first boot as well. See "First Boot Semantics" in machine-id(5) for details.
2022-12-17configs/baseline/profiledef.sh: use LZMA compression for the EROFS imagenl6720
Now that xz 5.4 is out and erofs-utils is built with LZMA support, it is possible to compress the EROFS image with LZMA for higher compression. `mkfs.erofs` trows a few warnings about using experimental features, but they should not be an issue. Nothing changes for the releng profile, for now at least.
2022-12-10mkarchiso: check if the code signing files specified with option -c existnl6720
Look for the files in `*_validate_options` and error out early if they do not exist.
2022-12-06mkarchiso: open the ARCHISO_GNUPG_FD, ARCHISO_TLS_FD and ARCHISO_TLSCA_FD ↵nl6720
file descriptors only for reading Nothing should ever be written to these files, so let's make sure it cannot happen.
2022-12-06mkarchiso: do not try to use an non existent GPG public key filenl6720
The `bootstrap` build mode never calls `_export_gpg_publickey`, so even if the GPG key is passed with the `-g` option and thus the `gpg_key` variable is set, the `${work_dir}/pubkey.gpg` file will not exist. This has not caused any issue so far because the `ARCHISO_GNUPG_FD` file descriptor opens the file for both reading and writing, which means the file gets created if it does not exist. Assign the exported public key file name to a `gpg_publickey` variable in `_export_gpg_publickey` and check for it when the file is used. Since the exist status of the gpg command cannot be checked, look for the exported public key file instead.
2022-12-03Add Memtest86+ to x86_64 UEFI GRUB boot menuJonathan Liu
Implements #203.
2022-10-30Add changelog for 68nl6720
2022-10-25configs/releng/airootfs/etc/mkinitcpio.conf: replace the deprecated ↵nl6720
archiso_kms hook with kms The archiso_kms hook was moved from mkinitcpio-archiso to the mkinitcpio project. See https://github.com/archlinux/mkinitcpio/commit/7bfe4861eacb3bf6cb70d9a17a0262542733a8ed and https://gitlab.archlinux.org/mkinitcpio/mkinitcpio-archiso/-/commit/dec17db5324285118e2faee296cc990ff1281bd8
2022-10-22configs/: remove "Copy to RAM" boot entries since it is automatic nownl6720
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-13mkarchiso: do not sign .sig filesnl6720
Make sure existing sig files are deleted before creating new ones and make sure to not sign any sig files. This allows retrying failed mkarchiso runs without ending up with files such as vmlinuz.ipxe.sig.ipxe.sig. Fixes #198
2022-10-06configs/: Do not explicitly enable qemu-guest-agent.servicenl6720
qemu-guest-agent.service will be started by the /usr/lib/udev/rules.d/99-qemu-guest-agent.rules udev rule. Fixes #199
2022-09-25Add changelog for version 67David Runge
CHANGELOG.rst: Add changelog for version 67.
2022-09-25Add the ability to generate rootfs signatures using openssl CMS module if ↵Anton Hvornum
``-c`` is given. (gitlab ci) Added a CA structure to the codesigning certificates. This to test the functionality of optional CA being in the signing message. (mkarchiso) Removed the ``sign_netboot_artifacts`` variable and instead we'll now rely on ``if [[ -v cert_list ]]; then``. Added ``ARCHISO_TLS_FD`` and ``ARCHISO_TLSCA_FD`` environment variables to override the certificates used. This is so that third party CA's can be used during building in a meaningful way without distrupting the CA trust that is shipped by default. _cms_sign_artifact() was added which signs the rootfs using OpenSSL CMS. The files will be saved as "${artifact}.cms.sig". That would be for instance "${isofs_dir}/${install_dir}/${arch}/airootfs.sfs.cms.sig".
2022-09-25Add changelog entry for ordering pacman-init after time-sync.targetDavid Runge
CHANGELOG.rst: Add changelog entry for ordering pacman-init after time-sync.target
2022-09-01Order pacman-init.service before archlinux-keyring-wkd-sync.servicenl6720
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-08-28Add changelog for 66nl6720
2022-08-26mkarchiso: touch clock-epoch for extra hint on date and timeChristian Hesse
This helps on systems with screwed or broken RTC.
2022-08-19mkarchiso: preload more GRUB modules and disable shim_lock verifiernl6720
--disable-shim-lock is required to support Secure Boot with custom signatures without using shim. Otherwise GRUB will trow an error when trying to boot a kernel: error: shim_lock protocol not found. error: you need to load the kernel first. The modules GRUB will use need to be preloaded otherwise the EFI binaries cannot be signed and used for Secure Boot. See https://bugs.archlinux.org/task/71382. GRUB will trow en error: error: verification requested but nobody cares These changes are done to support Secure Boot using custom keys (not shim) by simply extracting the boot loader (BOOTx64.EFI and BOOTIA32.EFI), kernel, UEFI shell, signing them and then repacking the ISO. For example. Extract the files: $ osirrox -indev archlinux-YYYY.MM.DD-x86_64.iso \ -extract_boot_images ./ \ -extract /EFI/BOOT/BOOTx64.EFI BOOTx64.EFI \ -extract /EFI/BOOT/BOOTIA32.EFI BOOTIA32.EFI \ -extract /shellx64.efi shellx64.efi \ -extract /shellia32.efi shellia32.efi \ -extract /arch/boot/x86_64/vmlinuz-linux vmlinuz-linux Make the files writable: $ chmod +w BOOTx64.EFI BOOTIA32.EFI shellx64.efi shellia32.efi vmlinuz-linux Sign the files: $ sbsign --key db.key --cert db.crt --output BOOTx64.EFI BOOTx64.EFI $ sbsign --key db.key --cert db.crt --output BOOTIA32.EFI BOOTIA32.EFI $ sbsign --key db.key --cert db.crt --output shellx64.efi shellx64.efi $ sbsign --key db.key --cert db.crt --output shellia32.efi shellia32.efi $ sbsign --key db.key --cert db.crt --output vmlinuz-linux vmlinuz-linux Copy the boot loader and UEFI shell to the EFI system partition image: $ mcopy -D oO -i eltorito_img2_uefi.img BOOTx64.EFI BOOTIA32.EFI ::/EFI/BOOT/ $ mcopy -D oO -i eltorito_img2_uefi.img shellx64.efi shellia32.efi ::/ Repack the ISO using the modified El Torito UEFI boot image and add the signed boot loader files, UEFI shell and kernel to ISO9660: $ xorriso -indev archlinux-YYYY.MM.DD-x86_64.iso \ -outdev archlinux-YYYY.MM.DD-x86_64-Secure_Boot.iso \ -boot_image any replay \ -append_partition 2 0xef eltorito_img2_uefi.img \ -map BOOTx64.EFI /EFI/BOOT/BOOTx64.EFI \ -map BOOTIA32.EFI /EFI/BOOT/BOOTIA32.EFI \ -map shellx64.efi /shellx64.efi \ -map shellia32.efi /shellia32.efi \ -map vmlinuz-linux /arch/boot/x86_64/vmlinuz-linux Boot the resulting archlinux-YYYY.MM.DD-x86_64-Secure_Boot.iso.
2022-08-17mkarchiso: copy all GRUB files to the ISOnl6720
Do not limit file copying to only grub.cfg and instead copy all GRUB configuration files and assets to both the ISO9660 and FAT image. This will allow for including custom images, fonts, etc. To easily match all non-configuration files (i.e. files without the .cfg extension), bash's extended glob feature will be enabled. Actions common to multiple _make_bootmode_uefi-*.grub are split off into dedicated functions: * _make_common_bootmode_grub_copy_to_efibootimg, * _make_common_bootmode_grub_copy_to_isofs, * _make_common_bootmode_grub_cfg. Use the same du command in all efiboot_imgsize variable assignments. Fixes #185.