Commit Graph

267 Commits

Author SHA1 Message Date
fvdl
fe6b4c315f Bring back disklabel -B for now, since hp300 installboot isn't ready
for prime time yet.
2003-11-10 09:22:09 +00:00
dsl
6db70be120 Rip out all the '-B bootblock' support, everything should use installboot(8).
(can only affect arm32, hp300 and vax ports, and doesn't affect sysinst).
2003-11-08 09:25:01 +00:00
shin
2c415ee56d playstation2 needs MBR support in disklabel(8). 2003-11-02 02:52:58 +00:00
pooka
bb95bd5936 Handle partition offset and size as unsigned entities. 2003-10-20 13:20:20 +00:00
pooka
84a1b52c43 Partition size and offset inside the disklabel are unsigned. Print
them as unsigned so that we don't print negative values when we're
halfway through.
2003-10-20 13:10:48 +00:00
lukem
1c33b4e6a4 Overhaul MBR handling (part 1):
<sys/bootblock.h>:
    *	Added definitions for the Master Boot Record (MBR) used by
	a variety of systems (primarily i386), including the format
	of the BIOS Parameter Block (BPB).
	This information was cribbed from a variety of sources
	including <sys/disklabel_mbr.h> which this is a superset of.

	As part of this, some data structure elements and #defines
	were renamed to be more "namespace friendly" and consistent
	with other bootblocks and MBR documentation.
	Update all uses of the old names to the new names.

<sys/disklabel_mbr.h>:
    *	Deprecated in favor of <sys/bootblock.h> (the latter is more
	"host tool" friendly).

amd64 & i386:
    *	Renamed /usr/mdec/bootxx_dosfs to /usr/mdec/bootxx_msdos, to
	be consistent with the naming convention of the msdosfs tools.

    *	Removed /usr/mdec/bootxx_ufs, as it's equivalent to bootxx_ffsv1
	and it's confusing to have two functionally equivalent bootblocks,
	especially given that "ufs" has multiple meanings (it could be
	a synonym for "ffs", or the group of ffs/lfs/ext2fs file systems).

    *	Rework pbr.S (the first sector of bootxx_*):
	    +	Ensure that BPB (bytes 11..89) and the partition table
		(bytes 446..509) do not contain code.
	    +	Add support for booting from FAT partitions if BOOT_FROM_FAT
		is defined.  (Only set for bootxx_msdos).
	    +	Remove "dummy" partition 3; if people want to installboot(8)
		these to the start of the disk they can use fdisk(8) to
		create a real MBR partition table...
	    +	Compile with TERSE_ERROR so it fits because of the above.
		Whilst this is less user friendly, I feel it's important
		to have a valid partition table and BPB in the MBR/PBR.

    *	Renamed /usr/mdec/biosboot to /usr/mdec/boot, to be consistent
	with other platforms.

    *	Enable SUPPORT_DOSFS in /usr/mdec/boot (stage2), so that
    	we can boot off FAT partitions.

    *	Crank version of /usr/mdec/boot to 3.1, and fix some of the other
	entries in the version file.

installboot(8) (i386):
    *	Read the existing MBR of the filesystem and retain the BIOS
    	Parameter Block (BPB) in bytes 11..89 and the MBR partition
	table in bytes 446..509.  (Previously installboot(8) would
	trash those two sections of the MBR.)

mbrlabel(8):
    *	Use sys/lib/libkern/xlat_mbr_fstype.c instead of homegrown code
	to map the MBR partition type to the NetBSD disklabel type.


Test built "make release" for i386, and new bootblocks verified to work
(even off FAT!).
2003-10-08 04:25:43 +00:00
agc
bf07c8719a Move UCB-licensed code from 4-clause to 3-clause licence.
Patches provided by Joel Baker in PR 22308, verified by myself.
2003-08-07 10:04:11 +00:00
dsl
42c39f4f19 Make output fit into 80 columns when a partition doesn't end on a cylinder
boundary.
2003-08-04 17:14:50 +00:00
dsl
2ceab48459 Read correct sector when following extended partition chain.
Require extended partition chain to be through increasing sector numbers
in order to abort loops.
2003-08-04 16:51:56 +00:00
lukem
a21d1e7a14 xref dkctl(8) 2003-07-13 09:55:34 +00:00
itojun
09c1e9bc45 use bounded copy (a few unbounded copy remains - need work) 2003-07-13 07:48:01 +00:00
dsl
7db2cff2fd Allow for the netbsd partition being in the extended partition list. 2003-07-07 13:05:46 +00:00
simonb
775170c02f Line up the cylinder numbers in the printlabel output a bit better. 2003-07-01 05:40:54 +00:00
wiz
b6bcb58a8b Bump date for last. 2003-05-06 08:23:57 +00:00
gmcgarry
534f9a7a52 Document -I option. From Richard Rauch <rauch@math.rice.edu>
in PR#11890.
2003-05-02 08:09:35 +00:00
fvdl
043f21d9ea x86_64 -> amd64 2003-04-26 19:14:17 +00:00
wiz
472351e13d Use
.In header.h
instead of
.Fd #include \*[Lt]header.h\*[Gt]
Much easier to read and write, and supported by groff for ages.
Okayed by ross.
2003-04-16 13:34:34 +00:00
fvdl
42614ed3f3 Add support for UFS2. UFS2 is an enhanced FFS, adding support for
64 bit block pointers, extended attribute storage, and a few
other things.

This commit does not yet include the code to manipulate the extended
storage (for e.g. ACLs), this will be done later.

Originally written by Kirk McKusick and Network Associates Laboratories for
FreeBSD.
2003-04-02 10:39:19 +00:00
wiz
990562bfef .Nm does not need a dummy argument ("") before punctuation or
for correct formatting of the SYNOPSIS any longer.
2003-02-25 10:34:36 +00:00
kleink
b3df6303a9 Rename `sigset' locals to avoid symbol shadowing warning. 2003-01-16 09:38:37 +00:00
wiz
1035faff1d writable, not writeable. 2003-01-06 20:30:28 +00:00
scw
1c4717cddb Use getlabel{sector,offset}() instead of LABEL{SECTOR,OFFSET}. 2002-12-12 11:34:46 +00:00
fvdl
53d30b7a60 Handle MBRs for x86_64. 2002-12-11 14:28:46 +00:00
jonb
8a96157b87 While cleaning up other places that invoked $EDITOR, noticed that
this one had all the infrastructure of fork/exec/wait, like the
others, but called system instead of exec creating an extra PID
and associated memory usage during the edit.
2002-12-05 22:59:25 +00:00
rtr
d64b3c2b83 Fix bug causing segmentation fault when no fs type specified 2002-11-18 05:48:00 +00:00
rtr
1031fab56c Removed "disklabel -I [-r] [-C] disk" from SYNOPSIS.
The code does not permit usage of the -I flag without either -e or -i.
2002-10-21 15:54:51 +00:00
wiz
74347b5249 partition, not parition (by Adrian Mrva). file system instead of filesystem. 2002-10-02 11:05:56 +00:00
dbj
a323eac318 add FS_APPLEUFS
part of PR #17345
2002-09-28 00:47:24 +00:00
dbj
209f5f57af tweak indentation on FS_JFS2 comment 2002-09-28 00:40:08 +00:00
dbj
7d4caebaf6 add DTYPE_JFS2 and FS_JFS2 for IBM Journaled File System
this is to match FreeBSD's disklabel.h revision 1.73
FreeBSD change was requested by Hiten Pandya <hiten@uk.FreeBSD.org>
2002-09-28 00:30:24 +00:00
wiz
bd9e498edd mdoc nits. New sentence, new line. Remove a comment about tahoe. 2002-09-28 00:24:13 +00:00
dbj
b64db12921 fix DTYPE_LD comment 2002-09-28 00:10:56 +00:00
dbj
ba3c70eb8b add DTYPE_LD to match disklabel.h 2002-09-28 00:09:58 +00:00
enami
43fe370014 Fix an argument to -width option of .Bl macro. 2002-08-19 01:54:58 +00:00
manu
3966af389b Enable USE_MBR for all arm ports. 2002-07-28 15:17:38 +00:00
grant
97a9e02381 disallow creation of partitions which start beyond (or extend beyond)
the end of the disk.
2002-06-29 15:24:03 +00:00
itojun
a532d33818 USE_MBR on macppc too 2002-06-18 00:21:53 +00:00
itojun
cd668e919e need disklabel_mbr.h for USE_MBR build 2002-06-18 00:19:27 +00:00
drochner
ec943f317b display / read the p_cdsession field in the FS_ISO9660 case 2002-05-27 17:33:08 +00:00
thorpej
3740cbf193 Alpha boot block stuff has moved to <sys/bootblock.h> 2002-05-14 21:27:05 +00:00
mycroft
9e695e896c Make this build again after the alpha/disklabel.h and dev/dec/dec_boot.h
changes.
2002-04-09 21:08:58 +00:00
bjh21
f8840ef0ab Rename arm26 -> acorn26. 2002-03-24 22:25:27 +00:00
kleink
52de2c81da When accessing the MBR magic as a 16-bit value, consider its on-disk
layout would be little-endian, too.
2002-02-14 00:07:43 +00:00
ross
dc5571b22e Generate <>& symbolically. I'm avoiding .../dist/... directories for now. 2002-02-08 01:21:55 +00:00
fredette
46d320c7db The sun2 also requires partitions in integer cylinders. 2001-12-14 23:36:25 +00:00
reinoud
994f1fb3f6 Remove `const' attribute from writelabel prototype and function to make it
compile again on Alpha.
2001-12-13 13:52:13 +00:00
bjh21
822cc4efe2 Rather than making FileCore boot block support conditional on __arm32__, make
it conditional on USE_ACORN, and define that if MACHINE is arm26 or acorn32.
This is less than optimal, and maybe we should define it for all ARM systems,
but then disklabel handling across architectures is generally a mess at the
moment.
2001-11-29 23:08:53 +00:00
perry
96aece1560 Note in far more places that -B is only supported on some platforms. 2001-11-24 18:30:59 +00:00
minoura
d7835b08b0 Preserve the boot area on x68k. 2001-11-19 13:55:06 +00:00
wiz
9608821813 Simplify markup in one place, and sort sections and SEE ALSO. 2001-11-16 11:30:09 +00:00
wiz
5ee6bd0ade Use .Pp for new paragraphs. 2001-11-16 11:29:09 +00:00
lukem
8064490359 minor WARNS=2 stuff 2001-10-19 01:16:37 +00:00
nonaka
978de91e79 Fix big-endian vs. MBR parameters. 2001-06-15 18:49:37 +00:00
wiz
73f545bb5b Drop arguments of .Os. 2001-06-05 11:22:41 +00:00
christos
7956951247 - KNF printlabel.c
- add a function to print only one partition's info.
- print the partition information if it was modified in interactive mode.
- improve on the chaining code. [still assumes that partition offsets increase
  monotonically]. We could check for overlap too.
2001-05-26 19:48:32 +00:00
drochner
98e00988ad Don't error out if the mbr cannot be read.
This makes "disklabel cd0" working also on platforms with MBR support.
2001-03-29 12:18:32 +00:00
cgd
8a986b2e96 convert to use getprogname() 2001-02-19 22:48:57 +00:00
fvdl
275b941468 When -I is specified, we mean to initialize the label if it's not there
already. So, don't fail if there appears to be a corrupt label or
no 'fake' label; get the 'default' label (which is generated
from DIOCGDEFLABEL) instead.
2001-01-08 02:19:58 +00:00
cgd
169563b7c1 #warn is _not_ the GCC CPP directive that gives a warning, #warning is.
(this code has, apparently, always been wrong, but current GCC is kind
enough to warn about unknown CPP directives.)
2001-01-06 00:35:54 +00:00
enami
0cd4f6f4aa Test read(2) failure by read(..., sizeof(n)) != sizeof(n) instead of
< sizeof(n) to avoid unwanted type promotion.
2001-01-03 06:57:57 +00:00
enami
a48aa06c73 Kill whitespace at the end of line. 2001-01-03 06:55:30 +00:00
lukem
1c5cb88e30 move showinfo() and showpartition() into separate file, for use by
other programs.  slightly change argument signature so that globals
aren't depended upon.
2000-12-24 07:08:02 +00:00
lukem
35ccd2239b - convert to KNF ANSI style guide
- reorder arguments of runcmd(), getnum(), defnum() to be consistent
  with other functions (pass struct disklabel * first)
2000-12-24 05:59:11 +00:00
perseant
ea919b5343 Change "cpg" to "cpg/sgs" in the printed partition table header, in an
attempt to avoid confusion.  (PR #9230)
2000-11-27 23:13:12 +00:00
abs
fc52578672 xref (disklabel.8, fdisk.8, mbrlabel.8) as appropriate 2000-11-14 11:06:19 +00:00
is
9979da6cbb Format string cleanups by Bill Sommerfeld. 2000-10-10 20:24:49 +00:00
christos
c4c61b5a08 allow -I -i to install a new label interactively. 2000-10-08 23:32:50 +00:00
lukem
6c94f4bee8 in cmd_name(), put the default prompt into a temporary buffer rather
than overwrite the existing d_packname.  noted by enami@.
2000-09-04 02:09:26 +00:00
lukem
4c8c86856e * use strcasecmp() instead of strcmp() so that filesystem type and disk type
searchs (amongst others) are case insensitive.
* in interactive mode (-i), when editing entries display supported disk types
  and filesystem types when given `?' (when ``[?]'' appears in the prompt
  this feature is supported for the question).
* support `m' as a suffix equivalent to `M'
* in interactive mode, be a bit more sensible about handling errors and EOF
* implement dumpnames(), which takes a char ** and size, and displays
  as per ls -F (sorted, listed vertically) but indented by one tab
* don't assume d_typename and d_packname are NUL terminated
* fix up some comments and some warning messages (bad cut & pastos :)
* deprecate deffstypename() and getfstypename()
* be consistent when using sizeof()
2000-08-14 22:37:08 +00:00
jhawk
df711325aa "boostrap" => "bootstrap" 2000-08-12 18:52:42 +00:00
msaitoh
c832841f5e s/ ar / are / 2000-07-13 10:33:52 +00:00
hubertf
6f0558d9f6 'disklabel -i' on a disk without a label recommends to use -I. Document
that in the usage.
2000-07-13 01:47:22 +00:00
itojun
ddf8cb2acb warnx?/errx? audit. don't pass variable/function return value alone.
use with "%s".  from openbsd.
2000-07-07 12:29:09 +00:00
fvdl
bb159432ef Add a -I flag which, combined with -e, gives the user the opportunity
to edit and create a new label on a virgin disk.
2000-05-31 14:13:48 +00:00
jdolecek
2d6c6df05e add system(3) for spawning the editor - this is handy when EDITOR is set to
something like 'editor arg1 arg2 ...'
2000-05-27 19:01:13 +00:00
thorpej
ead7f2a346 Provide some information when confirming "Write outside MBR partition". 2000-05-25 21:23:37 +00:00
soren
abf17c0cc1 MBR on cobalt too. 2000-05-02 19:00:41 +00:00
nonaka
e4f0173fa3 also use mbr partition table on prep. 2000-05-02 18:21:41 +00:00
enami
07702f68a6 Introduce new filesystem type FS_CCD so that an operator can mark the
ccd component partition.  Note that the ccd driver still allows partitions
of any types as components since an on-disk BSD disklabel isn't available
on some port.
2000-04-05 04:03:20 +00:00
enami
8fa8b77325 Sync disklabel.5 with disklabel.h and dkio.h more closely. 2000-03-16 05:16:19 +00:00
hubertf
48058cc69e s/comprised/composed/, per PR 9586 by Seebs <seebs@ged.plethora.net> 2000-03-09 12:50:36 +00:00
oster
565f0151c5 Note the "RAID" partition type. 2000-02-11 02:05:28 +00:00
soda
6079ffd98c mention that hpcmips and arc use `d' as RAW_PART. 2000-01-31 16:02:43 +00:00
soda
3c7d51f177 - use MBR partition table also on arc.
- use defined(USE_MBR) instead of defined(__i386__), like hpcmips and arc.
2000-01-31 16:01:06 +00:00
perseant
f1dfdc6927 disklabel now understands the p_sgs partition field (shift to compute
segment size from block size).

newfs_lfs now reads the disklabel to find segment, block, and fragment
sizes.  Because reading this info from the wrong fs type could result in
very poor fs layout (e.g. ffs has "16" where the segshift would go,
resulting in 512-*megabyte* segments for 8K blocks), newfs_lfs refuses
to create a filesystem on a partition not labeled "4.4LFS".

Man pages for newfs_lfs updated to reflect this change.
2000-01-18 00:02:28 +00:00
shin
8ceded3101 Add '-DSAVEBOOTAREA' to keep MBR partition information
when NetBSD partition starts at sector 0.
Closes PR:port-hpcmips/9146.
2000-01-09 02:45:43 +00:00
fair
35b8613acb change "millisecond" to "microsecond" for headswitch and track seek
comments, to resolve PR 8189. This makes the documentation for these
fields consistent. Not that it matters - a grep of syssrc shows that
these fields aren't actually used for anything and should probably be
GC'd.
1999-12-20 18:19:18 +00:00
abs
dfa0f92f2e Use '$' instead of '-' to select remainder of disk interactively 1999-12-17 13:06:49 +00:00
abs
669feec4e3 When setting size of partitions interactively allow '-' for remainder of disk 1999-12-17 12:30:02 +00:00
mrg
5f534fca77 allow changing partition info from inside the interactive handler. 1999-11-26 06:03:09 +00:00
shin
7a8dbc6aa3 Fix typo. ('_i386__' -> '__i386__')
Pointed by D'Arcy J.M. Cain, thanks.
1999-10-12 00:36:17 +00:00
shin
39a8a0436e add hpcmips support (MBR) 1999-10-11 05:28:04 +00:00
ross
10078c4c8b don't unbalance { } pairs with #ifdefs or ctags(1) gets confused 1999-09-17 18:30:33 +00:00
abs
b755b885d5 Accept 'Y' for label disk as well as 'y' 1999-09-05 07:27:55 +00:00
bouyer
21521cffe4 Sync with sys/disklabel.h 1999-08-13 10:23:39 +00:00
kleink
03f1e83295 Try $TMPDIR before resorting to _PATH_TMP. 1999-07-21 17:56:34 +00:00
is
a895e91016 Make BSDLFS a EXT2FS-like filesystem, that is, dont print or parse the cpg
field.
According to disklabel.h, its LFS semantics are "segment shift" (log2(segment
size)), but in the code it is used nowhere, and there are even plans to
allow non-poweroftwo segment sizes, so it won't ever work.
While at this, simplify the disktab-like output routine... here, currently,
BSDFFS, BSDLFS, EX2FS and ADOS do the same, so don't duplicate the code.
1999-06-04 19:02:34 +00:00
is
37cb96a063 Print bsize and fsize in disktab-format output also for LFS and ADOS. 1999-06-03 21:15:49 +00:00
is
85270790c6 Print/parse block size, fragment size and cpg for FS_BSDLFS and FS_ADOS.
(cpg has different semantics for LFS and ADOS, but is in use.)
XXX The disktab reading/disktab format output writing needs still to be done.
1999-06-03 20:59:04 +00:00
cgd
50f0c49606 On NetBSD/alpha, go out of the way to read the boot area's contents if -r
is specified, so that the boot blocks aren't clobbered when writing labels.
1999-06-03 01:58:51 +00:00