Initialize for dosfstools
This commit is contained in:
commit
b1d5b82835
8 changed files with 1371 additions and 0 deletions
1
.dosfstools.metadata
Normal file
1
.dosfstools.metadata
Normal file
|
@ -0,0 +1 @@
|
||||||
|
3e8602960b8ec95de62f0e48c57464815d29af2a5d9d7bb7444eb9e544c6aa10 dosfstools-4.1.tar.gz
|
1
.gitignore
vendored
Normal file
1
.gitignore
vendored
Normal file
|
@ -0,0 +1 @@
|
||||||
|
dosfstools-4.1.tar.gz
|
BIN
dosfstools-4.1.tar.gz.sig
Normal file
BIN
dosfstools-4.1.tar.gz.sig
Normal file
Binary file not shown.
101
dosfstools-add-g.patch
Normal file
101
dosfstools-add-g.patch
Normal file
|
@ -0,0 +1,101 @@
|
||||||
|
From e579a7df89bb3a6df08847d45c70c8ebfabca7d2 Mon Sep 17 00:00:00 2001
|
||||||
|
From: =?UTF-8?q?Pali=20Roh=C3=A1r?= <pali.rohar@gmail.com>
|
||||||
|
Date: Sat, 17 Nov 2018 01:12:52 +0100
|
||||||
|
Subject: [PATCH] mkfs.fat: Allow to specify disk geometry via new -g option
|
||||||
|
|
||||||
|
Backported.
|
||||||
|
|
||||||
|
---
|
||||||
|
manpages/mkfs.fat.8.in | 8 ++++++++
|
||||||
|
src/mkfs.fat.c | 25 ++++++++++++++++++++++---
|
||||||
|
2 files changed, 30 insertions(+), 3 deletions(-)
|
||||||
|
|
||||||
|
Index: dosfstools-4.1/manpages/mkfs.fat.8.in
|
||||||
|
===================================================================
|
||||||
|
--- dosfstools-4.1.orig/manpages/mkfs.fat.8.in
|
||||||
|
+++ dosfstools-4.1/manpages/mkfs.fat.8.in
|
||||||
|
@@ -89,6 +89,14 @@ The default is 2.
|
||||||
|
Specifies the type of file allocation tables used (12, 16 or 32 bit).
|
||||||
|
If nothing is specified, \fBmkfs.fat\fR will automatically select between 12, 16
|
||||||
|
and 32 bit, whatever fits better for the filesystem size.
|
||||||
|
+.IP "\fB\-g\fR \fIHEADS\fR/\fISECTORS-PER-TRACK\fR" 4
|
||||||
|
+Specify \fIHEADS\fR and \fISECTORS-PER-TRACK\fR numbers which represents
|
||||||
|
+disk geometry of \fIDEVICE\fR. Both numbers are stored into the FAT boot sector.
|
||||||
|
+Number \fISECTORS-PER-TRACK\fR is used also for aligning the total count of FAT
|
||||||
|
+sectors. By default disk geometry is read from \fIDEVICE\fR itself. If it is not
|
||||||
|
+available then \fILBA-Assist Translation\fR and translation table from the
|
||||||
|
+\fISD Card Part 2 File System Specification\fR based on total number of disk
|
||||||
|
+sectors is used.
|
||||||
|
.IP "\fB\-h\fR \fINUMBER-OF-HIDDEN-SECTORS\fR" 4
|
||||||
|
Select the number of hidden sectors in the volume.
|
||||||
|
Apparently some digital cameras get indigestion if you feed them a CF card
|
||||||
|
Index: dosfstools-4.1/src/mkfs.fat.c
|
||||||
|
===================================================================
|
||||||
|
--- dosfstools-4.1.orig/src/mkfs.fat.c
|
||||||
|
+++ dosfstools-4.1/src/mkfs.fat.c
|
||||||
|
@@ -620,8 +620,10 @@ static void establish_params(struct devi
|
||||||
|
if (!root_dir_entries)
|
||||||
|
root_dir_entries = def_root_dir_entries;
|
||||||
|
|
||||||
|
- bs.secs_track = htole16(sec_per_track);
|
||||||
|
- bs.heads = htole16(heads);
|
||||||
|
+ if (!bs.secs_track)
|
||||||
|
+ bs.secs_track = htole16(sec_per_track);
|
||||||
|
+ if (!bs.heads)
|
||||||
|
+ bs.heads = htole16(heads);
|
||||||
|
bs.media = media;
|
||||||
|
bs.cluster_size = cluster_size;
|
||||||
|
}
|
||||||
|
@@ -1268,9 +1270,9 @@ static void usage(int exitval)
|
||||||
|
Usage: mkfs.fat [-a][-A][-c][-C][-v][-I][-l bad-block-file][-b backup-boot-sector]\n\
|
||||||
|
[-m boot-msg-file][-n volume-name][-i volume-id]\n\
|
||||||
|
[-s sectors-per-cluster][-S logical-sector-size][-f number-of-FATs]\n\
|
||||||
|
- [-h hidden-sectors][-F fat-size][-r root-dir-entries][-R reserved-sectors]\n\
|
||||||
|
- [-M FAT-media-byte][-D drive_number]\n\
|
||||||
|
- [--invariant]\n\
|
||||||
|
+ [-h hidden-sectors][-F fat-size][-g heads/sector_per_track]\n\
|
||||||
|
+ [-r root-dir-entries][-R reserved-sectors][-M FAT-media-byte]\n\
|
||||||
|
+ [-D drive_number][--invariant]\n\
|
||||||
|
[--help]\n\
|
||||||
|
/dev/name [blocks]\n");
|
||||||
|
exit(exitval);
|
||||||
|
@@ -1319,6 +1321,7 @@ int main(int argc, char **argv)
|
||||||
|
uint64_t cblocks = 0;
|
||||||
|
int blocks_specified = 0;
|
||||||
|
struct timeval create_timeval;
|
||||||
|
+ long long conversion;
|
||||||
|
|
||||||
|
enum {OPT_HELP=1000, OPT_INVARIANT,};
|
||||||
|
const struct option long_options[] = {
|
||||||
|
@@ -1341,7 +1344,7 @@ int main(int argc, char **argv)
|
||||||
|
|
||||||
|
printf("mkfs.fat " VERSION " (" VERSION_DATE ")\n");
|
||||||
|
|
||||||
|
- while ((c = getopt_long(argc, argv, "aAb:cCf:D:F:Ii:l:m:M:n:r:R:s:S:h:v",
|
||||||
|
+ while ((c = getopt_long(argc, argv, "aAb:cCf:D:F:g:Ii:l:m:M:n:r:R:s:S:h:v",
|
||||||
|
long_options, NULL)) != -1)
|
||||||
|
/* Scan the command line for options */
|
||||||
|
switch (c) {
|
||||||
|
@@ -1396,6 +1399,22 @@ int main(int argc, char **argv)
|
||||||
|
size_fat_by_user = 1;
|
||||||
|
break;
|
||||||
|
|
||||||
|
+ case 'g': /* g : geometry: heads and sectors per track */
|
||||||
|
+ errno = 0;
|
||||||
|
+ conversion = strtol(optarg, &tmp, 0);
|
||||||
|
+ if (!*optarg || isspace(*optarg) || tmp[0] != '/' || !tmp[1] || isspace(tmp[1]) || errno || conversion <= 0 || conversion > UINT16_MAX) {
|
||||||
|
+ printf("Bad format of geometry : %s\n", optarg);
|
||||||
|
+ usage(1);
|
||||||
|
+ }
|
||||||
|
+ bs.heads = htole16(conversion);
|
||||||
|
+ conversion = strtol(tmp+1, &tmp, 0);
|
||||||
|
+ if (*tmp || errno || conversion <= 0 || conversion > UINT16_MAX) {
|
||||||
|
+ printf("Bad format of geometry : %s\n", optarg);
|
||||||
|
+ usage(1);
|
||||||
|
+ }
|
||||||
|
+ bs.secs_track = htole16(conversion);
|
||||||
|
+ break;
|
||||||
|
+
|
||||||
|
case 'h': /* h : number of hidden sectors */
|
||||||
|
hidden_sectors = (int)strtol(optarg, &tmp, 0);
|
||||||
|
if (*tmp || hidden_sectors < 0) {
|
330
dosfstools.changes
Normal file
330
dosfstools.changes
Normal file
|
@ -0,0 +1,330 @@
|
||||||
|
* Tue Dec 21 2021 sbrabec@suse.com
|
||||||
|
- To be able to create filesystems compatible with previous
|
||||||
|
version, add -g command line option to mkfs (boo#1188401,
|
||||||
|
dosfstools-add-g.patch).
|
||||||
|
- BREAKING CHANGES:
|
||||||
|
After fixing of bsc#1172863 in the last update, mkfs started to
|
||||||
|
create different images than before. Applications that depend on
|
||||||
|
exact FAT file format (e. g. embedded systems) may be broken in
|
||||||
|
two ways:
|
||||||
|
* The introduction of the alignment may create smaller images
|
||||||
|
than before, with a different positions of important image
|
||||||
|
elements. It can break existing software that expect images in
|
||||||
|
doststools <= 4.1 style.
|
||||||
|
To work around these problems, use "-a" command line argument.
|
||||||
|
* The new image may contain a different geometry values. Geometry
|
||||||
|
sensitive applications expecting doststools <= 4.1 style images
|
||||||
|
can fails to accept different geometry values.
|
||||||
|
There is no direct work around for this problem. But you can
|
||||||
|
take the old image, use "file -s $IMAGE", check its
|
||||||
|
"sectors/track" and "heads", and use them in the newly
|
||||||
|
introduced "-g" command line argument.
|
||||||
|
* Wed May 26 2021 mcepl@suse.com
|
||||||
|
- Add fix-calculation.patch (gh#dosfstools/dosfstools#153, bsc#1172863)
|
||||||
|
to work with different size of clusters.
|
||||||
|
* Thu Jan 26 2017 mpluskal@suse.com
|
||||||
|
- Update to version 4.1:
|
||||||
|
* Now the default for mkfs for filesystems smaller than 512 MB is
|
||||||
|
64 / 32 sectors
|
||||||
|
* The parsing of octal character specifications for filenames in
|
||||||
|
the -u and -d 25 options of fsck now works.
|
||||||
|
* Fixed a possible fatlabel crash when writing a label to an
|
||||||
|
unlabelled filesystem
|
||||||
|
* Testsuite is now available
|
||||||
|
* Sat May 7 2016 mpluskal@suse.com
|
||||||
|
- Update to 4.0
|
||||||
|
* Switch build system to autotools.
|
||||||
|
* Fixed data corruption errors in fsck.fat Writing to the third
|
||||||
|
to last cluster on FAT12 with an odd number of clusters would
|
||||||
|
corrupt the following cluster.
|
||||||
|
* The automatic alignment of data clusters that was added in
|
||||||
|
3.0.8 and broken for FAT32 starting with 3.0.20 has been
|
||||||
|
reinstated.
|
||||||
|
- Small spec file cleanup
|
||||||
|
- Drop no longer needed dosfstools-suse-dirs.patch
|
||||||
|
* Wed Jun 3 2015 mpluskal@suse.com
|
||||||
|
- Update to 3.0.28
|
||||||
|
* mkfs.fat now allows choosing 0xF0 as the media byte which was
|
||||||
|
previously rejected.
|
||||||
|
* mkfs.fat now supports the --invariant option to facilitate
|
||||||
|
testing mkfs.fat itself.
|
||||||
|
* Bugs fixed in fsck.fat are a read one byte beyond the end of
|
||||||
|
an allocated array when checking some FAT12 filesystems, and
|
||||||
|
checking that the first cluster of a file as specified in the
|
||||||
|
directory entry is not 1.
|
||||||
|
- Cleanup spec file with spec-cleaner
|
||||||
|
* Mon May 11 2015 pgajdos@suse.com
|
||||||
|
- fix url
|
||||||
|
* Fri Jan 16 2015 pgajdos@suse.com
|
||||||
|
- updated to 3.0.27:
|
||||||
|
* fsck.fat: Don't print version string every time -v is
|
||||||
|
encountered
|
||||||
|
* Fix attempt to rename root dir in fsck due to uninitialized
|
||||||
|
fields
|
||||||
|
* Support long file names in volume labeling code
|
||||||
|
- upstream changed
|
||||||
|
* Tue Sep 23 2014 jengelh@inai.de
|
||||||
|
- Drop gpg-offline build-time requirement; this is now handled by
|
||||||
|
the local source validator
|
||||||
|
* Thu Jun 26 2014 pgajdos@suse.com
|
||||||
|
- added fsck.{v,}fat and mkfs.{v,}fat compat symlinks in /sbin
|
||||||
|
[bnc#884516]
|
||||||
|
- call spec-cleaner
|
||||||
|
* Mon Mar 17 2014 pgajdos@suse.com
|
||||||
|
- updated to 3.0.26:
|
||||||
|
* Fix "odd" files created by frequent power-loss.
|
||||||
|
* Thu Mar 6 2014 pgajdos@suse.com
|
||||||
|
- updated to 3.0.25:
|
||||||
|
* Prevent corruption of FAT during fsck on 64 bit platforms.
|
||||||
|
unsigned long is 64 bit on x86-64, which means set_fat was writing two
|
||||||
|
entries, which corrupts the next entry. This can cause loss of data in
|
||||||
|
another file.
|
||||||
|
* Fixed remaining 64 bit build warnings.
|
||||||
|
* Mon Nov 25 2013 pgajdos@suse.com
|
||||||
|
- updated to 3.0.24:
|
||||||
|
* Fixed dosfsck on big endian platforms.
|
||||||
|
* Wed Oct 16 2013 pgajdos@suse.com
|
||||||
|
- updated to 3.0.23:
|
||||||
|
* Corrects clustersize to fix issues with EFI System Partitions.
|
||||||
|
* Mon Jul 29 2013 pgajdos@suse.com
|
||||||
|
- updated to 3.0.22:
|
||||||
|
* Improved boot compatiblity.
|
||||||
|
* Wed Jul 17 2013 pgajdos@suse.com
|
||||||
|
- updated to 3.0.21
|
||||||
|
* Minor miscellaneous cleanups.
|
||||||
|
* Thu Jun 13 2013 jengelh@inai.de
|
||||||
|
- Update to new upstream release 3.0.20
|
||||||
|
* This release updates default sectors per cluster for FAT32.
|
||||||
|
- Remove ppc-reserved-sectors-fix.patch (implemented upstream)
|
||||||
|
(use -a switch to disable aligning structures)
|
||||||
|
- Signature verification; more robust make install call
|
||||||
|
* Wed Jun 12 2013 pgajdos@suse.com
|
||||||
|
- update to 3.0.19:
|
||||||
|
* This release fixes a segfault with fortify.
|
||||||
|
- removed dosfstools-system_id-overflow.patch
|
||||||
|
* Tue Jun 11 2013 pgajdos@suse.com
|
||||||
|
- update to 3.0.18:
|
||||||
|
* Adding initial i18n support for manpages with po4a.
|
||||||
|
* Renaming tools to sane namespace and keeping legacy symlinks in place.
|
||||||
|
| dosfslabel becomes fatlabel,
|
||||||
|
| dosfsck becomes fsck.fat,
|
||||||
|
| and mkdosfs becomes mkfs.fat.
|
||||||
|
* Correcting spelling typo in boot.c.
|
||||||
|
* dosfslabel: Do not read beyond string length (Closes: #709587).
|
||||||
|
- refreshed both dosfstools-suse-dirs.patch and
|
||||||
|
ppc-reserved-sectors-fix.patch
|
||||||
|
- added dosfstools-system_id-overflow.patch
|
||||||
|
* Mon Jun 3 2013 pgajdos@suse.com
|
||||||
|
- update to 3.0.17:
|
||||||
|
* Fixing segfault in dosfslabel.
|
||||||
|
* Allow operation on SH4 CPUs.
|
||||||
|
* Finish cleanup of byteswap code.
|
||||||
|
* Fix offsetof definition.
|
||||||
|
* etc., see ChangeLog
|
||||||
|
- refreshed ppc-reserved-sectors-fix.patch
|
||||||
|
* Mon Mar 25 2013 mmeister@suse.com
|
||||||
|
- Added url as source.
|
||||||
|
Please see http://en.opensuse.org/SourceUrls
|
||||||
|
* Mon Mar 4 2013 pgajdos@suse.com
|
||||||
|
- update to 3.0.16: label fixes
|
||||||
|
* dropped upstreamed
|
||||||
|
- dosfstools-create-rootdir-label.patch
|
||||||
|
- dosfstools-dosfslabel-forbid-lowercase.patch
|
||||||
|
- dosfstools-dosfslabel-from-rootdir.patch
|
||||||
|
- dosfstools-fsck-file-name.patch
|
||||||
|
- dosfstools-mkdosfs-no-label.patch
|
||||||
|
- dosfstools-mkdosfs-uppercase-label.patch
|
||||||
|
* Mon Feb 25 2013 pgajdos@suse.com
|
||||||
|
- update to 3.0.15: bugfixes for device detection, root directory
|
||||||
|
allocation, and messages about unicode filenames.
|
||||||
|
* dropped dosfstools-filename-buffer-overflow.patch (upstreamed)
|
||||||
|
* dropped dosfstools-mdraid-partition.patch (upstreamed)
|
||||||
|
* refreshed dosfstools-suse-dirs.patch
|
||||||
|
* refreshed ppc-reserved-sectors-fix.patch
|
||||||
|
(will be dropped if not upstreamed)
|
||||||
|
* dosfstools-label.patch splitted to:
|
||||||
|
- dosfstools-create-rootdir-label.patch
|
||||||
|
- dosfstools-dosfslabel-forbid-lowercase.patch
|
||||||
|
- dosfstools-dosfslabel-from-rootdir.patch
|
||||||
|
- dosfstools-fsck-file-name.patch
|
||||||
|
- dosfstools-mkdosfs-no-label.patch
|
||||||
|
- dosfstools-mkdosfs-uppercase-label.patch
|
||||||
|
(will be upstreamed or dropped)
|
||||||
|
* Fri Oct 26 2012 dvaleev@suse.com
|
||||||
|
- hack to use just 1 sector for embedded devices. should be made
|
||||||
|
into a flag, but this shouldn't break normal systems ...
|
||||||
|
lunchpad bug (746262)
|
||||||
|
- fixes ppc boot from vfat (in case root on raid,lvm,ext4)
|
||||||
|
* Fri Sep 28 2012 cfarrell@suse.com
|
||||||
|
- license update: GPL-3.0+
|
||||||
|
No indication that the authors restricted the package to GPL-3.0 (i.e.
|
||||||
|
"only"). Accordingly, GPL-3.0+ seems a better choice and is also the
|
||||||
|
choice made by Fedora
|
||||||
|
* Wed Feb 8 2012 rschweikert@suse.com
|
||||||
|
- place binaries in /usr tree (UsrMerge project)
|
||||||
|
* Fri Sep 30 2011 uli@suse.com
|
||||||
|
- cross-build fix: use %%__cc macro
|
||||||
|
* Sun Sep 18 2011 jengelh@medozas.de
|
||||||
|
- Remove redundant tags/sections from specfile
|
||||||
|
(cf. packaging guidelines)
|
||||||
|
- Use %%_smp_mflags for parallel build
|
||||||
|
* Tue Mar 8 2011 pgajdos@suse.cz
|
||||||
|
- fixed fsck.vfat crashing [bnc#677236]
|
||||||
|
* Mon Dec 20 2010 pgajdos@suse.cz
|
||||||
|
- fixed dosfslabel crashing and improved label handling in mkdosfs
|
||||||
|
and dosfslabel [bnc#657011]
|
||||||
|
* Mon Nov 1 2010 pgajdos@suse.cz
|
||||||
|
- fixed:
|
||||||
|
* [bnc#639553] -- mkdosfs now detects md raid partition correctly
|
||||||
|
* [bnc#649046] -- install dosfslabel
|
||||||
|
* spec file cleanup
|
||||||
|
* Mon Sep 13 2010 pgajdos@suse.cz
|
||||||
|
- updated to 3.0.10:
|
||||||
|
* LFN handling and false positives with bad filenames were
|
||||||
|
corrected.
|
||||||
|
* Mon Feb 1 2010 pgajdos@suse.cz
|
||||||
|
- updated to 3.0.9:
|
||||||
|
* A bug in aligning was fixed.
|
||||||
|
* Mon Jan 25 2010 pgajdos@suse.cz
|
||||||
|
- new upstream
|
||||||
|
http://freshmeat.net/projects/dosfstools
|
||||||
|
- updated to 3.0.8
|
||||||
|
- removed upstreamed/obsoleted patches
|
||||||
|
* linuxfs.patch
|
||||||
|
* buffer.patch
|
||||||
|
* o_excl.patch
|
||||||
|
* mkdosfs-geo0.diff
|
||||||
|
* determine-sector-size.patch
|
||||||
|
* unsupported-sector-size.patch
|
||||||
|
* unaligned.patch
|
||||||
|
- major changes:
|
||||||
|
* aligning structures to cluster boundaries,
|
||||||
|
64bit and crosscompile fixes
|
||||||
|
* bugfix in dosfslabel, cleanups for FORTIFY_SOURCE
|
||||||
|
* bugfix in dosfsck on big-endian systems,
|
||||||
|
bugfix in dosfck cluster handling
|
||||||
|
* bugfix and cleanup for VFAT patent avoidance
|
||||||
|
kernel patch
|
||||||
|
* compatible with VFAT patent avoidance kernel
|
||||||
|
patch, bugfix in dosfsck repair mode
|
||||||
|
* supporting limited-memory embedded systems
|
||||||
|
* fixes rare dosfsck corruption
|
||||||
|
* improves dosfsck cluster handling, fixes timing
|
||||||
|
issues
|
||||||
|
* merged patches from various distributions
|
||||||
|
* Tue Nov 3 2009 coolo@novell.com
|
||||||
|
- updated patches to apply with fuzz=0
|
||||||
|
* Tue Jun 24 2008 pgajdos@suse.cz
|
||||||
|
- added warning for creation msdos on filesystem with sector size
|
||||||
|
greater than 4096 [fate#303325] (unsupported-sector-size.patch)
|
||||||
|
* Thu Sep 6 2007 pgajdos@suse.cz
|
||||||
|
- determine sector size of device automatically or if -S parameter
|
||||||
|
present, verify, that it's not under physical sector size
|
||||||
|
(determine-sector-size.patch)
|
||||||
|
* Thu Aug 9 2007 olh@suse.de
|
||||||
|
- remove inclusion of asm/unaligned.h, use private copy of
|
||||||
|
asm-generic/unaligned.h
|
||||||
|
* Thu Apr 26 2007 lnussel@suse.de
|
||||||
|
- remove obsolete subfs patch
|
||||||
|
- fix handling of zero heads and sectors
|
||||||
|
* Wed Apr 4 2007 pgajdos@suse.cz
|
||||||
|
- added Supplements: filesystem(vfat) line to spec file
|
||||||
|
[fate#301966]
|
||||||
|
* Tue Jan 30 2007 prusnak@suse.cz
|
||||||
|
- mkdosfs now opens device with O_EXCL [#238687]
|
||||||
|
* Sat May 27 2006 schwab@suse.de
|
||||||
|
- Don't strip binaries.
|
||||||
|
* Wed Jan 25 2006 mls@suse.de
|
||||||
|
- converted neededforbuild to BuildRequires
|
||||||
|
* Tue Nov 8 2005 dmueller@suse.de
|
||||||
|
- don't build as root
|
||||||
|
* Mon Nov 7 2005 yxu@suse.de
|
||||||
|
- fixed overflowing buffer problem
|
||||||
|
* Mon Apr 11 2005 mcihar@suse.cz
|
||||||
|
- update to 2.11
|
||||||
|
- use sys/mount.h instead of linux/fs.h, this fixes compilation with current GCC
|
||||||
|
* Tue Feb 15 2005 mcihar@suse.cz
|
||||||
|
- deal with subfs (bug #50838)
|
||||||
|
- use /proc/mounts if available for deciding whether device is
|
||||||
|
mounted or not
|
||||||
|
- just issue warning if it is mounted as subfs
|
||||||
|
* Thu Aug 19 2004 mcihar@suse.cz
|
||||||
|
- merged some dosfsck fixes from FreeDOS
|
||||||
|
* Thu Jul 15 2004 schwab@suse.de
|
||||||
|
- Fix unaligned accesses [#40296].
|
||||||
|
* Tue Jun 1 2004 ro@suse.de
|
||||||
|
- avoid inclusion of linux/audit.h
|
||||||
|
* Thu Mar 18 2004 mcihar@suse.cz
|
||||||
|
- fix dosfsck man page (pointed out in bug #34757)
|
||||||
|
* Mon Mar 8 2004 mcihar@suse.cz
|
||||||
|
- fix broken dosfsck (bug #34757)
|
||||||
|
* Thu Jan 29 2004 mcihar@suse.cz
|
||||||
|
- include more documentation
|
||||||
|
* Thu Jan 15 2004 kukuk@suse.de
|
||||||
|
- Make compile with kernel 2.6.1 headers
|
||||||
|
* Thu Oct 23 2003 schwab@suse.de
|
||||||
|
- Don't define llseek to lseek64, creates infinite recursion.
|
||||||
|
* Tue Oct 14 2003 mcihar@suse.cz
|
||||||
|
- install links also for {fsck,mkfs}.vfat + man pages (bug #32284)
|
||||||
|
* Mon Sep 29 2003 mcihar@suse.cz
|
||||||
|
- updated to 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)
|
||||||
|
* Mon Jun 9 2003 mcihar@suse.cz
|
||||||
|
- new upstream version 2.9:
|
||||||
|
* 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: 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)
|
||||||
|
- realy working large file support
|
||||||
|
- don't package obsolette documentation
|
||||||
|
* Wed Dec 4 2002 mcihar@suse.cz
|
||||||
|
- don't allow -fPIC on i386 in CFLAGS, even on i386-debug, because
|
||||||
|
this package doesn't build with it
|
||||||
|
* Sun Dec 1 2002 ro@suse.de
|
||||||
|
- include errno.h where needed
|
||||||
|
* Tue Sep 10 2002 mcihar@suse.cz
|
||||||
|
- added -D_FILE_OFFSET_BITS=64 to CFLAGS to support larger files/partitions
|
||||||
|
* Mon May 20 2002 ro@suse.de
|
||||||
|
- extend 64bit ifdefs for new platforms
|
||||||
|
* Fri Mar 1 2002 jantos@suse.cz
|
||||||
|
- Fixed missing files in documentation (bug 13973)
|
||||||
|
* Fri Sep 14 2001 schwab@suse.de
|
||||||
|
- Fix crash if mkdosfs is called without arguments.
|
||||||
|
* Tue May 22 2001 pblaha@suse.cz
|
||||||
|
- fixed include files on ia64
|
||||||
|
* Sun Apr 8 2001 schwab@suse.de
|
||||||
|
- Fix to build on ia64.
|
||||||
|
* Mon Mar 5 2001 pblaha@suse.cz
|
||||||
|
- update on 2.8
|
||||||
|
* Mon Feb 12 2001 ro@suse.de
|
||||||
|
- don't include linux/fs.h
|
||||||
|
* Thu Jan 18 2001 schwab@suse.de
|
||||||
|
- Add Obsoletes: dosfstls.
|
||||||
|
* Wed Jan 17 2001 pblaha@suse.cz
|
||||||
|
- added message "not enough memory to run dosfsck\n"
|
||||||
|
- if not free memory for malloc
|
||||||
|
* Fri Dec 22 2000 pblaha@suse.cz
|
||||||
|
- upgrade on 2.6 and rename on dosfstools
|
||||||
|
* Mon Dec 4 2000 sf@suse.de
|
||||||
|
- corrected patch to compile on Alpha and ia64
|
||||||
|
* Tue Nov 21 2000 uli@suse.de
|
||||||
|
- worked around strncasecmp declaration conflict in mkdosfs.c
|
||||||
|
* Mon Nov 13 2000 ro@suse.de
|
||||||
|
- hacked to compile on 2.4 includes
|
||||||
|
* Thu Nov 2 2000 pblaha@suse.cz
|
||||||
|
- update to version 2.4
|
||||||
|
* Mon Jun 5 2000 schwab@suse.de
|
||||||
|
- Fix llseek on ia64.
|
||||||
|
* Fri Jun 2 2000 bubnikv@suse.cz
|
||||||
|
- new package in SuSE, version 2.2
|
||||||
|
- makes packages dosfsck and mkdosfs obsolette
|
513
dosfstools.keyring
Normal file
513
dosfstools.keyring
Normal file
|
@ -0,0 +1,513 @@
|
||||||
|
-----BEGIN PGP PUBLIC KEY BLOCK-----
|
||||||
|
Version: GnuPG v2
|
||||||
|
|
||||||
|
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
|
||||||
|
Zxz8PQg=
|
||||||
|
=N3ZS
|
||||||
|
-----END PGP PUBLIC KEY BLOCK-----
|
84
dosfstools.spec
Normal file
84
dosfstools.spec
Normal file
|
@ -0,0 +1,84 @@
|
||||||
|
#
|
||||||
|
# spec file for package dosfstools
|
||||||
|
#
|
||||||
|
# Copyright (c) 2022-2023 ZhuningOS
|
||||||
|
#
|
||||||
|
|
||||||
|
|
||||||
|
Name: dosfstools
|
||||||
|
Version: 4.1
|
||||||
|
Release: 3.6.1
|
||||||
|
Summary: Utilities for Making and Checking MS-DOS FAT File Systems on Linux
|
||||||
|
License: GPL-3.0+
|
||||||
|
Group: System/Filesystems
|
||||||
|
Url: https://github.com/dosfstools/dosfstools
|
||||||
|
Source: https://github.com/dosfstools/dosfstools/releases/download/v%{version}/dosfstools-%{version}.tar.gz
|
||||||
|
Source2: https://github.com/dosfstools/dosfstools/releases/download/v%{version}/dosfstools-%{version}.tar.gz.sig
|
||||||
|
Source3: %{name}.keyring
|
||||||
|
# PATCH-FIX-UPSTREAM fix-calculation.patch gh#dosfstools/dosfstools#153 mcepl@suse.com
|
||||||
|
# Fix calculation of sectors and clusters
|
||||||
|
Patch0: fix-calculation.patch
|
||||||
|
# PATCH-FEATURE-UPSTREAM dosfstools-add-g.patch boo1188401 sbrabec@suse.com -- To be able to create filesystems compatible with previous version, add -g command line option.
|
||||||
|
Patch1: dosfstools-add-g.patch
|
||||||
|
# xxd from vim is required for testsuite
|
||||||
|
BuildRequires: pkgconfig
|
||||||
|
BuildRequires: vim
|
||||||
|
BuildRequires: automake
|
||||||
|
BuildRequires: pkgconfig(libudev)
|
||||||
|
Supplements: filesystem(vfat)
|
||||||
|
Provides: dosfsck
|
||||||
|
Provides: mkdosfs
|
||||||
|
BuildRoot: %{_tmppath}/%{name}-%{version}-build
|
||||||
|
|
||||||
|
%description
|
||||||
|
The dosfstools package includes the mkdosfs and dosfsck utilities, which
|
||||||
|
respectively make and check MS-DOS FAT file systems on hard drives or on
|
||||||
|
floppies.
|
||||||
|
|
||||||
|
%prep
|
||||||
|
%autosetup -p1
|
||||||
|
|
||||||
|
%build
|
||||||
|
%configure \
|
||||||
|
--docdir=%{_docdir}/dosfstools \
|
||||||
|
--enable-compat-symlinks
|
||||||
|
make %{?_smp_mflags} CFLAGS="%{optflags} -D_LARGEFILE_SOURCE -D_FILE_OFFSET_BITS=64"
|
||||||
|
|
||||||
|
%install
|
||||||
|
%make_install
|
||||||
|
#UsrMerge
|
||||||
|
mkdir %{buildroot}/sbin
|
||||||
|
ln -sf %{_sbindir}/{dosfsck,dosfslabel,mkdosfs,fsck.msdos,mkfs.msdos,fsck.fat,fsck.vfat,mkfs.fat,mkfs.vfat} %{buildroot}/sbin
|
||||||
|
#EndUsrMerge
|
||||||
|
|
||||||
|
%check
|
||||||
|
make check
|
||||||
|
|
||||||
|
%files
|
||||||
|
%defattr(-,root,root)
|
||||||
|
%doc %{_docdir}/dosfstools
|
||||||
|
#UsrMerge
|
||||||
|
/sbin/*
|
||||||
|
#EndUsrMerge
|
||||||
|
%{_sbindir}/dosfsck
|
||||||
|
%{_sbindir}/dosfslabel
|
||||||
|
%{_sbindir}/fatlabel
|
||||||
|
%{_sbindir}/fsck.fat
|
||||||
|
%{_sbindir}/fsck.msdos
|
||||||
|
%{_sbindir}/fsck.vfat
|
||||||
|
%{_sbindir}/mkdosfs
|
||||||
|
%{_sbindir}/mkfs.fat
|
||||||
|
%{_sbindir}/mkfs.msdos
|
||||||
|
%{_sbindir}/mkfs.vfat
|
||||||
|
%{_mandir}/man8/dosfsck.8%{ext_man}
|
||||||
|
%{_mandir}/man8/dosfslabel.8%{ext_man}
|
||||||
|
%{_mandir}/man8/fatlabel.8%{ext_man}
|
||||||
|
%{_mandir}/man8/fsck.fat.8%{ext_man}
|
||||||
|
%{_mandir}/man8/fsck.msdos.8%{ext_man}
|
||||||
|
%{_mandir}/man8/fsck.vfat.8%{ext_man}
|
||||||
|
%{_mandir}/man8/mkdosfs.8%{ext_man}
|
||||||
|
%{_mandir}/man8/mkfs.fat.8%{ext_man}
|
||||||
|
%{_mandir}/man8/mkfs.msdos.8%{ext_man}
|
||||||
|
%{_mandir}/man8/mkfs.vfat.8%{ext_man}
|
||||||
|
|
||||||
|
%changelog
|
341
fix-calculation.patch
Normal file
341
fix-calculation.patch
Normal file
|
@ -0,0 +1,341 @@
|
||||||
|
From b29eb5be67e9e8a06908ee10f6c205cb609b1021 Mon Sep 17 00:00:00 2001
|
||||||
|
From: =?UTF-8?q?Pali=20Roh=C3=A1r?= <pali.rohar@gmail.com>
|
||||||
|
Date: Wed, 15 Aug 2018 15:15:06 +0200
|
||||||
|
Subject: [PATCH 1/7] mkfs.fat: Align total number of sectors to be multiple of
|
||||||
|
sectors per track
|
||||||
|
|
||||||
|
This requirement is needed by DOS systems and also by Linux mtools project.
|
||||||
|
Without proper alignment, mtools applications refuse to work on such
|
||||||
|
filesystem.
|
||||||
|
---
|
||||||
|
configure.ac | 2
|
||||||
|
src/mkfs.fat.c | 119 ++++++++++++++++++++++-------------------------
|
||||||
|
tests/Makefile.am | 3 -
|
||||||
|
tests/mkfs-fat32_4K.mkfs | 3 +
|
||||||
|
tests/mkfs-fat32_4K.xxd | 63 ++++++++++++++++++++++++
|
||||||
|
tests/referenceFAT32.xxd | 5 +
|
||||||
|
6 files changed, 132 insertions(+), 63 deletions(-)
|
||||||
|
|
||||||
|
--- a/configure.ac
|
||||||
|
+++ b/configure.ac
|
||||||
|
@@ -16,7 +16,7 @@
|
||||||
|
|
||||||
|
AC_INIT([dosfstools], [4.1])
|
||||||
|
AC_SUBST([RELEASE_DATE], [2017-01-24])
|
||||||
|
-AM_INIT_AUTOMAKE([1.11 foreign subdir-objects parallel-tests])
|
||||||
|
+AM_INIT_AUTOMAKE([1.15.1 foreign subdir-objects parallel-tests])
|
||||||
|
|
||||||
|
AC_ARG_ENABLE([compat-symlinks],
|
||||||
|
[AS_HELP_STRING([--enable-compat-symlinks],
|
||||||
|
--- a/src/mkfs.fat.c
|
||||||
|
+++ b/src/mkfs.fat.c
|
||||||
|
@@ -7,6 +7,7 @@
|
||||||
|
Copyright (C) 1998-2005 Roman Hodek <Roman.Hodek@informatik.uni-erlangen.de>
|
||||||
|
Copyright (C) 2008-2014 Daniel Baumann <mail@daniel-baumann.ch>
|
||||||
|
Copyright (C) 2015-2016 Andreas Bombe <aeb@debian.org>
|
||||||
|
+ Copyright (C) 2018 Pali Rohár <pali.rohar@gmail.com>
|
||||||
|
|
||||||
|
This program is free software: you can redistribute it and/or modify
|
||||||
|
it under the terms of the GNU General Public License as published by
|
||||||
|
@@ -107,14 +108,26 @@ static inline int cdiv(int a, int b)
|
||||||
|
|
||||||
|
#define BOOT_SIGN 0xAA55 /* Boot sector magic number */
|
||||||
|
|
||||||
|
-#define MAX_CLUST_12 ((1 << 12) - 16)
|
||||||
|
-#define MAX_CLUST_16 ((1 << 16) - 16)
|
||||||
|
-#define MIN_CLUST_32 65529
|
||||||
|
+/* According to Microsoft FAT specification (fatgen103.doc) disk with
|
||||||
|
+ * 4085 clusters (or more) is FAT16, but Microsoft Windows FAT driver
|
||||||
|
+ * fastfat.sys detects disk with less then 4087 clusters as FAT12.
|
||||||
|
+ * Linux FAT drivers msdos.ko and vfat.ko detect disk with at least
|
||||||
|
+ * 4085 clusters as FAT16, therefore for compatibility reasons with
|
||||||
|
+ * both systems disallow formatting disks to 4085 or 4086 clusters. */
|
||||||
|
+#define MAX_CLUST_12 4084
|
||||||
|
+#define MIN_CLUST_16 4087
|
||||||
|
+
|
||||||
|
+/* According to Microsoft FAT specification (fatgen103.doc) disk with
|
||||||
|
+ * 65525 clusters (or more) is FAT32, but Microsoft Windows FAT driver
|
||||||
|
+ * fastfat.sys, Linux FAT drivers msdos.ko and vfat.ko detect disk as
|
||||||
|
+ * FAT32 when Sectors Per FAT (fat_length) is set to zero. And not by
|
||||||
|
+ * number of clusters. Still there is cluster upper limit for FAT16. */
|
||||||
|
+#define MAX_CLUST_16 65524
|
||||||
|
+#define MIN_CLUST_32 65525
|
||||||
|
+
|
||||||
|
/* M$ says the high 4 bits of a FAT32 FAT entry are reserved and don't belong
|
||||||
|
* to the cluster number. So the max. cluster# is based on 2^28 */
|
||||||
|
-#define MAX_CLUST_32 ((1 << 28) - 16)
|
||||||
|
-
|
||||||
|
-#define FAT12_THRESHOLD 4085
|
||||||
|
+#define MAX_CLUST_32 268435446
|
||||||
|
|
||||||
|
#define OLDGEMDOS_MAX_SECTORS 32765
|
||||||
|
#define GEMDOS_MAX_SECTORS 65531
|
||||||
|
@@ -588,13 +601,12 @@ static void establish_params(struct devi
|
||||||
|
* fs size <= 16G: 8k clusters
|
||||||
|
* fs size <= 32G: 16k clusters
|
||||||
|
* fs size > 32G: 32k clusters
|
||||||
|
- *
|
||||||
|
- * This only works correctly for 512 byte sectors!
|
||||||
|
*/
|
||||||
|
- uint32_t sz_mb = info->size / (1024 * 1024);
|
||||||
|
- cluster_size =
|
||||||
|
- sz_mb > 32 * 1024 ? 64 : sz_mb > 16 * 1024 ? 32 : sz_mb >
|
||||||
|
- 8 * 1024 ? 16 : sz_mb > 260 ? 8 : 1;
|
||||||
|
+ unsigned long long int sectors = info->size / sector_size;
|
||||||
|
+ cluster_size = sectors > 32*1024*1024*2 ? 64 :
|
||||||
|
+ sectors > 16*1024*1024*2 ? 32 :
|
||||||
|
+ sectors > 8*1024*1024*2 ? 16 :
|
||||||
|
+ sectors > 260*1024*2 ? 8 : 1;
|
||||||
|
}
|
||||||
|
|
||||||
|
if (info->geom_heads > 0) {
|
||||||
|
@@ -733,6 +745,9 @@ static void setup_tables(void)
|
||||||
|
(long long)(blocks * BLOCK_SIZE / sector_size) + orphaned_sectors;
|
||||||
|
}
|
||||||
|
|
||||||
|
+ /* Align number of sectors to be multiple of sectors per track, needed by DOS and mtools */
|
||||||
|
+ num_sectors = num_sectors / le16toh(bs.secs_track) * le16toh(bs.secs_track);
|
||||||
|
+
|
||||||
|
if (!atari_format) {
|
||||||
|
unsigned fatdata1216; /* Sectors for FATs + data area (FAT12/16) */
|
||||||
|
unsigned fatdata32; /* Sectors for FATs + data area (FAT32) */
|
||||||
|
@@ -781,13 +796,13 @@ static void setup_tables(void)
|
||||||
|
maxclust12 = (fatlength12 * 2 * sector_size) / 3;
|
||||||
|
if (maxclust12 > MAX_CLUST_12)
|
||||||
|
maxclust12 = MAX_CLUST_12;
|
||||||
|
- if (verbose >= 2)
|
||||||
|
- printf("FAT12: #clu=%u, fatlen=%u, maxclu=%u, limit=%u\n",
|
||||||
|
+ if (verbose >= 2 && (size_fat == 0 || size_fat == 12))
|
||||||
|
+ printf("Trying FAT12: #clu=%u, fatlen=%u, maxclu=%u, limit=%u\n",
|
||||||
|
clust12, fatlength12, maxclust12, MAX_CLUST_12);
|
||||||
|
- if (clust12 > maxclust12 - 2) {
|
||||||
|
+ if (clust12 > maxclust12) {
|
||||||
|
clust12 = 0;
|
||||||
|
- if (verbose >= 2)
|
||||||
|
- printf("FAT12: too much clusters\n");
|
||||||
|
+ if (verbose >= 2 && (size_fat == 0 || size_fat == 12))
|
||||||
|
+ printf("Trying FAT12: too much clusters\n");
|
||||||
|
}
|
||||||
|
|
||||||
|
clust16 = ((long long)fatdata1216 * sector_size + nr_fats * 4) /
|
||||||
|
@@ -801,20 +816,19 @@ static void setup_tables(void)
|
||||||
|
maxclust16 = (fatlength16 * sector_size) / 2;
|
||||||
|
if (maxclust16 > MAX_CLUST_16)
|
||||||
|
maxclust16 = MAX_CLUST_16;
|
||||||
|
- if (verbose >= 2)
|
||||||
|
- printf("FAT16: #clu=%u, fatlen=%u, maxclu=%u, limit=%u\n",
|
||||||
|
- clust16, fatlength16, maxclust16, MAX_CLUST_16);
|
||||||
|
- if (clust16 > maxclust16 - 2) {
|
||||||
|
- if (verbose >= 2)
|
||||||
|
- printf("FAT16: too much clusters\n");
|
||||||
|
+ if (verbose >= 2 && (size_fat == 0 || size_fat == 16))
|
||||||
|
+ printf("Trying FAT16: #clu=%u, fatlen=%u, maxclu=%u, limit=%u/%u\n",
|
||||||
|
+ clust16, fatlength16, maxclust16, MIN_CLUST_16, MAX_CLUST_16);
|
||||||
|
+ if (clust16 > maxclust16) {
|
||||||
|
+ if (verbose >= 2 && (size_fat == 0 || size_fat == 16))
|
||||||
|
+ printf("Trying FAT16: too much clusters\n");
|
||||||
|
clust16 = 0;
|
||||||
|
}
|
||||||
|
- /* The < 4078 avoids that the filesystem will be misdetected as having a
|
||||||
|
+ /* This avoids that the filesystem will be misdetected as having a
|
||||||
|
* 12 bit FAT. */
|
||||||
|
- if (clust16 < FAT12_THRESHOLD
|
||||||
|
- && !(size_fat_by_user && size_fat == 16)) {
|
||||||
|
- if (verbose >= 2)
|
||||||
|
- printf("FAT16: would be misdetected as FAT12\n");
|
||||||
|
+ if (clust16 && clust16 < MIN_CLUST_16) {
|
||||||
|
+ if (verbose >= 2 && (size_fat == 0 || size_fat == 16))
|
||||||
|
+ printf("Trying FAT16: not enough clusters, would be misdetected as FAT12\n");
|
||||||
|
clust16 = 0;
|
||||||
|
}
|
||||||
|
|
||||||
|
@@ -829,19 +843,20 @@ static void setup_tables(void)
|
||||||
|
maxclust32 = (fatlength32 * sector_size) / 4;
|
||||||
|
if (maxclust32 > MAX_CLUST_32)
|
||||||
|
maxclust32 = MAX_CLUST_32;
|
||||||
|
- if (clust32 && clust32 < MIN_CLUST_32
|
||||||
|
- && !(size_fat_by_user && size_fat == 32)) {
|
||||||
|
+ if (verbose >= 2 && (size_fat == 0 || size_fat == 32))
|
||||||
|
+ printf("Trying FAT32: #clu=%u, fatlen=%u, maxclu=%u, limit=%u/%u\n",
|
||||||
|
+ clust32, fatlength32, maxclust32, MIN_CLUST_32, MAX_CLUST_32);
|
||||||
|
+ if (clust32 > maxclust32) {
|
||||||
|
+ if (verbose >= 2 && (size_fat == 0 || size_fat == 32))
|
||||||
|
+ printf("Trying FAT32: too much clusters\n");
|
||||||
|
clust32 = 0;
|
||||||
|
- if (verbose >= 2)
|
||||||
|
- printf("FAT32: not enough clusters (%d)\n", MIN_CLUST_32);
|
||||||
|
}
|
||||||
|
- if (verbose >= 2)
|
||||||
|
- printf("FAT32: #clu=%u, fatlen=%u, maxclu=%u, limit=%u\n",
|
||||||
|
- clust32, fatlength32, maxclust32, MAX_CLUST_32);
|
||||||
|
- if (clust32 > maxclust32) {
|
||||||
|
+ /* When explicitely asked, allow to create FAT32 with less then MIN_CLUST_32 */
|
||||||
|
+ if (clust32 && clust32 < MIN_CLUST_32
|
||||||
|
+ && !(size_fat_by_user && size_fat == 32)) {
|
||||||
|
+ if (verbose >= 2 && (size_fat == 0 || size_fat == 32))
|
||||||
|
+ printf("Trying FAT32: not enough clusters\n");
|
||||||
|
clust32 = 0;
|
||||||
|
- if (verbose >= 2)
|
||||||
|
- printf("FAT32: too much clusters\n");
|
||||||
|
}
|
||||||
|
|
||||||
|
if ((clust12 && (size_fat == 0 || size_fat == 12)) ||
|
||||||
|
@@ -869,23 +884,6 @@ static void setup_tables(void)
|
||||||
|
break;
|
||||||
|
|
||||||
|
case 16:
|
||||||
|
- if (clust16 < FAT12_THRESHOLD) {
|
||||||
|
- if (size_fat_by_user) {
|
||||||
|
- fprintf(stderr, "WARNING: Not enough clusters for a "
|
||||||
|
- "16 bit FAT! The filesystem will be\n"
|
||||||
|
- "misinterpreted as having a 12 bit FAT without "
|
||||||
|
- "mount option \"fat=16\".\n");
|
||||||
|
- } else {
|
||||||
|
- fprintf(stderr, "This filesystem has an unfortunate size. "
|
||||||
|
- "A 12 bit FAT cannot provide\n"
|
||||||
|
- "enough clusters, but a 16 bit FAT takes up a little "
|
||||||
|
- "bit more space so that\n"
|
||||||
|
- "the total number of clusters becomes less than the "
|
||||||
|
- "threshold value for\n"
|
||||||
|
- "distinction between 12 and 16 bit FATs.\n");
|
||||||
|
- die("Make the filesystem a bit smaller manually.");
|
||||||
|
- }
|
||||||
|
- }
|
||||||
|
cluster_count = clust16;
|
||||||
|
fat_length = fatlength16;
|
||||||
|
bs.fat_length = htole16(fatlength16);
|
||||||
|
@@ -894,8 +892,7 @@ static void setup_tables(void)
|
||||||
|
|
||||||
|
case 32:
|
||||||
|
if (clust32 < MIN_CLUST_32)
|
||||||
|
- fprintf(stderr,
|
||||||
|
- "WARNING: Not enough clusters for a 32 bit FAT!\n");
|
||||||
|
+ fprintf(stderr, "WARNING: Number of clusters for 32 bit FAT is less then suggested minimum.\n");
|
||||||
|
cluster_count = clust32;
|
||||||
|
fat_length = fatlength32;
|
||||||
|
bs.fat_length = htole16(0);
|
||||||
|
@@ -1053,9 +1050,9 @@ static void setup_tables(void)
|
||||||
|
|
||||||
|
if (!cluster_count) {
|
||||||
|
if (sectors_per_cluster) /* If yes, die if we'd spec'd sectors per cluster */
|
||||||
|
- die("Too many clusters for filesystem - try more sectors per cluster");
|
||||||
|
+ die("Not enough or too many clusters for filesystem - try less or more sectors per cluster");
|
||||||
|
else
|
||||||
|
- die("Attempting to create a too large filesystem");
|
||||||
|
+ die("Attempting to create a too small or a too large filesystem");
|
||||||
|
}
|
||||||
|
fat_entries = cluster_count + 2;
|
||||||
|
|
||||||
|
@@ -1076,8 +1073,8 @@ static void setup_tables(void)
|
||||||
|
(le16toh(bs.secs_track) != 1) ? "s" : "");
|
||||||
|
printf("hidden sectors 0x%04x;\n", hidden_sectors);
|
||||||
|
printf("logical sector size is %d,\n", sector_size);
|
||||||
|
- printf("using 0x%02x media descriptor, with %d sectors;\n",
|
||||||
|
- (int)(bs.media), num_sectors);
|
||||||
|
+ printf("using 0x%02x media descriptor, with %u sectors;\n",
|
||||||
|
+ (int)(bs.media), (unsigned)num_sectors);
|
||||||
|
printf("drive number 0x%02x;\n", (int) (vi->drive_number));
|
||||||
|
printf("filesystem has %d %d-bit FAT%s and %d sector%s per cluster.\n",
|
||||||
|
(int)(bs.fats), size_fat, (bs.fats != 1) ? "s" : "",
|
||||||
|
--- a/tests/Makefile.am
|
||||||
|
+++ b/tests/Makefile.am
|
||||||
|
@@ -6,7 +6,6 @@ endif
|
||||||
|
|
||||||
|
TESTS = referenceFAT12.mkfs \
|
||||||
|
referenceFAT16.mkfs \
|
||||||
|
- referenceFAT32.mkfs \
|
||||||
|
check-bad_names.fsck \
|
||||||
|
check-chain_to_free_cluster.fsck \
|
||||||
|
check-chain_too_long.fsck \
|
||||||
|
@@ -28,6 +27,8 @@ dist_check_DATA = test-mkfs test-fsck
|
||||||
|
referenceFAT16.xxd \
|
||||||
|
referenceFAT32.mkfs \
|
||||||
|
referenceFAT32.xxd \
|
||||||
|
+ mkfs-fat32_4K.mkfs \
|
||||||
|
+ mkfs-fat32_4K.xxd \
|
||||||
|
check-bad_names.fsck \
|
||||||
|
check-chain_to_free_cluster.fsck \
|
||||||
|
check-chain_too_long.fsck \
|
||||||
|
--- /dev/null
|
||||||
|
+++ b/tests/mkfs-fat32_4K.mkfs
|
||||||
|
@@ -0,0 +1,3 @@
|
||||||
|
+ARGS="-n TEST4K -S 4096"
|
||||||
|
+SIZE=614400
|
||||||
|
+CMP_LIMIT=10M
|
||||||
|
--- /dev/null
|
||||||
|
+++ b/tests/mkfs-fat32_4K.xxd
|
||||||
|
@@ -0,0 +1,63 @@
|
||||||
|
+00000000: eb58 906d 6b66 732e 6661 7400 1001 2000 .X.mkfs.fat... .
|
||||||
|
+00000010: 0200 0000 00f8 0000 2000 0800 0000 0000 ........ .......
|
||||||
|
+00000020: 0058 0200 9600 0000 0000 0000 0200 0000 .X..............
|
||||||
|
+00000030: 0100 0600 0000 0000 0000 0000 0000 0000 ................
|
||||||
|
+00000040: 8000 29cd ab34 1254 4553 5434 4b20 2020 ..)..4.TEST4K
|
||||||
|
+00000050: 2020 4641 5433 3220 2020 0e1f be77 7cac FAT32 ...w|.
|
||||||
|
+00000060: 22c0 740b 56b4 0ebb 0700 cd10 5eeb f032 ".t.V.......^..2
|
||||||
|
+00000070: e4cd 16cd 19eb fe54 6869 7320 6973 206e .......This is n
|
||||||
|
+00000080: 6f74 2061 2062 6f6f 7461 626c 6520 6469 ot a bootable di
|
||||||
|
+00000090: 736b 2e20 2050 6c65 6173 6520 696e 7365 sk. Please inse
|
||||||
|
+000000a0: 7274 2061 2062 6f6f 7461 626c 6520 666c rt a bootable fl
|
||||||
|
+000000b0: 6f70 7079 2061 6e64 0d0a 7072 6573 7320 oppy and..press
|
||||||
|
+000000c0: 616e 7920 6b65 7920 746f 2074 7279 2061 any key to try a
|
||||||
|
+000000d0: 6761 696e 202e 2e2e 200d 0a00 0000 0000 gain ... .......
|
||||||
|
+000000e0: 0000 0000 0000 0000 0000 0000 0000 0000 ................
|
||||||
|
+*
|
||||||
|
+000001f0: 0000 0000 0000 0000 0000 0000 0000 55aa ..............U.
|
||||||
|
+00000200: 0000 0000 0000 0000 0000 0000 0000 0000 ................
|
||||||
|
+*
|
||||||
|
+00001000: 5252 6141 0000 0000 0000 0000 0000 0000 RRaA............
|
||||||
|
+00001010: 0000 0000 0000 0000 0000 0000 0000 0000 ................
|
||||||
|
+*
|
||||||
|
+000011e0: 0000 0000 7272 4161 b356 0200 0200 0000 ....rrAa.V......
|
||||||
|
+000011f0: 0000 0000 0000 0000 0000 0000 0000 55aa ..............U.
|
||||||
|
+00001200: 0000 0000 0000 0000 0000 0000 0000 0000 ................
|
||||||
|
+*
|
||||||
|
+00006000: eb58 906d 6b66 732e 6661 7400 1001 2000 .X.mkfs.fat... .
|
||||||
|
+00006010: 0200 0000 00f8 0000 2000 0800 0000 0000 ........ .......
|
||||||
|
+00006020: 0058 0200 9600 0000 0000 0000 0200 0000 .X..............
|
||||||
|
+00006030: 0100 0600 0000 0000 0000 0000 0000 0000 ................
|
||||||
|
+00006040: 8000 29cd ab34 1254 4553 5434 4b20 2020 ..)..4.TEST4K
|
||||||
|
+00006050: 2020 4641 5433 3220 2020 0e1f be77 7cac FAT32 ...w|.
|
||||||
|
+00006060: 22c0 740b 56b4 0ebb 0700 cd10 5eeb f032 ".t.V.......^..2
|
||||||
|
+00006070: e4cd 16cd 19eb fe54 6869 7320 6973 206e .......This is n
|
||||||
|
+00006080: 6f74 2061 2062 6f6f 7461 626c 6520 6469 ot a bootable di
|
||||||
|
+00006090: 736b 2e20 2050 6c65 6173 6520 696e 7365 sk. Please inse
|
||||||
|
+000060a0: 7274 2061 2062 6f6f 7461 626c 6520 666c rt a bootable fl
|
||||||
|
+000060b0: 6f70 7079 2061 6e64 0d0a 7072 6573 7320 oppy and..press
|
||||||
|
+000060c0: 616e 7920 6b65 7920 746f 2074 7279 2061 any key to try a
|
||||||
|
+000060d0: 6761 696e 202e 2e2e 200d 0a00 0000 0000 gain ... .......
|
||||||
|
+000060e0: 0000 0000 0000 0000 0000 0000 0000 0000 ................
|
||||||
|
+*
|
||||||
|
+000061f0: 0000 0000 0000 0000 0000 0000 0000 55aa ..............U.
|
||||||
|
+00006200: 0000 0000 0000 0000 0000 0000 0000 0000 ................
|
||||||
|
+*
|
||||||
|
+00007000: 5252 6141 0000 0000 0000 0000 0000 0000 RRaA............
|
||||||
|
+00007010: 0000 0000 0000 0000 0000 0000 0000 0000 ................
|
||||||
|
+*
|
||||||
|
+000071e0: 0000 0000 7272 4161 b356 0200 0200 0000 ....rrAa.V......
|
||||||
|
+000071f0: 0000 0000 0000 0000 0000 0000 0000 55aa ..............U.
|
||||||
|
+00007200: 0000 0000 0000 0000 0000 0000 0000 0000 ................
|
||||||
|
+*
|
||||||
|
+00020000: f8ff ff0f ffff ff0f f8ff ff0f 0000 0000 ................
|
||||||
|
+00020010: 0000 0000 0000 0000 0000 0000 0000 0000 ................
|
||||||
|
+*
|
||||||
|
+000b6000: f8ff ff0f ffff ff0f f8ff ff0f 0000 0000 ................
|
||||||
|
+000b6010: 0000 0000 0000 0000 0000 0000 0000 0000 ................
|
||||||
|
+*
|
||||||
|
+0014c000: 5445 5354 344b 2020 2020 2008 0000 5a4b TEST4K ...ZK
|
||||||
|
+0014c010: 6e46 6e46 0000 5a4b 6e46 0000 0000 0000 nFnF..ZKnF......
|
||||||
|
+0014c020: 0000 0000 0000 0000 0000 0000 0000 0000 ................
|
||||||
|
+*
|
||||||
|
+257ffff0: 0000 0000 0000 0000 0000 0000 0000 0000 ................
|
||||||
|
--- a/tests/referenceFAT32.xxd
|
||||||
|
+++ b/tests/referenceFAT32.xxd
|
||||||
|
@@ -52,3 +52,8 @@
|
||||||
|
001f8020: 0000 0000 0000 0000 0000 0000 0000 0000 ................
|
||||||
|
*
|
||||||
|
3e7ffff0: 0000 0000 0000 0000 0000 0000 0000 0000 ................
|
||||||
|
+001f8000: 5445 5354 4641 5433 3220 2008 0000 5a4b TESTFAT32 ...ZK
|
||||||
|
+001f8010: 6e46 6e46 0000 5a4b 6e46 0000 0000 0000 nFnF..ZKnF......
|
||||||
|
+001f8020: 0000 0000 0000 0000 0000 0000 0000 0000 ................
|
||||||
|
+*
|
||||||
|
+3e7ffff0: 0000 0000 0000 0000 0000 0000 0000 0000 ................
|
Loading…
Add table
Reference in a new issue