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
Author: Craig Metz
Date: Sun, 03 Jan 1993 03:37
Date: Sun, 03 Jan 1993 03:37
58 lines
2342 bytes
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