Skip site navigation (1)Skip section navigation (2)
Date:      Fri, 26 Jun 1998 07:57:55 -0700
From:      Josef Grosch <jgrosch@superior.mooseriver.com>
To:        Frank Terhaar-Yonkers <fty@cisco.com>, freebsd-stable@FreeBSD.ORG
Subject:   Re: some trick to disklabel ZiP disks?
Message-ID:  <19980626075755.A8561@mooseriver.com>
In-Reply-To: <199806261200.IAA12465@claret.cisco.com>; from Frank Terhaar-Yonkers on Fri, Jun 26, 1998 at 08:00:48AM -0400
References:  <199806261200.IAA12465@claret.cisco.com>

next in thread | previous in thread | raw e-mail | index | archive | help
On Fri, Jun 26, 1998 at 08:00:48AM -0400, Frank Terhaar-Yonkers wrote:
> 
> Shouldn't it be this simple?
> If not, pls advise!
> 
> TIA - Frank
> ==========================
> (toot)~ ->fdisk -i sd1
> ...
> Information from DOS bootblock is:
> 1: <UNUSED>
> 2: <UNUSED>
> 3: <UNUSED>
> 4: sysid 165,(FreeBSD/NetBSD/386BSD)
>     start 1, size 196607 (95 Meg), flag 80 (active)
>         beg: cyl 0/ sector 2/ head 0;
>         end: cyl 95/ sector 32/ head 63
> Should we write new partition table? [n] y
> 
> (toot)~ ->disklabel -r -w sd1 auto                     
> disklabel: ioctl DIOCSDINFO: No space left on device
> Exit 1
> 

Enclosed is a perl script that formats zip disks. Enjoy!

-------------------ENCLOSED-------------------ENCLOSED---------------------
#!/usr/local/bin/perl

#
# $Id: FsZip.pl,v 1.2 1997/06/20 11:20:16 root Exp $
#
use Getopt::Std;
use English;

#
# Init varabales
#
$base = "sd2";           # Zip device - MUST SET THIS TO YOUR DEVICE !!!
$Slice = "sd2c";         # disk slice - MUST SET THIS TO YOUR DEVICE !!!
$MountPoint = "/mnt";    # Mount directory

$Fs = "/dev/$Slice";
$device = "/dev/$base";
$r_device = "/dev/r$base";
$ScsiFormat = "/sbin/scsiformat";
$Dd = "/bin/dd";
$DiskLabel = "/sbin/disklabel";
$NewFs = "/sbin/newfs";
$Zero = "/dev/zero";
$Mount = "/sbin/mount";
$Umount = "/sbin/umount";
$InitDir = "lost+found";
$mode = "0777";
$mount = 0;
$format = 0;
$Help = 0;

#
# Must be root to run this
#
&ErrorMsg unless ! $UID != 0;
 
#
# Commad line options
#
getopts('fmh');
$mount = 1 unless ! $opt_m == 1;
$format = 1 unless ! $opt_f == 1;
$Help = 1 unless ! $opt_h == 1;

&Usage unless ! $Help == 1;


#
# Are you sure about this ??
#
print "About to place a new filesystem on $device\n";
print "Do you wish to continue ? y or n [n]  ";
chop($reply = <STDIN>);
#exit unless ! $reply ne 'y';
if ($reply ne 'y') {
    exit;
}

#
# Format this disk 
if ($format) {
    print "About to format $device. This should take 7 to 8 minutes\n";
    print "Now would be a good time to get coffee\n";
    `$ScsiFormat -w $base`;
    print "Done with format\n";
}

#
# Partition table
#
print "Wiping partition table\n";
`$Dd if=$Zero of=$r_device count=2`;

#
# Disklabel
#
print "Writing new disklabel\n";
`$DiskLabel -Brw $base auto`;

#
# Filesystem
#
print "Creating new filesystem\n";
`$NewFs $Slice`;

#
# lost+found
#
print "Creating lost+found directory\n";
`$Mount $Fs $MountPoint`;
chdir($MountPoint);
mkdir($InitDir, $mode);
chdir($ENV{PWD});

#
# Do we leave it mounted ?
#
if (! $mount) {
    `$Umount $MountPoint`;
} else {
    print "Leaving disk mounted\n";
}

print "Done !! \n";
exit(0);

sub Usage {
    print "$PROGRAM_NAME [-f] [-m] [-h]\n";
    print "  -f  --  Format disk \n";
    print "  -m  --  Leave disk mounted \n";
    print "  -h  --  This message \n";
    exit(0);
}

sub ErrorMsg {
    print "You must be root to run this !\n";
    exit(1);
}

-------------------ENCLOSED-------------------ENCLOSED---------------------

-- 
Josef Grosch           | Another day closer to a |    FreeBSD 2.2.7
jgrosch@MooseRiver.com |   Micro$oft free world  | UNIX for the masses


To Unsubscribe: send mail to majordomo@FreeBSD.org
with "unsubscribe freebsd-stable" in the body of the message



Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?19980626075755.A8561>