Skip to content
Snippets Groups Projects

mkarchiso: implement "file system transposition" support for UEFI

Merged nl6720 requested to merge nl6720/archiso:fs-transposition into master
Files
4
+ 17
10
@@ -569,7 +569,13 @@ _make_common_bootmode_grub_copy_to_isofs() {
# Prepare GRUB configuration files
_make_common_bootmode_grub_cfg(){
local _cfg
local _cfg uuid_search_filename
# Create a .uuid file and place it in /.disk/ on ISO 9660 to provide a way for GRUB to search for the volume
uuid_search_filename="$(uuidgen --sha1 --namespace 93a870ff-8565-4cf3-a67b-f47299271a96 \
--name "${SOURCE_DATE_EPOCH} disk search UUID")"
install -d -m 0755 -- "${isofs_dir}/.disk"
: > "${isofs_dir}/.disk/${uuid_search_filename}.uuid"
install -d -- "${work_dir}/grub"
@@ -577,7 +583,8 @@ _make_common_bootmode_grub_cfg(){
for _cfg in "${profile}/grub/"*'.cfg'; do
sed "s|%ARCHISO_LABEL%|${iso_label}|g;
s|%INSTALL_DIR%|${install_dir}|g;
s|%ARCH%|${arch}|g" \
s|%ARCH%|${arch}|g;
s|%UUID_SEARCH_FILENAME%|${uuid_search_filename}|g" \
"${_cfg}" > "${work_dir}/grub/${_cfg##*/}"
done
# Add all GRUB files to the list of files used to calculate the required FAT image size.
@@ -605,11 +612,11 @@ _make_bootmode_uefi-ia32.grub.esp() {
# Create EFI binary
# Module list from https://bugs.archlinux.org/task/71382#comment202911
grubmodules=(all_video at_keyboard boot btrfs cat chain configfile echo efifwsetup efinet ext2 f2fs fat font \
grubmodules=(all_video at_keyboard boot btrfs cat chain configfile echo efifwsetup efinet exfat ext2 f2fs fat font \
gfxmenu gfxterm gzio halt hfsplus iso9660 jpeg keylayouts linux loadenv loopback lsefi lsefimmap \
minicmd normal part_apple part_gpt part_msdos png read reboot regexp search search_fs_file \
search_fs_uuid search_label serial sleep tpm usb usbserial_common usbserial_ftdi usbserial_pl2303 \
usbserial_usbdebug video xfs zstd)
minicmd normal ntfs ntfscomp part_apple part_gpt part_msdos png read reboot regexp search \
search_fs_file search_fs_uuid search_label serial sleep tpm udf usb usbserial_common usbserial_ftdi \
usbserial_pl2303 usbserial_usbdebug video xfs zstd)
grub-mkstandalone -O i386-efi \
--modules="${grubmodules[*]}" \
--locales="en@quot" \
@@ -682,11 +689,11 @@ _make_bootmode_uefi-x64.grub.esp() {
# Create EFI binary
# Module list from https://bugs.archlinux.org/task/71382#comment202911
grubmodules=(all_video at_keyboard boot btrfs cat chain configfile echo efifwsetup efinet ext2 f2fs fat font \
grubmodules=(all_video at_keyboard boot btrfs cat chain configfile echo efifwsetup efinet exfat ext2 f2fs fat font \
gfxmenu gfxterm gzio halt hfsplus iso9660 jpeg keylayouts linux loadenv loopback lsefi lsefimmap \
minicmd normal part_apple part_gpt part_msdos png read reboot regexp search search_fs_file \
search_fs_uuid search_label serial sleep tpm usb usbserial_common usbserial_ftdi usbserial_pl2303 \
usbserial_usbdebug video xfs zstd)
minicmd normal ntfs ntfscomp part_apple part_gpt part_msdos png read reboot regexp search \
search_fs_file search_fs_uuid search_label serial sleep tpm udf usb usbserial_common usbserial_ftdi \
usbserial_pl2303 usbserial_usbdebug video xfs zstd)
grub-mkstandalone -O x86_64-efi \
--modules="${grubmodules[*]}" \
--locales="en@quot" \
Loading