1*8ea61889SMauro Carvalho Chehab============== 2*8ea61889SMauro Carvalho ChehabPacket writing 3*8ea61889SMauro Carvalho Chehab============== 4*8ea61889SMauro Carvalho Chehab 5*8ea61889SMauro Carvalho ChehabGetting started quick 6*8ea61889SMauro Carvalho Chehab--------------------- 7*8ea61889SMauro Carvalho Chehab 8*8ea61889SMauro Carvalho Chehab- Select packet support in the block device section and UDF support in 9*8ea61889SMauro Carvalho Chehab the file system section. 10*8ea61889SMauro Carvalho Chehab 11*8ea61889SMauro Carvalho Chehab- Compile and install kernel and modules, reboot. 12*8ea61889SMauro Carvalho Chehab 13*8ea61889SMauro Carvalho Chehab- You need the udftools package (pktsetup, mkudffs, cdrwtool). 14*8ea61889SMauro Carvalho Chehab Download from http://sourceforge.net/projects/linux-udf/ 15*8ea61889SMauro Carvalho Chehab 16*8ea61889SMauro Carvalho Chehab- Grab a new CD-RW disc and format it (assuming CD-RW is hdc, substitute 17*8ea61889SMauro Carvalho Chehab as appropriate):: 18*8ea61889SMauro Carvalho Chehab 19*8ea61889SMauro Carvalho Chehab # cdrwtool -d /dev/hdc -q 20*8ea61889SMauro Carvalho Chehab 21*8ea61889SMauro Carvalho Chehab- Setup your writer:: 22*8ea61889SMauro Carvalho Chehab 23*8ea61889SMauro Carvalho Chehab # pktsetup dev_name /dev/hdc 24*8ea61889SMauro Carvalho Chehab 25*8ea61889SMauro Carvalho Chehab- Now you can mount /dev/pktcdvd/dev_name and copy files to it. Enjoy:: 26*8ea61889SMauro Carvalho Chehab 27*8ea61889SMauro Carvalho Chehab # mount /dev/pktcdvd/dev_name /cdrom -t udf -o rw,noatime 28*8ea61889SMauro Carvalho Chehab 29*8ea61889SMauro Carvalho Chehab 30*8ea61889SMauro Carvalho ChehabPacket writing for DVD-RW media 31*8ea61889SMauro Carvalho Chehab------------------------------- 32*8ea61889SMauro Carvalho Chehab 33*8ea61889SMauro Carvalho ChehabDVD-RW discs can be written to much like CD-RW discs if they are in 34*8ea61889SMauro Carvalho Chehabthe so called "restricted overwrite" mode. To put a disc in restricted 35*8ea61889SMauro Carvalho Chehaboverwrite mode, run:: 36*8ea61889SMauro Carvalho Chehab 37*8ea61889SMauro Carvalho Chehab # dvd+rw-format /dev/hdc 38*8ea61889SMauro Carvalho Chehab 39*8ea61889SMauro Carvalho ChehabYou can then use the disc the same way you would use a CD-RW disc:: 40*8ea61889SMauro Carvalho Chehab 41*8ea61889SMauro Carvalho Chehab # pktsetup dev_name /dev/hdc 42*8ea61889SMauro Carvalho Chehab # mount /dev/pktcdvd/dev_name /cdrom -t udf -o rw,noatime 43*8ea61889SMauro Carvalho Chehab 44*8ea61889SMauro Carvalho Chehab 45*8ea61889SMauro Carvalho ChehabPacket writing for DVD+RW media 46*8ea61889SMauro Carvalho Chehab------------------------------- 47*8ea61889SMauro Carvalho Chehab 48*8ea61889SMauro Carvalho ChehabAccording to the DVD+RW specification, a drive supporting DVD+RW discs 49*8ea61889SMauro Carvalho Chehabshall implement "true random writes with 2KB granularity", which means 50*8ea61889SMauro Carvalho Chehabthat it should be possible to put any filesystem with a block size >= 51*8ea61889SMauro Carvalho Chehab2KB on such a disc. For example, it should be possible to do:: 52*8ea61889SMauro Carvalho Chehab 53*8ea61889SMauro Carvalho Chehab # dvd+rw-format /dev/hdc (only needed if the disc has never 54*8ea61889SMauro Carvalho Chehab been formatted) 55*8ea61889SMauro Carvalho Chehab # mkudffs /dev/hdc 56*8ea61889SMauro Carvalho Chehab # mount /dev/hdc /cdrom -t udf -o rw,noatime 57*8ea61889SMauro Carvalho Chehab 58*8ea61889SMauro Carvalho ChehabHowever, some drives don't follow the specification and expect the 59*8ea61889SMauro Carvalho Chehabhost to perform aligned writes at 32KB boundaries. Other drives do 60*8ea61889SMauro Carvalho Chehabfollow the specification, but suffer bad performance problems if the 61*8ea61889SMauro Carvalho Chehabwrites are not 32KB aligned. 62*8ea61889SMauro Carvalho Chehab 63*8ea61889SMauro Carvalho ChehabBoth problems can be solved by using the pktcdvd driver, which always 64*8ea61889SMauro Carvalho Chehabgenerates aligned writes:: 65*8ea61889SMauro Carvalho Chehab 66*8ea61889SMauro Carvalho Chehab # dvd+rw-format /dev/hdc 67*8ea61889SMauro Carvalho Chehab # pktsetup dev_name /dev/hdc 68*8ea61889SMauro Carvalho Chehab # mkudffs /dev/pktcdvd/dev_name 69*8ea61889SMauro Carvalho Chehab # mount /dev/pktcdvd/dev_name /cdrom -t udf -o rw,noatime 70*8ea61889SMauro Carvalho Chehab 71*8ea61889SMauro Carvalho Chehab 72*8ea61889SMauro Carvalho ChehabPacket writing for DVD-RAM media 73*8ea61889SMauro Carvalho Chehab-------------------------------- 74*8ea61889SMauro Carvalho Chehab 75*8ea61889SMauro Carvalho ChehabDVD-RAM discs are random writable, so using the pktcdvd driver is not 76*8ea61889SMauro Carvalho Chehabnecessary. However, using the pktcdvd driver can improve performance 77*8ea61889SMauro Carvalho Chehabin the same way it does for DVD+RW media. 78*8ea61889SMauro Carvalho Chehab 79*8ea61889SMauro Carvalho Chehab 80*8ea61889SMauro Carvalho ChehabNotes 81*8ea61889SMauro Carvalho Chehab----- 82*8ea61889SMauro Carvalho Chehab 83*8ea61889SMauro Carvalho Chehab- CD-RW media can usually not be overwritten more than about 1000 84*8ea61889SMauro Carvalho Chehab times, so to avoid unnecessary wear on the media, you should always 85*8ea61889SMauro Carvalho Chehab use the noatime mount option. 86*8ea61889SMauro Carvalho Chehab 87*8ea61889SMauro Carvalho Chehab- Defect management (ie automatic remapping of bad sectors) has not 88*8ea61889SMauro Carvalho Chehab been implemented yet, so you are likely to get at least some 89*8ea61889SMauro Carvalho Chehab filesystem corruption if the disc wears out. 90*8ea61889SMauro Carvalho Chehab 91*8ea61889SMauro Carvalho Chehab- Since the pktcdvd driver makes the disc appear as a regular block 92*8ea61889SMauro Carvalho Chehab device with a 2KB block size, you can put any filesystem you like on 93*8ea61889SMauro Carvalho Chehab the disc. For example, run:: 94*8ea61889SMauro Carvalho Chehab 95*8ea61889SMauro Carvalho Chehab # /sbin/mke2fs /dev/pktcdvd/dev_name 96*8ea61889SMauro Carvalho Chehab 97*8ea61889SMauro Carvalho Chehab to create an ext2 filesystem on the disc. 98*8ea61889SMauro Carvalho Chehab 99*8ea61889SMauro Carvalho Chehab 100*8ea61889SMauro Carvalho ChehabUsing the pktcdvd sysfs interface 101*8ea61889SMauro Carvalho Chehab--------------------------------- 102*8ea61889SMauro Carvalho Chehab 103*8ea61889SMauro Carvalho ChehabSince Linux 2.6.20, the pktcdvd module has a sysfs interface 104*8ea61889SMauro Carvalho Chehaband can be controlled by it. For example the "pktcdvd" tool uses 105*8ea61889SMauro Carvalho Chehabthis interface. (see http://tom.ist-im-web.de/download/pktcdvd ) 106*8ea61889SMauro Carvalho Chehab 107*8ea61889SMauro Carvalho Chehab"pktcdvd" works similar to "pktsetup", e.g.:: 108*8ea61889SMauro Carvalho Chehab 109*8ea61889SMauro Carvalho Chehab # pktcdvd -a dev_name /dev/hdc 110*8ea61889SMauro Carvalho Chehab # mkudffs /dev/pktcdvd/dev_name 111*8ea61889SMauro Carvalho Chehab # mount -t udf -o rw,noatime /dev/pktcdvd/dev_name /dvdram 112*8ea61889SMauro Carvalho Chehab # cp files /dvdram 113*8ea61889SMauro Carvalho Chehab # umount /dvdram 114*8ea61889SMauro Carvalho Chehab # pktcdvd -r dev_name 115*8ea61889SMauro Carvalho Chehab 116*8ea61889SMauro Carvalho Chehab 117*8ea61889SMauro Carvalho ChehabFor a description of the sysfs interface look into the file: 118*8ea61889SMauro Carvalho Chehab 119*8ea61889SMauro Carvalho Chehab Documentation/ABI/testing/sysfs-class-pktcdvd 120*8ea61889SMauro Carvalho Chehab 121*8ea61889SMauro Carvalho Chehab 122*8ea61889SMauro Carvalho ChehabUsing the pktcdvd debugfs interface 123*8ea61889SMauro Carvalho Chehab----------------------------------- 124*8ea61889SMauro Carvalho Chehab 125*8ea61889SMauro Carvalho ChehabTo read pktcdvd device infos in human readable form, do:: 126*8ea61889SMauro Carvalho Chehab 127*8ea61889SMauro Carvalho Chehab # cat /sys/kernel/debug/pktcdvd/pktcdvd[0-7]/info 128*8ea61889SMauro Carvalho Chehab 129*8ea61889SMauro Carvalho ChehabFor a description of the debugfs interface look into the file: 130*8ea61889SMauro Carvalho Chehab 131*8ea61889SMauro Carvalho Chehab Documentation/ABI/testing/debugfs-pktcdvd 132*8ea61889SMauro Carvalho Chehab 133*8ea61889SMauro Carvalho Chehab 134*8ea61889SMauro Carvalho Chehab 135*8ea61889SMauro Carvalho ChehabLinks 136*8ea61889SMauro Carvalho Chehab----- 137*8ea61889SMauro Carvalho Chehab 138*8ea61889SMauro Carvalho ChehabSee http://fy.chalmers.se/~appro/linux/DVD+RW/ for more information 139*8ea61889SMauro Carvalho Chehababout DVD writing. 140