Commit Graph

35 Commits

Author SHA1 Message Date
Konstantin Belousov
2490c5654b Rename variables to match msdosfs headers.
Submitted by:	Pedro F. Giffuni <giffunip tutopia com>
Reviewed by:	bde
MFC after:	2 weeks
2010-02-14 12:25:39 +00:00
Konstantin Belousov
fb95e056a5 Some cleanups from NetBSD:
- C99 initializers.
- Change the default volume label from "NO NAME" to "NO_NAME".
- Set OEM String to "BSD4.4 " following the unnamed spacing convention
  in that other OS that suggests "MSWIN4.1"
Also, David Naylor's changes for Clang, mostly changing the signess
of constants.

Submitted by:	Pedro F. Giffuni <giffunip tutopia com>
Clang fixes by:	David Naylor <naylor.b.david gmail com>
Reviewed by:	bde (with some disagreement about Clang issues)
MFC after:	2 weeks
2010-02-14 12:25:03 +00:00
Ed Schouten
3c7bcffad2 Do not prepend /dev/ when -C is used.
Submitted by:	Christoph Mallon <christoph mallon gmx de>
2009-04-11 14:56:29 +00:00
Ed Schouten
36df607c9f When using -C, do not warn when the file is not a character device, but warn when it is not a regular file.
Submitted by:	Christoph Mallon <christoph mallon gmx de>
2009-04-11 14:53:32 +00:00
Ed Schouten
f069c0aff0 Fix a bug in r185587.
fstat(fd, &sb) was not executed unconditionally anymore so sb was read
uninitialised when -C is used.

Submitted by:	Christoph Mallon <christoph mallon gmx de>
2009-04-11 14:43:22 +00:00
Ed Schouten
18a064438f Use ftruncate() instead of lseek()+write()+lseek() to set the created
file (-C) to the requested size.

Submitted by:	Christoph Mallon <christoph mallon gmx de>
2009-04-11 14:33:10 +00:00
Ed Schouten
20f96000fa De-static local variables in main() (which is not recursive) and const-ify
others.

Submitted by:	Christoph Mallon <christoph mallon gmx de>
2009-04-11 14:24:54 +00:00
Ed Schouten
101669c6f0 Show -@ and -C in usage, which were added in r185587.
Submitted by:	Christoph Mallon <christoph mallon gmx de>
2009-04-11 14:20:45 +00:00
Ed Schouten
b64e8d53e7 Clean up the usage() function to use a single fprintf().
Submitted by:	Christoph Mallon <christoph mallon gmx de>
2009-04-11 14:15:56 +00:00
Andriy Gapon
d461b46dd5 newfs_msdos: allow to work with media that doesn't have any CHS params
Either use parameters provided by user or make them up.
The code for faking CHS params is borrowed from disklabel code.
The logic for using user-provided and auto-guessed parameters is not
perfect, so to speak.

PR:		bin/121182
Approved by:	jhb (mentor)
2009-02-27 17:29:48 +00:00
Max Laier
d3adc65594 Fix build - cast off_t to (intmax_t) for printing. 2008-12-03 23:00:57 +00:00
Luigi Rizzo
b87d1601b6 Some useful operational extensions to newfs_msdos, especially
when preparing images for emulators or flash devices:

+ option '-C size' to create the underlying image file with given size.
  Saves doing a 'dd' before, and especially it creates a sparse file

+ option '-@ offset' to build the FAT image at the specified offset
  in the image file or device;

+ make the cluster size adaptive on the filesystem size.
  Previously the default was 4k which is really unconvenient with
  large media; now it goes from 512 bytes to 32k depending on
  filesystem size (i still need to check whether it makes sense
  to go further up, to 64k or above);

+ fix default geometry when not specified on the command line,
  use 63 sectors/255 heads by default.
  Also trim the size so it exactly a multiple of a track, to avoid
  complaints in some filesystem code.

+ document all the above, plus some manual page clarifications.

MFC after:	4 weeks
2008-12-03 18:22:36 +00:00
Luigi Rizzo
045651ec1e Create a fake geometry (16 heads, 64 sectors) when dealing with
a plain file and a geometry is not explicitly supplied through
command line or disktab entry.

This way you can a FAT image on a file as simply as this:

	newfs_msdos ./some/file

(right now you need a much longer command

	newfs_msdos -h 32 -u 64 -S 512 -s $total_blocks -o 0 ./some/file

Will be merged after 7.1 and 6.4 are released.
See also the related PR which suggests a similar change.

PR:		bin/121182
MFC after:	4 weeks
2008-11-26 21:05:03 +00:00
Tom Rhodes
93c26a8293 The newfs_msdos utility does not store the boot signature in the
correct place on large sector disks.  The boot signature should be at
offset 0x1fe in the BPB; newfs_msdos currently stores it 2 bytes from
the end of the sector.

Taken from:	NetBSD
2007-05-31 20:06:46 +00:00
Xin LI
d4b442791d WARNS=6 cleanup:
- Initialize everything in the struct array, not only the mentioned
   ones
 - Unconditionally initialize hs to 0 to avoid repeatly doing so
 - Cast to unsigned int when comparing to unsigned variables.
2005-01-17 14:14:00 +00:00
Tim J. Robbins
6abefb4fcd Remove unnecessary newlines from errx() arguments. 2004-02-17 02:02:18 +00:00
Scott Long
d702a8542a Bring newfs_msdos into the GEOM world. Totally rewrite and simplify
getdiskinfo().  For the fixed-disk case, bpb->hid probably isn't
handled correctly, but I'm not sure if this is a serious problem since
the primary use of this program is to format floppy disks.

Reviewed by:    phk
2002-11-03 08:54:46 +00:00
Peter Wemm
a1c254d8c6 EFI GPT partitions use 'p' as a slice seperator. eg: da0p1 or da0p217.
(There is a theoretical limit of 16384 partitions)
2002-10-04 00:29:26 +00:00
Tom Rhodes
ce66ddb763 s/filesystem/file system/g as discussed on -developers 2002-08-21 18:11:48 +00:00
Tom Rhodes
3468b317cb more file system > filesystem 2002-05-16 04:10:46 +00:00
Garrett Wollman
eb2fc78027 Don't depend on <sys/stat.h> bogusly including <sys/time.h> (and thereby
<time.h>).
2000-10-10 01:50:26 +00:00
Robert Nordier
5306a1eccb Remove redundant code left over on removal of /dev/rXXX handling
in r1.12.
2000-08-15 18:04:16 +00:00
Robert Nordier
e3d24c1a5f Partially revert r1.12, in which a warnx() if the device is not a
character device is changed to an errx().  This unnecessarily
compromises device independence.
2000-08-15 17:42:24 +00:00
Jeroen Ruigrok van der Werven
7333848d98 Fix the reporting of a raw device node.
Change a warnx to an errx since we should only attempt to use
this utility on a character device.

Approved by:	green
2000-07-26 20:12:46 +00:00
Warner Losh
71e93b3961 Better error message for a case that I hit. 2000-04-14 06:10:01 +00:00
KATO Takenori
4557555b36 Added 640KB and 1232KB formats, which were standard MS-DOS formats of
2DD and 2HD disks in Japan.

Submitted by:	Shigeharu TAKENO <shige@iee.niit.ac.jp>
Pointed out by:	chi@bd.mbn.or.jp (Chiharu Shibata)
2000-03-30 03:41:09 +00:00
Peter Wemm
7f3dea244c $Id$ -> $FreeBSD$ 1999-08-28 00:22:10 +00:00
Bill Fumerola
9292be42ca Avoid ambigious if-else 1999-07-21 01:55:03 +00:00
Jordan K. Hubbard
d26a815b77 Clean up some more residual /usr/mdec references. I left all the
extra rbootd/boot rom cruft pointing at /usr/mdec since it either
doesn't exist or doesn't work anyway, so who cares? :)
1999-01-03 02:18:58 +00:00
Robert Nordier
71d7142d82 Use '#' flag in place of "0x" in format strings. 1998-12-07 14:09:17 +00:00
Bruce Evans
b5bd72112d Don't assume that time_t is long. 1998-10-17 12:44:55 +00:00
Robert Nordier
5fc905fcf0 Minor consistency fixes. 1998-07-19 15:02:39 +00:00
Robert Nordier
4633bc16d2 Reverse charnier's changes to usage. 1998-07-16 12:24:51 +00:00
Philippe Charnier
f6f3d50730 Correct use of .Nm. Remove unused #includes. Short usage() string, see man
page for details.
1998-07-15 06:30:38 +00:00
Robert Nordier
dc9ef4d1f7 Add newfs_msdos: extensive newfs-style support for creating FAT12,
FAT16, and FAT32 file systems in all their various horriblenesses.

Approved-in-concept by: joerg
1998-07-06 20:01:34 +00:00