summaryrefslogtreecommitdiffstats
path: root/release/scripts
diff options
context:
space:
mode:
authorru <ru@FreeBSD.org>2004-01-28 22:44:17 +0000
committerru <ru@FreeBSD.org>2004-01-28 22:44:17 +0000
commit7fee131f30acc3400b4469561c2d14223c1f65bb (patch)
treee934d9ce97c31ce495503077cef95840caece5cf /release/scripts
parent0d118a298f7792728e4709f9d9de88d015b2a852 (diff)
downloadFreeBSD-src-7fee131f30acc3400b4469561c2d14223c1f65bb.zip
FreeBSD-src-7fee131f30acc3400b4469561c2d14223c1f65bb.tar.gz
- Removed more bitrot (the "while" loops).
- Factored out common parts of dofs_vn() and dofs_md().
Diffstat (limited to 'release/scripts')
-rw-r--r--release/scripts/doFS.sh82
1 files changed, 28 insertions, 54 deletions
diff --git a/release/scripts/doFS.sh b/release/scripts/doFS.sh
index 246c59c..b61c7ed 100644
--- a/release/scripts/doFS.sh
+++ b/release/scripts/doFS.sh
@@ -30,28 +30,22 @@ if [ ${FSSIZE} -eq 0 -a ${FSLABEL} = "auto" ]; then
fi
dofs_vn () {
- if [ "x$VNDEVICE" = "x" ] ; then
- VNDEVICE=vn0
- fi
- u=`expr $VNDEVICE : 'vn\([0-9]*\)' || true`
- VNDEVICE=vnn$u
-
- rm -f /dev/*vnn*
- mknod /dev/rvnn${u} c 43 `expr 65538 + $u '*' 8`
- mknod /dev/rvnn${u}c c 43 `expr 2 + $u '*' 8`
- mknod /dev/vnn${u} b 15 `expr 65538 + $u '*' 8`
- mknod /dev/vnn${u}c b 15 `expr 2 + $u '*' 8`
-
- while true
- do
- rm -f ${FSIMG}
+ if [ "x$VNDEVICE" = "x" ] ; then
+ VNDEVICE=vn0
+ fi
+ u=`expr $VNDEVICE : 'vn\([0-9]*\)' || true`
+ VNDEVICE=vnn$u
+
+ rm -f /dev/*vnn*
+ mknod /dev/rvnn${u} c 43 `expr 65538 + $u '*' 8`
+ mknod /dev/rvnn${u}c c 43 `expr 2 + $u '*' 8`
+ mknod /dev/vnn${u} b 15 `expr 65538 + $u '*' 8`
+ mknod /dev/vnn${u}c b 15 `expr 2 + $u '*' 8`
umount /dev/${VNDEVICE} 2>/dev/null || true
umount ${MNT} 2>/dev/null || true
vnconfig -u /dev/r${VNDEVICE} 2>/dev/null || true
- dd of=${FSIMG} if=/dev/zero count=${FSSIZE} bs=1k 2>/dev/null
-
vnconfig -s labels -c /dev/r${VNDEVICE} ${FSIMG}
trap "umount ${MNT}; vnconfig -u /dev/r${VNDEVICE}; rm -f /dev/*vnn*" EXIT
@@ -60,36 +54,15 @@ dofs_vn () {
newfs -i ${FSINODE} -o space -m 0 /dev/r${VNDEVICE}c
mount /dev/${VNDEVICE}c ${MNT}
-
- if [ -d ${FSPROTO} ]; then
- (set -e && cd ${FSPROTO} && find . -print | cpio -dump ${MNT})
- else
- cp -p ${FSPROTO} ${MNT}
- fi
-
- df -ki ${MNT}
-
- set `df -ki ${MNT} | tail -1`
-
- echo "*** Filesystem is ${FSSIZE} K, $4 left"
- echo "*** ${FSINODE} bytes/inode, $7 left"
- break;
- done
}
dofs_md () {
- while true
- do
- rm -f ${FSIMG}
-
if [ "x${MDDEVICE}" != "x" ] ; then
umount /dev/${MDDEVICE} 2>/dev/null || true
umount ${MNT} 2>/dev/null || true
mdconfig -d -u ${MDDEVICE} 2>/dev/null || true
fi
- dd of=${FSIMG} if=/dev/zero count=${FSSIZE} bs=1k 2>/dev/null
-
MDDEVICE=`mdconfig -a -t vnode -f ${FSIMG}`
if [ ! -c /dev/${MDDEVICE} ] ; then
echo "No /dev/$MDDEVICE" 1>&2
@@ -102,30 +75,18 @@ dofs_md () {
newfs -O1 -i ${FSINODE} -o space -m 0 /dev/${MDDEVICE}c
mount /dev/${MDDEVICE}c ${MNT}
-
- if [ -d ${FSPROTO} ]; then
- (set -e && cd ${FSPROTO} && find . -print | cpio -dump ${MNT})
- else
- cp -p ${FSPROTO} ${MNT}
- fi
-
- df -ki ${MNT}
-
- set `df -ki ${MNT} | tail -1`
-
- echo "*** Filesystem is ${FSSIZE} K, $4 left"
- echo "*** ${FSINODE} bytes/inode, $7 left"
- break;
- done
}
+rm -f ${FSIMG}
+dd of=${FSIMG} if=/dev/zero count=${FSSIZE} bs=1k 2>/dev/null
+
#
# We don't have any bootblocks on ia64. Note that -B implies -r,
# so we have to specifically specify -r when we don't have -B.
# bsdlabel fails otherwise.
#
case `uname -r` in
-[1-4].*)
+4.*)
if [ -f "${RD}/trees/base/boot/boot1" ]; then
BOOT="-B -b ${RD}/trees/base/boot/boot1"
if [ -f "${RD}/trees/base/boot/boot2" ]; then
@@ -145,3 +106,16 @@ case `uname -r` in
dofs_md
;;
esac
+
+if [ -d ${FSPROTO} ]; then
+ (set -e && cd ${FSPROTO} && find . -print | cpio -dump ${MNT})
+else
+ cp -p ${FSPROTO} ${MNT}
+fi
+
+df -ki ${MNT}
+
+set `df -ki ${MNT} | tail -1`
+
+echo "*** File system is ${FSSIZE} K, $4 left"
+echo "*** ${FSINODE} bytes/inode, $7 left"
OpenPOWER on IntegriCloud