rpms/anaconda/devel anaconda-11.5.0.23-efi-cds.patch, NONE, 1.1 anaconda.spec, 1.760, 1.761
Peter Jones
pjones at fedoraproject.org
Thu Mar 5 06:22:53 UTC 2009
Author: pjones
Update of /cvs/extras/rpms/anaconda/devel
In directory cvs1.fedora.phx.redhat.com:/tmp/cvs-serv26010
Modified Files:
anaconda.spec
Added Files:
anaconda-11.5.0.23-efi-cds.patch
Log Message:
* Thu Mar 05 2009 Peter Jones <pjones at redhat.com> - 11.5.0.24-2
- Add EFI boot.iso generation.
anaconda-11.5.0.23-efi-cds.patch:
--- NEW FILE anaconda-11.5.0.23-efi-cds.patch ---
diff --git a/scripts/mk-images.efi b/scripts/mk-images.efi
index 687d76c..7c25950 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 813d941..fe7a978 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
}
Index: anaconda.spec
===================================================================
RCS file: /cvs/extras/rpms/anaconda/devel/anaconda.spec,v
retrieving revision 1.760
retrieving revision 1.761
diff -u -r1.760 -r1.761
--- anaconda.spec 5 Mar 2009 03:51:07 -0000 1.760
+++ anaconda.spec 5 Mar 2009 06:22:22 -0000 1.761
@@ -3,7 +3,7 @@
Summary: Graphical system installer
Name: anaconda
Version: 11.5.0.24
-Release: 1
+Release: 2
License: GPLv2+
Group: Applications/System
URL: http://fedoraproject.org/wiki/Anaconda
@@ -14,6 +14,9 @@
# make archive-no-tag
Source0: %{name}-%{version}.tar.bz2
+# Patch for EFI CDs
+Patch0: anaconda-11.5.0.23-efi-cds.patch
+
BuildRoot: %{_tmppath}/%{name}-%{version}-%{release}-root-%(%{__id_u} -n)
# Versions of required components (done so we make sure the buildrequires
@@ -153,6 +156,7 @@
%prep
%setup -q
+%patch0 -p1
%build
%{__make} depend
@@ -209,6 +213,9 @@
%endif
%changelog
+* Thu Mar 05 2009 Peter Jones <pjones at redhat.com> - 11.5.0.24-2
+- Add EFI boot.iso generation.
+
* Wed Mar 4 2009 Dave Lehman <dlehman at redhat.com> - 11.5.0.24-1
- Storage test day.
More information about the fedora-extras-commits
mailing list