summaryrefslogtreecommitdiffstats
path: root/release/ia64
diff options
context:
space:
mode:
authormarcel <marcel@FreeBSD.org>2002-11-06 03:36:57 +0000
committermarcel <marcel@FreeBSD.org>2002-11-06 03:36:57 +0000
commit6e2748669357166bd4c3ddc9caaf4f0eafa5579c (patch)
treec72bb7723ca99864c6542364d207ed5a1a99baa0 /release/ia64
parent1fbc6da3c8366de37a4b13c5425b03326671c07f (diff)
downloadFreeBSD-src-6e2748669357166bd4c3ddc9caaf4f0eafa5579c.zip
FreeBSD-src-6e2748669357166bd4c3ddc9caaf4f0eafa5579c.tar.gz
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!
Diffstat (limited to 'release/ia64')
-rw-r--r--release/ia64/doFS.sh18
1 files changed, 13 insertions, 5 deletions
diff --git a/release/ia64/doFS.sh b/release/ia64/doFS.sh
index 9b10f1f..84b7e68 100644
--- a/release/ia64/doFS.sh
+++ b/release/ia64/doFS.sh
@@ -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
OpenPOWER on IntegriCloud