Fix ia64 ISO creation:

o   boot/mfsroot.gz is no more. Copy it only when it exists so as still
    to be compatible with Makefile.sysinstall.
o   while here, make ispfw.ko optional as well.
o   '-b bootimage' is not a valid argument for makefs. What was meant
    was '-o bootimage'.
o   create the boot image in the current directory so that makefs can
    find the file. Previously it had to be created under $BASE because
    that's how mkisofs wanted it.
This commit is contained in:
Marcel Moolenaar 2011-06-06 01:52:15 +00:00
parent 9f62b10cb3
commit 4032939145
Notes: svn2git 2020-12-20 02:59:44 +00:00
svn path=/head/; revision=222726

View File

@ -48,28 +48,32 @@ EFIPART=efipart.sys
if [ $bootable = yes ]; then
EFISZ=65536
MNT=/mnt
dd if=/dev/zero of=$BASE/$EFIPART count=$EFISZ
md=`mdconfig -a -t vnode -f $BASE/$EFIPART`
dd if=/dev/zero of=$EFIPART count=$EFISZ
md=`mdconfig -a -t vnode -f $EFIPART`
newfs_msdos -F 12 -S 512 -h 4 -o 0 -s $EFISZ -u 16 $md
mount -t msdosfs /dev/$md $MNT
mkdir -p $MNT/efi/boot $MNT/boot $MNT/boot/kernel
cp -R $BASE/boot/defaults $MNT/boot
cp $BASE/boot/kernel/kernel $MNT/boot/kernel
cp $BASE/boot/kernel/ispfw.ko $MNT/boot/kernel
if [ -s $BASE/boot/kernel/ispfw.ko ]; then
cp $BASE/boot/kernel/ispfw.ko $MNT/boot/kernel
fi
cp $BASE/boot/device.hints $MNT/boot
cp $BASE/boot/loader.* $MNT/boot
cp $BASE/boot/mfsroot.gz $MNT/boot
if [ -s $BASE/boot/mfsroot.gz ]; then
cp $BASE/boot/mfsroot.gz $MNT/boot
fi
cp $BASE/boot/support.4th $MNT/boot
mv $MNT/boot/loader.efi $MNT/efi/boot/bootia64.efi
umount $MNT
mdconfig -d -u $md
BOOTOPTS="-b bootimage=i386;$EFIPART -o no-emul-boot"
BOOTOPTS="-o bootimage=i386;$EFIPART -o no-emul-boot"
else
BOOTOPTS=""
fi
echo "/dev/iso9660/$LABEL / cd9660 ro 0 0" > $1/etc/fstab
makefs -t cd9660 $BOOTOPTS -o rockridge -o label=$LABEL $NAME $BASE $*
rm -f $BASE/$EFIPART
rm -f $EFIPART
rm $1/etc/fstab
exit 0