From 641ac3d2faca1df59f86ca5a0441559aa0d35488 Mon Sep 17 00:00:00 2001 From: David Cantrell Date: Thu, 5 Mar 2009 15:30:43 -1000 Subject: Merge in changes present in anaconda pkgcvs. --- anaconda.spec | 11 +++++-- scripts/mk-images.efi | 81 ++++++++++++++++++++++++++++++--------------------- scripts/mk-images.x86 | 11 +++++-- 3 files changed, 64 insertions(+), 39 deletions(-) diff --git a/anaconda.spec b/anaconda.spec index 5dc8a03c0..3a39b064a 100644 --- a/anaconda.spec +++ b/anaconda.spec @@ -3,7 +3,7 @@ Summary: Graphical system installer Name: anaconda Version: 11.5.0.24 -Release: 1 +Release: 3 License: GPLv2+ Group: Applications/System URL: http://fedoraproject.org/wiki/Anaconda @@ -41,7 +41,7 @@ BuildRoot: %{_tmppath}/%{name}-%{version}-%{release}-root-%(%{__id_u} -n) %define createrepover 0.4.7 %define yumutilsver 1.1.11-3 %define iscsiver 6.2.0.870-3 -%define pythoncryptsetupver 0.0.7 +%define pythoncryptsetupver 0.0.6 BuildRequires: audit-libs-devel BuildRequires: bzip2-devel @@ -209,6 +209,13 @@ update-desktop-database &> /dev/null || : %endif %changelog +* Thu Mar 5 2009 Dave Lehman - 11.5.0.24-3 +- Fix booty's desire to import fsset. +- Fix attempt to set read-only attr "removable" in DiskDevice.__init__ + +* Thu Mar 05 2009 Peter Jones - 11.5.0.24-2 +- Add EFI boot.iso generation. + * Wed Mar 4 2009 Dave Lehman - 11.5.0.24-1 - Storage test day. diff --git a/scripts/mk-images.efi b/scripts/mk-images.efi index 687d76c01..7c2595033 100644 --- a/scripts/mk-images.efi +++ b/scripts/mk-images.efi @@ -53,25 +53,25 @@ makeefibootimage() { MBD_BOOTTREE=${TMPDIR:-/tmp}/makebootdisk.tree.$$ MBD_BOOTTREE_TMP=$MBD_BOOTTREE'_tmp' while [ x$(echo $1 | cut -c1-2) = x"--" ]; do - if [ $1 = "--kernel" ]; then - KERNELFILE=$2 - shift; shift - continue - elif [ $1 = "--initrd" ]; then - INITRDFILE=$2 - shift; shift - continue - elif [ $1 = "--imagename" ]; then - MBD_FILENAME=$IMAGEPATH/$2 - shift; shift - continue - elif [ $1 = "--grubpkg" ]; then - grubpkg=$2 - shift; shift - continue - fi - echo "Unknown option passed to makebootdisk" - exit 1 + if [ $1 = "--kernel" ]; then + KERNELFILE=$2 + shift; shift + continue + elif [ $1 = "--initrd" ]; then + INITRDFILE=$2 + shift; shift + continue + elif [ $1 = "--imagename" ]; then + MBD_FILENAME=$IMAGEPATH/$2 + shift; shift + continue + elif [ $1 = "--grubpkg" ]; then + grubpkg=$2 + shift; shift + continue + fi + echo "Unknown option passed to makebootdisk" + exit 1 done if [ -z "$MBD_FILENAME" ]; then @@ -79,15 +79,6 @@ makeefibootimage() { exit 1 fi - if [ -z "$KERNELFILE" ]; then - echo "No kernel file passed" - exit 1 - fi - - if [ -z "$INITRDFILE" ]; then - echo "No initrd file passed" - exit 1 - fi MBD_FSIMAGE="$INITRDFILE" mkdir -p $MBD_BOOTTREE @@ -110,7 +101,7 @@ makeefibootimage() { mkdir -p `dirname $MBD_FILENAME` rm -rf $MBD_TMPIMAGE $MBD_MNTPOINT $MBD_BOOTTREE - if [ -z "$INITRDFILE" ]; then + if [ -z "$INITRDFILE" -a -n "$MBD_FSIMAGE" ]; then rm -f $MBD_FSIMAGE fi @@ -137,8 +128,8 @@ prepareEfiTree() { mkdir -p $MBD_BOOTTREE_TMP/EFI/boot cp -a $BOOTDISKDIR/* $MBD_BOOTTREE_TMP/EFI/boot/ - cp $INITRDFILE $MBD_BOOTTREE_TMP/EFI/boot/initrd.img - cp $KERNELFILE $MBD_BOOTTREE_TMP/EFI/boot/vmlinuz + [ -n "$INITRDFILE" ] && cp $INITRDFILE $MBD_BOOTTREE_TMP/EFI/boot/initrd.img + [ -n "$KERNELFILE" ] && cp $KERNELFILE $MBD_BOOTTREE_TMP/EFI/boot/vmlinuz sed -i "s/@PRODUCT@/$PRODUCT/g" $MBD_BOOTTREE_TMP/EFI/boot/grub.conf sed -i "s/@VERSION@/$VERSION/g" $MBD_BOOTTREE_TMP/EFI/boot/grub.conf @@ -165,10 +156,18 @@ prepareEfiTree() { yumdownloader -c ${yumconf} ${artpkg} rpm2cpio ${artpkg}.rpm | (cd $KERNELROOT; cpio --quiet -iumd) cp $KERNELROOT/boot/grub/splash.xpm.gz $MBD_BOOTTREE_TMP/EFI/boot/splash.xpm.gz + + # if we don't have a kernel or initrd, we're making a CD image and we need + # to mirror EFI/ to the cd. + if [ -z "$KERNELFILE" -a -z "$INITRDFILE" ]; then + cp -av $MBD_BOOTTREE_TMP/EFI/ $TOPDESTPATH/EFI/ + rm -f $TOPDESTPATH/EFI/boot/*.efi + fi } makeEfiImages() { yumconf="$1" + echo "Making EFI images ($PWD)" if [ "$kernelvers" != "$kernelxen" ]; then local grubarch=${efiarch} case ${efiarch} in @@ -190,10 +189,24 @@ makeEfiImages() { --initrd $TOPDESTPATH/images/pxeboot/initrd.img \ --grubpkg ${grubpkg} local ret=$? - [ $ret -eq 0 ] || return $ret + if [ $ret -ne 0 ]; then + echo "makeefibootimage (1) failed" >&2 + return $ret + fi makeefibootdisk $TOPDESTPATH/images/pxeboot/efiboot.img $TOPDESTPATH/images/efidisk.img - return $? + [ $ret -eq 0 ] || return $ret + local ret=$? + + # make a boot image with just boot*.efi in it... + makeefibootimage \ + --imagename pxeboot/efiboot.img \ + --grubpkg ${grubpkg} + local ret=$? + if [ $ret -ne 0 ]; then + echo "makeefibootimage (2) failed" >&2 + fi + return $ret fi - return 1 + return 0 } diff --git a/scripts/mk-images.x86 b/scripts/mk-images.x86 index 813d94185..fe7a978b9 100644 --- a/scripts/mk-images.x86 +++ b/scripts/mk-images.x86 @@ -158,11 +158,16 @@ __EOT__ doPostImages() { if [ -n "$BOOTISO" ]; then EFIARGS="" - if [ -f isolinux/efiboot.img ]; then + EFIGRAFT="" + if [ -f $TOPDESTPATH/images/pxeboot/efiboot.img ]; then + cp $TOPDESTPATH/images/pxeboot/efiboot.img $TOPDESTPATH/isolinux/efiboot.img EFIARGS="-eltorito-alt-boot -e isolinux/efiboot.img -no-emul-boot" + EFIGRAFT="EFI/boot=$TOPDESTPATH/EFI/boot" fi - mkisofs -o $TOPDESTPATH/images/$BOOTISO -b isolinux/isolinux.bin -c isolinux/boot.cat -no-emul-boot -boot-load-size 4 -boot-info-table $EFIARGS -R -J -V "$PRODUCT" -T -graft-points isolinux=$TOPDESTPATH/isolinux images/install.img=$TOPDESTPATH/images/install.img - implantisomd5 $TOPDESTPATH/images/$BOOTISO + BIOSARGS="-b isolinux/isolinux.bin -c isolinux/boot.cat -no-emul-boot -boot-load-size 4 -boot-info-table" + 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 + 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 + implantisomd5 $TOPDESTPATH/images/$BOOTISO fi } -- cgit