Commit Graph

70 Commits

Author SHA1 Message Date
matt
af8f0546ca Make disklabel a MI tool. It will use MACHINE/MACHINE_ARCH to determine
the disklabel params as well as allowing command-line options of -M <machine>
and -B {le,be} to specify MACHINE and byteorder to be used.
2013-05-03 16:05:11 +00:00
bouyer
a47e2eb758 Add getlabelusesmbr(), as proposed in
http://mail-index.netbsd.org/tech-userlevel/2011/08/25/msg005404.html
This is used by disk tools such as disklabel(8) to dynamically decide is
the undelyling platform uses a disklabel-in-mbr-partition or not
(instead of using a compile-time list of ports).
getlabelusesmbr() reads the sysctl kern.labelusesmbr, takes its value from the
machdep #define LABELUSESMBR.
For evbmips, make LABELUSESMBR 1 if the platform uses pmon
as bootloader, and 0 (the previous value) otherwise.
2011-08-30 12:39:49 +00:00
phx
233e75c9c0 Define USE_MBR for ofppc. 2011-08-18 08:42:07 +00:00
dholland
df520b1013 Disable COMPAT_386BSD_MBRPART. The code is still here if anyone needs it
for some reason. (But I have no idea why that would be -- if you have one
of these really ancient partitions and you're about to run disklabel, you
can easily run fdisk first and change the partition type to NetBSD.)

As it stands, the code will munch FreeBSD installs under some
circumstances, which is really not acceptable behavior.

The code, along with the kernel support that's been disabled by
default for several years, and some related but less dangerous code in
sysinst, should prboably be removed entirely after -6 is branched.

Discussed on tech-kern and tech-userlevel; closes PR 44496.

This is also almost certainly the cause of PR 42521 and PR 38841.
2011-02-12 22:23:01 +00:00
nakayama
1c54a66d99 System utilities, boot programs and kernel modules are machine
(port) specific not CPU, so use MACHINE not MACHINE_ARCH.
2009-12-13 05:01:32 +00:00
pooka
d6224f4507 Remove support for NetBSD/playstation2. 2009-12-05 16:29:10 +00:00
tsutsui
e7730664e0 Don't use #ifdef __${MACHINE_ARCH}__ to enable machine dependent features.
Instead, use proper macro defined in Makefile per ${MACHINE_ARCH}.

__${MACHINE_ARCH}__ doesn't represent an architecture of tool's target
but an architecture of binaries being compiled, so required features
are not prolery enabled or unintentionally enabled on certain host
and target combinations during src/tools build.
2009-11-28 12:14:53 +00:00
tsutsui
93f39165ae Make dreamcast, evbsh3, and mmeye use -DUSE_MBR.
All of these ports use src/sys/arch/sh3/sh3/disksubr.c
which is MBR aware.
2009-11-28 11:26:36 +00:00
abs
515e52158b Convert more MACHINE tests to MACHINE_ARCH 2009-02-14 13:50:50 +00:00
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
nonaka
5637a5d46a zaurus use MBR partition info. 2006-12-18 13:39:10 +00:00
uwe
cc439cea4f New NetBSD/landisk port uses MBR too. 2006-09-01 21:44:02 +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
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
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
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
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
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
jkunz
93856baf4d Add hp700 MD options for proper boot code handling. 2004-06-28 18:21:43 +00:00
lukem
1fa0b4f2cc * Enable SAVEBOOTAREA on i386 and amd64 (by merging the Makefile
controls with the section for the other MBR-using platforms that
  already enable this)
* Don't prompt the user to "erase the previous contents of the disk"
  when there's no NetBSD MBR partition; SAVEBOOTAREA is sufficient.

These fixes mean that you can create a disklabel (on an i386/amd64) on a disk
that doesn't have a NetBSD MBR partition without trashing the existing MBR.
The previous behaviour was extremely annoying when working with media such
as FAT-formatted CF cards, and didn't really protect people with such from
accidentally trashing part of sector 1 of such disks, and made it extremely
easy to trash sectors 0..15 of those disks instead.
2004-01-18 22:34:22 +00:00
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
fvdl
043f21d9ea x86_64 -> amd64 2003-04-26 19:14:17 +00:00
fvdl
53d30b7a60 Handle MBRs for x86_64. 2002-12-11 14:28:46 +00:00
manu
3966af389b Enable USE_MBR for all arm ports. 2002-07-28 15:17:38 +00:00
itojun
a532d33818 USE_MBR on macppc too 2002-06-18 00:21:53 +00:00
bjh21
f8840ef0ab Rename arm26 -> acorn26. 2002-03-24 22:25:27 +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
minoura
d7835b08b0 Preserve the boot area on x68k. 2001-11-19 13:55:06 +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
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
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
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
shin
39a8a0436e add hpcmips support (MBR) 1999-10-11 05:28: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
kleink
de8c37eadc Update a pasto-ed comment. 1999-04-09 16:00:17 +00:00
pk
832bb22922 Enable non-cylinder-aligned partition warning on sparc[64] & sun3.
See also PR#6853.
1999-01-21 11:58:00 +00:00
drochner
699af7acdd Handle new MBR partition ID on i386. Put all code which decides about
usability of an entry to one place, use same algorithm as kernel (ie,
check signature).
1998-03-02 16:26:47 +00:00
mark
1d23b0901e Define NUMBOOT=1 for the arm32 port. 1997-10-18 07:28:47 +00:00
christos
e230a48b57 CFLAGS->CPPFLAGS 1997-10-10 19:47:50 +00:00
lukem
216ef04613 switch to using opendisk(3) from libutil 1997-09-25 05:08:28 +00:00
lukem
2ddc10a0ab define WARNS?=1 for all of sbin/* 1997-09-15 12:45:47 +00:00
christos
5ec7cc78a5 Fix warnings. 1997-06-30 22:51:27 +00:00
perry
bdb6d3716b i386 now uses "installboot" for installing boot blocks. Comment out
the CFLAGS+= -DNUMBOOT=2 for now.
1997-06-07 00:47:27 +00:00
christos
f3703d3a82 Remove -g 1997-03-18 21:27:16 +00:00
christos
5a6005a07e Off by one. 1997-03-18 21:26:43 +00:00
perry
e27abe4739 Nuke obsolete special case .if for amigas. 1997-03-14 22:49:51 +00:00