|
|
|
|
@@ -658,6 +658,21 @@ extract_live_grub_entry() {
|
|
|
|
|
return 0
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
load_live_build_append() {
|
|
|
|
|
lb_dir="$1"
|
|
|
|
|
binary_cfg="$lb_dir/config/binary"
|
|
|
|
|
[ -f "$binary_cfg" ] || return 1
|
|
|
|
|
|
|
|
|
|
# config/binary is generated by live-build and contains shell variable
|
|
|
|
|
# assignments such as LB_BOOTAPPEND_LIVE="boot=live ...".
|
|
|
|
|
# shellcheck disable=SC1090
|
|
|
|
|
. "$binary_cfg"
|
|
|
|
|
|
|
|
|
|
[ -n "${LB_BOOTAPPEND_LIVE:-}" ] || return 1
|
|
|
|
|
live_build_append="$LB_BOOTAPPEND_LIVE"
|
|
|
|
|
return 0
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
extract_live_isolinux_entry() {
|
|
|
|
|
cfg="$1"
|
|
|
|
|
isolinux_linux="$(awk '/^[[:space:]]*linux[[:space:]]+\/live\// { print; exit }' "$cfg")"
|
|
|
|
|
@@ -799,13 +814,18 @@ enforce_live_build_bootloader_assets() {
|
|
|
|
|
grub_dir="$lb_dir/binary/boot/grub"
|
|
|
|
|
isolinux_cfg="$lb_dir/binary/isolinux/live.cfg"
|
|
|
|
|
|
|
|
|
|
if ! load_live_build_append "$lb_dir"; then
|
|
|
|
|
echo "bootloader sync: WARNING: could not load LB_BOOTAPPEND_LIVE from $lb_dir/config/binary" >&2
|
|
|
|
|
live_build_append=""
|
|
|
|
|
fi
|
|
|
|
|
|
|
|
|
|
if [ -f "$grub_cfg" ]; then
|
|
|
|
|
if extract_live_grub_entry "$grub_cfg"; then
|
|
|
|
|
mkdir -p "$grub_dir/live-theme"
|
|
|
|
|
cp "${BUILDER_DIR}/config/bootloaders/grub-efi/config.cfg" "$grub_dir/config.cfg"
|
|
|
|
|
cp "${BUILDER_DIR}/config/bootloaders/grub-efi/theme.cfg" "$grub_dir/theme.cfg"
|
|
|
|
|
cp -R "${BUILDER_DIR}/config/bootloaders/grub-efi/live-theme/." "$grub_dir/live-theme/"
|
|
|
|
|
write_canonical_grub_cfg "$grub_cfg" "$grub_kernel" "$grub_append" "$grub_initrd"
|
|
|
|
|
write_canonical_grub_cfg "$grub_cfg" "$grub_kernel" "${live_build_append:-$grub_append}" "$grub_initrd"
|
|
|
|
|
echo "bootloader sync: rewrote binary/boot/grub/grub.cfg with canonical EASY-BEE menu"
|
|
|
|
|
else
|
|
|
|
|
echo "bootloader sync: WARNING: could not extract live entry from $grub_cfg" >&2
|
|
|
|
|
@@ -814,7 +834,7 @@ enforce_live_build_bootloader_assets() {
|
|
|
|
|
|
|
|
|
|
if [ -f "$isolinux_cfg" ]; then
|
|
|
|
|
if extract_live_isolinux_entry "$isolinux_cfg"; then
|
|
|
|
|
write_canonical_isolinux_cfg "$isolinux_cfg" "$isolinux_kernel" "$isolinux_initrd_path" "$isolinux_append"
|
|
|
|
|
write_canonical_isolinux_cfg "$isolinux_cfg" "$isolinux_kernel" "$isolinux_initrd_path" "${live_build_append:-$isolinux_append}"
|
|
|
|
|
echo "bootloader sync: rewrote binary/isolinux/live.cfg with canonical EASY-BEE menu"
|
|
|
|
|
else
|
|
|
|
|
echo "bootloader sync: WARNING: could not extract live entry from $isolinux_cfg" >&2
|
|
|
|
|
|