FreeBSDのUSBフロッピードライブでフロッピーディスクをフォーマットするには?

FreeBSDのUSBフロッピードライブでフロッピーディスクをフォーマットするには?

USBフロッピードライブにあるMF 2HDフロッピーディスクをフォーマットしたいです。 USBフロッピードライブがfdc(4)デバイスではなくda(4)デバイスとして表示されるため、fdformat標準ユーティリティは使用できません。フロッピーディスクをどのようにフォーマットしますか?

答え1

フォーマッタがないようだったので、フロッピーディスクの80トラックすべてをフォーマットするために適切なFORMAT UNITコマンドを送信する次のシェルスクリプトを作成しました。da0他のデバイスを引数として指定しないと、デバイスはフォーマットされます。 CDBは以下から入手した。UFI仕様

#!/bin/sh

set -e
exec >&2

drive=${1:-da0}
numblocks=2880
blocklen=512
tracks=80
track=0

progress() {
    [ -t 2 ] && printf "\\r%2d/%2d" $track $tracks
}


for track in `seq 0 $((tracks-1))`
do
    progress

    # format bottom
    camcontrol cmd "$drive" -v \
        -c '04 17 i1 00 00 00 00 00 0c 00 00 00' $track \
        -o 12 '00 b0 00 08 i4 00 i3' $numblocks $blocklen

    # format top
    camcontrol cmd "$drive" -v \
        -c '04 17 i1 00 00 00 00 00 0c 00 00 00' $track \
        -o 12 '00 b1 00 08 i4 00 i3' $numblocks $blocklen

done

track=$tracks
progress
[ -t 2 ] && echo

関連情報