| 
									
										
										
										
											2005-04-16 15:20:36 -07:00
										 |  |  | Getting started quick | 
					
						
							|  |  |  | --------------------- | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  | - Select packet support in the block device section and UDF support in | 
					
						
							|  |  |  |   the file system section. | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  | - Compile and install kernel and modules, reboot. | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  | - You need the udftools package (pktsetup, mkudffs, cdrwtool). | 
					
						
							|  |  |  |   Download from http://sourceforge.net/projects/linux-udf/ | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  | - Grab a new CD-RW disc and format it (assuming CD-RW is hdc, substitute | 
					
						
							|  |  |  |   as appropriate): | 
					
						
							|  |  |  | 	# cdrwtool -d /dev/hdc -q | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  | - Setup your writer | 
					
						
							|  |  |  | 	# pktsetup dev_name /dev/hdc | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  | - Now you can mount /dev/pktcdvd/dev_name and copy files to it. Enjoy! | 
					
						
							|  |  |  | 	# mount /dev/pktcdvd/dev_name /cdrom -t udf -o rw,noatime | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  | Packet writing for DVD-RW media | 
					
						
							|  |  |  | ------------------------------- | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  | DVD-RW discs can be written to much like CD-RW discs if they are in | 
					
						
							|  |  |  | the so called "restricted overwrite" mode. To put a disc in restricted | 
					
						
							|  |  |  | overwrite mode, run: | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  | 	# dvd+rw-format /dev/hdc | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  | You can then use the disc the same way you would use a CD-RW disc: | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  | 	# pktsetup dev_name /dev/hdc | 
					
						
							|  |  |  | 	# mount /dev/pktcdvd/dev_name /cdrom -t udf -o rw,noatime | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  | Packet writing for DVD+RW media | 
					
						
							|  |  |  | ------------------------------- | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  | According to the DVD+RW specification, a drive supporting DVD+RW discs | 
					
						
							|  |  |  | shall implement "true random writes with 2KB granularity", which means | 
					
						
							|  |  |  | that it should be possible to put any filesystem with a block size >= | 
					
						
							|  |  |  | 2KB on such a disc. For example, it should be possible to do: | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  | 	# dvd+rw-format /dev/hdc   (only needed if the disc has never | 
					
						
							|  |  |  | 	                            been formatted) | 
					
						
							|  |  |  | 	# mkudffs /dev/hdc | 
					
						
							|  |  |  | 	# mount /dev/hdc /cdrom -t udf -o rw,noatime | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  | However, some drives don't follow the specification and expect the | 
					
						
							|  |  |  | host to perform aligned writes at 32KB boundaries. Other drives do | 
					
						
							|  |  |  | follow the specification, but suffer bad performance problems if the | 
					
						
							|  |  |  | writes are not 32KB aligned. | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  | Both problems can be solved by using the pktcdvd driver, which always | 
					
						
							|  |  |  | generates aligned writes. | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  | 	# dvd+rw-format /dev/hdc | 
					
						
							|  |  |  | 	# pktsetup dev_name /dev/hdc | 
					
						
							|  |  |  | 	# mkudffs /dev/pktcdvd/dev_name | 
					
						
							|  |  |  | 	# mount /dev/pktcdvd/dev_name /cdrom -t udf -o rw,noatime | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  | Packet writing for DVD-RAM media | 
					
						
							|  |  |  | -------------------------------- | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  | DVD-RAM discs are random writable, so using the pktcdvd driver is not | 
					
						
							|  |  |  | necessary. However, using the pktcdvd driver can improve performance | 
					
						
							|  |  |  | in the same way it does for DVD+RW media. | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  | Notes | 
					
						
							|  |  |  | ----- | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  | - CD-RW media can usually not be overwritten more than about 1000 | 
					
						
							|  |  |  |   times, so to avoid unnecessary wear on the media, you should always | 
					
						
							|  |  |  |   use the noatime mount option. | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  | - Defect management (ie automatic remapping of bad sectors) has not | 
					
						
							|  |  |  |   been implemented yet, so you are likely to get at least some | 
					
						
							|  |  |  |   filesystem corruption if the disc wears out. | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  | - Since the pktcdvd driver makes the disc appear as a regular block | 
					
						
							|  |  |  |   device with a 2KB block size, you can put any filesystem you like on | 
					
						
							|  |  |  |   the disc. For example, run: | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  | 	# /sbin/mke2fs /dev/pktcdvd/dev_name | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  |   to create an ext2 filesystem on the disc. | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  | 
 | 
					
						
							| 
									
										
										
										
											2006-12-08 02:36:12 -08:00
										 |  |  | Using the pktcdvd sysfs interface | 
					
						
							|  |  |  | --------------------------------- | 
					
						
							|  |  |  | 
 | 
					
						
							| 
									
										
										
										
											2007-02-10 01:45:11 -08:00
										 |  |  | Since Linux 2.6.20, the pktcdvd module has a sysfs interface | 
					
						
							| 
									
										
										
										
											2006-12-08 02:36:12 -08:00
										 |  |  | and can be controlled by it. For example the "pktcdvd" tool uses | 
					
						
							| 
									
										
										
										
											2010-07-23 20:51:24 -07:00
										 |  |  | this interface. (see http://tom.ist-im-web.de/download/pktcdvd ) | 
					
						
							| 
									
										
										
										
											2006-12-08 02:36:12 -08:00
										 |  |  | 
 | 
					
						
							|  |  |  | "pktcdvd" works similar to "pktsetup", e.g.: | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  | 	# pktcdvd -a dev_name /dev/hdc | 
					
						
							|  |  |  | 	# mkudffs /dev/pktcdvd/dev_name | 
					
						
							|  |  |  | 	# mount -t udf -o rw,noatime /dev/pktcdvd/dev_name /dvdram | 
					
						
							|  |  |  | 	# cp files /dvdram | 
					
						
							|  |  |  | 	# umount /dvdram | 
					
						
							|  |  |  | 	# pktcdvd -r dev_name | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  | For a description of the sysfs interface look into the file: | 
					
						
							|  |  |  | 
 | 
					
						
							| 
									
										
										
										
											2011-08-15 02:02:26 +02:00
										 |  |  |   Documentation/ABI/testing/sysfs-class-pktcdvd | 
					
						
							| 
									
										
										
										
											2006-12-08 02:36:12 -08:00
										 |  |  | 
 | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  | Using the pktcdvd debugfs interface | 
					
						
							|  |  |  | ----------------------------------- | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  | To read pktcdvd device infos in human readable form, do: | 
					
						
							|  |  |  | 
 | 
					
						
							| 
									
										
										
										
											2009-06-02 15:01:37 +09:00
										 |  |  | 	# cat /sys/kernel/debug/pktcdvd/pktcdvd[0-7]/info | 
					
						
							| 
									
										
										
										
											2006-12-08 02:36:12 -08:00
										 |  |  | 
 | 
					
						
							|  |  |  | For a description of the debugfs interface look into the file: | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  |   Documentation/ABI/testing/debugfs-pktcdvd | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  | 
 | 
					
						
							| 
									
										
										
										
											2005-04-16 15:20:36 -07:00
										 |  |  | Links | 
					
						
							|  |  |  | ----- | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  | See http://fy.chalmers.se/~appro/linux/DVD+RW/ for more information | 
					
						
							|  |  |  | about DVD writing. |