• Home
Name Date Size #Lines LOC

..--

ANNOUNCE.mkdosfsD03-May-20241.2 KiB4226

ChangeLog.dosfsckD03-May-2024413 119

ChangeLog.dosfstools-2.xD03-May-20246.5 KiB162137

ChangeLog.mkdosfsD03-May-2024751 1913

README.dosfsckD03-May-20242.3 KiB6144

README.dosfstools-2.xD03-May-20242.8 KiB6149

README.mkdosfsD03-May-20242.1 KiB5137

TODO.dosfstools-2.xD03-May-2024551 1510

README.dosfsck

1dosfsck, version 1
2==================
3
4WARNING: This is ALPHA test software. Use at your own risk.
5
6dosfsck is the Linux equivalent of PC/MS-DOS' CHKDSK. It checks the
7consistency of PC/MS-DOS file systems and optionally tries to repair
8them. The tests dosfsck performs are described in the man page.
9
10dosfsck needs header files from dosfs.9 (or later) to compile.
11
12Before using dosfsck to repair a file system that contains data of any
13value, you should verify that dosfsck is able to correct all reported
14errors. (Except fatal errors and those reported as unfixable, of
15course.) In order to do this, run it with the -V option, e.g.
16
17   dosfsck -V /dev/sda1		(automatic check)
18or dosfsck -V -r /dev/sda1	(interactive check and repair)
19
20dosfsck will perform two passes: in the first pass, inconsistencies are
21detected and a list of changes to correct the problems is generated. In
22the second pass, those changes are applied whenever dosfsck reads data
23from disk. Hence no fixable errors should be reported in the second
24pass if the first pass was successful.
25
26Please notify the author if fixable errors are reported in the second
27pass.
28
29After verifying that dosfsck appears to be able to perform the desired
30operations, either confirm that you want the changes to be performed
31(if dosfsck was started with -r) or re-run dosfsck with the -a option
32(if it was started without -r).
33
34Please send bug reports, comments, flames, etc. to
35almesber@nessie.cs.id.ethz.ch  or  almesber@bernina.ethz.ch
36
37- Werner
38
39FAT32 and LFN support
40=====================
41
42I've finally implemented some of the new features of MS-DOS
43filesystems: FAT32 and long filenames.
44
45FAT32 is automatically detected and of course the different FAT
46structure is handled. (Internally many changes were needed, so 32 bit
47variables for all cluster numbers and 64 bit vars for offsets inside
48the filesystem.) New checks for FAT32 are most notably on the backup
49boot sector and the new info sector. Also the possibility that the
50root directory resides in a cluster chain (instead of in a static
51area) on FAT32 is handled.
52
53dosfscheck also knows about VFAT long filenames now. It parses those
54names and uses them in listings etc. when available. There are also
55some checks on the (cruel) structure of how LFNs are stored and some
56attempts to fix problems.
57
58- Roman <roman@hodek.net>
59
60BTW, version 2 isn't ALPHA anymore :-)
61

README.dosfstools-2.x

1 
2 Atari format support
3 ====================
4 
5 Both mkdosfs and dosfsck now can also handle the Atari variation of
6 the MS-DOS filesystem format. The Atari format has some minor
7 differences, some caused by the different machine architecture (m68k),
8 some being "historic" (Atari didn't change some things that M$
9 changed).
10 
11 Both tools automatically select Atari format if they run on an Atari.
12 Additionally the -A switch toggles between Atari and MS-DOS format.
13 I.e., on an Atari it selects plain DOS format, on any other machine it
14 switches to Atari format.
15 
16 The differences are in detail:
17 
18  - Atari TOS doesn't like cluster sizes != 2, so the usual solution
19    for bigger partitions was to increase the logical sector size. So
20    mkdosfs can handle sector sizes != 512 now, you can also manually
21    select it with the -S option. On filesystems larger than approx. 32
22    MB, the sector size is automatically increased (stead of the
23    cluster size) to make the filesystem fit. mkdosfs will always use 2
24    sectors per cluster (also with the floppy standard configurations),
25    except when directed otherwise on the command line.
26 
27  - From the docs, all values between 0xfff8 and 0xffff in the FAT mark
28    an end-of-file. However, DOS usually uses 0xfff8 and Atari 0xffff.
29    This seems to be only an consmetic difference. At least TOS doesn't
30    complain about 0xffff EOF marks. Don't know what DOS thinks of
31    0xfff8 :-) Anyway, both tools use the EOF mark common to the
32    system (DOS/Atari).
33 
34  - Something similar of the bad cluster marks: On Atari the FAT values
35    0xfff0 to 0xfff7 are used for this, under DOS only 0xfff7 (the
36    others can be normal cluster numbers, allowing 7 more clusters :-)
37    However, both systems usually mark with 0xfff7. Just dosfsck has to
38    interpret 0xfff0...0xfff7 differently.
39 
40  - Some fields in the boot sector are interpreted differently. For
41    example, Atari has a disk serial number (used to aid disk change
42    detection) where DOS stores the system name; the 'hidden' field is
43    32 bit for DOS, but 16 bit for Atari, and there's no 'total_sect'
44    field; the 12/16 bit FAT decision is different: it's not based on
45    the number of clusters, but always FAT12 on floppies and FAT16 on
46    hard disks. mkdosfs nows about these differences and constructs the
47    boot sector accordingly.
48 
49  - In dosfsck, the boot sector differences also have to known, to not
50    warn about things that are no error on Atari. In addition, most
51    Atari formatting tools fill the 'tracks' and 'heads' fields with 0
52    for hard disks, because they're meaningless on SCSI disks (Atari
53    has/had no IDE). Due to this, the check that they should be
54    non-zero is switched off.
55 
56  - Under Atari TOS, some other characters are illegal in filenames:
57    '<', '>', '|', '"', and ':' are allowed, but all non-ASCII chars
58    (codes >= 128) are forbidden.
59 
60 - Roman <Roman.Hodek@informatik.uni-erlangen.de>
61 

README.mkdosfs

1mkdosfs - Make DOS file system utilty.
2
3
4I wrote this, partially to complement the dosfsck utility written by Werner
5Almesberger (who graciously gave me some pointers when I asked for some
6advice about writing this code), and also to avoid me having to boot DOS
7just to create data partitions (I use Linux to back up DOS :-) ).
8
9The code is really derived from Remy Card's mke2fs utility - I used this as a
10framework, although all of the file system specific stuff was removed and the
11DOS stuff inserted.  I believe originally mke2fs was based on Linus' mkfs
12code, hence the acknowledgements in the source code.
13
14Neither Remy nor Linus have had any involvement with mkdosfs, so if there are
15any bugs they're almost certainly "all my own work".
16
17The code has been available for ftp since 1st September 1993, and I have yet
18to receive any bug reports from users.  I don't know of any bugs, but if you
19do find a bug or have any constructive comments, please mail me!
20
21The only bug I found with version 0.1 was an obscure fault that could lead
22to an invalid (for MS-DOS, not Linux's dos fs) number of sectors used in the
23file allocation table(s).
24
25
26Dave Hudson
27dave@humbug.demon.co.uk
28
29
30FAT32 support
31=============
32
33mkdosfs now can also create filesystems in the new FAT32 format. To do
34this, give mkdosfs a "-F 32" option. FAT32 isn't selected
35automatically (yet), even if very large clusters are needed with
36FAT16. With FAT32 you have two additional options, -R to select the
37number of reserved sectors (usually 32), and -b to select the location
38of the backup boot sector (default 6). Of course such a backup is
39created, as well as the new info sector. On FAT32, the root directory
40is always created as a cluster chain. Sorry, there's no switch to
41generate an old static root dir.
42
43One bigger bug fix besides FAT32 was to reject filesystems that need a
4416 bit FAT to fit all possible clusters, but the bigger FAT needs some
45more sectors, so the total number of clusters drop below the border
46where MS-DOS expects a 12 bit FAT. So such filesystems would be FAT16,
47but interpreted as FAT32 by DOS. The fix is to reduce filesystem size
48a bit.
49
50- Roman <roman@hodek.net>
51