Christopher Edward Lumens 7c8918
diff -ruN anaconda-11.5.0.42.orig/bootdisk/i386/grub.conf anaconda-11.5.0.42/bootdisk/i386/grub.conf
Christopher Edward Lumens 7c8918
--- anaconda-11.5.0.42.orig/bootdisk/i386/grub.conf	2009-04-09 16:53:01.000000000 -0400
Christopher Edward Lumens 7c8918
+++ anaconda-11.5.0.42/bootdisk/i386/grub.conf	2009-04-09 17:00:45.000000000 -0400
Peter Jones 3dd6e4
@@ -1,8 +1,8 @@
Peter Jones 3dd6e4
 #debug --graphics
Peter Jones 3dd6e4
 default=0
Peter Jones 3dd6e4
-splashimage=/EFI/boot/splash.xpm.gz
Peter Jones 3dd6e4
+splashimage=@SPLASHPATH@
Peter Jones 3dd6e4
 timeout 5
Peter Jones 3dd6e4
 hiddenmenu
Peter Jones 3dd6e4
 title @PRODUCT@ @VERSION@
Peter Jones 3dd6e4
-	kernel /EFI/boot/vmlinuz
Peter Jones 3dd6e4
-	initrd /EFI/boot/initrd.img
Peter Jones 3dd6e4
+	kernel @KERNELPATH@
Peter Jones 3dd6e4
+	initrd @INITRDPATH@
Christopher Edward Lumens 7c8918
diff -ruN anaconda-11.5.0.42.orig/bootdisk/x86_64/grub.conf anaconda-11.5.0.42/bootdisk/x86_64/grub.conf
Christopher Edward Lumens 7c8918
--- anaconda-11.5.0.42.orig/bootdisk/x86_64/grub.conf	2009-04-09 16:53:01.000000000 -0400
Christopher Edward Lumens 7c8918
+++ anaconda-11.5.0.42/bootdisk/x86_64/grub.conf	2009-04-09 17:00:45.000000000 -0400
Peter Jones 3dd6e4
@@ -1,8 +1,8 @@
Peter Jones 3dd6e4
 #debug --graphics
Peter Jones 3dd6e4
 default=0
Peter Jones 3dd6e4
-splashimage=/EFI/boot/splash.xpm.gz
Peter Jones 3dd6e4
+splashimage=@SPLASHPATH@
Peter Jones 3dd6e4
 timeout 5
Peter Jones 3dd6e4
 hiddenmenu
Peter Jones 3dd6e4
 title @PRODUCT@ @VERSION@
Peter Jones 3dd6e4
-	kernel /EFI/boot/vmlinuz
Peter Jones 3dd6e4
-	initrd /EFI/boot/initrd.img
Peter Jones 3dd6e4
+	kernel @KERNELPATH@
Peter Jones 3dd6e4
+	initrd @INITRDPATH@
Christopher Edward Lumens 7c8918
diff -ruN anaconda-11.5.0.42.orig/scripts/buildinstall anaconda-11.5.0.42/scripts/buildinstall
Christopher Edward Lumens 7c8918
--- anaconda-11.5.0.42.orig/scripts/buildinstall	2009-04-09 16:53:01.000000000 -0400
Christopher Edward Lumens 7c8918
+++ anaconda-11.5.0.42/scripts/buildinstall	2009-04-09 17:00:45.000000000 -0400
Christopher Edward Lumens 7c8918
@@ -219,8 +219,9 @@
Peter Jones 3dd6e4
 $MK_TREEINFO --family="$PRODUCTSTR" ${VARIANT:+--variant="$VARIANT"} --version=$VERSION --arch=$BASEARCH --outfile=$OUTPUT/.treeinfo
Peter Jones 3dd6e4
 
Peter Jones 3dd6e4
 # FIXME: need to update mk-images to take the yumconf
Peter Jones 3dd6e4
-echo "Making images..."
Peter Jones 3dd6e4
-$MK_IMAGES $DEBUGSTR $NOGRSTR --imgdir $TREEDIR/install --arch $BASEARCH --product "$PRODUCTSTR" --version $VERSION --bugurl "$BUGURL" --output $OUTPUT $yumconf || die "image creation failed"
Peter Jones 3dd6e4
+MKIMGCMD="$MK_IMAGES $DEBUGSTR $NOGRSTR --imgdir $TREEDIR/install --arch $BASEARCH --product "$PRODUCTSTR" --version $VERSION --bugurl "$BUGURL" --output $OUTPUT $yumconf"
Peter Jones 3dd6e4
+echo "Making images: $PWD\$ $MKIMGCMD"
Peter Jones 3dd6e4
+$MKIMGCMD || die "image creation failed"
Peter Jones 3dd6e4
 
Peter Jones 3dd6e4
 echo "Writing .discinfo file"
David Cantrell 39fe2c
 $MK_STAMP --releasestr="$RELEASESTR" --arch=$BASEARCH --discNum="ALL"  --outfile=$OUTPUT/.discinfo
Christopher Edward Lumens 7c8918
diff -ruN anaconda-11.5.0.42.orig/scripts/mk-images anaconda-11.5.0.42/scripts/mk-images
Christopher Edward Lumens 7c8918
--- anaconda-11.5.0.42.orig/scripts/mk-images	2009-04-09 16:53:01.000000000 -0400
Christopher Edward Lumens 7c8918
+++ anaconda-11.5.0.42/scripts/mk-images	2009-04-09 17:00:45.000000000 -0400
Christopher Edward Lumens 7c8918
@@ -889,6 +889,7 @@
Christopher Edward Lumens 7c8918
 # this gets overloaded if we're on an EFI-capable arch (... with grub)
Christopher Edward Lumens 7c8918
 makeEfiImages()
Christopher Edward Lumens 7c8918
 {
Christopher Edward Lumens 7c8918
+    echo "Not on an EFI capable machine; skipping EFI images."
Christopher Edward Lumens 7c8918
     /bin/true
Christopher Edward Lumens 7c8918
 }
Christopher Edward Lumens 7c8918
 
Christopher Edward Lumens 7c8918
diff -ruN anaconda-11.5.0.42.orig/scripts/mk-images.efi anaconda-11.5.0.42/scripts/mk-images.efi
Christopher Edward Lumens 7c8918
--- anaconda-11.5.0.42.orig/scripts/mk-images.efi	2009-04-09 16:53:01.000000000 -0400
Christopher Edward Lumens 7c8918
+++ anaconda-11.5.0.42/scripts/mk-images.efi	2009-04-09 17:00:45.000000000 -0400
Christopher Edward Lumens 7c8918
@@ -45,6 +45,7 @@
Peter Jones 3dd6e4
 
Peter Jones 3dd6e4
 #makeefibootimage required for EFI bootloader dosfs image
Peter Jones 3dd6e4
 makeefibootimage() {
Peter Jones 3dd6e4
+    echo "in makeefibootimage: makeefibootimage $@"
Peter Jones 3dd6e4
     MBD_FILENAME=""
Peter Jones 3dd6e4
     KERNELFILE=""
Peter Jones 3dd6e4
     INITRDFILE=""
Christopher Edward Lumens 7c8918
@@ -57,20 +58,29 @@
Peter Jones 3dd6e4
             KERNELFILE=$2
Peter Jones 3dd6e4
             shift; shift
Peter Jones 3dd6e4
             continue
Peter Jones 3dd6e4
+        elif [ $1 = "--kernelpath" ]; then
Peter Jones 3dd6e4
+            KERNELPATH=$2
Peter Jones 3dd6e4
+            shift; shift
Peter Jones 3dd6e4
+            continue
Peter Jones 3dd6e4
         elif [ $1 = "--initrd" ]; then
Peter Jones 3dd6e4
             INITRDFILE=$2
Peter Jones 3dd6e4
             shift; shift
Peter Jones 3dd6e4
             continue
Peter Jones 3dd6e4
+        elif [ $1 = "--initrdpath" ]; then
Peter Jones 3dd6e4
+            INITRDPATH=$2
Peter Jones 3dd6e4
+            shift; shift
Peter Jones 3dd6e4
+            continue
Peter Jones 3dd6e4
         elif [ $1 = "--imagename" ]; then
Peter Jones 3dd6e4
             MBD_FILENAME=$IMAGEPATH/$2
Peter Jones 3dd6e4
             shift; shift
Peter Jones 3dd6e4
             continue
Peter Jones 3dd6e4
         elif [ $1 = "--grubpkg" ]; then
Peter Jones 3dd6e4
             grubpkg=$2
Peter Jones 3dd6e4
+            echo "grubpkg=$grubpkg"
Peter Jones 3dd6e4
             shift; shift
Peter Jones 3dd6e4
             continue
Peter Jones 3dd6e4
         fi
Peter Jones 3dd6e4
-        echo "Unknown option passed to makebootdisk"
Peter Jones 3dd6e4
+        echo "Unknown option passed to makebootdisk: \"$1\""
Peter Jones 3dd6e4
         exit 1
Peter Jones 3dd6e4
     done
Peter Jones 3dd6e4
 
Christopher Edward Lumens 7c8918
@@ -111,6 +121,7 @@
Peter Jones 3dd6e4
 
Peter Jones 3dd6e4
 # prepare and build an efiboot.img.
Peter Jones 3dd6e4
 prepareEfiImage() {
Peter Jones 3dd6e4
+    echo "in prepareEfiImage"
Peter Jones 3dd6e4
     prepareEfiTree || return 1
Peter Jones 3dd6e4
 
Peter Jones 3dd6e4
     # dynamically calculate the size of the dosfs
Christopher Edward Lumens 7c8918
@@ -125,47 +136,65 @@
Peter Jones 3dd6e4
 # prepare a directory with the kernel, initrd, and various message files
Peter Jones 3dd6e4
 # used to populate the efi boot image
Peter Jones 3dd6e4
 prepareEfiTree() {
Peter Jones 3dd6e4
-    mkdir -p $MBD_BOOTTREE_TMP/EFI/boot
David Cantrell 39fe2c
+    echo "in prepareEfiTree"
David Cantrell 39fe2c
+    mkdir -p $MBD_BOOTTREE_TMP/EFI/BOOT
David Cantrell 39fe2c
 
Peter Jones 3dd6e4
-    cp -a $BOOTDISKDIR/* $MBD_BOOTTREE_TMP/EFI/boot/
Peter Jones 3dd6e4
-    [ -n "$INITRDFILE" ] && cp $INITRDFILE $MBD_BOOTTREE_TMP/EFI/boot/initrd.img
Peter Jones 3dd6e4
-    [ -n "$KERNELFILE" ] && cp $KERNELFILE $MBD_BOOTTREE_TMP/EFI/boot/vmlinuz
Peter Jones 3dd6e4
-
Peter Jones 3dd6e4
-    sed -i "s/@PRODUCT@/$PRODUCT/g" $MBD_BOOTTREE_TMP/EFI/boot/grub.conf
Peter Jones 3dd6e4
-    sed -i "s/@VERSION@/$VERSION/g" $MBD_BOOTTREE_TMP/EFI/boot/grub.conf
Peter Jones 3dd6e4
-
Peter Jones 3dd6e4
-    yumdownloader -c $yumconf $grubpkg
Peter Jones 3dd6e4
+    cp -av $BOOTDISKDIR/*.conf $MBD_BOOTTREE_TMP/EFI/BOOT/
Peter Jones 3dd6e4
+    [ -n "$KERNELFILE" ] && cp -av $KERNELFILE $MBD_BOOTTREE_TMP/EFI/BOOT/vmlinuz
Peter Jones 3dd6e4
+    [ -n "$INITRDFILE" ] && cp -av $INITRDFILE $MBD_BOOTTREE_TMP/EFI/BOOT/initrd.img
Peter Jones 3dd6e4
+    [ -z "$KERNELPATH" ] && KERNELPATH="/EFI/BOOT/vmlinuz"
Peter Jones 3dd6e4
+    [ -z "$INITRDPATH" ] && INITRDPATH="/EFI/BOOT/initrd.img"
Peter Jones 3dd6e4
+
Peter Jones 3dd6e4
+    SPLASHPATH="/EFI/BOOT/splash.xpm.gz"
Peter Jones 3dd6e4
+    sed -e "s/@PRODUCT@/$PRODUCT/g" \
Peter Jones 3dd6e4
+        -e "s/@VERSION@/$VERSION/g" \
Peter Jones 3dd6e4
+        -e "s,@KERNELPATH@,$KERNELPATH,g" \
Peter Jones 3dd6e4
+        -e "s,@INITRDPATH@,$INITRDPATH,g" \
Peter Jones 3dd6e4
+        -e "s,@SPLASHPATH@,$SPLASHPATH,g" \
Peter Jones 3dd6e4
+        -i $MBD_BOOTTREE_TMP/EFI/BOOT/grub.conf
Peter Jones 3dd6e4
+
Peter Jones 3dd6e4
+    ydcmd="yumdownloader -c $yumconf $grubpkg"
Peter Jones 3dd6e4
+    echo "(grubpkg) $ydcmd"
Peter Jones 3dd6e4
+    $ydcmd
Peter Jones 3dd6e4
     rpm2cpio $grubpkg.rpm | (cd $KERNELROOT; cpio --quiet -iumd)
Peter Jones 3dd6e4
-    cp $KERNELROOT/boot/efi/EFI/redhat/grub.efi $MBD_BOOTTREE_TMP/EFI/boot/grub.efi
Peter Jones 3dd6e4
+    cp -av $KERNELROOT/boot/efi/EFI/redhat/grub.efi $MBD_BOOTTREE_TMP/EFI/BOOT/grub.efi
Peter Jones 3dd6e4
 
Peter Jones 3dd6e4
     # The first generation Mactel machines get the bootloader name wrong
Peter Jones 3dd6e4
     # as per the spec.  Awesome, guys.
Peter Jones 3dd6e4
     if [ "$efiarch" == "ia32" ]; then
Peter Jones 3dd6e4
-        cp $MBD_BOOTTREE_TMP/EFI/boot/grub.efi $MBD_BOOTTREE_TMP/EFI/boot/boot.efi
Peter Jones 3dd6e4
-        cp $MBD_BOOTTREE_TMP/EFI/boot/grub.conf $MBD_BOOTTREE_TMP/EFI/boot/boot.conf
Peter Jones 3dd6e4
+        cp -av $MBD_BOOTTREE_TMP/EFI/BOOT/grub.efi $MBD_BOOTTREE_TMP/EFI/BOOT/BOOT.efi
Peter Jones 3dd6e4
+        cp -av $MBD_BOOTTREE_TMP/EFI/BOOT/grub.conf $MBD_BOOTTREE_TMP/EFI/BOOT/BOOT.conf
Peter Jones 3dd6e4
     fi
Peter Jones 3dd6e4
 
Peter Jones 3dd6e4
-    mv $MBD_BOOTTREE_TMP/EFI/boot/grub.efi $MBD_BOOTTREE_TMP/EFI/boot/boot${efiarch}.efi
Peter Jones 3dd6e4
-    mv $MBD_BOOTTREE_TMP/EFI/boot/grub.conf $MBD_BOOTTREE_TMP/EFI/boot/boot${efiarch}.conf
Peter Jones 3dd6e4
+    local tmpefiarch=${efiarch}
Peter Jones 3dd6e4
+    case ${efiarch} in
Peter Jones 3dd6e4
+        x64) tmpefiarch="X64" ;;
Peter Jones 3dd6e4
+        ia32) tmpefiarch="IA32" ;;
Peter Jones 3dd6e4
+    esac
Peter Jones 3dd6e4
+    mv -v $MBD_BOOTTREE_TMP/EFI/BOOT/grub.efi $MBD_BOOTTREE_TMP/EFI/BOOT/BOOT${tmpefiarch}.efi
Peter Jones 3dd6e4
+    mv -v $MBD_BOOTTREE_TMP/EFI/BOOT/grub.conf $MBD_BOOTTREE_TMP/EFI/BOOT/BOOT${tmpefiarch}.conf
Peter Jones 3dd6e4
 
Peter Jones 3dd6e4
     artpkg=$(repoquery --qf "%{NAME}-%{VERSION}-%{RELEASE}.%{ARCH}" --whatprovides ${brandpkgname}-logos | grep -v generic-logos | head -1)
Peter Jones 3dd6e4
     if [ -z "$artpkg" ]; then
Peter Jones 3dd6e4
        argpkg="generic-logos"
Peter Jones 3dd6e4
     fi
Peter Jones 3dd6e4
 
Peter Jones 3dd6e4
-    yumdownloader -c ${yumconf} ${artpkg}
Peter Jones 3dd6e4
+    ydcmd="yumdownloader -c ${yumconf} ${artpkg}"
Peter Jones 3dd6e4
+    echo "(artpkg) $ydcmd"
Peter Jones 3dd6e4
+    $ydcmd
Peter Jones 3dd6e4
     rpm2cpio ${artpkg}.rpm | (cd $KERNELROOT; cpio --quiet -iumd)
Peter Jones 3dd6e4
-    cp $KERNELROOT/boot/grub/splash.xpm.gz $MBD_BOOTTREE_TMP/EFI/boot/splash.xpm.gz
Peter Jones 3dd6e4
+    cp -av $KERNELROOT/boot/grub/splash.xpm.gz $MBD_BOOTTREE_TMP/$SPLASHPATH
Peter Jones 3dd6e4
 
Peter Jones 3dd6e4
     # if we don't have a kernel or initrd, we're making a CD image and we need
Peter Jones 3dd6e4
     # to mirror EFI/ to the cd.
Peter Jones 3dd6e4
     if [ -z "$KERNELFILE" -a -z "$INITRDFILE" ]; then
Peter Jones 3dd6e4
         cp -av $MBD_BOOTTREE_TMP/EFI/ $TOPDESTPATH/EFI/
Peter Jones 3dd6e4
-        rm -f $TOPDESTPATH/EFI/boot/*.efi
Peter Jones 3dd6e4
+        rm -f $TOPDESTPATH/EFI/BOOT/*.efi
Peter Jones 3dd6e4
     fi
Peter Jones 3dd6e4
 }
Peter Jones 3dd6e4
 
Peter Jones 3dd6e4
 makeEfiImages() {
Peter Jones 3dd6e4
+    echo "in makeEfiImages"
Peter Jones 3dd6e4
     yumconf="$1"
Peter Jones 3dd6e4
     echo "Making EFI images ($PWD)"
Peter Jones 3dd6e4
     if [ "$kernelvers" != "$kernelxen" ]; then
Christopher Edward Lumens 7c8918
@@ -182,9 +211,10 @@
Peter Jones 3dd6e4
             return 1
Peter Jones 3dd6e4
         fi
Peter Jones 3dd6e4
         echo "Building efiboot.img for ${efiarch}/$KERNELARCH at $TOPDESTPATH/images/efiboot.img"
Peter Jones 3dd6e4
+	echo "grubpkg: ${grubpkg}"
Peter Jones 3dd6e4
 
Peter Jones 3dd6e4
         makeefibootimage \
Peter Jones 3dd6e4
-            --imagename pxeboot/efiboot.img \
Peter Jones 3dd6e4
+            --imagename efiboot.img \
Peter Jones 3dd6e4
             --kernel $TOPDESTPATH/images/pxeboot/vmlinuz \
Peter Jones 3dd6e4
             --initrd $TOPDESTPATH/images/pxeboot/initrd.img \
Peter Jones 3dd6e4
             --grubpkg ${grubpkg}
Christopher Edward Lumens 7c8918
@@ -194,13 +224,16 @@
Peter Jones 3dd6e4
             return $ret
Peter Jones 3dd6e4
         fi
Peter Jones 3dd6e4
 
Peter Jones 3dd6e4
-        makeefibootdisk $TOPDESTPATH/images/pxeboot/efiboot.img $TOPDESTPATH/images/efidisk.img
Peter Jones 3dd6e4
-        [ $ret -eq 0 ] || return $ret
Peter Jones 3dd6e4
+        makeefibootdisk $TOPDESTPATH/images/efiboot.img $TOPDESTPATH/images/efidisk.img
Peter Jones 3dd6e4
         local ret=$?
Peter Jones 3dd6e4
+        [ $ret -eq 0 ] || return $ret
Peter Jones 3dd6e4
+        rm -vf $TOPDESTPATH/images/efiboot.img
Peter Jones 3dd6e4
 
Peter Jones 3dd6e4
         # make a boot image with just boot*.efi in it...
Peter Jones 3dd6e4
         makeefibootimage \
Peter Jones 3dd6e4
-            --imagename pxeboot/efiboot.img \
Peter Jones 3dd6e4
+            --imagename efiboot.img \
Peter Jones 3dd6e4
+            --kernelpath /images/pxeboot/vmlinuz \
Peter Jones 3dd6e4
+            --initrdpath /images/pxeboot/initrd.img \
Peter Jones 3dd6e4
             --grubpkg ${grubpkg}
Peter Jones 3dd6e4
         local ret=$?
Peter Jones 3dd6e4
         if [ $ret -ne 0 ]; then
Christopher Edward Lumens 7c8918
diff -ruN anaconda-11.5.0.42.orig/scripts/mk-images.x86 anaconda-11.5.0.42/scripts/mk-images.x86
Christopher Edward Lumens 7c8918
--- anaconda-11.5.0.42.orig/scripts/mk-images.x86	2009-04-09 16:53:01.000000000 -0400
Christopher Edward Lumens 7c8918
+++ anaconda-11.5.0.42/scripts/mk-images.x86	2009-04-09 17:00:45.000000000 -0400
Christopher Edward Lumens 7c8918
@@ -159,15 +159,16 @@
Peter Jones 3dd6e4
     if [ -n "$BOOTISO" ]; then
Peter Jones 3dd6e4
         EFIARGS=""
Peter Jones 3dd6e4
         EFIGRAFT=""
Peter Jones 3dd6e4
-        if [ -f $TOPDESTPATH/images/pxeboot/efiboot.img ]; then
Peter Jones 3dd6e4
-            cp $TOPDESTPATH/images/pxeboot/efiboot.img $TOPDESTPATH/isolinux/efiboot.img
Peter Jones 3dd6e4
-            EFIARGS="-eltorito-alt-boot -e isolinux/efiboot.img -no-emul-boot"
Peter Jones 3dd6e4
-            EFIGRAFT="EFI/boot=$TOPDESTPATH/EFI/boot"
Peter Jones 3dd6e4
+        if [ -f $TOPDESTPATH/images/efiboot.img ]; then
Peter Jones 3dd6e4
+            echo "Found efiboot.img, making an EFI-capable boot.iso"
Peter Jones 3dd6e4
+            EFIARGS="-eltorito-alt-boot -e images/efiboot.img -no-emul-boot"
Peter Jones 3dd6e4
+            EFIGRAFT="EFI/BOOT=$TOPDESTPATH/EFI/BOOT"
Peter Jones 3dd6e4
+        else
Peter Jones 3dd6e4
+            echo "No efiboot.img found, making BIOS-only boot.iso"
Peter Jones 3dd6e4
         fi
Peter Jones 3dd6e4
         BIOSARGS="-b isolinux/isolinux.bin -c isolinux/boot.cat -no-emul-boot -boot-load-size 4 -boot-info-table"
Peter Jones 3dd6e4
-        echo $PWD:\$ mkisofs -o $TOPDESTPATH/images/$BOOTISO $BIOSARGS $EFIARGS -R -J -V "$PRODUCT" -T -graft-points isolinux=$TOPDESTPATH/isolinux images/install.img=$TOPDESTPATH/images/install.img $EFIGRAFT
Peter Jones 3dd6e4
-        mkisofs -o $TOPDESTPATH/images/$BOOTISO $BIOSARGS $EFIARGS -R -J -V "$PRODUCT" -T -graft-points isolinux=$TOPDESTPATH/isolinux images/install.img=$TOPDESTPATH/images/install.img $EFIGRAFT
Peter Jones 3dd6e4
-        implantisomd5 $TOPDESTPATH/images/$BOOTISO
Peter Jones 3dd6e4
+        mkisocmd="mkisofs -v -o $TOPDESTPATH/images/$BOOTISO $BIOSARGS $EFIARGS -R -J -V "$PRODUCT" -T -graft-points isolinux=$TOPDESTPATH/isolinux images=$TOPDESTPATH/images $EFIGRAFT"
Peter Jones 3dd6e4
+        echo $PWD:\$ $mkisocmd
Peter Jones 3dd6e4
+	$mkisocmd
Peter Jones 3dd6e4
     fi
Peter Jones 3dd6e4
-
Peter Jones 3dd6e4
 }