fix: more robust way to extract efi partition and parent device (fixes #63)
This commit is contained in:
parent
133fe3901a
commit
2a2ef9abd7
|
@ -209,10 +209,16 @@ function install_kernel_efi() {
|
||||||
|| die "Could not resolve device with id=$DISK_ID_EFI"
|
|| die "Could not resolve device with id=$DISK_ID_EFI"
|
||||||
efipartdev="$(realpath "$efipartdev")" \
|
efipartdev="$(realpath "$efipartdev")" \
|
||||||
|| die "Error in realpath '$efipartdev'"
|
|| die "Error in realpath '$efipartdev'"
|
||||||
local efipartnum="${efipartdev: -1}"
|
local efipartnum
|
||||||
|
efipartnum="$(cat "$efipartdev/partition")" \
|
||||||
|
|| die "Failed to find partition number for EFI partition $efipartdev"
|
||||||
local gptdev
|
local gptdev
|
||||||
|
gptdev="/dev/$(basename "$(readlink -f "$efipartdev/..")")" \
|
||||||
|
|| die "Failed to find parent device for EFI partition $efipartdev"
|
||||||
|
if [[ ! -e "$gptdev" ]] || [[ -z "$gptdev" ]]; then
|
||||||
gptdev="$(resolve_device_by_id "${DISK_ID_PART_TO_GPT_ID[$DISK_ID_EFI]}")" \
|
gptdev="$(resolve_device_by_id "${DISK_ID_PART_TO_GPT_ID[$DISK_ID_EFI]}")" \
|
||||||
|| die "Could not resolve device with id=${DISK_ID_PART_TO_GPT_ID[$DISK_ID_EFI]}"
|
|| die "Could not resolve device with id=${DISK_ID_PART_TO_GPT_ID[$DISK_ID_EFI]}"
|
||||||
|
fi
|
||||||
try efibootmgr --verbose --create --disk "$gptdev" --part "$efipartnum" --label "gentoo" --loader '\vmlinuz.efi' --unicode 'initrd=\initramfs.img'" $(get_cmdline)"
|
try efibootmgr --verbose --create --disk "$gptdev" --part "$efipartnum" --label "gentoo" --loader '\vmlinuz.efi' --unicode 'initrd=\initramfs.img'" $(get_cmdline)"
|
||||||
|
|
||||||
# Create script to repeat adding efibootmgr entry
|
# Create script to repeat adding efibootmgr entry
|
||||||
|
|
Loading…
Reference in New Issue