mirror of
https://github.com/archlinux/archiso.git
synced 2024-09-19 11:40:19 -06:00
configs/: replace archisodevice boot parameter with archisosearchuuid
`archisosearchuuid=` first searches for a matching UUID. If that fails, then it mounts and looks for a `/boot/${archisosearchuuid}.uuid` file in all detected block devices (in whatever order `blkid` lists them). This implements "file system transposition" without relaying on boot loader specific features and does not tie us to GRUB anymore. Related to https://gitlab.archlinux.org/archlinux/mkinitcpio/mkinitcpio-archiso/-/merge_requests/48 Fixes https://gitlab.archlinux.org/archlinux/archiso/-/issues/217
This commit is contained in:
parent
2facc4630c
commit
43e4d9ce36
9 changed files with 12 additions and 28 deletions
|
@ -17,6 +17,8 @@ Changed
|
||||||
- Change releng profile's bootstrap tarball compression from gzip to zstd. zstd provides higher and faster compression.
|
- Change releng profile's bootstrap tarball compression from gzip to zstd. zstd provides higher and faster compression.
|
||||||
- Use mkinitcpio's ``microcode`` hook instead of external microcode images to simplify boot loader configuration.
|
- Use mkinitcpio's ``microcode`` hook instead of external microcode images to simplify boot loader configuration.
|
||||||
Custom PXE setups will need to update their boot loader configuration.
|
Custom PXE setups will need to update their boot loader configuration.
|
||||||
|
- Replace ``archisodevice`` boot parameter with ``archisosearchuuid`` in all boot loader configuration. This allows to
|
||||||
|
have "file system transposition" without relaying on GRUB-specific features.
|
||||||
|
|
||||||
Deprecated
|
Deprecated
|
||||||
----------
|
----------
|
||||||
|
|
|
@ -1,4 +1,4 @@
|
||||||
title Arch Linux (x86_64, UEFI)
|
title Arch Linux (x86_64, UEFI)
|
||||||
linux /%INSTALL_DIR%/boot/x86_64/vmlinuz-linux
|
linux /%INSTALL_DIR%/boot/x86_64/vmlinuz-linux
|
||||||
initrd /%INSTALL_DIR%/boot/x86_64/initramfs-linux.img
|
initrd /%INSTALL_DIR%/boot/x86_64/initramfs-linux.img
|
||||||
options archisobasedir=%INSTALL_DIR% archisodevice=UUID=%ARCHISO_UUID%
|
options archisobasedir=%INSTALL_DIR% archisosearchuuid=%ARCHISO_UUID%
|
||||||
|
|
|
@ -27,15 +27,6 @@ if serial --unit=0 --speed=115200; then
|
||||||
terminal_output --append serial
|
terminal_output --append serial
|
||||||
fi
|
fi
|
||||||
|
|
||||||
# Search for the ISO volume
|
|
||||||
if [ -z "${ARCHISO_UUID}" ]; then
|
|
||||||
if [ -z "${ARCHISO_HINT}" ]; then
|
|
||||||
regexp --set=1:ARCHISO_HINT '^\(([^)]+)\)' "${cmdpath}"
|
|
||||||
fi
|
|
||||||
search --no-floppy --set=root --file '%ARCHISO_SEARCH_FILENAME%' --hint "${ARCHISO_HINT}"
|
|
||||||
probe --set ARCHISO_UUID --fs-uuid "${root}"
|
|
||||||
fi
|
|
||||||
|
|
||||||
# Get a human readable platform identifier
|
# Get a human readable platform identifier
|
||||||
if [ "${grub_platform}" == 'efi' ]; then
|
if [ "${grub_platform}" == 'efi' ]; then
|
||||||
archiso_platform='UEFI'
|
archiso_platform='UEFI'
|
||||||
|
@ -62,7 +53,7 @@ timeout_style=menu
|
||||||
|
|
||||||
menuentry "Arch Linux (%ARCH%, ${archiso_platform})" --class arch --class gnu-linux --class gnu --class os --id 'archlinux' {
|
menuentry "Arch Linux (%ARCH%, ${archiso_platform})" --class arch --class gnu-linux --class gnu --class os --id 'archlinux' {
|
||||||
set gfxpayload=keep
|
set gfxpayload=keep
|
||||||
linux /%INSTALL_DIR%/boot/%ARCH%/vmlinuz-linux archisobasedir=%INSTALL_DIR% archisodevice=UUID=${ARCHISO_UUID}
|
linux /%INSTALL_DIR%/boot/%ARCH%/vmlinuz-linux archisobasedir=%INSTALL_DIR% archisosearchuuid=%ARCHISO_UUID%
|
||||||
initrd /%INSTALL_DIR%/boot/%ARCH%/initramfs-linux.img
|
initrd /%INSTALL_DIR%/boot/%ARCH%/initramfs-linux.img
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
|
@ -2,4 +2,4 @@ LABEL arch
|
||||||
MENU LABEL Arch Linux (x86_64, BIOS)
|
MENU LABEL Arch Linux (x86_64, BIOS)
|
||||||
LINUX /%INSTALL_DIR%/boot/%ARCH%/vmlinuz-linux
|
LINUX /%INSTALL_DIR%/boot/%ARCH%/vmlinuz-linux
|
||||||
INITRD /%INSTALL_DIR%/boot/%ARCH%/initramfs-linux.img
|
INITRD /%INSTALL_DIR%/boot/%ARCH%/initramfs-linux.img
|
||||||
APPEND archisobasedir=%INSTALL_DIR% archisodevice=UUID=%ARCHISO_UUID%
|
APPEND archisobasedir=%INSTALL_DIR% archisosearchuuid=%ARCHISO_UUID%
|
||||||
|
|
|
@ -2,4 +2,4 @@ title Arch Linux install medium (x86_64, UEFI)
|
||||||
sort-key 01
|
sort-key 01
|
||||||
linux /%INSTALL_DIR%/boot/x86_64/vmlinuz-linux
|
linux /%INSTALL_DIR%/boot/x86_64/vmlinuz-linux
|
||||||
initrd /%INSTALL_DIR%/boot/x86_64/initramfs-linux.img
|
initrd /%INSTALL_DIR%/boot/x86_64/initramfs-linux.img
|
||||||
options archisobasedir=%INSTALL_DIR% archisodevice=UUID=%ARCHISO_UUID%
|
options archisobasedir=%INSTALL_DIR% archisosearchuuid=%ARCHISO_UUID%
|
||||||
|
|
|
@ -2,4 +2,4 @@ title Arch Linux install medium (x86_64, UEFI) with speech
|
||||||
sort-key 02
|
sort-key 02
|
||||||
linux /%INSTALL_DIR%/boot/x86_64/vmlinuz-linux
|
linux /%INSTALL_DIR%/boot/x86_64/vmlinuz-linux
|
||||||
initrd /%INSTALL_DIR%/boot/x86_64/initramfs-linux.img
|
initrd /%INSTALL_DIR%/boot/x86_64/initramfs-linux.img
|
||||||
options archisobasedir=%INSTALL_DIR% archisodevice=UUID=%ARCHISO_UUID% accessibility=on
|
options archisobasedir=%INSTALL_DIR% archisosearchuuid=%ARCHISO_UUID% accessibility=on
|
||||||
|
|
|
@ -27,15 +27,6 @@ if serial --unit=0 --speed=115200; then
|
||||||
terminal_output --append serial
|
terminal_output --append serial
|
||||||
fi
|
fi
|
||||||
|
|
||||||
# Search for the ISO volume
|
|
||||||
if [ -z "${ARCHISO_UUID}" ]; then
|
|
||||||
if [ -z "${ARCHISO_HINT}" ]; then
|
|
||||||
regexp --set=1:ARCHISO_HINT '^\(([^)]+)\)' "${cmdpath}"
|
|
||||||
fi
|
|
||||||
search --no-floppy --set=root --file '%ARCHISO_SEARCH_FILENAME%' --hint "${ARCHISO_HINT}"
|
|
||||||
probe --set ARCHISO_UUID --fs-uuid "${root}"
|
|
||||||
fi
|
|
||||||
|
|
||||||
# Get a human readable platform identifier
|
# Get a human readable platform identifier
|
||||||
if [ "${grub_platform}" == 'efi' ]; then
|
if [ "${grub_platform}" == 'efi' ]; then
|
||||||
archiso_platform='UEFI'
|
archiso_platform='UEFI'
|
||||||
|
@ -62,13 +53,13 @@ timeout_style=menu
|
||||||
|
|
||||||
menuentry "Arch Linux install medium (%ARCH%, ${archiso_platform})" --class arch --class gnu-linux --class gnu --class os --id 'archlinux' {
|
menuentry "Arch Linux install medium (%ARCH%, ${archiso_platform})" --class arch --class gnu-linux --class gnu --class os --id 'archlinux' {
|
||||||
set gfxpayload=keep
|
set gfxpayload=keep
|
||||||
linux /%INSTALL_DIR%/boot/%ARCH%/vmlinuz-linux archisobasedir=%INSTALL_DIR% archisodevice=UUID=${ARCHISO_UUID}
|
linux /%INSTALL_DIR%/boot/%ARCH%/vmlinuz-linux archisobasedir=%INSTALL_DIR% archisosearchuuid=%ARCHISO_UUID%
|
||||||
initrd /%INSTALL_DIR%/boot/%ARCH%/initramfs-linux.img
|
initrd /%INSTALL_DIR%/boot/%ARCH%/initramfs-linux.img
|
||||||
}
|
}
|
||||||
|
|
||||||
menuentry "Arch Linux install medium with speakup screen reader (%ARCH%, ${archiso_platform})" --hotkey s --class arch --class gnu-linux --class gnu --class os --id 'archlinux-accessibility' {
|
menuentry "Arch Linux install medium with speakup screen reader (%ARCH%, ${archiso_platform})" --hotkey s --class arch --class gnu-linux --class gnu --class os --id 'archlinux-accessibility' {
|
||||||
set gfxpayload=keep
|
set gfxpayload=keep
|
||||||
linux /%INSTALL_DIR%/boot/%ARCH%/vmlinuz-linux archisobasedir=%INSTALL_DIR% archisodevice=UUID=${ARCHISO_UUID} accessibility=on
|
linux /%INSTALL_DIR%/boot/%ARCH%/vmlinuz-linux archisobasedir=%INSTALL_DIR% archisosearchuuid=%ARCHISO_UUID% accessibility=on
|
||||||
initrd /%INSTALL_DIR%/boot/%ARCH%/initramfs-linux.img
|
initrd /%INSTALL_DIR%/boot/%ARCH%/initramfs-linux.img
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
|
@ -6,7 +6,7 @@ ENDTEXT
|
||||||
MENU LABEL Arch Linux install medium (x86_64, NBD)
|
MENU LABEL Arch Linux install medium (x86_64, NBD)
|
||||||
LINUX ::/%INSTALL_DIR%/boot/x86_64/vmlinuz-linux
|
LINUX ::/%INSTALL_DIR%/boot/x86_64/vmlinuz-linux
|
||||||
INITRD ::/%INSTALL_DIR%/boot/x86_64/initramfs-linux.img
|
INITRD ::/%INSTALL_DIR%/boot/x86_64/initramfs-linux.img
|
||||||
APPEND archisobasedir=%INSTALL_DIR% archisodevice=UUID=%ARCHISO_UUID% archiso_nbd_srv=${pxeserver} cms_verify=y
|
APPEND archisobasedir=%INSTALL_DIR% archisosearchuuid=%ARCHISO_UUID% archiso_nbd_srv=${pxeserver} cms_verify=y
|
||||||
SYSAPPEND 3
|
SYSAPPEND 3
|
||||||
|
|
||||||
LABEL arch64_nfs
|
LABEL arch64_nfs
|
||||||
|
|
|
@ -6,7 +6,7 @@ ENDTEXT
|
||||||
MENU LABEL Arch Linux install medium (x86_64, BIOS)
|
MENU LABEL Arch Linux install medium (x86_64, BIOS)
|
||||||
LINUX /%INSTALL_DIR%/boot/x86_64/vmlinuz-linux
|
LINUX /%INSTALL_DIR%/boot/x86_64/vmlinuz-linux
|
||||||
INITRD /%INSTALL_DIR%/boot/x86_64/initramfs-linux.img
|
INITRD /%INSTALL_DIR%/boot/x86_64/initramfs-linux.img
|
||||||
APPEND archisobasedir=%INSTALL_DIR% archisodevice=UUID=%ARCHISO_UUID%
|
APPEND archisobasedir=%INSTALL_DIR% archisosearchuuid=%ARCHISO_UUID%
|
||||||
|
|
||||||
# Accessibility boot option
|
# Accessibility boot option
|
||||||
LABEL arch64speech
|
LABEL arch64speech
|
||||||
|
@ -17,4 +17,4 @@ ENDTEXT
|
||||||
MENU LABEL Arch Linux install medium (x86_64, BIOS) with ^speech
|
MENU LABEL Arch Linux install medium (x86_64, BIOS) with ^speech
|
||||||
LINUX /%INSTALL_DIR%/boot/x86_64/vmlinuz-linux
|
LINUX /%INSTALL_DIR%/boot/x86_64/vmlinuz-linux
|
||||||
INITRD /%INSTALL_DIR%/boot/x86_64/initramfs-linux.img
|
INITRD /%INSTALL_DIR%/boot/x86_64/initramfs-linux.img
|
||||||
APPEND archisobasedir=%INSTALL_DIR% archisodevice=UUID=%ARCHISO_UUID% accessibility=on
|
APPEND archisobasedir=%INSTALL_DIR% archisosearchuuid=%ARCHISO_UUID% accessibility=on
|
||||||
|
|
Loading…
Reference in a new issue