UDF でパケットライト

カーネルの準備

まずは,Linux カーネルに packet-cd のパッチを当てる. しかし,sourceforge.net に置いてあるパッチは古く, 今の Linux カーネルには直接当たらない. そのため,2.4.23 用に作られたパッチを当てて使う. patch がぶちぶち文句を言うが 2.4.26 に当てても問題なく使える.

カーネルの設定では以下のオプションが必要

CONFIG_CDROM_PKTCDVD=m
# CONFIG_CDROM_PKTCDVD_WCACHE is not set
CONFIG_UDF_FS=m
CONFIG_UDF_RW=y

怖いので,CONFIG_CDROM_PKTCDVD_WCACHE は設定しなかった.

必要なコマンドのインストール

メディアの初期化や書き込み準備をするためのコマンド群をインストールする. <URL:http://sourceforge.net/projects/linux-udf/>

Debian GNU/Linux を使っている場合は

# apt-get install udftools

で揃う.

メディアの初期化

以下のコマンドでメディアを UDF でフォーマットする.

# cdrwtool -t 4 -d /dev/sr0 -q

上は 4 倍速なので 20 分くらいかかる.

マウント

マウント前に

# pktsetup /dev/pktcdvd0 /dev/sr0

を実行する. /dev/pktcdvd0 がない場合は

# cd /dev/
# ./MAKEDEV pktcdvd

として作る. なお,/dev/pktcdvd0 はメジャー番号が 97, マイナー番号が 0 のブロックデバイスである.

次に

# mount -t udf /dev/pktcdvd0 /mnt

のようにしてマウントする.

なお,700MB の CD-RW の場合,フォーマット直後は 574MB しか使用できない. しかし,マウント後は cp, mv, rm などのコマンドで書き込みや削除が行えるので, 利便性は高いと言える.

アンマウント

通常通り

# umount /mnt

のようにしてアンマウントする.

アンマウント後に

# pktsetup -d /dev/pktcdvd0

を実行しないとメディアが取り出せない.

なお,S4 サスペンド(Software Suspend)を使うときにも, pktsetup -d しないとうまくサスペンドできなかった.

参考にした URL

戻る