Date: Wed, 22 Apr 1998 19:34:41 -0400 From: Randall Hopper <rhh@ct.picker.com> To: Antonio Bemfica <bemfica@militzer.me.tuns.ca>, freebsd-questions@FreeBSD.ORG Subject: Re: how do I mount a DOS ZIP disk? - etc. Message-ID: <19980422193441.A29671@ct.picker.com> In-Reply-To: <Pine.BSF.3.96.980414182106.22005B-100000@militzer.me.tuns.ca>; from Antonio Bemfica on Tue, Apr 14, 1998 at 06:33:20PM -0300 References: <19980414133134.37930@ct.picker.com> <Pine.BSF.3.96.980414182106.22005B-100000@militzer.me.tuns.ca>
next in thread | previous in thread | raw e-mail | index | archive | help
[-- Attachment #1 --]
Antonio Bemfica:
|> I tend to prefer putting my UFSs on my UFS ZIPs in slice 1, and leaving the
|> DOS FAT FSs in slice 4. Makes them easy to distinguish. My "mountzip"
|> script just tries to mount both slices, and succeeds on the correct one.
|
|Would you consider sharing your script?
Sure. It'll cook sliced and "dangerously dedicated" UFS ZIP disks (I
prefer sliced). Doesn't do DOS FAT disks as I typically make those in DOS,
and I didn't know when I wrote it whether I could cook them in FreeBSD.
Sliced UFSs are put on the first slice, so mount sliced disks are mountable
as via /dev/sd0s1 and dedicated disks as /dev/sd0.
You'll want to tweak the vars at the top and probably scan over it to see
if you want to do everything it does. For example, I like to chown/chgrp
the root dir so I can write to the FSs as myself (I use a setuid script for
mount/unmount).
Hope this helps.
Randall
[-- Attachment #2 --]
#!/bin/sh
#
# make-ufs-zip.sh - Create 96MB UFS Partition on a ZIP Disk in FreeBSD 2.x
# - Uses new fdisk mods in 2.2-CURRENT
#
# ASSUMES 1st disklabel installed in /etc/disktab (for UFS as slice):
#
# zip100slice|Iomega Zip 100, for disks w/ compat MBR/slice table (sector 0):\
# :ty=removable:dt=SCSI:se#512:nc#95:nt#64:ns#32:\
# :pa#194560:oa#0:ba#4096:fa#512:\
# :pc#194560:oc#0:bc#4096:fc#512:
#
# zip100|Iomega Zip 100:\
# :ty=removable:se#512:nc#96:nt#64:ns#32:\
# :pa#196608:oa#0:ba#4096:fa#512:\
# :pb#196608:ob#0:bb#4096:fb#512:\
# :pc#196608:oc#0:bc#4096:fc#512:
#
DEVICE=sd0
ECHO=/bin/echo
ZIPUSER=rhh
ZIPGROUP=zip
as_slice=y
FREEBSD_MAJOR_VERSION=`uname -r | cut -f1 -d.`
$ECHO "make-ufs-zip - Install 96MB UFS on a ZIP Disk on ${DEVICE}/${DEVICE}s1"
$ECHO "----------------------------------------------------------------------"
$ECHO
$ECHO -n "Are you SURE you want to WIPE OUT '${DEVICE}'??? "
read ans
if [ `echo $ans | cut -c1 | tr "NY" "ny"` != y ]; then
echo "Aborting..."
exit 1
fi
$ECHO
$ECHO -n "Create compatibility MBR (UFS as slice, default=$as_slice)? "
read ans
if [ -n "$ans" ]; then
if [ `echo $ans | cut -c1 | tr "NY" "ny"` != y ]; then
ans=n
fi
as_slice=$ans
fi
$ECHO
$ECHO "----------------------------------------------------------------------"
$ECHO
#-----------------------------------------------------------------------
# FDISK a ZIP 100MB for a single UFS slice (sd?s1) that fills the disk
#-----------------------------------------------------------------------
if [ $as_slice = y ]; then
if [ $FREEBSD_MAJOR_VERSION -lt 3 ]; then
partition1=0
else
partition1=1
fi
fdisk -i -f - /dev/${DEVICE} << !EOF!
g c96 h64 s32
p $partition1 165 32 196576
!EOF!
else
dd if=/dev/zero of=/dev/r${DEVICE} count=2
disklabel /dev/r${DEVICE} | disklabel -B -R -r ${DEVICE} /dev/stdin
fi
if [ $? -ne 0 ]; then
$ECHO
$ECHO "fdisk FAILED!"
$ECHO
exit 1
fi
$ECHO
$ECHO "----------------------------------------------------------------------"
$ECHO
#-----------------------------------------------------------------------
# Now slap a FreeBSD disklabel on the sd?s1 slice
#-----------------------------------------------------------------------
if [ $as_slice = y ]; then
disklabel -w -B /dev/${DEVICE}s1 zip100slice
if [ $? -ne 0 ]; then
$ECHO
$ECHO "disklabel FAILED!"
$ECHO
exit 1
fi
fi
#-----------------------------------------------------------------------
# Finally create the UFS file system on the slice
#-----------------------------------------------------------------------
#newfs -Tzip100 /dev/r${DEVICE}s1
newfs /dev/r${DEVICE}c # Fewer superblock baks (more disk space!)
if [ $? -ne 0 ]; then
$ECHO
$ECHO "newfs FAILED!"
$ECHO
exit 1
fi
#-----------------------------------------------------------------------
# And change ownership of the top directory
#-----------------------------------------------------------------------
mkdir -p /zip
if [ $as_slice = y ]; then
mount /dev/${DEVICE}s1 /zip
else
mount /dev/${DEVICE}c /zip
fi
chown $ZIPUSER /zip
chgrp $ZIPGROUP /zip
umount /zip
Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?19980422193441.A29671>
