Differences between current version and predecessor to the previous major change of PAR2.

Other diffs: Previous Revision, Previous Author

Newer page: version 2 Last edited on Sunday, 8 June 2008 15:24:53 by CyberLeo
Older page: version 1 Last edited on Sunday, 8 June 2008 15:18:46 by CyberLeo Revert
@@ -12,6 +12,17 @@
 * Split the free space amongst the subsets, so that each gets a quantity in relation to its percentage. 
 * Compute the number of blocks each subset requires for parchive information. 
 * Compute the parchive information for each subset. 
 ** par2 create -s262144 -c<parblks> -n1 -v -v <filename>.par2 <glob> <- Note the lack of spaces in parameters. It hates the spaces. 
+*** -s262144 - Block size  
+*** -c<parblks> - Number of recovery blocks to compute  
+*** -n1 - Place all recovery blocks in one file  
+*** -v - Make it whinier.  
 * After computing all parchive info (you can remove non-parity par2 files), make the iso9660 filesystem 
 ** mkisofs -o image.iso -v -v -iso-level 4 -J -r -p 'CyberLeo' -V 'Image01' 01/ 
+*** -o image.iso - Output image filename  
+*** -v Make it whinier.  
+*** -iso-level 4 - ISO9660-1999 with extensions most useful for modern systems (won't work on MS-DOS, et. al.)  
+*** -J - Add joliet information for Windows-based systems  
+*** -r - Add Rock Ridge information for Posix-based systems, and force values to more sane settings. (All files owned by root, readable by everyone, etc...)  
+*** -p 'CyberLeo' - Set the preparer ID string in the ISO header.  
+*** -V 'Image01' - Set the filesystem label  

current version

Using PAR2 to generate parity information to use up the remaining space on a CD or DVD, to increase chances of recovering from minor discrot or scratches

A DVD has 2295104 2048-byte sectors. Expect to use around 2-4MB for the ISO/Joliet/Rock Ridge filesystem structures. More, if you have a ton of small files.

Usable data space is, roughly, 4,696,178,688 bytes.

I choose a parchive block size of 262144 bytes (256kB) to keep the block count low, and to keep the block size a multiple of a DVD or CD ECC group size (32kB) to minimize wasted space.

  • Collect the byte counts of the subsets to protect.
  • Compute the amount of free space remaining after all the subsets are accounted for.
  • Compute the percentage of each subset to the total amount used.
  • Split the free space amongst the subsets, so that each gets a quantity in relation to its percentage.
  • Compute the number of blocks each subset requires for parchive information.
  • Compute the parchive information for each subset.

    • par2 create -s262144 -c<parblks> -n1 -v -v <filename>.par2 <glob> <- Note the lack of spaces in parameters. It hates the spaces.

      • -s262144 - Block size
      • -c<parblks> - Number of recovery blocks to compute
      • -n1 - Place all recovery blocks in one file
      • -v - Make it whinier.
  • After computing all parchive info (you can remove non-parity par2 files), make the iso9660 filesystem

    • mkisofs -o image.iso -v -v -iso-level 4 -J -r -p 'CyberLeo' -V 'Image01' 01/

      • -o image.iso - Output image filename
      • -v Make it whinier.
      • -iso-level 4 - ISO9660-1999 with extensions most useful for modern systems (won't work on MS-DOS, et. al.)
      • -J - Add joliet information for Windows-based systems
      • -r - Add Rock Ridge information for Posix-based systems, and force values to more sane settings. (All files owned by root, readable by everyone, etc...)
      • -p 'CyberLeo' - Set the preparer ID string in the ISO header.
      • -V 'Image01' - Set the filesystem label