커널내에 udf writing 이 들어있길래 언젠가는 해볼려고
했던건데, 시간 나는 김에 해봤습니다. 커널에서는 DANGEROUS 하다고
하는데, 꼭 해보실 분만 해 보시기 바랍니다.
1. 커널 패치
커널 패치가 필요합니다. 단순히 UDF RW 는 커널내에
이미 들어 있지만, 패킷라이팅이 들어있지 않습니다.
다음 주소에 가서 커널 버젼에 맞는 패킷 패치를
가져와서 패치합니다.
http://w1.894.telia.com/~u89404340/patches/packet/ 커널 옵션중
Block devices -> Packet writing on CD/DVD media 와
File systems -> UDF file system support 와
File systems -> UDF write support 를 설정하고
컴파일 합니다.
2. 디바이스 작성
앞으로 /dev/pktcdvd 로 패킷 라이팅 디바이스를
사용하게 됩니다. Major 번호 97 으로 만듭니다.
mknod /dev/pktcdvd0 b 97 0
3. UDF 툴 컴파일 & 설치
패킷 라이팅하는데 UDF 툴이 필요합니다. UDF 툴은
http://sourceforge.net/project/showfiles.php?group_id=295 에서 udftools 로 된 것을 가져와서 컴
파일 후 설치하면 됩니다. (libudffs 와 mkudffs, cdrwtool, pktsetup 등이 설치 될겁니다.)
써보기
1. 미디어 포맷
미디어 포맷이 필요합니다.
cdrwtool -d /dev/scd0 -q -t 8
-d 에 RW 가 장착된 디바이스 -q 는 기본 옵션을 사용하고
-t 8 로 8배속 지정했습니다. 다른 옵션도 보시고 자신에
맞게 사용하시면 됩니다.
대충 아래와 비슷하게 나옵니다.
#cdrwtool -d /dev/scd0 -q -t 8
setting speed to 8
using device /dev/scd0
1270KB internal buffer
setting write speed to 8x
Settings for /dev/scd0:
Fixed packets, size 32
Mode-2 disc
I'm going to do a quick setup of /dev/scd0. The disc is going
to be blanked and formatted with one big track. All data on the
device will be lost!! Press CTRL-C to cancel now.
ENTER to continue.
Initiating quick disc blank
Disc capacity is 276160 blocks (552320KB/539MB)
Formatting track
start=0, blocks=16, type=RESERVED
start=16, blocks=3, type=VRS
start=19, blocks=237, type=USPACE
start=256, blocks=1, type=ANCHOR
start=257, blocks=31, type=USPACE
start=288, blocks=32, type=PVDS
start=320, blocks=32, type=LVID
start=352, blocks=32, type=STABLE
start=384, blocks=1024, type=SSPACE
start=1408, blocks=274464, type=PSPACE
start=275872, blocks=31, type=USPACE
start=275903, blocks=1, type=ANCHOR
start=275904, blocks=160, type=USPACE
start=276064, blocks=32, type=STABLE
start=276096, blocks=32, type=RVDS
start=276128, blocks=31, type=USPACE
start=276159, blocks=1, type=ANCHOR
Writing UDF structures to disc
Quick setup complete!
2. 디바이스에 맵핑
pktcdvd0 에 rw 드라이브를 물립니다.
pktsetup /dev/pktcdvd0 /dev/scd0
디바이스 명은 각자 맞게 쓰시면 됩니다.
3. 마운트
mount -t udf /dev/pktcdvd0 /mnt/RW
마운트 하시고 일반 장치 처럼 사용하시면 됩니다.
사용 후에는 다른 장치와 마찬가지로
umount /dev/pktcdvd0
하시고
pktsetup -d /dev/pktcdvd0
해서 디바이스 풀어주면 됩니다.
사용해보고
일단 복사시나 다른 작업시에는 빠르게 되나 언마운트시에
시간이 꽤 걸리는 편입니다.
추가. cp949 안 넣고 마운트 해서 한글이 안되던거 였습니다.
마운트 할때 iocharset 설정하시면 한글 됩니다.
윈도우에서 확인 결과 인식 되는군요.