-makebootdisk() {
- BOOTDISKSIZE=""
- EXTRAKERNELPATH=""
- INITRDFLAGS=""
- MBD_FILENAME=""
- INITRDFILE=""
- while [ x$(echo $1 | cut -c1-2) = x"--" ]; do
- if [ $1 = "--bootdisksize" ]; then
- BOOTDISKSIZE=$2
- shift; shift
- continue
- elif [ $1 = "--kernelto" ]; then
- EXTRAKERNELPATH=$2
- shift; shift
- continue
- elif [ $1 = "--initrdflags" ]; then
- INITRDFLAGS=$2
- shift; shift
- continue
- elif [ $1 = "--initrd" ]; then
- INITRDFILE=$2
- shift; shift
- continue
- elif [ $1 = "--imagename" ]; then
- MBD_FILENAME=$IMAGEPATH/$2
- shift; shift
- continue
- fi
- echo "Unknown option passed to makebootdisk"
- exit 1
- done
-
- if [ -z "$MBD_FILENAME" ]; then
- echo "No imagename passed"
- exit 1
- fi
-
- if [ -n "$INITRDFILE" ]; then
- MBD_FSIMAGE="$INITRDFILE"
- elif [ -n "$INITRDFLAGS" ]; then
- eval makeinitrd --keep $INITRDFLAGS
- fi
-
- mkdir -p $MBD_BOOTTREE
-
- # provided by the mk-image.$ARCH file
- prepareBootImage
-
- left=$(df $MBD_BOOTTREE | tail +2)
- left=$(echo $left | awk '{print $4'})
-
- umount $MBD_BOOTTREE
-
- if [ -n "$EXTRAKERNELPATH" ]; then
- mkdir -p `dirname $EXTRAKERNELPATH`
- cp -f $KERNELROOT/$KERNELDIR/${KERNELNAME}-* $EXTRAKERNELPATH
- fi
-
- mkdir -p `dirname $MBD_FILENAME`
- rm -f $MBD_FILENAME
- mv -f $MBD_TMPIMAGE $MBD_FILENAME
- rm -rf $MBD_TMPIMAGE $MBD_MNTPOINT $MBD_BOOTTREE
- if [ -z "$INITRDFILE" ]; then
- rm -f $MBD_FSIMAGE
- fi
-
- echo "Wrote $MBD_FILENAME (${left}k free)"
-}
-