🚀 go-pugleaf

RetroBBS NetNews Server

Inspired by RockSolid Light RIP Retro Guy

Thread View: comp.os.linux.announce
1 messages
1 total messages Started by Craig Metz Sun, 03 Jan 1993 03:37
Script for formatting msdos disks under Linux
#29
Author: Craig Metz
Date: Sun, 03 Jan 1993 03:37
58 lines
2342 bytes
	I'm not exactly sure when, but mformat got broken somewhere along
the lines for me, and probably for many others. Here's a quick little
script that will format a floppy disk and do the necessary things to make
it a msdos filesystem, all without having to resort to using a certain
defunct operating system to do it. The general premise of operation is
extremely naive, after all, it's just a hack. It may be/probably is 
possible to get this script to naively create other filesystems.

	Before using this script, one must do the following things:

	mkdir /etc/msdos
	chmod 700 /etc/msdos
	
	For each disk type in (360 1200 720 1440 or nonstandard) that you
wish to support, pop in a formatted DOS disk of that size and run:

	dd if=(disk device) of=/etc/msdos/(disk size).b bs=512 count=1

	i.e., to grab the boot sector off a 720k disk, pop one in and run:

	dd if=/dev/fd0D720 of=/etc/msdos/720.b bs=512 count=1

	The script simply does three things:

	1. fdformats the device
	2. Zeroes out the first 10k of the disk to make sure the FAT and
	   root directory contain all zeros 
	3. Copies a DOS boot sector image to the disk's boot sector

	It works for me, your mileage may vary.

							-Craig
----- mkdosfs -----

#!/bin/sh
if [ $# = 0 ];
then
	echo "usage: $0 <device> [bootsector]"
	exit 1
fi
DEVICE=$1
fdformat $DEVICE | tee /tmp/mkdosfs.tmp
SIZE=`head -1 /tmp/mkdosfs.tmp | cut -f8 -d' '`
if [ "X$2" = "X" ];
then 
	BOOT="/etc/msdos/$SIZE.b"
#	BOOT=`echo $DEVICE | sed 's/\/dev\/fd//g | cut -c3-'
else
	BOOT=$2
fi
rm -f /tmp/mkdosfs.tmp
echo -n "Zeroing ... "
dd if=/dev/zero of=$DEVICE bs=512 count=20 &> /dev/null
echo "done"
echo -n "Writing $BOOT ... "
dd if=$BOOT of=$DEVICE bs=512 &> /dev/null
echo "done"
exit 0
Thread Navigation

This is a paginated view of messages in the thread with full content displayed inline.

Messages are displayed in chronological order, with the original post highlighted in green.

Use pagination controls to navigate through all messages in large threads.

Back to All Threads