xref: /openbsd/gnu/usr.sbin/mkhybrid/src/diag/README (revision 7b36286a)
1#
2# $Id: README,v 1.1 2000/10/10 20:40:27 beck Exp $
3#
4	I am enclosing 3 test programs that I use to verify the
5integrity of an iso9660 disc.  The first one (isodump) is pretty
6simple - it dumps to the screen the contents of the various
7directories.  The second one (isovfy) goes through and looks for
8problems of one kind or another.
9
10	To use, type something like "./isodump /dev/ramdisk" or
11"./isodump /dev/scd0", depending upon where the iso9660 disc is.  It
12starts by displaying the files in the first sector of the root
13directory.  It has some pretty simple one letter commands that you
14can use to traverse the directory tree.
15
16	a - move back one sector.
17	b - move forward one sector.
18	g - go to new logical sector.
19	q - quit
20
21The a and b commands do not try and stop you from going past the
22beginning or end of a sector, and the g command does not have any way
23of knowing whether the sector you request is actually a directory or
24not.
25
26	The output is displayed in several columns.  The first column
27is the total length of the directory record for the file.  The second
28column (in [] brackets) is the volume number.  Next comes the starting
29extent number (in hex), and then comes the file size in bytes.  Then
30cones the filename (not the Rock Ridge version), and this is preceeded
31by an "*" if the file is a directory.  After this is a summary of the
32Rock Ridge fields present along with a display of the translation of
33the symbolic link name if the SL Rock Ridge record is present.
34
35	I tailored this program for debugging some of the problems
36that I was having earlier.  The idea is that you can tailor it
37to test for problems that you might be having, so it is not intended
38as a be-all and end-all dump program.
39
40	If you move to a sector that does not contain directory
41information, the results are unpredictable.
42
43	The second program, isovfy, is run in the same way as isodump,
44except that you do not have to do much except let it run.  I have it
45written to verify all kinds of different things, and as people find
46other sorts of problems other tests could be added.
47
48	The third program, dump.c, basically does a hexdump of the cd.
49This is screen oriented, and there are some simple commands:
50
51	a - move back one sector.
52	b - move forward one sector.
53	f - enter new search string.
54	+ - search forward for search string.
55	g - go to new logical sector.
56	q - quit
57
58
59	Note that with the 'g' command, sectors are always given in
60hex, and represent 2048 byte sectors (as on the cdrom).  If you know
61how to decode a raw iso9660 directory, you can pick out the starting
62extent number from the hexdump and know where to go from there.  The
63starting extent appears something like 30 bytes prior to the start of
64the iso9660 (not Rock Ridge) filename, and it appears in a 7.3.3
65format (meaning that it occupies 8 bytes, 4 in little endian format,
66and 4 in big endian format).  Thus you should see a mirror image of
67the bytes when looking at the extent number.
68
69	The isovfy program can also dump the contents of the path
70tables, but this capability is commented out right now.  Feel free
71to enable this to see what is in the tables.  Ultimately I may fix
72it so that this checks the integrity of the tables as well.
73
74	The isovfy program gives warnings about things like files that
75have a size of 0 but have an extent number assigned.  The mkisofs program
76should never do this, but the YM software does leave these around.
77I think it is probably harmless in the YM case.~
78