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

관련 정보