cachepc-linux

Fork of AMDESE/linux with modifications for CachePC side-channel attack
git clone https://git.sinitax.com/sinitax/cachepc-linux
Log | Files | Refs | README | LICENSE | sfeed.txt

packet-writing.rst (3951B)


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