File: makebootfat.1

package info (click to toggle)
makebootfat 1.4-9
  • links: PTS, VCS
  • area: main
  • in suites: forky, sid, trixie
  • size: 2,808 kB
  • sloc: sh: 3,118; ansic: 2,746; asm: 148; makefile: 92
file content (405 lines) | stat: -rw-r--r-- 9,791 bytes parent folder | download | duplicates (2)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
216
217
218
219
220
221
222
223
224
225
226
227
228
229
230
231
232
233
234
235
236
237
238
239
240
241
242
243
244
245
246
247
248
249
250
251
252
253
254
255
256
257
258
259
260
261
262
263
264
265
266
267
268
269
270
271
272
273
274
275
276
277
278
279
280
281
282
283
284
285
286
287
288
289
290
291
292
293
294
295
296
297
298
299
300
301
302
303
304
305
306
307
308
309
310
311
312
313
314
315
316
317
318
319
320
321
322
323
324
325
326
327
328
329
330
331
332
333
334
335
336
337
338
339
340
341
342
343
344
345
346
347
348
349
350
351
352
353
354
355
356
357
358
359
360
361
362
363
364
365
366
367
368
369
370
371
372
373
374
375
376
377
378
379
380
381
382
383
384
385
386
387
388
389
390
391
392
393
394
395
396
397
398
399
400
401
402
403
404
405
.TH "Makebootfat Bootable FAT Disk Creation" 1
.SH NAME
makebootfat \(hy Makebootfat Bootable FAT Disk Creation
.SH SYNOPSIS 
makebootfat [options] IMAGE
.PD 0
.PP
.PD
.SH DESCRIPTION 
This utility creates a bootable FAT filesystem and
populates it with files and boot tools.
.PP
It is mainly designed to create bootable USB and
Fixed disk for the AdvanceCD project.
.PP
The official site of AdvanceCD and makebootfat is:
.PP
.RS 4
http://advancemame.sourceforge.net/
.PD 0
.PP
.PD
.RE
.SH OPTIONS 
.TP
.B \(hyo, \(hy\(hyoutput DEVICE
Specify the output device. It must be the device
where you want to setup the filesystem.
You can use the special \(a"usb\(a" value to automatically
select the USB Mass Storage device connected at
the system.
This option is always required.
.TP
.B \(hyb, \(hy\(hyboot FILE
.TP
.B \(hy1, \(hy\(hyboot\(hyfat12 FILE
.TP
.B \(hy2, \(hy\(hyboot\(hyfat16 FILE
.TP
.B \(hy3, \(hy\(hyboot\(hyfat32 FILE
Specify the FAT boot sector images to use. The \(hyb option
uses the same sector for all the FAT types. The other
options can be used to specify a different sector for
different FAT types. The FAT types for which a boot sector
is not specified are not used.
This option is always required.
.TP
.B \(hym, \(hy\(hymbr FILE
Specify the MBR sector image to use.
If this option is specified a partition table is
created on the disk. Otherwise the disk is filled without a
partition table like a floppy disk.
.TP
.B \(hyF, \(hy\(hymbrfat
Change the MBR image specified with the \(hym option to pretend
to be a FAT filesystem starting from the first sector of
the disk. This allows booting from USB\(hyFDD (Floppy Disk Drive)
also using a partition table generally required by USB\(hyHDD
(Hard Disk Drive).
The MBR image specified with the \(hym option must have
executable code positioned like a FAT boot sector. You
can use the included \(oqmbrfat.bin\(cq file.
.TP
.B \(hyc, \(hy\(hycopy FILE
Copy the specified file in the root directory of the disk.
The file is copied using the readonly attribute.
.TP
.B \(hyx, \(hy\(hyexclude FILE
Exclude the specified files and subdirectories in the
IMAGE directory to copy. The path must be specified using
the same format used in the IMAGE directory specification.
.TP
.B \(hyX, \(hy\(hysyslinux2
Enforce the syslinux 2.xx FAT limitations. Syslinux
2.xx doesn\(cqt support FAT32 at all, and FAT16 with
64 and 128 sectors per cluster formats.
This option excludes all the FAT formats not supported
by syslinux. Please note that it limits the maximum
size of filesystem to 1 GB.
.TP
.B \(hyY, \(hy\(hysyslinux3
Enforce the syslinux 3.xx FAT support. Syslinux 3.00
supports all the FAT types and sizes but it requires
a special customisation of the boot sector and of
the file \(oqldlinux.sys\(cq.
This option does this customisation without the need
to use the syslinux installer if the \(oqldlinux.sys\(cq
file is copied on disk with the \(hyc option.
.TP
.B \(hyZ, \(hy\(hyzip
If possible force the ZIP\(hyDisk compatibility. It sets
a geometry of 32 sectors and 64 heads. It also uses the
4\(cqth partition entry in the partition table.
It\(cqs required to boot also in USB\(hyZIP mode.
.TP
.B \(hyP, \(hy\(hypartition
Ensure to operate on a partition and not on a disk.
.TP
.B \(hyD, \(hy\(hydisk
Ensure to operate on a disk and not on a partition.
.TP
.B \(hyL, \(hy\(hylabel LABEL
Set the FAT label. The label is a string of 11 chars.
.TP
.B \(hyO, \(hy\(hyoem OEM
Set the FAT OEM name. The OEM name is a string of 11 chars.
.TP
.B \(hyS, \(hy\(hyserial SERIAL
Set the FAT serial number. The serial number is a 32 bit
unsigned integer.
.TP
.B \(hyE, \(hy\(hydrive DRIVE
Set the BIOS drive to setup in the FAT boot sector.
Generally this value is ignored by boot sectors, with
the exception of the FAT12 and FAT16 FreeDOS boot sectors
that require the correct value or the value 255 to force
auto detection.
.TP
.B \(hyv, \(hy\(hyverbose
Print some information on the device and on the filesystem
created.
.TP
.B \(hyi, \(hy\(hyinteractive
Show the errors in a message box. Only for Windows.
.TP
.B \(hyh, \(hy\(hyhelp
Print a short help.
.TP
.B \(hyV, \(hy\(hyversion
Print the version number.
.TP
.B IMAGE
Directory image to copy on the disk. All the files
and subdirectories present in this directory
are copied on the disk.
.SH DISKS AND PARTITIONS NAMES 
In Linux disk devices are named /dev/hdX or /dev/sdX where X
is a letter. Partition devices are named /dev/hdXN or /dev/sdXN
where X is a letter and N a digit.
.PP
In Windows disk devices are named \(rs\(rs.\(rsPhysicalDriveN where N is
a digit. Partition devices are named \(rs\(rs.\(rsX: where X is a letter,
but sometimes \(rs\(rs.\(rsX: is a disk and not a partition, for example on
floppies and on all the USB Mass Storage devices without a
partition table.
.SH SYSLINUX 
To make a bootable FAT using syslinux you must use
the \(hyX option for syslinux version 2.xx or the \(hyY
option for syslinux version 3.xx. You must also copy in
the root directory of the disk the files:
.RS 0
.PD 0
.HP 4
.I ldlinux.sys
The syslinux loader.
.HP 4
.I syslinux.cfg
The syslinux configuration file.
.HP 4
.I linux
The Linux kernel image  (the file name may be different).
.HP 4
.I initrd.img
The initrd filesystem (the file name may be different
or missing).
.PD
.RE
.PP
You must also specify the \(oqldlinux.bss\(cq boot sector with the \(hyb
option and possibly the \(oqmbr.bin\(cq MBR sector with the \(hym option.
Both the sector images are present in the syslinux package.
.PP
For example:
.PP
.RS 4
makebootfat \(hyo usb \(rs
.PD 0
.PP
.PD
	\(hyY \(rs
.PD 0
.PP
.PD
	\(hyb ldlinux.bss \(hym mbr.bin \(rs
.PD 0
.PP
.PD
	\(hyc ldlinux.sys \(hyc syslinux.cfg \(rs
.PD 0
.PP
.PD
	\(hyc linux \(hyc initrd.img \(rs
.PD 0
.PP
.PD
	image
.PD 0
.PP
.PD
.RE
.SH LOADLIN AND FREEDOS 
To make a bootable FAT using loadlin and FreeDOS you must copy
in the root directory of the disk the files:
.RS 0
.PD 0
.HP 4
.I kernel.sys
The FreeDOS kernel. Remember to use the \(a"32\(a" kernel
version to support FAT32.
.HP 4
.I command.com
The FreeDOS shell.
.HP 4
.I autoexec.bat
Used to start loadlin.
.HP 4
.I loadlin.exe
The loadlin executable.
.HP 4
.I linux
The Linux kernel image  (the file name may be different).
.HP 4
.I initrd.img
The initrd filesystem (the file name may be different
or missing).
.PD
.RE
.PP
You must also specify the FreeDOS boot sectors available on the
FreeDOS \(oqsys\(cq source package with the \(hy1, \(hy2, \(hy3 option.
For the MBR you can use the sectors image available on the FreeDOS
\(oqfdisk\(cq source package.
.PP
For example:
.PP
.RS 4
makebootfat \(hyo /dev/hda1 \(rs
.PD 0
.PP
.PD
	\(hyE 255 \(rs
.PD 0
.PP
.PD
	\(hy1 fat12com.bin \(hy2 fat16com.bin \(hy3 fat32lba.bin \(rs
.PD 0
.PP
.PD
	\(hyc kernel.sys \(hyc command.com \(rs
.PD 0
.PP
.PD
	\(hyc autoexec.bat \(hyc loadlin.exe \(rs
.PD 0
.PP
.PD
	\(hyc linux \(hyc initrd.img \(rs
.PD 0
.PP
.PD
	image
.PD 0
.PP
.PD
.RE
.SH MULTI STANDARD USB BOOTING 
The BIOS USB boot support is generally differentiated in three
categories: USB\(hyHDD, USB\(hyFDD and USB\(hyZIP.
.PP
The USB\(hyHDD (Hard Disk Drive) standard is the preferred choice and
it requires the presence of a partition table in the first sector
of the disk. You can create this type of disk using the \(hym option.
.PP
The USB\(hyFDD (Floppy Disk Drive) standard requires the presence of
a filesystem starting from the first sector of the disk without
a partition table.
You can create this type of disk without using the \(hym option.
.PP
The USB\(hyZIP (ZIP Drive) standard requires the presence of a
device with a very specific geometry. Specifically, it requires
a geometry with 32 sectors and 64 heads. It also requires the presence
of a partition table with only a bootable partition in the
fourth entry. You can create this type of disk using the \(hym and \(hyZ option.
.PP
Generally these standards are incompatible, but using the \(hym, \(hyF
and \(hyZ options you can create a disk compatible with all of them.
.PP
To use the \(hyF option, the MBR image specified must follow
the constrains:
.PD 0
.IP \(bu
It must start with a standard FAT 3 bytes jump instruction.
.IP \(bu
It must have the bytes from address 3 to 89 (included) unused.
.PD
.PP
And example of such image is in the \(oqmbrfat.bin\(cq file.
.PP
For example to create a syslinux image:
.PP
.RS 4
makebootfat \(hyo usb \(rs
.PD 0
.PP
.PD
	\(hyY \(rs
.PD 0
.PP
.PD
	\(hyZ \(rs
.PD 0
.PP
.PD
	\(hyb ldlinux.bss \(hym mbrfat.bin \(hyF \(rs
.PD 0
.PP
.PD
	\(hyc ldlinux.sys \(hyc syslinux.cfg \(rs
.PD 0
.PP
.PD
	\(hyc linux \(hyc initrd.img \(rs
.PD 0
.PP
.PD
	image
.PD 0
.PP
.PD
.RE
.PP
and for a FreeDOS and loadlin image:
.PP
.RS 4
makebootfat \(hyo usb \(rs
.PD 0
.PP
.PD
	\(hyE 255 \(rs
.PD 0
.PP
.PD
	\(hyZ \(rs
.PD 0
.PP
.PD
	\(hy1 fat12com.bin \(hy2 fat16com.bin \(hy3 fat32chs.bin \(rs
.PD 0
.PP
.PD
	\(hym mbrfat.bin \(hyF \(rs
.PD 0
.PP
.PD
	\(hyc kernel.sys \(hyc command.com \(rs
.PD 0
.PP
.PD
	\(hyc autoexec.bat \(hyc loadlin.exe \(rs
.PD 0
.PP
.PD
	\(hyc linux \(hyc initrd.img \(rs
.PD 0
.PP
.PD
	image
.PD 0
.PP
.PD
.RE
.PP
Please note that FreeDos has some problems booting
from USB. It works only on very few conditions.
.SH EXCLUSION 
To exclude some files or directories in the image copy, you
can use the \(hyx option using the same path specification
which are you using for the image directory.
.PP
For example, if you need to exclude the \(oqisolinux\(cq and
\(oqsyslinux\(cq subdirectories from the \(oqimage\(cq directory
you can use the command:
.PP
.RS 4
makebootfat ... \(rs
.PD 0
.PP
.PD
	\(hyx image/isolinux \(rs
.PD 0
.PP
.PD
	\(hyx image/syslinux \(rs
.PD 0
.PP
.PD
	image
.PD 0
.PP
.PD
.RE
.SH COPYRIGHT 
This file is Copyright (C) 2004, 2005 Andrea Mazzoleni
.SH SEE ALSO 
syslinux(1), mkdosfs(1), dosfsck(1)