summaryrefslogtreecommitdiffstats
path: root/meta/recipes-devtools/dosfstools/dosfstools/mkdosfs-bootcode.patch
diff options
context:
space:
mode:
Diffstat (limited to 'meta/recipes-devtools/dosfstools/dosfstools/mkdosfs-bootcode.patch')
-rw-r--r--meta/recipes-devtools/dosfstools/dosfstools/mkdosfs-bootcode.patch68
1 files changed, 31 insertions, 37 deletions
diff --git a/meta/recipes-devtools/dosfstools/dosfstools/mkdosfs-bootcode.patch b/meta/recipes-devtools/dosfstools/dosfstools/mkdosfs-bootcode.patch
index dd5cc7f0fa..ae21bee78e 100644
--- a/meta/recipes-devtools/dosfstools/dosfstools/mkdosfs-bootcode.patch
+++ b/meta/recipes-devtools/dosfstools/dosfstools/mkdosfs-bootcode.patch
@@ -5,9 +5,10 @@ We're tracking an old release of dosfstools due to licensing issues.
5 5
6Signed-off-by: Scott Garman <scott.a.garman@intel.com> 6Signed-off-by: Scott Garman <scott.a.garman@intel.com>
7 7
8diff -urN dosfstools-2.10.orig/mkdosfs/ChangeLog dosfstools-2.10/mkdosfs/ChangeLog 8Index: dosfstools-2.11/mkdosfs/ChangeLog
9--- dosfstools-2.10.orig/mkdosfs/ChangeLog 1997-06-18 03:09:38.000000000 -0700 9===================================================================
10+++ dosfstools-2.10/mkdosfs/ChangeLog 2004-08-02 20:57:57.734939816 -0700 10--- dosfstools-2.11.orig/mkdosfs/ChangeLog 1997-06-18 10:09:38.000000000 +0000
11+++ dosfstools-2.11/mkdosfs/ChangeLog 2011-12-06 12:14:23.634011558 +0000
11@@ -1,3 +1,14 @@ 12@@ -1,3 +1,14 @@
12+19th June 2003 Sam Bingner (sam@bingner.com) 13+19th June 2003 Sam Bingner (sam@bingner.com)
13+ 14+
@@ -23,10 +24,11 @@ diff -urN dosfstools-2.10.orig/mkdosfs/ChangeLog dosfstools-2.10/mkdosfs/ChangeL
23 28th January 1995 H. Peter Anvin (hpa@yggdrasil.com) 24 28th January 1995 H. Peter Anvin (hpa@yggdrasil.com)
24 25
25 Better algorithm to select cluster sizes on large filesystems. 26 Better algorithm to select cluster sizes on large filesystems.
26diff -urN dosfstools-2.10.orig/mkdosfs/mkdosfs.8 dosfstools-2.10/mkdosfs/mkdosfs.8 27Index: dosfstools-2.11/mkdosfs/mkdosfs.8
27--- dosfstools-2.10.orig/mkdosfs/mkdosfs.8 2003-05-15 11:28:28.000000000 -0700 28===================================================================
28+++ dosfstools-2.10/mkdosfs/mkdosfs.8 2004-08-02 20:57:57.735939664 -0700 29--- dosfstools-2.11.orig/mkdosfs/mkdosfs.8 2004-02-25 19:36:07.000000000 +0000
29@@ -40,6 +40,10 @@ 30+++ dosfstools-2.11/mkdosfs/mkdosfs.8 2011-12-06 12:19:54.777888434 +0000
31@@ -44,6 +44,10 @@
30 .I message-file 32 .I message-file
31 ] 33 ]
32 [ 34 [
@@ -37,7 +39,7 @@ diff -urN dosfstools-2.10.orig/mkdosfs/mkdosfs.8 dosfstools-2.10/mkdosfs/mkdosfs
37 .B \-n 39 .B \-n
38 .I volume-name 40 .I volume-name
39 ] 41 ]
40@@ -155,6 +159,18 @@ 42@@ -165,6 +169,18 @@
41 carriage return-line feed combinations, and tabs have been expanded. 43 carriage return-line feed combinations, and tabs have been expanded.
42 If the filename is a hyphen (-), the text is taken from standard input. 44 If the filename is a hyphen (-), the text is taken from standard input.
43 .TP 45 .TP
@@ -56,21 +58,22 @@ diff -urN dosfstools-2.10.orig/mkdosfs/mkdosfs.8 dosfstools-2.10/mkdosfs/mkdosfs
56 .BI \-n " volume-name" 58 .BI \-n " volume-name"
57 Sets the volume name (label) of the filesystem. The volume name can 59 Sets the volume name (label) of the filesystem. The volume name can
58 be up to 11 characters long. The default is no label. 60 be up to 11 characters long. The default is no label.
59@@ -188,8 +204,9 @@ 61@@ -198,8 +214,9 @@
60 simply will not support it ;) 62 simply will not support it ;)
61 .SH AUTHOR 63 .SH AUTHOR
62 Dave Hudson - <dave@humbug.demon.co.uk>; modified by Peter Anvin 64 Dave Hudson - <dave@humbug.demon.co.uk>; modified by Peter Anvin
63-<hpa@yggdrasil.com>. Fixes and additions by Roman Hodek 65-<hpa@yggdrasil.com>. Fixes and additions by Roman Hodek
64-<Roman.Hodek@informatik.uni-erlangen.de> for Debian/GNU Linux. 66-<roman@hodek.net> for Debian/GNU Linux.
65+<hpa@yggdrasil.com> and Sam Bingner <sam@bingner.com>. Fixes and 67+<hpa@yggdrasil.com> and Sam Bingner <sam@bingner.com>. Fixes and
66+additions by Roman Hodek <Roman.Hodek@informatik.uni-erlangen.de> 68+additions by Roman Hodek <Roman.Hodek@informatik.uni-erlangen.de>
67+for Debian/GNU Linux. 69+for Debian/GNU Linux.
68 .SH ACKNOWLEDGEMENTS 70 .SH ACKNOWLEDGEMENTS
69 .B mkdosfs 71 .B mkdosfs
70 is based on code from 72 is based on code from
71diff -urN dosfstools-2.10.orig/mkdosfs/mkdosfs.c dosfstools-2.10/mkdosfs/mkdosfs.c 73Index: dosfstools-2.11/mkdosfs/mkdosfs.c
72--- dosfstools-2.10.orig/mkdosfs/mkdosfs.c 2003-06-14 13:07:08.000000000 -0700 74===================================================================
73+++ dosfstools-2.10/mkdosfs/mkdosfs.c 2004-08-02 20:57:57.736939512 -0700 75--- dosfstools-2.11.orig/mkdosfs/mkdosfs.c 2005-03-12 16:12:16.000000000 +0000
76+++ dosfstools-2.11/mkdosfs/mkdosfs.c 2011-12-06 12:27:55.121886076 +0000
74@@ -24,6 +24,12 @@ 77@@ -24,6 +24,12 @@
75 - New options -A, -S, -C 78 - New options -A, -S, -C
76 - Support for filesystems > 2GB 79 - Support for filesystems > 2GB
@@ -84,7 +87,7 @@ diff -urN dosfstools-2.10.orig/mkdosfs/mkdosfs.c dosfstools-2.10/mkdosfs/mkdosfs
84 87
85 Copying: Copyright 1993, 1994 David Hudson (dave@humbug.demon.co.uk) 88 Copying: Copyright 1993, 1994 David Hudson (dave@humbug.demon.co.uk)
86 89
87@@ -167,6 +173,8 @@ 90@@ -153,6 +159,8 @@
88 #define FAT_BAD 0x0ffffff7 91 #define FAT_BAD 0x0ffffff7
89 92
90 #define MSDOS_EXT_SIGN 0x29 /* extended boot sector signature */ 93 #define MSDOS_EXT_SIGN 0x29 /* extended boot sector signature */
@@ -93,7 +96,7 @@ diff -urN dosfstools-2.10.orig/mkdosfs/mkdosfs.c dosfstools-2.10/mkdosfs/mkdosfs
93 #define MSDOS_FAT12_SIGN "FAT12 " /* FAT12 filesystem signature */ 96 #define MSDOS_FAT12_SIGN "FAT12 " /* FAT12 filesystem signature */
94 #define MSDOS_FAT16_SIGN "FAT16 " /* FAT16 filesystem signature */ 97 #define MSDOS_FAT16_SIGN "FAT16 " /* FAT16 filesystem signature */
95 #define MSDOS_FAT32_SIGN "FAT32 " /* FAT32 filesystem signature */ 98 #define MSDOS_FAT32_SIGN "FAT32 " /* FAT32 filesystem signature */
96@@ -188,6 +196,8 @@ 99@@ -175,6 +183,8 @@
97 #define BOOTCODE_SIZE 448 100 #define BOOTCODE_SIZE 448
98 #define BOOTCODE_FAT32_SIZE 420 101 #define BOOTCODE_FAT32_SIZE 420
99 102
@@ -102,7 +105,7 @@ diff -urN dosfstools-2.10.orig/mkdosfs/mkdosfs.c dosfstools-2.10/mkdosfs/mkdosfs
102 /* __attribute__ ((packed)) is used on all structures to make gcc ignore any 105 /* __attribute__ ((packed)) is used on all structures to make gcc ignore any
103 * alignments */ 106 * alignments */
104 107
105@@ -215,7 +225,7 @@ 108@@ -202,7 +212,7 @@
106 __u16 fat_length; /* sectors/FAT */ 109 __u16 fat_length; /* sectors/FAT */
107 __u16 secs_track; /* sectors per track */ 110 __u16 secs_track; /* sectors per track */
108 __u16 heads; /* number of heads */ 111 __u16 heads; /* number of heads */
@@ -111,7 +114,7 @@ diff -urN dosfstools-2.10.orig/mkdosfs/mkdosfs.c dosfstools-2.10/mkdosfs/mkdosfs
111 __u32 total_sect; /* number of sectors (if sectors == 0) */ 114 __u32 total_sect; /* number of sectors (if sectors == 0) */
112 union { 115 union {
113 struct { 116 struct {
114@@ -298,6 +308,8 @@ 117@@ -285,6 +295,8 @@
115 118
116 /* Global variables - the root of all evil :-) - see these and weep! */ 119 /* Global variables - the root of all evil :-) - see these and weep! */
117 120
@@ -120,7 +123,7 @@ diff -urN dosfstools-2.10.orig/mkdosfs/mkdosfs.c dosfstools-2.10/mkdosfs/mkdosfs
120 static char *program_name = "mkdosfs"; /* Name of the program */ 123 static char *program_name = "mkdosfs"; /* Name of the program */
121 static char *device_name = NULL; /* Name of the device on which to create the filesystem */ 124 static char *device_name = NULL; /* Name of the device on which to create the filesystem */
122 static int atari_format = 0; /* Use Atari variation of MS-DOS FS format */ 125 static int atari_format = 0; /* Use Atari variation of MS-DOS FS format */
123@@ -842,6 +854,12 @@ 126@@ -837,6 +849,12 @@
124 vi->volume_id[2] = (unsigned char) ((volume_id & 0x00ff0000) >> 16); 127 vi->volume_id[2] = (unsigned char) ((volume_id & 0x00ff0000) >> 16);
125 vi->volume_id[3] = (unsigned char) (volume_id >> 24); 128 vi->volume_id[3] = (unsigned char) (volume_id >> 24);
126 } 129 }
@@ -133,16 +136,7 @@ diff -urN dosfstools-2.10.orig/mkdosfs/mkdosfs.c dosfstools-2.10/mkdosfs/mkdosfs
133 136
134 if (!atari_format) { 137 if (!atari_format) {
135 memcpy(vi->volume_label, volume_name, 11); 138 memcpy(vi->volume_label, volume_name, 11);
136@@ -886,7 +904,7 @@ 139@@ -1362,6 +1380,32 @@
137 printf( "Using %d reserved sectors\n", reserved_sectors );
138 bs.fats = (char) nr_fats;
139 if (!atari_format || size_fat == 32)
140- bs.hidden = CT_LE_L(0);
141+ bs.hidden = bs.secs_track;
142 else
143 /* In Atari format, hidden is a 16 bit field */
144 memset( &bs.hidden, 0, 2 );
145@@ -1358,6 +1376,32 @@
146 * dir area on FAT12/16, and the first cluster on FAT32. */ 140 * dir area on FAT12/16, and the first cluster on FAT32. */
147 writebuf( (char *) root_dir, size_root_dir, "root directory" ); 141 writebuf( (char *) root_dir, size_root_dir, "root directory" );
148 142
@@ -156,9 +150,9 @@ diff -urN dosfstools-2.10.orig/mkdosfs/mkdosfs.c dosfstools-2.10/mkdosfs/mkdosfs
156+ seekto( 512*2, "third sector" ); 150+ seekto( 512*2, "third sector" );
157+ if (backup_boot != 0) { 151+ if (backup_boot != 0) {
158+ writebuf( template_boot_code+512*2, backup_boot*sector_size - 512*2, "data to backup boot" ); 152+ writebuf( template_boot_code+512*2, backup_boot*sector_size - 512*2, "data to backup boot" );
159+ seekto( backup_boot*sector_size, "backup boot sector" ); 153+ seekto( backup_boot*sector_size, "backup boot sector" );
160+ writebuf( template_boot_code, 3, "backup jmpBoot" ); 154+ writebuf( template_boot_code, 3, "backup jmpBoot" );
161+ seekto( backup_boot*sector_size+0x5a, "backup boot sector boot area" ); 155+ seekto( backup_boot*sector_size+0x5a, "backup boot sector boot area" );
162+ writebuf( template_boot_code+0x5a, 420, "backup boot sector boot area" ); 156+ writebuf( template_boot_code+0x5a, 420, "backup boot sector boot area" );
163+ seekto( (backup_boot+2)*sector_size, "sector following backup code" ); 157+ seekto( (backup_boot+2)*sector_size, "sector following backup code" );
164+ writebuf( template_boot_code+(backup_boot+2)*sector_size, (reserved_sectors-backup_boot-2)*512, "remaining data" ); 158+ writebuf( template_boot_code+(backup_boot+2)*sector_size, (reserved_sectors-backup_boot-2)*512, "remaining data" );
@@ -172,28 +166,28 @@ diff -urN dosfstools-2.10.orig/mkdosfs/mkdosfs.c dosfstools-2.10/mkdosfs/mkdosfs
172+ } 166+ }
173+ } 167+ }
174+ 168+
169 if (blank_sector) free( blank_sector );
175 if (info_sector) free( info_sector ); 170 if (info_sector) free( info_sector );
176 free (root_dir); /* Free up the root directory space from setup_tables */ 171 free (root_dir); /* Free up the root directory space from setup_tables */
177 free (fat); /* Free up the fat table space reserved during setup_tables */ 172@@ -1376,7 +1420,7 @@
178@@ -1371,7 +1415,7 @@
179 { 173 {
180 fatal_error("\ 174 fatal_error("\
181 Usage: mkdosfs [-A] [-c] [-C] [-v] [-I] [-l bad-block-file] [-b backup-boot-sector]\n\ 175 Usage: mkdosfs [-A] [-c] [-C] [-v] [-I] [-l bad-block-file] [-b backup-boot-sector]\n\
182- [-m boot-msg-file] [-n volume-name] [-i volume-id]\n\ 176- [-m boot-msg-file] [-n volume-name] [-i volume-id]\n\
183+ [-m boot-msg-file] [-n volume-name] [-i volume-id] [-B bootcode]\n\ 177+ [-m boot-msg-file] [-n volume-name] [-i volume-id] [-B bootcode]\n\
184 [-s sectors-per-cluster] [-S logical-sector-size] [-f number-of-FATs]\n\ 178 [-s sectors-per-cluster] [-S logical-sector-size] [-f number-of-FATs]\n\
185 [-F fat-size] [-r root-dir-entries] [-R reserved-sectors]\n\ 179 [-h hidden-sectors] [-F fat-size] [-r root-dir-entries] [-R reserved-sectors]\n\
186 /dev/name [blocks]\n"); 180 /dev/name [blocks]\n");
187@@ -1433,7 +1477,7 @@ 181@@ -1439,7 +1483,7 @@
188 printf ("%s " VERSION " (" VERSION_DATE ")\n", 182 printf ("%s " VERSION " (" VERSION_DATE ")\n",
189 program_name); 183 program_name);
190 184
191- while ((c = getopt (argc, argv, "AcCf:F:Ii:l:m:n:r:R:s:S:v")) != EOF) 185- while ((c = getopt (argc, argv, "AbcCf:F:Ii:l:m:n:r:R:s:S:h:v")) != EOF)
192+ while ((c = getopt (argc, argv, "AcCf:F:Ii:l:m:n:r:R:s:S:v:B:b")) != EOF) 186+ while ((c = getopt (argc, argv, "AbcCf:F:Ii:l:m:n:r:R:s:S:v:B:")) != EOF)
193 /* Scan the command line for options */ 187 /* Scan the command line for options */
194 switch (c) 188 switch (c)
195 { 189 {
196@@ -1494,6 +1538,51 @@ 190@@ -1509,6 +1553,51 @@
197 listfile = optarg; 191 listfile = optarg;
198 break; 192 break;
199 193