Commit Graph

276 Commits

Author SHA1 Message Date
aymeric fc91709981 The hpcsh kernel does for sure USE_MBR. Make disklabel use it too on hpcsh.
With this, it is possible to bootstrap a MBR partitioned CF card without
partitioning and disklabelling it first on another platform.
2008-03-11 08:18:22 +00:00
dyoung 6f3106eba2 Let the operator use the DISKLABELSECTOR and DISKLABELOFFSET
environment variables to override the sector number, and the
bytes-offset in the sector, where disklabel(8) writes a disklabel.

If disklabel(8) was compiled as a host tool, then the defaults
still come from the port's LABELOFFSET and LABELSECTOR #defines.
Otherwise, the defaults still come from the sysctls, kern.labelsector
and kern.labeloffset.

This change helps me create a bootable CompactFlash image with both
a Master Boot Record (MBR) and a BSD disklabel for the RouterBOARD
153.  The RB 153 is an evbmips board with a CompactFlash slot.  It
searches the MBR on a CompactFlash card for a partition containing
an ELF kernel.  When disklabel(8) is built for evbmips, it will
ordinarily overwrite an MBR with the BSD disklabel.
2007-06-05 21:48:46 +00:00
matt 1863ad163e Remove defunct B from getopt string. 2007-04-12 18:41:23 +00:00
drochner 628f1591c1 include <signal.h> where signal(3) is used 2007-02-08 21:36:58 +00:00
perry a3b6213467 As pointed out by James Wetterau, we wish to complement, as in the
logical operation, rather than compliment, as in praise, the magic
number of the disk.

There are probably other instances of this in the tree. We should fix
them.
2007-01-27 19:20:28 +00:00
hubertf df06563bc3 Remove more duplicate #includes,
from Slava Semushin <slava.semushin@gmail.com>
2007-01-17 21:59:49 +00:00
nonaka 5637a5d46a zaurus use MBR partition info. 2006-12-18 13:39:10 +00:00
jmmv 91af0d68b1 Add a '-l' flag and a 'L' command to interactive mode to list all known
file system types.  (Similar to what fdisk does for partition types.)

Closes PR bin/12954.
2006-11-26 16:16:31 +00:00
uwe cc439cea4f New NetBSD/landisk port uses MBR too. 2006-09-01 21:44:02 +00:00
christos 29c1a4c22e GCC4 fixes from Mike Pumford 2006-06-25 21:32:39 +00:00
christos 65c3a16644 PR/33695: Arnaud Lacombe: Add compatibility syntax for FreeBSD interoperability. 2006-06-11 15:51:31 +00:00
christos 0bf2e0005a fix gcc warning. 2006-06-07 15:27:13 +00:00
dsl 57c63d8912 Avoid indexing beyond the end of a malloced array.
Rework loop to be less confusing.
Coverty 519 made me read this code, but this isn't the 'bug' it found.
2006-03-18 12:48:35 +00:00
dsl 46b640e7c6 Coverty 521: fclose() temporary file used when editing label. 2006-03-18 11:38:59 +00:00
rumble e973f66640 Gracefully handle out of memory condition. 2006-03-17 14:50:44 +00:00
christos e241178d90 mark vinum as obsolete. 2006-02-25 01:55:00 +00:00
wiz 82924459cb Use more markup, fix xref, serial comma, other misc. fixes. 2006-02-04 20:10:53 +00:00
dsl 79bd2ddb02 Update/rewrite to match reality and in a muchmore succinct format. 2006-01-29 00:04:26 +00:00
jmc fa63539af8 Fix acorn builds 2005-12-07 04:38:32 +00:00
dsl 409a3e040d Fix alpha build - pointed out by Kurt Schreiner on port-alpha 2005-10-20 20:08:33 +00:00
dsl 65151c95f1 Rototil the way disklabel -r reads and writes labels.
In particular the 'read' part plays 'hunt the disklabel' in order to get a
label into a local buffer - from where it can be displayed/edited.
The 'write' part makes a separate scan of the disk looking for places to
write the label.
The main changes are:
- It can no longer write the first 8k of the mbr to the pbr (or v.v.)
- All labels on the disk (that it can find) get updated during a write
- With -A all the labels are displayed (inc. those deleted by -D)
- Addition of -D which will delete (by one's complimenting dk_magic{2}) and
  existing labels before writing labels to the expected locations.
- -v gives some verbose output to stderr, -vv more etc
A better basis for processing incorrect endian labels, or labels from other
architectures.
2005-10-19 21:22:21 +00:00
tsutsui 40d804cfae Sync DK types and FS types with <sys/disklabel.h>.
XXX: More other stuff should be sync'ed?
2005-09-21 14:51:20 +00:00
uwe 066571f357 Oops, brain fart. PRIu32 should be "u", not "d". 2005-08-27 23:34:52 +00:00
uwe d42d0f4fb3 Define PRIu32 in host environments that don't have it defined.
Define it to "d", as we are unlikely to support hosts where int is
smaller than 32 bits anyway :).
2005-08-27 22:38:02 +00:00
uwe a71ee33abc When building as host tool don't include "../../include/util.h".
getlabel{offset,sector} and opendisk functions declared in that file
are not used in this case anyway, and <util.h> pulls in unwatned
includes (e.g. <utmpx.h> doesn't exist on FreeBSD 4.*).

XXX: We can probably undo the #if !HAVE_NBTOOL_CONFIG_H kludge in
<util.h> now.
2005-08-27 22:21:14 +00:00
christos 2c6eadc9ce Move WARNS=3 to the Makefile.inc, and add a little const to the remaining
programs that did not compile before.
2005-06-27 01:00:04 +00:00
fvdl a33a5a18b5 If HOSTPROG is empty, do not pull in libutil, since we do not need it in that
case, and several host platforms do not have libutil. Fixes the build of
these programs as host tools on platforms without libutil.
2005-06-23 00:54:47 +00:00
wiz a2074cd992 Quote Fr so options are sorted properly. 2005-06-19 17:24:20 +00:00
dsl 506fe1826c Rip out the support for writing bootstrap code. installboot(8) contains
support for hp300, hp700 and vax, $MACHINE is never arm32.
Fix usage output to only contain progname() once - bug introduced in rev 1.89
2005-06-17 21:20:18 +00:00
dsl 37bbe98710 Remove the never changed 'bootxx' variable 2005-06-15 20:49:41 +00:00
dsl efb521dba8 Rip out the references to the installation of more than one bootstrap file.
Only arm32 needs the -B stuff at all, all other ports use installboot(8).
2005-06-15 20:31:47 +00:00
dsl f74e227614 Remove all the code that was under 'NUMBOOT > 1' nothing has set that for
a long time.
2005-06-15 20:19:03 +00:00
dyoung 1726c417de Make disklabel(8) into a host-tool, "nbdisklabel." Move disklabel.c
to main.c to avoid a name collision with lib/libc/gen/disklabel.c
when we build nbdisklabel.  Still todo: commit host-tool build
infrastructure to src/tools/disklabel/.
2005-06-12 19:18:34 +00:00
christos 8dba43fbdf Recognize more units and be more helpful when we enter bad units. 2005-04-07 21:27:44 +00:00
xtraeme 76500fc2f9 WARNS=2 is the default defined in sbin/Makefile.inc. (thanks wiz) 2005-01-20 16:39:22 +00:00
xtraeme ad7c30a166 WARNS=2 2005-01-20 15:52:09 +00:00
hubertf 531272da6c Translate an error message from C to english.
Before:	disklabel: warning, partition g: offset % cylinder-size != 0
After:	disklabel: warning, partition g: not starting on cylinder boundary
2004-11-12 01:00:40 +00:00
gavan 0560d8b947 Initial import of iyonix port.
The Iyonix is a desktop machine from Castle Technology, based on a 600MHz
XScale[tm] 80321 processor.

* Uses the bootloader from NetBSD/acorn32, which is now 32-bit compatible.
* Currently boots multiuser with a serial console.
* Device support is not yet complete.

With help from abs.
2004-10-13 23:28:34 +00:00
enami fdca3f0cf1 Warn overlapping partitions (except the one marked as FS_UNUSED).
Address PR#10777.
2004-07-13 21:23:13 +00:00
jkunz 93856baf4d Add hp700 MD options for proper boot code handling. 2004-06-28 18:21:43 +00:00
enami 4a723d4f79 A variable referenced isn't `write only'.
Wrap long line and fix some indent while here.
2004-06-24 03:13:00 +00:00
abs cb52ff7f22 Fix some interesting disklabel lossage:
If the input to 'disklabel' (non -i) referenced a partition two or more
larger than that permitted by npartitions it would error out with 'bad
partition name' (and the option given to re-edit if -e). If a partition one
larger was used it would be dropped from the disklabel with a warning and the
label written anyway! The (off by one) check for a bad partition name was
against npartitions anyway, rather than MAXPARTITIONS. npartitions was just
read from the disklabel and could have been set to an arbitrary value.

Given 'disklabel -i' sets npartitions automatically, make the normal case
check partition names against MAXPARTITIONS, and if necessary increase
npartitions to the size needed to hold the last partition used.

While here remove two 'write only' uses of a 'part' variable.
2004-06-22 18:32:45 +00:00
snj 0e4b8938d9 Bump date for last. Put the exit EXIT STATUS section in the right place.
New sentence, new line.  Correct two typos.
2004-05-28 20:46:52 +00:00
erh 932a41d42e Make it possible to distinguish between exit values that indicate errors,
and those that are warnings.  Document the exit statuses in the man page.
2004-05-28 17:46:49 +00:00
wiz d5ca829d8b Single-letter options do not need a line each; add more
commas; drop trailing whitespace; use Pa where appropriate.
2004-03-20 18:51:06 +00:00
dyoung 863043691e Add flag -F to disklabel. Flag -F indicates that the target of the
disklabel operation is a file, not a disk. With -t disktab and -T
disktype, the user may tell disklabel the "geometry" for the file.
2004-03-19 18:22:31 +00:00
wiz f05120b375 Add Xref to mscdlabel, bump date. 2004-03-18 21:13:19 +00:00
christos c89e18bcd0 Fix remaining issues:
- use getulong everywhere for proper range checking
	- fix error checking in getulong
2004-03-14 00:39:53 +00:00
dsl f1c67110ff Fix breakage of last commit (disklabel -R just plain didn't work!)
Convert two large nasty #defines into much smaller (still nasty) #defines
that call proper functions.
Fixes PR 24765
2004-03-13 22:04:37 +00:00
itojun 6c57d297ac use strtoul() instead of atoi(). have proper range check for each fields. 2004-02-29 21:31:14 +00:00