Unifying dosfsck and mkdosfs documents in common doc directory.
Signed-off-by: Daniel Baumann <mail@daniel-baumann.ch>
This commit is contained in:
41
doc/ANNOUNCE.mkdosfs
Normal file
41
doc/ANNOUNCE.mkdosfs
Normal file
@@ -0,0 +1,41 @@
|
||||
Announcing the release of mkdosfs version 0.3b (Yggdrasil)
|
||||
|
||||
It seems I didn't get the bug completely fixed in 0.3a. Some
|
||||
borderline cases would still allocate too many sectors for the FAT.
|
||||
Again, nothing to worry about, just a nitpick -- this one would only
|
||||
in certain cases add one sector per FAT.
|
||||
|
||||
Announcing the release of mkdosfs version 0.3a (Yggdrasil)
|
||||
|
||||
Fixed a bug which would cause too many sectors to be reserved for the
|
||||
FAT (filesystem will still work fine, but have slightly less space
|
||||
available).
|
||||
|
||||
Announcing the release of mkdosfs version 0.3 (Yggdrasil)
|
||||
|
||||
This version correctly handles even very large filesystems, and
|
||||
properly supports the modern (3.3+) DOS bootsector format, including a
|
||||
message printed on boot attempts.
|
||||
|
||||
Peter Anvin
|
||||
Yggdrasil Computing, Inc.
|
||||
hpa@yggdrasil.com
|
||||
|
||||
--------------
|
||||
|
||||
Announcing the release of mkdosfs version 0.2
|
||||
|
||||
|
||||
I've just uploaded mkdosfs to sunsite.unc.edu. It works in a similar way
|
||||
to Remy Card's mke2fs, but creates an MS-DOS file system.
|
||||
|
||||
The filename is mkdosfs-0.2.tar.gz.
|
||||
|
||||
This second release should fix a small bug that could lead to FAT sizes that
|
||||
Linux's dosfs would accept but MS-DOS wouldn't.
|
||||
|
||||
The archive contains a manual page, binary and source versions.
|
||||
|
||||
|
||||
Dave Hudson
|
||||
dave@humbug.demon.co.uk
|
||||
10
doc/ChangeLog.dosfsck
Normal file
10
doc/ChangeLog.dosfsck
Normal file
@@ -0,0 +1,10 @@
|
||||
Changes from version 0 to 1
|
||||
===========================
|
||||
|
||||
- fixed an off-by-two error in check.c:check_file
|
||||
- fixed marking clusters bad in fat.c:set_fat
|
||||
- fat.c:reclaim_free was also reclaiming bad clusters.
|
||||
- fixed many incorrect byte sex conversions in check.c and fat.c
|
||||
- -t and -w now require -a or -r
|
||||
- added option -d to drop files.
|
||||
- added option -u to try to "undelete" non-directory files.
|
||||
161
doc/ChangeLog.dosfstools-2.x
Normal file
161
doc/ChangeLog.dosfstools-2.x
Normal file
@@ -0,0 +1,161 @@
|
||||
version 2.11
|
||||
============
|
||||
|
||||
- all: don't use own llseek() anymore, glibc lseek() does everything we need
|
||||
- dosfsck: lfn.c: avoid segfault
|
||||
- dosfsck: check.c, lfn.c: check for orphaned LFN slots
|
||||
- dosfsck: check.c alloc_rootdir_entry(): set owner of newly alloced clusters
|
||||
- dosfsck: dosfsck.h: better use <byteswap.h> for byte swapping
|
||||
- dosfsck: io.c: added code for real DOS
|
||||
- mkdosfs: raised FAT12_THRESHOLD from 4078 to 4085, introduced MIN_CLUST_32
|
||||
- mkdosfs: fix loop device size
|
||||
- mkdosfs: by default, use FAT32 on devices >= 512MB
|
||||
- mkdosfs: fix a memory leak (blank_sector)
|
||||
- mkdosfs: fix parsing of number of blocks on command line, so that numbers
|
||||
>2G can be used
|
||||
- mkdosfs: add 'b' to getopt() string so this option can be used :)
|
||||
- mkdosfs: fix parsing of -i arg (should be unsigned)
|
||||
- mkdosfs: change default permissions of created images (-C) to 0666 & ~umask
|
||||
- mkdosfs: relax geometry check: if HDIO_GETGEO fails, print a warning and
|
||||
default to H=255,S=63
|
||||
- dosfsck: new option -n (no-op): just check non-interactively, but
|
||||
don't write anything to filesystem
|
||||
- A few #include changes to support compilation with linux 2.6
|
||||
headers (thanks to Jim Gifford <jim@jg555.com>)
|
||||
- dosfsck: remove directory entries pointing to start cluster 0, if they're
|
||||
not "." or ".." entries that should actually point to the root dir
|
||||
(pointed out by Thomas Winkler <twinkler@sysgo.de>)
|
||||
- mkdosfs: new option -h to set number of hidden sectors
|
||||
(thanks to Godwin Stewart <gstewart@spamcop.net>)
|
||||
- all: updated my mail address everywhere...
|
||||
|
||||
version 2.10
|
||||
============
|
||||
|
||||
- dosfsck: various 64-bit fixes and removed some warnings by Michal
|
||||
Cihar <mcihar@suse.cz>
|
||||
- mkdosfs: better error message if called without parameters (also
|
||||
suggested by Michal)
|
||||
|
||||
version 2.9
|
||||
===========
|
||||
|
||||
- dosfsck: if EOF from stdin, exit with error code
|
||||
- dosfsck: Fix potential for "Internal error: next_cluster on bad cluster".
|
||||
- dosfsck: When clearing long file names, don't overwrite the dir
|
||||
entries with all zeros, but put 0xe5 into the first byte.
|
||||
Otherwise, some OSes stop reading the directory at that point...
|
||||
- dosfsck: in statistics printed by -v, fix 32bit overflow in number
|
||||
of data bytes.
|
||||
- dosfsck: fix an potential overflow in "too many clusters" check
|
||||
- dosfsck: fix 64bit problem in fat.c (Debian bug #152769)
|
||||
- dosfsck: allow FAT size > 32MB.
|
||||
- dosfsck: allow for only one FAT
|
||||
- dosfsck: with -v, also check that last sector of the filesystem can
|
||||
be read (in case a partition is smaller than the fs thinks)
|
||||
- mkdosfs: add note in manpage that creating bootable filesystems is
|
||||
not supported.
|
||||
- mkdosfs: better error message with pointer to -I if target is a
|
||||
full-disk device.
|
||||
|
||||
version 2.8
|
||||
===========
|
||||
|
||||
- dosfsck: Fixed endless loop whenever a volume label was present.
|
||||
|
||||
version 2.7
|
||||
===========
|
||||
|
||||
- dosfsck: Don't check volume label for bad characters, everything
|
||||
seems to be allowed there... Also ignore duplicate names where one of
|
||||
them is a volume label.
|
||||
|
||||
version 2.6
|
||||
===========
|
||||
|
||||
- mkdosfs: Added correct heads definition for 2.88M floppies if not
|
||||
created via loopback.
|
||||
- dosfsck: If boot sector and its backup are different (FAT32), offer
|
||||
to write the backup to sector 0. (tnx to Pavel Roskin for this)
|
||||
- For 64 bit alpha, struct bootsector in dosfsck.h must be defined
|
||||
with __attribute__((packed)).
|
||||
- mkdosfs now actually accepts -R option. (tnx to David Kerrawn)
|
||||
- Fixed typo in dosfsck boot.c (recognition of boot signature in FSINFO)
|
||||
- Various compilation fixes for 2.4 kernel headers and for ia64.
|
||||
|
||||
version 2.5
|
||||
===========
|
||||
|
||||
- The llseek() implementation for alpha didn't really work; fixed it.
|
||||
|
||||
version 2.4
|
||||
===========
|
||||
|
||||
- Fix compiling problem on alpha (made a silly typo...)
|
||||
|
||||
version 2.3
|
||||
===========
|
||||
|
||||
- mkdosfs: Fixed usage message (printed only "bad address").
|
||||
- both: made man pages and usage statements more consistent.
|
||||
- both: fix llseek function for alpha.
|
||||
- dosfsck: fix reading of unaligned fields in boot sector for alpha.
|
||||
- dosfsck: fixed renaming of files (extension wasn't really written).
|
||||
|
||||
version 2.2
|
||||
===========
|
||||
|
||||
- Added dosfsck/COPYING, putting dosfsck officially under GPL (Werner
|
||||
and I agree that it should be GPL).
|
||||
- mkdosfs: Allow creation of a 16 bit FAT on filesystems that are too
|
||||
small for it if the user explicitly selected FAT16 (but a warning
|
||||
is printed). Formerly, you got the misleading error message "make
|
||||
the fs a bit smaller".
|
||||
- dosfsck: new option -y as synonym for -y; for compability with
|
||||
other fs checkers, which also accept this option.
|
||||
- dosfsck: Now prints messages similar to e2fsck: at start version
|
||||
and feature list; at end number of files (and directories) and
|
||||
number of used/total clusters. This makes the printouts of *fsck at
|
||||
boot time nicer.
|
||||
- dosfsck: -a (auto repair) now turns on -f (salvage files), too. -a
|
||||
should act as non-destructive as possible, so lost clusters should
|
||||
be assigned to files. Otherwise the data in them might be
|
||||
overwritten later.
|
||||
- dosfsck: Don't drop a directory with lots of bad entries in
|
||||
auto-repair mode for the same reason as above.
|
||||
- dosfsck: avoid deleting the whole FAT32 root dir if something is
|
||||
wrong with it (bad start cluster or the like).
|
||||
- general: also create symlinks {mkfs,fsck}.vfat.8 to the respective
|
||||
real man pages.
|
||||
|
||||
version 2.1
|
||||
===========
|
||||
|
||||
- Fix some forgotten loff_t's for filesystems > 4GB. (Thanks to
|
||||
<ki@kretz.co.at>).
|
||||
- Fix typo in mkdosfs manpage.
|
||||
- Removed inclusion of <linux/loop.h> from mkdosfs.c; it's unnecessary and
|
||||
caused problems in some environments.
|
||||
- Fix condition when to expect . and .. entries in a directory. (Was
|
||||
wrong for non-FAT32 if first entry in root dir was a directory also.)
|
||||
- Also create mkfs.vfat and fsck.vfat symlinks, so that also
|
||||
filesystems listed with type "vfat" in /etc/fstab can be
|
||||
automatically checked.
|
||||
|
||||
version 2.0
|
||||
===========
|
||||
|
||||
- merge of mkdosfs and dosfstools in one package
|
||||
- new maintainer: Roman Hodek <Roman.Hodek@informatik.uni-erlangen.de>
|
||||
- FAT32 support in both mkdosfs and dosfsck
|
||||
- VFAT (long filename) support in dosfsck
|
||||
- Support for Atari variant of MS-DOS filesystem in both tools
|
||||
- Working support for big-endian systems in both tools
|
||||
- Better support for loop devices in mkdosfs: usual floppy sizes are
|
||||
detected and media byte etc. set accordingly; if loop fs has no
|
||||
standard floppy size, use hd params
|
||||
(mainly by Giuliano Procida <gpp10@cus.cam.ac.uk>)
|
||||
- Removed lots of gcc warnings
|
||||
- Fixed some minor calculation bugs in mkdosfs.
|
||||
|
||||
For change logs previous to 2.0, see the CHANGES files in the subdirectories.
|
||||
18
doc/ChangeLog.mkdosfs
Normal file
18
doc/ChangeLog.mkdosfs
Normal file
@@ -0,0 +1,18 @@
|
||||
28th January 1995 H. Peter Anvin (hpa@yggdrasil.com)
|
||||
|
||||
Better algorithm to select cluster sizes on large filesystems.
|
||||
Added bogus boot sector code that on attempts to boot prints a
|
||||
message (which can be chosen at mkdosfs time) and lets the user
|
||||
press any key and try again. Corrected support for 1.2 Mb
|
||||
floppies. mkdosfs now generates the extended bootsector
|
||||
(superblock) format of DOS 3.3+, with support for volume ID's and
|
||||
volume labels (volume labels are also written to the root
|
||||
directory, as they should).
|
||||
|
||||
18th February 1994 Dave Hudson (dave@humbug.demon.co.uk)
|
||||
|
||||
Released version 0.2 - clears a bug in the FAT sizing code.
|
||||
|
||||
1st September 1993 Dave Hudson (dave@humbug.demon.co.uk)
|
||||
|
||||
Released version 0.1 - ALPHA release of mkdosfs
|
||||
60
doc/README.dosfsck
Normal file
60
doc/README.dosfsck
Normal file
@@ -0,0 +1,60 @@
|
||||
dosfsck, version 1
|
||||
==================
|
||||
|
||||
WARNING: This is ALPHA test software. Use at your own risk.
|
||||
|
||||
dosfsck is the Linux equivalent of PC/MS-DOS' CHKDSK. It checks the
|
||||
consistency of PC/MS-DOS file systems and optionally tries to repair
|
||||
them. The tests dosfsck performs are described in the man page.
|
||||
|
||||
dosfsck needs header files from dosfs.9 (or later) to compile.
|
||||
|
||||
Before using dosfsck to repair a file system that contains data of any
|
||||
value, you should verify that dosfsck is able to correct all reported
|
||||
errors. (Except fatal errors and those reported as unfixable, of
|
||||
course.) In order to do this, run it with the -V option, e.g.
|
||||
|
||||
dosfsck -V /dev/sda1 (automatic check)
|
||||
or dosfsck -V -r /dev/sda1 (interactive check and repair)
|
||||
|
||||
dosfsck will perform two passes: in the first pass, inconsistencies are
|
||||
detected and a list of changes to correct the problems is generated. In
|
||||
the second pass, those changes are applied whenever dosfsck reads data
|
||||
from disk. Hence no fixable errors should be reported in the second
|
||||
pass if the first pass was successful.
|
||||
|
||||
Please notify the author if fixable errors are reported in the second
|
||||
pass.
|
||||
|
||||
After verifying that dosfsck appears to be able to perform the desired
|
||||
operations, either confirm that you want the changes to be performed
|
||||
(if dosfsck was started with -r) or re-run dosfsck with the -a option
|
||||
(if it was started without -r).
|
||||
|
||||
Please send bug reports, comments, flames, etc. to
|
||||
almesber@nessie.cs.id.ethz.ch or almesber@bernina.ethz.ch
|
||||
|
||||
- Werner
|
||||
|
||||
FAT32 and LFN support
|
||||
=====================
|
||||
|
||||
I've finally implemented some of the new features of MS-DOS
|
||||
filesystems: FAT32 and long filenames.
|
||||
|
||||
FAT32 is automatically detected and of course the different FAT
|
||||
structure is handled. (Internally many changes were needed, so 32 bit
|
||||
variables for all cluster numbers and 64 bit vars for offsets inside
|
||||
the filesystem.) New checks for FAT32 are most notably on the backup
|
||||
boot sector and the new info sector. Also the possibility that the
|
||||
root directory resides in a cluster chain (instead of in a static
|
||||
area) on FAT32 is handled.
|
||||
|
||||
dosfscheck also knows about VFAT long filenames now. It parses those
|
||||
names and uses them in listings etc. when available. There are also
|
||||
some checks on the (cruel) structure of how LFNs are stored and some
|
||||
attempts to fix problems.
|
||||
|
||||
- Roman <roman@hodek.net>
|
||||
|
||||
BTW, version 2 isn't ALPHA anymore :-)
|
||||
60
doc/README.dosfstools-2.x
Normal file
60
doc/README.dosfstools-2.x
Normal file
@@ -0,0 +1,60 @@
|
||||
|
||||
Atari format support
|
||||
====================
|
||||
|
||||
Both mkdosfs and dosfsck now can also handle the Atari variation of
|
||||
the MS-DOS filesystem format. The Atari format has some minor
|
||||
differences, some caused by the different machine architecture (m68k),
|
||||
some being "historic" (Atari didn't change some things that M$
|
||||
changed).
|
||||
|
||||
Both tools automatically select Atari format if they run on an Atari.
|
||||
Additionally the -A switch toggles between Atari and MS-DOS format.
|
||||
I.e., on an Atari it selects plain DOS format, on any other machine it
|
||||
switches to Atari format.
|
||||
|
||||
The differences are in detail:
|
||||
|
||||
- Atari TOS doesn't like cluster sizes != 2, so the usual solution
|
||||
for bigger partitions was to increase the logical sector size. So
|
||||
mkdosfs can handle sector sizes != 512 now, you can also manually
|
||||
select it with the -S option. On filesystems larger than approx. 32
|
||||
MB, the sector size is automatically increased (stead of the
|
||||
cluster size) to make the filesystem fit. mkdosfs will always use 2
|
||||
sectors per cluster (also with the floppy standard configurations),
|
||||
except when directed otherwise on the command line.
|
||||
|
||||
- From the docs, all values between 0xfff8 and 0xffff in the FAT mark
|
||||
an end-of-file. However, DOS usually uses 0xfff8 and Atari 0xffff.
|
||||
This seems to be only an consmetic difference. At least TOS doesn't
|
||||
complain about 0xffff EOF marks. Don't know what DOS thinks of
|
||||
0xfff8 :-) Anyway, both tools use the EOF mark common to the
|
||||
system (DOS/Atari).
|
||||
|
||||
- Something similar of the bad cluster marks: On Atari the FAT values
|
||||
0xfff0 to 0xfff7 are used for this, under DOS only 0xfff7 (the
|
||||
others can be normal cluster numbers, allowing 7 more clusters :-)
|
||||
However, both systems usually mark with 0xfff7. Just dosfsck has to
|
||||
interpret 0xfff0...0xfff7 differently.
|
||||
|
||||
- Some fields in the boot sector are interpreted differently. For
|
||||
example, Atari has a disk serial number (used to aid disk change
|
||||
detection) where DOS stores the system name; the 'hidden' field is
|
||||
32 bit for DOS, but 16 bit for Atari, and there's no 'total_sect'
|
||||
field; the 12/16 bit FAT decision is different: it's not based on
|
||||
the number of clusters, but always FAT12 on floppies and FAT16 on
|
||||
hard disks. mkdosfs nows about these differences and constructs the
|
||||
boot sector accordingly.
|
||||
|
||||
- In dosfsck, the boot sector differences also have to known, to not
|
||||
warn about things that are no error on Atari. In addition, most
|
||||
Atari formatting tools fill the 'tracks' and 'heads' fields with 0
|
||||
for hard disks, because they're meaningless on SCSI disks (Atari
|
||||
has/had no IDE). Due to this, the check that they should be
|
||||
non-zero is switched off.
|
||||
|
||||
- Under Atari TOS, some other characters are illegal in filenames:
|
||||
'<', '>', '|', '"', and ':' are allowed, but all non-ASCII chars
|
||||
(codes >= 128) are forbidden.
|
||||
|
||||
- Roman <Roman.Hodek@informatik.uni-erlangen.de>
|
||||
50
doc/README.mkdosfs
Normal file
50
doc/README.mkdosfs
Normal file
@@ -0,0 +1,50 @@
|
||||
mkdosfs - Make DOS file system utilty.
|
||||
|
||||
|
||||
I wrote this, partially to complement the dosfsck utility written by Werner
|
||||
Almesberger (who graciously gave me some pointers when I asked for some
|
||||
advice about writing this code), and also to avoid me having to boot DOS
|
||||
just to create data partitions (I use Linux to back up DOS :-) ).
|
||||
|
||||
The code is really derived from Remy Card's mke2fs utility - I used this as a
|
||||
framework, although all of the file system specific stuff was removed and the
|
||||
DOS stuff inserted. I believe originally mke2fs was based on Linus' mkfs
|
||||
code, hence the acknowledgements in the source code.
|
||||
|
||||
Neither Remy nor Linus have had any involvement with mkdosfs, so if there are
|
||||
any bugs they're almost certainly "all my own work".
|
||||
|
||||
The code has been available for ftp since 1st September 1993, and I have yet
|
||||
to receive any bug reports from users. I don't know of any bugs, but if you
|
||||
do find a bug or have any constructive comments, please mail me!
|
||||
|
||||
The only bug I found with version 0.1 was an obscure fault that could lead
|
||||
to an invalid (for MS-DOS, not Linux's dos fs) number of sectors used in the
|
||||
file allocation table(s).
|
||||
|
||||
|
||||
Dave Hudson
|
||||
dave@humbug.demon.co.uk
|
||||
|
||||
|
||||
FAT32 support
|
||||
=============
|
||||
|
||||
mkdosfs now can also create filesystems in the new FAT32 format. To do
|
||||
this, give mkdosfs a "-F 32" option. FAT32 isn't selected
|
||||
automatically (yet), even if very large clusters are needed with
|
||||
FAT16. With FAT32 you have two additional options, -R to select the
|
||||
number of reserved sectors (usually 32), and -b to select the location
|
||||
of the backup boot sector (default 6). Of course such a backup is
|
||||
created, as well as the new info sector. On FAT32, the root directory
|
||||
is always created as a cluster chain. Sorry, there's no switch to
|
||||
generate an old static root dir.
|
||||
|
||||
One bigger bug fix besides FAT32 was to reject filesystems that need a
|
||||
16 bit FAT to fit all possible clusters, but the bigger FAT needs some
|
||||
more sectors, so the total number of clusters drop below the border
|
||||
where MS-DOS expects a 12 bit FAT. So such filesystems would be FAT16,
|
||||
but interpreted as FAT32 by DOS. The fix is to reduce filesystem size
|
||||
a bit.
|
||||
|
||||
- Roman <roman@hodek.net>
|
||||
15
doc/TODO.dosfstools-2.x
Normal file
15
doc/TODO.dosfstools-2.x
Normal file
@@ -0,0 +1,15 @@
|
||||
-*- mode: indented-text -*-
|
||||
|
||||
- dosfsck: Better checking of file times: ctime <= mtime <= atime
|
||||
|
||||
- mkdosfs: If /etc/bootsect.dos (or similar) exists, use it as a
|
||||
template for generating boot sectors. This way, you can, e.g., make
|
||||
bootable DOS disks.
|
||||
|
||||
Addendum: Don't know if that's so wise... There are really many
|
||||
variants of DOS/Windows bootcode out in the wild, and the code is
|
||||
proprietary, too.
|
||||
|
||||
- dosfsck: read-only sector test (-t without -a or -r); just print
|
||||
out errors.
|
||||
|
||||
Reference in New Issue
Block a user