dosfstools: Add patch to disable fat32 autoselection and behave as 2.10

It appears msdos image population and fat32 images are incompatible.
This reverts to the 2.10 behaviour of defaulting to fat16 instead of
using fat32 for large images, allowing image generation to work
correctly. This is a workaround and a proper fix is really needed.

(From OE-Core rev: c2de8d41236cf1293db9e6c69d69e8d14f55ffd1)

Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
This commit is contained in:
Richard Purdie 2012-04-11 10:51:17 -07:00
parent ef6062981b
commit bfa48c3c09
2 changed files with 30 additions and 2 deletions

View File

@ -0,0 +1,27 @@
FAT32 appears to be broken when used with the -d option to populate the msdos
image. This disables the FAT32 autoselection code which means we don't get
broken images with the -d option. It can still be enabled on the commandline
at the users own risk. This changes us back to the 2.10 version's behaviour
which was known to work well even with large images.
Upstream Status: Inapprioriate [depends on other patches we apply]
RP 2011/12/13
Index: dosfstools-2.11/mkdosfs/mkdosfs.c
===================================================================
--- dosfstools-2.11.orig/mkdosfs/mkdosfs.c 2011-12-13 13:54:37.538509391 +0000
+++ dosfstools-2.11/mkdosfs/mkdosfs.c 2011-12-13 13:55:10.258508631 +0000
@@ -808,10 +808,12 @@
bs.media = (char) 0xf8; /* Set up the media descriptor for a hard drive */
bs.dir_entries[0] = (char) 0; /* Default to 512 entries */
bs.dir_entries[1] = (char) 2;
+/*
if (!size_fat && blocks*SECTORS_PER_BLOCK > 1064960) {
if (verbose) printf("Auto-selecting FAT32 for large filesystem\n");
size_fat = 32;
}
+*/
if (size_fat == 32) {
/* For FAT32, try to do the same as M$'s format command:
* fs size < 256M: 0.5k clusters

View File

@ -7,7 +7,7 @@ DESCRIPTION = "DOS FAT Filesystem Utilities"
SECTION = "base"
LICENSE = "GPLv2"
LIC_FILES_CHKSUM = "file://mkdosfs/COPYING;md5=cbe67f08d6883bff587f615f0cc81aa8"
PR = "r1"
PR = "r3"
SRC_URI = "ftp://ftp.uni-erlangen.de/pub/Linux/LOCAL/dosfstools/dosfstools-${PV}.src.tar.gz \
file://mkdosfs-bootcode.patch \
@ -15,7 +15,8 @@ SRC_URI = "ftp://ftp.uni-erlangen.de/pub/Linux/LOCAL/dosfstools/dosfstools-${PV}
file://alignment_hack.patch \
file://msdos_fat12_undefined.patch \
file://dosfstools-msdos_fs-types.patch \
file://include-linux-types.patch"
file://include-linux-types.patch \
file://nofat32_autoselect.patch "
SRC_URI[md5sum] = "407d405ade410f7597d364ab5dc8c9f6"
SRC_URI[sha256sum] = "0eac6d12388b3d9ed78684529c1b0d9346fa2abbe406c4d4a3eb5a023c98a484"