Check the FSLABEL argument and invoke the generic doFS.sh script

if it's not defined as efi. This makes sure we create a proper
MFS root filesystem and still allow the boot disk to be EFI
based.

At this time EFI auto boot works and we're properly loading the
MFS root file system. Time to create drivers.conf and get this
show on the road!
This commit is contained in:
marcel 2002-11-06 03:36:57 +00:00
parent 818ab10934
commit 51205ebd72

View File

@ -7,12 +7,10 @@
set -e
export BLOCKSIZE=512
if [ "$1" = "-s" ]; then
do_size="yes"; shift
opt_s="-s"; shift
else
do_size=""
opt_s=""
fi
FSIMG=$1; shift
@ -23,6 +21,16 @@ FSPROTO=$1 ; shift
FSINODE=$1 ; shift
FSLABEL=$1 ; shift
# If the disklabel is not equal to "efi", we have to create a "normal"
# UFS filesystem. In that case, call the generic version:
if [ x$FSLABEL != "xefi" ]; then
DOFS_SH=`dirname $0`/../scripts/`basename $0`
echo Tranferring control to $DOFS_SH...
exec sh $DOFS_SH $opt_s $FSIMG $RD $MNT $FSSIZE $FSPROTO $FSINODE $FSLABEL
fi
export BLOCKSIZE=512
# Express the size on 512-byte blocks for newfs_msdos
FSSIZE=$((${FSSIZE}*2))
@ -72,6 +80,6 @@ mdconfig -d -u ${MDDEVICE} 2>/dev/null || true
echo "*** Filesystem is ${FSSIZE} K, $4 left"
echo "*** ${FSINODE} bytes/inode, $7 left"
if [ "${do_size}" ]; then
if [ "${opt_s}" ]; then
echo ${FSSIZE} > ${FSIMG}.size
fi