diskimage-builder/diskimage_builder/elements/iso/post-install.d/01-copy-bootloaders
Anshul Jain 73a9ba0f1f Fix for rhel7 iso image creation.
Currently rhel7 image creation fails because it tries to copy
default bootloaders which is ubuntu way. This commit updates `iso`
element to correct the path of bootloaders required for rhel image.

Change-Id: I526d75b2db609fc77be0fc778b4d00f2d3df38ec
Closes-bug: 1750725
2018-02-28 06:31:34 -06:00

48 lines
1.4 KiB
Bash
Executable file

#!/bin/bash
if [ ${DIB_DEBUG_TRACE:-0} -gt 0 ]; then
set -x
fi
set -eux
set -o pipefail
TMP_BOOTLOADER_DIR=/tmp/bootloader_files
mkdir -p $TMP_BOOTLOADER_DIR
#fedora
if [ $DISTRO_NAME = "fedora" ]; then
GRUB_FILE="/boot/efi/EFI/fedora/grubx64.efi"
SHIM_FILE="/boot/efi/EFI/fedora/shim.efi"
SYSLINUX_FILE="/usr/share/syslinux/isolinux.bin"
LDLINUX_FILE="/usr/share/syslinux/ldlinux.c32"
#debian
elif [ $DISTRO_NAME = "debian" ]; then
GRUB_FILE="/usr/lib/grub/x86_64-efi-signed/grubx64.efi.signed"
SHIM_FILE="/usr/lib/shim/shim.efi.signed"
SYSLINUX_FILE="/usr/lib/ISOLINUX/isolinux.bin"
LDLINUX_FILE="/usr/lib/syslinux/modules/bios/ldlinux.c32"
#rhel7
elif [ $DISTRO_NAME = "rhel7" ]; then
GRUB_FILE="/boot/efi/EFI/redhat/grubx64.efi"
SHIM_FILE="/boot/efi/EFI/redhat/shim.efi"
SYSLINUX_FILE="/usr/share/syslinux/isolinux.bin"
LDLINUX_FILE="/usr/share/syslinux/ldlinux.c32"
#ubuntu
else
GRUB_FILE="/usr/lib/grub/x86_64-efi-signed/grubx64.efi.signed"
SHIM_FILE="/usr/lib/shim/shim.efi.signed"
SYSLINUX_FILE="/usr/lib/syslinux/isolinux.bin"
LDLINUX_FILE="/usr/lib/syslinux/ldlinux.c32"
fi
cp $GRUB_FILE $TMP_BOOTLOADER_DIR
cp $SHIM_FILE $TMP_BOOTLOADER_DIR
cp $SYSLINUX_FILE $TMP_BOOTLOADER_DIR
# Starting from SYSLINUX 5.00, the isolinux.bin is dependent
# on ldlinux.c32.
# http://www.syslinux.org/wiki/index.php/Library_modules
if [ -f "$LDLINUX_FILE" ]; then
cp $LDLINUX_FILE $TMP_BOOTLOADER_DIR
fi