About Kernel Documentation Linux Kernel Contact Linux Resources Linux Blog

Documentation / cdrom / packet-writing.txt


Based on kernel version 4.16.1. Page generated on 2018-04-09 11:52 EST.

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


About Kernel Documentation Linux Kernel Contact Linux Resources Linux Blog