tidy up grub bootloader compatibility checking

- add a validation check where an error will be printed
 - replace the check done in the grub scripts with one that simple exits
   if executed bypassing the validation check

Gbp-Dch: Short
This commit is contained in:
Lyndon Brown 2020-03-28 08:17:28 +00:00 committed by Raphaël Hertzog
parent 9b70092f25
commit 554a8d1108
4 changed files with 25 additions and 35 deletions

View File

@ -617,6 +617,13 @@ Validate_config ()
fi
fi
if In_list "grub-pc" ${LB_BOOTLOADERS} || In_list "grub-efi" ${LB_BOOTLOADERS} || In_list "grub-legacy" ${LB_BOOTLOADERS}; then
if In_list "${LIVE_IMAGE_TYPE}" hdd netboot; then
Echo_error "You have selected an invalid combination of bootloaders and live image type; the grub-* bootloaders are not compatible with hdd and netboot types."
exit 1
fi
fi
if ! In_list "${LIVE_IMAGE_TYPE}" iso iso-hybrid hdd tar netboot; then
Echo_error "You have specified an invalid value for --binary-image."
exit 1

View File

@ -21,6 +21,10 @@ USAGE="${PROGRAM} [--force]"
# Processing arguments and configuration files
Init_config_data "${@}"
if In_list "${LIVE_IMAGE_TYPE}" hdd netboot; then
exit 0
fi
Check_Any_Bootloader_Role "grub-efi"
Echo_message "Begin preparing Grub based EFI support..."
@ -38,15 +42,6 @@ Acquire_lockfile
Check_architectures amd64 i386 arm64 armhf
Check_crossarchitectures
# Setting destination directory
case "${LIVE_IMAGE_TYPE}" in
hdd|netboot)
Echo_warning "Bootloader in this image type not yet supported by live-build."
Echo_error "This would produce a not bootable image, aborting (FIXME)."
exit 1
;;
esac
# Checking depends
case "${LB_ARCHITECTURES}" in
amd64|i386)

View File

@ -21,6 +21,10 @@ USAGE="${PROGRAM} [--force]"
# Processing arguments and configuration files
Init_config_data "${@}"
if In_list "${LIVE_IMAGE_TYPE}" hdd netboot; then
exit 0
fi
Check_First_Bootloader_Role "grub-legacy"
Echo_message "Begin installing grub-legacy..."
@ -103,27 +107,16 @@ case "${LB_INITRAMFS}" in
esac
# Setting destination directory
case "${LIVE_IMAGE_TYPE}" in
iso|iso-hybrid|tar)
case "${LB_INITRAMFS}" in
live-boot)
DESTDIR_LIVE="binary/live"
;;
*)
DESTDIR_LIVE="binary/boot"
;;
esac
DESTDIR_INSTALL="binary/install"
case "${LB_INITRAMFS}" in
live-boot)
DESTDIR_LIVE="binary/live"
;;
hdd|netboot)
Echo_warning "Bootloader in this image type not yet supported by live-build."
Echo_error "This would produce a not bootable image, aborting (FIXME)."
exit 1
*)
DESTDIR_LIVE="binary/boot"
;;
esac
DESTDIR_INSTALL="binary/install"
# Creating directory
mkdir -p "${DESTDIR_LIVE}"

View File

@ -21,6 +21,10 @@ USAGE="${PROGRAM} [--force]"
# Processing arguments and configuration files
Init_config_data "${@}"
if In_list "${LIVE_IMAGE_TYPE}" hdd netboot; then
exit 0
fi
Check_Any_Bootloader_Role "grub-pc"
Echo_message "Begin installing grub-pc..."
@ -47,15 +51,6 @@ Restore_package_cache binary
# Installing depends
Install_package
# Setting destination directory
case "${LIVE_IMAGE_TYPE}" in
hdd|netboot)
Echo_warning "Bootloader in this image type not yet supported by live-build."
Echo_error "This would produce a not bootable image, aborting (FIXME)."
exit 1
;;
esac
# Copying templates
mkdir -p binary/boot/grub/i386-pc