From 73a9ba0f1fcf43bcd2ee6e685fbcc2828814f5e8 Mon Sep 17 00:00:00 2001 From: Anshul Jain Date: Wed, 28 Feb 2018 06:31:34 -0600 Subject: [PATCH] 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 --- .../elements/iso/cleanup.d/100-build-iso | 2 +- diskimage_builder/elements/iso/pkg-map | 2 +- .../iso/post-install.d/01-copy-bootloaders | 24 +++++++++---------- 3 files changed, 14 insertions(+), 14 deletions(-) diff --git a/diskimage_builder/elements/iso/cleanup.d/100-build-iso b/diskimage_builder/elements/iso/cleanup.d/100-build-iso index 09622c15..bf7576d4 100755 --- a/diskimage_builder/elements/iso/cleanup.d/100-build-iso +++ b/diskimage_builder/elements/iso/cleanup.d/100-build-iso @@ -29,7 +29,7 @@ function build_efiboot_img() { # Ubuntu: grub-efi-amd64-signed and shim-signed # Fedora: grub2-efi and shim - if [ $DISTRO_NAME = "fedora" ]; then + if [[ $DISTRO_NAME = "fedora" || $DISTRO_NAME = "rhel7" ]] ; then cp $TMP_BOOTLOADER_DIR/shim.efi $TMP_BUILD_DIR/bootx64.efi cp $TMP_BOOTLOADER_DIR/grubx64.efi $TMP_BUILD_DIR/grubx64.efi else diff --git a/diskimage_builder/elements/iso/pkg-map b/diskimage_builder/elements/iso/pkg-map index 557d7903..a9d9d371 100644 --- a/diskimage_builder/elements/iso/pkg-map +++ b/diskimage_builder/elements/iso/pkg-map @@ -13,7 +13,7 @@ "isolinux": "" }, "redhat":{ - "syslinux": "", + "syslinux": "syslinux", "syslinux-common": "", "isolinux": "" } diff --git a/diskimage_builder/elements/iso/post-install.d/01-copy-bootloaders b/diskimage_builder/elements/iso/post-install.d/01-copy-bootloaders index 5e0fb702..63b96695 100755 --- a/diskimage_builder/elements/iso/post-install.d/01-copy-bootloaders +++ b/diskimage_builder/elements/iso/post-install.d/01-copy-bootloaders @@ -10,28 +10,28 @@ set -o pipefail TMP_BOOTLOADER_DIR=/tmp/bootloader_files mkdir -p $TMP_BOOTLOADER_DIR -if [ $DISTRO_NAME = "fedora" ]; then - GRUB_FILE="/boot/efi/EFI/fedora/grubx64.efi" -else - GRUB_FILE="/usr/lib/grub/x86_64-efi-signed/grubx64.efi.signed" -fi - -if [ $DISTRO_NAME = "fedora" ]; then - SHIM_FILE="/boot/efi/EFI/fedora/shim.efi" -else - SHIM_FILE="/usr/lib/shim/shim.efi.signed" -fi - #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