Home | History | Annotate | only in /src/usr.sbin/sysinst
History log of /src/usr.sbin/sysinst
RevisionDateAuthorComments
 1.4 06-Jan-2024  thorpej First crack at virt68k sysinst support, more-or-less cloned from mvme68k
with the names changed to protect the guilty and boot block installation
removed.
 1.3 24-Jan-2018  skrll Remove port-acorn26

OK core@
 1.2 26-Jul-2014  dholland branches: 1.2.2; 1.2.6;
Add a dummy sysinst architecture for ports that don't have their own yet.

This makes the presence of sysinst in /usr/sbin MI (as intended) --
remember that one of the goals is for sysinst to be able to install
chroots, and installing a chroot is a sensible operation on all ports,
even those for which an installer per se might not make sense.

Currently this dummy architecture fails instead of doing anything, but
as they say, one thing at a time.
 1.1 26-Jul-2014  dholland Move sysinst sources to usr.sbin.

This commit only physically moves the sources - there are no other
changes, to maximize the probability that this will be treated as a
rename if we ever do manage to migrate away from CVS.

Moving sysinst has been discussed on and off for years and has two
goals: making it easier to work on sysinst, and also making sysinst
available on running systems for use installing chroots and VM images
and other such things. None of the latter is possible yet, but as they
say, one thing at a time.

Doing this now was approved in an impromptu fashion by mrg, riz,
riastradh, me, and groo.
 1.2.6.2 20-Aug-2014  tls Rebase to HEAD as of a few days ago.
 1.2.6.1 26-Jul-2014  tls file Makefile was added on branch tls-maxphys on 2014-08-20 00:05:13 +0000
 1.2.2.2 10-Aug-2014  tls Rebase.
 1.2.2.1 26-Jul-2014  tls file Makefile was added on branch tls-earlyentropy on 2014-08-10 07:00:24 +0000
 1.51 19-Sep-2025  mrg avoid various seemingly bogus warnings with GCC 14.

i couldn't see any real case for any of these issues. it seems like
the "maybe uninit" checker has gotten worse.

additionally, the "dangling pointer" checker also failing.
 1.50 01-Dec-2024  martin Deal with false positive maybe-uninitialized warnings from gcc when
compiling net.c with -O0
 1.49 22-Apr-2024  nia branches: 1.49.2;
Move MIPS N64 compat out of {base,debug}32 into {base,debug}64

martin requested separation by ABI and it doesn't make much sense
to have 64-bit binaries in a set called 32.
 1.48 09-Apr-2024  nia Add new sets: base32, debug32, manhtml

- base32 contains (when MKCOMPAT=yes) shared libraries for 32-bit
compatibility, previously included in base

- debug32 contains (when MKCOMPAT=yes) debug symbols and static libraries
containing debug symbols for 32-bit compatiblity, previously included
in debug

- manhtml contains (when MKHTML=yes) the HTML files previously included
in 'man', which are of limited utility without third-party software.

The motivation for this change is to be able to easily exclude sets
from CD-ROM images that go over the size limit without xz compression
(which many NetBSD platforms struggle to extract at acceptable speeds).
 1.47 28-Nov-2023  martin PR 57729: clean up PKG_PATH for official RC (and similar) versions,
like we do for the daily builds.
 1.46 03-Jun-2023  lukem bsd.own.mk: rename GCC_NO_* to CC_WNO_*

Rename compiler-warning-disable variables from
GCC_NO_warning
to
CC_WNO_warning
where warning is the full warning name as used by the compiler.

GCC_NO_IMPLICIT_FALLTHRU is CC_WNO_IMPLICIT_FALLTHROUGH

Using the convention CC_compilerflag, where compilerflag
is based on the full compiler flag name.
 1.45 09-Jan-2022  martin branches: 1.45.2;
Install sysinst message catalogs.
 1.44 08-Oct-2021  martin Re-enable the entropy handling code in sysinst (only visible on machines
that do not have full entropy), but move it to the config menu
instead of enforcing it as mandatory step.

This menu is shown at the end of the setup, or if explicitly invoked
from the main menu.

Some of the input options are complex but useful in some situations
and code to support them is tiny. Most users will use the manual input
(first + default option) but some might prefer to connect a USB TRNG
or have easy setups to transfer entropy from another machine (while
copy & paste on a serial console sometimes is tricky).
 1.43 26-Sep-2021  maya Restore MKNOUVEAUFIRMWARE and MKRADEONFIRMWARE and make gpufw set unconditional

Simplifies logic.
(Second commit - first one was partial)

Restoring MK* requested by mrg on tech-kern discussion
https://mail-index.netbsd.org/tech-kern/2021/09/25/msg027695.html
 1.42 25-Sep-2021  maya Move DRM-driver firmware from base to its own set, gpufw

This set is only installed on amd64,i386,evbarm.
This set is installed on minimal installs and on install media, in
case someone needs it for basic driver functionality.

Comments:
Switched to a single MK tunable for it - that is probably unneeded.

An upcoming DRM update will include even fatter firmware, and we'd
like to minimize the impact of it.
 1.41 13-Jul-2021  martin PR install/56303: when using xz files enable swap during set extraction
if the machine does not have more than 256MB of RAM.
 1.40 13-Apr-2021  mrg some platforms trip -fcommon here too. we should fix this.
 1.39 13-Apr-2021  mrg apply some -Wno- to ignore several new warnings with GCC 10.


ntp: ignore truncation beyond api sizes, and ignore wrongly
guessed underflow

tmux: ignore maybe uninitialised warning for impossible case

libbfd: signed/unsigned variables assigned in the same statement

dri/gallium: -Wno-builtin-declaration-mismatch for u_atomic.c as
it implements backend functions with different in-C-machine but
same-in-real-machine types

libXfont/libXfont2: signed/unsigned variables assigned in the same
statement

i915drm: ignore impossible maybe uninitialised warnings

sysinst: ignore an invalid string truncation issue
 1.38 13-Nov-2020  martin Disable all entropy checks for now untill consensus has been found how
to properly deal with it.
 1.37 04-Nov-2020  martin Add (experimental) entropy input support:
Early during new installs or after upgrades we check if entropy is
available. If not (no hardware random number generator available)
we inform the user and ask them to fix it.
 1.36 30-Oct-2020  martin PR 55769: avoid the module set if we do not build any
 1.35 18-May-2020  jmcneill Separate devicetree .dts -> .dtb building from kernel builds. They are now
part of a separate set, "dtb.tgz", and only built when MKDTB=yes. This
defaults to yes for earmv[67]* and aarch64, and no everywhere else.
 1.34 19-Feb-2020  martin Do not force -Os optimization (unless SMALLPROG)
 1.33 19-Feb-2020  martin Rever previous: the d_packname in struct disklabel is not NUL terminated.
Disable the warning instead.
 1.32 19-Feb-2020  martin Move sysinst man page next to the source
 1.31 16-Dec-2019  martin Fix the pattern creating the relative path for distribution sets
on branches: we missed the potential numbers in suffixes, like _RC1.
 1.30 14-Nov-2019  martin Make tar extraction flags depend on our usage of pax-as-tar or bsdtar.
 1.29 13-Nov-2019  martin Make cloning support optional, so we can save some space on very small
install media.
 1.28 31-Oct-2019  martin After RELEASEMACHINEDIR has the right defaults now, simplify subdir settings
and do not hardcode any architecture exceptions.
 1.27 13-Oct-2019  mrg introduce some common variables for use in GCC warning disables:

GCC_NO_FORMAT_TRUNCATION -Wno-format-truncation (GCC 7/8)
GCC_NO_STRINGOP_TRUNCATION -Wno-stringop-truncation (GCC 8)
GCC_NO_STRINGOP_OVERFLOW -Wno-stringop-overflow (GCC 8)
GCC_NO_CAST_FUNCTION_TYPE -Wno-cast-function-type (GCC 8)

use these to turn off warnings for most GCC-8 complaints. many
of these are false positives, most of the real bugs are already
commited, or are yet to come.


we plan to introduce versions of (some?) of these that use the
"-Wno-error=" form, which still displays the warnings but does
not make it an error, and all of the above will be re-considered
as either being "fix me" (warning still displayed) or "warning
is wrong."
 1.26 06-Oct-2019  mrg remove, not comment, the partman.c option
 1.25 06-Oct-2019  mrg avoid calling snprintf/strlcat with an input parameter the same
as the output. from martin@. fixes gcc 8 restrict warnings.
 1.24 04-Oct-2019  mrg turn off various warnings for various things:

- file has looks bogus maybe-uninitialized
- llvm triggers an attribute violation:
ScheduleDAGInstrs.cpp:1430:14: error: declaration of
'llvm::raw_ostream& llvm::operator<<(llvm::raw_ostream&, const llvm::ILPValue&)'
with attribute 'noinline' follows inline declaration [-Werror=attributes]
- ntp and pkg_install have obvious restrict violations, should be
fixed but i'm avoiding patching upstream code in this pass
- tftp has an array bounds that doesn't seem real issue
- sysinst's partman.c has major problem with passing the same
string as source and dest in snprintf, as a way to strcat
with formatting which trip restrict violations. non trivial
to fix so for now the warning is elided.
- Xext's XEVI.c has similar issue as partman.c

everyone and GCC 8 gets these warnings turned off for now:

-Wno-format-truncation
-Wno-stringop-overflow
-Wno-stringop-truncation
-Wno-cast-function-type

as they trip a large amount of code. most of them should be
investigated, but the few i looked at were not finding actually
real bugs, vs instances of poor coding, so skipping for now.
 1.23 29-Sep-2019  mrg convert HAVE_GCC == 7 to HAVE_GCC >= 7.
 1.22 20-Jun-2019  christos branches: 1.22.2;
remove format warning.
 1.21 17-Jun-2019  martin Avoid format-nonliteral warnings from msgc generated files for now
 1.20 12-Jun-2019  martin Rework internal data structures and "interfaces to user interface" functions
to get rid of all disklabel assumptions.

Previously (even for GPT partitioning) struct disklabel was used, which
obviously breaks large disk setups. Also many MD parts and parts of the
user interface assumed (a) a struct disklabel is used internally to
store partitioning information and (b) partitions are named 'a' ... $MAXPART.

Get rid of this and replace it with a quite abstract interface that should
be able to deal with all variants in partition storage:

- partitions are stored in a (partly abstract) struct disk_partitions
and most parts of it are only accessed via accessor functions provided
by a "partitioning scheme".

- implement partitioning schemes for MBR, disklabel and GPT (with likely
RDB [amiga] and Apple Partition Map [mac*] to follow soon)

- partitioning schemes may be cascaded, e.g. on x86 when using MBR as
"outer partitions", we have disklabel as "inner partitions".

- all user interface goes via accessor functions in the partitioning scheme,
some of which return pointers to special user interface descriptors
(e.g. to allow editing partition flags, which are scheme specific)

Overall the user interface changes (in this initial step) are minimal but
noticable. A new Anita is needed for automatic test setups - many thanks
to Andreas Gustafsson for lots of early testing and a new Anita version,
and to Manuel Bouyer for cooperation and tests of the Anita release.

This work was sponsored by The NetBSD Foundation, Inc.
 1.19 12-Feb-2019  martin Backout previous snprintf nonsense, instead STFU gcc 7's most
useless warning ever.
 1.18 11-Feb-2019  martin Make sure we properly truncate snprintf() results when the target buffer
is too small, in a way that appeases gcc 7 warnings.
 1.17 04-Feb-2019  mrg use -Wno-error=format-truncation for code that seems particularly annoying
or unlikely to actually fail. some of the syslogd ones are not too hard
to fix, but most remain.
 1.16 17-Dec-2018  uwe Fix line continuations in previous.
 1.15 16-Dec-2018  martin Separate binary sets and binary pkg prefix from the machine, and set
it explicitly for evbarm*, evbmips* and evbsh3 so we get the correct
64bit pkgs on aarch64 and also have working defaults on the other
variants.
 1.14 06-Oct-2018  martin Support sets in .tar.xz format
 1.13 20-Sep-2018  rin Add NOPARTMAN compile-time option, which drops extended partitioning
support provided by partman.c. It reduces, e.g., about 30KB for
crunched binary in atari install floppy.

OK christos
 1.12 16-Sep-2018  martin Now that the build cluster creates stable "latest" links, use them
as default for downloading sets.
 1.11 12-Sep-2018  martin Try to properly guess a path on the ftp server for pkg binaries
and use that as default.

Assume for $N.99 (current) we can use $N.0. Otherwise strip all
RC*/STABLE* annotations and just use the plain numbers.
 1.10 05-Sep-2018  martin Try to guess the proper directory on ftp or nyftp where the binary
sets for the current build will end up.
 1.9 08-Jun-2016  christos branches: 1.9.14; 1.9.16;
elide stack protector warning
 1.8 17-May-2015  martin Do not -DCATALOG_DIR for DEBUG builds to allow easy (local) testin of
translations.
 1.7 10-May-2015  martin Sort DBG vs CPPFLAGS in the DEBUG case, as requested by Christos
 1.6 09-May-2015  martin Make gcc generate better debug info when building with DEBUG set.
 1.5 06-Aug-2014  martin branches: 1.5.2; 1.5.4; 1.5.6;
Do not install message catalogs
 1.4 05-Aug-2014  martin Install language files
 1.3 03-Aug-2014  martin (Finally) merge a slightly modified version of the 2012 GSoC results
from Eugene Lozovoy: add extended partitioning options to sysinst.
Still needs some testing and polishing, but it now is possible to use GPT
or to create a RAID set from scratch and install onto it.
 1.2 26-Jul-2014  dholland Update for building in usr.sbin.
 1.1 26-Jul-2014  dholland Move sysinst sources to usr.sbin.

This commit only physically moves the sources - there are no other
changes, to maximize the probability that this will be treated as a
rename if we ever do manage to migrate away from CVS.

Moving sysinst has been discussed on and off for years and has two
goals: making it easier to work on sysinst, and also making sysinst
available on running systems for use installing chroots and VM images
and other such things. None of the latter is possible yet, but as they
say, one thing at a time.

Doing this now was approved in an impromptu fashion by mrg, riz,
riastradh, me, and groo.
 1.5.6.2 20-Aug-2014  tls Rebase to HEAD as of a few days ago.
 1.5.6.1 06-Aug-2014  tls file Makefile.inc was added on branch tls-maxphys on 2014-08-20 00:05:13 +0000
 1.5.4.1 11-May-2015  msaitoh Pull up following revision(s) (requested by martin in ticket #746):
usr.sbin/sysinst/Makefile.inc: revision 1.6-1.7
Make gcc generate better debug info when building with DEBUG set.
 1.5.2.2 10-Aug-2014  tls Rebase.
 1.5.2.1 06-Aug-2014  tls file Makefile.inc was added on branch tls-earlyentropy on 2014-08-10 07:00:24 +0000
 1.9.16.2 13-Apr-2020  martin Mostly merge changes from HEAD upto 20200411
 1.9.16.1 10-Jun-2019  christos Sync with HEAD
 1.9.14.4 26-Dec-2018  pgoyette Sync with HEAD, resolve a few conflicts
 1.9.14.3 20-Oct-2018  pgoyette Sync with head
 1.9.14.2 30-Sep-2018  pgoyette Ssync with HEAD
 1.9.14.1 06-Sep-2018  pgoyette Sync with HEAD

Resolve a couple of conflicts (result of the uimin/uimax changes)
 1.22.2.3 15-Oct-2020  bouyer Pull up following revision(s) (requested by martin in ticket #1113):
usr.sbin/sysinst/bsddisklabel.c: revision 1.46
usr.sbin/sysinst/bsddisklabel.c: revision 1.47
usr.sbin/sysinst/disklabel.c: revision 1.40
usr.sbin/sysinst/arch/cobalt/md.c: revision 1.13
usr.sbin/sysinst/bsddisklabel.c: revision 1.48
usr.sbin/sysinst/disklabel.c: revision 1.41
usr.sbin/sysinst/arch/cobalt/md.c: revision 1.14
usr.sbin/sysinst/bsddisklabel.c: revision 1.49
usr.sbin/sysinst/disklabel.c: revision 1.42
usr.sbin/sysinst/Makefile.inc: revision 1.34
usr.sbin/sysinst/disks.c: revision 1.70
usr.sbin/sysinst/arch/hp300/md.c: revision 1.11
usr.sbin/sysinst/disks.c: revision 1.71
usr.sbin/sysinst/arch/i386/md.h: revision 1.8
usr.sbin/sysinst/arch/arc/md.c: revision 1.13
usr.sbin/sysinst/mbr.h: revision 1.5
usr.sbin/sysinst/mbr.h: revision 1.6
usr.sbin/sysinst/arch/mac68k/md.c: revision 1.10
usr.sbin/sysinst/bsddisklabel.c: revision 1.50
usr.sbin/sysinst/arch/acorn32/md.c: revision 1.7
usr.sbin/sysinst/bsddisklabel.c: revision 1.51
usr.sbin/sysinst/bsddisklabel.c: revision 1.52
usr.sbin/sysinst/bsddisklabel.c: revision 1.53
usr.sbin/sysinst/bsddisklabel.c: revision 1.54
usr.sbin/sysinst/bsddisklabel.c: revision 1.55
usr.sbin/sysinst/bsddisklabel.c: revision 1.56
usr.sbin/sysinst/arch/dummy/md.c: revision 1.6
usr.sbin/sysinst/arch/amd64/md.h: revision 1.9
usr.sbin/sysinst/arch/evbsh3/md.c: revision 1.6
usr.sbin/sysinst/arch/sparc/md.c: revision 1.6
usr.sbin/sysinst/arch/zaurus/md.c: revision 1.10
usr.sbin/sysinst/arch/x68k/md.c: revision 1.11
usr.sbin/sysinst/arch/sandpoint/md.c: revision 1.9
usr.sbin/sysinst/arch/vax/md.c: revision 1.7
usr.sbin/sysinst/arch/luna68k/md.c: revision 1.9
usr.sbin/sysinst/gpt.c: revision 1.19
usr.sbin/sysinst/arch/i386/md.c: revision 1.31
usr.sbin/sysinst/arch/i386/md.c: revision 1.32
usr.sbin/sysinst/arch/evbarm/md.c: revision 1.17
usr.sbin/sysinst/arch/evbarm/md.c: revision 1.18
usr.sbin/sysinst/arch/evbarm/md.c: revision 1.19
usr.sbin/sysinst/arch/shark/md.c: revision 1.6
usr.sbin/sysinst/arch/landisk/md.c: revision 1.14
usr.sbin/sysinst/util.c: revision 1.43
usr.sbin/sysinst/gpt.c: revision 1.20
usr.sbin/sysinst/util.c: revision 1.44
usr.sbin/sysinst/gpt.c: revision 1.21
usr.sbin/sysinst/gpt.c: revision 1.22
usr.sbin/sysinst/arch/evbarm/msg.md.en: revision 1.2
usr.sbin/sysinst/arch/ofppc/md.c: revision 1.11
usr.sbin/sysinst/util.c: revision 1.46
usr.sbin/sysinst/arch/ofppc/md.c: revision 1.12
usr.sbin/sysinst/util.c: revision 1.47
usr.sbin/sysinst/arch/evbarm/md.h: revision 1.6
usr.sbin/sysinst/util.c: revision 1.48
usr.sbin/sysinst/arch/evbarm/md.h: revision 1.7
usr.sbin/sysinst/arch/evbmips/md.c: revision 1.9
usr.sbin/sysinst/msg.mi.fr: revision 1.28
usr.sbin/sysinst/msg.mi.fr: revision 1.29
usr.sbin/sysinst/arch/sgimips/md.c: revision 1.9
usr.sbin/sysinst/arch/evbarm/Makefile: revision 1.3
usr.sbin/sysinst/msg.mi.de: revision 1.23
usr.sbin/sysinst/arch/hpcsh/md.c: revision 1.10
usr.sbin/sysinst/msg.mi.de: revision 1.24
usr.sbin/sysinst/install.c: revision 1.15
usr.sbin/sysinst/install.c: revision 1.16
usr.sbin/sysinst/arch/sparc64/md.c: revision 1.6
usr.sbin/sysinst/install.c: revision 1.17
usr.sbin/sysinst/install.c: revision 1.18
usr.sbin/sysinst/partitions.h: revision 1.16
usr.sbin/sysinst/install.c: revision 1.19
usr.sbin/sysinst/partitions.h: revision 1.17
usr.sbin/sysinst/arch/evbppc/md.c: revision 1.9
usr.sbin/sysinst/arch/playstation2/md.c: revision 1.9
usr.sbin/sysinst/partitions.h: revision 1.18
usr.sbin/sysinst/arch/hpcarm/md.c: revision 1.9
usr.sbin/sysinst/partitions.h: revision 1.19
usr.sbin/sysinst/msg.mi.es: revision 1.24
usr.sbin/sysinst/msg.mi.es: revision 1.25
usr.sbin/sysinst/msg.mi.es: revision 1.26
usr.sbin/sysinst/arch/zaurus/md.c: revision 1.9
usr.sbin/sysinst/target.c: revision 1.13
usr.sbin/sysinst/target.c: revision 1.14
usr.sbin/sysinst/part_edit.c: revision 1.17
usr.sbin/sysinst/part_edit.c: revision 1.18
usr.sbin/sysinst/msg.mi.fr: revision 1.30
usr.sbin/sysinst/arch/mvme68k/md.c: revision 1.11
usr.sbin/sysinst/part_edit.c: revision 1.19
usr.sbin/sysinst/msg.mi.fr: revision 1.31
usr.sbin/sysinst/arch/alpha/md.c: revision 1.9
usr.sbin/sysinst/msg.mi.en: revision 1.30
usr.sbin/sysinst/defs.h: revision 1.56
usr.sbin/sysinst/msg.mi.en: revision 1.31
usr.sbin/sysinst/defs.h: revision 1.57
usr.sbin/sysinst/msg.mi.en: revision 1.32
usr.sbin/sysinst/arch/amiga/md.c: revision 1.6
usr.sbin/sysinst/arch/hpcmips/md.c: revision 1.9
usr.sbin/sysinst/defs.h: revision 1.58
usr.sbin/sysinst/arch/cats/md.c: revision 1.5
usr.sbin/sysinst/defs.h: revision 1.59
usr.sbin/sysinst/arch/newsmips/md.c: revision 1.6
usr.sbin/sysinst/arch/pmax/md.c: revision 1.8
usr.sbin/sysinst/arch/mipsco/md.c: revision 1.8
usr.sbin/sysinst/part_edit.c: revision 1.20
usr.sbin/sysinst/part_edit.c: revision 1.21
usr.sbin/sysinst/arch/macppc/md.c: revision 1.6
usr.sbin/sysinst/part_edit.c: revision 1.22
usr.sbin/sysinst/part_edit.c: revision 1.23
usr.sbin/sysinst/part_edit.c: revision 1.24
usr.sbin/sysinst/defs.h: revision 1.60
usr.sbin/sysinst/arch/mac68k/Makefile: revision 1.3
usr.sbin/sysinst/defs.h: revision 1.61
usr.sbin/sysinst/defs.h: revision 1.63
usr.sbin/sysinst/defs.h: revision 1.64
usr.sbin/sysinst/defs.h: revision 1.65
usr.sbin/sysinst/label.c: revision 1.21
usr.sbin/sysinst/defs.h: revision 1.66
usr.sbin/sysinst/label.c: revision 1.22
usr.sbin/sysinst/defs.h: revision 1.67
usr.sbin/sysinst/label.c: revision 1.23
usr.sbin/sysinst/label.c: revision 1.24
usr.sbin/sysinst/label.c: revision 1.25
usr.sbin/sysinst/label.c: revision 1.26
usr.sbin/sysinst/label.c: revision 1.27
usr.sbin/sysinst/msg.mi.pl: revision 1.31
usr.sbin/sysinst/label.c: revision 1.28
usr.sbin/sysinst/msg.mi.pl: revision 1.32
usr.sbin/sysinst/label.c: revision 1.29
usr.sbin/sysinst/arch/atari/md.c: revision 1.7
usr.sbin/sysinst/disklabel.c: revision 1.36
usr.sbin/sysinst/disklabel.c: revision 1.37
usr.sbin/sysinst/disklabel.c: revision 1.38
usr.sbin/sysinst/disklabel.c: revision 1.39
usr.sbin/sysinst/arch/bebox/md.c: revision 1.9
usr.sbin/sysinst/mbr.c: revision 1.32
usr.sbin/sysinst/disks.c: revision 1.66
usr.sbin/sysinst/mbr.c: revision 1.33
usr.sbin/sysinst/disks.c: revision 1.67
usr.sbin/sysinst/mbr.c: revision 1.34
usr.sbin/sysinst/arch/emips/md.c: revision 1.9
usr.sbin/sysinst/disks.c: revision 1.68
usr.sbin/sysinst/partitions.c: revision 1.11
usr.sbin/sysinst/mbr.c: revision 1.35
usr.sbin/sysinst/disks.c: revision 1.69
usr.sbin/sysinst/mbr.c: revision 1.36
usr.sbin/sysinst/arch/hppa/md.c: revision 1.8
usr.sbin/sysinst/arch/prep/md.c: revision 1.13
usr.sbin/sysinst/label.c: revision 1.30
usr.sbin/sysinst/arch/ews4800mips/md.c: revision 1.7
usr.sbin/sysinst/main.c: revision 1.21
usr.sbin/sysinst/main.c: revision 1.22
usr.sbin/sysinst/main.c: revision 1.23
usr.sbin/sysinst/bsddisklabel.c: revision 1.40
usr.sbin/sysinst/main.c: revision 1.24
usr.sbin/sysinst/arch/cobalt/md.h: revision 1.6
usr.sbin/sysinst/bsddisklabel.c: revision 1.41
usr.sbin/sysinst/main.c: revision 1.25
usr.sbin/sysinst/arch/news68k/md.c: revision 1.7
usr.sbin/sysinst/bsddisklabel.c: revision 1.42
usr.sbin/sysinst/bsddisklabel.c: revision 1.43
usr.sbin/sysinst/bsddisklabel.c: revision 1.44
usr.sbin/sysinst/bsddisklabel.c: revision 1.45
Use strlcpy in a few places to guarnatee 0-terminated strings
Rever previous: the d_packname in struct disklabel is not NUL terminated.
Disable the warning instead.
Do not force -Os optimization (unless SMALLPROG)
Remove unused "rel" global variable and make the -r option a no-op.
PR 55045: strlcpy(NULL, ..., 0) considered harmfull in some implementations.
PR misc/54886: bump threshold for automatic/default creation of a tmpfs /tmp
up slightly (to 384 MB ram). This will make sure the default install has
a > 64 MB /tmp available (number pulled out of thin air, 64 MB is the minimum
required by the ZFS tests).
Don't depend on common symbol definitions.
boardype should not be common.
Redo the root-size-limit check again after we grew the root partition
for kernel dumps. Auto-enable the /usr partition if it overflows.
For all non-root partitions, default to FFSv2.
When extending a partition (to fill the total disk size) do respect
size limits.
Do not suggest a size limited partition for extension by default.
Minor tweak to previous: when forcing a /usr partition just to have an
arbitrary extendable partition, still use its default size initially.
At the end of a new installation save entropy.
Ooops, backout previous - twice the entropy saving is not needed.
Instead slightly improve the (slightly) hidden other code that already
did it.
PR 55202: disable swapping if we started it due to low ram
it's "its"
Remove "If you booted from a floppy" message
Set HAVE_INSTALL_IMAGE for evbarm
Change mountpoint of boot ext2fs from /stand to /ext2 to avoid conflict.
Should be pulled up to netbsd-9, with fixes of PR/55060.
MBR type for Ext2 should be MBR_PTYPE_LNXEXT2, not MBR_PTYPE_FAT12.
Silence -Wstringop-truncation for ``name'' in disp_selected_part().
This variable is used only for display, and truncation seems harmless.
PR 55572: avoid crash when answering the mount point prompt for a previously
empty mount point with an emptry sting.
When adding a new partition in the concrete partition editor, make sure
to set a pointer to the partition table interface in the new entry.
Otherwise we may end up not writing back the partitions at all, leading
to further fallout later.
Receipe to reproduce the issue from Frederic Fauberteau, thanks!
In the concrete partitions editor, after deleting the last partition move
the menu selection to the "add a partition" entry (instead of the sentinel
line which is not an active menu entry).
Typo in comment
Keep a list of all partition tables from which we have deleted partitions
and make sure we update those partition tables when writing partitions,
even if no install related partition remains on them.
Fix display of timezone selection menu
If there is no current partitioning manager assume we are editing the
current system and make target_already_root() return true.
Fixes various fallout when using sysinst post installation.
PR 55377: mark boot partitions in the partition size display, as suggested
by Izumi Tsutsui (minor modifications + all bugs by me)
PR 55378: do not assume RAW_PART to be either 2 or 3
PR 55379: avoid creating bogus /etc/fstab lines for /dev/cd* if no
cdrom is available.
PR 55381: try to deal with moved (but not yet saved) partitions when
calculating free space
Apply patch provided by Izumi Tsutsui in PR 55382: make ext2 partitions
show up in the outer (MBR) partition table, needed for example on Cobalt
where firmware boots from that partition.
PR 55384: detangle pm->ptstart from the "install" flag (selecting a
target partition). Instead introduce a new PTI_INSTALL_TARGET per partition
flag and deal with it in the partitioning backends.
Honour pm->ptstart when allocating new partitions - it is supposed to be
the first sector usable by NetBSD.
If we have no explicitly marke target root partition, make sure to set
the proper flag on the implicit one.
When merging existing partitions with desired target system layout
information, only force the "mount" flag if the existing partitions
has a valid mount point.
Add a heuristic to detect and properly mark EFI system partitions
when re-using pre-existing partitions.
When MD code requests a reserved area (at the start of the disk)
make sure to properly account for the "lost" space during all calculations
and especially when expanding the main partition to fill the disk.
Avoid using the global "pm" or a passed device descriptons when we are
passing disk limits explicitly anyway.
Simplify/fix a few rounding calculations.
When creating new partitions for "full disk" use, pass a install target
hint to the partitioning backend (for the outer NetBSD partition).
Use an install target hint to mark a new partition active.
When compiled with BOOTSEL support, also name the new partition "NetBSD".
Remove more pm->ptstart abuse - calculate values localy where needed
instead.
Fix editing start and size of not yet existing outer partitions.
Previously we abused pm->ptstart / pm->ptsize to pass the bounds of the
NetBSD outer partition to the inner partition editor - but now this is
not a valid assumption any more, so explicitly fix the bounds if an
outer partition exists.
Remove very strange code that special-cased MSDOS file systems and refused
to newfs the partition (despite explicit request to do so) if it was
mountable.
Accidently carried over from a dim and distant past, before we had
fsck_newfs.
PR 55536: when we find existing partition tables and have alternative
formats available, offer to delete partitions and create new ones from
scratch (in some other or the same on-disk format).
Minor fix to previous: fix condition when we offer the partition type
switch - it makes sense even if the disk is partitioned but has no valid
partitions.
Before forcing MBR partitions into our disklabel, make sure they are not
there yet - could happen in various paths when reusing existing partitions
(or parts of that) - previously we would blindly duplicate identical
partitions.
Ooops, part of previous was not meant to be included yet
When renumbering partitions (after deletions) be slightly more lax
in matching, to cope with differences between MBR EFI partitions and
disklabel MSDOS partitions.
PR 55142: on popular demand bring back expert options to adjust the
number of free inodes, block size and fragment size for FFS and LFS.
Fix copy & pasto noticed by Jason Mitchell: change the type of a GPT
partition via "gpt type" - not "gpt label".
Fix copy & pasto (missing "again" label)
Remove dead code
Move MBR writing (if any) post disklabel writing, otherwise strange
interactions happen.
Properly convert partition default sizes in MB to number of sectors
 1.22.2.2 17-Dec-2019  msaitoh Pull up following revision(s) (requested by martin in ticket #561):
usr.sbin/sysinst/Makefile.inc: revision 1.31
Fix the pattern creating the relative path for distribution sets
on branches: we missed the potential numbers in suffixes, like _RC1.
 1.22.2.1 17-Nov-2019  msaitoh Pull up following revision(s) (requested by martin in ticket #436):
usr.sbin/sysinst/disks.c: revision 1.55
usr.sbin/sysinst/msg.mi.en: revision 1.24
usr.sbin/sysinst/mbr.c: revision 1.22
usr.sbin/sysinst/disks.c: revision 1.56
usr.sbin/sysinst/msg.mi.en: revision 1.25
usr.sbin/sysinst/disks.c: revision 1.57
usr.sbin/sysinst/arch/playstation2/msg.md.pl: revision 1.3
usr.sbin/sysinst/Makefile.inc: revision 1.30
usr.sbin/sysinst/configmenu.c: revision 1.11
usr.sbin/sysinst/util.c: revision 1.35
usr.sbin/sysinst/gpt.c: revision 1.12
usr.sbin/sysinst/util.c: revision 1.36
usr.sbin/sysinst/arch/playstation2/msg.md.de: revision 1.3
usr.sbin/sysinst/arch/i386/menus.md: revision 1.3
usr.sbin/sysinst/util.c: revision 1.37
usr.sbin/sysinst/part_edit.c: revision 1.11
usr.sbin/sysinst/arch/i386/msg.md.en: revision 1.2
usr.sbin/sysinst/util.c: revision 1.38
usr.sbin/sysinst/part_edit.c: revision 1.12
usr.sbin/sysinst/arch/i386/msg.md.en: revision 1.3
usr.sbin/sysinst/util.c: revision 1.39
usr.sbin/sysinst/part_edit.c: revision 1.13
usr.sbin/sysinst/arch/i386/msg.md.en: revision 1.4
usr.sbin/sysinst/disklabel.c: revision 1.15
usr.sbin/sysinst/bsddisklabel.c: revision 1.30
usr.sbin/sysinst/arch/i386/msg.md.es: revision 1.2
usr.sbin/sysinst/bsddisklabel.c: revision 1.31
usr.sbin/sysinst/arch/i386/msg.md.es: revision 1.3
usr.sbin/sysinst/arch/i386/msg.md.es: revision 1.4
usr.sbin/sysinst/mbr.h: revision 1.4
usr.sbin/sysinst/main.c: revision 1.18
usr.sbin/sysinst/partman.c: revision 1.44
usr.sbin/sysinst/msg.mi.de: revision 1.17
usr.sbin/sysinst/arch/i386/msg.md.fr: revision 1.2
usr.sbin/sysinst/msg.mi.de: revision 1.18
usr.sbin/sysinst/arch/i386/msg.md.fr: revision 1.3
usr.sbin/sysinst/arch/playstation2/msg.md.en: revision 1.3
usr.sbin/sysinst/arch/i386/msg.md.fr: revision 1.4
usr.sbin/sysinst/arch/amd64/md.c: revision 1.2
usr.sbin/sysinst/arch/ews4800mips/Makefile: revision 1.3
usr.sbin/sysinst/arch/playstation2/msg.md.es: revision 1.3
usr.sbin/sysinst/label.c: revision 1.13
usr.sbin/sysinst/Makefile.inc: revision 1.29
usr.sbin/sysinst/label.c: revision 1.14
usr.sbin/sysinst/util.c: revision 1.40
usr.sbin/sysinst/partitions.c: revision 1.5
usr.sbin/sysinst/arch/amd64/md.h: revision 1.8
usr.sbin/sysinst/msg.mi.es: revision 1.18
usr.sbin/sysinst/net.c: revision 1.34
usr.sbin/sysinst/msg.mi.es: revision 1.19
usr.sbin/sysinst/arch/i386/msg.md.pl: revision 1.2
usr.sbin/sysinst/arch/i386/md.c: revision 1.22
usr.sbin/sysinst/msg.mi.fr: revision 1.22
usr.sbin/sysinst/arch/playstation2/msg.md.fr: revision 1.3
usr.sbin/sysinst/arch/i386/msg.md.pl: revision 1.3
usr.sbin/sysinst/arch/i386/md.c: revision 1.23
usr.sbin/sysinst/msg.mi.pl: revision 1.25
usr.sbin/sysinst/msg.mi.fr: revision 1.23
usr.sbin/sysinst/arch/i386/msg.md.pl: revision 1.4
usr.sbin/sysinst/arch/i386/md.c: revision 1.24
usr.sbin/sysinst/partitions.h: revision 1.8
usr.sbin/sysinst/msg.mi.pl: revision 1.26
usr.sbin/sysinst/arch/i386/msg.md.de: revision 1.2
usr.sbin/sysinst/arch/i386/msg.md.de: revision 1.3
usr.sbin/sysinst/arch/i386/msg.md.de: revision 1.4
usr.sbin/sysinst/run.c: revision 1.13
usr.sbin/sysinst/defs.h: revision 1.46
usr.sbin/sysinst/install.c: revision 1.12
usr.sbin/sysinst/defs.h: revision 1.47
usr.sbin/sysinst/install.c: revision 1.13
usr.sbin/sysinst/defs.h: revision 1.48
Add options to the various partitioning stages that allow cloning of
alien partitions (optionally including data).
PR 54467: we trust our own sets, extract them with -P to allow symlink
redirection (especially for updates and chroot services - back out
once a better solution for those is implemented)
Make cloning support optional, so we can save some space on very small
install media.
Drop MBR and cloning support on crunched install media.
Make tar extraction flags depend on our usage of pax-as-tar or bsdtar.
Fix missing newlines in bios match display, pointed out by maxv.
Drop unused variable.
Fix table of bios geomatries
knf style adjustments
Make the bootblock selection menu more sane, pointed out by maxv
Make sure all menus have a translatable exit option (or none at all).
On amd64 support installation with a KASLR kernel, via "custom install"
and selecting the GENERIC_KASLR kernel set.
Setup /prekern and boot.cfg accordingly.
 1.45.2.1 28-Nov-2023  snj Pull up following revision(s) (requested by martin in ticket #479):
usr.sbin/sysinst/Makefile.inc: revision 1.47
PR 57729: clean up PKG_PATH for official RC (and similar) versions,
like we do for the daily builds.
 1.49.2.1 02-Aug-2025  perseant Sync with HEAD
 1.8 06-Jan-2023  martin Provide a disklabel specific MD hook MD_DISKLABEL_PART_INDEX_CHECK
to allow MD code to veto specific disklabel partitions for specific
uses, e.g. to make sure a boot partition does not end up as sd0a.
Most architectures won't need this, as the file system type makes
the generic heuristic do the right thing (e.g. move the ESP to wd0e
for x86) - but for some architectures the boot partition uses FFS
and our heuristic fails.
 1.7 11-Sep-2021  andvar Add missing double p and d for stopped and overriden accordingly.
Fix few more typos along the way, mainly in copy-pasted comments.
 1.6 05-Oct-2020  martin Add a heuristic to detect and properly mark EFI system partitions
when re-using pre-existing partitions.
 1.5 28-Sep-2020  martin PR 55378: do not assume RAW_PART to be either 2 or 3
 1.4 20-Jan-2020  martin branches: 1.4.4;
First try to bring evbarm installation closer to current reality.
 1.3 10-Dec-2019  isaki Fix typo.
 1.2 09-Dec-2019  martin PR install/54582: allow MD code to disable on-disk presence verification
of "real" disklabels. Auto-enable this (at run time) when there is no other
partitioning scheme but disklabel configured.
Hard-coded enable this for x68k to allow using kernel based translations
for native Human68k partitions.
 1.1 14-Aug-2019  martin Provide some documentation for macros / defines used in the machine
dependent backend parts of sysinst.
 1.4.4.2 13-Apr-2020  martin Mostly merge changes from HEAD upto 20200411
 1.4.4.1 20-Jan-2020  martin file README.md_defs was added on branch phil-wifi on 2020-04-13 08:06:00 +0000
 1.1 26-Jul-2014  dholland branches: 1.1.2; 1.1.6;
Move sysinst sources to usr.sbin.

This commit only physically moves the sources - there are no other
changes, to maximize the probability that this will be treated as a
rename if we ever do manage to migrate away from CVS.

Moving sysinst has been discussed on and off for years and has two
goals: making it easier to work on sysinst, and also making sysinst
available on running systems for use installing chroots and VM images
and other such things. None of the latter is possible yet, but as they
say, one thing at a time.

Doing this now was approved in an impromptu fashion by mrg, riz,
riastradh, me, and groo.
 1.1.6.2 20-Aug-2014  tls Rebase to HEAD as of a few days ago.
 1.1.6.1 26-Jul-2014  tls file SPELLING.en was added on branch tls-maxphys on 2014-08-20 00:05:13 +0000
 1.1.2.2 10-Aug-2014  tls Rebase.
 1.1.2.1 26-Jul-2014  tls file SPELLING.en was added on branch tls-earlyentropy on 2014-08-10 07:00:24 +0000
 1.1 26-Jul-2014  dholland branches: 1.1.2; 1.1.6;
Move sysinst sources to usr.sbin.

This commit only physically moves the sources - there are no other
changes, to maximize the probability that this will be treated as a
rename if we ever do manage to migrate away from CVS.

Moving sysinst has been discussed on and off for years and has two
goals: making it easier to work on sysinst, and also making sysinst
available on running systems for use installing chroots and VM images
and other such things. None of the latter is possible yet, but as they
say, one thing at a time.

Doing this now was approved in an impromptu fashion by mrg, riz,
riastradh, me, and groo.
 1.1.6.2 20-Aug-2014  tls Rebase to HEAD as of a few days ago.
 1.1.6.1 26-Jul-2014  tls file TODO was added on branch tls-maxphys on 2014-08-20 00:05:13 +0000
 1.1.2.2 10-Aug-2014  tls Rebase.
 1.1.2.1 26-Jul-2014  tls file TODO was added on branch tls-earlyentropy on 2014-08-10 07:00:24 +0000
 1.2 12-Jun-2019  martin Rework internal data structures and "interfaces to user interface" functions
to get rid of all disklabel assumptions.

Previously (even for GPT partitioning) struct disklabel was used, which
obviously breaks large disk setups. Also many MD parts and parts of the
user interface assumed (a) a struct disklabel is used internally to
store partitioning information and (b) partitions are named 'a' ... $MAXPART.

Get rid of this and replace it with a quite abstract interface that should
be able to deal with all variants in partition storage:

- partitions are stored in a (partly abstract) struct disk_partitions
and most parts of it are only accessed via accessor functions provided
by a "partitioning scheme".

- implement partitioning schemes for MBR, disklabel and GPT (with likely
RDB [amiga] and Apple Partition Map [mac*] to follow soon)

- partitioning schemes may be cascaded, e.g. on x86 when using MBR as
"outer partitions", we have disklabel as "inner partitions".

- all user interface goes via accessor functions in the partitioning scheme,
some of which return pointers to special user interface descriptors
(e.g. to allow editing partition flags, which are scheme specific)

Overall the user interface changes (in this initial step) are minimal but
noticable. A new Anita is needed for automatic test setups - many thanks
to Andreas Gustafsson for lots of early testing and a new Anita version,
and to Manuel Bouyer for cooperation and tests of the Anita release.

This work was sponsored by The NetBSD Foundation, Inc.
 1.1 26-Jul-2014  dholland branches: 1.1.2; 1.1.6; 1.1.28;
Move sysinst sources to usr.sbin.

This commit only physically moves the sources - there are no other
changes, to maximize the probability that this will be treated as a
rename if we ever do manage to migrate away from CVS.

Moving sysinst has been discussed on and off for years and has two
goals: making it easier to work on sysinst, and also making sysinst
available on running systems for use installing chroots and VM images
and other such things. None of the latter is possible yet, but as they
say, one thing at a time.

Doing this now was approved in an impromptu fashion by mrg, riz,
riastradh, me, and groo.
 1.1.28.1 13-Apr-2020  martin Mostly merge changes from HEAD upto 20200411
 1.1.6.2 20-Aug-2014  tls Rebase to HEAD as of a few days ago.
 1.1.6.1 26-Jul-2014  tls file aout2elf.c was added on branch tls-maxphys on 2014-08-20 00:05:13 +0000
 1.1.2.2 10-Aug-2014  tls Rebase.
 1.1.2.1 26-Jul-2014  tls file aout2elf.c was added on branch tls-earlyentropy on 2014-08-10 07:00:24 +0000
 1.72 06-Jan-2023  martin When matching real partitions to "wanted" install descriptions, skip
all types of special partitions (like raw disk, or the MBR container
partition for the NetBSD part of the disk).
The start of the partition is no unique identifier if we include these
in the matching (e.g. boot partition and raw partition may both start
at sector 0).
 1.71 27-Dec-2022  martin PR 57132: when calculation additional space available for the "expanded"
partition (typically /) do not forget the reserved space (that might
be required for the system/bootloader/other MD stuff).
 1.70 16-Dec-2022  martin Switch back to FFSv2ea as default for new installations
 1.69 15-Dec-2022  martin branches: 1.69.2;
Add an (expert) option to manually edit partitions, inspired by PR 57100.
 1.68 15-Dec-2022  martin Temporarily back out rev 1.66 and switch the default FFS type back to
FFSv2 (w/o ea) for the upcoming netbsd-10 branch.
 1.67 09-Dec-2022  martin A little less (confusing) magic: adjust the size of / when adding /usr
only if / has not beenn manually resized.
 1.66 30-Nov-2022  martin Switch the default FFS type from FFSv2 to FFSv2ea - we want extended
attribute support to be exercised and tested.

If you want to share a new installed disk with older NetBSD
installations or (read only) with other OSes you need to explicitly set
the FS type to FFSv2 now.
 1.65 30-Nov-2022  martin Add support for FFSv2ea in the partition type menus (internally setting
fs version to 3 for this, where 2 is FFSv2 and 1 is FFSv1)
 1.64 16-Jun-2022  tsutsui Fix pasto.
 1.63 28-May-2022  andvar fix various typos, mainly in comments.
 1.62 22-May-2022  andvar fix various small typos, mainly in comments.
 1.61 04-May-2022  andvar s/entires/entries/
 1.60 16-Apr-2022  andvar fix various typos in comments and log messages.
 1.59 20-Jul-2021  martin PR 56303: do not borrow from the default swap allocation if we are in
tiny ram conditions and will need to enable swap early.
 1.58 13-Feb-2021  martin PR 55991: when extending the marked partition (typically: the NetBSD root
partition) round the new size up to current alignment.

This may lead to a slightly smaller than initialy planned last partition
(depending on order added) if the disk size is odd or the partitioning
scheme needs some internal space (like GPT) - but it avoids gaps elsewhere
due to alignement.

Ideally we would pin all other partitions in a first pass and then let
the partitioning backend pick the full available size for the extended
partition, but this should be good enough.
 1.57 31-Jan-2021  rillig sysinst: remove trailing whitespace from *.c *.h

In contrast to the messages files, this whitespace is not significant.
 1.56 13-Oct-2020  martin PR 55142: on popular demand bring back expert options to adjust the
number of free inodes, block size and fragment size for FFS and LFS.
 1.55 13-Oct-2020  martin Ooops, part of previous was not meant to be included yet
 1.54 13-Oct-2020  martin Before forcing MBR partitions into our disklabel, make sure they are not
there yet - could happen in various paths when reusing existing partitions
(or parts of that) - previously we would blindly duplicate identical
partitions.
 1.53 12-Oct-2020  martin Minor fix to previous: fix condition when we offer the partition type
switch - it makes sense even if the disk is partitioned but has no valid
partitions.
 1.52 12-Oct-2020  martin PR 55536: when we find existing partition tables and have alternative
formats available, offer to delete partitions and create new ones from
scratch (in some other or the same on-disk format).
 1.51 12-Oct-2020  martin Previously we abused pm->ptstart / pm->ptsize to pass the bounds of the
NetBSD outer partition to the inner partition editor - but now this is
not a valid assumption any more, so explicitly fix the bounds if an
outer partition exists.
 1.50 09-Oct-2020  martin When MD code requests a reserved area (at the start of the disk)
make sure to properly account for the "lost" space during all calculations
and especially when expanding the main partition to fill the disk.

Avoid using the global "pm" or a passed device descriptons when we are
passing disk limits explicitly anyway.

Simplify/fix a few rounding calculations.
 1.49 05-Oct-2020  martin Add a heuristic to detect and properly mark EFI system partitions
when re-using pre-existing partitions.
 1.48 04-Oct-2020  martin When merging existing partitions with desired target system layout
information, only force the "mount" flag if the existing partitions
has a valid mount point.
 1.47 04-Oct-2020  martin If we have no explicitly marke target root partition, make sure to set
the proper flag on the implicit one.
 1.46 03-Oct-2020  martin PR 55384: detangle pm->ptstart from the "install" flag (selecting a
target partition). Instead introduce a new PTI_INSTALL_TARGET per partition
flag and deal with it in the partitioning backends.

Honour pm->ptstart when allocating new partitions - it is supposed to be
the first sector usable by NetBSD.
 1.45 29-Sep-2020  martin Apply patch provided by Izumi Tsutsui in PR 55382: make ext2 partitions
show up in the outer (MBR) partition table, needed for example on Cobalt
where firmware boots from that partition.
 1.44 28-Sep-2020  martin PR 55377: mark boot partitions in the partition size display, as suggested
by Izumi Tsutsui (minor modifications + all bugs by me)
 1.43 22-Sep-2020  martin Keep a list of all partition tables from which we have deleted partitions
and make sure we update those partition tables when writing partitions,
even if no install related partition remains on them.
 1.42 12-May-2020  martin Minor tweak to previous: when forcing a /usr partition just to have an
arbitrary extendable partition, still use its default size initially.
 1.41 11-May-2020  martin When extending a partition (to fill the total disk size) do respect
size limits.
Do not suggest a size limited partition for extension by default.
 1.40 11-May-2020  martin Redo the root-size-limit check again after we grew the root partition
for kernel dumps. Auto-enable the /usr partition if it overflows.
For all non-root partitions, default to FFSv2.
 1.39 06-Feb-2020  martin Only a single partition can ever have the "extend" flag (grow to available
size).
 1.38 27-Jan-2020  martin Fix support for non-512-byte/sector disks again after I broke it when
introducing the abstract partition backends.
 1.37 24-Jan-2020  martin Factor out all RAM size thresholds as defines to avoid magic numbers.
To work around PR misc/54886 bump the threshold for a tmpfs /tmp mount
up to 256 MB.
 1.36 20-Jan-2020  martin First try to bring evbarm installation closer to current reality.
 1.35 16-Jan-2020  martin Fix /tmp tmpfs handling and on machines with enough RAM default to
creating a /tmp tmpfs with 25% of ram size limit. Suggested by ad@.
 1.34 09-Jan-2020  martin Finish conversion of extended partitioning parts to new abstract
backend interface. XXX still could use a lot of polishing.
 1.33 13-Dec-2019  martin When finding (paritioning scheme native) partition types for file systems
from our install description, pass the partition type (not only the file
system type). Sometimes (e.g. EFI boot partition on GPT) the filesystem
type (MSDOS) is not a unique selector.
 1.32 08-Dec-2019  martin PR install/54745: fix confusion about absolut and NetBSD-partition
relative offsets.
 1.31 13-Nov-2019  martin Make cloning support optional, so we can save some space on very small
install media.
 1.30 12-Nov-2019  martin Add options to the various partitioning stages that allow cloning of
alien partitions (optionally including data).
 1.29 25-Oct-2019  martin Honor the "no_mbr" flag (used especially for raid and xbd devices)
 1.28 21-Oct-2019  martin Skip unwanted (zero sized) partitions.
 1.27 28-Aug-2019  martin Remove dead (#if 0) code.
 1.26 01-Aug-2019  martin If we can not fit a planned partition, retry with a bit more slope
in size.
 1.25 01-Aug-2019  martin PR 54423: complete initialization of install info for user defined partitions
 1.24 01-Aug-2019  martin PR 54423: fix handling of user defined partitions
 1.23 28-Jul-2019  martin branches: 1.23.2;
If available, show additional names of foreign partitions in the
size menu. Makes installing on machines with other OSes installed
a lot less confusing.
 1.22 28-Jul-2019  martin When merging existing partitions into the planned installation partitions,
keep the separation between the original planned partitions and the
pre-exiting partitions.
Also do not call found partitions "outer" if they are not (but could be)
 1.21 15-Jul-2019  martin Don't overwrite the filesystem type unconditionally with the FFSv1 or v2
setup for an architectures default - now we have /tmp on tmpfs back.
 1.20 14-Jul-2019  martin Don't force mounting of newfs'd partitions.
Provide MD hooks for setups where we do not need any bootblocks.
 1.19 12-Jul-2019  martin When adding non-disklabel boot partitions (or similar), distinguish between
ones we need to add to the outer (MBR) partitions, or copy over to the
inner (disklabel) partitions.
 1.18 09-Jul-2019  martin When we are going to create (and populate) a new boot partition, we should
newfs and mount it.

Fix arguments to the MD_PART_DEFAULTS macro and invoke it a bit earlier
(before we shift things around).
 1.17 09-Jul-2019  martin When checking for existing NetBSD partitions skip extended MBR and disklabel
raw partitions.
 1.16 22-Jun-2019  christos no need to initialize fields that are already 0.
 1.15 20-Jun-2019  martin Avoid creating a (tiny) swap partition by default on overall too small
disks.
 1.14 20-Jun-2019  christos mount is an array and can't be NULL (rin)
 1.13 20-Jun-2019  christos Use _fmt_ msg_ methods when formats are needed.
 1.12 15-Jun-2019  martin When setting up a "use whole disk" single outer partition, force an
empty set of inner partitions immediately,

This avoids reading old (stale) partitions (e.g. disklabel that
survived cleaning and re-creating the MBR with the MBR NetBSD partition
starting at the same offset) later.
 1.11 13-Jun-2019  martin When merging existing partitions into our install description, mark
them as to-be-mounted.
 1.10 13-Jun-2019  martin Do not use dynamic size adjustments on install descriptions based
on existing partitions - we need to keep them fixed to not confuse
free space calculation.
 1.9 12-Jun-2019  martin Rework internal data structures and "interfaces to user interface" functions
to get rid of all disklabel assumptions.

Previously (even for GPT partitioning) struct disklabel was used, which
obviously breaks large disk setups. Also many MD parts and parts of the
user interface assumed (a) a struct disklabel is used internally to
store partitioning information and (b) partitions are named 'a' ... $MAXPART.

Get rid of this and replace it with a quite abstract interface that should
be able to deal with all variants in partition storage:

- partitions are stored in a (partly abstract) struct disk_partitions
and most parts of it are only accessed via accessor functions provided
by a "partitioning scheme".

- implement partitioning schemes for MBR, disklabel and GPT (with likely
RDB [amiga] and Apple Partition Map [mac*] to follow soon)

- partitioning schemes may be cascaded, e.g. on x86 when using MBR as
"outer partitions", we have disklabel as "inner partitions".

- all user interface goes via accessor functions in the partitioning scheme,
some of which return pointers to special user interface descriptors
(e.g. to allow editing partition flags, which are scheme specific)

Overall the user interface changes (in this initial step) are minimal but
noticable. A new Anita is needed for automatic test setups - many thanks
to Andreas Gustafsson for lots of early testing and a new Anita version,
and to Manuel Bouyer for cooperation and tests of the Anita release.

This work was sponsored by The NetBSD Foundation, Inc.
 1.8 12-Feb-2019  martin Backout previous snprintf nonsense, instead STFU gcc 7's most
useless warning ever.
 1.7 11-Feb-2019  martin Fix a few off by one (in both directions) in previous, pointed out by mrg.
Avoid open coding snprintf return value checking and introduce a
helper functions that always ensures string termination instead,
suggested by christos.
 1.6 20-Nov-2018  martin Convert all static menu struct initializiations to C99 name initializer
format - prerequisite for an upcoming evil hack (tm).
No functional change intended.
 1.5 15-Nov-2018  martin Make use of the new positional parameters to better describe the first
partitioning step. Remove size limits/hints encoded in the translations
and replace them by values from the code.
 1.4 03-Jun-2018  martin branches: 1.4.2;
Add an option to install onto a pre-configured wedge.
Greatly simmplifies (U)EFI setups (but does not fully automate them yet).
 1.3 18-May-2018  joerg deconst -> __UNCONST, the former involves UB with NULL arithmetic.
 1.2 03-Aug-2014  martin branches: 1.2.2; 1.2.6; 1.2.20; 1.2.26;
(Finally) merge a slightly modified version of the 2012 GSoC results
from Eugene Lozovoy: add extended partitioning options to sysinst.
Still needs some testing and polishing, but it now is possible to use GPT
or to create a RAID set from scratch and install onto it.
 1.1 26-Jul-2014  dholland Move sysinst sources to usr.sbin.

This commit only physically moves the sources - there are no other
changes, to maximize the probability that this will be treated as a
rename if we ever do manage to migrate away from CVS.

Moving sysinst has been discussed on and off for years and has two
goals: making it easier to work on sysinst, and also making sysinst
available on running systems for use installing chroots and VM images
and other such things. None of the latter is possible yet, but as they
say, one thing at a time.

Doing this now was approved in an impromptu fashion by mrg, riz,
riastradh, me, and groo.
 1.2.26.3 26-Nov-2018  pgoyette Sync with HEAD, resolve a couple of conflicts
 1.2.26.2 25-Jun-2018  pgoyette Sync with HEAD
 1.2.26.1 21-May-2018  pgoyette Sync with HEAD
 1.2.20.2 09-Jun-2018  martin Pull up following revision(s) (requested by joerg in ticket #869):

usr.sbin/sysinst/arch/mvme68k/md.c: revision 1.5
usr.sbin/sysinst/net.c: revision 1.24
usr.sbin/sysinst/partman.c: revision 1.22
usr.sbin/sysinst/menus.mi: revision 1.12
usr.sbin/sysinst/arch/i386/md.c: revision 1.8
usr.sbin/sysinst/arch/alpha/md.c: revision 1.3
usr.sbin/sysinst/bsddisklabel.c: revision 1.3
usr.sbin/sysinst/arch/x68k/md.c: revision 1.5
usr.sbin/sysinst/arch/hp300/md.c: revision 1.5
usr.sbin/sysinst/arch/emips/md.c: revision 1.4
usr.sbin/sysinst/arch/pmax/md.c: revision 1.3
usr.sbin/sysinst/arch/mipsco/md.c: revision 1.3
usr.sbin/sysinst/arch/hppa/md.c: revision 1.3
usr.sbin/sysinst/util.c: revision 1.8
usr.sbin/sysinst/defs.h: revision 1.10
usr.sbin/sysinst/arch/landisk/md.c: revision 1.4

deconst -> __UNCONST, the former involves UB with NULL arithmetic.
 1.2.20.1 05-Jun-2018  bouyer Pull up following revision(s) (requested by martin in ticket #860):
usr.sbin/sysinst/msg.mi.de: revision 1.7
usr.sbin/sysinst/arch/i386/md.c: revision 1.10
usr.sbin/sysinst/msg.mi.fr: revision 1.10
usr.sbin/sysinst/arch/i386/md.c: revision 1.11
usr.sbin/sysinst/menus.mi: revision 1.13
usr.sbin/sysinst/arch/i386/md.c: revision 1.9
usr.sbin/sysinst/msg.mi.es: revision 1.7
usr.sbin/sysinst/msg.mi.en: revision 1.11
usr.sbin/sysinst/mbr.c: revision 1.6
usr.sbin/sysinst/disks.c: revision 1.15
usr.sbin/sysinst/bsddisklabel.c: revision 1.4
usr.sbin/sysinst/disks.c: revision 1.16
usr.sbin/sysinst/msg.mi.pl: revision 1.9
usr.sbin/sysinst/defs.h: revision 1.11
Add an option to install onto a pre-configured wedge.
Greatly simmplifies (U)EFI setups (but does not fully automate them yet).
In the generated /etc/fstab, do not use the (temporary, during sysinst)
path name for the file in the comment, but instead the one it will
have on the target system.
Reorder fetch options: http before ftp
Default console device and speed to that used by syinst
add missing brace.
 1.2.6.2 20-Aug-2014  tls Rebase to HEAD as of a few days ago.
 1.2.6.1 03-Aug-2014  tls file bsddisklabel.c was added on branch tls-maxphys on 2014-08-20 00:05:13 +0000
 1.2.2.2 10-Aug-2014  tls Rebase.
 1.2.2.1 03-Aug-2014  tls file bsddisklabel.c was added on branch tls-earlyentropy on 2014-08-10 07:00:24 +0000
 1.4.2.2 13-Apr-2020  martin Mostly merge changes from HEAD upto 20200411
 1.4.2.1 10-Jun-2019  christos Sync with HEAD
 1.23.2.12 14-Dec-2022  snj Pull up following revision(s) (requested by martin in ticket #1553):

usr.sbin/sysinst/bsddisklabel.c: revision 1.67

A little less (confusing) magic: adjust the size of / when adding /usr
only if / has not beenn manually resized.
 1.23.2.11 15-Oct-2020  bouyer Pull up following revision(s) (requested by martin in ticket #1113):
usr.sbin/sysinst/bsddisklabel.c: revision 1.46
usr.sbin/sysinst/bsddisklabel.c: revision 1.47
usr.sbin/sysinst/disklabel.c: revision 1.40
usr.sbin/sysinst/arch/cobalt/md.c: revision 1.13
usr.sbin/sysinst/bsddisklabel.c: revision 1.48
usr.sbin/sysinst/disklabel.c: revision 1.41
usr.sbin/sysinst/arch/cobalt/md.c: revision 1.14
usr.sbin/sysinst/bsddisklabel.c: revision 1.49
usr.sbin/sysinst/disklabel.c: revision 1.42
usr.sbin/sysinst/Makefile.inc: revision 1.34
usr.sbin/sysinst/disks.c: revision 1.70
usr.sbin/sysinst/arch/hp300/md.c: revision 1.11
usr.sbin/sysinst/disks.c: revision 1.71
usr.sbin/sysinst/arch/i386/md.h: revision 1.8
usr.sbin/sysinst/arch/arc/md.c: revision 1.13
usr.sbin/sysinst/mbr.h: revision 1.5
usr.sbin/sysinst/mbr.h: revision 1.6
usr.sbin/sysinst/arch/mac68k/md.c: revision 1.10
usr.sbin/sysinst/bsddisklabel.c: revision 1.50
usr.sbin/sysinst/arch/acorn32/md.c: revision 1.7
usr.sbin/sysinst/bsddisklabel.c: revision 1.51
usr.sbin/sysinst/bsddisklabel.c: revision 1.52
usr.sbin/sysinst/bsddisklabel.c: revision 1.53
usr.sbin/sysinst/bsddisklabel.c: revision 1.54
usr.sbin/sysinst/bsddisklabel.c: revision 1.55
usr.sbin/sysinst/bsddisklabel.c: revision 1.56
usr.sbin/sysinst/arch/dummy/md.c: revision 1.6
usr.sbin/sysinst/arch/amd64/md.h: revision 1.9
usr.sbin/sysinst/arch/evbsh3/md.c: revision 1.6
usr.sbin/sysinst/arch/sparc/md.c: revision 1.6
usr.sbin/sysinst/arch/zaurus/md.c: revision 1.10
usr.sbin/sysinst/arch/x68k/md.c: revision 1.11
usr.sbin/sysinst/arch/sandpoint/md.c: revision 1.9
usr.sbin/sysinst/arch/vax/md.c: revision 1.7
usr.sbin/sysinst/arch/luna68k/md.c: revision 1.9
usr.sbin/sysinst/gpt.c: revision 1.19
usr.sbin/sysinst/arch/i386/md.c: revision 1.31
usr.sbin/sysinst/arch/i386/md.c: revision 1.32
usr.sbin/sysinst/arch/evbarm/md.c: revision 1.17
usr.sbin/sysinst/arch/evbarm/md.c: revision 1.18
usr.sbin/sysinst/arch/evbarm/md.c: revision 1.19
usr.sbin/sysinst/arch/shark/md.c: revision 1.6
usr.sbin/sysinst/arch/landisk/md.c: revision 1.14
usr.sbin/sysinst/util.c: revision 1.43
usr.sbin/sysinst/gpt.c: revision 1.20
usr.sbin/sysinst/util.c: revision 1.44
usr.sbin/sysinst/gpt.c: revision 1.21
usr.sbin/sysinst/gpt.c: revision 1.22
usr.sbin/sysinst/arch/evbarm/msg.md.en: revision 1.2
usr.sbin/sysinst/arch/ofppc/md.c: revision 1.11
usr.sbin/sysinst/util.c: revision 1.46
usr.sbin/sysinst/arch/ofppc/md.c: revision 1.12
usr.sbin/sysinst/util.c: revision 1.47
usr.sbin/sysinst/arch/evbarm/md.h: revision 1.6
usr.sbin/sysinst/util.c: revision 1.48
usr.sbin/sysinst/arch/evbarm/md.h: revision 1.7
usr.sbin/sysinst/arch/evbmips/md.c: revision 1.9
usr.sbin/sysinst/msg.mi.fr: revision 1.28
usr.sbin/sysinst/msg.mi.fr: revision 1.29
usr.sbin/sysinst/arch/sgimips/md.c: revision 1.9
usr.sbin/sysinst/arch/evbarm/Makefile: revision 1.3
usr.sbin/sysinst/msg.mi.de: revision 1.23
usr.sbin/sysinst/arch/hpcsh/md.c: revision 1.10
usr.sbin/sysinst/msg.mi.de: revision 1.24
usr.sbin/sysinst/install.c: revision 1.15
usr.sbin/sysinst/install.c: revision 1.16
usr.sbin/sysinst/arch/sparc64/md.c: revision 1.6
usr.sbin/sysinst/install.c: revision 1.17
usr.sbin/sysinst/install.c: revision 1.18
usr.sbin/sysinst/partitions.h: revision 1.16
usr.sbin/sysinst/install.c: revision 1.19
usr.sbin/sysinst/partitions.h: revision 1.17
usr.sbin/sysinst/arch/evbppc/md.c: revision 1.9
usr.sbin/sysinst/arch/playstation2/md.c: revision 1.9
usr.sbin/sysinst/partitions.h: revision 1.18
usr.sbin/sysinst/arch/hpcarm/md.c: revision 1.9
usr.sbin/sysinst/partitions.h: revision 1.19
usr.sbin/sysinst/msg.mi.es: revision 1.24
usr.sbin/sysinst/msg.mi.es: revision 1.25
usr.sbin/sysinst/msg.mi.es: revision 1.26
usr.sbin/sysinst/arch/zaurus/md.c: revision 1.9
usr.sbin/sysinst/target.c: revision 1.13
usr.sbin/sysinst/target.c: revision 1.14
usr.sbin/sysinst/part_edit.c: revision 1.17
usr.sbin/sysinst/part_edit.c: revision 1.18
usr.sbin/sysinst/msg.mi.fr: revision 1.30
usr.sbin/sysinst/arch/mvme68k/md.c: revision 1.11
usr.sbin/sysinst/part_edit.c: revision 1.19
usr.sbin/sysinst/msg.mi.fr: revision 1.31
usr.sbin/sysinst/arch/alpha/md.c: revision 1.9
usr.sbin/sysinst/msg.mi.en: revision 1.30
usr.sbin/sysinst/defs.h: revision 1.56
usr.sbin/sysinst/msg.mi.en: revision 1.31
usr.sbin/sysinst/defs.h: revision 1.57
usr.sbin/sysinst/msg.mi.en: revision 1.32
usr.sbin/sysinst/arch/amiga/md.c: revision 1.6
usr.sbin/sysinst/arch/hpcmips/md.c: revision 1.9
usr.sbin/sysinst/defs.h: revision 1.58
usr.sbin/sysinst/arch/cats/md.c: revision 1.5
usr.sbin/sysinst/defs.h: revision 1.59
usr.sbin/sysinst/arch/newsmips/md.c: revision 1.6
usr.sbin/sysinst/arch/pmax/md.c: revision 1.8
usr.sbin/sysinst/arch/mipsco/md.c: revision 1.8
usr.sbin/sysinst/part_edit.c: revision 1.20
usr.sbin/sysinst/part_edit.c: revision 1.21
usr.sbin/sysinst/arch/macppc/md.c: revision 1.6
usr.sbin/sysinst/part_edit.c: revision 1.22
usr.sbin/sysinst/part_edit.c: revision 1.23
usr.sbin/sysinst/part_edit.c: revision 1.24
usr.sbin/sysinst/defs.h: revision 1.60
usr.sbin/sysinst/arch/mac68k/Makefile: revision 1.3
usr.sbin/sysinst/defs.h: revision 1.61
usr.sbin/sysinst/defs.h: revision 1.63
usr.sbin/sysinst/defs.h: revision 1.64
usr.sbin/sysinst/defs.h: revision 1.65
usr.sbin/sysinst/label.c: revision 1.21
usr.sbin/sysinst/defs.h: revision 1.66
usr.sbin/sysinst/label.c: revision 1.22
usr.sbin/sysinst/defs.h: revision 1.67
usr.sbin/sysinst/label.c: revision 1.23
usr.sbin/sysinst/label.c: revision 1.24
usr.sbin/sysinst/label.c: revision 1.25
usr.sbin/sysinst/label.c: revision 1.26
usr.sbin/sysinst/label.c: revision 1.27
usr.sbin/sysinst/msg.mi.pl: revision 1.31
usr.sbin/sysinst/label.c: revision 1.28
usr.sbin/sysinst/msg.mi.pl: revision 1.32
usr.sbin/sysinst/label.c: revision 1.29
usr.sbin/sysinst/arch/atari/md.c: revision 1.7
usr.sbin/sysinst/disklabel.c: revision 1.36
usr.sbin/sysinst/disklabel.c: revision 1.37
usr.sbin/sysinst/disklabel.c: revision 1.38
usr.sbin/sysinst/disklabel.c: revision 1.39
usr.sbin/sysinst/arch/bebox/md.c: revision 1.9
usr.sbin/sysinst/mbr.c: revision 1.32
usr.sbin/sysinst/disks.c: revision 1.66
usr.sbin/sysinst/mbr.c: revision 1.33
usr.sbin/sysinst/disks.c: revision 1.67
usr.sbin/sysinst/mbr.c: revision 1.34
usr.sbin/sysinst/arch/emips/md.c: revision 1.9
usr.sbin/sysinst/disks.c: revision 1.68
usr.sbin/sysinst/partitions.c: revision 1.11
usr.sbin/sysinst/mbr.c: revision 1.35
usr.sbin/sysinst/disks.c: revision 1.69
usr.sbin/sysinst/mbr.c: revision 1.36
usr.sbin/sysinst/arch/hppa/md.c: revision 1.8
usr.sbin/sysinst/arch/prep/md.c: revision 1.13
usr.sbin/sysinst/label.c: revision 1.30
usr.sbin/sysinst/arch/ews4800mips/md.c: revision 1.7
usr.sbin/sysinst/main.c: revision 1.21
usr.sbin/sysinst/main.c: revision 1.22
usr.sbin/sysinst/main.c: revision 1.23
usr.sbin/sysinst/bsddisklabel.c: revision 1.40
usr.sbin/sysinst/main.c: revision 1.24
usr.sbin/sysinst/arch/cobalt/md.h: revision 1.6
usr.sbin/sysinst/bsddisklabel.c: revision 1.41
usr.sbin/sysinst/main.c: revision 1.25
usr.sbin/sysinst/arch/news68k/md.c: revision 1.7
usr.sbin/sysinst/bsddisklabel.c: revision 1.42
usr.sbin/sysinst/bsddisklabel.c: revision 1.43
usr.sbin/sysinst/bsddisklabel.c: revision 1.44
usr.sbin/sysinst/bsddisklabel.c: revision 1.45
Use strlcpy in a few places to guarnatee 0-terminated strings
Rever previous: the d_packname in struct disklabel is not NUL terminated.
Disable the warning instead.
Do not force -Os optimization (unless SMALLPROG)
Remove unused "rel" global variable and make the -r option a no-op.
PR 55045: strlcpy(NULL, ..., 0) considered harmfull in some implementations.
PR misc/54886: bump threshold for automatic/default creation of a tmpfs /tmp
up slightly (to 384 MB ram). This will make sure the default install has
a > 64 MB /tmp available (number pulled out of thin air, 64 MB is the minimum
required by the ZFS tests).
Don't depend on common symbol definitions.
boardype should not be common.
Redo the root-size-limit check again after we grew the root partition
for kernel dumps. Auto-enable the /usr partition if it overflows.
For all non-root partitions, default to FFSv2.
When extending a partition (to fill the total disk size) do respect
size limits.
Do not suggest a size limited partition for extension by default.
Minor tweak to previous: when forcing a /usr partition just to have an
arbitrary extendable partition, still use its default size initially.
At the end of a new installation save entropy.
Ooops, backout previous - twice the entropy saving is not needed.
Instead slightly improve the (slightly) hidden other code that already
did it.
PR 55202: disable swapping if we started it due to low ram
it's "its"
Remove "If you booted from a floppy" message
Set HAVE_INSTALL_IMAGE for evbarm
Change mountpoint of boot ext2fs from /stand to /ext2 to avoid conflict.
Should be pulled up to netbsd-9, with fixes of PR/55060.
MBR type for Ext2 should be MBR_PTYPE_LNXEXT2, not MBR_PTYPE_FAT12.
Silence -Wstringop-truncation for ``name'' in disp_selected_part().
This variable is used only for display, and truncation seems harmless.
PR 55572: avoid crash when answering the mount point prompt for a previously
empty mount point with an emptry sting.
When adding a new partition in the concrete partition editor, make sure
to set a pointer to the partition table interface in the new entry.
Otherwise we may end up not writing back the partitions at all, leading
to further fallout later.
Receipe to reproduce the issue from Frederic Fauberteau, thanks!
In the concrete partitions editor, after deleting the last partition move
the menu selection to the "add a partition" entry (instead of the sentinel
line which is not an active menu entry).
Typo in comment
Keep a list of all partition tables from which we have deleted partitions
and make sure we update those partition tables when writing partitions,
even if no install related partition remains on them.
Fix display of timezone selection menu
If there is no current partitioning manager assume we are editing the
current system and make target_already_root() return true.
Fixes various fallout when using sysinst post installation.
PR 55377: mark boot partitions in the partition size display, as suggested
by Izumi Tsutsui (minor modifications + all bugs by me)
PR 55378: do not assume RAW_PART to be either 2 or 3
PR 55379: avoid creating bogus /etc/fstab lines for /dev/cd* if no
cdrom is available.
PR 55381: try to deal with moved (but not yet saved) partitions when
calculating free space
Apply patch provided by Izumi Tsutsui in PR 55382: make ext2 partitions
show up in the outer (MBR) partition table, needed for example on Cobalt
where firmware boots from that partition.
PR 55384: detangle pm->ptstart from the "install" flag (selecting a
target partition). Instead introduce a new PTI_INSTALL_TARGET per partition
flag and deal with it in the partitioning backends.
Honour pm->ptstart when allocating new partitions - it is supposed to be
the first sector usable by NetBSD.
If we have no explicitly marke target root partition, make sure to set
the proper flag on the implicit one.
When merging existing partitions with desired target system layout
information, only force the "mount" flag if the existing partitions
has a valid mount point.
Add a heuristic to detect and properly mark EFI system partitions
when re-using pre-existing partitions.
When MD code requests a reserved area (at the start of the disk)
make sure to properly account for the "lost" space during all calculations
and especially when expanding the main partition to fill the disk.
Avoid using the global "pm" or a passed device descriptons when we are
passing disk limits explicitly anyway.
Simplify/fix a few rounding calculations.
When creating new partitions for "full disk" use, pass a install target
hint to the partitioning backend (for the outer NetBSD partition).
Use an install target hint to mark a new partition active.
When compiled with BOOTSEL support, also name the new partition "NetBSD".
Remove more pm->ptstart abuse - calculate values localy where needed
instead.
Fix editing start and size of not yet existing outer partitions.
Previously we abused pm->ptstart / pm->ptsize to pass the bounds of the
NetBSD outer partition to the inner partition editor - but now this is
not a valid assumption any more, so explicitly fix the bounds if an
outer partition exists.
Remove very strange code that special-cased MSDOS file systems and refused
to newfs the partition (despite explicit request to do so) if it was
mountable.
Accidently carried over from a dim and distant past, before we had
fsck_newfs.
PR 55536: when we find existing partition tables and have alternative
formats available, offer to delete partitions and create new ones from
scratch (in some other or the same on-disk format).
Minor fix to previous: fix condition when we offer the partition type
switch - it makes sense even if the disk is partitioned but has no valid
partitions.
Before forcing MBR partitions into our disklabel, make sure they are not
there yet - could happen in various paths when reusing existing partitions
(or parts of that) - previously we would blindly duplicate identical
partitions.
Ooops, part of previous was not meant to be included yet
When renumbering partitions (after deletions) be slightly more lax
in matching, to cope with differences between MBR EFI partitions and
disklabel MSDOS partitions.
PR 55142: on popular demand bring back expert options to adjust the
number of free inodes, block size and fragment size for FFS and LFS.
Fix copy & pasto noticed by Jason Mitchell: change the type of a GPT
partition via "gpt type" - not "gpt label".
Fix copy & pasto (missing "again" label)
Remove dead code
Move MBR writing (if any) post disklabel writing, otherwise strange
interactions happen.
Properly convert partition default sizes in MB to number of sectors
 1.23.2.10 10-Feb-2020  bouyer Pull up following revision(s) (requested by martin in ticket #693):
usr.sbin/sysinst/arch/x68k/msg.md.en: revision 1.2
usr.sbin/sysinst/arch/x68k/md.c: revision 1.10
usr.sbin/sysinst/arch/mvme68k/msg.md.fr: revision 1.2
usr.sbin/sysinst/arch/x68k/msg.md.en: revision 1.3
usr.sbin/sysinst/arch/mvme68k/msg.md.fr: revision 1.3
usr.sbin/sysinst/msg.mi.en: revision 1.28
usr.sbin/sysinst/arch/hp300/md.c: revision 1.10
usr.sbin/sysinst/msg.mi.es: revision 1.22
usr.sbin/sysinst/target.c: revision 1.12
usr.sbin/sysinst/arch/mvme68k/md.c: revision 1.10
usr.sbin/sysinst/arch/i386/md.c: revision 1.30
usr.sbin/sysinst/arch/mvme68k/msg.md.pl: revision 1.2
usr.sbin/sysinst/arch/mvme68k/msg.md.pl: revision 1.3
usr.sbin/sysinst/bsddisklabel.c: revision 1.39
usr.sbin/sysinst/arch/mvme68k/msg.md.de: revision 1.2
usr.sbin/sysinst/arch/mac68k/md.c: revision 1.9
usr.sbin/sysinst/disklabel.c: revision 1.35
usr.sbin/sysinst/arch/mvme68k/msg.md.de: revision 1.3
usr.sbin/sysinst/defs.h: revision 1.55
usr.sbin/sysinst/disks.c: revision 1.63
usr.sbin/sysinst/disks.c: revision 1.64
usr.sbin/sysinst/mbr.c: revision 1.31
usr.sbin/sysinst/disks.c: revision 1.65
usr.sbin/sysinst/txtwalk.c: revision 1.3
usr.sbin/sysinst/txtwalk.c: revision 1.4
usr.sbin/sysinst/arch/mvme68k/msg.md.en: revision 1.2
usr.sbin/sysinst/arch/mvme68k/msg.md.en: revision 1.3
usr.sbin/sysinst/msg.mi.fr: revision 1.26
usr.sbin/sysinst/msg.mi.pl: revision 1.29
usr.sbin/sysinst/arch/mvme68k/msg.md.es: revision 1.2
usr.sbin/sysinst/upgrade.c: revision 1.15
usr.sbin/sysinst/arch/mvme68k/msg.md.es: revision 1.3
usr.sbin/sysinst/upgrade.c: revision 1.16
usr.sbin/sysinst/partman.c: revision 1.50
usr.sbin/sysinst/msg.mi.de: revision 1.21
remove unused "emptypart" message (or moved to ifdef notyet area)
PR install/54921: message "ordering" takes a %s argument.
PR install/54921: skip non-user partitions when checking for overlaps
bootxx_name() - fix oversight in previous change (do not assume first
partition is the root partition)
PR install/54934: always use -f on the installboot invocation. We come
here post-newfs (and maybe should have dd'd zeros to the start of the
disk before newfs instead).
Remove a bogus assert: when reading disklabel partitions and the outer
(MBR) partitioning has changed, but the changes have not yet been written
back to disk, we need to ignore the kernels idea of the disklabel and
instead continue with an empty one.
Deal with partitioning schemes having no inner counterpart.
Avoid NULL derefs.
Do not assum a partitioning scheme that supports innner partitions always
needs to actually have such partitions defined.
PR bin/54944: deal with escaped spaces in NAME= syntax in /etc/fstab.
PR bin/54944: explicitly reject GPT protective MBRs.
PR bin/54944: make the "explicit single wedge" selection also work for
upgrades.
Reformat a query to add an automatically detected swap partition
so it fits on narrow screens.
Make re-install sets also work for an explicit selected root wedge
Fix copy&pasto in previous - from kre.
Only a single partition can ever have the "extend" flag (grow to available
size).
Do not use -P for tar extractions - the in tree tar has been fixed.
Finish conversion to generic partitioning backend
 1.23.2.9 28-Jan-2020  msaitoh Pull up following revision(s) (requested by martin in ticket #668):
usr.sbin/sysinst/arch/cobalt/md.c: revision 1.11
usr.sbin/sysinst/arch/cobalt/md.c: revision 1.12
usr.sbin/sysinst/arch/arc/md.c: revision 1.11
usr.sbin/sysinst/arch/arc/md.c: revision 1.12
usr.sbin/sysinst/partman.c: revision 1.43
usr.sbin/sysinst/partman.c: revision 1.46
usr.sbin/sysinst/partman.c: revision 1.47
usr.sbin/sysinst/partman.c: revision 1.48
usr.sbin/sysinst/partman.c: revision 1.49
usr.sbin/sysinst/msg.pm.fr: revision 1.2
usr.sbin/sysinst/upgrade.c: revision 1.14
usr.sbin/sysinst/arch/i386/md.c: revision 1.28
usr.sbin/sysinst/arch/i386/md.c: revision 1.29
usr.sbin/sysinst/arch/ofppc/md.c: revision 1.9
usr.sbin/sysinst/arch/sandpoint/md.c: revision 1.7
usr.sbin/sysinst/arch/sandpoint/md.c: revision 1.8
usr.sbin/sysinst/gpt.c: revision 1.14
usr.sbin/sysinst/gpt.c: revision 1.15
usr.sbin/sysinst/arch/luna68k/md.c: revision 1.8
usr.sbin/sysinst/gpt.c: revision 1.16
usr.sbin/sysinst/msg.pm.de: revision 1.2
usr.sbin/sysinst/arch/evbarm/md.c: revision 1.11
usr.sbin/sysinst/arch/evbarm/md.c: revision 1.12
usr.sbin/sysinst/arch/evbarm/md.c: revision 1.13
usr.sbin/sysinst/arch/evbarm/md.c: revision 1.14
usr.sbin/sysinst/sizemultname.c: revision 1.4
usr.sbin/sysinst/msg.pm.en: revision 1.2
usr.sbin/sysinst/arch/landisk/md.c: revision 1.12
usr.sbin/sysinst/util.c: revision 1.41
usr.sbin/sysinst/arch/landisk/md.c: revision 1.13
usr.sbin/sysinst/util.c: revision 1.42
usr.sbin/sysinst/arch/ofppc/md.c: revision 1.10
usr.sbin/sysinst/partitions.c: revision 1.9
usr.sbin/sysinst/arch/evbarm/md.h: revision 1.4
usr.sbin/sysinst/arch/evbarm/md.h: revision 1.5
usr.sbin/sysinst/arch/evbmips/md.c: revision 1.7
usr.sbin/sysinst/arch/evbmips/md.c: revision 1.8
usr.sbin/sysinst/msg.mi.fr: revision 1.25
usr.sbin/sysinst/msg.mi.de: revision 1.20
usr.sbin/sysinst/install.c: revision 1.14
usr.sbin/sysinst/partitions.h: revision 1.13
usr.sbin/sysinst/partitions.h: revision 1.14
usr.sbin/sysinst/arch/evbppc/md.c: revision 1.7
usr.sbin/sysinst/arch/playstation2/md.c: revision 1.7
usr.sbin/sysinst/msg.mi.en: revision 1.27
usr.sbin/sysinst/partitions.h: revision 1.15
usr.sbin/sysinst/arch/evbppc/md.c: revision 1.8
usr.sbin/sysinst/arch/hpcarm/md.c: revision 1.7
usr.sbin/sysinst/arch/playstation2/md.c: revision 1.8
usr.sbin/sysinst/msg.pm.pl: revision 1.2
usr.sbin/sysinst/arch/hpcarm/md.c: revision 1.8
usr.sbin/sysinst/msg.mi.es: revision 1.21
usr.sbin/sysinst/arch/zaurus/md.c: revision 1.7
usr.sbin/sysinst/target.c: revision 1.11
usr.sbin/sysinst/arch/zaurus/md.c: revision 1.8
usr.sbin/sysinst/part_edit.c: revision 1.14
usr.sbin/sysinst/part_edit.c: revision 1.15
usr.sbin/sysinst/part_edit.c: revision 1.16
usr.sbin/sysinst/defs.h: revision 1.50
usr.sbin/sysinst/defs.h: revision 1.51
usr.sbin/sysinst/defs.h: revision 1.52
usr.sbin/sysinst/defs.h: revision 1.53
usr.sbin/sysinst/defs.h: revision 1.54
usr.sbin/sysinst/arch/hpcmips/md.c: revision 1.7
usr.sbin/sysinst/arch/hpcmips/md.c: revision 1.8
usr.sbin/sysinst/arch/hpcsh/md.c: revision 1.8
usr.sbin/sysinst/msg.pm.es: revision 1.2
usr.sbin/sysinst/arch/hpcsh/md.c: revision 1.9
usr.sbin/sysinst/label.c: revision 1.18
usr.sbin/sysinst/label.c: revision 1.19
usr.sbin/sysinst/net.c: revision 1.35
usr.sbin/sysinst/msg.mi.pl: revision 1.28
usr.sbin/sysinst/disklabel.c: revision 1.28
usr.sbin/sysinst/disklabel.c: revision 1.29
usr.sbin/sysinst/mbr.c: revision 1.24
usr.sbin/sysinst/disks.c: revision 1.59
usr.sbin/sysinst/mbr.c: revision 1.25
usr.sbin/sysinst/mbr.c: revision 1.26
usr.sbin/sysinst/mbr.c: revision 1.27
usr.sbin/sysinst/mbr.c: revision 1.28
usr.sbin/sysinst/label.c: revision 1.20
usr.sbin/sysinst/mbr.c: revision 1.29
usr.sbin/sysinst/bsddisklabel.c: revision 1.34
usr.sbin/sysinst/bsddisklabel.c: revision 1.35
usr.sbin/sysinst/bsddisklabel.c: revision 1.36
usr.sbin/sysinst/bsddisklabel.c: revision 1.37
usr.sbin/sysinst/disklabel.c: revision 1.30
usr.sbin/sysinst/bsddisklabel.c: revision 1.38
usr.sbin/sysinst/disklabel.c: revision 1.31
usr.sbin/sysinst/disklabel.c: revision 1.32
usr.sbin/sysinst/disklabel.c: revision 1.33
usr.sbin/sysinst/disklabel.c: revision 1.34
usr.sbin/sysinst/disks.c: revision 1.60
usr.sbin/sysinst/disks.c: revision 1.61
usr.sbin/sysinst/arch/bebox/md.c: revision 1.7
usr.sbin/sysinst/disks.c: revision 1.62
usr.sbin/sysinst/arch/bebox/md.c: revision 1.8
usr.sbin/sysinst/mbr.c: revision 1.30
usr.sbin/sysinst/partitions.c: revision 1.10
usr.sbin/sysinst/arch/prep/md.c: revision 1.11
usr.sbin/sysinst/arch/prep/md.c: revision 1.12
usr.sbin/sysinst/menus.pm: revision 1.3
usr.sbin/sysinst/main.c: revision 1.20
usr.sbin/sysinst/menus.mi: revision 1.20
usr.sbin/sysinst/menus.mi: revision 1.21
avoid calling snprintf/strlcat with an input parameter the same
as the output. from martin@. fixes gcc 8 restrict warnings.
Finish conversion of extended partitioning parts to new abstract
backend interface. XXX still could use a lot of polishing.
Instead of a (bogus) attempt to query the model via ofctl, use the (now
fixed) sysctl hw.model instead.
When reading the secondary disklabel partitions from an existing disklabel
set the mbr partitions as parent.
Move the LABELSECTOR check and make it FS type specific - some partition
types (FFS, RAID) are allowed to overlap with the LABELSECTOR.
When asked to create a whole-disk partition for unknown usage, do not only
assert(false), but actually return an error (in case "assert" is a nop).
PR install/54787: when trying to derive proper alignement and first offset
from exisiting partitions, use the first partition offset if it is already
closer to the start of the disk than the prefered alignment - we can not
move existing partitions around.
Fix handling of inner/outer partitions (e.g. MBR and disklabel) in
extended partitioning:
- when editing a disk with such a schme, offer both partitions in two
steps
- when commiting changes save the inner partitions after the outer ones
Add a method to query the partitioning schemes "internal idea" of a
cylinder size - whatever that means in the real world.
Avoid using the global "pm" variable in utility functions - during
extended partitioning they may point to a different device.
Remove useless calls to get_ramsize() - return value is ignored and
the function has no side effects.
Fix /tmp tmpfs handling and on machines with enough RAM default to
creating a /tmp tmpfs with 25% of ram size limit. Suggested by ad@.
PR install/54872: fix printf argument order, sectors and heads were
swapped in the bios geometry display.
First try to bring evbarm installation closer to current reality.
hide disklabel_non_bootable() under NO_DISKLABEL_BOOT like the usage.
should fix most builds.
Deal with even stranger fictious empty disklabels (PR kern/54882).
Factor out all RAM size thresholds as defines to avoid magic numbers.
To work around PR misc/54886 bump the threshold for a tmpfs /tmp mount
up to 256 MB.
When retrying sets during extraction, reset the relevant statistics
to avoid counting retried sets multiple times.
Reported by kim.
Fix support for non-512-byte/sector disks again after I broke it when
introducing the abstract partition backends.
Use a few strlcpy() instead of strncpy() for network ioctl structs.
We seem to have no formal documentation stating the various
char if*_name[IFNAMSIZ]; /* if name, e.g. "en0" */
elements in ioctls are nul terminated, but the peanut gallery claims
it is so - and at least half of the code in-tree touching them agrees.
Too much disklabel magic happening in the kernel - to compensate force
MBR first when trying to identify the existing partitioning scheme of
a disk.
 1.23.2.8 17-Dec-2019  msaitoh Pull up following revision(s) (requested by martin in ticket #560):
usr.sbin/sysinst/partitions.h: revision 1.11
usr.sbin/sysinst/defs.h: revision 1.49
usr.sbin/sysinst/mbr.c: revision 1.23
usr.sbin/sysinst/msg.mi.en: revision 1.26
usr.sbin/sysinst/disks.c: revision 1.58
usr.sbin/sysinst/arch/evbarm/menus.md.pl: revision 1.2
usr.sbin/sysinst/msg.mi.es: revision 1.20
usr.sbin/sysinst/arch/mvme68k/md.c: revision 1.9
usr.sbin/sysinst/gpt.c: revision 1.13
usr.sbin/sysinst/arch/evbarm/md.c: revision 1.10
usr.sbin/sysinst/arch/arc/md.c: revision 1.10
usr.sbin/sysinst/disklabel.c: revision 1.18
usr.sbin/sysinst/bsddisklabel.c: revision 1.33
usr.sbin/sysinst/disklabel.c: revision 1.19
usr.sbin/sysinst/main.c: revision 1.19
usr.sbin/sysinst/partman.c: revision 1.45
usr.sbin/sysinst/arch/alpha/md.c: revision 1.7
usr.sbin/sysinst/msg.mi.de: revision 1.19
usr.sbin/sysinst/arch/evbarm/menus.md.en: revision 1.2
usr.sbin/sysinst/arch/x68k/md.h: revision 1.4
usr.sbin/sysinst/arch/x68k/md.c: revision 1.9
usr.sbin/sysinst/arch/evbarm/menus.md.es: revision 1.2
usr.sbin/sysinst/wskbd.c: revision 1.4
usr.sbin/sysinst/label.c: revision 1.15
usr.sbin/sysinst/arch/amiga/md.h: revision 1.5
usr.sbin/sysinst/label.c: revision 1.16
usr.sbin/sysinst/arch/hp300/md.c: revision 1.9
usr.sbin/sysinst/arch/emips/md.c: revision 1.8
usr.sbin/sysinst/label.c: revision 1.17
usr.sbin/sysinst/arch/pmax/md.c: revision 1.7
usr.sbin/sysinst/partitions.c: revision 1.6
usr.sbin/sysinst/arch/prep/md.c: revision 1.10
usr.sbin/sysinst/arch/mipsco/md.c: revision 1.7
usr.sbin/sysinst/partitions.c: revision 1.7
usr.sbin/sysinst/partitions.c: revision 1.8
usr.sbin/sysinst/arch/ews4800mips/md.c: revision 1.5
usr.sbin/sysinst/disklabel.c: revision 1.20
usr.sbin/sysinst/arch/evbarm/menus.md.fr: revision 1.2
usr.sbin/sysinst/msg.mi.fr: revision 1.24
usr.sbin/sysinst/disklabel.c: revision 1.21
usr.sbin/sysinst/partitions.h: revision 1.9
usr.sbin/sysinst/msg.mi.pl: revision 1.27
usr.sbin/sysinst/disklabel.c: revision 1.22
usr.sbin/sysinst/disklabel.c: revision 1.23
usr.sbin/sysinst/arch/i386/md.c: revision 1.27
usr.sbin/sysinst/disklabel.c: revision 1.24
usr.sbin/sysinst/disklabel.c: revision 1.25
usr.sbin/sysinst/arch/cobalt/md.h: revision 1.5
usr.sbin/sysinst/disklabel.c: revision 1.26
usr.sbin/sysinst/disklabel.c: revision 1.27
usr.sbin/sysinst/partitions.h: revision 1.10
usr.sbin/sysinst/arch/cobalt/md.c: revision 1.10
PR install/54582: allow MD code to disable on-disk presence verification
of "real" disklabels. Auto-enable this (at run time) when there is no other
partitioning scheme but disklabel configured.
Hard-coded enable this for x68k to allow using kernel based translations
for native Human68k partitions.
Get rid of the evbarm preliminary menu: do not bother to ask the user
whether this is a RPi - query the FDT instead.
PR 54065: add optional "old compat" variant of ext2fs in file system
type selection and use that as default for the cobalt boot file system.
For now rely on the kernel mapping native RDB partitions.
Fix detection of existing disklabels in the case when we only have
the disklabel partitioning scheme available.
Fix DISKLABEL_NO_ONDISK_VERIFY (accidently disabled in previous)
Fix inverted comparison
Do not try to change the keyboard layout if we are not running on the
console.
When trying to tell a fictious but empty label from a real one, skip
partition a if it has the same start and size as the raw partition.
Remove bogus assert.
When finding (paritioning scheme native) partition types for file systems
from our install description, pass the partition type (not only the file
system type). Sometimes (e.g. EFI boot partition on GPT) the filesystem
type (MSDOS) is not a unique selector.
Adapt MD parts to changes in get_fs_part_type (pass partition type).
If a fictious label has no RAW_PART assume there is no valid disk label.
Pass proper track size when initializing the default alignment - this is
important with sunlabels.
Fix overlapping partitions display
Reject (what we consider) empty/invalid fake disklabels no matter whether
we have other partitioning schemes available or not.
Do not show disklabel command invocation by default (only if there are
errors).
After installing boot blocks with RUN_NO_CLEAR (and handling the
potential errors) make sure to clear the stdscreen.
 1.23.2.7 09-Dec-2019  bouyer Pull up following revision(s) (requested by martin in ticket #538):
usr.sbin/sysinst/bsddisklabel.c: revision 1.32
PR install/54745: fix confusion about absolut and NetBSD-partition
relative offsets.
 1.23.2.6 17-Nov-2019  msaitoh Pull up following revision(s) (requested by martin in ticket #436):
usr.sbin/sysinst/disks.c: revision 1.55
usr.sbin/sysinst/msg.mi.en: revision 1.24
usr.sbin/sysinst/mbr.c: revision 1.22
usr.sbin/sysinst/disks.c: revision 1.56
usr.sbin/sysinst/msg.mi.en: revision 1.25
usr.sbin/sysinst/disks.c: revision 1.57
usr.sbin/sysinst/arch/playstation2/msg.md.pl: revision 1.3
usr.sbin/sysinst/Makefile.inc: revision 1.30
usr.sbin/sysinst/configmenu.c: revision 1.11
usr.sbin/sysinst/util.c: revision 1.35
usr.sbin/sysinst/gpt.c: revision 1.12
usr.sbin/sysinst/util.c: revision 1.36
usr.sbin/sysinst/arch/playstation2/msg.md.de: revision 1.3
usr.sbin/sysinst/arch/i386/menus.md: revision 1.3
usr.sbin/sysinst/util.c: revision 1.37
usr.sbin/sysinst/part_edit.c: revision 1.11
usr.sbin/sysinst/arch/i386/msg.md.en: revision 1.2
usr.sbin/sysinst/util.c: revision 1.38
usr.sbin/sysinst/part_edit.c: revision 1.12
usr.sbin/sysinst/arch/i386/msg.md.en: revision 1.3
usr.sbin/sysinst/util.c: revision 1.39
usr.sbin/sysinst/part_edit.c: revision 1.13
usr.sbin/sysinst/arch/i386/msg.md.en: revision 1.4
usr.sbin/sysinst/disklabel.c: revision 1.15
usr.sbin/sysinst/bsddisklabel.c: revision 1.30
usr.sbin/sysinst/arch/i386/msg.md.es: revision 1.2
usr.sbin/sysinst/bsddisklabel.c: revision 1.31
usr.sbin/sysinst/arch/i386/msg.md.es: revision 1.3
usr.sbin/sysinst/arch/i386/msg.md.es: revision 1.4
usr.sbin/sysinst/mbr.h: revision 1.4
usr.sbin/sysinst/main.c: revision 1.18
usr.sbin/sysinst/partman.c: revision 1.44
usr.sbin/sysinst/msg.mi.de: revision 1.17
usr.sbin/sysinst/arch/i386/msg.md.fr: revision 1.2
usr.sbin/sysinst/msg.mi.de: revision 1.18
usr.sbin/sysinst/arch/i386/msg.md.fr: revision 1.3
usr.sbin/sysinst/arch/playstation2/msg.md.en: revision 1.3
usr.sbin/sysinst/arch/i386/msg.md.fr: revision 1.4
usr.sbin/sysinst/arch/amd64/md.c: revision 1.2
usr.sbin/sysinst/arch/ews4800mips/Makefile: revision 1.3
usr.sbin/sysinst/arch/playstation2/msg.md.es: revision 1.3
usr.sbin/sysinst/label.c: revision 1.13
usr.sbin/sysinst/Makefile.inc: revision 1.29
usr.sbin/sysinst/label.c: revision 1.14
usr.sbin/sysinst/util.c: revision 1.40
usr.sbin/sysinst/partitions.c: revision 1.5
usr.sbin/sysinst/arch/amd64/md.h: revision 1.8
usr.sbin/sysinst/msg.mi.es: revision 1.18
usr.sbin/sysinst/net.c: revision 1.34
usr.sbin/sysinst/msg.mi.es: revision 1.19
usr.sbin/sysinst/arch/i386/msg.md.pl: revision 1.2
usr.sbin/sysinst/arch/i386/md.c: revision 1.22
usr.sbin/sysinst/msg.mi.fr: revision 1.22
usr.sbin/sysinst/arch/playstation2/msg.md.fr: revision 1.3
usr.sbin/sysinst/arch/i386/msg.md.pl: revision 1.3
usr.sbin/sysinst/arch/i386/md.c: revision 1.23
usr.sbin/sysinst/msg.mi.pl: revision 1.25
usr.sbin/sysinst/msg.mi.fr: revision 1.23
usr.sbin/sysinst/arch/i386/msg.md.pl: revision 1.4
usr.sbin/sysinst/arch/i386/md.c: revision 1.24
usr.sbin/sysinst/partitions.h: revision 1.8
usr.sbin/sysinst/msg.mi.pl: revision 1.26
usr.sbin/sysinst/arch/i386/msg.md.de: revision 1.2
usr.sbin/sysinst/arch/i386/msg.md.de: revision 1.3
usr.sbin/sysinst/arch/i386/msg.md.de: revision 1.4
usr.sbin/sysinst/run.c: revision 1.13
usr.sbin/sysinst/defs.h: revision 1.46
usr.sbin/sysinst/install.c: revision 1.12
usr.sbin/sysinst/defs.h: revision 1.47
usr.sbin/sysinst/install.c: revision 1.13
usr.sbin/sysinst/defs.h: revision 1.48
Add options to the various partitioning stages that allow cloning of
alien partitions (optionally including data).
PR 54467: we trust our own sets, extract them with -P to allow symlink
redirection (especially for updates and chroot services - back out
once a better solution for those is implemented)
Make cloning support optional, so we can save some space on very small
install media.
Drop MBR and cloning support on crunched install media.
Make tar extraction flags depend on our usage of pax-as-tar or bsdtar.
Fix missing newlines in bios match display, pointed out by maxv.
Drop unused variable.
Fix table of bios geomatries
knf style adjustments
Make the bootblock selection menu more sane, pointed out by maxv
Make sure all menus have a translatable exit option (or none at all).
On amd64 support installation with a KASLR kernel, via "custom install"
and selecting the GENERIC_KASLR kernel set.
Setup /prekern and boot.cfg accordingly.
 1.23.2.5 28-Oct-2019  msaitoh Pull up following revision(s) (requested by martin in ticket #382):
usr.sbin/sysinst/part_edit.c: revision 1.10
usr.sbin/sysinst/part_edit.c: revision 1.9
usr.sbin/sysinst/partitions.c: revision 1.3
usr.sbin/sysinst/partitions.c: revision 1.4
usr.sbin/sysinst/partitions.h: revision 1.7
usr.sbin/sysinst/bsddisklabel.c: revision 1.29
usr.sbin/sysinst/disks.c: revision 1.54
Honor the "no_mbr" flag (used especially for raid and xbd devices)
On device where we do not want a MBR (raid, xbd) skip the MBR partitioning
scheme when trying to read partitions from disk. The generic reader will
fall back to disklabel then.
In non-MBR specific files, #ifdef all tests for MBR for architectures
that do not even compile in MBR support.
 1.23.2.4 23-Oct-2019  msaitoh Pull up following revision(s) (requested by martin in ticket #365):
usr.sbin/sysinst/bsddisklabel.c: revision 1.28
usr.sbin/sysinst/disks.c: revision 1.53
Skip unwanted (zero sized) partitions.
 1.23.2.3 29-Aug-2019  msaitoh Pull up following revision(s) (requested by martin in ticket #130):
usr.sbin/sysinst/bsddisklabel.c: revision 1.27
Remove dead (#if 0) code.
 1.23.2.2 02-Aug-2019  msaitoh Pull up following revision(s) (requested by martin in ticket #6):
usr.sbin/sysinst/bsddisklabel.c: revision 1.26
If we can not fit a planned partition, retry with a bit more slope
in size.
 1.23.2.1 02-Aug-2019  msaitoh Pull up following revision(s) (requested by martin in ticket #5):
usr.sbin/sysinst/bsddisklabel.c: revision 1.24
usr.sbin/sysinst/bsddisklabel.c: revision 1.25
PR 54423: fix handling of user defined partitions
PR 54423: complete initialization of install info for user defined partitions
 1.69.2.1 31-Dec-2022  snj Pull up following revision(s) (requested by martin in ticket #30):
usr.sbin/sysinst/bsddisklabel.c: revision 1.71
PR 57132: when calculation additional space available for the "expanded"
partition (typically /) do not forget the reserved space (that might
be required for the system/bootloader/other MD stuff).
 1.3 31-Jan-2021  rillig sysinst: remove trailing whitespace from *.c *.h

In contrast to the messages files, this whitespace is not significant.
 1.2 18-Aug-2019  martin Fix memory leak (found by MKSANITIZER=yes build).
 1.1 26-Jul-2014  dholland branches: 1.1.2; 1.1.6; 1.1.28; 1.1.30;
Move sysinst sources to usr.sbin.

This commit only physically moves the sources - there are no other
changes, to maximize the probability that this will be treated as a
rename if we ever do manage to migrate away from CVS.

Moving sysinst has been discussed on and off for years and has two
goals: making it easier to work on sysinst, and also making sysinst
available on running systems for use installing chroots and VM images
and other such things. None of the latter is possible yet, but as they
say, one thing at a time.

Doing this now was approved in an impromptu fashion by mrg, riz,
riastradh, me, and groo.
 1.1.30.1 18-Aug-2019  msaitoh Pull up following revision(s) (requested by martin in ticket #89):
usr.sbin/sysinst/checkrc.c: revision 1.2
Fix memory leak (found by MKSANITIZER=yes build).
 1.1.28.1 13-Apr-2020  martin Mostly merge changes from HEAD upto 20200411
 1.1.6.2 20-Aug-2014  tls Rebase to HEAD as of a few days ago.
 1.1.6.1 26-Jul-2014  tls file checkrc.c was added on branch tls-maxphys on 2014-08-20 00:05:13 +0000
 1.1.2.2 10-Aug-2014  tls Rebase.
 1.1.2.1 26-Jul-2014  tls file checkrc.c was added on branch tls-earlyentropy on 2014-08-10 07:00:24 +0000
 1.21 26-Jul-2025  martin name arguments even if they are never used to appease lint
 1.20 25-Jul-2025  martin PR 59552: offer to run /bin/sh from the final config menu, with
the freshly installed system root disk still mounted as /targetroot
 1.19 24-Mar-2024  martin branches: 1.19.2;
PR 58062: fix a bug I introduced with the https support: update
the pkgsrc/binary pkgs download URL not only when https transport
is selected.
 1.18 17-Dec-2023  martin Add a https transfer method (sharing all host details with the http
transfer). Make this method the default for all downloads.

Try to make sure the binary pkg installation (which runs in a chroot
in the already installed system) can make use of SSL verification.

This does NOT fix the missing SSL verification in most install media
even if using https (due to not fully populated /etc/openssl/certs).
 1.17 18-May-2022  martin branches: 1.17.2;
When not invoked via some explicit "configure network" menu item,
auto-detect an already working network setup and offer to "just use" it
whenver we need connectivity.
 1.16 15-May-2022  jmcneill sysinst: Enable mDNS lookups via NSS when enabling mdnsd.

Add/remove "multicast_dns" to the hosts: line in /etc/nsswitch.conf when
toggling the mdnsd rcvar. Change the label from "Enable mdnsd" to "Enable
multicast DNS support" to better describe what's going on here.

Now when you enable multicast DNS support in the installer, the host will
both advertise itself on the network and resolve .local network names.
 1.15 21-Apr-2022  martin Make default installations a bit more secure:
- push a bit harder for setup of a root password
- simplify/clarify manual entropy setup
- visit the entropy setup (on machines where it is needed) on the
default path through sysinst
 1.14 09-Oct-2021  martin Consistent #if for static helper function add_entropy
 1.13 08-Oct-2021  martin Re-enable the entropy handling code in sysinst (only visible on machines
that do not have full entropy), but move it to the config menu
instead of enforcing it as mandatory step.

This menu is shown at the end of the setup, or if explicitly invoked
from the main menu.

Some of the input options are complex but useful in some situations
and code to support them is tiny. Most users will use the manual input
(first + default option) but some might prefer to connect a USB TRNG
or have easy setups to transfer entropy from another machine (while
copy & paste on a serial console sometimes is tricky).
 1.12 31-Jan-2021  rillig sysinst: remove trailing whitespace from *.c *.h

In contrast to the messages files, this whitespace is not significant.
 1.11 16-Nov-2019  martin Make sure all menus have a translatable exit option (or none at all).
 1.10 23-Jul-2019  martin branches: 1.10.2;
For upgrade / re-install allow the currently running system as a target
in the "disk" selection.
 1.9 22-Jun-2019  christos no need to initialize fields that are already 0.
 1.8 20-Jun-2019  christos use proper format strings in replace().
 1.7 20-Jun-2019  christos Use _fmt_ msg_ methods when formats are needed.
 1.6 12-Jun-2019  martin Rework internal data structures and "interfaces to user interface" functions
to get rid of all disklabel assumptions.

Previously (even for GPT partitioning) struct disklabel was used, which
obviously breaks large disk setups. Also many MD parts and parts of the
user interface assumed (a) a struct disklabel is used internally to
store partitioning information and (b) partitions are named 'a' ... $MAXPART.

Get rid of this and replace it with a quite abstract interface that should
be able to deal with all variants in partition storage:

- partitions are stored in a (partly abstract) struct disk_partitions
and most parts of it are only accessed via accessor functions provided
by a "partitioning scheme".

- implement partitioning schemes for MBR, disklabel and GPT (with likely
RDB [amiga] and Apple Partition Map [mac*] to follow soon)

- partitioning schemes may be cascaded, e.g. on x86 when using MBR as
"outer partitions", we have disklabel as "inner partitions".

- all user interface goes via accessor functions in the partitioning scheme,
some of which return pointers to special user interface descriptors
(e.g. to allow editing partition flags, which are scheme specific)

Overall the user interface changes (in this initial step) are minimal but
noticable. A new Anita is needed for automatic test setups - many thanks
to Andreas Gustafsson for lots of early testing and a new Anita version,
and to Manuel Bouyer for cooperation and tests of the Anita release.

This work was sponsored by The NetBSD Foundation, Inc.
 1.5 11-May-2015  martin branches: 1.5.16;
Make "ask_yesno" and "ask_noyes" take a const char * as argument, moving
the deconst() dance into the utility functions and simplifying all callers.
 1.4 10-May-2015  martin Backout the previous incorrect fix for PR 49440 and redo it more globaly:
get rid of the global "yesno", introduce utility functions "ask_yesno()"
and "ask_noyes()" instead, greatly simplifying a lot of code.
Pass in a pointer to the return value to various "set source" menus.
 1.3 20-Jan-2015  snj Handle empty input gracefully by simply jumping back to the config menu.
 1.2 03-Aug-2014  martin branches: 1.2.2; 1.2.4; 1.2.6;
(Finally) merge a slightly modified version of the 2012 GSoC results
from Eugene Lozovoy: add extended partitioning options to sysinst.
Still needs some testing and polishing, but it now is possible to use GPT
or to create a RAID set from scratch and install onto it.
 1.1 26-Jul-2014  dholland Move sysinst sources to usr.sbin.

This commit only physically moves the sources - there are no other
changes, to maximize the probability that this will be treated as a
rename if we ever do manage to migrate away from CVS.

Moving sysinst has been discussed on and off for years and has two
goals: making it easier to work on sysinst, and also making sysinst
available on running systems for use installing chroots and VM images
and other such things. None of the latter is possible yet, but as they
say, one thing at a time.

Doing this now was approved in an impromptu fashion by mrg, riz,
riastradh, me, and groo.
 1.2.6.2 20-Aug-2014  tls Rebase to HEAD as of a few days ago.
 1.2.6.1 03-Aug-2014  tls file configmenu.c was added on branch tls-maxphys on 2014-08-20 00:05:13 +0000
 1.2.4.2 14-May-2015  snj Pull up following revision(s) (requested by martin in ticket #756):
usr.sbin/sysinst/arch/arc/md.c: revision 1.4
usr.sbin/sysinst/arch/atari/md.c: revision 1.3
usr.sbin/sysinst/arch/cobalt/md.c: revision 1.4
usr.sbin/sysinst/arch/emips/md.c: revision 1.3
usr.sbin/sysinst/arch/evbarm/md.c: revision 1.4
usr.sbin/sysinst/arch/evbarm64/md.c: revision 1.2
usr.sbin/sysinst/arch/hp300/md.c: revision 1.4
usr.sbin/sysinst/arch/i386/md.c: revision 1.6
usr.sbin/sysinst/arch/mac68k/md.c: revision 1.3
usr.sbin/sysinst/arch/mac68k/md.c: revision 1.4
usr.sbin/sysinst/arch/mac68k/menus.md.de: revisions 1.3, 1.4
usr.sbin/sysinst/arch/mac68k/menus.md.en: revisions 1.3, 1.4
usr.sbin/sysinst/arch/mac68k/menus.md.es: revisions 1.3, 1.4
usr.sbin/sysinst/arch/mac68k/menus.md.pl: revisions 1.3, 1.4
usr.sbin/sysinst/arch/mvme68k/md.c: revision 1.4
usr.sbin/sysinst/arch/ofppc/md.c: revision 1.3
usr.sbin/sysinst/arch/prep/md.c: revisions 1.3, 1.4
usr.sbin/sysinst/arch/prep/menus.md.en: revision 1.2
usr.sbin/sysinst/arch/x68k/md.c: revision 1.4
usr.sbin/sysinst/configmenu.c: revisions 1.4, 1.5
usr.sbin/sysinst/defs.h: revisions 1.8, 1.9
usr.sbin/sysinst/disks.c: revision 1.9
usr.sbin/sysinst/install.c: revision 1.4
usr.sbin/sysinst/label.c: revision 1.3
usr.sbin/sysinst/mbr.c: revision 1.5
usr.sbin/sysinst/menus.mi: revisions 1.9, 1.10
usr.sbin/sysinst/net.c: revisions 1.18-1.20
usr.sbin/sysinst/partman.c: revision 1.10
usr.sbin/sysinst/upgrade.c: revision 1.4
usr.sbin/sysinst/util.c: revisions 1.6, 1.7
Backout the previous incorrect fix for PR 49440 and redo it more globaly:
get rid of the global "yesno", introduce utility functions "ask_yesno()"
and "ask_noyes()" instead, greatly simplifying a lot of code.
Pass in a pointer to the return value to various "set source" menus.
--
Make it compile on architectures that do not support INET6 in sysinst
--
Remove a few more (ab-)usages of "yesno".
--
More (ab-)usages of "yesno"
--
Make "ask_yesno" and "ask_noyes" take a const char * as argument, moving
the deconst() dance into the utility functions and simplifying all callers.
--
Missed a few more "yesno" in previous
 1.2.4.1 23-Jan-2015  martin Pull up following revision(s) (requested by snj in ticket #445):
usr.sbin/sysinst/configmenu.c: revision 1.3
Handle empty input gracefully by simply jumping back to the config menu.
 1.2.2.2 10-Aug-2014  tls Rebase.
 1.2.2.1 03-Aug-2014  tls file configmenu.c was added on branch tls-earlyentropy on 2014-08-10 07:00:24 +0000
 1.5.16.1 13-Apr-2020  martin Mostly merge changes from HEAD upto 20200411
 1.10.2.1 17-Nov-2019  msaitoh Pull up following revision(s) (requested by martin in ticket #436):
usr.sbin/sysinst/disks.c: revision 1.55
usr.sbin/sysinst/msg.mi.en: revision 1.24
usr.sbin/sysinst/mbr.c: revision 1.22
usr.sbin/sysinst/disks.c: revision 1.56
usr.sbin/sysinst/msg.mi.en: revision 1.25
usr.sbin/sysinst/disks.c: revision 1.57
usr.sbin/sysinst/arch/playstation2/msg.md.pl: revision 1.3
usr.sbin/sysinst/Makefile.inc: revision 1.30
usr.sbin/sysinst/configmenu.c: revision 1.11
usr.sbin/sysinst/util.c: revision 1.35
usr.sbin/sysinst/gpt.c: revision 1.12
usr.sbin/sysinst/util.c: revision 1.36
usr.sbin/sysinst/arch/playstation2/msg.md.de: revision 1.3
usr.sbin/sysinst/arch/i386/menus.md: revision 1.3
usr.sbin/sysinst/util.c: revision 1.37
usr.sbin/sysinst/part_edit.c: revision 1.11
usr.sbin/sysinst/arch/i386/msg.md.en: revision 1.2
usr.sbin/sysinst/util.c: revision 1.38
usr.sbin/sysinst/part_edit.c: revision 1.12
usr.sbin/sysinst/arch/i386/msg.md.en: revision 1.3
usr.sbin/sysinst/util.c: revision 1.39
usr.sbin/sysinst/part_edit.c: revision 1.13
usr.sbin/sysinst/arch/i386/msg.md.en: revision 1.4
usr.sbin/sysinst/disklabel.c: revision 1.15
usr.sbin/sysinst/bsddisklabel.c: revision 1.30
usr.sbin/sysinst/arch/i386/msg.md.es: revision 1.2
usr.sbin/sysinst/bsddisklabel.c: revision 1.31
usr.sbin/sysinst/arch/i386/msg.md.es: revision 1.3
usr.sbin/sysinst/arch/i386/msg.md.es: revision 1.4
usr.sbin/sysinst/mbr.h: revision 1.4
usr.sbin/sysinst/main.c: revision 1.18
usr.sbin/sysinst/partman.c: revision 1.44
usr.sbin/sysinst/msg.mi.de: revision 1.17
usr.sbin/sysinst/arch/i386/msg.md.fr: revision 1.2
usr.sbin/sysinst/msg.mi.de: revision 1.18
usr.sbin/sysinst/arch/i386/msg.md.fr: revision 1.3
usr.sbin/sysinst/arch/playstation2/msg.md.en: revision 1.3
usr.sbin/sysinst/arch/i386/msg.md.fr: revision 1.4
usr.sbin/sysinst/arch/amd64/md.c: revision 1.2
usr.sbin/sysinst/arch/ews4800mips/Makefile: revision 1.3
usr.sbin/sysinst/arch/playstation2/msg.md.es: revision 1.3
usr.sbin/sysinst/label.c: revision 1.13
usr.sbin/sysinst/Makefile.inc: revision 1.29
usr.sbin/sysinst/label.c: revision 1.14
usr.sbin/sysinst/util.c: revision 1.40
usr.sbin/sysinst/partitions.c: revision 1.5
usr.sbin/sysinst/arch/amd64/md.h: revision 1.8
usr.sbin/sysinst/msg.mi.es: revision 1.18
usr.sbin/sysinst/net.c: revision 1.34
usr.sbin/sysinst/msg.mi.es: revision 1.19
usr.sbin/sysinst/arch/i386/msg.md.pl: revision 1.2
usr.sbin/sysinst/arch/i386/md.c: revision 1.22
usr.sbin/sysinst/msg.mi.fr: revision 1.22
usr.sbin/sysinst/arch/playstation2/msg.md.fr: revision 1.3
usr.sbin/sysinst/arch/i386/msg.md.pl: revision 1.3
usr.sbin/sysinst/arch/i386/md.c: revision 1.23
usr.sbin/sysinst/msg.mi.pl: revision 1.25
usr.sbin/sysinst/msg.mi.fr: revision 1.23
usr.sbin/sysinst/arch/i386/msg.md.pl: revision 1.4
usr.sbin/sysinst/arch/i386/md.c: revision 1.24
usr.sbin/sysinst/partitions.h: revision 1.8
usr.sbin/sysinst/msg.mi.pl: revision 1.26
usr.sbin/sysinst/arch/i386/msg.md.de: revision 1.2
usr.sbin/sysinst/arch/i386/msg.md.de: revision 1.3
usr.sbin/sysinst/arch/i386/msg.md.de: revision 1.4
usr.sbin/sysinst/run.c: revision 1.13
usr.sbin/sysinst/defs.h: revision 1.46
usr.sbin/sysinst/install.c: revision 1.12
usr.sbin/sysinst/defs.h: revision 1.47
usr.sbin/sysinst/install.c: revision 1.13
usr.sbin/sysinst/defs.h: revision 1.48
Add options to the various partitioning stages that allow cloning of
alien partitions (optionally including data).
PR 54467: we trust our own sets, extract them with -P to allow symlink
redirection (especially for updates and chroot services - back out
once a better solution for those is implemented)
Make cloning support optional, so we can save some space on very small
install media.
Drop MBR and cloning support on crunched install media.
Make tar extraction flags depend on our usage of pax-as-tar or bsdtar.
Fix missing newlines in bios match display, pointed out by maxv.
Drop unused variable.
Fix table of bios geomatries
knf style adjustments
Make the bootblock selection menu more sane, pointed out by maxv
Make sure all menus have a translatable exit option (or none at all).
On amd64 support installation with a KASLR kernel, via "custom install"
and selecting the GENERIC_KASLR kernel set.
Setup /prekern and boot.cfg accordingly.
 1.17.2.2 24-Mar-2024  bouyer Pull up following revision(s) (requested by martin in ticket #644):
usr.sbin/sysinst/configmenu.c: revision 1.19
PR 58062: fix a bug I introduced with the https support: update
the pkgsrc/binary pkgs download URL not only when https transport
is selected.
 1.17.2.1 26-Dec-2023  snj Pull up following revision(s) (requested by martin in ticket #511):
usr.sbin/sysinst/configmenu.c: revision 1.18
usr.sbin/sysinst/defs.h: revision 1.90
usr.sbin/sysinst/main.c: revision 1.32
usr.sbin/sysinst/menus.entropy: revision 1.3
usr.sbin/sysinst/menus.mi: revision 1.29
usr.sbin/sysinst/net.c: revision 1.45
Add a https transfer method (sharing all host details with the http
transfer). Make this method the default for all downloads.
Try to make sure the binary pkg installation (which runs in a chroot
in the already installed system) can make use of SSL verification.
This does NOT fix the missing SSL verification in most install media
even if using https (due to not fully populated /etc/openssl/certs).
 1.19.2.1 02-Aug-2025  perseant Sync with HEAD
 1.94 25-Jul-2025  martin On install media where we can check trust anchors, offer explicit
download of sets via https.
 1.93 09-Jul-2025  andvar Fix typos in comments:
s/mulicast/multicast/
s/muticast/multicast/
s/muliplicator/multiplicator/
s/muti-precision/multi-precision/
 1.92 22-Apr-2024  nia branches: 1.92.2;
Move MIPS N64 compat out of {base,debug}32 into {base,debug}64

martin requested separation by ABI and it doesn't make much sense
to have 64-bit binaries in a set called 32.
 1.91 09-Apr-2024  nia Add new sets: base32, debug32, manhtml

- base32 contains (when MKCOMPAT=yes) shared libraries for 32-bit
compatibility, previously included in base

- debug32 contains (when MKCOMPAT=yes) debug symbols and static libraries
containing debug symbols for 32-bit compatiblity, previously included
in debug

- manhtml contains (when MKHTML=yes) the HTML files previously included
in 'man', which are of limited utility without third-party software.

The motivation for this change is to be able to easily exclude sets
from CD-ROM images that go over the size limit without xz compression
(which many NetBSD platforms struggle to extract at acceptable speeds).
 1.90 17-Dec-2023  martin Add a https transfer method (sharing all host details with the http
transfer). Make this method the default for all downloads.

Try to make sure the binary pkg installation (which runs in a chroot
in the already installed system) can make use of SSL verification.

This does NOT fix the missing SSL verification in most install media
even if using https (due to not fully populated /etc/openssl/certs).
 1.89 14-Mar-2023  kre Correct a minor word usage error in a comment. NFC.
 1.88 15-Dec-2022  martin branches: 1.88.2;
Add an (expert) option to manually edit partitions, inspired by PR 57100.
 1.87 11-Jul-2022  martin Avoid C++-isms (stupid muscle memory) to fix the build.
 1.86 10-Jul-2022  martin Preparations to make the extended partitioning during normal installation
more usefull - pass an optional install_description to partman().
 1.85 24-Jun-2022  tsutsui Check on-disk disklabel properly even on ports without raw BSD disklabel.

Fixes PR install/56890.
 1.84 19-Jun-2022  martin Centralize the "we can newfs this type of filesystem" predicate
and fix the list.
 1.83 22-May-2022  andvar fix various small typos, mainly in comments.
 1.82 18-May-2022  martin When not invoked via some explicit "configure network" menu item,
auto-detect an already working network setup and offer to "just use" it
whenver we need connectivity.
 1.81 21-Apr-2022  martin Make default installations a bit more secure:
- push a bit harder for setup of a root password
- simplify/clarify manual entropy setup
- visit the entropy setup (on machines where it is needed) on the
default path through sysinst
 1.80 10-Feb-2022  martin x86: fix previous: in the UEFI case copy the bootloaders from install
media during initial installation, but use the (by then: updated)
files from the target disk for system upgrades.
 1.79 30-Jan-2022  martin Do not defer wedge deletions when we have nothing mounted.
Define and use a constant for maximum disk name length.
 1.78 29-Jan-2022  martin When upgrading, update the boot code post extraction from
the updated target file system.
 1.77 29-Jan-2022  martin Try to get rid of all wedges we created (after unmounting).
 1.76 05-Dec-2021  msaitoh s/exisit/exist/ in comment.
 1.75 08-Oct-2021  martin Re-enable the entropy handling code in sysinst (only visible on machines
that do not have full entropy), but move it to the config menu
instead of enforcing it as mandatory step.

This menu is shown at the end of the setup, or if explicitly invoked
from the main menu.

Some of the input options are complex but useful in some situations
and code to support them is tiny. Most users will use the manual input
(first + default option) but some might prefer to connect a USB TRNG
or have easy setups to transfer entropy from another machine (while
copy & paste on a serial console sometimes is tricky).
 1.74 26-Sep-2021  maya Restore MKNOUVEAUFIRMWARE and MKRADEONFIRMWARE and make gpufw set unconditional

Simplifies logic.
(Second commit - first one was partial)

Restoring MK* requested by mrg on tech-kern discussion
https://mail-index.netbsd.org/tech-kern/2021/09/25/msg027695.html
 1.73 25-Sep-2021  maya Move DRM-driver firmware from base to its own set, gpufw

This set is only installed on amd64,i386,evbarm.
This set is installed on minimal installs and on install media, in
case someone needs it for basic driver functionality.

Comments:
Switched to a single MK tunable for it - that is probably unneeded.

An upcoming DRM update will include even fatter firmware, and we'd
like to minimize the impact of it.
 1.72 12-Aug-2021  martin PR 56354: all actions to set up swap space are not guaranteed to gain
us enough virtual memory anyway, so drop return codes from set_swap*.
The state for cleanup (which swap dev to unuse) has been made global
some time ago anyway.

Previously use of the return values was inconsistent. Error reporting
will only confuse users and sometimes the situation is hard to fix or
even impossible (like in miniroots copide to swap space for booting).
 1.71 13-Jul-2021  martin PR install/56303: when using xz files enable swap during set extraction
if the machine does not have more than 256MB of RAM.
 1.70 31-Jan-2021  rillig sysinst: remove trailing whitespace from *.c *.h

In contrast to the messages files, this whitespace is not significant.
 1.69 04-Nov-2020  martin Add (experimental) entropy input support:
Early during new installs or after upgrades we check if entropy is
available. If not (no hardware random number generator available)
we inform the user and ask them to fix it.
 1.68 30-Oct-2020  martin PR 55769: avoid the module set if we do not build any
 1.67 13-Oct-2020  martin PR 55142: on popular demand bring back expert options to adjust the
number of free inodes, block size and fragment size for FFS and LFS.
 1.66 12-Oct-2020  martin PR 55536: when we find existing partition tables and have alternative
formats available, offer to delete partitions and create new ones from
scratch (in some other or the same on-disk format).
 1.65 09-Oct-2020  martin When MD code requests a reserved area (at the start of the disk)
make sure to properly account for the "lost" space during all calculations
and especially when expanding the main partition to fill the disk.

Avoid using the global "pm" or a passed device descriptons when we are
passing disk limits explicitly anyway.

Simplify/fix a few rounding calculations.
 1.64 29-Sep-2020  martin PR 55381: try to deal with moved (but not yet saved) partitions when
calculating free space
 1.63 22-Sep-2020  martin Keep a list of all partition tables from which we have deleted partitions
and make sure we update those partition tables when writing partitions,
even if no install related partition remains on them.
 1.62 18-May-2020  jmcneill Separate devicetree .dts -> .dtb building from kernel builds. They are now
part of a separate set, "dtb.tgz", and only built when MKDTB=yes. This
defaults to yes for earmv[67]* and aarch64, and no everywhere else.
 1.61 12-May-2020  martin PR 55202: disable swapping if we started it due to low ram
 1.60 12-May-2020  martin Ooops, backout previous - twice the entropy saving is not needed.
Instead slightly improve the (slightly) hidden other code that already
did it.
 1.59 12-May-2020  martin At the end of a new installation save entropy.
 1.58 22-Apr-2020  joerg Don't depend on common symbol definitions.
 1.57 16-Mar-2020  martin PR misc/54886: bump threshold for automatic/default creation of a tmpfs /tmp
up slightly (to 384 MB ram). This will make sure the default install has
a > 64 MB /tmp available (number pulled out of thin air, 64 MB is the minimum
required by the ZFS tests).
 1.56 19-Feb-2020  martin Remove unused "rel" global variable and make the -r option a no-op.
 1.55 10-Feb-2020  martin Do not use -P for tar extractions - the in tree tar has been fixed.
 1.54 27-Jan-2020  martin Fix support for non-512-byte/sector disks again after I broke it when
introducing the abstract partition backends.
 1.53 24-Jan-2020  martin Factor out all RAM size thresholds as defines to avoid magic numbers.
To work around PR misc/54886 bump the threshold for a tmpfs /tmp mount
up to 256 MB.
 1.52 20-Jan-2020  martin First try to bring evbarm installation closer to current reality.
 1.51 16-Jan-2020  martin Fix /tmp tmpfs handling and on machines with enough RAM default to
creating a /tmp tmpfs with 25% of ram size limit. Suggested by ad@.
 1.50 09-Jan-2020  martin Finish conversion of extended partitioning parts to new abstract
backend interface. XXX still could use a lot of polishing.
 1.49 11-Dec-2019  martin Get rid of the evbarm preliminary menu: do not bother to ask the user
whether this is a RPi - query the FDT instead.
 1.48 14-Nov-2019  martin Make tar extraction flags depend on our usage of pax-as-tar or bsdtar.
 1.47 13-Nov-2019  martin Make cloning support optional, so we can save some space on very small
install media.
 1.46 12-Nov-2019  martin Add options to the various partitioning stages that allow cloning of
alien partitions (optionally including data).
 1.45 02-Oct-2019  maya Split out /rescue to its own set and adapt installers/images to add it.

This is meant to make updates safer: if something goes wrong with updating
base, we still have the old, standalone /rescue to recover from.
 1.44 27-Aug-2019  martin Do not offer to upgared the "current system" if we are running off a CD
(i.e. / is mounted read-only)
 1.43 07-Aug-2019  martin Support upgrade of systems using NAME= syntax in /etc/fstab.

Make supported file system types dynamic - instead of hardcoding the
available types at compile time, check for available newfs_* helper
binaries in the actual install environment at runtime.
 1.42 26-Jul-2019  martin branches: 1.42.2;
Strip trailing / from last mounted strings.
No idea how they happen, but for cgd root (init.root = "/altroot")
they have been reported to exist.
 1.41 23-Jul-2019  martin For upgrade / re-install allow the currently running system as a target
in the "disk" selection.
 1.40 23-Jul-2019  martin Fix the "reinstall sets" action.
 1.39 23-Jul-2019  martin When searching for a partition that may be the root partition for upgrading,
allow "/", "/targetroot" and "/altroot" as potential last mount points.
 1.38 13-Jul-2019  martin We may call md_pre_mount() multiple times for the same install set,
so pass an additional index argument so MD code knows which part
of the install will be mounted next.
 1.37 12-Jul-2019  martin When adding non-disklabel boot partitions (or similar), distinguish between
ones we need to add to the outer (MBR) partitions, or copy over to the
inner (disklabel) partitions.
 1.36 21-Jun-2019  christos refactor disk ioctl stuff to make it smaller.
 1.35 20-Jun-2019  christos add more printflikes() (rin) and remove unused function.
cVS: ----------------------------------------------------------------------
 1.34 12-Jun-2019  martin Rework internal data structures and "interfaces to user interface" functions
to get rid of all disklabel assumptions.

Previously (even for GPT partitioning) struct disklabel was used, which
obviously breaks large disk setups. Also many MD parts and parts of the
user interface assumed (a) a struct disklabel is used internally to
store partitioning information and (b) partitions are named 'a' ... $MAXPART.

Get rid of this and replace it with a quite abstract interface that should
be able to deal with all variants in partition storage:

- partitions are stored in a (partly abstract) struct disk_partitions
and most parts of it are only accessed via accessor functions provided
by a "partitioning scheme".

- implement partitioning schemes for MBR, disklabel and GPT (with likely
RDB [amiga] and Apple Partition Map [mac*] to follow soon)

- partitioning schemes may be cascaded, e.g. on x86 when using MBR as
"outer partitions", we have disklabel as "inner partitions".

- all user interface goes via accessor functions in the partitioning scheme,
some of which return pointers to special user interface descriptors
(e.g. to allow editing partition flags, which are scheme specific)

Overall the user interface changes (in this initial step) are minimal but
noticable. A new Anita is needed for automatic test setups - many thanks
to Andreas Gustafsson for lots of early testing and a new Anita version,
and to Manuel Bouyer for cooperation and tests of the Anita release.

This work was sponsored by The NetBSD Foundation, Inc.
 1.33 12-Feb-2019  martin Backout previous snprintf nonsense, instead STFU gcc 7's most
useless warning ever.
 1.32 11-Feb-2019  martin Fix a few off by one (in both directions) in previous, pointed out by mrg.
Avoid open coding snprintf return value checking and introduce a
helper functions that always ensures string termination instead,
suggested by christos.
 1.31 27-Jan-2019  oster Remove extra #ifdef and duplicated set of #ifdef's.
 1.30 27-Jan-2019  pgoyette Merge the [pgoyette-compat] branch
 1.29 16-Dec-2018  martin Separate binary sets and binary pkg prefix from the machine, and set
it explicitly for evbarm*, evbmips* and evbsh3 so we get the correct
64bit pkgs on aarch64 and also have working defaults on the other
variants.
 1.28 27-Nov-2018  martin Cosmetics: consistently use MEG and GIG defines for size calculations
 1.27 19-Nov-2018  martin Split positional argument string expansion from msg display, we can make
good use of it elsewhere too.
 1.26 15-Nov-2018  martin Add a new helper function to show messages with positional parameters
 1.25 14-Nov-2018  martin Slightly enhance previous: create two utility functions checking for
partitionability and boot code requirements, use a generic match helper
function for both and fully check the device name.
 1.24 11-Nov-2018  martin Skip floopies when selecting an install target, but do not add them to
the CD list when selecting an installation source device.
 1.23 11-Nov-2018  martin Do not allow installation onto floppy disk - can be overriden by
architectures where it would make sense (none currently), and also
works around a bug in QEMU for sparc that kills our -current anita tests.
 1.22 08-Nov-2018  martin Adapt other cd-device query functions to new world order, fix
default cd device (assume 'a' partition).
 1.21 07-Nov-2018  martin Unify handling of CDROM device names.
Skip CDs when looking for install targets (we do not support installing
onto a blueray with UDF).

Fix search for the default CDROM device and the CD we booted from
for ports with nonstandard CDROM device names.
 1.20 06-Oct-2018  martin Support sets in .tar.xz format
 1.19 20-Sep-2018  rin Add NOPARTMAN compile-time option, which drops extended partitioning
support provided by partman.c. It reduces, e.g., about 30KB for
crunched binary in atari install floppy.

OK christos
 1.18 16-Sep-2018  martin Now that the build cluster creates stable "latest" links, use them
as default for downloading sets.
 1.17 12-Sep-2018  martin Try to properly guess a path on the ftp server for pkg binaries
and use that as default.

Assume for $N.99 (current) we can use $N.0. Otherwise strip all
RC*/STABLE* annotations and just use the plain numbers.
 1.16 11-Sep-2018  martin Split the host name used for ftp transfers from the one used for http
transfers. This is slightly inconsistent, as directories are still
shared - but this allows us to default to cdn/nycdn for http (which don't
support ftp).
 1.15 08-Sep-2018  martin Fix editor accident in previous
 1.14 06-Sep-2018  martin Fix previous in case when BUILDID is passed - the subdirectory has the
same name as the BUILDID (which already includes the trailing "Z", no need
to append it again)
 1.13 05-Sep-2018  martin For local builds, at least use the right prefix on nyftp
 1.12 05-Sep-2018  martin Try to guess the proper directory on ftp or nyftp where the binary
sets for the current build will end up.
 1.11 03-Jun-2018  martin branches: 1.11.2;
Add an option to install onto a pre-configured wedge.
Greatly simmplifies (U)EFI setups (but does not fully automate them yet).
 1.10 18-May-2018  joerg deconst -> __UNCONST, the former involves UB with NULL arithmetic.
 1.9 11-May-2015  martin branches: 1.9.8; 1.9.14;
Make "ask_yesno" and "ask_noyes" take a const char * as argument, moving
the deconst() dance into the utility functions and simplifying all callers.
 1.8 10-May-2015  martin Backout the previous incorrect fix for PR 49440 and redo it more globaly:
get rid of the global "yesno", introduce utility functions "ask_yesno()"
and "ask_noyes()" instead, greatly simplifying a lot of code.
Pass in a pointer to the return value to various "set source" menus.
 1.7 09-May-2015  martin Add a new utility function "update_wedges()", which triggers a scan
for wedges on the given disk. Call this after writing a disklabel.
This makes all auto-discovered wedges go away after we changed the
partitioning (and are not using GPT) and fixes PR 49665.
 1.6 02-Jan-2015  abs Rather than scatter set_swap() calls wrapped in ram size checks through
md_post_disklabel() and md_pre_update(), abstract them out to an MI
set_swap_if_low_ram() and call from the appropriate MI places.
Now all platforms add swap if the system has <= 32M of RAM.
 1.5 14-Oct-2014  christos Don't use asctime(localtime(time_t *)) because this is really ctime(time_t *)
and not checking the result of localtime can lead to tears.
Add a safectime() that always returns a good string, and add some debugging
so that we can see if there is indeed something wrong in the new libc time
code.
 1.4 13-Sep-2014  roy Only prompt for one nameserver, let the user decide if it's a
pre-determined google server other another one.
 1.3 06-Aug-2014  martin branches: 1.3.2; 1.3.4; 1.3.6;
Remove a few menu entries if raid/lvm/cgd/gpt are not available.
 1.2 03-Aug-2014  martin (Finally) merge a slightly modified version of the 2012 GSoC results
from Eugene Lozovoy: add extended partitioning options to sysinst.
Still needs some testing and polishing, but it now is possible to use GPT
or to create a RAID set from scratch and install onto it.
 1.1 26-Jul-2014  dholland Move sysinst sources to usr.sbin.

This commit only physically moves the sources - there are no other
changes, to maximize the probability that this will be treated as a
rename if we ever do manage to migrate away from CVS.

Moving sysinst has been discussed on and off for years and has two
goals: making it easier to work on sysinst, and also making sysinst
available on running systems for use installing chroots and VM images
and other such things. None of the latter is possible yet, but as they
say, one thing at a time.

Doing this now was approved in an impromptu fashion by mrg, riz,
riastradh, me, and groo.
 1.3.6.2 20-Aug-2014  tls Rebase to HEAD as of a few days ago.
 1.3.6.1 06-Aug-2014  tls file defs.h was added on branch tls-maxphys on 2014-08-20 00:05:13 +0000
 1.3.4.5 14-May-2015  snj Pull up following revision(s) (requested by martin in ticket #756):
usr.sbin/sysinst/arch/arc/md.c: revision 1.4
usr.sbin/sysinst/arch/atari/md.c: revision 1.3
usr.sbin/sysinst/arch/cobalt/md.c: revision 1.4
usr.sbin/sysinst/arch/emips/md.c: revision 1.3
usr.sbin/sysinst/arch/evbarm/md.c: revision 1.4
usr.sbin/sysinst/arch/evbarm64/md.c: revision 1.2
usr.sbin/sysinst/arch/hp300/md.c: revision 1.4
usr.sbin/sysinst/arch/i386/md.c: revision 1.6
usr.sbin/sysinst/arch/mac68k/md.c: revision 1.3
usr.sbin/sysinst/arch/mac68k/md.c: revision 1.4
usr.sbin/sysinst/arch/mac68k/menus.md.de: revisions 1.3, 1.4
usr.sbin/sysinst/arch/mac68k/menus.md.en: revisions 1.3, 1.4
usr.sbin/sysinst/arch/mac68k/menus.md.es: revisions 1.3, 1.4
usr.sbin/sysinst/arch/mac68k/menus.md.pl: revisions 1.3, 1.4
usr.sbin/sysinst/arch/mvme68k/md.c: revision 1.4
usr.sbin/sysinst/arch/ofppc/md.c: revision 1.3
usr.sbin/sysinst/arch/prep/md.c: revisions 1.3, 1.4
usr.sbin/sysinst/arch/prep/menus.md.en: revision 1.2
usr.sbin/sysinst/arch/x68k/md.c: revision 1.4
usr.sbin/sysinst/configmenu.c: revisions 1.4, 1.5
usr.sbin/sysinst/defs.h: revisions 1.8, 1.9
usr.sbin/sysinst/disks.c: revision 1.9
usr.sbin/sysinst/install.c: revision 1.4
usr.sbin/sysinst/label.c: revision 1.3
usr.sbin/sysinst/mbr.c: revision 1.5
usr.sbin/sysinst/menus.mi: revisions 1.9, 1.10
usr.sbin/sysinst/net.c: revisions 1.18-1.20
usr.sbin/sysinst/partman.c: revision 1.10
usr.sbin/sysinst/upgrade.c: revision 1.4
usr.sbin/sysinst/util.c: revisions 1.6, 1.7
Backout the previous incorrect fix for PR 49440 and redo it more globaly:
get rid of the global "yesno", introduce utility functions "ask_yesno()"
and "ask_noyes()" instead, greatly simplifying a lot of code.
Pass in a pointer to the return value to various "set source" menus.
--
Make it compile on architectures that do not support INET6 in sysinst
--
Remove a few more (ab-)usages of "yesno".
--
More (ab-)usages of "yesno"
--
Make "ask_yesno" and "ask_noyes" take a const char * as argument, moving
the deconst() dance into the utility functions and simplifying all callers.
--
Missed a few more "yesno" in previous
 1.3.4.4 14-May-2015  riz Pull up following revision(s) to fix the build (requested by riz in ticket #754):
usr.sbin/sysinst/net.c: revision 1.10
usr.sbin/sysinst/menus.mi: revision 1.5
usr.sbin/sysinst/net.c: revision 1.9
usr.sbin/sysinst/defs.h: revision 1.4
rtsol is no longer used.
Only prompt for one nameserver, let the user decide if it's a
pre-determined google server other another one.
 1.3.4.3 09-May-2015  msaitoh Pull up following revision(s) (requested by martin in ticket #744):
usr.sbin/sysinst/defs.h: revision 1.7
usr.sbin/sysinst/disks.c: revision 1.8
usr.sbin/sysinst/partman.c: revision 1.9
Add a new utility function "update_wedges()", which triggers a scan
for wedges on the given disk. Call this after writing a disklabel.
This makes all auto-discovered wedges go away after we changed the
partitioning (and are not using GPT) and fixes PR 49665.
 1.3.4.2 27-Feb-2015  martin Pull up following revision(s) (requested by snj in ticket #554):
usr.sbin/sysinst/defs.h: revision 1.5
usr.sbin/sysinst/main.c: revision 1.6
usr.sbin/sysinst/net.c: revision 1.17
usr.sbin/sysinst/util.c: revision 1.5
usr.sbin/sysinst/run.c: revision 1.3
Don't use asctime(localtime(time_t *)) because this is really ctime(time_t *)
and not checking the result of localtime can lead to tears.
Add a safectime() that always returns a good string, and add some debugging
so that we can see if there is indeed something wrong in the new libc time
code.
 1.3.4.1 11-Jan-2015  snj Pull up following revision(s) (requested by abs in ticket #400):
usr.sbin/sysinst/arch/arc/md.c: revision 1.3
usr.sbin/sysinst/arch/cobalt/md.c: revision 1.3
usr.sbin/sysinst/arch/evbsh3/md.c: revision 1.3
usr.sbin/sysinst/arch/hp300/md.c: revision 1.3
usr.sbin/sysinst/arch/hpcsh/md.c: revision 1.3
usr.sbin/sysinst/arch/i386/md.c: revision 1.5
usr.sbin/sysinst/arch/luna68k/md.c: revision 1.4
usr.sbin/sysinst/arch/mvme68k/md.c: revision 1.3
usr.sbin/sysinst/arch/news68k/md.c: revision 1.3
usr.sbin/sysinst/arch/sgimips/md.c: revision 1.3
usr.sbin/sysinst/arch/vax/md.c: revision 1.3
usr.sbin/sysinst/arch/x68k/md.c: revision 1.3
usr.sbin/sysinst/defs.h: revision 1.6
usr.sbin/sysinst/disks.c: revision 1.7
usr.sbin/sysinst/install.c: revision 1.3
usr.sbin/sysinst/partman.c: revision 1.8
usr.sbin/sysinst/upgrade.c: revision 1.3
Rather than scatter set_swap() calls wrapped in ram size checks through
md_post_disklabel() and md_pre_update(), abstract them out to an MI
set_swap_if_low_ram() and call from the appropriate MI places.
Now all platforms add swap if the system has <= 32M of RAM.
 1.3.2.2 10-Aug-2014  tls Rebase.
 1.3.2.1 06-Aug-2014  tls file defs.h was added on branch tls-earlyentropy on 2014-08-10 07:00:24 +0000
 1.9.14.7 26-Dec-2018  pgoyette Sync with HEAD, resolve a few conflicts
 1.9.14.6 26-Nov-2018  pgoyette Sync with HEAD, resolve a couple of conflicts
 1.9.14.5 20-Oct-2018  pgoyette Sync with head
 1.9.14.4 30-Sep-2018  pgoyette Ssync with HEAD
 1.9.14.3 06-Sep-2018  pgoyette Sync with HEAD

Resolve a couple of conflicts (result of the uimin/uimax changes)
 1.9.14.2 25-Jun-2018  pgoyette Sync with HEAD
 1.9.14.1 21-May-2018  pgoyette Sync with HEAD
 1.9.8.2 09-Jun-2018  martin Pull up following revision(s) (requested by joerg in ticket #869):

usr.sbin/sysinst/arch/mvme68k/md.c: revision 1.5
usr.sbin/sysinst/net.c: revision 1.24
usr.sbin/sysinst/partman.c: revision 1.22
usr.sbin/sysinst/menus.mi: revision 1.12
usr.sbin/sysinst/arch/i386/md.c: revision 1.8
usr.sbin/sysinst/arch/alpha/md.c: revision 1.3
usr.sbin/sysinst/bsddisklabel.c: revision 1.3
usr.sbin/sysinst/arch/x68k/md.c: revision 1.5
usr.sbin/sysinst/arch/hp300/md.c: revision 1.5
usr.sbin/sysinst/arch/emips/md.c: revision 1.4
usr.sbin/sysinst/arch/pmax/md.c: revision 1.3
usr.sbin/sysinst/arch/mipsco/md.c: revision 1.3
usr.sbin/sysinst/arch/hppa/md.c: revision 1.3
usr.sbin/sysinst/util.c: revision 1.8
usr.sbin/sysinst/defs.h: revision 1.10
usr.sbin/sysinst/arch/landisk/md.c: revision 1.4

deconst -> __UNCONST, the former involves UB with NULL arithmetic.
 1.9.8.1 05-Jun-2018  bouyer Pull up following revision(s) (requested by martin in ticket #860):
usr.sbin/sysinst/msg.mi.de: revision 1.7
usr.sbin/sysinst/arch/i386/md.c: revision 1.10
usr.sbin/sysinst/msg.mi.fr: revision 1.10
usr.sbin/sysinst/arch/i386/md.c: revision 1.11
usr.sbin/sysinst/menus.mi: revision 1.13
usr.sbin/sysinst/arch/i386/md.c: revision 1.9
usr.sbin/sysinst/msg.mi.es: revision 1.7
usr.sbin/sysinst/msg.mi.en: revision 1.11
usr.sbin/sysinst/mbr.c: revision 1.6
usr.sbin/sysinst/disks.c: revision 1.15
usr.sbin/sysinst/bsddisklabel.c: revision 1.4
usr.sbin/sysinst/disks.c: revision 1.16
usr.sbin/sysinst/msg.mi.pl: revision 1.9
usr.sbin/sysinst/defs.h: revision 1.11
Add an option to install onto a pre-configured wedge.
Greatly simmplifies (U)EFI setups (but does not fully automate them yet).
In the generated /etc/fstab, do not use the (temporary, during sysinst)
path name for the file in the comment, but instead the one it will
have on the target system.
Reorder fetch options: http before ftp
Default console device and speed to that used by syinst
add missing brace.
 1.11.2.2 13-Apr-2020  martin Mostly merge changes from HEAD upto 20200411
 1.11.2.1 10-Jun-2019  christos Sync with HEAD
 1.42.2.12 02-Jan-2023  martin Pull up following revision(s) (requested by tsutsui in ticket #1559):

usr.sbin/sysinst/arch/x68k/md.c: revision 1.13
usr.sbin/sysinst/disklabel.c: revision 1.49
usr.sbin/sysinst/defs.h: revision 1.85
usr.sbin/sysinst/arch/amiga/md.c: revision 1.8
usr.sbin/sysinst/arch/amiga/md.c: revision 1.9

Check on-disk disklabel properly even on ports without raw BSD disklabel.
Fixes PR install/56890.

Fix typo
 1.42.2.11 14-Feb-2022  msaitoh Pull up following revision(s) (requested by martin in ticket #1427):
usr.sbin/sysinst/defs.h: revision 1.80
usr.sbin/sysinst/target.c: revision 1.18
usr.sbin/sysinst/arch/i386/md.c: revision 1.35
x86: fix previous: in the UEFI case copy the bootloaders from install
media during initial installation, but use the (by then: updated)
files from the target disk for system upgrades.
 1.42.2.10 02-Feb-2022  msaitoh Pull up following revision(s) (requested by martin in ticket #1422):
usr.sbin/sysinst/util.c: revision 1.64
usr.sbin/sysinst/arch/hpcsh/md.c: revision 1.11
usr.sbin/sysinst/arch/alpha/md.c: revision 1.10
usr.sbin/sysinst/arch/sparc64/md.c: revision 1.7
usr.sbin/sysinst/arch/emips/md.c: revision 1.10
usr.sbin/sysinst/arch/cobalt/md.c: revision 1.15
usr.sbin/sysinst/arch/x68k/md.c: revision 1.12
usr.sbin/sysinst/arch/sandpoint/md.c: revision 1.10
usr.sbin/sysinst/arch/luna68k/md.c: revision 1.10
usr.sbin/sysinst/arch/hp300/md.c: revision 1.12
usr.sbin/sysinst/arch/vax/md.c: revision 1.8
usr.sbin/sysinst/arch/hpcmips/md.c: revision 1.10
usr.sbin/sysinst/target.c: revision 1.16
usr.sbin/sysinst/arch/mvme68k/md.c: revision 1.12
usr.sbin/sysinst/arch/arc/md.c: revision 1.14
usr.sbin/sysinst/target.c: revision 1.17
usr.sbin/sysinst/arch/i386/md.c: revision 1.34
usr.sbin/sysinst/arch/mac68k/md.c: revision 1.11
usr.sbin/sysinst/arch/atari/md.c: revision 1.8
usr.sbin/sysinst/arch/sgimips/md.c: revision 1.10
usr.sbin/sysinst/arch/acorn32/md.c: revision 1.8
usr.sbin/sysinst/install.c: revision 1.22
usr.sbin/sysinst/arch/amiga/md.c: revision 1.7
usr.sbin/sysinst/arch/cats/md.c: revision 1.6
usr.sbin/sysinst/arch/dummy/md.c: revision 1.7
usr.sbin/sysinst/arch/shark/md.c: revision 1.7
usr.sbin/sysinst/arch/pmax/md.c: revision 1.9
usr.sbin/sysinst/arch/newsmips/md.c: revision 1.7
usr.sbin/sysinst/arch/mipsco/md.c: revision 1.9
usr.sbin/sysinst/arch/landisk/md.c: revision 1.15
usr.sbin/sysinst/arch/hppa/md.c: revision 1.9
usr.sbin/sysinst/arch/prep/md.c: revision 1.14
usr.sbin/sysinst/defs.h: revision 1.77
usr.sbin/sysinst/arch/ofppc/md.c: revision 1.13
usr.sbin/sysinst/arch/ews4800mips/md.c: revision 1.8
usr.sbin/sysinst/defs.h: revision 1.78
usr.sbin/sysinst/arch/macppc/md.c: revision 1.7
usr.sbin/sysinst/arch/evbppc/md.c: revision 1.10
usr.sbin/sysinst/defs.h: revision 1.79
usr.sbin/sysinst/gpt.c: revision 1.27
usr.sbin/sysinst/arch/bebox/md.c: revision 1.10
usr.sbin/sysinst/gpt.c: revision 1.28
usr.sbin/sysinst/arch/sparc/md.c: revision 1.7
usr.sbin/sysinst/arch/evbsh3/md.c: revision 1.7
usr.sbin/sysinst/arch/evbarm/md.c: revision 1.22
usr.sbin/sysinst/arch/news68k/md.c: revision 1.8
usr.sbin/sysinst/upgrade.c: revision 1.19
usr.sbin/sysinst/arch/zaurus/md.c: revision 1.12
usr.sbin/sysinst/arch/playstation2/md.c: revision 1.10
usr.sbin/sysinst/arch/hpcarm/md.c: revision 1.11
usr.sbin/sysinst/arch/evbmips/md.c: revision 1.10
usr.sbin/sysinst/main.c: revision 1.28
Add an option to set the directory where we look for message catalogs.
Try to get rid of all wedges we created (after unmounting).
When upgrading, update the boot code post extraction from
the updated target file system.
Do not defer wedge deletions when we have nothing mounted.
Define and use a constant for maximum disk name length.
 1.42.2.9 19-Aug-2021  snj Pull up following revision(s) (requested by martin in ticket #1333):
usr.sbin/sysinst/defs.h: revision 1.72
usr.sbin/sysinst/disks.c: revision 1.75
usr.sbin/sysinst/upgrade.c: revision 1.18
PR 56354: all actions to set up swap space are not guaranteed to gain
us enough virtual memory anyway, so drop return codes from set_swap*.
The state for cleanup (which swap dev to unuse) has been made global
some time ago anyway.
Previously use of the return values was inconsistent. Error reporting
will only confuse users and sometimes the situation is hard to fix or
even impossible (like in miniroots copide to swap space for booting).
 1.42.2.8 15-Oct-2020  bouyer Pull up following revision(s) (requested by martin in ticket #1113):
usr.sbin/sysinst/bsddisklabel.c: revision 1.46
usr.sbin/sysinst/bsddisklabel.c: revision 1.47
usr.sbin/sysinst/disklabel.c: revision 1.40
usr.sbin/sysinst/arch/cobalt/md.c: revision 1.13
usr.sbin/sysinst/bsddisklabel.c: revision 1.48
usr.sbin/sysinst/disklabel.c: revision 1.41
usr.sbin/sysinst/arch/cobalt/md.c: revision 1.14
usr.sbin/sysinst/bsddisklabel.c: revision 1.49
usr.sbin/sysinst/disklabel.c: revision 1.42
usr.sbin/sysinst/Makefile.inc: revision 1.34
usr.sbin/sysinst/disks.c: revision 1.70
usr.sbin/sysinst/arch/hp300/md.c: revision 1.11
usr.sbin/sysinst/disks.c: revision 1.71
usr.sbin/sysinst/arch/i386/md.h: revision 1.8
usr.sbin/sysinst/arch/arc/md.c: revision 1.13
usr.sbin/sysinst/mbr.h: revision 1.5
usr.sbin/sysinst/mbr.h: revision 1.6
usr.sbin/sysinst/arch/mac68k/md.c: revision 1.10
usr.sbin/sysinst/bsddisklabel.c: revision 1.50
usr.sbin/sysinst/arch/acorn32/md.c: revision 1.7
usr.sbin/sysinst/bsddisklabel.c: revision 1.51
usr.sbin/sysinst/bsddisklabel.c: revision 1.52
usr.sbin/sysinst/bsddisklabel.c: revision 1.53
usr.sbin/sysinst/bsddisklabel.c: revision 1.54
usr.sbin/sysinst/bsddisklabel.c: revision 1.55
usr.sbin/sysinst/bsddisklabel.c: revision 1.56
usr.sbin/sysinst/arch/dummy/md.c: revision 1.6
usr.sbin/sysinst/arch/amd64/md.h: revision 1.9
usr.sbin/sysinst/arch/evbsh3/md.c: revision 1.6
usr.sbin/sysinst/arch/sparc/md.c: revision 1.6
usr.sbin/sysinst/arch/zaurus/md.c: revision 1.10
usr.sbin/sysinst/arch/x68k/md.c: revision 1.11
usr.sbin/sysinst/arch/sandpoint/md.c: revision 1.9
usr.sbin/sysinst/arch/vax/md.c: revision 1.7
usr.sbin/sysinst/arch/luna68k/md.c: revision 1.9
usr.sbin/sysinst/gpt.c: revision 1.19
usr.sbin/sysinst/arch/i386/md.c: revision 1.31
usr.sbin/sysinst/arch/i386/md.c: revision 1.32
usr.sbin/sysinst/arch/evbarm/md.c: revision 1.17
usr.sbin/sysinst/arch/evbarm/md.c: revision 1.18
usr.sbin/sysinst/arch/evbarm/md.c: revision 1.19
usr.sbin/sysinst/arch/shark/md.c: revision 1.6
usr.sbin/sysinst/arch/landisk/md.c: revision 1.14
usr.sbin/sysinst/util.c: revision 1.43
usr.sbin/sysinst/gpt.c: revision 1.20
usr.sbin/sysinst/util.c: revision 1.44
usr.sbin/sysinst/gpt.c: revision 1.21
usr.sbin/sysinst/gpt.c: revision 1.22
usr.sbin/sysinst/arch/evbarm/msg.md.en: revision 1.2
usr.sbin/sysinst/arch/ofppc/md.c: revision 1.11
usr.sbin/sysinst/util.c: revision 1.46
usr.sbin/sysinst/arch/ofppc/md.c: revision 1.12
usr.sbin/sysinst/util.c: revision 1.47
usr.sbin/sysinst/arch/evbarm/md.h: revision 1.6
usr.sbin/sysinst/util.c: revision 1.48
usr.sbin/sysinst/arch/evbarm/md.h: revision 1.7
usr.sbin/sysinst/arch/evbmips/md.c: revision 1.9
usr.sbin/sysinst/msg.mi.fr: revision 1.28
usr.sbin/sysinst/msg.mi.fr: revision 1.29
usr.sbin/sysinst/arch/sgimips/md.c: revision 1.9
usr.sbin/sysinst/arch/evbarm/Makefile: revision 1.3
usr.sbin/sysinst/msg.mi.de: revision 1.23
usr.sbin/sysinst/arch/hpcsh/md.c: revision 1.10
usr.sbin/sysinst/msg.mi.de: revision 1.24
usr.sbin/sysinst/install.c: revision 1.15
usr.sbin/sysinst/install.c: revision 1.16
usr.sbin/sysinst/arch/sparc64/md.c: revision 1.6
usr.sbin/sysinst/install.c: revision 1.17
usr.sbin/sysinst/install.c: revision 1.18
usr.sbin/sysinst/partitions.h: revision 1.16
usr.sbin/sysinst/install.c: revision 1.19
usr.sbin/sysinst/partitions.h: revision 1.17
usr.sbin/sysinst/arch/evbppc/md.c: revision 1.9
usr.sbin/sysinst/arch/playstation2/md.c: revision 1.9
usr.sbin/sysinst/partitions.h: revision 1.18
usr.sbin/sysinst/arch/hpcarm/md.c: revision 1.9
usr.sbin/sysinst/partitions.h: revision 1.19
usr.sbin/sysinst/msg.mi.es: revision 1.24
usr.sbin/sysinst/msg.mi.es: revision 1.25
usr.sbin/sysinst/msg.mi.es: revision 1.26
usr.sbin/sysinst/arch/zaurus/md.c: revision 1.9
usr.sbin/sysinst/target.c: revision 1.13
usr.sbin/sysinst/target.c: revision 1.14
usr.sbin/sysinst/part_edit.c: revision 1.17
usr.sbin/sysinst/part_edit.c: revision 1.18
usr.sbin/sysinst/msg.mi.fr: revision 1.30
usr.sbin/sysinst/arch/mvme68k/md.c: revision 1.11
usr.sbin/sysinst/part_edit.c: revision 1.19
usr.sbin/sysinst/msg.mi.fr: revision 1.31
usr.sbin/sysinst/arch/alpha/md.c: revision 1.9
usr.sbin/sysinst/msg.mi.en: revision 1.30
usr.sbin/sysinst/defs.h: revision 1.56
usr.sbin/sysinst/msg.mi.en: revision 1.31
usr.sbin/sysinst/defs.h: revision 1.57
usr.sbin/sysinst/msg.mi.en: revision 1.32
usr.sbin/sysinst/arch/amiga/md.c: revision 1.6
usr.sbin/sysinst/arch/hpcmips/md.c: revision 1.9
usr.sbin/sysinst/defs.h: revision 1.58
usr.sbin/sysinst/arch/cats/md.c: revision 1.5
usr.sbin/sysinst/defs.h: revision 1.59
usr.sbin/sysinst/arch/newsmips/md.c: revision 1.6
usr.sbin/sysinst/arch/pmax/md.c: revision 1.8
usr.sbin/sysinst/arch/mipsco/md.c: revision 1.8
usr.sbin/sysinst/part_edit.c: revision 1.20
usr.sbin/sysinst/part_edit.c: revision 1.21
usr.sbin/sysinst/arch/macppc/md.c: revision 1.6
usr.sbin/sysinst/part_edit.c: revision 1.22
usr.sbin/sysinst/part_edit.c: revision 1.23
usr.sbin/sysinst/part_edit.c: revision 1.24
usr.sbin/sysinst/defs.h: revision 1.60
usr.sbin/sysinst/arch/mac68k/Makefile: revision 1.3
usr.sbin/sysinst/defs.h: revision 1.61
usr.sbin/sysinst/defs.h: revision 1.63
usr.sbin/sysinst/defs.h: revision 1.64
usr.sbin/sysinst/defs.h: revision 1.65
usr.sbin/sysinst/label.c: revision 1.21
usr.sbin/sysinst/defs.h: revision 1.66
usr.sbin/sysinst/label.c: revision 1.22
usr.sbin/sysinst/defs.h: revision 1.67
usr.sbin/sysinst/label.c: revision 1.23
usr.sbin/sysinst/label.c: revision 1.24
usr.sbin/sysinst/label.c: revision 1.25
usr.sbin/sysinst/label.c: revision 1.26
usr.sbin/sysinst/label.c: revision 1.27
usr.sbin/sysinst/msg.mi.pl: revision 1.31
usr.sbin/sysinst/label.c: revision 1.28
usr.sbin/sysinst/msg.mi.pl: revision 1.32
usr.sbin/sysinst/label.c: revision 1.29
usr.sbin/sysinst/arch/atari/md.c: revision 1.7
usr.sbin/sysinst/disklabel.c: revision 1.36
usr.sbin/sysinst/disklabel.c: revision 1.37
usr.sbin/sysinst/disklabel.c: revision 1.38
usr.sbin/sysinst/disklabel.c: revision 1.39
usr.sbin/sysinst/arch/bebox/md.c: revision 1.9
usr.sbin/sysinst/mbr.c: revision 1.32
usr.sbin/sysinst/disks.c: revision 1.66
usr.sbin/sysinst/mbr.c: revision 1.33
usr.sbin/sysinst/disks.c: revision 1.67
usr.sbin/sysinst/mbr.c: revision 1.34
usr.sbin/sysinst/arch/emips/md.c: revision 1.9
usr.sbin/sysinst/disks.c: revision 1.68
usr.sbin/sysinst/partitions.c: revision 1.11
usr.sbin/sysinst/mbr.c: revision 1.35
usr.sbin/sysinst/disks.c: revision 1.69
usr.sbin/sysinst/mbr.c: revision 1.36
usr.sbin/sysinst/arch/hppa/md.c: revision 1.8
usr.sbin/sysinst/arch/prep/md.c: revision 1.13
usr.sbin/sysinst/label.c: revision 1.30
usr.sbin/sysinst/arch/ews4800mips/md.c: revision 1.7
usr.sbin/sysinst/main.c: revision 1.21
usr.sbin/sysinst/main.c: revision 1.22
usr.sbin/sysinst/main.c: revision 1.23
usr.sbin/sysinst/bsddisklabel.c: revision 1.40
usr.sbin/sysinst/main.c: revision 1.24
usr.sbin/sysinst/arch/cobalt/md.h: revision 1.6
usr.sbin/sysinst/bsddisklabel.c: revision 1.41
usr.sbin/sysinst/main.c: revision 1.25
usr.sbin/sysinst/arch/news68k/md.c: revision 1.7
usr.sbin/sysinst/bsddisklabel.c: revision 1.42
usr.sbin/sysinst/bsddisklabel.c: revision 1.43
usr.sbin/sysinst/bsddisklabel.c: revision 1.44
usr.sbin/sysinst/bsddisklabel.c: revision 1.45
Use strlcpy in a few places to guarnatee 0-terminated strings
Rever previous: the d_packname in struct disklabel is not NUL terminated.
Disable the warning instead.
Do not force -Os optimization (unless SMALLPROG)
Remove unused "rel" global variable and make the -r option a no-op.
PR 55045: strlcpy(NULL, ..., 0) considered harmfull in some implementations.
PR misc/54886: bump threshold for automatic/default creation of a tmpfs /tmp
up slightly (to 384 MB ram). This will make sure the default install has
a > 64 MB /tmp available (number pulled out of thin air, 64 MB is the minimum
required by the ZFS tests).
Don't depend on common symbol definitions.
boardype should not be common.
Redo the root-size-limit check again after we grew the root partition
for kernel dumps. Auto-enable the /usr partition if it overflows.
For all non-root partitions, default to FFSv2.
When extending a partition (to fill the total disk size) do respect
size limits.
Do not suggest a size limited partition for extension by default.
Minor tweak to previous: when forcing a /usr partition just to have an
arbitrary extendable partition, still use its default size initially.
At the end of a new installation save entropy.
Ooops, backout previous - twice the entropy saving is not needed.
Instead slightly improve the (slightly) hidden other code that already
did it.
PR 55202: disable swapping if we started it due to low ram
it's "its"
Remove "If you booted from a floppy" message
Set HAVE_INSTALL_IMAGE for evbarm
Change mountpoint of boot ext2fs from /stand to /ext2 to avoid conflict.
Should be pulled up to netbsd-9, with fixes of PR/55060.
MBR type for Ext2 should be MBR_PTYPE_LNXEXT2, not MBR_PTYPE_FAT12.
Silence -Wstringop-truncation for ``name'' in disp_selected_part().
This variable is used only for display, and truncation seems harmless.
PR 55572: avoid crash when answering the mount point prompt for a previously
empty mount point with an emptry sting.
When adding a new partition in the concrete partition editor, make sure
to set a pointer to the partition table interface in the new entry.
Otherwise we may end up not writing back the partitions at all, leading
to further fallout later.
Receipe to reproduce the issue from Frederic Fauberteau, thanks!
In the concrete partitions editor, after deleting the last partition move
the menu selection to the "add a partition" entry (instead of the sentinel
line which is not an active menu entry).
Typo in comment
Keep a list of all partition tables from which we have deleted partitions
and make sure we update those partition tables when writing partitions,
even if no install related partition remains on them.
Fix display of timezone selection menu
If there is no current partitioning manager assume we are editing the
current system and make target_already_root() return true.
Fixes various fallout when using sysinst post installation.
PR 55377: mark boot partitions in the partition size display, as suggested
by Izumi Tsutsui (minor modifications + all bugs by me)
PR 55378: do not assume RAW_PART to be either 2 or 3
PR 55379: avoid creating bogus /etc/fstab lines for /dev/cd* if no
cdrom is available.
PR 55381: try to deal with moved (but not yet saved) partitions when
calculating free space
Apply patch provided by Izumi Tsutsui in PR 55382: make ext2 partitions
show up in the outer (MBR) partition table, needed for example on Cobalt
where firmware boots from that partition.
PR 55384: detangle pm->ptstart from the "install" flag (selecting a
target partition). Instead introduce a new PTI_INSTALL_TARGET per partition
flag and deal with it in the partitioning backends.
Honour pm->ptstart when allocating new partitions - it is supposed to be
the first sector usable by NetBSD.
If we have no explicitly marke target root partition, make sure to set
the proper flag on the implicit one.
When merging existing partitions with desired target system layout
information, only force the "mount" flag if the existing partitions
has a valid mount point.
Add a heuristic to detect and properly mark EFI system partitions
when re-using pre-existing partitions.
When MD code requests a reserved area (at the start of the disk)
make sure to properly account for the "lost" space during all calculations
and especially when expanding the main partition to fill the disk.
Avoid using the global "pm" or a passed device descriptons when we are
passing disk limits explicitly anyway.
Simplify/fix a few rounding calculations.
When creating new partitions for "full disk" use, pass a install target
hint to the partitioning backend (for the outer NetBSD partition).
Use an install target hint to mark a new partition active.
When compiled with BOOTSEL support, also name the new partition "NetBSD".
Remove more pm->ptstart abuse - calculate values localy where needed
instead.
Fix editing start and size of not yet existing outer partitions.
Previously we abused pm->ptstart / pm->ptsize to pass the bounds of the
NetBSD outer partition to the inner partition editor - but now this is
not a valid assumption any more, so explicitly fix the bounds if an
outer partition exists.
Remove very strange code that special-cased MSDOS file systems and refused
to newfs the partition (despite explicit request to do so) if it was
mountable.
Accidently carried over from a dim and distant past, before we had
fsck_newfs.
PR 55536: when we find existing partition tables and have alternative
formats available, offer to delete partitions and create new ones from
scratch (in some other or the same on-disk format).
Minor fix to previous: fix condition when we offer the partition type
switch - it makes sense even if the disk is partitioned but has no valid
partitions.
Before forcing MBR partitions into our disklabel, make sure they are not
there yet - could happen in various paths when reusing existing partitions
(or parts of that) - previously we would blindly duplicate identical
partitions.
Ooops, part of previous was not meant to be included yet
When renumbering partitions (after deletions) be slightly more lax
in matching, to cope with differences between MBR EFI partitions and
disklabel MSDOS partitions.
PR 55142: on popular demand bring back expert options to adjust the
number of free inodes, block size and fragment size for FFS and LFS.
Fix copy & pasto noticed by Jason Mitchell: change the type of a GPT
partition via "gpt type" - not "gpt label".
Fix copy & pasto (missing "again" label)
Remove dead code
Move MBR writing (if any) post disklabel writing, otherwise strange
interactions happen.
Properly convert partition default sizes in MB to number of sectors
 1.42.2.7 10-Feb-2020  bouyer Pull up following revision(s) (requested by martin in ticket #693):
usr.sbin/sysinst/arch/x68k/msg.md.en: revision 1.2
usr.sbin/sysinst/arch/x68k/md.c: revision 1.10
usr.sbin/sysinst/arch/mvme68k/msg.md.fr: revision 1.2
usr.sbin/sysinst/arch/x68k/msg.md.en: revision 1.3
usr.sbin/sysinst/arch/mvme68k/msg.md.fr: revision 1.3
usr.sbin/sysinst/msg.mi.en: revision 1.28
usr.sbin/sysinst/arch/hp300/md.c: revision 1.10
usr.sbin/sysinst/msg.mi.es: revision 1.22
usr.sbin/sysinst/target.c: revision 1.12
usr.sbin/sysinst/arch/mvme68k/md.c: revision 1.10
usr.sbin/sysinst/arch/i386/md.c: revision 1.30
usr.sbin/sysinst/arch/mvme68k/msg.md.pl: revision 1.2
usr.sbin/sysinst/arch/mvme68k/msg.md.pl: revision 1.3
usr.sbin/sysinst/bsddisklabel.c: revision 1.39
usr.sbin/sysinst/arch/mvme68k/msg.md.de: revision 1.2
usr.sbin/sysinst/arch/mac68k/md.c: revision 1.9
usr.sbin/sysinst/disklabel.c: revision 1.35
usr.sbin/sysinst/arch/mvme68k/msg.md.de: revision 1.3
usr.sbin/sysinst/defs.h: revision 1.55
usr.sbin/sysinst/disks.c: revision 1.63
usr.sbin/sysinst/disks.c: revision 1.64
usr.sbin/sysinst/mbr.c: revision 1.31
usr.sbin/sysinst/disks.c: revision 1.65
usr.sbin/sysinst/txtwalk.c: revision 1.3
usr.sbin/sysinst/txtwalk.c: revision 1.4
usr.sbin/sysinst/arch/mvme68k/msg.md.en: revision 1.2
usr.sbin/sysinst/arch/mvme68k/msg.md.en: revision 1.3
usr.sbin/sysinst/msg.mi.fr: revision 1.26
usr.sbin/sysinst/msg.mi.pl: revision 1.29
usr.sbin/sysinst/arch/mvme68k/msg.md.es: revision 1.2
usr.sbin/sysinst/upgrade.c: revision 1.15
usr.sbin/sysinst/arch/mvme68k/msg.md.es: revision 1.3
usr.sbin/sysinst/upgrade.c: revision 1.16
usr.sbin/sysinst/partman.c: revision 1.50
usr.sbin/sysinst/msg.mi.de: revision 1.21
remove unused "emptypart" message (or moved to ifdef notyet area)
PR install/54921: message "ordering" takes a %s argument.
PR install/54921: skip non-user partitions when checking for overlaps
bootxx_name() - fix oversight in previous change (do not assume first
partition is the root partition)
PR install/54934: always use -f on the installboot invocation. We come
here post-newfs (and maybe should have dd'd zeros to the start of the
disk before newfs instead).
Remove a bogus assert: when reading disklabel partitions and the outer
(MBR) partitioning has changed, but the changes have not yet been written
back to disk, we need to ignore the kernels idea of the disklabel and
instead continue with an empty one.
Deal with partitioning schemes having no inner counterpart.
Avoid NULL derefs.
Do not assum a partitioning scheme that supports innner partitions always
needs to actually have such partitions defined.
PR bin/54944: deal with escaped spaces in NAME= syntax in /etc/fstab.
PR bin/54944: explicitly reject GPT protective MBRs.
PR bin/54944: make the "explicit single wedge" selection also work for
upgrades.
Reformat a query to add an automatically detected swap partition
so it fits on narrow screens.
Make re-install sets also work for an explicit selected root wedge
Fix copy&pasto in previous - from kre.
Only a single partition can ever have the "extend" flag (grow to available
size).
Do not use -P for tar extractions - the in tree tar has been fixed.
Finish conversion to generic partitioning backend
 1.42.2.6 28-Jan-2020  msaitoh Pull up following revision(s) (requested by martin in ticket #668):
usr.sbin/sysinst/arch/cobalt/md.c: revision 1.11
usr.sbin/sysinst/arch/cobalt/md.c: revision 1.12
usr.sbin/sysinst/arch/arc/md.c: revision 1.11
usr.sbin/sysinst/arch/arc/md.c: revision 1.12
usr.sbin/sysinst/partman.c: revision 1.43
usr.sbin/sysinst/partman.c: revision 1.46
usr.sbin/sysinst/partman.c: revision 1.47
usr.sbin/sysinst/partman.c: revision 1.48
usr.sbin/sysinst/partman.c: revision 1.49
usr.sbin/sysinst/msg.pm.fr: revision 1.2
usr.sbin/sysinst/upgrade.c: revision 1.14
usr.sbin/sysinst/arch/i386/md.c: revision 1.28
usr.sbin/sysinst/arch/i386/md.c: revision 1.29
usr.sbin/sysinst/arch/ofppc/md.c: revision 1.9
usr.sbin/sysinst/arch/sandpoint/md.c: revision 1.7
usr.sbin/sysinst/arch/sandpoint/md.c: revision 1.8
usr.sbin/sysinst/gpt.c: revision 1.14
usr.sbin/sysinst/gpt.c: revision 1.15
usr.sbin/sysinst/arch/luna68k/md.c: revision 1.8
usr.sbin/sysinst/gpt.c: revision 1.16
usr.sbin/sysinst/msg.pm.de: revision 1.2
usr.sbin/sysinst/arch/evbarm/md.c: revision 1.11
usr.sbin/sysinst/arch/evbarm/md.c: revision 1.12
usr.sbin/sysinst/arch/evbarm/md.c: revision 1.13
usr.sbin/sysinst/arch/evbarm/md.c: revision 1.14
usr.sbin/sysinst/sizemultname.c: revision 1.4
usr.sbin/sysinst/msg.pm.en: revision 1.2
usr.sbin/sysinst/arch/landisk/md.c: revision 1.12
usr.sbin/sysinst/util.c: revision 1.41
usr.sbin/sysinst/arch/landisk/md.c: revision 1.13
usr.sbin/sysinst/util.c: revision 1.42
usr.sbin/sysinst/arch/ofppc/md.c: revision 1.10
usr.sbin/sysinst/partitions.c: revision 1.9
usr.sbin/sysinst/arch/evbarm/md.h: revision 1.4
usr.sbin/sysinst/arch/evbarm/md.h: revision 1.5
usr.sbin/sysinst/arch/evbmips/md.c: revision 1.7
usr.sbin/sysinst/arch/evbmips/md.c: revision 1.8
usr.sbin/sysinst/msg.mi.fr: revision 1.25
usr.sbin/sysinst/msg.mi.de: revision 1.20
usr.sbin/sysinst/install.c: revision 1.14
usr.sbin/sysinst/partitions.h: revision 1.13
usr.sbin/sysinst/partitions.h: revision 1.14
usr.sbin/sysinst/arch/evbppc/md.c: revision 1.7
usr.sbin/sysinst/arch/playstation2/md.c: revision 1.7
usr.sbin/sysinst/msg.mi.en: revision 1.27
usr.sbin/sysinst/partitions.h: revision 1.15
usr.sbin/sysinst/arch/evbppc/md.c: revision 1.8
usr.sbin/sysinst/arch/hpcarm/md.c: revision 1.7
usr.sbin/sysinst/arch/playstation2/md.c: revision 1.8
usr.sbin/sysinst/msg.pm.pl: revision 1.2
usr.sbin/sysinst/arch/hpcarm/md.c: revision 1.8
usr.sbin/sysinst/msg.mi.es: revision 1.21
usr.sbin/sysinst/arch/zaurus/md.c: revision 1.7
usr.sbin/sysinst/target.c: revision 1.11
usr.sbin/sysinst/arch/zaurus/md.c: revision 1.8
usr.sbin/sysinst/part_edit.c: revision 1.14
usr.sbin/sysinst/part_edit.c: revision 1.15
usr.sbin/sysinst/part_edit.c: revision 1.16
usr.sbin/sysinst/defs.h: revision 1.50
usr.sbin/sysinst/defs.h: revision 1.51
usr.sbin/sysinst/defs.h: revision 1.52
usr.sbin/sysinst/defs.h: revision 1.53
usr.sbin/sysinst/defs.h: revision 1.54
usr.sbin/sysinst/arch/hpcmips/md.c: revision 1.7
usr.sbin/sysinst/arch/hpcmips/md.c: revision 1.8
usr.sbin/sysinst/arch/hpcsh/md.c: revision 1.8
usr.sbin/sysinst/msg.pm.es: revision 1.2
usr.sbin/sysinst/arch/hpcsh/md.c: revision 1.9
usr.sbin/sysinst/label.c: revision 1.18
usr.sbin/sysinst/label.c: revision 1.19
usr.sbin/sysinst/net.c: revision 1.35
usr.sbin/sysinst/msg.mi.pl: revision 1.28
usr.sbin/sysinst/disklabel.c: revision 1.28
usr.sbin/sysinst/disklabel.c: revision 1.29
usr.sbin/sysinst/mbr.c: revision 1.24
usr.sbin/sysinst/disks.c: revision 1.59
usr.sbin/sysinst/mbr.c: revision 1.25
usr.sbin/sysinst/mbr.c: revision 1.26
usr.sbin/sysinst/mbr.c: revision 1.27
usr.sbin/sysinst/mbr.c: revision 1.28
usr.sbin/sysinst/label.c: revision 1.20
usr.sbin/sysinst/mbr.c: revision 1.29
usr.sbin/sysinst/bsddisklabel.c: revision 1.34
usr.sbin/sysinst/bsddisklabel.c: revision 1.35
usr.sbin/sysinst/bsddisklabel.c: revision 1.36
usr.sbin/sysinst/bsddisklabel.c: revision 1.37
usr.sbin/sysinst/disklabel.c: revision 1.30
usr.sbin/sysinst/bsddisklabel.c: revision 1.38
usr.sbin/sysinst/disklabel.c: revision 1.31
usr.sbin/sysinst/disklabel.c: revision 1.32
usr.sbin/sysinst/disklabel.c: revision 1.33
usr.sbin/sysinst/disklabel.c: revision 1.34
usr.sbin/sysinst/disks.c: revision 1.60
usr.sbin/sysinst/disks.c: revision 1.61
usr.sbin/sysinst/arch/bebox/md.c: revision 1.7
usr.sbin/sysinst/disks.c: revision 1.62
usr.sbin/sysinst/arch/bebox/md.c: revision 1.8
usr.sbin/sysinst/mbr.c: revision 1.30
usr.sbin/sysinst/partitions.c: revision 1.10
usr.sbin/sysinst/arch/prep/md.c: revision 1.11
usr.sbin/sysinst/arch/prep/md.c: revision 1.12
usr.sbin/sysinst/menus.pm: revision 1.3
usr.sbin/sysinst/main.c: revision 1.20
usr.sbin/sysinst/menus.mi: revision 1.20
usr.sbin/sysinst/menus.mi: revision 1.21
avoid calling snprintf/strlcat with an input parameter the same
as the output. from martin@. fixes gcc 8 restrict warnings.
Finish conversion of extended partitioning parts to new abstract
backend interface. XXX still could use a lot of polishing.
Instead of a (bogus) attempt to query the model via ofctl, use the (now
fixed) sysctl hw.model instead.
When reading the secondary disklabel partitions from an existing disklabel
set the mbr partitions as parent.
Move the LABELSECTOR check and make it FS type specific - some partition
types (FFS, RAID) are allowed to overlap with the LABELSECTOR.
When asked to create a whole-disk partition for unknown usage, do not only
assert(false), but actually return an error (in case "assert" is a nop).
PR install/54787: when trying to derive proper alignement and first offset
from exisiting partitions, use the first partition offset if it is already
closer to the start of the disk than the prefered alignment - we can not
move existing partitions around.
Fix handling of inner/outer partitions (e.g. MBR and disklabel) in
extended partitioning:
- when editing a disk with such a schme, offer both partitions in two
steps
- when commiting changes save the inner partitions after the outer ones
Add a method to query the partitioning schemes "internal idea" of a
cylinder size - whatever that means in the real world.
Avoid using the global "pm" variable in utility functions - during
extended partitioning they may point to a different device.
Remove useless calls to get_ramsize() - return value is ignored and
the function has no side effects.
Fix /tmp tmpfs handling and on machines with enough RAM default to
creating a /tmp tmpfs with 25% of ram size limit. Suggested by ad@.
PR install/54872: fix printf argument order, sectors and heads were
swapped in the bios geometry display.
First try to bring evbarm installation closer to current reality.
hide disklabel_non_bootable() under NO_DISKLABEL_BOOT like the usage.
should fix most builds.
Deal with even stranger fictious empty disklabels (PR kern/54882).
Factor out all RAM size thresholds as defines to avoid magic numbers.
To work around PR misc/54886 bump the threshold for a tmpfs /tmp mount
up to 256 MB.
When retrying sets during extraction, reset the relevant statistics
to avoid counting retried sets multiple times.
Reported by kim.
Fix support for non-512-byte/sector disks again after I broke it when
introducing the abstract partition backends.
Use a few strlcpy() instead of strncpy() for network ioctl structs.
We seem to have no formal documentation stating the various
char if*_name[IFNAMSIZ]; /* if name, e.g. "en0" */
elements in ioctls are nul terminated, but the peanut gallery claims
it is so - and at least half of the code in-tree touching them agrees.
Too much disklabel magic happening in the kernel - to compensate force
MBR first when trying to identify the existing partitioning scheme of
a disk.
 1.42.2.5 17-Dec-2019  msaitoh Pull up following revision(s) (requested by martin in ticket #560):
usr.sbin/sysinst/partitions.h: revision 1.11
usr.sbin/sysinst/defs.h: revision 1.49
usr.sbin/sysinst/mbr.c: revision 1.23
usr.sbin/sysinst/msg.mi.en: revision 1.26
usr.sbin/sysinst/disks.c: revision 1.58
usr.sbin/sysinst/arch/evbarm/menus.md.pl: revision 1.2
usr.sbin/sysinst/msg.mi.es: revision 1.20
usr.sbin/sysinst/arch/mvme68k/md.c: revision 1.9
usr.sbin/sysinst/gpt.c: revision 1.13
usr.sbin/sysinst/arch/evbarm/md.c: revision 1.10
usr.sbin/sysinst/arch/arc/md.c: revision 1.10
usr.sbin/sysinst/disklabel.c: revision 1.18
usr.sbin/sysinst/bsddisklabel.c: revision 1.33
usr.sbin/sysinst/disklabel.c: revision 1.19
usr.sbin/sysinst/main.c: revision 1.19
usr.sbin/sysinst/partman.c: revision 1.45
usr.sbin/sysinst/arch/alpha/md.c: revision 1.7
usr.sbin/sysinst/msg.mi.de: revision 1.19
usr.sbin/sysinst/arch/evbarm/menus.md.en: revision 1.2
usr.sbin/sysinst/arch/x68k/md.h: revision 1.4
usr.sbin/sysinst/arch/x68k/md.c: revision 1.9
usr.sbin/sysinst/arch/evbarm/menus.md.es: revision 1.2
usr.sbin/sysinst/wskbd.c: revision 1.4
usr.sbin/sysinst/label.c: revision 1.15
usr.sbin/sysinst/arch/amiga/md.h: revision 1.5
usr.sbin/sysinst/label.c: revision 1.16
usr.sbin/sysinst/arch/hp300/md.c: revision 1.9
usr.sbin/sysinst/arch/emips/md.c: revision 1.8
usr.sbin/sysinst/label.c: revision 1.17
usr.sbin/sysinst/arch/pmax/md.c: revision 1.7
usr.sbin/sysinst/partitions.c: revision 1.6
usr.sbin/sysinst/arch/prep/md.c: revision 1.10
usr.sbin/sysinst/arch/mipsco/md.c: revision 1.7
usr.sbin/sysinst/partitions.c: revision 1.7
usr.sbin/sysinst/partitions.c: revision 1.8
usr.sbin/sysinst/arch/ews4800mips/md.c: revision 1.5
usr.sbin/sysinst/disklabel.c: revision 1.20
usr.sbin/sysinst/arch/evbarm/menus.md.fr: revision 1.2
usr.sbin/sysinst/msg.mi.fr: revision 1.24
usr.sbin/sysinst/disklabel.c: revision 1.21
usr.sbin/sysinst/partitions.h: revision 1.9
usr.sbin/sysinst/msg.mi.pl: revision 1.27
usr.sbin/sysinst/disklabel.c: revision 1.22
usr.sbin/sysinst/disklabel.c: revision 1.23
usr.sbin/sysinst/arch/i386/md.c: revision 1.27
usr.sbin/sysinst/disklabel.c: revision 1.24
usr.sbin/sysinst/disklabel.c: revision 1.25
usr.sbin/sysinst/arch/cobalt/md.h: revision 1.5
usr.sbin/sysinst/disklabel.c: revision 1.26
usr.sbin/sysinst/disklabel.c: revision 1.27
usr.sbin/sysinst/partitions.h: revision 1.10
usr.sbin/sysinst/arch/cobalt/md.c: revision 1.10
PR install/54582: allow MD code to disable on-disk presence verification
of "real" disklabels. Auto-enable this (at run time) when there is no other
partitioning scheme but disklabel configured.
Hard-coded enable this for x68k to allow using kernel based translations
for native Human68k partitions.
Get rid of the evbarm preliminary menu: do not bother to ask the user
whether this is a RPi - query the FDT instead.
PR 54065: add optional "old compat" variant of ext2fs in file system
type selection and use that as default for the cobalt boot file system.
For now rely on the kernel mapping native RDB partitions.
Fix detection of existing disklabels in the case when we only have
the disklabel partitioning scheme available.
Fix DISKLABEL_NO_ONDISK_VERIFY (accidently disabled in previous)
Fix inverted comparison
Do not try to change the keyboard layout if we are not running on the
console.
When trying to tell a fictious but empty label from a real one, skip
partition a if it has the same start and size as the raw partition.
Remove bogus assert.
When finding (paritioning scheme native) partition types for file systems
from our install description, pass the partition type (not only the file
system type). Sometimes (e.g. EFI boot partition on GPT) the filesystem
type (MSDOS) is not a unique selector.
Adapt MD parts to changes in get_fs_part_type (pass partition type).
If a fictious label has no RAW_PART assume there is no valid disk label.
Pass proper track size when initializing the default alignment - this is
important with sunlabels.
Fix overlapping partitions display
Reject (what we consider) empty/invalid fake disklabels no matter whether
we have other partitioning schemes available or not.
Do not show disklabel command invocation by default (only if there are
errors).
After installing boot blocks with RUN_NO_CLEAR (and handling the
potential errors) make sure to clear the stdscreen.
 1.42.2.4 17-Nov-2019  msaitoh Pull up following revision(s) (requested by martin in ticket #436):
usr.sbin/sysinst/disks.c: revision 1.55
usr.sbin/sysinst/msg.mi.en: revision 1.24
usr.sbin/sysinst/mbr.c: revision 1.22
usr.sbin/sysinst/disks.c: revision 1.56
usr.sbin/sysinst/msg.mi.en: revision 1.25
usr.sbin/sysinst/disks.c: revision 1.57
usr.sbin/sysinst/arch/playstation2/msg.md.pl: revision 1.3
usr.sbin/sysinst/Makefile.inc: revision 1.30
usr.sbin/sysinst/configmenu.c: revision 1.11
usr.sbin/sysinst/util.c: revision 1.35
usr.sbin/sysinst/gpt.c: revision 1.12
usr.sbin/sysinst/util.c: revision 1.36
usr.sbin/sysinst/arch/playstation2/msg.md.de: revision 1.3
usr.sbin/sysinst/arch/i386/menus.md: revision 1.3
usr.sbin/sysinst/util.c: revision 1.37
usr.sbin/sysinst/part_edit.c: revision 1.11
usr.sbin/sysinst/arch/i386/msg.md.en: revision 1.2
usr.sbin/sysinst/util.c: revision 1.38
usr.sbin/sysinst/part_edit.c: revision 1.12
usr.sbin/sysinst/arch/i386/msg.md.en: revision 1.3
usr.sbin/sysinst/util.c: revision 1.39
usr.sbin/sysinst/part_edit.c: revision 1.13
usr.sbin/sysinst/arch/i386/msg.md.en: revision 1.4
usr.sbin/sysinst/disklabel.c: revision 1.15
usr.sbin/sysinst/bsddisklabel.c: revision 1.30
usr.sbin/sysinst/arch/i386/msg.md.es: revision 1.2
usr.sbin/sysinst/bsddisklabel.c: revision 1.31
usr.sbin/sysinst/arch/i386/msg.md.es: revision 1.3
usr.sbin/sysinst/arch/i386/msg.md.es: revision 1.4
usr.sbin/sysinst/mbr.h: revision 1.4
usr.sbin/sysinst/main.c: revision 1.18
usr.sbin/sysinst/partman.c: revision 1.44
usr.sbin/sysinst/msg.mi.de: revision 1.17
usr.sbin/sysinst/arch/i386/msg.md.fr: revision 1.2
usr.sbin/sysinst/msg.mi.de: revision 1.18
usr.sbin/sysinst/arch/i386/msg.md.fr: revision 1.3
usr.sbin/sysinst/arch/playstation2/msg.md.en: revision 1.3
usr.sbin/sysinst/arch/i386/msg.md.fr: revision 1.4
usr.sbin/sysinst/arch/amd64/md.c: revision 1.2
usr.sbin/sysinst/arch/ews4800mips/Makefile: revision 1.3
usr.sbin/sysinst/arch/playstation2/msg.md.es: revision 1.3
usr.sbin/sysinst/label.c: revision 1.13
usr.sbin/sysinst/Makefile.inc: revision 1.29
usr.sbin/sysinst/label.c: revision 1.14
usr.sbin/sysinst/util.c: revision 1.40
usr.sbin/sysinst/partitions.c: revision 1.5
usr.sbin/sysinst/arch/amd64/md.h: revision 1.8
usr.sbin/sysinst/msg.mi.es: revision 1.18
usr.sbin/sysinst/net.c: revision 1.34
usr.sbin/sysinst/msg.mi.es: revision 1.19
usr.sbin/sysinst/arch/i386/msg.md.pl: revision 1.2
usr.sbin/sysinst/arch/i386/md.c: revision 1.22
usr.sbin/sysinst/msg.mi.fr: revision 1.22
usr.sbin/sysinst/arch/playstation2/msg.md.fr: revision 1.3
usr.sbin/sysinst/arch/i386/msg.md.pl: revision 1.3
usr.sbin/sysinst/arch/i386/md.c: revision 1.23
usr.sbin/sysinst/msg.mi.pl: revision 1.25
usr.sbin/sysinst/msg.mi.fr: revision 1.23
usr.sbin/sysinst/arch/i386/msg.md.pl: revision 1.4
usr.sbin/sysinst/arch/i386/md.c: revision 1.24
usr.sbin/sysinst/partitions.h: revision 1.8
usr.sbin/sysinst/msg.mi.pl: revision 1.26
usr.sbin/sysinst/arch/i386/msg.md.de: revision 1.2
usr.sbin/sysinst/arch/i386/msg.md.de: revision 1.3
usr.sbin/sysinst/arch/i386/msg.md.de: revision 1.4
usr.sbin/sysinst/run.c: revision 1.13
usr.sbin/sysinst/defs.h: revision 1.46
usr.sbin/sysinst/install.c: revision 1.12
usr.sbin/sysinst/defs.h: revision 1.47
usr.sbin/sysinst/install.c: revision 1.13
usr.sbin/sysinst/defs.h: revision 1.48
Add options to the various partitioning stages that allow cloning of
alien partitions (optionally including data).
PR 54467: we trust our own sets, extract them with -P to allow symlink
redirection (especially for updates and chroot services - back out
once a better solution for those is implemented)
Make cloning support optional, so we can save some space on very small
install media.
Drop MBR and cloning support on crunched install media.
Make tar extraction flags depend on our usage of pax-as-tar or bsdtar.
Fix missing newlines in bios match display, pointed out by maxv.
Drop unused variable.
Fix table of bios geomatries
knf style adjustments
Make the bootblock selection menu more sane, pointed out by maxv
Make sure all menus have a translatable exit option (or none at all).
On amd64 support installation with a KASLR kernel, via "custom install"
and selecting the GENERIC_KASLR kernel set.
Setup /prekern and boot.cfg accordingly.
 1.42.2.3 17-Nov-2019  martin Pull up following revision(s) (requested by maya in ticket #435):

distrib/sets/maketars: revision 1.90
usr.sbin/sysinst/arch/playstation2/md.h: revision 1.2
usr.sbin/sysinst/arch/sandpoint/md.h: revision 1.3
usr.sbin/sysinst/arch/evbppc/md.h: revision 1.3
usr.sbin/sysinst/arch/hpcarm/md.h: revision 1.3
usr.sbin/sysinst/arch/mvme68k/md.h: revision 1.3
distrib/sun3/MakeInstTape: revision 1.3
usr.sbin/sysinst/util.c: revision 1.33
distrib/sets/lists/rescue/mi: revision 1.1
distrib/sets/lists/base/rescue.sun2: file removal
usr.sbin/sysinst/arch/zaurus/md.h: revision 1.3
distrib/sets/lists/base/rescue.ad.m68k.shl: file removal
distrib/sets/regpkgset: revision 1.13
usr.sbin/sysinst/arch/i386/md.h: revision 1.7
distrib/sets/lists/base/rescue.sparc: file removal
distrib/notes/mvme68k/xfer: revision 1.19
distrib/sets/sets.subr: revision 1.187
distrib/common/bootimage/Makefile.bootimage: revision 1.22
usr.sbin/sysinst/msg.mi.de: revision 1.16
usr.sbin/sysinst/arch/atari/md.h: revision 1.3
rescue/Makefile: revision 1.38
distrib/sets/lists/base/rescue.macppc: file removal
usr.sbin/sysinst/arch/arc/md.h: revision 1.4
distrib/miniroot/install.sub: revision 1.49
usr.sbin/sysinst/arch/acorn32/md.h: revision 1.3
usr.sbin/sysinst/arch/x68k/md.h: revision 1.3
usr.sbin/sysinst/arch/hpcmips/md.h: revision 1.3
usr.sbin/sysinst/arch/bebox/md.h: revision 1.3
usr.sbin/sysinst/arch/hpcsh/md.h: revision 1.2
distrib/sets/lists/base/rescue.shark: file removal
usr.sbin/sysinst/arch/emips/md.h: revision 1.5
distrib/utils/embedded/mkimage: revision 1.70
usr.sbin/sysinst/arch/shark/md.h: revision 1.3
usr.sbin/sysinst/arch/pmax/md.h: revision 1.4
usr.sbin/sysinst/arch/amiga/md.h: revision 1.4
usr.sbin/sysinst/arch/hp300/md.h: revision 1.5
rescue/list.ldconfig: file removal
distrib/sets/lists/base/rescue.ad.m68k: file removal
usr.sbin/sysinst/arch/prep/md.h: revision 1.4
usr.sbin/sysinst/arch/cats/md.h: revision 1.4
usr.sbin/sysinst/arch/amd64/md.h: revision 1.7
usr.sbin/sysinst/msg.mi.es: revision 1.17
usr.sbin/sysinst/msg.mi.fr: revision 1.20
usr.sbin/sysinst/msg.mi.pl: revision 1.23
distrib/sets/lists/base/rescue.i386: file removal
usr.sbin/sysinst/arch/evbarm/md.h: revision 1.3
distrib/sets/lists/base/rescue.vax: file removal
distrib/amd64/uefi-installimage/Makefile.bootimage: revision 1.12
usr.sbin/sysinst/arch/evbmips/md.h: revision 1.3
distrib/sets/lists/base/rescue.mi: file removal
distrib/sets/README: revision 1.14
usr.sbin/sysinst/arch/sgimips/md.h: revision 1.4
distrib/sets/lists/base/rescue.sparc64: file removal
distrib/sets/lists/base/rescue.mi: revision 1.45
distrib/sets/lists/base/rescue.mi: revision 1.46
usr.sbin/sysinst/arch/ofppc/md.h: revision 1.4
usr.sbin/sysinst/arch/cobalt/md.h: revision 1.4
distrib/sets/lists/base/rescue.ad.arm: file removal
distrib/sets/lists/base/rescue.mac68k: file removal
usr.sbin/sysinst/defs.h: revision 1.45
usr.sbin/sysinst/arch/landisk/md.h: revision 1.2
distrib/notes/atari/xfer: revision 1.17
etc/Makefile: revision 1.441
usr.sbin/sysinst/msg.mi.en: revision 1.22
distrib/sun2/MakeInstTape: revision 1.2

Remove ldconfig from /rescue, and mark it MI obsolete.
- ldconfig in netbsd refers to a.out binaries only. We've been ELF-only
since NetBSD 2.0 or so, and having it in /rescue served little purpose
even before that, as /rescue is standalone.
- Using MI obsolete to avoid the need for MD set lists where ldconfig
is the sole entry

Mark /rescue/edlabel as MI-obsolete, so we can remove all remaining MD
rescue set list files.

Split out /rescue to its own set and adapt installers/images to add it.

This is meant to make updates safer: if something goes wrong with updating
base, we still have the old, standalone /rescue to recover from.
 1.42.2.2 28-Aug-2019  msaitoh Pull up following revision(s) (requested by martin in ticket #123):
usr.sbin/sysinst/util.c: revision 1.32
usr.sbin/sysinst/upgrade.c: revision 1.13
usr.sbin/sysinst/defs.h: revision 1.44
Do not offer to upgrade the "current system" if we are running off a CD
(i.e. / is mounted read-only)
 1.42.2.1 08-Aug-2019  msaitoh Pull up following revision(s) (requested by martin in ticket #28):
usr.sbin/sysinst/disklabel.c: revision 1.11
usr.sbin/sysinst/target.c: revision 1.10
usr.sbin/sysinst/disks.c: revision 1.47
usr.sbin/sysinst/txtwalk.c: revision 1.2
usr.sbin/sysinst/partitions.h: revision 1.5
usr.sbin/sysinst/txtwalk.h: revision 1.2
usr.sbin/sysinst/arch/ews4800mips/md.h: revision 1.4
usr.sbin/sysinst/gpt.c: revision 1.9
usr.sbin/sysinst/defs.h: revision 1.43
Support upgrade of systems using NAME= syntax in /etc/fstab.
Make supported file system types dynamic - instead of hardcoding the
available types at compile time, check for available newfs_* helper
binaries in the actual install environment at runtime.
 1.88.2.1 26-Dec-2023  snj Pull up following revision(s) (requested by martin in ticket #511):
usr.sbin/sysinst/configmenu.c: revision 1.18
usr.sbin/sysinst/defs.h: revision 1.90
usr.sbin/sysinst/main.c: revision 1.32
usr.sbin/sysinst/menus.entropy: revision 1.3
usr.sbin/sysinst/menus.mi: revision 1.29
usr.sbin/sysinst/net.c: revision 1.45
Add a https transfer method (sharing all host details with the http
transfer). Make this method the default for all downloads.
Try to make sure the binary pkg installation (which runs in a chroot
in the already installed system) can make use of SSL verification.
This does NOT fix the missing SSL verification in most install media
even if using https (due to not fully populated /etc/openssl/certs).
 1.92.2.1 02-Aug-2025  perseant Sync with HEAD
 1.4 12-Jun-2019  martin Rework internal data structures and "interfaces to user interface" functions
to get rid of all disklabel assumptions.

Previously (even for GPT partitioning) struct disklabel was used, which
obviously breaks large disk setups. Also many MD parts and parts of the
user interface assumed (a) a struct disklabel is used internally to
store partitioning information and (b) partitions are named 'a' ... $MAXPART.

Get rid of this and replace it with a quite abstract interface that should
be able to deal with all variants in partition storage:

- partitions are stored in a (partly abstract) struct disk_partitions
and most parts of it are only accessed via accessor functions provided
by a "partitioning scheme".

- implement partitioning schemes for MBR, disklabel and GPT (with likely
RDB [amiga] and Apple Partition Map [mac*] to follow soon)

- partitioning schemes may be cascaded, e.g. on x86 when using MBR as
"outer partitions", we have disklabel as "inner partitions".

- all user interface goes via accessor functions in the partitioning scheme,
some of which return pointers to special user interface descriptors
(e.g. to allow editing partition flags, which are scheme specific)

Overall the user interface changes (in this initial step) are minimal but
noticable. A new Anita is needed for automatic test setups - many thanks
to Andreas Gustafsson for lots of early testing and a new Anita version,
and to Manuel Bouyer for cooperation and tests of the Anita release.

This work was sponsored by The NetBSD Foundation, Inc.
 1.3 17-Nov-2018  martin branches: 1.3.2; 1.3.4;
Add default for debug sets size
 1.2 16-Nov-2018  martin Sync install size estimates with current reality
 1.1 15-Nov-2018  martin Make use of the new positional parameters to better describe the first
partitioning step. Remove size limits/hints encoded in the translations
and replace them by values from the code.
 1.3.4.3 13-Apr-2020  martin Mostly merge changes from HEAD upto 20200411
 1.3.4.2 10-Jun-2019  christos Sync with HEAD
 1.3.4.1 17-Nov-2018  christos file defsizes.h was added on branch phil-wifi on 2019-06-10 22:10:38 +0000
 1.3.2.2 26-Nov-2018  pgoyette Sync with HEAD, resolve a couple of conflicts
 1.3.2.1 17-Nov-2018  pgoyette file defsizes.h was added on branch pgoyette-compat on 2018-11-26 01:52:55 +0000
 1.53 04-Oct-2024  rillig sysinst: fix lint warning about "effectively discards 'const'"

No binary change except for assertion line numbers.
 1.52 08-Feb-2024  andvar branches: 1.52.2;
fix misplaced or missing "e" in words with "ment" ending (argument, implement,
increment, decrement, alignment), in comments, documentation, log messages.
 1.51 06-Jan-2023  martin Provide a disklabel specific MD hook MD_DISKLABEL_PART_INDEX_CHECK
to allow MD code to veto specific disklabel partitions for specific
uses, e.g. to make sure a boot partition does not end up as sd0a.
Most architectures won't need this, as the file system type makes
the generic heuristic do the right thing (e.g. move the ESP to wd0e
for x86) - but for some architectures the boot partition uses FFS
and our heuristic fails.
 1.50 11-Dec-2022  martin When generating a script for disklabel(8) do not use the "pretty printed"
file system type names, but the raw ones that disklabel(8) actually
knows about.
 1.49 24-Jun-2022  tsutsui Check on-disk disklabel properly even on ports without raw BSD disklabel.

Fixes PR install/56890.
 1.48 21-Jun-2022  martin Fix inverted condition in previous and only apply special handling for
the "all of NetBSD" partition when we have an outer MBR label.
Pointed out by Izumi Tsutsui. Hopefully the last fix needed for PR 56886.
 1.47 21-Jun-2022  martin Fix free space accounting for partition size changes and deletions.
Part of PR 56886.
 1.46 21-Jun-2022  martin disklabel_can_add_partition() did not consider additional partitions
(while there still is space in the disklabel). Part of PR 56886.
 1.45 18-Jun-2022  martin An unused partition may not be the install target
 1.44 08-Aug-2021  andvar s/partion/partition/ s/arrray/array/ in comments.
 1.43 31-Jan-2021  rillig sysinst: remove trailing whitespace from *.c *.h

In contrast to the messages files, this whitespace is not significant.
 1.42 13-Oct-2020  martin PR 55142: on popular demand bring back expert options to adjust the
number of free inodes, block size and fragment size for FFS and LFS.
 1.41 12-Oct-2020  martin PR 55536: when we find existing partition tables and have alternative
formats available, offer to delete partitions and create new ones from
scratch (in some other or the same on-disk format).
 1.40 03-Oct-2020  martin PR 55384: detangle pm->ptstart from the "install" flag (selecting a
target partition). Instead introduce a new PTI_INSTALL_TARGET per partition
flag and deal with it in the partitioning backends.

Honour pm->ptstart when allocating new partitions - it is supposed to be
the first sector usable by NetBSD.
 1.39 29-Sep-2020  martin Apply patch provided by Izumi Tsutsui in PR 55382: make ext2 partitions
show up in the outer (MBR) partition table, needed for example on Cobalt
where firmware boots from that partition.
 1.38 28-Sep-2020  martin PR 55378: do not assume RAW_PART to be either 2 or 3
 1.37 19-Feb-2020  martin branches: 1.37.4;
Rever previous: the d_packname in struct disklabel is not NUL terminated.
Disable the warning instead.
 1.36 19-Feb-2020  martin Use strlcpy in a few places to guarnatee 0-terminated strings
 1.35 06-Feb-2020  martin Remove a bogus assert: when reading disklabel partitions and the outer
(MBR) partitioning has changed, but the changes have not yet been written
back to disk, we need to ignore the kernels idea of the disklabel and
instead continue with an empty one.
 1.34 27-Jan-2020  martin Fix support for non-512-byte/sector disks again after I broke it when
introducing the abstract partition backends.
 1.33 21-Jan-2020  martin Deal with even stranger fictious empty disklabels (PR kern/54882).
 1.32 21-Jan-2020  mrg hide disklabel_non_bootable() under NO_DISKLABEL_BOOT like the usage.

should fix most builds.
 1.31 20-Jan-2020  martin First try to bring evbarm installation closer to current reality.
 1.30 15-Jan-2020  martin Add a method to query the partitioning schemes "internal idea" of a
cylinder size - whatever that means in the real world.
 1.29 10-Jan-2020  martin Move the LABELSECTOR check and make it FS type specific - some partition
types (FFS, RAID) are allowed to overlap with the LABELSECTOR.
 1.28 09-Jan-2020  martin Finish conversion of extended partitioning parts to new abstract
backend interface. XXX still could use a lot of polishing.
 1.27 15-Dec-2019  martin Do not show disklabel command invocation by default (only if there are
errors).
 1.26 15-Dec-2019  martin Reject (what we consider) empty/invalid fake disklabels no matter whether
we have other partitioning schemes available or not.
 1.25 14-Dec-2019  martin Pass proper track size when initializing the default alignment - this is
important with sunlabels.
 1.24 14-Dec-2019  martin If a fictious label has no RAW_PART assume there is no valid disk label.
 1.23 13-Dec-2019  martin When finding (paritioning scheme native) partition types for file systems
from our install description, pass the partition type (not only the file
system type). Sometimes (e.g. EFI boot partition on GPT) the filesystem
type (MSDOS) is not a unique selector.
 1.22 13-Dec-2019  martin When trying to tell a fictious but empty label from a real one, skip
partition a if it has the same start and size as the raw partition.
 1.21 12-Dec-2019  martin Fix inverted comparison
 1.20 12-Dec-2019  martin Fix DISKLABEL_NO_ONDISK_VERIFY (accidently disabled in previous)
 1.19 12-Dec-2019  martin Fix detection of existing disklabels in the case when we only have
the disklabel partitioning scheme available.
 1.18 09-Dec-2019  martin PR install/54582: allow MD code to disable on-disk presence verification
of "real" disklabels. Auto-enable this (at run time) when there is no other
partitioning scheme but disklabel configured.
Hard-coded enable this for x68k to allow using kernel based translations
for native Human68k partitions.
 1.17 07-Dec-2019  martin Relax restrictions on packnames, as disklabel(8) does not do full decoding
for the tag field.
Fix quoting of command args.
 1.16 06-Dec-2019  martin Sanitize disk type and packname a bit more - when using existing disklabel
partitions we might run into trouble later when filing this label (unescaped)
in disktab format otherwise.
 1.15 12-Nov-2019  martin Add options to the various partitioning stages that allow cloning of
alien partitions (optionally including data).
 1.14 21-Oct-2019  martin When translating (internal) indices to device names, properly deal with
gaps in partition allocations (e.g. no swap partition).
 1.13 14-Aug-2019  martin Fix some "partition index" (as used in the abstract interface)
versus disklabel "partition letter" confusion.
 1.12 14-Aug-2019  martin On architectures that usually do MBR/disklabel, nevertheless deal with
pure/plain disklabel disks, and explicitly offer this as partitioning
option when bootability is not a concern.
 1.11 07-Aug-2019  martin Support upgrade of systems using NAME= syntax in /etc/fstab.

Make supported file system types dynamic - instead of hardcoding the
available types at compile time, check for available newfs_* helper
binaries in the actual install environment at runtime.
 1.10 26-Jul-2019  martin branches: 1.10.2;
Strip trailing / from last mounted strings.
No idea how they happen, but for cgd root (init.root = "/altroot")
they have been reported to exist.
 1.9 21-Jul-2019  martin When changing the user geometry, do not alter the disklabel internal
geometry information. On drives only capable of doing CHS addressing,
we rely on this data.
 1.8 21-Jul-2019  martin Reintroduce scripting for writing the disklabel
 1.7 12-Jul-2019  martin Implement add_outer_partition (to allow access to partitions outside
the NetBSD disklabel part)
 1.6 10-Jul-2019  martin When deleting all partitions (e.g. before we use the default partition
sizes) do not kill the geometry information in the internal disklabel
copy.
 1.5 25-Jun-2019  martin Assert that the label data is valid before invoking disklabel(8)
 1.4 20-Jun-2019  martin Avoid architecture specific ifdefs in main code, move to MD macros.
 1.3 20-Jun-2019  martin Disklabel partitions may start at the beginning of the disk (or the
NetBSD partition).
 1.2 13-Jun-2019  martin Fix unitialized variable
 1.1 12-Jun-2019  martin Rework internal data structures and "interfaces to user interface" functions
to get rid of all disklabel assumptions.

Previously (even for GPT partitioning) struct disklabel was used, which
obviously breaks large disk setups. Also many MD parts and parts of the
user interface assumed (a) a struct disklabel is used internally to
store partitioning information and (b) partitions are named 'a' ... $MAXPART.

Get rid of this and replace it with a quite abstract interface that should
be able to deal with all variants in partition storage:

- partitions are stored in a (partly abstract) struct disk_partitions
and most parts of it are only accessed via accessor functions provided
by a "partitioning scheme".

- implement partitioning schemes for MBR, disklabel and GPT (with likely
RDB [amiga] and Apple Partition Map [mac*] to follow soon)

- partitioning schemes may be cascaded, e.g. on x86 when using MBR as
"outer partitions", we have disklabel as "inner partitions".

- all user interface goes via accessor functions in the partitioning scheme,
some of which return pointers to special user interface descriptors
(e.g. to allow editing partition flags, which are scheme specific)

Overall the user interface changes (in this initial step) are minimal but
noticable. A new Anita is needed for automatic test setups - many thanks
to Andreas Gustafsson for lots of early testing and a new Anita version,
and to Manuel Bouyer for cooperation and tests of the Anita release.

This work was sponsored by The NetBSD Foundation, Inc.
 1.10.2.12 02-Jan-2023  martin Pull up following revision(s) (requested by tsutsui in ticket #1559):

usr.sbin/sysinst/arch/x68k/md.c: revision 1.13
usr.sbin/sysinst/disklabel.c: revision 1.49
usr.sbin/sysinst/defs.h: revision 1.85
usr.sbin/sysinst/arch/amiga/md.c: revision 1.8
usr.sbin/sysinst/arch/amiga/md.c: revision 1.9

Check on-disk disklabel properly even on ports without raw BSD disklabel.
Fixes PR install/56890.

Fix typo
 1.10.2.11 31-Dec-2022  snj Pull up following revision(s) (requested by martin in ticket #1558):
usr.sbin/sysinst/disklabel.c: 1.46-1.48
usr.sbin/sysinst/label.c: 1.40-1.41

disklabel_can_add_partition() did not consider additional partitions
(while there still is space in the disklabel). Part of PR 56886.

Fix free space accounting for partition size changes and deletions.
Part of PR 56886.

renumber_partitions() needs to deal with removed/added partitions.

Fix free space accounting when partitions change size or are deleted.
Part of PR 56886.

Fix inverted condition in previous and only apply special handling for
the "all of NetBSD" partition when we have an outer MBR label.
Pointed out by Izumi Tsutsui. Hopefully the last fix needed for PR 56886.
 1.10.2.10 15-Oct-2020  bouyer Pull up following revision(s) (requested by martin in ticket #1113):
usr.sbin/sysinst/bsddisklabel.c: revision 1.46
usr.sbin/sysinst/bsddisklabel.c: revision 1.47
usr.sbin/sysinst/disklabel.c: revision 1.40
usr.sbin/sysinst/arch/cobalt/md.c: revision 1.13
usr.sbin/sysinst/bsddisklabel.c: revision 1.48
usr.sbin/sysinst/disklabel.c: revision 1.41
usr.sbin/sysinst/arch/cobalt/md.c: revision 1.14
usr.sbin/sysinst/bsddisklabel.c: revision 1.49
usr.sbin/sysinst/disklabel.c: revision 1.42
usr.sbin/sysinst/Makefile.inc: revision 1.34
usr.sbin/sysinst/disks.c: revision 1.70
usr.sbin/sysinst/arch/hp300/md.c: revision 1.11
usr.sbin/sysinst/disks.c: revision 1.71
usr.sbin/sysinst/arch/i386/md.h: revision 1.8
usr.sbin/sysinst/arch/arc/md.c: revision 1.13
usr.sbin/sysinst/mbr.h: revision 1.5
usr.sbin/sysinst/mbr.h: revision 1.6
usr.sbin/sysinst/arch/mac68k/md.c: revision 1.10
usr.sbin/sysinst/bsddisklabel.c: revision 1.50
usr.sbin/sysinst/arch/acorn32/md.c: revision 1.7
usr.sbin/sysinst/bsddisklabel.c: revision 1.51
usr.sbin/sysinst/bsddisklabel.c: revision 1.52
usr.sbin/sysinst/bsddisklabel.c: revision 1.53
usr.sbin/sysinst/bsddisklabel.c: revision 1.54
usr.sbin/sysinst/bsddisklabel.c: revision 1.55
usr.sbin/sysinst/bsddisklabel.c: revision 1.56
usr.sbin/sysinst/arch/dummy/md.c: revision 1.6
usr.sbin/sysinst/arch/amd64/md.h: revision 1.9
usr.sbin/sysinst/arch/evbsh3/md.c: revision 1.6
usr.sbin/sysinst/arch/sparc/md.c: revision 1.6
usr.sbin/sysinst/arch/zaurus/md.c: revision 1.10
usr.sbin/sysinst/arch/x68k/md.c: revision 1.11
usr.sbin/sysinst/arch/sandpoint/md.c: revision 1.9
usr.sbin/sysinst/arch/vax/md.c: revision 1.7
usr.sbin/sysinst/arch/luna68k/md.c: revision 1.9
usr.sbin/sysinst/gpt.c: revision 1.19
usr.sbin/sysinst/arch/i386/md.c: revision 1.31
usr.sbin/sysinst/arch/i386/md.c: revision 1.32
usr.sbin/sysinst/arch/evbarm/md.c: revision 1.17
usr.sbin/sysinst/arch/evbarm/md.c: revision 1.18
usr.sbin/sysinst/arch/evbarm/md.c: revision 1.19
usr.sbin/sysinst/arch/shark/md.c: revision 1.6
usr.sbin/sysinst/arch/landisk/md.c: revision 1.14
usr.sbin/sysinst/util.c: revision 1.43
usr.sbin/sysinst/gpt.c: revision 1.20
usr.sbin/sysinst/util.c: revision 1.44
usr.sbin/sysinst/gpt.c: revision 1.21
usr.sbin/sysinst/gpt.c: revision 1.22
usr.sbin/sysinst/arch/evbarm/msg.md.en: revision 1.2
usr.sbin/sysinst/arch/ofppc/md.c: revision 1.11
usr.sbin/sysinst/util.c: revision 1.46
usr.sbin/sysinst/arch/ofppc/md.c: revision 1.12
usr.sbin/sysinst/util.c: revision 1.47
usr.sbin/sysinst/arch/evbarm/md.h: revision 1.6
usr.sbin/sysinst/util.c: revision 1.48
usr.sbin/sysinst/arch/evbarm/md.h: revision 1.7
usr.sbin/sysinst/arch/evbmips/md.c: revision 1.9
usr.sbin/sysinst/msg.mi.fr: revision 1.28
usr.sbin/sysinst/msg.mi.fr: revision 1.29
usr.sbin/sysinst/arch/sgimips/md.c: revision 1.9
usr.sbin/sysinst/arch/evbarm/Makefile: revision 1.3
usr.sbin/sysinst/msg.mi.de: revision 1.23
usr.sbin/sysinst/arch/hpcsh/md.c: revision 1.10
usr.sbin/sysinst/msg.mi.de: revision 1.24
usr.sbin/sysinst/install.c: revision 1.15
usr.sbin/sysinst/install.c: revision 1.16
usr.sbin/sysinst/arch/sparc64/md.c: revision 1.6
usr.sbin/sysinst/install.c: revision 1.17
usr.sbin/sysinst/install.c: revision 1.18
usr.sbin/sysinst/partitions.h: revision 1.16
usr.sbin/sysinst/install.c: revision 1.19
usr.sbin/sysinst/partitions.h: revision 1.17
usr.sbin/sysinst/arch/evbppc/md.c: revision 1.9
usr.sbin/sysinst/arch/playstation2/md.c: revision 1.9
usr.sbin/sysinst/partitions.h: revision 1.18
usr.sbin/sysinst/arch/hpcarm/md.c: revision 1.9
usr.sbin/sysinst/partitions.h: revision 1.19
usr.sbin/sysinst/msg.mi.es: revision 1.24
usr.sbin/sysinst/msg.mi.es: revision 1.25
usr.sbin/sysinst/msg.mi.es: revision 1.26
usr.sbin/sysinst/arch/zaurus/md.c: revision 1.9
usr.sbin/sysinst/target.c: revision 1.13
usr.sbin/sysinst/target.c: revision 1.14
usr.sbin/sysinst/part_edit.c: revision 1.17
usr.sbin/sysinst/part_edit.c: revision 1.18
usr.sbin/sysinst/msg.mi.fr: revision 1.30
usr.sbin/sysinst/arch/mvme68k/md.c: revision 1.11
usr.sbin/sysinst/part_edit.c: revision 1.19
usr.sbin/sysinst/msg.mi.fr: revision 1.31
usr.sbin/sysinst/arch/alpha/md.c: revision 1.9
usr.sbin/sysinst/msg.mi.en: revision 1.30
usr.sbin/sysinst/defs.h: revision 1.56
usr.sbin/sysinst/msg.mi.en: revision 1.31
usr.sbin/sysinst/defs.h: revision 1.57
usr.sbin/sysinst/msg.mi.en: revision 1.32
usr.sbin/sysinst/arch/amiga/md.c: revision 1.6
usr.sbin/sysinst/arch/hpcmips/md.c: revision 1.9
usr.sbin/sysinst/defs.h: revision 1.58
usr.sbin/sysinst/arch/cats/md.c: revision 1.5
usr.sbin/sysinst/defs.h: revision 1.59
usr.sbin/sysinst/arch/newsmips/md.c: revision 1.6
usr.sbin/sysinst/arch/pmax/md.c: revision 1.8
usr.sbin/sysinst/arch/mipsco/md.c: revision 1.8
usr.sbin/sysinst/part_edit.c: revision 1.20
usr.sbin/sysinst/part_edit.c: revision 1.21
usr.sbin/sysinst/arch/macppc/md.c: revision 1.6
usr.sbin/sysinst/part_edit.c: revision 1.22
usr.sbin/sysinst/part_edit.c: revision 1.23
usr.sbin/sysinst/part_edit.c: revision 1.24
usr.sbin/sysinst/defs.h: revision 1.60
usr.sbin/sysinst/arch/mac68k/Makefile: revision 1.3
usr.sbin/sysinst/defs.h: revision 1.61
usr.sbin/sysinst/defs.h: revision 1.63
usr.sbin/sysinst/defs.h: revision 1.64
usr.sbin/sysinst/defs.h: revision 1.65
usr.sbin/sysinst/label.c: revision 1.21
usr.sbin/sysinst/defs.h: revision 1.66
usr.sbin/sysinst/label.c: revision 1.22
usr.sbin/sysinst/defs.h: revision 1.67
usr.sbin/sysinst/label.c: revision 1.23
usr.sbin/sysinst/label.c: revision 1.24
usr.sbin/sysinst/label.c: revision 1.25
usr.sbin/sysinst/label.c: revision 1.26
usr.sbin/sysinst/label.c: revision 1.27
usr.sbin/sysinst/msg.mi.pl: revision 1.31
usr.sbin/sysinst/label.c: revision 1.28
usr.sbin/sysinst/msg.mi.pl: revision 1.32
usr.sbin/sysinst/label.c: revision 1.29
usr.sbin/sysinst/arch/atari/md.c: revision 1.7
usr.sbin/sysinst/disklabel.c: revision 1.36
usr.sbin/sysinst/disklabel.c: revision 1.37
usr.sbin/sysinst/disklabel.c: revision 1.38
usr.sbin/sysinst/disklabel.c: revision 1.39
usr.sbin/sysinst/arch/bebox/md.c: revision 1.9
usr.sbin/sysinst/mbr.c: revision 1.32
usr.sbin/sysinst/disks.c: revision 1.66
usr.sbin/sysinst/mbr.c: revision 1.33
usr.sbin/sysinst/disks.c: revision 1.67
usr.sbin/sysinst/mbr.c: revision 1.34
usr.sbin/sysinst/arch/emips/md.c: revision 1.9
usr.sbin/sysinst/disks.c: revision 1.68
usr.sbin/sysinst/partitions.c: revision 1.11
usr.sbin/sysinst/mbr.c: revision 1.35
usr.sbin/sysinst/disks.c: revision 1.69
usr.sbin/sysinst/mbr.c: revision 1.36
usr.sbin/sysinst/arch/hppa/md.c: revision 1.8
usr.sbin/sysinst/arch/prep/md.c: revision 1.13
usr.sbin/sysinst/label.c: revision 1.30
usr.sbin/sysinst/arch/ews4800mips/md.c: revision 1.7
usr.sbin/sysinst/main.c: revision 1.21
usr.sbin/sysinst/main.c: revision 1.22
usr.sbin/sysinst/main.c: revision 1.23
usr.sbin/sysinst/bsddisklabel.c: revision 1.40
usr.sbin/sysinst/main.c: revision 1.24
usr.sbin/sysinst/arch/cobalt/md.h: revision 1.6
usr.sbin/sysinst/bsddisklabel.c: revision 1.41
usr.sbin/sysinst/main.c: revision 1.25
usr.sbin/sysinst/arch/news68k/md.c: revision 1.7
usr.sbin/sysinst/bsddisklabel.c: revision 1.42
usr.sbin/sysinst/bsddisklabel.c: revision 1.43
usr.sbin/sysinst/bsddisklabel.c: revision 1.44
usr.sbin/sysinst/bsddisklabel.c: revision 1.45
Use strlcpy in a few places to guarnatee 0-terminated strings
Rever previous: the d_packname in struct disklabel is not NUL terminated.
Disable the warning instead.
Do not force -Os optimization (unless SMALLPROG)
Remove unused "rel" global variable and make the -r option a no-op.
PR 55045: strlcpy(NULL, ..., 0) considered harmfull in some implementations.
PR misc/54886: bump threshold for automatic/default creation of a tmpfs /tmp
up slightly (to 384 MB ram). This will make sure the default install has
a > 64 MB /tmp available (number pulled out of thin air, 64 MB is the minimum
required by the ZFS tests).
Don't depend on common symbol definitions.
boardype should not be common.
Redo the root-size-limit check again after we grew the root partition
for kernel dumps. Auto-enable the /usr partition if it overflows.
For all non-root partitions, default to FFSv2.
When extending a partition (to fill the total disk size) do respect
size limits.
Do not suggest a size limited partition for extension by default.
Minor tweak to previous: when forcing a /usr partition just to have an
arbitrary extendable partition, still use its default size initially.
At the end of a new installation save entropy.
Ooops, backout previous - twice the entropy saving is not needed.
Instead slightly improve the (slightly) hidden other code that already
did it.
PR 55202: disable swapping if we started it due to low ram
it's "its"
Remove "If you booted from a floppy" message
Set HAVE_INSTALL_IMAGE for evbarm
Change mountpoint of boot ext2fs from /stand to /ext2 to avoid conflict.
Should be pulled up to netbsd-9, with fixes of PR/55060.
MBR type for Ext2 should be MBR_PTYPE_LNXEXT2, not MBR_PTYPE_FAT12.
Silence -Wstringop-truncation for ``name'' in disp_selected_part().
This variable is used only for display, and truncation seems harmless.
PR 55572: avoid crash when answering the mount point prompt for a previously
empty mount point with an emptry sting.
When adding a new partition in the concrete partition editor, make sure
to set a pointer to the partition table interface in the new entry.
Otherwise we may end up not writing back the partitions at all, leading
to further fallout later.
Receipe to reproduce the issue from Frederic Fauberteau, thanks!
In the concrete partitions editor, after deleting the last partition move
the menu selection to the "add a partition" entry (instead of the sentinel
line which is not an active menu entry).
Typo in comment
Keep a list of all partition tables from which we have deleted partitions
and make sure we update those partition tables when writing partitions,
even if no install related partition remains on them.
Fix display of timezone selection menu
If there is no current partitioning manager assume we are editing the
current system and make target_already_root() return true.
Fixes various fallout when using sysinst post installation.
PR 55377: mark boot partitions in the partition size display, as suggested
by Izumi Tsutsui (minor modifications + all bugs by me)
PR 55378: do not assume RAW_PART to be either 2 or 3
PR 55379: avoid creating bogus /etc/fstab lines for /dev/cd* if no
cdrom is available.
PR 55381: try to deal with moved (but not yet saved) partitions when
calculating free space
Apply patch provided by Izumi Tsutsui in PR 55382: make ext2 partitions
show up in the outer (MBR) partition table, needed for example on Cobalt
where firmware boots from that partition.
PR 55384: detangle pm->ptstart from the "install" flag (selecting a
target partition). Instead introduce a new PTI_INSTALL_TARGET per partition
flag and deal with it in the partitioning backends.
Honour pm->ptstart when allocating new partitions - it is supposed to be
the first sector usable by NetBSD.
If we have no explicitly marke target root partition, make sure to set
the proper flag on the implicit one.
When merging existing partitions with desired target system layout
information, only force the "mount" flag if the existing partitions
has a valid mount point.
Add a heuristic to detect and properly mark EFI system partitions
when re-using pre-existing partitions.
When MD code requests a reserved area (at the start of the disk)
make sure to properly account for the "lost" space during all calculations
and especially when expanding the main partition to fill the disk.
Avoid using the global "pm" or a passed device descriptons when we are
passing disk limits explicitly anyway.
Simplify/fix a few rounding calculations.
When creating new partitions for "full disk" use, pass a install target
hint to the partitioning backend (for the outer NetBSD partition).
Use an install target hint to mark a new partition active.
When compiled with BOOTSEL support, also name the new partition "NetBSD".
Remove more pm->ptstart abuse - calculate values localy where needed
instead.
Fix editing start and size of not yet existing outer partitions.
Previously we abused pm->ptstart / pm->ptsize to pass the bounds of the
NetBSD outer partition to the inner partition editor - but now this is
not a valid assumption any more, so explicitly fix the bounds if an
outer partition exists.
Remove very strange code that special-cased MSDOS file systems and refused
to newfs the partition (despite explicit request to do so) if it was
mountable.
Accidently carried over from a dim and distant past, before we had
fsck_newfs.
PR 55536: when we find existing partition tables and have alternative
formats available, offer to delete partitions and create new ones from
scratch (in some other or the same on-disk format).
Minor fix to previous: fix condition when we offer the partition type
switch - it makes sense even if the disk is partitioned but has no valid
partitions.
Before forcing MBR partitions into our disklabel, make sure they are not
there yet - could happen in various paths when reusing existing partitions
(or parts of that) - previously we would blindly duplicate identical
partitions.
Ooops, part of previous was not meant to be included yet
When renumbering partitions (after deletions) be slightly more lax
in matching, to cope with differences between MBR EFI partitions and
disklabel MSDOS partitions.
PR 55142: on popular demand bring back expert options to adjust the
number of free inodes, block size and fragment size for FFS and LFS.
Fix copy & pasto noticed by Jason Mitchell: change the type of a GPT
partition via "gpt type" - not "gpt label".
Fix copy & pasto (missing "again" label)
Remove dead code
Move MBR writing (if any) post disklabel writing, otherwise strange
interactions happen.
Properly convert partition default sizes in MB to number of sectors
 1.10.2.9 10-Feb-2020  bouyer Pull up following revision(s) (requested by martin in ticket #693):
usr.sbin/sysinst/arch/x68k/msg.md.en: revision 1.2
usr.sbin/sysinst/arch/x68k/md.c: revision 1.10
usr.sbin/sysinst/arch/mvme68k/msg.md.fr: revision 1.2
usr.sbin/sysinst/arch/x68k/msg.md.en: revision 1.3
usr.sbin/sysinst/arch/mvme68k/msg.md.fr: revision 1.3
usr.sbin/sysinst/msg.mi.en: revision 1.28
usr.sbin/sysinst/arch/hp300/md.c: revision 1.10
usr.sbin/sysinst/msg.mi.es: revision 1.22
usr.sbin/sysinst/target.c: revision 1.12
usr.sbin/sysinst/arch/mvme68k/md.c: revision 1.10
usr.sbin/sysinst/arch/i386/md.c: revision 1.30
usr.sbin/sysinst/arch/mvme68k/msg.md.pl: revision 1.2
usr.sbin/sysinst/arch/mvme68k/msg.md.pl: revision 1.3
usr.sbin/sysinst/bsddisklabel.c: revision 1.39
usr.sbin/sysinst/arch/mvme68k/msg.md.de: revision 1.2
usr.sbin/sysinst/arch/mac68k/md.c: revision 1.9
usr.sbin/sysinst/disklabel.c: revision 1.35
usr.sbin/sysinst/arch/mvme68k/msg.md.de: revision 1.3
usr.sbin/sysinst/defs.h: revision 1.55
usr.sbin/sysinst/disks.c: revision 1.63
usr.sbin/sysinst/disks.c: revision 1.64
usr.sbin/sysinst/mbr.c: revision 1.31
usr.sbin/sysinst/disks.c: revision 1.65
usr.sbin/sysinst/txtwalk.c: revision 1.3
usr.sbin/sysinst/txtwalk.c: revision 1.4
usr.sbin/sysinst/arch/mvme68k/msg.md.en: revision 1.2
usr.sbin/sysinst/arch/mvme68k/msg.md.en: revision 1.3
usr.sbin/sysinst/msg.mi.fr: revision 1.26
usr.sbin/sysinst/msg.mi.pl: revision 1.29
usr.sbin/sysinst/arch/mvme68k/msg.md.es: revision 1.2
usr.sbin/sysinst/upgrade.c: revision 1.15
usr.sbin/sysinst/arch/mvme68k/msg.md.es: revision 1.3
usr.sbin/sysinst/upgrade.c: revision 1.16
usr.sbin/sysinst/partman.c: revision 1.50
usr.sbin/sysinst/msg.mi.de: revision 1.21
remove unused "emptypart" message (or moved to ifdef notyet area)
PR install/54921: message "ordering" takes a %s argument.
PR install/54921: skip non-user partitions when checking for overlaps
bootxx_name() - fix oversight in previous change (do not assume first
partition is the root partition)
PR install/54934: always use -f on the installboot invocation. We come
here post-newfs (and maybe should have dd'd zeros to the start of the
disk before newfs instead).
Remove a bogus assert: when reading disklabel partitions and the outer
(MBR) partitioning has changed, but the changes have not yet been written
back to disk, we need to ignore the kernels idea of the disklabel and
instead continue with an empty one.
Deal with partitioning schemes having no inner counterpart.
Avoid NULL derefs.
Do not assum a partitioning scheme that supports innner partitions always
needs to actually have such partitions defined.
PR bin/54944: deal with escaped spaces in NAME= syntax in /etc/fstab.
PR bin/54944: explicitly reject GPT protective MBRs.
PR bin/54944: make the "explicit single wedge" selection also work for
upgrades.
Reformat a query to add an automatically detected swap partition
so it fits on narrow screens.
Make re-install sets also work for an explicit selected root wedge
Fix copy&pasto in previous - from kre.
Only a single partition can ever have the "extend" flag (grow to available
size).
Do not use -P for tar extractions - the in tree tar has been fixed.
Finish conversion to generic partitioning backend
 1.10.2.8 28-Jan-2020  msaitoh Pull up following revision(s) (requested by martin in ticket #668):
usr.sbin/sysinst/arch/cobalt/md.c: revision 1.11
usr.sbin/sysinst/arch/cobalt/md.c: revision 1.12
usr.sbin/sysinst/arch/arc/md.c: revision 1.11
usr.sbin/sysinst/arch/arc/md.c: revision 1.12
usr.sbin/sysinst/partman.c: revision 1.43
usr.sbin/sysinst/partman.c: revision 1.46
usr.sbin/sysinst/partman.c: revision 1.47
usr.sbin/sysinst/partman.c: revision 1.48
usr.sbin/sysinst/partman.c: revision 1.49
usr.sbin/sysinst/msg.pm.fr: revision 1.2
usr.sbin/sysinst/upgrade.c: revision 1.14
usr.sbin/sysinst/arch/i386/md.c: revision 1.28
usr.sbin/sysinst/arch/i386/md.c: revision 1.29
usr.sbin/sysinst/arch/ofppc/md.c: revision 1.9
usr.sbin/sysinst/arch/sandpoint/md.c: revision 1.7
usr.sbin/sysinst/arch/sandpoint/md.c: revision 1.8
usr.sbin/sysinst/gpt.c: revision 1.14
usr.sbin/sysinst/gpt.c: revision 1.15
usr.sbin/sysinst/arch/luna68k/md.c: revision 1.8
usr.sbin/sysinst/gpt.c: revision 1.16
usr.sbin/sysinst/msg.pm.de: revision 1.2
usr.sbin/sysinst/arch/evbarm/md.c: revision 1.11
usr.sbin/sysinst/arch/evbarm/md.c: revision 1.12
usr.sbin/sysinst/arch/evbarm/md.c: revision 1.13
usr.sbin/sysinst/arch/evbarm/md.c: revision 1.14
usr.sbin/sysinst/sizemultname.c: revision 1.4
usr.sbin/sysinst/msg.pm.en: revision 1.2
usr.sbin/sysinst/arch/landisk/md.c: revision 1.12
usr.sbin/sysinst/util.c: revision 1.41
usr.sbin/sysinst/arch/landisk/md.c: revision 1.13
usr.sbin/sysinst/util.c: revision 1.42
usr.sbin/sysinst/arch/ofppc/md.c: revision 1.10
usr.sbin/sysinst/partitions.c: revision 1.9
usr.sbin/sysinst/arch/evbarm/md.h: revision 1.4
usr.sbin/sysinst/arch/evbarm/md.h: revision 1.5
usr.sbin/sysinst/arch/evbmips/md.c: revision 1.7
usr.sbin/sysinst/arch/evbmips/md.c: revision 1.8
usr.sbin/sysinst/msg.mi.fr: revision 1.25
usr.sbin/sysinst/msg.mi.de: revision 1.20
usr.sbin/sysinst/install.c: revision 1.14
usr.sbin/sysinst/partitions.h: revision 1.13
usr.sbin/sysinst/partitions.h: revision 1.14
usr.sbin/sysinst/arch/evbppc/md.c: revision 1.7
usr.sbin/sysinst/arch/playstation2/md.c: revision 1.7
usr.sbin/sysinst/msg.mi.en: revision 1.27
usr.sbin/sysinst/partitions.h: revision 1.15
usr.sbin/sysinst/arch/evbppc/md.c: revision 1.8
usr.sbin/sysinst/arch/hpcarm/md.c: revision 1.7
usr.sbin/sysinst/arch/playstation2/md.c: revision 1.8
usr.sbin/sysinst/msg.pm.pl: revision 1.2
usr.sbin/sysinst/arch/hpcarm/md.c: revision 1.8
usr.sbin/sysinst/msg.mi.es: revision 1.21
usr.sbin/sysinst/arch/zaurus/md.c: revision 1.7
usr.sbin/sysinst/target.c: revision 1.11
usr.sbin/sysinst/arch/zaurus/md.c: revision 1.8
usr.sbin/sysinst/part_edit.c: revision 1.14
usr.sbin/sysinst/part_edit.c: revision 1.15
usr.sbin/sysinst/part_edit.c: revision 1.16
usr.sbin/sysinst/defs.h: revision 1.50
usr.sbin/sysinst/defs.h: revision 1.51
usr.sbin/sysinst/defs.h: revision 1.52
usr.sbin/sysinst/defs.h: revision 1.53
usr.sbin/sysinst/defs.h: revision 1.54
usr.sbin/sysinst/arch/hpcmips/md.c: revision 1.7
usr.sbin/sysinst/arch/hpcmips/md.c: revision 1.8
usr.sbin/sysinst/arch/hpcsh/md.c: revision 1.8
usr.sbin/sysinst/msg.pm.es: revision 1.2
usr.sbin/sysinst/arch/hpcsh/md.c: revision 1.9
usr.sbin/sysinst/label.c: revision 1.18
usr.sbin/sysinst/label.c: revision 1.19
usr.sbin/sysinst/net.c: revision 1.35
usr.sbin/sysinst/msg.mi.pl: revision 1.28
usr.sbin/sysinst/disklabel.c: revision 1.28
usr.sbin/sysinst/disklabel.c: revision 1.29
usr.sbin/sysinst/mbr.c: revision 1.24
usr.sbin/sysinst/disks.c: revision 1.59
usr.sbin/sysinst/mbr.c: revision 1.25
usr.sbin/sysinst/mbr.c: revision 1.26
usr.sbin/sysinst/mbr.c: revision 1.27
usr.sbin/sysinst/mbr.c: revision 1.28
usr.sbin/sysinst/label.c: revision 1.20
usr.sbin/sysinst/mbr.c: revision 1.29
usr.sbin/sysinst/bsddisklabel.c: revision 1.34
usr.sbin/sysinst/bsddisklabel.c: revision 1.35
usr.sbin/sysinst/bsddisklabel.c: revision 1.36
usr.sbin/sysinst/bsddisklabel.c: revision 1.37
usr.sbin/sysinst/disklabel.c: revision 1.30
usr.sbin/sysinst/bsddisklabel.c: revision 1.38
usr.sbin/sysinst/disklabel.c: revision 1.31
usr.sbin/sysinst/disklabel.c: revision 1.32
usr.sbin/sysinst/disklabel.c: revision 1.33
usr.sbin/sysinst/disklabel.c: revision 1.34
usr.sbin/sysinst/disks.c: revision 1.60
usr.sbin/sysinst/disks.c: revision 1.61
usr.sbin/sysinst/arch/bebox/md.c: revision 1.7
usr.sbin/sysinst/disks.c: revision 1.62
usr.sbin/sysinst/arch/bebox/md.c: revision 1.8
usr.sbin/sysinst/mbr.c: revision 1.30
usr.sbin/sysinst/partitions.c: revision 1.10
usr.sbin/sysinst/arch/prep/md.c: revision 1.11
usr.sbin/sysinst/arch/prep/md.c: revision 1.12
usr.sbin/sysinst/menus.pm: revision 1.3
usr.sbin/sysinst/main.c: revision 1.20
usr.sbin/sysinst/menus.mi: revision 1.20
usr.sbin/sysinst/menus.mi: revision 1.21
avoid calling snprintf/strlcat with an input parameter the same
as the output. from martin@. fixes gcc 8 restrict warnings.
Finish conversion of extended partitioning parts to new abstract
backend interface. XXX still could use a lot of polishing.
Instead of a (bogus) attempt to query the model via ofctl, use the (now
fixed) sysctl hw.model instead.
When reading the secondary disklabel partitions from an existing disklabel
set the mbr partitions as parent.
Move the LABELSECTOR check and make it FS type specific - some partition
types (FFS, RAID) are allowed to overlap with the LABELSECTOR.
When asked to create a whole-disk partition for unknown usage, do not only
assert(false), but actually return an error (in case "assert" is a nop).
PR install/54787: when trying to derive proper alignement and first offset
from exisiting partitions, use the first partition offset if it is already
closer to the start of the disk than the prefered alignment - we can not
move existing partitions around.
Fix handling of inner/outer partitions (e.g. MBR and disklabel) in
extended partitioning:
- when editing a disk with such a schme, offer both partitions in two
steps
- when commiting changes save the inner partitions after the outer ones
Add a method to query the partitioning schemes "internal idea" of a
cylinder size - whatever that means in the real world.
Avoid using the global "pm" variable in utility functions - during
extended partitioning they may point to a different device.
Remove useless calls to get_ramsize() - return value is ignored and
the function has no side effects.
Fix /tmp tmpfs handling and on machines with enough RAM default to
creating a /tmp tmpfs with 25% of ram size limit. Suggested by ad@.
PR install/54872: fix printf argument order, sectors and heads were
swapped in the bios geometry display.
First try to bring evbarm installation closer to current reality.
hide disklabel_non_bootable() under NO_DISKLABEL_BOOT like the usage.
should fix most builds.
Deal with even stranger fictious empty disklabels (PR kern/54882).
Factor out all RAM size thresholds as defines to avoid magic numbers.
To work around PR misc/54886 bump the threshold for a tmpfs /tmp mount
up to 256 MB.
When retrying sets during extraction, reset the relevant statistics
to avoid counting retried sets multiple times.
Reported by kim.
Fix support for non-512-byte/sector disks again after I broke it when
introducing the abstract partition backends.
Use a few strlcpy() instead of strncpy() for network ioctl structs.
We seem to have no formal documentation stating the various
char if*_name[IFNAMSIZ]; /* if name, e.g. "en0" */
elements in ioctls are nul terminated, but the peanut gallery claims
it is so - and at least half of the code in-tree touching them agrees.
Too much disklabel magic happening in the kernel - to compensate force
MBR first when trying to identify the existing partitioning scheme of
a disk.
 1.10.2.7 17-Dec-2019  msaitoh Pull up following revision(s) (requested by martin in ticket #560):
usr.sbin/sysinst/partitions.h: revision 1.11
usr.sbin/sysinst/defs.h: revision 1.49
usr.sbin/sysinst/mbr.c: revision 1.23
usr.sbin/sysinst/msg.mi.en: revision 1.26
usr.sbin/sysinst/disks.c: revision 1.58
usr.sbin/sysinst/arch/evbarm/menus.md.pl: revision 1.2
usr.sbin/sysinst/msg.mi.es: revision 1.20
usr.sbin/sysinst/arch/mvme68k/md.c: revision 1.9
usr.sbin/sysinst/gpt.c: revision 1.13
usr.sbin/sysinst/arch/evbarm/md.c: revision 1.10
usr.sbin/sysinst/arch/arc/md.c: revision 1.10
usr.sbin/sysinst/disklabel.c: revision 1.18
usr.sbin/sysinst/bsddisklabel.c: revision 1.33
usr.sbin/sysinst/disklabel.c: revision 1.19
usr.sbin/sysinst/main.c: revision 1.19
usr.sbin/sysinst/partman.c: revision 1.45
usr.sbin/sysinst/arch/alpha/md.c: revision 1.7
usr.sbin/sysinst/msg.mi.de: revision 1.19
usr.sbin/sysinst/arch/evbarm/menus.md.en: revision 1.2
usr.sbin/sysinst/arch/x68k/md.h: revision 1.4
usr.sbin/sysinst/arch/x68k/md.c: revision 1.9
usr.sbin/sysinst/arch/evbarm/menus.md.es: revision 1.2
usr.sbin/sysinst/wskbd.c: revision 1.4
usr.sbin/sysinst/label.c: revision 1.15
usr.sbin/sysinst/arch/amiga/md.h: revision 1.5
usr.sbin/sysinst/label.c: revision 1.16
usr.sbin/sysinst/arch/hp300/md.c: revision 1.9
usr.sbin/sysinst/arch/emips/md.c: revision 1.8
usr.sbin/sysinst/label.c: revision 1.17
usr.sbin/sysinst/arch/pmax/md.c: revision 1.7
usr.sbin/sysinst/partitions.c: revision 1.6
usr.sbin/sysinst/arch/prep/md.c: revision 1.10
usr.sbin/sysinst/arch/mipsco/md.c: revision 1.7
usr.sbin/sysinst/partitions.c: revision 1.7
usr.sbin/sysinst/partitions.c: revision 1.8
usr.sbin/sysinst/arch/ews4800mips/md.c: revision 1.5
usr.sbin/sysinst/disklabel.c: revision 1.20
usr.sbin/sysinst/arch/evbarm/menus.md.fr: revision 1.2
usr.sbin/sysinst/msg.mi.fr: revision 1.24
usr.sbin/sysinst/disklabel.c: revision 1.21
usr.sbin/sysinst/partitions.h: revision 1.9
usr.sbin/sysinst/msg.mi.pl: revision 1.27
usr.sbin/sysinst/disklabel.c: revision 1.22
usr.sbin/sysinst/disklabel.c: revision 1.23
usr.sbin/sysinst/arch/i386/md.c: revision 1.27
usr.sbin/sysinst/disklabel.c: revision 1.24
usr.sbin/sysinst/disklabel.c: revision 1.25
usr.sbin/sysinst/arch/cobalt/md.h: revision 1.5
usr.sbin/sysinst/disklabel.c: revision 1.26
usr.sbin/sysinst/disklabel.c: revision 1.27
usr.sbin/sysinst/partitions.h: revision 1.10
usr.sbin/sysinst/arch/cobalt/md.c: revision 1.10
PR install/54582: allow MD code to disable on-disk presence verification
of "real" disklabels. Auto-enable this (at run time) when there is no other
partitioning scheme but disklabel configured.
Hard-coded enable this for x68k to allow using kernel based translations
for native Human68k partitions.
Get rid of the evbarm preliminary menu: do not bother to ask the user
whether this is a RPi - query the FDT instead.
PR 54065: add optional "old compat" variant of ext2fs in file system
type selection and use that as default for the cobalt boot file system.
For now rely on the kernel mapping native RDB partitions.
Fix detection of existing disklabels in the case when we only have
the disklabel partitioning scheme available.
Fix DISKLABEL_NO_ONDISK_VERIFY (accidently disabled in previous)
Fix inverted comparison
Do not try to change the keyboard layout if we are not running on the
console.
When trying to tell a fictious but empty label from a real one, skip
partition a if it has the same start and size as the raw partition.
Remove bogus assert.
When finding (paritioning scheme native) partition types for file systems
from our install description, pass the partition type (not only the file
system type). Sometimes (e.g. EFI boot partition on GPT) the filesystem
type (MSDOS) is not a unique selector.
Adapt MD parts to changes in get_fs_part_type (pass partition type).
If a fictious label has no RAW_PART assume there is no valid disk label.
Pass proper track size when initializing the default alignment - this is
important with sunlabels.
Fix overlapping partitions display
Reject (what we consider) empty/invalid fake disklabels no matter whether
we have other partitioning schemes available or not.
Do not show disklabel command invocation by default (only if there are
errors).
After installing boot blocks with RUN_NO_CLEAR (and handling the
potential errors) make sure to clear the stdscreen.
 1.10.2.6 09-Dec-2019  bouyer Pull up following revision(s) (requested by martin in ticket #537):
usr.sbin/sysinst/disklabel.c: revision 1.16
usr.sbin/sysinst/disklabel.c: revision 1.17
Sanitize disk type and packname a bit more - when using existing disklabel
partitions we might run into trouble later when filing this label (unescaped)
in disktab format otherwise.
Relax restrictions on packnames, as disklabel(8) does not do full decoding
for the tag field.
Fix quoting of command args.
 1.10.2.5 17-Nov-2019  msaitoh Pull up following revision(s) (requested by martin in ticket #436):
usr.sbin/sysinst/disks.c: revision 1.55
usr.sbin/sysinst/msg.mi.en: revision 1.24
usr.sbin/sysinst/mbr.c: revision 1.22
usr.sbin/sysinst/disks.c: revision 1.56
usr.sbin/sysinst/msg.mi.en: revision 1.25
usr.sbin/sysinst/disks.c: revision 1.57
usr.sbin/sysinst/arch/playstation2/msg.md.pl: revision 1.3
usr.sbin/sysinst/Makefile.inc: revision 1.30
usr.sbin/sysinst/configmenu.c: revision 1.11
usr.sbin/sysinst/util.c: revision 1.35
usr.sbin/sysinst/gpt.c: revision 1.12
usr.sbin/sysinst/util.c: revision 1.36
usr.sbin/sysinst/arch/playstation2/msg.md.de: revision 1.3
usr.sbin/sysinst/arch/i386/menus.md: revision 1.3
usr.sbin/sysinst/util.c: revision 1.37
usr.sbin/sysinst/part_edit.c: revision 1.11
usr.sbin/sysinst/arch/i386/msg.md.en: revision 1.2
usr.sbin/sysinst/util.c: revision 1.38
usr.sbin/sysinst/part_edit.c: revision 1.12
usr.sbin/sysinst/arch/i386/msg.md.en: revision 1.3
usr.sbin/sysinst/util.c: revision 1.39
usr.sbin/sysinst/part_edit.c: revision 1.13
usr.sbin/sysinst/arch/i386/msg.md.en: revision 1.4
usr.sbin/sysinst/disklabel.c: revision 1.15
usr.sbin/sysinst/bsddisklabel.c: revision 1.30
usr.sbin/sysinst/arch/i386/msg.md.es: revision 1.2
usr.sbin/sysinst/bsddisklabel.c: revision 1.31
usr.sbin/sysinst/arch/i386/msg.md.es: revision 1.3
usr.sbin/sysinst/arch/i386/msg.md.es: revision 1.4
usr.sbin/sysinst/mbr.h: revision 1.4
usr.sbin/sysinst/main.c: revision 1.18
usr.sbin/sysinst/partman.c: revision 1.44
usr.sbin/sysinst/msg.mi.de: revision 1.17
usr.sbin/sysinst/arch/i386/msg.md.fr: revision 1.2
usr.sbin/sysinst/msg.mi.de: revision 1.18
usr.sbin/sysinst/arch/i386/msg.md.fr: revision 1.3
usr.sbin/sysinst/arch/playstation2/msg.md.en: revision 1.3
usr.sbin/sysinst/arch/i386/msg.md.fr: revision 1.4
usr.sbin/sysinst/arch/amd64/md.c: revision 1.2
usr.sbin/sysinst/arch/ews4800mips/Makefile: revision 1.3
usr.sbin/sysinst/arch/playstation2/msg.md.es: revision 1.3
usr.sbin/sysinst/label.c: revision 1.13
usr.sbin/sysinst/Makefile.inc: revision 1.29
usr.sbin/sysinst/label.c: revision 1.14
usr.sbin/sysinst/util.c: revision 1.40
usr.sbin/sysinst/partitions.c: revision 1.5
usr.sbin/sysinst/arch/amd64/md.h: revision 1.8
usr.sbin/sysinst/msg.mi.es: revision 1.18
usr.sbin/sysinst/net.c: revision 1.34
usr.sbin/sysinst/msg.mi.es: revision 1.19
usr.sbin/sysinst/arch/i386/msg.md.pl: revision 1.2
usr.sbin/sysinst/arch/i386/md.c: revision 1.22
usr.sbin/sysinst/msg.mi.fr: revision 1.22
usr.sbin/sysinst/arch/playstation2/msg.md.fr: revision 1.3
usr.sbin/sysinst/arch/i386/msg.md.pl: revision 1.3
usr.sbin/sysinst/arch/i386/md.c: revision 1.23
usr.sbin/sysinst/msg.mi.pl: revision 1.25
usr.sbin/sysinst/msg.mi.fr: revision 1.23
usr.sbin/sysinst/arch/i386/msg.md.pl: revision 1.4
usr.sbin/sysinst/arch/i386/md.c: revision 1.24
usr.sbin/sysinst/partitions.h: revision 1.8
usr.sbin/sysinst/msg.mi.pl: revision 1.26
usr.sbin/sysinst/arch/i386/msg.md.de: revision 1.2
usr.sbin/sysinst/arch/i386/msg.md.de: revision 1.3
usr.sbin/sysinst/arch/i386/msg.md.de: revision 1.4
usr.sbin/sysinst/run.c: revision 1.13
usr.sbin/sysinst/defs.h: revision 1.46
usr.sbin/sysinst/install.c: revision 1.12
usr.sbin/sysinst/defs.h: revision 1.47
usr.sbin/sysinst/install.c: revision 1.13
usr.sbin/sysinst/defs.h: revision 1.48
Add options to the various partitioning stages that allow cloning of
alien partitions (optionally including data).
PR 54467: we trust our own sets, extract them with -P to allow symlink
redirection (especially for updates and chroot services - back out
once a better solution for those is implemented)
Make cloning support optional, so we can save some space on very small
install media.
Drop MBR and cloning support on crunched install media.
Make tar extraction flags depend on our usage of pax-as-tar or bsdtar.
Fix missing newlines in bios match display, pointed out by maxv.
Drop unused variable.
Fix table of bios geomatries
knf style adjustments
Make the bootblock selection menu more sane, pointed out by maxv
Make sure all menus have a translatable exit option (or none at all).
On amd64 support installation with a KASLR kernel, via "custom install"
and selecting the GENERIC_KASLR kernel set.
Setup /prekern and boot.cfg accordingly.
 1.10.2.4 23-Oct-2019  msaitoh Pull up following revision(s) (requested by martin in ticket #364):
usr.sbin/sysinst/disklabel.c: revision 1.14
When translating (internal) indices to device names, properly deal with
gaps in partition allocations (e.g. no swap partition).
 1.10.2.3 18-Aug-2019  msaitoh Pull up following revision(s) (requested by martin in ticket #79):
usr.sbin/sysinst/disklabel.c: revision 1.13
Fix some "partition index" (as used in the abstract interface)
versus disklabel "partition letter" confusion.
 1.10.2.2 18-Aug-2019  msaitoh Pull up following revision(s) (requested by martin in ticket #78):
usr.sbin/sysinst/gpt.c: revision 1.10
usr.sbin/sysinst/disklabel.c: revision 1.12
usr.sbin/sysinst/msg.mi.fr: revision 1.18
usr.sbin/sysinst/msg.mi.de: revision 1.14
usr.sbin/sysinst/partitions.c: revision 1.2
usr.sbin/sysinst/msg.mi.es: revision 1.15
usr.sbin/sysinst/msg.mi.pl: revision 1.21
usr.sbin/sysinst/partitions.h: revision 1.6
usr.sbin/sysinst/msg.mi.en: revision 1.20
usr.sbin/sysinst/mbr.c: revision 1.20
On architectures that usually do MBR/disklabel, nevertheless deal with
pure/plain disklabel disks, and explicitly offer this as partitioning
option when bootability is not a concern.
 1.10.2.1 08-Aug-2019  msaitoh Pull up following revision(s) (requested by martin in ticket #28):
usr.sbin/sysinst/disklabel.c: revision 1.11
usr.sbin/sysinst/target.c: revision 1.10
usr.sbin/sysinst/disks.c: revision 1.47
usr.sbin/sysinst/txtwalk.c: revision 1.2
usr.sbin/sysinst/partitions.h: revision 1.5
usr.sbin/sysinst/txtwalk.h: revision 1.2
usr.sbin/sysinst/arch/ews4800mips/md.h: revision 1.4
usr.sbin/sysinst/gpt.c: revision 1.9
usr.sbin/sysinst/defs.h: revision 1.43
Support upgrade of systems using NAME= syntax in /etc/fstab.
Make supported file system types dynamic - instead of hardcoding the
available types at compile time, check for available newfs_* helper
binaries in the actual install environment at runtime.
 1.37.4.2 13-Apr-2020  martin Mostly merge changes from HEAD upto 20200411
 1.37.4.1 19-Feb-2020  martin file disklabel.c was added on branch phil-wifi on 2020-04-13 08:06:00 +0000
 1.52.2.1 02-Aug-2025  perseant Sync with HEAD
 1.97 26-Jul-2025  martin Use consistent syntax for tmpfs entries in /etc/fstab.
 1.96 05-Jun-2025  nia sysinst(8): Expand detail in messages per user feedback
 1.95 24-Jun-2023  msaitoh branches: 1.95.2;
Fix typo in comment.
 1.94 10-Dec-2022  reinoud Update list with file systems who do have fsck adding udf since there is now a
fsck_udf.
 1.93 10-Dec-2022  martin Always map FS_BSDFFS to one of "FFS", "FFSv2" or "FFSv2ea" - previously
the disklabel name "4.2BSD" could show up initially but we could never
go back to it via the menu used to change the file system type.
This was confusing.
 1.92 30-Nov-2022  martin Fix primary boot selection for FFSv2ea filesystems
 1.91 30-Nov-2022  martin Add support for FFSv2ea in the partition type menus (internally setting
fs version to 3 for this, where 2 is FFSv2 and 1 is FFSv1)
 1.90 30-Aug-2022  martin Simplify name trimming following a suggestion from rillig.
 1.89 30-Aug-2022  martin Fix typo (pointed out by rillig)
 1.88 30-Aug-2022  martin Invoke magic C promotion rules as originally intended - oops!
Pointed out by rillig@
 1.87 29-Aug-2022  martin Trim trailing whitespace from disk names we got via drvctl.
 1.86 24-Jun-2022  tsutsui Use proper ANSI function declarations.
 1.85 20-Jun-2022  martin When the user aborts the target disk selection menu, return to the
main loop immediately.
 1.84 19-Jun-2022  martin Centralize the "we can newfs this type of filesystem" predicate
and fix the list.
 1.83 11-Jun-2022  martin Slightly improved error handling when converion from one partition table
format to another is not lossless.
 1.82 09-Jun-2022  martin Add support for explicitly selecting "EFI system partition" as a partition
type.
 1.81 02-Jun-2022  martin If we get the disk description via device properties, the strings may
have arbitrary length - make sure the "available disks" menu fits
on the current screen.
 1.80 16-May-2022  martin Split the available disks (that may be partitioned) from the
preconfigured wedges (that can be install target, but can not be
partitioned). The latter are only usefull in special setups
and clobber the list of available disks for the usual setup cases.
 1.79 15-May-2022  jmcneill Use non-deprecated proplib interfaces.

prop_dictionary_set_cstring_nocopy -> prop_dictionary_set_string_nocopy
 1.78 15-May-2022  jmcneill disks: Get disk identify data from drvctl

When /dev/drvctl exists, attempt to use the disk-info/type property as
a disk's description string. Fallback to ATA / SCSI probing when the
identify data is not available through this interface.

This has the side-effect of adding descriptions for things like NVMe and
SD/eMMC devices.
 1.77 15-May-2022  jmcneill sysinst: Restore printing disk descriptions, lost in r1.35
 1.76 21-Aug-2021  andvar fix some more typos in comments/log messages, improve wording as well.
 1.75 12-Aug-2021  martin PR 56354: all actions to set up swap space are not guaranteed to gain
us enough virtual memory anyway, so drop return codes from set_swap*.
The state for cleanup (which swap dev to unuse) has been made global
some time ago anyway.

Previously use of the return values was inconsistent. Error reporting
will only confuse users and sometimes the situation is hard to fix or
even impossible (like in miniroots copide to swap space for booting).
 1.74 08-Aug-2021  andvar s/partion/partition/ s/arrray/array/ in comments.
 1.73 14-Jul-2021  martin When converting partitions from one scheme to another, never fail
without providing (if requested) a proper error message.
 1.72 31-Jan-2021  rillig sysinst: remove trailing whitespace from *.c *.h

In contrast to the messages files, this whitespace is not significant.
 1.71 13-Oct-2020  martin PR 55142: on popular demand bring back expert options to adjust the
number of free inodes, block size and fragment size for FFS and LFS.
 1.70 12-Oct-2020  martin Remove very strange code that special-cased MSDOS file systems and refused
to newfs the partition (despite explicit request to do so) if it was
mountable.
Accidently carried over from a dim and distant past, before we had
fsck_newfs.
 1.69 28-Sep-2020  martin PR 55379: avoid creating bogus /etc/fstab lines for /dev/cd* if no
cdrom is available.
 1.68 22-Sep-2020  martin Typo in comment
 1.67 12-May-2020  martin PR 55202: disable swapping if we started it due to low ram
 1.66 19-Feb-2020  martin Use strlcpy in a few places to guarnatee 0-terminated strings
 1.65 06-Feb-2020  martin PR bin/54944: make the "explicit single wedge" selection also work for
upgrades.
 1.64 06-Feb-2020  martin PR bin/54944: deal with escaped spaces in NAME= syntax in /etc/fstab.
 1.63 06-Feb-2020  martin bootxx_name() - fix oversight in previous change (do not assume first
partition is the root partition)
 1.62 27-Jan-2020  martin Fix support for non-512-byte/sector disks again after I broke it when
introducing the abstract partition backends.
 1.61 24-Jan-2020  martin Factor out all RAM size thresholds as defines to avoid magic numbers.
To work around PR misc/54886 bump the threshold for a tmpfs /tmp mount
up to 256 MB.
 1.60 16-Jan-2020  martin Fix /tmp tmpfs handling and on machines with enough RAM default to
creating a /tmp tmpfs with 25% of ram size limit. Suggested by ad@.
 1.59 09-Jan-2020  martin Finish conversion of extended partitioning parts to new abstract
backend interface. XXX still could use a lot of polishing.
 1.58 11-Dec-2019  martin PR 54065: add optional "old compat" variant of ext2fs in file system
type selection and use that as default for the cobalt boot file system.
 1.57 16-Nov-2019  martin Make sure all menus have a translatable exit option (or none at all).
 1.56 13-Nov-2019  martin Make cloning support optional, so we can save some space on very small
install media.
 1.55 12-Nov-2019  martin Add options to the various partitioning stages that allow cloning of
alien partitions (optionally including data).
 1.54 25-Oct-2019  martin On device where we do not want a MBR (raid, xbd) skip the MBR partitioning
scheme when trying to read partitions from disk. The generic reader will
fall back to disklabel then.
 1.53 21-Oct-2019  martin Skip unwanted (zero sized) partitions.
 1.52 21-Oct-2019  martin Remove a hardcoded assumption that for BIOS boot we always will have
the first partition as root - in mixed EFI/BIOS setups this might not
be true (and in general the user is free to define arbitrary orders).
Pointed out by Robert Nestor.
 1.51 20-Aug-2019  martin PR install/54480: when upgrading a system and re-mounting the target /
with proper options, and the installed system does not use NAME= syntax
in fstab(5), use the device name we used to get here, instead of the
name from fstab, it might be different to what the real system calls the
device (compact flash root showing up as wd0 native, but sd? on the
card reader used for updating it right now).

This is an abuse of the upgrade functionality and in general pretty dangerous
when multiple devices are used in the upgraded fstab (e.g. separate /usr),
and it used to work more by accident with the old code.

However, it is a quite usefull way to upgrade tiny systems with compact flash
root, and it used to work - so support it properly (as far as we can).
 1.50 08-Aug-2019  martin Do not even consider to fsck partitions where we do not know the file
system type. Add v7fs support.
 1.49 08-Aug-2019  martin Do not try to fsck partitions we are never going to mount.
Found by Andreas Gustafsson's baremetal test bed.
 1.48 07-Aug-2019  martin When creating the /etc/fstab for new installs, the sense of the "noauto"
flag was inverted (editor mishap?)
 1.47 07-Aug-2019  martin Support upgrade of systems using NAME= syntax in /etc/fstab.

Make supported file system types dynamic - instead of hardcoding the
available types at compile time, check for available newfs_* helper
binaries in the actual install environment at runtime.
 1.46 03-Aug-2019  martin Properly handle partitions that we were requested to mount but not newfs.
 1.45 01-Aug-2019  martin Do not strip the trailing / on root mounts when evaluation "last mounted
on". Fix some /dev/ and raw vs. block device confusion on system upgrades.
 1.44 25-Jul-2019  martin branches: 1.44.2;
When re-discovering a disk where we have free the partitions, read
the current partitions again (they might have changed).
 1.43 24-Jul-2019  martin Whenever offering "current system" as target, also offer the last disk
we found (not one less - oops).
 1.42 24-Jul-2019  msaitoh Fix typo in comment (s/alreay/already/).
 1.41 24-Jul-2019  msaitoh Fix typo in comment (s/partion/partition/).
 1.40 23-Jul-2019  martin For upgrade / re-install allow the currently running system as a target
in the "disk" selection.
 1.39 23-Jul-2019  martin When searching for a partition that may be the root partition for upgrading,
allow "/", "/targetroot" and "/altroot" as potential last mount points.
 1.38 14-Jul-2019  martin Follow our internal install instructions correctly: newfs when a partition
is marked for it, don't second guess from mount point or similar.
 1.37 13-Jul-2019  martin We may call md_pre_mount() multiple times for the same install set,
so pass an additional index argument so MD code knows which part
of the install will be mounted next.
 1.36 22-Jun-2019  christos no need to initialize fields that are already 0.
 1.35 21-Jun-2019  christos refactor disk ioctl stuff to make it smaller.
 1.34 20-Jun-2019  christos devdev is an array, remove NULL check (rin)
 1.33 20-Jun-2019  christos Use _fmt_ msg_ methods when formats are needed.
 1.32 15-Jun-2019  martin When setting up a "use whole disk" single outer partition, force an
empty set of inner partitions immediately,

This avoids reading old (stale) partitions (e.g. disklabel that
survived cleaning and re-creating the MBR with the MBR NetBSD partition
starting at the same offset) later.
 1.31 13-Jun-2019  martin Disable debug output
 1.30 12-Jun-2019  martin Rework internal data structures and "interfaces to user interface" functions
to get rid of all disklabel assumptions.

Previously (even for GPT partitioning) struct disklabel was used, which
obviously breaks large disk setups. Also many MD parts and parts of the
user interface assumed (a) a struct disklabel is used internally to
store partitioning information and (b) partitions are named 'a' ... $MAXPART.

Get rid of this and replace it with a quite abstract interface that should
be able to deal with all variants in partition storage:

- partitions are stored in a (partly abstract) struct disk_partitions
and most parts of it are only accessed via accessor functions provided
by a "partitioning scheme".

- implement partitioning schemes for MBR, disklabel and GPT (with likely
RDB [amiga] and Apple Partition Map [mac*] to follow soon)

- partitioning schemes may be cascaded, e.g. on x86 when using MBR as
"outer partitions", we have disklabel as "inner partitions".

- all user interface goes via accessor functions in the partitioning scheme,
some of which return pointers to special user interface descriptors
(e.g. to allow editing partition flags, which are scheme specific)

Overall the user interface changes (in this initial step) are minimal but
noticable. A new Anita is needed for automatic test setups - many thanks
to Andreas Gustafsson for lots of early testing and a new Anita version,
and to Manuel Bouyer for cooperation and tests of the Anita release.

This work was sponsored by The NetBSD Foundation, Inc.
 1.29 03-Feb-2019  mrg - enlarge buffer to avoid snprintf() truncation
 1.28 27-Nov-2018  martin Cosmetics: consistently use MEG and GIG defines for size calculations
 1.27 14-Nov-2018  martin Slightly enhance previous: create two utility functions checking for
partitionability and boot code requirements, use a generic match helper
function for both and fully check the device name.
 1.26 13-Nov-2018  bouyer Skip mbr for xbd and raid devices, as it was before Nov. 5 commits.
anita xen installs should work again.
 1.25 11-Nov-2018  martin Skip floopies when selecting an install target, but do not add them to
the CD list when selecting an installation source device.
 1.24 11-Nov-2018  martin Do not allow installation onto floppy disk - can be overriden by
architectures where it would make sense (none currently), and also
works around a bug in QEMU for sparc that kills our -current anita tests.
 1.23 09-Nov-2018  martin Fix test for active root partition when booting from a wedge
 1.22 08-Nov-2018  martin Adapt other cd-device query functions to new world order, fix
default cd device (assume 'a' partition).
 1.21 08-Nov-2018  martin Untangle disk enumeration a bit more.
 1.20 08-Nov-2018  martin Simplify CD device name matching by using fnmatch(3), suggested
by Christoph Badura.
 1.19 07-Nov-2018  martin Fix CD_NAMES against concrete instances comparision - if CD_NAMES
entries have a wildcard, strip device instance number off from both
comparands.
 1.18 07-Nov-2018  martin Unify handling of CDROM device names.
Skip CDs when looking for install targets (we do not support installing
onto a blueray with UDF).

Fix search for the default CDROM device and the CD we booted from
for ports with nonstandard CDROM device names.
 1.17 05-Nov-2018  martin Get rid of hard coded disk names and use sysctl hw.disknames
instead.
 1.16 03-Jun-2018  martin branches: 1.16.2;
In the generated /etc/fstab, do not use the (temporary, during sysinst)
path name for the file in the comment, but instead the one it will
have on the target system.
 1.15 03-Jun-2018  martin Add an option to install onto a pre-configured wedge.
Greatly simmplifies (U)EFI setups (but does not fully automate them yet).
 1.14 01-May-2018  martin Simplify and get rid of external "grep" dependency which is not available
on all install meadia.
Sugested by kre.
 1.13 13-Jan-2017  christos branches: 1.13.6; 1.13.12;
another buffer overflow.
 1.12 26-Jan-2016  martin branches: 1.12.2;
David Binderman in PR bin/50713: fix memory leaks
 1.11 14-Nov-2015  pgoyette Enable installation of amd64 on an lfsv2 partition.

XXX Other ports will need similar changes to arch/.../md.h after testing!

XXX The mount_lfs warning about lfs being experimental may confuse or
XXX corrupt the sysinst display window.
 1.10 25-Jul-2015  isaki indent and some KNF.
 1.9 10-May-2015  martin Backout the previous incorrect fix for PR 49440 and redo it more globaly:
get rid of the global "yesno", introduce utility functions "ask_yesno()"
and "ask_noyes()" instead, greatly simplifying a lot of code.
Pass in a pointer to the return value to various "set source" menus.
 1.8 09-May-2015  martin Add a new utility function "update_wedges()", which triggers a scan
for wedges on the given disk. Call this after writing a disklabel.
This makes all auto-discovered wedges go away after we changed the
partitioning (and are not using GPT) and fixes PR 49665.
 1.7 02-Jan-2015  abs Rather than scatter set_swap() calls wrapped in ram size checks through
md_post_disklabel() and md_pre_update(), abstract them out to an MI
set_swap_if_low_ram() and call from the appropriate MI places.
Now all platforms add swap if the system has <= 32M of RAM.
 1.6 28-Dec-2014  martin We can not rely on the existence of the "gpt" binary on install media -
make installation work without it (and without strange errors) again.
 1.5 19-Aug-2014  martin branches: 1.5.2;
Make an invariant more clear to avoid fals positives from coverity scan
 1.4 08-Aug-2014  riz branches: 1.4.2; 1.4.4;
Most GPT fields are 64-bit quantities, so use 64-bit types to store.
Don't try to assign negative values to unsigned quantities.
Use strtouq(), not atoi(), to read 64-bit values.

Booting from an installed GPT-labelled disk still doesn't work,
but at least sysinst doesn't crash as soon as a GPT is created.
 1.3 04-Aug-2014  mrg for the !tmpfs case, ensure that pm_with_swap is initialised.
 1.2 03-Aug-2014  martin (Finally) merge a slightly modified version of the 2012 GSoC results
from Eugene Lozovoy: add extended partitioning options to sysinst.
Still needs some testing and polishing, but it now is possible to use GPT
or to create a RAID set from scratch and install onto it.
 1.1 26-Jul-2014  dholland Move sysinst sources to usr.sbin.

This commit only physically moves the sources - there are no other
changes, to maximize the probability that this will be treated as a
rename if we ever do manage to migrate away from CVS.

Moving sysinst has been discussed on and off for years and has two
goals: making it easier to work on sysinst, and also making sysinst
available on running systems for use installing chroots and VM images
and other such things. None of the latter is possible yet, but as they
say, one thing at a time.

Doing this now was approved in an impromptu fashion by mrg, riz,
riastradh, me, and groo.
 1.4.4.5 14-May-2015  snj Pull up following revision(s) (requested by martin in ticket #756):
usr.sbin/sysinst/arch/arc/md.c: revision 1.4
usr.sbin/sysinst/arch/atari/md.c: revision 1.3
usr.sbin/sysinst/arch/cobalt/md.c: revision 1.4
usr.sbin/sysinst/arch/emips/md.c: revision 1.3
usr.sbin/sysinst/arch/evbarm/md.c: revision 1.4
usr.sbin/sysinst/arch/evbarm64/md.c: revision 1.2
usr.sbin/sysinst/arch/hp300/md.c: revision 1.4
usr.sbin/sysinst/arch/i386/md.c: revision 1.6
usr.sbin/sysinst/arch/mac68k/md.c: revision 1.3
usr.sbin/sysinst/arch/mac68k/md.c: revision 1.4
usr.sbin/sysinst/arch/mac68k/menus.md.de: revisions 1.3, 1.4
usr.sbin/sysinst/arch/mac68k/menus.md.en: revisions 1.3, 1.4
usr.sbin/sysinst/arch/mac68k/menus.md.es: revisions 1.3, 1.4
usr.sbin/sysinst/arch/mac68k/menus.md.pl: revisions 1.3, 1.4
usr.sbin/sysinst/arch/mvme68k/md.c: revision 1.4
usr.sbin/sysinst/arch/ofppc/md.c: revision 1.3
usr.sbin/sysinst/arch/prep/md.c: revisions 1.3, 1.4
usr.sbin/sysinst/arch/prep/menus.md.en: revision 1.2
usr.sbin/sysinst/arch/x68k/md.c: revision 1.4
usr.sbin/sysinst/configmenu.c: revisions 1.4, 1.5
usr.sbin/sysinst/defs.h: revisions 1.8, 1.9
usr.sbin/sysinst/disks.c: revision 1.9
usr.sbin/sysinst/install.c: revision 1.4
usr.sbin/sysinst/label.c: revision 1.3
usr.sbin/sysinst/mbr.c: revision 1.5
usr.sbin/sysinst/menus.mi: revisions 1.9, 1.10
usr.sbin/sysinst/net.c: revisions 1.18-1.20
usr.sbin/sysinst/partman.c: revision 1.10
usr.sbin/sysinst/upgrade.c: revision 1.4
usr.sbin/sysinst/util.c: revisions 1.6, 1.7
Backout the previous incorrect fix for PR 49440 and redo it more globaly:
get rid of the global "yesno", introduce utility functions "ask_yesno()"
and "ask_noyes()" instead, greatly simplifying a lot of code.
Pass in a pointer to the return value to various "set source" menus.
--
Make it compile on architectures that do not support INET6 in sysinst
--
Remove a few more (ab-)usages of "yesno".
--
More (ab-)usages of "yesno"
--
Make "ask_yesno" and "ask_noyes" take a const char * as argument, moving
the deconst() dance into the utility functions and simplifying all callers.
--
Missed a few more "yesno" in previous
 1.4.4.4 09-May-2015  msaitoh Pull up following revision(s) (requested by martin in ticket #744):
usr.sbin/sysinst/defs.h: revision 1.7
usr.sbin/sysinst/disks.c: revision 1.8
usr.sbin/sysinst/partman.c: revision 1.9
Add a new utility function "update_wedges()", which triggers a scan
for wedges on the given disk. Call this after writing a disklabel.
This makes all auto-discovered wedges go away after we changed the
partitioning (and are not using GPT) and fixes PR 49665.
 1.4.4.3 11-Jan-2015  snj Pull up following revision(s) (requested by abs in ticket #400):
usr.sbin/sysinst/arch/arc/md.c: revision 1.3
usr.sbin/sysinst/arch/cobalt/md.c: revision 1.3
usr.sbin/sysinst/arch/evbsh3/md.c: revision 1.3
usr.sbin/sysinst/arch/hp300/md.c: revision 1.3
usr.sbin/sysinst/arch/hpcsh/md.c: revision 1.3
usr.sbin/sysinst/arch/i386/md.c: revision 1.5
usr.sbin/sysinst/arch/luna68k/md.c: revision 1.4
usr.sbin/sysinst/arch/mvme68k/md.c: revision 1.3
usr.sbin/sysinst/arch/news68k/md.c: revision 1.3
usr.sbin/sysinst/arch/sgimips/md.c: revision 1.3
usr.sbin/sysinst/arch/vax/md.c: revision 1.3
usr.sbin/sysinst/arch/x68k/md.c: revision 1.3
usr.sbin/sysinst/defs.h: revision 1.6
usr.sbin/sysinst/disks.c: revision 1.7
usr.sbin/sysinst/install.c: revision 1.3
usr.sbin/sysinst/partman.c: revision 1.8
usr.sbin/sysinst/upgrade.c: revision 1.3
Rather than scatter set_swap() calls wrapped in ram size checks through
md_post_disklabel() and md_pre_update(), abstract them out to an MI
set_swap_if_low_ram() and call from the appropriate MI places.
Now all platforms add swap if the system has <= 32M of RAM.
 1.4.4.2 31-Dec-2014  snj Pull up following revision(s) (requested by martin in ticket #357):
usr.sbin/sysinst/disks.c: revision 1.6
We can not rely on the existence of the "gpt" binary on install media -
make installation work without it (and without strange errors) again.
 1.4.4.1 23-Aug-2014  riz Pull up following revision(s) (requested by martin in ticket #39):
usr.sbin/sysinst/main.c: revision 1.4
usr.sbin/sysinst/disks.c: revision 1.5
usr.sbin/sysinst/main.c: revision 1.5
usr.sbin/sysinst/mbr.c: revision 1.3
usr.sbin/sysinst/net.c: revision 1.3
usr.sbin/sysinst/net.c: revision 1.4
usr.sbin/sysinst/partman.c: revision 1.5
usr.sbin/sysinst/partman.c: revision 1.6
usr.sbin/sysinst/util.c: revision 1.4
Remove duplicate fclose(), pointed out by coverity scan.
Remove (accidently) duplicated code - pointed out by coverity scan.
Make sure the interface name is 0 terminated, pointed out by coverity scan.
Check return value from getenv() before using the value. Pointed out by
coverity scan.
Make an invariant more clear to avoid fals positives from coverity scan
if chdir() fails, try chdir /
Check return values from stat before comparing contents of the result
structures. Pointed out by coverity scan.
Cosmetic changes trying to appease coverity scan.
Make sure to not dereference a NULL pointer.
 1.4.2.2 10-Aug-2014  tls Rebase.
 1.4.2.1 08-Aug-2014  tls file disks.c was added on branch tls-earlyentropy on 2014-08-10 07:00:24 +0000
 1.5.2.2 20-Aug-2014  tls Rebase to HEAD as of a few days ago.
 1.5.2.1 19-Aug-2014  tls file disks.c was added on branch tls-maxphys on 2014-08-20 00:05:13 +0000
 1.12.2.1 20-Mar-2017  pgoyette Sync with HEAD
 1.13.12.4 26-Dec-2018  pgoyette Sync with HEAD, resolve a few conflicts
 1.13.12.3 26-Nov-2018  pgoyette Sync with HEAD, resolve a couple of conflicts
 1.13.12.2 25-Jun-2018  pgoyette Sync with HEAD
 1.13.12.1 02-May-2018  pgoyette Synch with HEAD
 1.13.6.2 05-Jun-2018  bouyer Pull up following revision(s) (requested by martin in ticket #860):
usr.sbin/sysinst/msg.mi.de: revision 1.7
usr.sbin/sysinst/arch/i386/md.c: revision 1.10
usr.sbin/sysinst/msg.mi.fr: revision 1.10
usr.sbin/sysinst/arch/i386/md.c: revision 1.11
usr.sbin/sysinst/menus.mi: revision 1.13
usr.sbin/sysinst/arch/i386/md.c: revision 1.9
usr.sbin/sysinst/msg.mi.es: revision 1.7
usr.sbin/sysinst/msg.mi.en: revision 1.11
usr.sbin/sysinst/mbr.c: revision 1.6
usr.sbin/sysinst/disks.c: revision 1.15
usr.sbin/sysinst/bsddisklabel.c: revision 1.4
usr.sbin/sysinst/disks.c: revision 1.16
usr.sbin/sysinst/msg.mi.pl: revision 1.9
usr.sbin/sysinst/defs.h: revision 1.11
Add an option to install onto a pre-configured wedge.
Greatly simmplifies (U)EFI setups (but does not fully automate them yet).
In the generated /etc/fstab, do not use the (temporary, during sysinst)
path name for the file in the comment, but instead the one it will
have on the target system.
Reorder fetch options: http before ftp
Default console device and speed to that used by syinst
add missing brace.
 1.13.6.1 07-May-2018  snj Pull up following revision(s) (requested by martin in ticket #798):
usr.sbin/sysinst/disks.c: 1.14
Simplify and get rid of external "grep" dependency which is not available
on all install meadia.
Sugested by kre.
 1.16.2.2 13-Apr-2020  martin Mostly merge changes from HEAD upto 20200411
 1.16.2.1 10-Jun-2019  christos Sync with HEAD
 1.44.2.16 19-Aug-2021  snj Pull up following revision(s) (requested by martin in ticket #1333):
usr.sbin/sysinst/defs.h: revision 1.72
usr.sbin/sysinst/disks.c: revision 1.75
usr.sbin/sysinst/upgrade.c: revision 1.18
PR 56354: all actions to set up swap space are not guaranteed to gain
us enough virtual memory anyway, so drop return codes from set_swap*.
The state for cleanup (which swap dev to unuse) has been made global
some time ago anyway.
Previously use of the return values was inconsistent. Error reporting
will only confuse users and sometimes the situation is hard to fix or
even impossible (like in miniroots copide to swap space for booting).
 1.44.2.15 15-Oct-2020  bouyer Pull up following revision(s) (requested by martin in ticket #1113):
usr.sbin/sysinst/bsddisklabel.c: revision 1.46
usr.sbin/sysinst/bsddisklabel.c: revision 1.47
usr.sbin/sysinst/disklabel.c: revision 1.40
usr.sbin/sysinst/arch/cobalt/md.c: revision 1.13
usr.sbin/sysinst/bsddisklabel.c: revision 1.48
usr.sbin/sysinst/disklabel.c: revision 1.41
usr.sbin/sysinst/arch/cobalt/md.c: revision 1.14
usr.sbin/sysinst/bsddisklabel.c: revision 1.49
usr.sbin/sysinst/disklabel.c: revision 1.42
usr.sbin/sysinst/Makefile.inc: revision 1.34
usr.sbin/sysinst/disks.c: revision 1.70
usr.sbin/sysinst/arch/hp300/md.c: revision 1.11
usr.sbin/sysinst/disks.c: revision 1.71
usr.sbin/sysinst/arch/i386/md.h: revision 1.8
usr.sbin/sysinst/arch/arc/md.c: revision 1.13
usr.sbin/sysinst/mbr.h: revision 1.5
usr.sbin/sysinst/mbr.h: revision 1.6
usr.sbin/sysinst/arch/mac68k/md.c: revision 1.10
usr.sbin/sysinst/bsddisklabel.c: revision 1.50
usr.sbin/sysinst/arch/acorn32/md.c: revision 1.7
usr.sbin/sysinst/bsddisklabel.c: revision 1.51
usr.sbin/sysinst/bsddisklabel.c: revision 1.52
usr.sbin/sysinst/bsddisklabel.c: revision 1.53
usr.sbin/sysinst/bsddisklabel.c: revision 1.54
usr.sbin/sysinst/bsddisklabel.c: revision 1.55
usr.sbin/sysinst/bsddisklabel.c: revision 1.56
usr.sbin/sysinst/arch/dummy/md.c: revision 1.6
usr.sbin/sysinst/arch/amd64/md.h: revision 1.9
usr.sbin/sysinst/arch/evbsh3/md.c: revision 1.6
usr.sbin/sysinst/arch/sparc/md.c: revision 1.6
usr.sbin/sysinst/arch/zaurus/md.c: revision 1.10
usr.sbin/sysinst/arch/x68k/md.c: revision 1.11
usr.sbin/sysinst/arch/sandpoint/md.c: revision 1.9
usr.sbin/sysinst/arch/vax/md.c: revision 1.7
usr.sbin/sysinst/arch/luna68k/md.c: revision 1.9
usr.sbin/sysinst/gpt.c: revision 1.19
usr.sbin/sysinst/arch/i386/md.c: revision 1.31
usr.sbin/sysinst/arch/i386/md.c: revision 1.32
usr.sbin/sysinst/arch/evbarm/md.c: revision 1.17
usr.sbin/sysinst/arch/evbarm/md.c: revision 1.18
usr.sbin/sysinst/arch/evbarm/md.c: revision 1.19
usr.sbin/sysinst/arch/shark/md.c: revision 1.6
usr.sbin/sysinst/arch/landisk/md.c: revision 1.14
usr.sbin/sysinst/util.c: revision 1.43
usr.sbin/sysinst/gpt.c: revision 1.20
usr.sbin/sysinst/util.c: revision 1.44
usr.sbin/sysinst/gpt.c: revision 1.21
usr.sbin/sysinst/gpt.c: revision 1.22
usr.sbin/sysinst/arch/evbarm/msg.md.en: revision 1.2
usr.sbin/sysinst/arch/ofppc/md.c: revision 1.11
usr.sbin/sysinst/util.c: revision 1.46
usr.sbin/sysinst/arch/ofppc/md.c: revision 1.12
usr.sbin/sysinst/util.c: revision 1.47
usr.sbin/sysinst/arch/evbarm/md.h: revision 1.6
usr.sbin/sysinst/util.c: revision 1.48
usr.sbin/sysinst/arch/evbarm/md.h: revision 1.7
usr.sbin/sysinst/arch/evbmips/md.c: revision 1.9
usr.sbin/sysinst/msg.mi.fr: revision 1.28
usr.sbin/sysinst/msg.mi.fr: revision 1.29
usr.sbin/sysinst/arch/sgimips/md.c: revision 1.9
usr.sbin/sysinst/arch/evbarm/Makefile: revision 1.3
usr.sbin/sysinst/msg.mi.de: revision 1.23
usr.sbin/sysinst/arch/hpcsh/md.c: revision 1.10
usr.sbin/sysinst/msg.mi.de: revision 1.24
usr.sbin/sysinst/install.c: revision 1.15
usr.sbin/sysinst/install.c: revision 1.16
usr.sbin/sysinst/arch/sparc64/md.c: revision 1.6
usr.sbin/sysinst/install.c: revision 1.17
usr.sbin/sysinst/install.c: revision 1.18
usr.sbin/sysinst/partitions.h: revision 1.16
usr.sbin/sysinst/install.c: revision 1.19
usr.sbin/sysinst/partitions.h: revision 1.17
usr.sbin/sysinst/arch/evbppc/md.c: revision 1.9
usr.sbin/sysinst/arch/playstation2/md.c: revision 1.9
usr.sbin/sysinst/partitions.h: revision 1.18
usr.sbin/sysinst/arch/hpcarm/md.c: revision 1.9
usr.sbin/sysinst/partitions.h: revision 1.19
usr.sbin/sysinst/msg.mi.es: revision 1.24
usr.sbin/sysinst/msg.mi.es: revision 1.25
usr.sbin/sysinst/msg.mi.es: revision 1.26
usr.sbin/sysinst/arch/zaurus/md.c: revision 1.9
usr.sbin/sysinst/target.c: revision 1.13
usr.sbin/sysinst/target.c: revision 1.14
usr.sbin/sysinst/part_edit.c: revision 1.17
usr.sbin/sysinst/part_edit.c: revision 1.18
usr.sbin/sysinst/msg.mi.fr: revision 1.30
usr.sbin/sysinst/arch/mvme68k/md.c: revision 1.11
usr.sbin/sysinst/part_edit.c: revision 1.19
usr.sbin/sysinst/msg.mi.fr: revision 1.31
usr.sbin/sysinst/arch/alpha/md.c: revision 1.9
usr.sbin/sysinst/msg.mi.en: revision 1.30
usr.sbin/sysinst/defs.h: revision 1.56
usr.sbin/sysinst/msg.mi.en: revision 1.31
usr.sbin/sysinst/defs.h: revision 1.57
usr.sbin/sysinst/msg.mi.en: revision 1.32
usr.sbin/sysinst/arch/amiga/md.c: revision 1.6
usr.sbin/sysinst/arch/hpcmips/md.c: revision 1.9
usr.sbin/sysinst/defs.h: revision 1.58
usr.sbin/sysinst/arch/cats/md.c: revision 1.5
usr.sbin/sysinst/defs.h: revision 1.59
usr.sbin/sysinst/arch/newsmips/md.c: revision 1.6
usr.sbin/sysinst/arch/pmax/md.c: revision 1.8
usr.sbin/sysinst/arch/mipsco/md.c: revision 1.8
usr.sbin/sysinst/part_edit.c: revision 1.20
usr.sbin/sysinst/part_edit.c: revision 1.21
usr.sbin/sysinst/arch/macppc/md.c: revision 1.6
usr.sbin/sysinst/part_edit.c: revision 1.22
usr.sbin/sysinst/part_edit.c: revision 1.23
usr.sbin/sysinst/part_edit.c: revision 1.24
usr.sbin/sysinst/defs.h: revision 1.60
usr.sbin/sysinst/arch/mac68k/Makefile: revision 1.3
usr.sbin/sysinst/defs.h: revision 1.61
usr.sbin/sysinst/defs.h: revision 1.63
usr.sbin/sysinst/defs.h: revision 1.64
usr.sbin/sysinst/defs.h: revision 1.65
usr.sbin/sysinst/label.c: revision 1.21
usr.sbin/sysinst/defs.h: revision 1.66
usr.sbin/sysinst/label.c: revision 1.22
usr.sbin/sysinst/defs.h: revision 1.67
usr.sbin/sysinst/label.c: revision 1.23
usr.sbin/sysinst/label.c: revision 1.24
usr.sbin/sysinst/label.c: revision 1.25
usr.sbin/sysinst/label.c: revision 1.26
usr.sbin/sysinst/label.c: revision 1.27
usr.sbin/sysinst/msg.mi.pl: revision 1.31
usr.sbin/sysinst/label.c: revision 1.28
usr.sbin/sysinst/msg.mi.pl: revision 1.32
usr.sbin/sysinst/label.c: revision 1.29
usr.sbin/sysinst/arch/atari/md.c: revision 1.7
usr.sbin/sysinst/disklabel.c: revision 1.36
usr.sbin/sysinst/disklabel.c: revision 1.37
usr.sbin/sysinst/disklabel.c: revision 1.38
usr.sbin/sysinst/disklabel.c: revision 1.39
usr.sbin/sysinst/arch/bebox/md.c: revision 1.9
usr.sbin/sysinst/mbr.c: revision 1.32
usr.sbin/sysinst/disks.c: revision 1.66
usr.sbin/sysinst/mbr.c: revision 1.33
usr.sbin/sysinst/disks.c: revision 1.67
usr.sbin/sysinst/mbr.c: revision 1.34
usr.sbin/sysinst/arch/emips/md.c: revision 1.9
usr.sbin/sysinst/disks.c: revision 1.68
usr.sbin/sysinst/partitions.c: revision 1.11
usr.sbin/sysinst/mbr.c: revision 1.35
usr.sbin/sysinst/disks.c: revision 1.69
usr.sbin/sysinst/mbr.c: revision 1.36
usr.sbin/sysinst/arch/hppa/md.c: revision 1.8
usr.sbin/sysinst/arch/prep/md.c: revision 1.13
usr.sbin/sysinst/label.c: revision 1.30
usr.sbin/sysinst/arch/ews4800mips/md.c: revision 1.7
usr.sbin/sysinst/main.c: revision 1.21
usr.sbin/sysinst/main.c: revision 1.22
usr.sbin/sysinst/main.c: revision 1.23
usr.sbin/sysinst/bsddisklabel.c: revision 1.40
usr.sbin/sysinst/main.c: revision 1.24
usr.sbin/sysinst/arch/cobalt/md.h: revision 1.6
usr.sbin/sysinst/bsddisklabel.c: revision 1.41
usr.sbin/sysinst/main.c: revision 1.25
usr.sbin/sysinst/arch/news68k/md.c: revision 1.7
usr.sbin/sysinst/bsddisklabel.c: revision 1.42
usr.sbin/sysinst/bsddisklabel.c: revision 1.43
usr.sbin/sysinst/bsddisklabel.c: revision 1.44
usr.sbin/sysinst/bsddisklabel.c: revision 1.45
Use strlcpy in a few places to guarnatee 0-terminated strings
Rever previous: the d_packname in struct disklabel is not NUL terminated.
Disable the warning instead.
Do not force -Os optimization (unless SMALLPROG)
Remove unused "rel" global variable and make the -r option a no-op.
PR 55045: strlcpy(NULL, ..., 0) considered harmfull in some implementations.
PR misc/54886: bump threshold for automatic/default creation of a tmpfs /tmp
up slightly (to 384 MB ram). This will make sure the default install has
a > 64 MB /tmp available (number pulled out of thin air, 64 MB is the minimum
required by the ZFS tests).
Don't depend on common symbol definitions.
boardype should not be common.
Redo the root-size-limit check again after we grew the root partition
for kernel dumps. Auto-enable the /usr partition if it overflows.
For all non-root partitions, default to FFSv2.
When extending a partition (to fill the total disk size) do respect
size limits.
Do not suggest a size limited partition for extension by default.
Minor tweak to previous: when forcing a /usr partition just to have an
arbitrary extendable partition, still use its default size initially.
At the end of a new installation save entropy.
Ooops, backout previous - twice the entropy saving is not needed.
Instead slightly improve the (slightly) hidden other code that already
did it.
PR 55202: disable swapping if we started it due to low ram
it's "its"
Remove "If you booted from a floppy" message
Set HAVE_INSTALL_IMAGE for evbarm
Change mountpoint of boot ext2fs from /stand to /ext2 to avoid conflict.
Should be pulled up to netbsd-9, with fixes of PR/55060.
MBR type for Ext2 should be MBR_PTYPE_LNXEXT2, not MBR_PTYPE_FAT12.
Silence -Wstringop-truncation for ``name'' in disp_selected_part().
This variable is used only for display, and truncation seems harmless.
PR 55572: avoid crash when answering the mount point prompt for a previously
empty mount point with an emptry sting.
When adding a new partition in the concrete partition editor, make sure
to set a pointer to the partition table interface in the new entry.
Otherwise we may end up not writing back the partitions at all, leading
to further fallout later.
Receipe to reproduce the issue from Frederic Fauberteau, thanks!
In the concrete partitions editor, after deleting the last partition move
the menu selection to the "add a partition" entry (instead of the sentinel
line which is not an active menu entry).
Typo in comment
Keep a list of all partition tables from which we have deleted partitions
and make sure we update those partition tables when writing partitions,
even if no install related partition remains on them.
Fix display of timezone selection menu
If there is no current partitioning manager assume we are editing the
current system and make target_already_root() return true.
Fixes various fallout when using sysinst post installation.
PR 55377: mark boot partitions in the partition size display, as suggested
by Izumi Tsutsui (minor modifications + all bugs by me)
PR 55378: do not assume RAW_PART to be either 2 or 3
PR 55379: avoid creating bogus /etc/fstab lines for /dev/cd* if no
cdrom is available.
PR 55381: try to deal with moved (but not yet saved) partitions when
calculating free space
Apply patch provided by Izumi Tsutsui in PR 55382: make ext2 partitions
show up in the outer (MBR) partition table, needed for example on Cobalt
where firmware boots from that partition.
PR 55384: detangle pm->ptstart from the "install" flag (selecting a
target partition). Instead introduce a new PTI_INSTALL_TARGET per partition
flag and deal with it in the partitioning backends.
Honour pm->ptstart when allocating new partitions - it is supposed to be
the first sector usable by NetBSD.
If we have no explicitly marke target root partition, make sure to set
the proper flag on the implicit one.
When merging existing partitions with desired target system layout
information, only force the "mount" flag if the existing partitions
has a valid mount point.
Add a heuristic to detect and properly mark EFI system partitions
when re-using pre-existing partitions.
When MD code requests a reserved area (at the start of the disk)
make sure to properly account for the "lost" space during all calculations
and especially when expanding the main partition to fill the disk.
Avoid using the global "pm" or a passed device descriptons when we are
passing disk limits explicitly anyway.
Simplify/fix a few rounding calculations.
When creating new partitions for "full disk" use, pass a install target
hint to the partitioning backend (for the outer NetBSD partition).
Use an install target hint to mark a new partition active.
When compiled with BOOTSEL support, also name the new partition "NetBSD".
Remove more pm->ptstart abuse - calculate values localy where needed
instead.
Fix editing start and size of not yet existing outer partitions.
Previously we abused pm->ptstart / pm->ptsize to pass the bounds of the
NetBSD outer partition to the inner partition editor - but now this is
not a valid assumption any more, so explicitly fix the bounds if an
outer partition exists.
Remove very strange code that special-cased MSDOS file systems and refused
to newfs the partition (despite explicit request to do so) if it was
mountable.
Accidently carried over from a dim and distant past, before we had
fsck_newfs.
PR 55536: when we find existing partition tables and have alternative
formats available, offer to delete partitions and create new ones from
scratch (in some other or the same on-disk format).
Minor fix to previous: fix condition when we offer the partition type
switch - it makes sense even if the disk is partitioned but has no valid
partitions.
Before forcing MBR partitions into our disklabel, make sure they are not
there yet - could happen in various paths when reusing existing partitions
(or parts of that) - previously we would blindly duplicate identical
partitions.
Ooops, part of previous was not meant to be included yet
When renumbering partitions (after deletions) be slightly more lax
in matching, to cope with differences between MBR EFI partitions and
disklabel MSDOS partitions.
PR 55142: on popular demand bring back expert options to adjust the
number of free inodes, block size and fragment size for FFS and LFS.
Fix copy & pasto noticed by Jason Mitchell: change the type of a GPT
partition via "gpt type" - not "gpt label".
Fix copy & pasto (missing "again" label)
Remove dead code
Move MBR writing (if any) post disklabel writing, otherwise strange
interactions happen.
Properly convert partition default sizes in MB to number of sectors
 1.44.2.14 10-Feb-2020  bouyer Pull up following revision(s) (requested by martin in ticket #693):
usr.sbin/sysinst/arch/x68k/msg.md.en: revision 1.2
usr.sbin/sysinst/arch/x68k/md.c: revision 1.10
usr.sbin/sysinst/arch/mvme68k/msg.md.fr: revision 1.2
usr.sbin/sysinst/arch/x68k/msg.md.en: revision 1.3
usr.sbin/sysinst/arch/mvme68k/msg.md.fr: revision 1.3
usr.sbin/sysinst/msg.mi.en: revision 1.28
usr.sbin/sysinst/arch/hp300/md.c: revision 1.10
usr.sbin/sysinst/msg.mi.es: revision 1.22
usr.sbin/sysinst/target.c: revision 1.12
usr.sbin/sysinst/arch/mvme68k/md.c: revision 1.10
usr.sbin/sysinst/arch/i386/md.c: revision 1.30
usr.sbin/sysinst/arch/mvme68k/msg.md.pl: revision 1.2
usr.sbin/sysinst/arch/mvme68k/msg.md.pl: revision 1.3
usr.sbin/sysinst/bsddisklabel.c: revision 1.39
usr.sbin/sysinst/arch/mvme68k/msg.md.de: revision 1.2
usr.sbin/sysinst/arch/mac68k/md.c: revision 1.9
usr.sbin/sysinst/disklabel.c: revision 1.35
usr.sbin/sysinst/arch/mvme68k/msg.md.de: revision 1.3
usr.sbin/sysinst/defs.h: revision 1.55
usr.sbin/sysinst/disks.c: revision 1.63
usr.sbin/sysinst/disks.c: revision 1.64
usr.sbin/sysinst/mbr.c: revision 1.31
usr.sbin/sysinst/disks.c: revision 1.65
usr.sbin/sysinst/txtwalk.c: revision 1.3
usr.sbin/sysinst/txtwalk.c: revision 1.4
usr.sbin/sysinst/arch/mvme68k/msg.md.en: revision 1.2
usr.sbin/sysinst/arch/mvme68k/msg.md.en: revision 1.3
usr.sbin/sysinst/msg.mi.fr: revision 1.26
usr.sbin/sysinst/msg.mi.pl: revision 1.29
usr.sbin/sysinst/arch/mvme68k/msg.md.es: revision 1.2
usr.sbin/sysinst/upgrade.c: revision 1.15
usr.sbin/sysinst/arch/mvme68k/msg.md.es: revision 1.3
usr.sbin/sysinst/upgrade.c: revision 1.16
usr.sbin/sysinst/partman.c: revision 1.50
usr.sbin/sysinst/msg.mi.de: revision 1.21
remove unused "emptypart" message (or moved to ifdef notyet area)
PR install/54921: message "ordering" takes a %s argument.
PR install/54921: skip non-user partitions when checking for overlaps
bootxx_name() - fix oversight in previous change (do not assume first
partition is the root partition)
PR install/54934: always use -f on the installboot invocation. We come
here post-newfs (and maybe should have dd'd zeros to the start of the
disk before newfs instead).
Remove a bogus assert: when reading disklabel partitions and the outer
(MBR) partitioning has changed, but the changes have not yet been written
back to disk, we need to ignore the kernels idea of the disklabel and
instead continue with an empty one.
Deal with partitioning schemes having no inner counterpart.
Avoid NULL derefs.
Do not assum a partitioning scheme that supports innner partitions always
needs to actually have such partitions defined.
PR bin/54944: deal with escaped spaces in NAME= syntax in /etc/fstab.
PR bin/54944: explicitly reject GPT protective MBRs.
PR bin/54944: make the "explicit single wedge" selection also work for
upgrades.
Reformat a query to add an automatically detected swap partition
so it fits on narrow screens.
Make re-install sets also work for an explicit selected root wedge
Fix copy&pasto in previous - from kre.
Only a single partition can ever have the "extend" flag (grow to available
size).
Do not use -P for tar extractions - the in tree tar has been fixed.
Finish conversion to generic partitioning backend
 1.44.2.13 28-Jan-2020  msaitoh Pull up following revision(s) (requested by martin in ticket #668):
usr.sbin/sysinst/arch/cobalt/md.c: revision 1.11
usr.sbin/sysinst/arch/cobalt/md.c: revision 1.12
usr.sbin/sysinst/arch/arc/md.c: revision 1.11
usr.sbin/sysinst/arch/arc/md.c: revision 1.12
usr.sbin/sysinst/partman.c: revision 1.43
usr.sbin/sysinst/partman.c: revision 1.46
usr.sbin/sysinst/partman.c: revision 1.47
usr.sbin/sysinst/partman.c: revision 1.48
usr.sbin/sysinst/partman.c: revision 1.49
usr.sbin/sysinst/msg.pm.fr: revision 1.2
usr.sbin/sysinst/upgrade.c: revision 1.14
usr.sbin/sysinst/arch/i386/md.c: revision 1.28
usr.sbin/sysinst/arch/i386/md.c: revision 1.29
usr.sbin/sysinst/arch/ofppc/md.c: revision 1.9
usr.sbin/sysinst/arch/sandpoint/md.c: revision 1.7
usr.sbin/sysinst/arch/sandpoint/md.c: revision 1.8
usr.sbin/sysinst/gpt.c: revision 1.14
usr.sbin/sysinst/gpt.c: revision 1.15
usr.sbin/sysinst/arch/luna68k/md.c: revision 1.8
usr.sbin/sysinst/gpt.c: revision 1.16
usr.sbin/sysinst/msg.pm.de: revision 1.2
usr.sbin/sysinst/arch/evbarm/md.c: revision 1.11
usr.sbin/sysinst/arch/evbarm/md.c: revision 1.12
usr.sbin/sysinst/arch/evbarm/md.c: revision 1.13
usr.sbin/sysinst/arch/evbarm/md.c: revision 1.14
usr.sbin/sysinst/sizemultname.c: revision 1.4
usr.sbin/sysinst/msg.pm.en: revision 1.2
usr.sbin/sysinst/arch/landisk/md.c: revision 1.12
usr.sbin/sysinst/util.c: revision 1.41
usr.sbin/sysinst/arch/landisk/md.c: revision 1.13
usr.sbin/sysinst/util.c: revision 1.42
usr.sbin/sysinst/arch/ofppc/md.c: revision 1.10
usr.sbin/sysinst/partitions.c: revision 1.9
usr.sbin/sysinst/arch/evbarm/md.h: revision 1.4
usr.sbin/sysinst/arch/evbarm/md.h: revision 1.5
usr.sbin/sysinst/arch/evbmips/md.c: revision 1.7
usr.sbin/sysinst/arch/evbmips/md.c: revision 1.8
usr.sbin/sysinst/msg.mi.fr: revision 1.25
usr.sbin/sysinst/msg.mi.de: revision 1.20
usr.sbin/sysinst/install.c: revision 1.14
usr.sbin/sysinst/partitions.h: revision 1.13
usr.sbin/sysinst/partitions.h: revision 1.14
usr.sbin/sysinst/arch/evbppc/md.c: revision 1.7
usr.sbin/sysinst/arch/playstation2/md.c: revision 1.7
usr.sbin/sysinst/msg.mi.en: revision 1.27
usr.sbin/sysinst/partitions.h: revision 1.15
usr.sbin/sysinst/arch/evbppc/md.c: revision 1.8
usr.sbin/sysinst/arch/hpcarm/md.c: revision 1.7
usr.sbin/sysinst/arch/playstation2/md.c: revision 1.8
usr.sbin/sysinst/msg.pm.pl: revision 1.2
usr.sbin/sysinst/arch/hpcarm/md.c: revision 1.8
usr.sbin/sysinst/msg.mi.es: revision 1.21
usr.sbin/sysinst/arch/zaurus/md.c: revision 1.7
usr.sbin/sysinst/target.c: revision 1.11
usr.sbin/sysinst/arch/zaurus/md.c: revision 1.8
usr.sbin/sysinst/part_edit.c: revision 1.14
usr.sbin/sysinst/part_edit.c: revision 1.15
usr.sbin/sysinst/part_edit.c: revision 1.16
usr.sbin/sysinst/defs.h: revision 1.50
usr.sbin/sysinst/defs.h: revision 1.51
usr.sbin/sysinst/defs.h: revision 1.52
usr.sbin/sysinst/defs.h: revision 1.53
usr.sbin/sysinst/defs.h: revision 1.54
usr.sbin/sysinst/arch/hpcmips/md.c: revision 1.7
usr.sbin/sysinst/arch/hpcmips/md.c: revision 1.8
usr.sbin/sysinst/arch/hpcsh/md.c: revision 1.8
usr.sbin/sysinst/msg.pm.es: revision 1.2
usr.sbin/sysinst/arch/hpcsh/md.c: revision 1.9
usr.sbin/sysinst/label.c: revision 1.18
usr.sbin/sysinst/label.c: revision 1.19
usr.sbin/sysinst/net.c: revision 1.35
usr.sbin/sysinst/msg.mi.pl: revision 1.28
usr.sbin/sysinst/disklabel.c: revision 1.28
usr.sbin/sysinst/disklabel.c: revision 1.29
usr.sbin/sysinst/mbr.c: revision 1.24
usr.sbin/sysinst/disks.c: revision 1.59
usr.sbin/sysinst/mbr.c: revision 1.25
usr.sbin/sysinst/mbr.c: revision 1.26
usr.sbin/sysinst/mbr.c: revision 1.27
usr.sbin/sysinst/mbr.c: revision 1.28
usr.sbin/sysinst/label.c: revision 1.20
usr.sbin/sysinst/mbr.c: revision 1.29
usr.sbin/sysinst/bsddisklabel.c: revision 1.34
usr.sbin/sysinst/bsddisklabel.c: revision 1.35
usr.sbin/sysinst/bsddisklabel.c: revision 1.36
usr.sbin/sysinst/bsddisklabel.c: revision 1.37
usr.sbin/sysinst/disklabel.c: revision 1.30
usr.sbin/sysinst/bsddisklabel.c: revision 1.38
usr.sbin/sysinst/disklabel.c: revision 1.31
usr.sbin/sysinst/disklabel.c: revision 1.32
usr.sbin/sysinst/disklabel.c: revision 1.33
usr.sbin/sysinst/disklabel.c: revision 1.34
usr.sbin/sysinst/disks.c: revision 1.60
usr.sbin/sysinst/disks.c: revision 1.61
usr.sbin/sysinst/arch/bebox/md.c: revision 1.7
usr.sbin/sysinst/disks.c: revision 1.62
usr.sbin/sysinst/arch/bebox/md.c: revision 1.8
usr.sbin/sysinst/mbr.c: revision 1.30
usr.sbin/sysinst/partitions.c: revision 1.10
usr.sbin/sysinst/arch/prep/md.c: revision 1.11
usr.sbin/sysinst/arch/prep/md.c: revision 1.12
usr.sbin/sysinst/menus.pm: revision 1.3
usr.sbin/sysinst/main.c: revision 1.20
usr.sbin/sysinst/menus.mi: revision 1.20
usr.sbin/sysinst/menus.mi: revision 1.21
avoid calling snprintf/strlcat with an input parameter the same
as the output. from martin@. fixes gcc 8 restrict warnings.
Finish conversion of extended partitioning parts to new abstract
backend interface. XXX still could use a lot of polishing.
Instead of a (bogus) attempt to query the model via ofctl, use the (now
fixed) sysctl hw.model instead.
When reading the secondary disklabel partitions from an existing disklabel
set the mbr partitions as parent.
Move the LABELSECTOR check and make it FS type specific - some partition
types (FFS, RAID) are allowed to overlap with the LABELSECTOR.
When asked to create a whole-disk partition for unknown usage, do not only
assert(false), but actually return an error (in case "assert" is a nop).
PR install/54787: when trying to derive proper alignement and first offset
from exisiting partitions, use the first partition offset if it is already
closer to the start of the disk than the prefered alignment - we can not
move existing partitions around.
Fix handling of inner/outer partitions (e.g. MBR and disklabel) in
extended partitioning:
- when editing a disk with such a schme, offer both partitions in two
steps
- when commiting changes save the inner partitions after the outer ones
Add a method to query the partitioning schemes "internal idea" of a
cylinder size - whatever that means in the real world.
Avoid using the global "pm" variable in utility functions - during
extended partitioning they may point to a different device.
Remove useless calls to get_ramsize() - return value is ignored and
the function has no side effects.
Fix /tmp tmpfs handling and on machines with enough RAM default to
creating a /tmp tmpfs with 25% of ram size limit. Suggested by ad@.
PR install/54872: fix printf argument order, sectors and heads were
swapped in the bios geometry display.
First try to bring evbarm installation closer to current reality.
hide disklabel_non_bootable() under NO_DISKLABEL_BOOT like the usage.
should fix most builds.
Deal with even stranger fictious empty disklabels (PR kern/54882).
Factor out all RAM size thresholds as defines to avoid magic numbers.
To work around PR misc/54886 bump the threshold for a tmpfs /tmp mount
up to 256 MB.
When retrying sets during extraction, reset the relevant statistics
to avoid counting retried sets multiple times.
Reported by kim.
Fix support for non-512-byte/sector disks again after I broke it when
introducing the abstract partition backends.
Use a few strlcpy() instead of strncpy() for network ioctl structs.
We seem to have no formal documentation stating the various
char if*_name[IFNAMSIZ]; /* if name, e.g. "en0" */
elements in ioctls are nul terminated, but the peanut gallery claims
it is so - and at least half of the code in-tree touching them agrees.
Too much disklabel magic happening in the kernel - to compensate force
MBR first when trying to identify the existing partitioning scheme of
a disk.
 1.44.2.12 17-Dec-2019  msaitoh Pull up following revision(s) (requested by martin in ticket #560):
usr.sbin/sysinst/partitions.h: revision 1.11
usr.sbin/sysinst/defs.h: revision 1.49
usr.sbin/sysinst/mbr.c: revision 1.23
usr.sbin/sysinst/msg.mi.en: revision 1.26
usr.sbin/sysinst/disks.c: revision 1.58
usr.sbin/sysinst/arch/evbarm/menus.md.pl: revision 1.2
usr.sbin/sysinst/msg.mi.es: revision 1.20
usr.sbin/sysinst/arch/mvme68k/md.c: revision 1.9
usr.sbin/sysinst/gpt.c: revision 1.13
usr.sbin/sysinst/arch/evbarm/md.c: revision 1.10
usr.sbin/sysinst/arch/arc/md.c: revision 1.10
usr.sbin/sysinst/disklabel.c: revision 1.18
usr.sbin/sysinst/bsddisklabel.c: revision 1.33
usr.sbin/sysinst/disklabel.c: revision 1.19
usr.sbin/sysinst/main.c: revision 1.19
usr.sbin/sysinst/partman.c: revision 1.45
usr.sbin/sysinst/arch/alpha/md.c: revision 1.7
usr.sbin/sysinst/msg.mi.de: revision 1.19
usr.sbin/sysinst/arch/evbarm/menus.md.en: revision 1.2
usr.sbin/sysinst/arch/x68k/md.h: revision 1.4
usr.sbin/sysinst/arch/x68k/md.c: revision 1.9
usr.sbin/sysinst/arch/evbarm/menus.md.es: revision 1.2
usr.sbin/sysinst/wskbd.c: revision 1.4
usr.sbin/sysinst/label.c: revision 1.15
usr.sbin/sysinst/arch/amiga/md.h: revision 1.5
usr.sbin/sysinst/label.c: revision 1.16
usr.sbin/sysinst/arch/hp300/md.c: revision 1.9
usr.sbin/sysinst/arch/emips/md.c: revision 1.8
usr.sbin/sysinst/label.c: revision 1.17
usr.sbin/sysinst/arch/pmax/md.c: revision 1.7
usr.sbin/sysinst/partitions.c: revision 1.6
usr.sbin/sysinst/arch/prep/md.c: revision 1.10
usr.sbin/sysinst/arch/mipsco/md.c: revision 1.7
usr.sbin/sysinst/partitions.c: revision 1.7
usr.sbin/sysinst/partitions.c: revision 1.8
usr.sbin/sysinst/arch/ews4800mips/md.c: revision 1.5
usr.sbin/sysinst/disklabel.c: revision 1.20
usr.sbin/sysinst/arch/evbarm/menus.md.fr: revision 1.2
usr.sbin/sysinst/msg.mi.fr: revision 1.24
usr.sbin/sysinst/disklabel.c: revision 1.21
usr.sbin/sysinst/partitions.h: revision 1.9
usr.sbin/sysinst/msg.mi.pl: revision 1.27
usr.sbin/sysinst/disklabel.c: revision 1.22
usr.sbin/sysinst/disklabel.c: revision 1.23
usr.sbin/sysinst/arch/i386/md.c: revision 1.27
usr.sbin/sysinst/disklabel.c: revision 1.24
usr.sbin/sysinst/disklabel.c: revision 1.25
usr.sbin/sysinst/arch/cobalt/md.h: revision 1.5
usr.sbin/sysinst/disklabel.c: revision 1.26
usr.sbin/sysinst/disklabel.c: revision 1.27
usr.sbin/sysinst/partitions.h: revision 1.10
usr.sbin/sysinst/arch/cobalt/md.c: revision 1.10
PR install/54582: allow MD code to disable on-disk presence verification
of "real" disklabels. Auto-enable this (at run time) when there is no other
partitioning scheme but disklabel configured.
Hard-coded enable this for x68k to allow using kernel based translations
for native Human68k partitions.
Get rid of the evbarm preliminary menu: do not bother to ask the user
whether this is a RPi - query the FDT instead.
PR 54065: add optional "old compat" variant of ext2fs in file system
type selection and use that as default for the cobalt boot file system.
For now rely on the kernel mapping native RDB partitions.
Fix detection of existing disklabels in the case when we only have
the disklabel partitioning scheme available.
Fix DISKLABEL_NO_ONDISK_VERIFY (accidently disabled in previous)
Fix inverted comparison
Do not try to change the keyboard layout if we are not running on the
console.
When trying to tell a fictious but empty label from a real one, skip
partition a if it has the same start and size as the raw partition.
Remove bogus assert.
When finding (paritioning scheme native) partition types for file systems
from our install description, pass the partition type (not only the file
system type). Sometimes (e.g. EFI boot partition on GPT) the filesystem
type (MSDOS) is not a unique selector.
Adapt MD parts to changes in get_fs_part_type (pass partition type).
If a fictious label has no RAW_PART assume there is no valid disk label.
Pass proper track size when initializing the default alignment - this is
important with sunlabels.
Fix overlapping partitions display
Reject (what we consider) empty/invalid fake disklabels no matter whether
we have other partitioning schemes available or not.
Do not show disklabel command invocation by default (only if there are
errors).
After installing boot blocks with RUN_NO_CLEAR (and handling the
potential errors) make sure to clear the stdscreen.
 1.44.2.11 17-Nov-2019  msaitoh Pull up following revision(s) (requested by martin in ticket #436):
usr.sbin/sysinst/disks.c: revision 1.55
usr.sbin/sysinst/msg.mi.en: revision 1.24
usr.sbin/sysinst/mbr.c: revision 1.22
usr.sbin/sysinst/disks.c: revision 1.56
usr.sbin/sysinst/msg.mi.en: revision 1.25
usr.sbin/sysinst/disks.c: revision 1.57
usr.sbin/sysinst/arch/playstation2/msg.md.pl: revision 1.3
usr.sbin/sysinst/Makefile.inc: revision 1.30
usr.sbin/sysinst/configmenu.c: revision 1.11
usr.sbin/sysinst/util.c: revision 1.35
usr.sbin/sysinst/gpt.c: revision 1.12
usr.sbin/sysinst/util.c: revision 1.36
usr.sbin/sysinst/arch/playstation2/msg.md.de: revision 1.3
usr.sbin/sysinst/arch/i386/menus.md: revision 1.3
usr.sbin/sysinst/util.c: revision 1.37
usr.sbin/sysinst/part_edit.c: revision 1.11
usr.sbin/sysinst/arch/i386/msg.md.en: revision 1.2
usr.sbin/sysinst/util.c: revision 1.38
usr.sbin/sysinst/part_edit.c: revision 1.12
usr.sbin/sysinst/arch/i386/msg.md.en: revision 1.3
usr.sbin/sysinst/util.c: revision 1.39
usr.sbin/sysinst/part_edit.c: revision 1.13
usr.sbin/sysinst/arch/i386/msg.md.en: revision 1.4
usr.sbin/sysinst/disklabel.c: revision 1.15
usr.sbin/sysinst/bsddisklabel.c: revision 1.30
usr.sbin/sysinst/arch/i386/msg.md.es: revision 1.2
usr.sbin/sysinst/bsddisklabel.c: revision 1.31
usr.sbin/sysinst/arch/i386/msg.md.es: revision 1.3
usr.sbin/sysinst/arch/i386/msg.md.es: revision 1.4
usr.sbin/sysinst/mbr.h: revision 1.4
usr.sbin/sysinst/main.c: revision 1.18
usr.sbin/sysinst/partman.c: revision 1.44
usr.sbin/sysinst/msg.mi.de: revision 1.17
usr.sbin/sysinst/arch/i386/msg.md.fr: revision 1.2
usr.sbin/sysinst/msg.mi.de: revision 1.18
usr.sbin/sysinst/arch/i386/msg.md.fr: revision 1.3
usr.sbin/sysinst/arch/playstation2/msg.md.en: revision 1.3
usr.sbin/sysinst/arch/i386/msg.md.fr: revision 1.4
usr.sbin/sysinst/arch/amd64/md.c: revision 1.2
usr.sbin/sysinst/arch/ews4800mips/Makefile: revision 1.3
usr.sbin/sysinst/arch/playstation2/msg.md.es: revision 1.3
usr.sbin/sysinst/label.c: revision 1.13
usr.sbin/sysinst/Makefile.inc: revision 1.29
usr.sbin/sysinst/label.c: revision 1.14
usr.sbin/sysinst/util.c: revision 1.40
usr.sbin/sysinst/partitions.c: revision 1.5
usr.sbin/sysinst/arch/amd64/md.h: revision 1.8
usr.sbin/sysinst/msg.mi.es: revision 1.18
usr.sbin/sysinst/net.c: revision 1.34
usr.sbin/sysinst/msg.mi.es: revision 1.19
usr.sbin/sysinst/arch/i386/msg.md.pl: revision 1.2
usr.sbin/sysinst/arch/i386/md.c: revision 1.22
usr.sbin/sysinst/msg.mi.fr: revision 1.22
usr.sbin/sysinst/arch/playstation2/msg.md.fr: revision 1.3
usr.sbin/sysinst/arch/i386/msg.md.pl: revision 1.3
usr.sbin/sysinst/arch/i386/md.c: revision 1.23
usr.sbin/sysinst/msg.mi.pl: revision 1.25
usr.sbin/sysinst/msg.mi.fr: revision 1.23
usr.sbin/sysinst/arch/i386/msg.md.pl: revision 1.4
usr.sbin/sysinst/arch/i386/md.c: revision 1.24
usr.sbin/sysinst/partitions.h: revision 1.8
usr.sbin/sysinst/msg.mi.pl: revision 1.26
usr.sbin/sysinst/arch/i386/msg.md.de: revision 1.2
usr.sbin/sysinst/arch/i386/msg.md.de: revision 1.3
usr.sbin/sysinst/arch/i386/msg.md.de: revision 1.4
usr.sbin/sysinst/run.c: revision 1.13
usr.sbin/sysinst/defs.h: revision 1.46
usr.sbin/sysinst/install.c: revision 1.12
usr.sbin/sysinst/defs.h: revision 1.47
usr.sbin/sysinst/install.c: revision 1.13
usr.sbin/sysinst/defs.h: revision 1.48
Add options to the various partitioning stages that allow cloning of
alien partitions (optionally including data).
PR 54467: we trust our own sets, extract them with -P to allow symlink
redirection (especially for updates and chroot services - back out
once a better solution for those is implemented)
Make cloning support optional, so we can save some space on very small
install media.
Drop MBR and cloning support on crunched install media.
Make tar extraction flags depend on our usage of pax-as-tar or bsdtar.
Fix missing newlines in bios match display, pointed out by maxv.
Drop unused variable.
Fix table of bios geomatries
knf style adjustments
Make the bootblock selection menu more sane, pointed out by maxv
Make sure all menus have a translatable exit option (or none at all).
On amd64 support installation with a KASLR kernel, via "custom install"
and selecting the GENERIC_KASLR kernel set.
Setup /prekern and boot.cfg accordingly.
 1.44.2.10 28-Oct-2019  msaitoh Pull up following revision(s) (requested by martin in ticket #382):
usr.sbin/sysinst/part_edit.c: revision 1.10
usr.sbin/sysinst/part_edit.c: revision 1.9
usr.sbin/sysinst/partitions.c: revision 1.3
usr.sbin/sysinst/partitions.c: revision 1.4
usr.sbin/sysinst/partitions.h: revision 1.7
usr.sbin/sysinst/bsddisklabel.c: revision 1.29
usr.sbin/sysinst/disks.c: revision 1.54
Honor the "no_mbr" flag (used especially for raid and xbd devices)
On device where we do not want a MBR (raid, xbd) skip the MBR partitioning
scheme when trying to read partitions from disk. The generic reader will
fall back to disklabel then.
In non-MBR specific files, #ifdef all tests for MBR for architectures
that do not even compile in MBR support.
 1.44.2.9 23-Oct-2019  msaitoh Pull up following revision(s) (requested by martin in ticket #369):
usr.sbin/sysinst/disks.c: revision 1.51
PR install/54480: when upgrading a system and re-mounting the target /
with proper options, and the installed system does not use NAME= syntax
in fstab(5), use the device name we used to get here, instead of the
name from fstab, it might be different to what the real system calls the
device (compact flash root showing up as wd0 native, but sd? on the
card reader used for updating it right now).
This is an abuse of the upgrade functionality and in general pretty dangerous
when multiple devices are used in the upgraded fstab (e.g. separate /usr),
and it used to work more by accident with the old code.
However, it is a quite usefull way to upgrade tiny systems with compact flash
root, and it used to work - so support it properly (as far as we can).
 1.44.2.8 23-Oct-2019  msaitoh Pull up following revision(s) (requested by martin in ticket #365):
usr.sbin/sysinst/bsddisklabel.c: revision 1.28
usr.sbin/sysinst/disks.c: revision 1.53
Skip unwanted (zero sized) partitions.
 1.44.2.7 23-Oct-2019  msaitoh Pull up following revision(s) (requested by martin in ticket #362):
usr.sbin/sysinst/disks.c: revision 1.52
Remove a hardcoded assumption that for BIOS boot we always will have
the first partition as root - in mixed EFI/BIOS setups this might not
be true (and in general the user is free to define arbitrary orders).
Pointed out by Robert Nestor.
 1.44.2.6 09-Aug-2019  msaitoh Pull up following revision(s) (requested by martin in ticket #33):
usr.sbin/sysinst/disks.c: revision 1.50
Do not even consider to fsck partitions where we do not know the file
system type. Add v7fs support.
 1.44.2.5 09-Aug-2019  msaitoh Pull up following revision(s) (requested by martin in ticket #32):
usr.sbin/sysinst/disks.c: revision 1.49
Do not try to fsck partitions we are never going to mount.
Found by Andreas Gustafsson's baremetal test bed.
 1.44.2.4 08-Aug-2019  msaitoh Pull up following revision(s) (requested by martin in ticket #29):
usr.sbin/sysinst/disks.c: revision 1.48
When creating the /etc/fstab for new installs, the sense of the "noauto"
flag was inverted (editor mishap?)
 1.44.2.3 08-Aug-2019  msaitoh Pull up following revision(s) (requested by martin in ticket #28):
usr.sbin/sysinst/disklabel.c: revision 1.11
usr.sbin/sysinst/target.c: revision 1.10
usr.sbin/sysinst/disks.c: revision 1.47
usr.sbin/sysinst/txtwalk.c: revision 1.2
usr.sbin/sysinst/partitions.h: revision 1.5
usr.sbin/sysinst/txtwalk.h: revision 1.2
usr.sbin/sysinst/arch/ews4800mips/md.h: revision 1.4
usr.sbin/sysinst/gpt.c: revision 1.9
usr.sbin/sysinst/defs.h: revision 1.43
Support upgrade of systems using NAME= syntax in /etc/fstab.
Make supported file system types dynamic - instead of hardcoding the
available types at compile time, check for available newfs_* helper
binaries in the actual install environment at runtime.
 1.44.2.2 05-Aug-2019  msaitoh Pull up following revision(s) (requested by martin in ticket #14):
usr.sbin/sysinst/disks.c: revision 1.46
Properly handle partitions that we were requested to mount but not newfs.
 1.44.2.1 02-Aug-2019  msaitoh Pull up following revision(s) (requested by martin in ticket #4):
usr.sbin/sysinst/target.c: revision 1.9
usr.sbin/sysinst/disks.c: revision 1.45
usr.sbin/sysinst/label.c: revision 1.11
Do not strip the trailing / on root mounts when evaluation "last mounted
on". Fix some /dev/ and raw vs. block device confusion on system upgrades.
 1.95.2.1 02-Aug-2025  perseant Sync with HEAD
 1.1 26-Jul-2014  dholland branches: 1.1.2; 1.1.6;
Move sysinst sources to usr.sbin.

This commit only physically moves the sources - there are no other
changes, to maximize the probability that this will be treated as a
rename if we ever do manage to migrate away from CVS.

Moving sysinst has been discussed on and off for years and has two
goals: making it easier to work on sysinst, and also making sysinst
available on running systems for use installing chroots and VM images
and other such things. None of the latter is possible yet, but as they
say, one thing at a time.

Doing this now was approved in an impromptu fashion by mrg, riz,
riastradh, me, and groo.
 1.1.6.2 20-Aug-2014  tls Rebase to HEAD as of a few days ago.
 1.1.6.1 26-Jul-2014  tls file disks_lfs.c was added on branch tls-maxphys on 2014-08-20 00:05:13 +0000
 1.1.2.2 10-Aug-2014  tls Rebase.
 1.1.2.1 26-Jul-2014  tls file disks_lfs.c was added on branch tls-earlyentropy on 2014-08-10 07:00:24 +0000
 1.1 26-Jul-2014  dholland branches: 1.1.2; 1.1.6;
Move sysinst sources to usr.sbin.

This commit only physically moves the sources - there are no other
changes, to maximize the probability that this will be treated as a
rename if we ever do manage to migrate away from CVS.

Moving sysinst has been discussed on and off for years and has two
goals: making it easier to work on sysinst, and also making sysinst
available on running systems for use installing chroots and VM images
and other such things. None of the latter is possible yet, but as they
say, one thing at a time.

Doing this now was approved in an impromptu fashion by mrg, riz,
riastradh, me, and groo.
 1.1.6.2 20-Aug-2014  tls Rebase to HEAD as of a few days ago.
 1.1.6.1 26-Jul-2014  tls file endian.h was added on branch tls-maxphys on 2014-08-20 00:05:13 +0000
 1.1.2.2 10-Aug-2014  tls Rebase.
 1.1.2.1 26-Jul-2014  tls file endian.h was added on branch tls-earlyentropy on 2014-08-10 07:00:24 +0000
 1.2 31-Jan-2021  rillig sysinst: warp factor.c to the 21st century

That file contained some conditionally defined code that still used
old-style function definitions.
 1.1 26-Jul-2014  dholland branches: 1.1.2; 1.1.6;
Move sysinst sources to usr.sbin.

This commit only physically moves the sources - there are no other
changes, to maximize the probability that this will be treated as a
rename if we ever do manage to migrate away from CVS.

Moving sysinst has been discussed on and off for years and has two
goals: making it easier to work on sysinst, and also making sysinst
available on running systems for use installing chroots and VM images
and other such things. None of the latter is possible yet, but as they
say, one thing at a time.

Doing this now was approved in an impromptu fashion by mrg, riz,
riastradh, me, and groo.
 1.1.6.2 20-Aug-2014  tls Rebase to HEAD as of a few days ago.
 1.1.6.1 26-Jul-2014  tls file factor.c was added on branch tls-maxphys on 2014-08-20 00:05:13 +0000
 1.1.2.2 10-Aug-2014  tls Rebase.
 1.1.2.1 26-Jul-2014  tls file factor.c was added on branch tls-earlyentropy on 2014-08-10 07:00:24 +0000
 1.4 31-Jan-2021  rillig sysinst: remove trailing whitespace from *.c *.h

In contrast to the messages files, this whitespace is not significant.
 1.3 21-Jun-2019  christos refactor disk ioctl stuff to make it smaller.
 1.2 12-Jun-2019  martin Rework internal data structures and "interfaces to user interface" functions
to get rid of all disklabel assumptions.

Previously (even for GPT partitioning) struct disklabel was used, which
obviously breaks large disk setups. Also many MD parts and parts of the
user interface assumed (a) a struct disklabel is used internally to
store partitioning information and (b) partitions are named 'a' ... $MAXPART.

Get rid of this and replace it with a quite abstract interface that should
be able to deal with all variants in partition storage:

- partitions are stored in a (partly abstract) struct disk_partitions
and most parts of it are only accessed via accessor functions provided
by a "partitioning scheme".

- implement partitioning schemes for MBR, disklabel and GPT (with likely
RDB [amiga] and Apple Partition Map [mac*] to follow soon)

- partitioning schemes may be cascaded, e.g. on x86 when using MBR as
"outer partitions", we have disklabel as "inner partitions".

- all user interface goes via accessor functions in the partitioning scheme,
some of which return pointers to special user interface descriptors
(e.g. to allow editing partition flags, which are scheme specific)

Overall the user interface changes (in this initial step) are minimal but
noticable. A new Anita is needed for automatic test setups - many thanks
to Andreas Gustafsson for lots of early testing and a new Anita version,
and to Manuel Bouyer for cooperation and tests of the Anita release.

This work was sponsored by The NetBSD Foundation, Inc.
 1.1 26-Jul-2014  dholland branches: 1.1.2; 1.1.6; 1.1.28;
Move sysinst sources to usr.sbin.

This commit only physically moves the sources - there are no other
changes, to maximize the probability that this will be treated as a
rename if we ever do manage to migrate away from CVS.

Moving sysinst has been discussed on and off for years and has two
goals: making it easier to work on sysinst, and also making sysinst
available on running systems for use installing chroots and VM images
and other such things. None of the latter is possible yet, but as they
say, one thing at a time.

Doing this now was approved in an impromptu fashion by mrg, riz,
riastradh, me, and groo.
 1.1.28.1 13-Apr-2020  martin Mostly merge changes from HEAD upto 20200411
 1.1.6.2 20-Aug-2014  tls Rebase to HEAD as of a few days ago.
 1.1.6.1 26-Jul-2014  tls file geom.c was added on branch tls-maxphys on 2014-08-20 00:05:13 +0000
 1.1.2.2 10-Aug-2014  tls Rebase.
 1.1.2.1 26-Jul-2014  tls file geom.c was added on branch tls-earlyentropy on 2014-08-10 07:00:24 +0000
 1.32 24-Mar-2024  martin PR 58061: fix bug in the GPT backend: when inserting a partition
(i.e. not adding it at the end) a bogus ID was returned for the new
partition.
 1.31 08-Feb-2024  andvar fix misplaced or missing "e" in words with "ment" ending (argument, implement,
increment, decrement, alignment), in comments, documentation, log messages.
 1.30 15-Dec-2022  martin branches: 1.30.2;
PR 57100: fix install flag handling for newly added GPT partitions,
fix multiple install flags when updating existing partitions.
 1.29 11-Jun-2022  martin Enhance support for the pseudo file system type "EFI System Partition".
 1.28 30-Jan-2022  martin Do not defer wedge deletions when we have nothing mounted.
Define and use a constant for maximum disk name length.
 1.27 29-Jan-2022  martin Try to get rid of all wedges we created (after unmounting).
 1.26 17-Jul-2021  martin Use strlcpy() to copy the wedge device name (the code still assumes
the string is short enough and 0 terminated, but now gcc is happy).
 1.25 17-Jul-2021  martin PR 56310: if we fail to create a wedge this either means there is
a bug here (and we requested something nonsensial), or there are pre-
existing "foreign" wedges which disturb our work.
So remove all wedges on this disk that we do not know about and retry
to add our new wedge.
 1.24 17-Jul-2021  martin PR 56310: avoid assert() failures (or crashes) when the runtime addition
of a wedge fails (for whatever reasons).
 1.23 31-Jan-2021  rillig sysinst: remove trailing whitespace from *.c *.h

In contrast to the messages files, this whitespace is not significant.
 1.22 14-Oct-2020  martin Fix copy & pasto noticed by Jason Mitchell: change the type of a GPT
partition via "gpt type" - not "gpt label".
 1.21 13-Oct-2020  martin PR 55142: on popular demand bring back expert options to adjust the
number of free inodes, block size and fragment size for FFS and LFS.
 1.20 12-Oct-2020  martin PR 55536: when we find existing partition tables and have alternative
formats available, offer to delete partitions and create new ones from
scratch (in some other or the same on-disk format).
 1.19 03-Oct-2020  martin PR 55384: detangle pm->ptstart from the "install" flag (selecting a
target partition). Instead introduce a new PTI_INSTALL_TARGET per partition
flag and deal with it in the partitioning backends.

Honour pm->ptstart when allocating new partitions - it is supposed to be
the first sector usable by NetBSD.
 1.18 30-Mar-2020  martin branches: 1.18.2;
Ooops, fix previous (PT_* enum values here are not DKW_PTYPE_* values)
 1.17 30-Mar-2020  martin Support partition type ZFS
 1.16 27-Jan-2020  martin Fix support for non-512-byte/sector disks again after I broke it when
introducing the abstract partition backends.
 1.15 15-Jan-2020  martin Add a method to query the partitioning schemes "internal idea" of a
cylinder size - whatever that means in the real world.
 1.14 09-Jan-2020  martin Finish conversion of extended partitioning parts to new abstract
backend interface. XXX still could use a lot of polishing.
 1.13 13-Dec-2019  martin When finding (paritioning scheme native) partition types for file systems
from our install description, pass the partition type (not only the file
system type). Sometimes (e.g. EFI boot partition on GPT) the filesystem
type (MSDOS) is not a unique selector.
 1.12 12-Nov-2019  martin Add options to the various partitioning stages that allow cloning of
alien partitions (optionally including data).
 1.11 26-Aug-2019  martin Fix a bug when installing to pre-exising GPT partitions.
Handle GPT labels with spaces.
 1.10 14-Aug-2019  martin On architectures that usually do MBR/disklabel, nevertheless deal with
pure/plain disklabel disks, and explicitly offer this as partitioning
option when bootability is not a concern.
 1.9 07-Aug-2019  martin Support upgrade of systems using NAME= syntax in /etc/fstab.

Make supported file system types dynamic - instead of hardcoding the
available types at compile time, check for available newfs_* helper
binaries in the actual install environment at runtime.
 1.8 03-Aug-2019  martin When reading an existing gpt, match the wedges already existing ons
on the parent device, so we can use them directly if we should proceed
with an unmodified partition table.
 1.7 02-Aug-2019  martin Deal with missing labels when parsing gpt(8) output.
 1.6 28-Jul-2019  martin branches: 1.6.2;
If available, show additional names of foreign partitions in the
size menu. Makes installing on machines with other OSes installed
a lot less confusing.
 1.5 28-Jul-2019  martin Deal with partition types we don't know anything about.
 1.4 26-Jul-2019  martin Strip trailing / from last mounted strings.
No idea how they happen, but for cgd root (init.root = "/altroot")
they have been reported to exist.
 1.3 25-Jul-2019  martin Fix a few calloc() calls with wrong arg order (harmless, but for consistency)
 1.2 23-Jun-2019  martin Ignore corrupt GPTs
 1.1 12-Jun-2019  martin Rework internal data structures and "interfaces to user interface" functions
to get rid of all disklabel assumptions.

Previously (even for GPT partitioning) struct disklabel was used, which
obviously breaks large disk setups. Also many MD parts and parts of the
user interface assumed (a) a struct disklabel is used internally to
store partitioning information and (b) partitions are named 'a' ... $MAXPART.

Get rid of this and replace it with a quite abstract interface that should
be able to deal with all variants in partition storage:

- partitions are stored in a (partly abstract) struct disk_partitions
and most parts of it are only accessed via accessor functions provided
by a "partitioning scheme".

- implement partitioning schemes for MBR, disklabel and GPT (with likely
RDB [amiga] and Apple Partition Map [mac*] to follow soon)

- partitioning schemes may be cascaded, e.g. on x86 when using MBR as
"outer partitions", we have disklabel as "inner partitions".

- all user interface goes via accessor functions in the partitioning scheme,
some of which return pointers to special user interface descriptors
(e.g. to allow editing partition flags, which are scheme specific)

Overall the user interface changes (in this initial step) are minimal but
noticable. A new Anita is needed for automatic test setups - many thanks
to Andreas Gustafsson for lots of early testing and a new Anita version,
and to Manuel Bouyer for cooperation and tests of the Anita release.

This work was sponsored by The NetBSD Foundation, Inc.
 1.6.2.10 02-Feb-2022  msaitoh Pull up following revision(s) (requested by martin in ticket #1422):
usr.sbin/sysinst/util.c: revision 1.64
usr.sbin/sysinst/arch/hpcsh/md.c: revision 1.11
usr.sbin/sysinst/arch/alpha/md.c: revision 1.10
usr.sbin/sysinst/arch/sparc64/md.c: revision 1.7
usr.sbin/sysinst/arch/emips/md.c: revision 1.10
usr.sbin/sysinst/arch/cobalt/md.c: revision 1.15
usr.sbin/sysinst/arch/x68k/md.c: revision 1.12
usr.sbin/sysinst/arch/sandpoint/md.c: revision 1.10
usr.sbin/sysinst/arch/luna68k/md.c: revision 1.10
usr.sbin/sysinst/arch/hp300/md.c: revision 1.12
usr.sbin/sysinst/arch/vax/md.c: revision 1.8
usr.sbin/sysinst/arch/hpcmips/md.c: revision 1.10
usr.sbin/sysinst/target.c: revision 1.16
usr.sbin/sysinst/arch/mvme68k/md.c: revision 1.12
usr.sbin/sysinst/arch/arc/md.c: revision 1.14
usr.sbin/sysinst/target.c: revision 1.17
usr.sbin/sysinst/arch/i386/md.c: revision 1.34
usr.sbin/sysinst/arch/mac68k/md.c: revision 1.11
usr.sbin/sysinst/arch/atari/md.c: revision 1.8
usr.sbin/sysinst/arch/sgimips/md.c: revision 1.10
usr.sbin/sysinst/arch/acorn32/md.c: revision 1.8
usr.sbin/sysinst/install.c: revision 1.22
usr.sbin/sysinst/arch/amiga/md.c: revision 1.7
usr.sbin/sysinst/arch/cats/md.c: revision 1.6
usr.sbin/sysinst/arch/dummy/md.c: revision 1.7
usr.sbin/sysinst/arch/shark/md.c: revision 1.7
usr.sbin/sysinst/arch/pmax/md.c: revision 1.9
usr.sbin/sysinst/arch/newsmips/md.c: revision 1.7
usr.sbin/sysinst/arch/mipsco/md.c: revision 1.9
usr.sbin/sysinst/arch/landisk/md.c: revision 1.15
usr.sbin/sysinst/arch/hppa/md.c: revision 1.9
usr.sbin/sysinst/arch/prep/md.c: revision 1.14
usr.sbin/sysinst/defs.h: revision 1.77
usr.sbin/sysinst/arch/ofppc/md.c: revision 1.13
usr.sbin/sysinst/arch/ews4800mips/md.c: revision 1.8
usr.sbin/sysinst/defs.h: revision 1.78
usr.sbin/sysinst/arch/macppc/md.c: revision 1.7
usr.sbin/sysinst/arch/evbppc/md.c: revision 1.10
usr.sbin/sysinst/defs.h: revision 1.79
usr.sbin/sysinst/gpt.c: revision 1.27
usr.sbin/sysinst/arch/bebox/md.c: revision 1.10
usr.sbin/sysinst/gpt.c: revision 1.28
usr.sbin/sysinst/arch/sparc/md.c: revision 1.7
usr.sbin/sysinst/arch/evbsh3/md.c: revision 1.7
usr.sbin/sysinst/arch/evbarm/md.c: revision 1.22
usr.sbin/sysinst/arch/news68k/md.c: revision 1.8
usr.sbin/sysinst/upgrade.c: revision 1.19
usr.sbin/sysinst/arch/zaurus/md.c: revision 1.12
usr.sbin/sysinst/arch/playstation2/md.c: revision 1.10
usr.sbin/sysinst/arch/hpcarm/md.c: revision 1.11
usr.sbin/sysinst/arch/evbmips/md.c: revision 1.10
usr.sbin/sysinst/main.c: revision 1.28
Add an option to set the directory where we look for message catalogs.
Try to get rid of all wedges we created (after unmounting).
When upgrading, update the boot code post extraction from
the updated target file system.
Do not defer wedge deletions when we have nothing mounted.
Define and use a constant for maximum disk name length.
 1.6.2.9 15-Oct-2020  bouyer Pull up following revision(s) (requested by martin in ticket #1113):
usr.sbin/sysinst/bsddisklabel.c: revision 1.46
usr.sbin/sysinst/bsddisklabel.c: revision 1.47
usr.sbin/sysinst/disklabel.c: revision 1.40
usr.sbin/sysinst/arch/cobalt/md.c: revision 1.13
usr.sbin/sysinst/bsddisklabel.c: revision 1.48
usr.sbin/sysinst/disklabel.c: revision 1.41
usr.sbin/sysinst/arch/cobalt/md.c: revision 1.14
usr.sbin/sysinst/bsddisklabel.c: revision 1.49
usr.sbin/sysinst/disklabel.c: revision 1.42
usr.sbin/sysinst/Makefile.inc: revision 1.34
usr.sbin/sysinst/disks.c: revision 1.70
usr.sbin/sysinst/arch/hp300/md.c: revision 1.11
usr.sbin/sysinst/disks.c: revision 1.71
usr.sbin/sysinst/arch/i386/md.h: revision 1.8
usr.sbin/sysinst/arch/arc/md.c: revision 1.13
usr.sbin/sysinst/mbr.h: revision 1.5
usr.sbin/sysinst/mbr.h: revision 1.6
usr.sbin/sysinst/arch/mac68k/md.c: revision 1.10
usr.sbin/sysinst/bsddisklabel.c: revision 1.50
usr.sbin/sysinst/arch/acorn32/md.c: revision 1.7
usr.sbin/sysinst/bsddisklabel.c: revision 1.51
usr.sbin/sysinst/bsddisklabel.c: revision 1.52
usr.sbin/sysinst/bsddisklabel.c: revision 1.53
usr.sbin/sysinst/bsddisklabel.c: revision 1.54
usr.sbin/sysinst/bsddisklabel.c: revision 1.55
usr.sbin/sysinst/bsddisklabel.c: revision 1.56
usr.sbin/sysinst/arch/dummy/md.c: revision 1.6
usr.sbin/sysinst/arch/amd64/md.h: revision 1.9
usr.sbin/sysinst/arch/evbsh3/md.c: revision 1.6
usr.sbin/sysinst/arch/sparc/md.c: revision 1.6
usr.sbin/sysinst/arch/zaurus/md.c: revision 1.10
usr.sbin/sysinst/arch/x68k/md.c: revision 1.11
usr.sbin/sysinst/arch/sandpoint/md.c: revision 1.9
usr.sbin/sysinst/arch/vax/md.c: revision 1.7
usr.sbin/sysinst/arch/luna68k/md.c: revision 1.9
usr.sbin/sysinst/gpt.c: revision 1.19
usr.sbin/sysinst/arch/i386/md.c: revision 1.31
usr.sbin/sysinst/arch/i386/md.c: revision 1.32
usr.sbin/sysinst/arch/evbarm/md.c: revision 1.17
usr.sbin/sysinst/arch/evbarm/md.c: revision 1.18
usr.sbin/sysinst/arch/evbarm/md.c: revision 1.19
usr.sbin/sysinst/arch/shark/md.c: revision 1.6
usr.sbin/sysinst/arch/landisk/md.c: revision 1.14
usr.sbin/sysinst/util.c: revision 1.43
usr.sbin/sysinst/gpt.c: revision 1.20
usr.sbin/sysinst/util.c: revision 1.44
usr.sbin/sysinst/gpt.c: revision 1.21
usr.sbin/sysinst/gpt.c: revision 1.22
usr.sbin/sysinst/arch/evbarm/msg.md.en: revision 1.2
usr.sbin/sysinst/arch/ofppc/md.c: revision 1.11
usr.sbin/sysinst/util.c: revision 1.46
usr.sbin/sysinst/arch/ofppc/md.c: revision 1.12
usr.sbin/sysinst/util.c: revision 1.47
usr.sbin/sysinst/arch/evbarm/md.h: revision 1.6
usr.sbin/sysinst/util.c: revision 1.48
usr.sbin/sysinst/arch/evbarm/md.h: revision 1.7
usr.sbin/sysinst/arch/evbmips/md.c: revision 1.9
usr.sbin/sysinst/msg.mi.fr: revision 1.28
usr.sbin/sysinst/msg.mi.fr: revision 1.29
usr.sbin/sysinst/arch/sgimips/md.c: revision 1.9
usr.sbin/sysinst/arch/evbarm/Makefile: revision 1.3
usr.sbin/sysinst/msg.mi.de: revision 1.23
usr.sbin/sysinst/arch/hpcsh/md.c: revision 1.10
usr.sbin/sysinst/msg.mi.de: revision 1.24
usr.sbin/sysinst/install.c: revision 1.15
usr.sbin/sysinst/install.c: revision 1.16
usr.sbin/sysinst/arch/sparc64/md.c: revision 1.6
usr.sbin/sysinst/install.c: revision 1.17
usr.sbin/sysinst/install.c: revision 1.18
usr.sbin/sysinst/partitions.h: revision 1.16
usr.sbin/sysinst/install.c: revision 1.19
usr.sbin/sysinst/partitions.h: revision 1.17
usr.sbin/sysinst/arch/evbppc/md.c: revision 1.9
usr.sbin/sysinst/arch/playstation2/md.c: revision 1.9
usr.sbin/sysinst/partitions.h: revision 1.18
usr.sbin/sysinst/arch/hpcarm/md.c: revision 1.9
usr.sbin/sysinst/partitions.h: revision 1.19
usr.sbin/sysinst/msg.mi.es: revision 1.24
usr.sbin/sysinst/msg.mi.es: revision 1.25
usr.sbin/sysinst/msg.mi.es: revision 1.26
usr.sbin/sysinst/arch/zaurus/md.c: revision 1.9
usr.sbin/sysinst/target.c: revision 1.13
usr.sbin/sysinst/target.c: revision 1.14
usr.sbin/sysinst/part_edit.c: revision 1.17
usr.sbin/sysinst/part_edit.c: revision 1.18
usr.sbin/sysinst/msg.mi.fr: revision 1.30
usr.sbin/sysinst/arch/mvme68k/md.c: revision 1.11
usr.sbin/sysinst/part_edit.c: revision 1.19
usr.sbin/sysinst/msg.mi.fr: revision 1.31
usr.sbin/sysinst/arch/alpha/md.c: revision 1.9
usr.sbin/sysinst/msg.mi.en: revision 1.30
usr.sbin/sysinst/defs.h: revision 1.56
usr.sbin/sysinst/msg.mi.en: revision 1.31
usr.sbin/sysinst/defs.h: revision 1.57
usr.sbin/sysinst/msg.mi.en: revision 1.32
usr.sbin/sysinst/arch/amiga/md.c: revision 1.6
usr.sbin/sysinst/arch/hpcmips/md.c: revision 1.9
usr.sbin/sysinst/defs.h: revision 1.58
usr.sbin/sysinst/arch/cats/md.c: revision 1.5
usr.sbin/sysinst/defs.h: revision 1.59
usr.sbin/sysinst/arch/newsmips/md.c: revision 1.6
usr.sbin/sysinst/arch/pmax/md.c: revision 1.8
usr.sbin/sysinst/arch/mipsco/md.c: revision 1.8
usr.sbin/sysinst/part_edit.c: revision 1.20
usr.sbin/sysinst/part_edit.c: revision 1.21
usr.sbin/sysinst/arch/macppc/md.c: revision 1.6
usr.sbin/sysinst/part_edit.c: revision 1.22
usr.sbin/sysinst/part_edit.c: revision 1.23
usr.sbin/sysinst/part_edit.c: revision 1.24
usr.sbin/sysinst/defs.h: revision 1.60
usr.sbin/sysinst/arch/mac68k/Makefile: revision 1.3
usr.sbin/sysinst/defs.h: revision 1.61
usr.sbin/sysinst/defs.h: revision 1.63
usr.sbin/sysinst/defs.h: revision 1.64
usr.sbin/sysinst/defs.h: revision 1.65
usr.sbin/sysinst/label.c: revision 1.21
usr.sbin/sysinst/defs.h: revision 1.66
usr.sbin/sysinst/label.c: revision 1.22
usr.sbin/sysinst/defs.h: revision 1.67
usr.sbin/sysinst/label.c: revision 1.23
usr.sbin/sysinst/label.c: revision 1.24
usr.sbin/sysinst/label.c: revision 1.25
usr.sbin/sysinst/label.c: revision 1.26
usr.sbin/sysinst/label.c: revision 1.27
usr.sbin/sysinst/msg.mi.pl: revision 1.31
usr.sbin/sysinst/label.c: revision 1.28
usr.sbin/sysinst/msg.mi.pl: revision 1.32
usr.sbin/sysinst/label.c: revision 1.29
usr.sbin/sysinst/arch/atari/md.c: revision 1.7
usr.sbin/sysinst/disklabel.c: revision 1.36
usr.sbin/sysinst/disklabel.c: revision 1.37
usr.sbin/sysinst/disklabel.c: revision 1.38
usr.sbin/sysinst/disklabel.c: revision 1.39
usr.sbin/sysinst/arch/bebox/md.c: revision 1.9
usr.sbin/sysinst/mbr.c: revision 1.32
usr.sbin/sysinst/disks.c: revision 1.66
usr.sbin/sysinst/mbr.c: revision 1.33
usr.sbin/sysinst/disks.c: revision 1.67
usr.sbin/sysinst/mbr.c: revision 1.34
usr.sbin/sysinst/arch/emips/md.c: revision 1.9
usr.sbin/sysinst/disks.c: revision 1.68
usr.sbin/sysinst/partitions.c: revision 1.11
usr.sbin/sysinst/mbr.c: revision 1.35
usr.sbin/sysinst/disks.c: revision 1.69
usr.sbin/sysinst/mbr.c: revision 1.36
usr.sbin/sysinst/arch/hppa/md.c: revision 1.8
usr.sbin/sysinst/arch/prep/md.c: revision 1.13
usr.sbin/sysinst/label.c: revision 1.30
usr.sbin/sysinst/arch/ews4800mips/md.c: revision 1.7
usr.sbin/sysinst/main.c: revision 1.21
usr.sbin/sysinst/main.c: revision 1.22
usr.sbin/sysinst/main.c: revision 1.23
usr.sbin/sysinst/bsddisklabel.c: revision 1.40
usr.sbin/sysinst/main.c: revision 1.24
usr.sbin/sysinst/arch/cobalt/md.h: revision 1.6
usr.sbin/sysinst/bsddisklabel.c: revision 1.41
usr.sbin/sysinst/main.c: revision 1.25
usr.sbin/sysinst/arch/news68k/md.c: revision 1.7
usr.sbin/sysinst/bsddisklabel.c: revision 1.42
usr.sbin/sysinst/bsddisklabel.c: revision 1.43
usr.sbin/sysinst/bsddisklabel.c: revision 1.44
usr.sbin/sysinst/bsddisklabel.c: revision 1.45
Use strlcpy in a few places to guarnatee 0-terminated strings
Rever previous: the d_packname in struct disklabel is not NUL terminated.
Disable the warning instead.
Do not force -Os optimization (unless SMALLPROG)
Remove unused "rel" global variable and make the -r option a no-op.
PR 55045: strlcpy(NULL, ..., 0) considered harmfull in some implementations.
PR misc/54886: bump threshold for automatic/default creation of a tmpfs /tmp
up slightly (to 384 MB ram). This will make sure the default install has
a > 64 MB /tmp available (number pulled out of thin air, 64 MB is the minimum
required by the ZFS tests).
Don't depend on common symbol definitions.
boardype should not be common.
Redo the root-size-limit check again after we grew the root partition
for kernel dumps. Auto-enable the /usr partition if it overflows.
For all non-root partitions, default to FFSv2.
When extending a partition (to fill the total disk size) do respect
size limits.
Do not suggest a size limited partition for extension by default.
Minor tweak to previous: when forcing a /usr partition just to have an
arbitrary extendable partition, still use its default size initially.
At the end of a new installation save entropy.
Ooops, backout previous - twice the entropy saving is not needed.
Instead slightly improve the (slightly) hidden other code that already
did it.
PR 55202: disable swapping if we started it due to low ram
it's "its"
Remove "If you booted from a floppy" message
Set HAVE_INSTALL_IMAGE for evbarm
Change mountpoint of boot ext2fs from /stand to /ext2 to avoid conflict.
Should be pulled up to netbsd-9, with fixes of PR/55060.
MBR type for Ext2 should be MBR_PTYPE_LNXEXT2, not MBR_PTYPE_FAT12.
Silence -Wstringop-truncation for ``name'' in disp_selected_part().
This variable is used only for display, and truncation seems harmless.
PR 55572: avoid crash when answering the mount point prompt for a previously
empty mount point with an emptry sting.
When adding a new partition in the concrete partition editor, make sure
to set a pointer to the partition table interface in the new entry.
Otherwise we may end up not writing back the partitions at all, leading
to further fallout later.
Receipe to reproduce the issue from Frederic Fauberteau, thanks!
In the concrete partitions editor, after deleting the last partition move
the menu selection to the "add a partition" entry (instead of the sentinel
line which is not an active menu entry).
Typo in comment
Keep a list of all partition tables from which we have deleted partitions
and make sure we update those partition tables when writing partitions,
even if no install related partition remains on them.
Fix display of timezone selection menu
If there is no current partitioning manager assume we are editing the
current system and make target_already_root() return true.
Fixes various fallout when using sysinst post installation.
PR 55377: mark boot partitions in the partition size display, as suggested
by Izumi Tsutsui (minor modifications + all bugs by me)
PR 55378: do not assume RAW_PART to be either 2 or 3
PR 55379: avoid creating bogus /etc/fstab lines for /dev/cd* if no
cdrom is available.
PR 55381: try to deal with moved (but not yet saved) partitions when
calculating free space
Apply patch provided by Izumi Tsutsui in PR 55382: make ext2 partitions
show up in the outer (MBR) partition table, needed for example on Cobalt
where firmware boots from that partition.
PR 55384: detangle pm->ptstart from the "install" flag (selecting a
target partition). Instead introduce a new PTI_INSTALL_TARGET per partition
flag and deal with it in the partitioning backends.
Honour pm->ptstart when allocating new partitions - it is supposed to be
the first sector usable by NetBSD.
If we have no explicitly marke target root partition, make sure to set
the proper flag on the implicit one.
When merging existing partitions with desired target system layout
information, only force the "mount" flag if the existing partitions
has a valid mount point.
Add a heuristic to detect and properly mark EFI system partitions
when re-using pre-existing partitions.
When MD code requests a reserved area (at the start of the disk)
make sure to properly account for the "lost" space during all calculations
and especially when expanding the main partition to fill the disk.
Avoid using the global "pm" or a passed device descriptons when we are
passing disk limits explicitly anyway.
Simplify/fix a few rounding calculations.
When creating new partitions for "full disk" use, pass a install target
hint to the partitioning backend (for the outer NetBSD partition).
Use an install target hint to mark a new partition active.
When compiled with BOOTSEL support, also name the new partition "NetBSD".
Remove more pm->ptstart abuse - calculate values localy where needed
instead.
Fix editing start and size of not yet existing outer partitions.
Previously we abused pm->ptstart / pm->ptsize to pass the bounds of the
NetBSD outer partition to the inner partition editor - but now this is
not a valid assumption any more, so explicitly fix the bounds if an
outer partition exists.
Remove very strange code that special-cased MSDOS file systems and refused
to newfs the partition (despite explicit request to do so) if it was
mountable.
Accidently carried over from a dim and distant past, before we had
fsck_newfs.
PR 55536: when we find existing partition tables and have alternative
formats available, offer to delete partitions and create new ones from
scratch (in some other or the same on-disk format).
Minor fix to previous: fix condition when we offer the partition type
switch - it makes sense even if the disk is partitioned but has no valid
partitions.
Before forcing MBR partitions into our disklabel, make sure they are not
there yet - could happen in various paths when reusing existing partitions
(or parts of that) - previously we would blindly duplicate identical
partitions.
Ooops, part of previous was not meant to be included yet
When renumbering partitions (after deletions) be slightly more lax
in matching, to cope with differences between MBR EFI partitions and
disklabel MSDOS partitions.
PR 55142: on popular demand bring back expert options to adjust the
number of free inodes, block size and fragment size for FFS and LFS.
Fix copy & pasto noticed by Jason Mitchell: change the type of a GPT
partition via "gpt type" - not "gpt label".
Fix copy & pasto (missing "again" label)
Remove dead code
Move MBR writing (if any) post disklabel writing, otherwise strange
interactions happen.
Properly convert partition default sizes in MB to number of sectors
 1.6.2.8 28-Jan-2020  msaitoh Pull up following revision(s) (requested by martin in ticket #668):
usr.sbin/sysinst/arch/cobalt/md.c: revision 1.11
usr.sbin/sysinst/arch/cobalt/md.c: revision 1.12
usr.sbin/sysinst/arch/arc/md.c: revision 1.11
usr.sbin/sysinst/arch/arc/md.c: revision 1.12
usr.sbin/sysinst/partman.c: revision 1.43
usr.sbin/sysinst/partman.c: revision 1.46
usr.sbin/sysinst/partman.c: revision 1.47
usr.sbin/sysinst/partman.c: revision 1.48
usr.sbin/sysinst/partman.c: revision 1.49
usr.sbin/sysinst/msg.pm.fr: revision 1.2
usr.sbin/sysinst/upgrade.c: revision 1.14
usr.sbin/sysinst/arch/i386/md.c: revision 1.28
usr.sbin/sysinst/arch/i386/md.c: revision 1.29
usr.sbin/sysinst/arch/ofppc/md.c: revision 1.9
usr.sbin/sysinst/arch/sandpoint/md.c: revision 1.7
usr.sbin/sysinst/arch/sandpoint/md.c: revision 1.8
usr.sbin/sysinst/gpt.c: revision 1.14
usr.sbin/sysinst/gpt.c: revision 1.15
usr.sbin/sysinst/arch/luna68k/md.c: revision 1.8
usr.sbin/sysinst/gpt.c: revision 1.16
usr.sbin/sysinst/msg.pm.de: revision 1.2
usr.sbin/sysinst/arch/evbarm/md.c: revision 1.11
usr.sbin/sysinst/arch/evbarm/md.c: revision 1.12
usr.sbin/sysinst/arch/evbarm/md.c: revision 1.13
usr.sbin/sysinst/arch/evbarm/md.c: revision 1.14
usr.sbin/sysinst/sizemultname.c: revision 1.4
usr.sbin/sysinst/msg.pm.en: revision 1.2
usr.sbin/sysinst/arch/landisk/md.c: revision 1.12
usr.sbin/sysinst/util.c: revision 1.41
usr.sbin/sysinst/arch/landisk/md.c: revision 1.13
usr.sbin/sysinst/util.c: revision 1.42
usr.sbin/sysinst/arch/ofppc/md.c: revision 1.10
usr.sbin/sysinst/partitions.c: revision 1.9
usr.sbin/sysinst/arch/evbarm/md.h: revision 1.4
usr.sbin/sysinst/arch/evbarm/md.h: revision 1.5
usr.sbin/sysinst/arch/evbmips/md.c: revision 1.7
usr.sbin/sysinst/arch/evbmips/md.c: revision 1.8
usr.sbin/sysinst/msg.mi.fr: revision 1.25
usr.sbin/sysinst/msg.mi.de: revision 1.20
usr.sbin/sysinst/install.c: revision 1.14
usr.sbin/sysinst/partitions.h: revision 1.13
usr.sbin/sysinst/partitions.h: revision 1.14
usr.sbin/sysinst/arch/evbppc/md.c: revision 1.7
usr.sbin/sysinst/arch/playstation2/md.c: revision 1.7
usr.sbin/sysinst/msg.mi.en: revision 1.27
usr.sbin/sysinst/partitions.h: revision 1.15
usr.sbin/sysinst/arch/evbppc/md.c: revision 1.8
usr.sbin/sysinst/arch/hpcarm/md.c: revision 1.7
usr.sbin/sysinst/arch/playstation2/md.c: revision 1.8
usr.sbin/sysinst/msg.pm.pl: revision 1.2
usr.sbin/sysinst/arch/hpcarm/md.c: revision 1.8
usr.sbin/sysinst/msg.mi.es: revision 1.21
usr.sbin/sysinst/arch/zaurus/md.c: revision 1.7
usr.sbin/sysinst/target.c: revision 1.11
usr.sbin/sysinst/arch/zaurus/md.c: revision 1.8
usr.sbin/sysinst/part_edit.c: revision 1.14
usr.sbin/sysinst/part_edit.c: revision 1.15
usr.sbin/sysinst/part_edit.c: revision 1.16
usr.sbin/sysinst/defs.h: revision 1.50
usr.sbin/sysinst/defs.h: revision 1.51
usr.sbin/sysinst/defs.h: revision 1.52
usr.sbin/sysinst/defs.h: revision 1.53
usr.sbin/sysinst/defs.h: revision 1.54
usr.sbin/sysinst/arch/hpcmips/md.c: revision 1.7
usr.sbin/sysinst/arch/hpcmips/md.c: revision 1.8
usr.sbin/sysinst/arch/hpcsh/md.c: revision 1.8
usr.sbin/sysinst/msg.pm.es: revision 1.2
usr.sbin/sysinst/arch/hpcsh/md.c: revision 1.9
usr.sbin/sysinst/label.c: revision 1.18
usr.sbin/sysinst/label.c: revision 1.19
usr.sbin/sysinst/net.c: revision 1.35
usr.sbin/sysinst/msg.mi.pl: revision 1.28
usr.sbin/sysinst/disklabel.c: revision 1.28
usr.sbin/sysinst/disklabel.c: revision 1.29
usr.sbin/sysinst/mbr.c: revision 1.24
usr.sbin/sysinst/disks.c: revision 1.59
usr.sbin/sysinst/mbr.c: revision 1.25
usr.sbin/sysinst/mbr.c: revision 1.26
usr.sbin/sysinst/mbr.c: revision 1.27
usr.sbin/sysinst/mbr.c: revision 1.28
usr.sbin/sysinst/label.c: revision 1.20
usr.sbin/sysinst/mbr.c: revision 1.29
usr.sbin/sysinst/bsddisklabel.c: revision 1.34
usr.sbin/sysinst/bsddisklabel.c: revision 1.35
usr.sbin/sysinst/bsddisklabel.c: revision 1.36
usr.sbin/sysinst/bsddisklabel.c: revision 1.37
usr.sbin/sysinst/disklabel.c: revision 1.30
usr.sbin/sysinst/bsddisklabel.c: revision 1.38
usr.sbin/sysinst/disklabel.c: revision 1.31
usr.sbin/sysinst/disklabel.c: revision 1.32
usr.sbin/sysinst/disklabel.c: revision 1.33
usr.sbin/sysinst/disklabel.c: revision 1.34
usr.sbin/sysinst/disks.c: revision 1.60
usr.sbin/sysinst/disks.c: revision 1.61
usr.sbin/sysinst/arch/bebox/md.c: revision 1.7
usr.sbin/sysinst/disks.c: revision 1.62
usr.sbin/sysinst/arch/bebox/md.c: revision 1.8
usr.sbin/sysinst/mbr.c: revision 1.30
usr.sbin/sysinst/partitions.c: revision 1.10
usr.sbin/sysinst/arch/prep/md.c: revision 1.11
usr.sbin/sysinst/arch/prep/md.c: revision 1.12
usr.sbin/sysinst/menus.pm: revision 1.3
usr.sbin/sysinst/main.c: revision 1.20
usr.sbin/sysinst/menus.mi: revision 1.20
usr.sbin/sysinst/menus.mi: revision 1.21
avoid calling snprintf/strlcat with an input parameter the same
as the output. from martin@. fixes gcc 8 restrict warnings.
Finish conversion of extended partitioning parts to new abstract
backend interface. XXX still could use a lot of polishing.
Instead of a (bogus) attempt to query the model via ofctl, use the (now
fixed) sysctl hw.model instead.
When reading the secondary disklabel partitions from an existing disklabel
set the mbr partitions as parent.
Move the LABELSECTOR check and make it FS type specific - some partition
types (FFS, RAID) are allowed to overlap with the LABELSECTOR.
When asked to create a whole-disk partition for unknown usage, do not only
assert(false), but actually return an error (in case "assert" is a nop).
PR install/54787: when trying to derive proper alignement and first offset
from exisiting partitions, use the first partition offset if it is already
closer to the start of the disk than the prefered alignment - we can not
move existing partitions around.
Fix handling of inner/outer partitions (e.g. MBR and disklabel) in
extended partitioning:
- when editing a disk with such a schme, offer both partitions in two
steps
- when commiting changes save the inner partitions after the outer ones
Add a method to query the partitioning schemes "internal idea" of a
cylinder size - whatever that means in the real world.
Avoid using the global "pm" variable in utility functions - during
extended partitioning they may point to a different device.
Remove useless calls to get_ramsize() - return value is ignored and
the function has no side effects.
Fix /tmp tmpfs handling and on machines with enough RAM default to
creating a /tmp tmpfs with 25% of ram size limit. Suggested by ad@.
PR install/54872: fix printf argument order, sectors and heads were
swapped in the bios geometry display.
First try to bring evbarm installation closer to current reality.
hide disklabel_non_bootable() under NO_DISKLABEL_BOOT like the usage.
should fix most builds.
Deal with even stranger fictious empty disklabels (PR kern/54882).
Factor out all RAM size thresholds as defines to avoid magic numbers.
To work around PR misc/54886 bump the threshold for a tmpfs /tmp mount
up to 256 MB.
When retrying sets during extraction, reset the relevant statistics
to avoid counting retried sets multiple times.
Reported by kim.
Fix support for non-512-byte/sector disks again after I broke it when
introducing the abstract partition backends.
Use a few strlcpy() instead of strncpy() for network ioctl structs.
We seem to have no formal documentation stating the various
char if*_name[IFNAMSIZ]; /* if name, e.g. "en0" */
elements in ioctls are nul terminated, but the peanut gallery claims
it is so - and at least half of the code in-tree touching them agrees.
Too much disklabel magic happening in the kernel - to compensate force
MBR first when trying to identify the existing partitioning scheme of
a disk.
 1.6.2.7 17-Dec-2019  msaitoh Pull up following revision(s) (requested by martin in ticket #560):
usr.sbin/sysinst/partitions.h: revision 1.11
usr.sbin/sysinst/defs.h: revision 1.49
usr.sbin/sysinst/mbr.c: revision 1.23
usr.sbin/sysinst/msg.mi.en: revision 1.26
usr.sbin/sysinst/disks.c: revision 1.58
usr.sbin/sysinst/arch/evbarm/menus.md.pl: revision 1.2
usr.sbin/sysinst/msg.mi.es: revision 1.20
usr.sbin/sysinst/arch/mvme68k/md.c: revision 1.9
usr.sbin/sysinst/gpt.c: revision 1.13
usr.sbin/sysinst/arch/evbarm/md.c: revision 1.10
usr.sbin/sysinst/arch/arc/md.c: revision 1.10
usr.sbin/sysinst/disklabel.c: revision 1.18
usr.sbin/sysinst/bsddisklabel.c: revision 1.33
usr.sbin/sysinst/disklabel.c: revision 1.19
usr.sbin/sysinst/main.c: revision 1.19
usr.sbin/sysinst/partman.c: revision 1.45
usr.sbin/sysinst/arch/alpha/md.c: revision 1.7
usr.sbin/sysinst/msg.mi.de: revision 1.19
usr.sbin/sysinst/arch/evbarm/menus.md.en: revision 1.2
usr.sbin/sysinst/arch/x68k/md.h: revision 1.4
usr.sbin/sysinst/arch/x68k/md.c: revision 1.9
usr.sbin/sysinst/arch/evbarm/menus.md.es: revision 1.2
usr.sbin/sysinst/wskbd.c: revision 1.4
usr.sbin/sysinst/label.c: revision 1.15
usr.sbin/sysinst/arch/amiga/md.h: revision 1.5
usr.sbin/sysinst/label.c: revision 1.16
usr.sbin/sysinst/arch/hp300/md.c: revision 1.9
usr.sbin/sysinst/arch/emips/md.c: revision 1.8
usr.sbin/sysinst/label.c: revision 1.17
usr.sbin/sysinst/arch/pmax/md.c: revision 1.7
usr.sbin/sysinst/partitions.c: revision 1.6
usr.sbin/sysinst/arch/prep/md.c: revision 1.10
usr.sbin/sysinst/arch/mipsco/md.c: revision 1.7
usr.sbin/sysinst/partitions.c: revision 1.7
usr.sbin/sysinst/partitions.c: revision 1.8
usr.sbin/sysinst/arch/ews4800mips/md.c: revision 1.5
usr.sbin/sysinst/disklabel.c: revision 1.20
usr.sbin/sysinst/arch/evbarm/menus.md.fr: revision 1.2
usr.sbin/sysinst/msg.mi.fr: revision 1.24
usr.sbin/sysinst/disklabel.c: revision 1.21
usr.sbin/sysinst/partitions.h: revision 1.9
usr.sbin/sysinst/msg.mi.pl: revision 1.27
usr.sbin/sysinst/disklabel.c: revision 1.22
usr.sbin/sysinst/disklabel.c: revision 1.23
usr.sbin/sysinst/arch/i386/md.c: revision 1.27
usr.sbin/sysinst/disklabel.c: revision 1.24
usr.sbin/sysinst/disklabel.c: revision 1.25
usr.sbin/sysinst/arch/cobalt/md.h: revision 1.5
usr.sbin/sysinst/disklabel.c: revision 1.26
usr.sbin/sysinst/disklabel.c: revision 1.27
usr.sbin/sysinst/partitions.h: revision 1.10
usr.sbin/sysinst/arch/cobalt/md.c: revision 1.10
PR install/54582: allow MD code to disable on-disk presence verification
of "real" disklabels. Auto-enable this (at run time) when there is no other
partitioning scheme but disklabel configured.
Hard-coded enable this for x68k to allow using kernel based translations
for native Human68k partitions.
Get rid of the evbarm preliminary menu: do not bother to ask the user
whether this is a RPi - query the FDT instead.
PR 54065: add optional "old compat" variant of ext2fs in file system
type selection and use that as default for the cobalt boot file system.
For now rely on the kernel mapping native RDB partitions.
Fix detection of existing disklabels in the case when we only have
the disklabel partitioning scheme available.
Fix DISKLABEL_NO_ONDISK_VERIFY (accidently disabled in previous)
Fix inverted comparison
Do not try to change the keyboard layout if we are not running on the
console.
When trying to tell a fictious but empty label from a real one, skip
partition a if it has the same start and size as the raw partition.
Remove bogus assert.
When finding (paritioning scheme native) partition types for file systems
from our install description, pass the partition type (not only the file
system type). Sometimes (e.g. EFI boot partition on GPT) the filesystem
type (MSDOS) is not a unique selector.
Adapt MD parts to changes in get_fs_part_type (pass partition type).
If a fictious label has no RAW_PART assume there is no valid disk label.
Pass proper track size when initializing the default alignment - this is
important with sunlabels.
Fix overlapping partitions display
Reject (what we consider) empty/invalid fake disklabels no matter whether
we have other partitioning schemes available or not.
Do not show disklabel command invocation by default (only if there are
errors).
After installing boot blocks with RUN_NO_CLEAR (and handling the
potential errors) make sure to clear the stdscreen.
 1.6.2.6 17-Nov-2019  msaitoh Pull up following revision(s) (requested by martin in ticket #436):
usr.sbin/sysinst/disks.c: revision 1.55
usr.sbin/sysinst/msg.mi.en: revision 1.24
usr.sbin/sysinst/mbr.c: revision 1.22
usr.sbin/sysinst/disks.c: revision 1.56
usr.sbin/sysinst/msg.mi.en: revision 1.25
usr.sbin/sysinst/disks.c: revision 1.57
usr.sbin/sysinst/arch/playstation2/msg.md.pl: revision 1.3
usr.sbin/sysinst/Makefile.inc: revision 1.30
usr.sbin/sysinst/configmenu.c: revision 1.11
usr.sbin/sysinst/util.c: revision 1.35
usr.sbin/sysinst/gpt.c: revision 1.12
usr.sbin/sysinst/util.c: revision 1.36
usr.sbin/sysinst/arch/playstation2/msg.md.de: revision 1.3
usr.sbin/sysinst/arch/i386/menus.md: revision 1.3
usr.sbin/sysinst/util.c: revision 1.37
usr.sbin/sysinst/part_edit.c: revision 1.11
usr.sbin/sysinst/arch/i386/msg.md.en: revision 1.2
usr.sbin/sysinst/util.c: revision 1.38
usr.sbin/sysinst/part_edit.c: revision 1.12
usr.sbin/sysinst/arch/i386/msg.md.en: revision 1.3
usr.sbin/sysinst/util.c: revision 1.39
usr.sbin/sysinst/part_edit.c: revision 1.13
usr.sbin/sysinst/arch/i386/msg.md.en: revision 1.4
usr.sbin/sysinst/disklabel.c: revision 1.15
usr.sbin/sysinst/bsddisklabel.c: revision 1.30
usr.sbin/sysinst/arch/i386/msg.md.es: revision 1.2
usr.sbin/sysinst/bsddisklabel.c: revision 1.31
usr.sbin/sysinst/arch/i386/msg.md.es: revision 1.3
usr.sbin/sysinst/arch/i386/msg.md.es: revision 1.4
usr.sbin/sysinst/mbr.h: revision 1.4
usr.sbin/sysinst/main.c: revision 1.18
usr.sbin/sysinst/partman.c: revision 1.44
usr.sbin/sysinst/msg.mi.de: revision 1.17
usr.sbin/sysinst/arch/i386/msg.md.fr: revision 1.2
usr.sbin/sysinst/msg.mi.de: revision 1.18
usr.sbin/sysinst/arch/i386/msg.md.fr: revision 1.3
usr.sbin/sysinst/arch/playstation2/msg.md.en: revision 1.3
usr.sbin/sysinst/arch/i386/msg.md.fr: revision 1.4
usr.sbin/sysinst/arch/amd64/md.c: revision 1.2
usr.sbin/sysinst/arch/ews4800mips/Makefile: revision 1.3
usr.sbin/sysinst/arch/playstation2/msg.md.es: revision 1.3
usr.sbin/sysinst/label.c: revision 1.13
usr.sbin/sysinst/Makefile.inc: revision 1.29
usr.sbin/sysinst/label.c: revision 1.14
usr.sbin/sysinst/util.c: revision 1.40
usr.sbin/sysinst/partitions.c: revision 1.5
usr.sbin/sysinst/arch/amd64/md.h: revision 1.8
usr.sbin/sysinst/msg.mi.es: revision 1.18
usr.sbin/sysinst/net.c: revision 1.34
usr.sbin/sysinst/msg.mi.es: revision 1.19
usr.sbin/sysinst/arch/i386/msg.md.pl: revision 1.2
usr.sbin/sysinst/arch/i386/md.c: revision 1.22
usr.sbin/sysinst/msg.mi.fr: revision 1.22
usr.sbin/sysinst/arch/playstation2/msg.md.fr: revision 1.3
usr.sbin/sysinst/arch/i386/msg.md.pl: revision 1.3
usr.sbin/sysinst/arch/i386/md.c: revision 1.23
usr.sbin/sysinst/msg.mi.pl: revision 1.25
usr.sbin/sysinst/msg.mi.fr: revision 1.23
usr.sbin/sysinst/arch/i386/msg.md.pl: revision 1.4
usr.sbin/sysinst/arch/i386/md.c: revision 1.24
usr.sbin/sysinst/partitions.h: revision 1.8
usr.sbin/sysinst/msg.mi.pl: revision 1.26
usr.sbin/sysinst/arch/i386/msg.md.de: revision 1.2
usr.sbin/sysinst/arch/i386/msg.md.de: revision 1.3
usr.sbin/sysinst/arch/i386/msg.md.de: revision 1.4
usr.sbin/sysinst/run.c: revision 1.13
usr.sbin/sysinst/defs.h: revision 1.46
usr.sbin/sysinst/install.c: revision 1.12
usr.sbin/sysinst/defs.h: revision 1.47
usr.sbin/sysinst/install.c: revision 1.13
usr.sbin/sysinst/defs.h: revision 1.48
Add options to the various partitioning stages that allow cloning of
alien partitions (optionally including data).
PR 54467: we trust our own sets, extract them with -P to allow symlink
redirection (especially for updates and chroot services - back out
once a better solution for those is implemented)
Make cloning support optional, so we can save some space on very small
install media.
Drop MBR and cloning support on crunched install media.
Make tar extraction flags depend on our usage of pax-as-tar or bsdtar.
Fix missing newlines in bios match display, pointed out by maxv.
Drop unused variable.
Fix table of bios geomatries
knf style adjustments
Make the bootblock selection menu more sane, pointed out by maxv
Make sure all menus have a translatable exit option (or none at all).
On amd64 support installation with a KASLR kernel, via "custom install"
and selecting the GENERIC_KASLR kernel set.
Setup /prekern and boot.cfg accordingly.
 1.6.2.5 27-Aug-2019  msaitoh Pull up following revision(s) (requested by martin in ticket #119):
usr.sbin/sysinst/gpt.c: revision 1.11
Fix a bug when installing to pre-exising GPT partitions.
Handle GPT labels with spaces.
 1.6.2.4 18-Aug-2019  msaitoh Pull up following revision(s) (requested by martin in ticket #78):
usr.sbin/sysinst/gpt.c: revision 1.10
usr.sbin/sysinst/disklabel.c: revision 1.12
usr.sbin/sysinst/msg.mi.fr: revision 1.18
usr.sbin/sysinst/msg.mi.de: revision 1.14
usr.sbin/sysinst/partitions.c: revision 1.2
usr.sbin/sysinst/msg.mi.es: revision 1.15
usr.sbin/sysinst/msg.mi.pl: revision 1.21
usr.sbin/sysinst/partitions.h: revision 1.6
usr.sbin/sysinst/msg.mi.en: revision 1.20
usr.sbin/sysinst/mbr.c: revision 1.20
On architectures that usually do MBR/disklabel, nevertheless deal with
pure/plain disklabel disks, and explicitly offer this as partitioning
option when bootability is not a concern.
 1.6.2.3 08-Aug-2019  msaitoh Pull up following revision(s) (requested by martin in ticket #28):
usr.sbin/sysinst/disklabel.c: revision 1.11
usr.sbin/sysinst/target.c: revision 1.10
usr.sbin/sysinst/disks.c: revision 1.47
usr.sbin/sysinst/txtwalk.c: revision 1.2
usr.sbin/sysinst/partitions.h: revision 1.5
usr.sbin/sysinst/txtwalk.h: revision 1.2
usr.sbin/sysinst/arch/ews4800mips/md.h: revision 1.4
usr.sbin/sysinst/gpt.c: revision 1.9
usr.sbin/sysinst/defs.h: revision 1.43
Support upgrade of systems using NAME= syntax in /etc/fstab.
Make supported file system types dynamic - instead of hardcoding the
available types at compile time, check for available newfs_* helper
binaries in the actual install environment at runtime.
 1.6.2.2 05-Aug-2019  msaitoh Pull up following revision(s) (requested by martin in ticket #15):
usr.sbin/sysinst/gpt.c: revision 1.8
When reading an existing gpt, match the wedges already existing
on the parent device, so we can use them directly if we should proceed
with an unmodified partition table.
 1.6.2.1 05-Aug-2019  msaitoh Pull up following revision(s) (requested by martin in ticket #8):
usr.sbin/sysinst/gpt.c: revision 1.7
Deal with missing labels when parsing gpt(8) output.
 1.18.2.2 13-Apr-2020  martin Mostly merge changes from HEAD upto 20200411
 1.18.2.1 30-Mar-2020  martin file gpt.c was added on branch phil-wifi on 2020-04-13 08:06:00 +0000
 1.30.2.1 24-Mar-2024  bouyer Pull up following revision(s) (requested by martin in ticket #645):
usr.sbin/sysinst/gpt.c: revision 1.32
PR 58061: fix bug in the GPT backend: when inserting a partition
(i.e. not adding it at the end) a bogus ID was returned for the new
partition.
 1.1 12-Jun-2019  martin branches: 1.1.6;
Rework internal data structures and "interfaces to user interface" functions
to get rid of all disklabel assumptions.

Previously (even for GPT partitioning) struct disklabel was used, which
obviously breaks large disk setups. Also many MD parts and parts of the
user interface assumed (a) a struct disklabel is used internally to
store partitioning information and (b) partitions are named 'a' ... $MAXPART.

Get rid of this and replace it with a quite abstract interface that should
be able to deal with all variants in partition storage:

- partitions are stored in a (partly abstract) struct disk_partitions
and most parts of it are only accessed via accessor functions provided
by a "partitioning scheme".

- implement partitioning schemes for MBR, disklabel and GPT (with likely
RDB [amiga] and Apple Partition Map [mac*] to follow soon)

- partitioning schemes may be cascaded, e.g. on x86 when using MBR as
"outer partitions", we have disklabel as "inner partitions".

- all user interface goes via accessor functions in the partitioning scheme,
some of which return pointers to special user interface descriptors
(e.g. to allow editing partition flags, which are scheme specific)

Overall the user interface changes (in this initial step) are minimal but
noticable. A new Anita is needed for automatic test setups - many thanks
to Andreas Gustafsson for lots of early testing and a new Anita version,
and to Manuel Bouyer for cooperation and tests of the Anita release.

This work was sponsored by The NetBSD Foundation, Inc.
 1.1.6.2 13-Apr-2020  martin Mostly merge changes from HEAD upto 20200411
 1.1.6.1 12-Jun-2019  martin file gpt_uuid.c was added on branch phil-wifi on 2020-04-13 08:06:00 +0000
 1.25 06-Jan-2023  martin cosmetics: fix indentation
 1.24 10-Jul-2022  martin Preparations to make the extended partitioning during normal installation
more usefull - pass an optional install_description to partman().
 1.23 21-Apr-2022  martin Make default installations a bit more secure:
- push a bit harder for setup of a root password
- simplify/clarify manual entropy setup
- visit the entropy setup (on machines where it is needed) on the
default path through sysinst
 1.22 29-Jan-2022  martin When upgrading, update the boot code post extraction from
the updated target file system.
 1.21 08-Oct-2021  martin Re-enable the entropy handling code in sysinst (only visible on machines
that do not have full entropy), but move it to the config menu
instead of enforcing it as mandatory step.

This menu is shown at the end of the setup, or if explicitly invoked
from the main menu.

Some of the input options are complex but useful in some situations
and code to support them is tiny. Most users will use the manual input
(first + default option) but some might prefer to connect a USB TRNG
or have easy setups to transfer entropy from another machine (while
copy & paste on a serial console sometimes is tricky).
 1.20 04-Nov-2020  martin Add (experimental) entropy input support:
Early during new installs or after upgrades we check if entropy is
available. If not (no hardware random number generator available)
we inform the user and ask them to fix it.
 1.19 14-Oct-2020  martin Remove dead code
 1.18 12-Oct-2020  martin PR 55536: when we find existing partition tables and have alternative
formats available, offer to delete partitions and create new ones from
scratch (in some other or the same on-disk format).
 1.17 22-Sep-2020  martin Keep a list of all partition tables from which we have deleted partitions
and make sure we update those partition tables when writing partitions,
even if no install related partition remains on them.
 1.16 12-May-2020  martin Ooops, backout previous - twice the entropy saving is not needed.
Instead slightly improve the (slightly) hidden other code that already
did it.
 1.15 12-May-2020  martin At the end of a new installation save entropy.
 1.14 16-Jan-2020  martin Remove useless calls to get_ramsize() - return value is ignored and
the function has no side effects.
 1.13 13-Nov-2019  martin Make cloning support optional, so we can save some space on very small
install media.
 1.12 12-Nov-2019  martin Add options to the various partitioning stages that allow cloning of
alien partitions (optionally including data).
 1.11 17-Aug-2019  martin Oops, avoid double free.
 1.10 17-Aug-2019  martin Fix some memory leaks in error paths
 1.9 23-Jul-2019  martin branches: 1.9.2;
For upgrade / re-install allow the currently running system as a target
in the "disk" selection.
 1.8 20-Jun-2019  christos Use _fmt_ msg_ methods when formats are needed.
 1.7 15-Jun-2019  martin When setting up a "use whole disk" single outer partition, force an
empty set of inner partitions immediately,

This avoids reading old (stale) partitions (e.g. disklabel that
survived cleaning and re-creating the MBR with the MBR NetBSD partition
starting at the same offset) later.
 1.6 12-Jun-2019  martin Rework internal data structures and "interfaces to user interface" functions
to get rid of all disklabel assumptions.

Previously (even for GPT partitioning) struct disklabel was used, which
obviously breaks large disk setups. Also many MD parts and parts of the
user interface assumed (a) a struct disklabel is used internally to
store partitioning information and (b) partitions are named 'a' ... $MAXPART.

Get rid of this and replace it with a quite abstract interface that should
be able to deal with all variants in partition storage:

- partitions are stored in a (partly abstract) struct disk_partitions
and most parts of it are only accessed via accessor functions provided
by a "partitioning scheme".

- implement partitioning schemes for MBR, disklabel and GPT (with likely
RDB [amiga] and Apple Partition Map [mac*] to follow soon)

- partitioning schemes may be cascaded, e.g. on x86 when using MBR as
"outer partitions", we have disklabel as "inner partitions".

- all user interface goes via accessor functions in the partitioning scheme,
some of which return pointers to special user interface descriptors
(e.g. to allow editing partition flags, which are scheme specific)

Overall the user interface changes (in this initial step) are minimal but
noticable. A new Anita is needed for automatic test setups - many thanks
to Andreas Gustafsson for lots of early testing and a new Anita version,
and to Manuel Bouyer for cooperation and tests of the Anita release.

This work was sponsored by The NetBSD Foundation, Inc.
 1.5 20-Sep-2018  rin Add NOPARTMAN compile-time option, which drops extended partitioning
support provided by partman.c. It reduces, e.g., about 30KB for
crunched binary in atari install floppy.

OK christos
 1.4 10-May-2015  martin branches: 1.4.14; 1.4.16;
Backout the previous incorrect fix for PR 49440 and redo it more globaly:
get rid of the global "yesno", introduce utility functions "ask_yesno()"
and "ask_noyes()" instead, greatly simplifying a lot of code.
Pass in a pointer to the return value to various "set source" menus.
 1.3 02-Jan-2015  abs Rather than scatter set_swap() calls wrapped in ram size checks through
md_post_disklabel() and md_pre_update(), abstract them out to an MI
set_swap_if_low_ram() and call from the appropriate MI places.
Now all platforms add swap if the system has <= 32M of RAM.
 1.2 03-Aug-2014  martin branches: 1.2.2; 1.2.4; 1.2.6;
(Finally) merge a slightly modified version of the 2012 GSoC results
from Eugene Lozovoy: add extended partitioning options to sysinst.
Still needs some testing and polishing, but it now is possible to use GPT
or to create a RAID set from scratch and install onto it.
 1.1 26-Jul-2014  dholland Move sysinst sources to usr.sbin.

This commit only physically moves the sources - there are no other
changes, to maximize the probability that this will be treated as a
rename if we ever do manage to migrate away from CVS.

Moving sysinst has been discussed on and off for years and has two
goals: making it easier to work on sysinst, and also making sysinst
available on running systems for use installing chroots and VM images
and other such things. None of the latter is possible yet, but as they
say, one thing at a time.

Doing this now was approved in an impromptu fashion by mrg, riz,
riastradh, me, and groo.
 1.2.6.2 20-Aug-2014  tls Rebase to HEAD as of a few days ago.
 1.2.6.1 03-Aug-2014  tls file install.c was added on branch tls-maxphys on 2014-08-20 00:05:13 +0000
 1.2.4.2 14-May-2015  snj Pull up following revision(s) (requested by martin in ticket #756):
usr.sbin/sysinst/arch/arc/md.c: revision 1.4
usr.sbin/sysinst/arch/atari/md.c: revision 1.3
usr.sbin/sysinst/arch/cobalt/md.c: revision 1.4
usr.sbin/sysinst/arch/emips/md.c: revision 1.3
usr.sbin/sysinst/arch/evbarm/md.c: revision 1.4
usr.sbin/sysinst/arch/evbarm64/md.c: revision 1.2
usr.sbin/sysinst/arch/hp300/md.c: revision 1.4
usr.sbin/sysinst/arch/i386/md.c: revision 1.6
usr.sbin/sysinst/arch/mac68k/md.c: revision 1.3
usr.sbin/sysinst/arch/mac68k/md.c: revision 1.4
usr.sbin/sysinst/arch/mac68k/menus.md.de: revisions 1.3, 1.4
usr.sbin/sysinst/arch/mac68k/menus.md.en: revisions 1.3, 1.4
usr.sbin/sysinst/arch/mac68k/menus.md.es: revisions 1.3, 1.4
usr.sbin/sysinst/arch/mac68k/menus.md.pl: revisions 1.3, 1.4
usr.sbin/sysinst/arch/mvme68k/md.c: revision 1.4
usr.sbin/sysinst/arch/ofppc/md.c: revision 1.3
usr.sbin/sysinst/arch/prep/md.c: revisions 1.3, 1.4
usr.sbin/sysinst/arch/prep/menus.md.en: revision 1.2
usr.sbin/sysinst/arch/x68k/md.c: revision 1.4
usr.sbin/sysinst/configmenu.c: revisions 1.4, 1.5
usr.sbin/sysinst/defs.h: revisions 1.8, 1.9
usr.sbin/sysinst/disks.c: revision 1.9
usr.sbin/sysinst/install.c: revision 1.4
usr.sbin/sysinst/label.c: revision 1.3
usr.sbin/sysinst/mbr.c: revision 1.5
usr.sbin/sysinst/menus.mi: revisions 1.9, 1.10
usr.sbin/sysinst/net.c: revisions 1.18-1.20
usr.sbin/sysinst/partman.c: revision 1.10
usr.sbin/sysinst/upgrade.c: revision 1.4
usr.sbin/sysinst/util.c: revisions 1.6, 1.7
Backout the previous incorrect fix for PR 49440 and redo it more globaly:
get rid of the global "yesno", introduce utility functions "ask_yesno()"
and "ask_noyes()" instead, greatly simplifying a lot of code.
Pass in a pointer to the return value to various "set source" menus.
--
Make it compile on architectures that do not support INET6 in sysinst
--
Remove a few more (ab-)usages of "yesno".
--
More (ab-)usages of "yesno"
--
Make "ask_yesno" and "ask_noyes" take a const char * as argument, moving
the deconst() dance into the utility functions and simplifying all callers.
--
Missed a few more "yesno" in previous
 1.2.4.1 11-Jan-2015  snj Pull up following revision(s) (requested by abs in ticket #400):
usr.sbin/sysinst/arch/arc/md.c: revision 1.3
usr.sbin/sysinst/arch/cobalt/md.c: revision 1.3
usr.sbin/sysinst/arch/evbsh3/md.c: revision 1.3
usr.sbin/sysinst/arch/hp300/md.c: revision 1.3
usr.sbin/sysinst/arch/hpcsh/md.c: revision 1.3
usr.sbin/sysinst/arch/i386/md.c: revision 1.5
usr.sbin/sysinst/arch/luna68k/md.c: revision 1.4
usr.sbin/sysinst/arch/mvme68k/md.c: revision 1.3
usr.sbin/sysinst/arch/news68k/md.c: revision 1.3
usr.sbin/sysinst/arch/sgimips/md.c: revision 1.3
usr.sbin/sysinst/arch/vax/md.c: revision 1.3
usr.sbin/sysinst/arch/x68k/md.c: revision 1.3
usr.sbin/sysinst/defs.h: revision 1.6
usr.sbin/sysinst/disks.c: revision 1.7
usr.sbin/sysinst/install.c: revision 1.3
usr.sbin/sysinst/partman.c: revision 1.8
usr.sbin/sysinst/upgrade.c: revision 1.3
Rather than scatter set_swap() calls wrapped in ram size checks through
md_post_disklabel() and md_pre_update(), abstract them out to an MI
set_swap_if_low_ram() and call from the appropriate MI places.
Now all platforms add swap if the system has <= 32M of RAM.
 1.2.2.2 10-Aug-2014  tls Rebase.
 1.2.2.1 03-Aug-2014  tls file install.c was added on branch tls-earlyentropy on 2014-08-10 07:00:24 +0000
 1.4.16.2 13-Apr-2020  martin Mostly merge changes from HEAD upto 20200411
 1.4.16.1 10-Jun-2019  christos Sync with HEAD
 1.4.14.1 30-Sep-2018  pgoyette Ssync with HEAD
 1.9.2.5 02-Feb-2022  msaitoh Pull up following revision(s) (requested by martin in ticket #1422):
usr.sbin/sysinst/util.c: revision 1.64
usr.sbin/sysinst/arch/hpcsh/md.c: revision 1.11
usr.sbin/sysinst/arch/alpha/md.c: revision 1.10
usr.sbin/sysinst/arch/sparc64/md.c: revision 1.7
usr.sbin/sysinst/arch/emips/md.c: revision 1.10
usr.sbin/sysinst/arch/cobalt/md.c: revision 1.15
usr.sbin/sysinst/arch/x68k/md.c: revision 1.12
usr.sbin/sysinst/arch/sandpoint/md.c: revision 1.10
usr.sbin/sysinst/arch/luna68k/md.c: revision 1.10
usr.sbin/sysinst/arch/hp300/md.c: revision 1.12
usr.sbin/sysinst/arch/vax/md.c: revision 1.8
usr.sbin/sysinst/arch/hpcmips/md.c: revision 1.10
usr.sbin/sysinst/target.c: revision 1.16
usr.sbin/sysinst/arch/mvme68k/md.c: revision 1.12
usr.sbin/sysinst/arch/arc/md.c: revision 1.14
usr.sbin/sysinst/target.c: revision 1.17
usr.sbin/sysinst/arch/i386/md.c: revision 1.34
usr.sbin/sysinst/arch/mac68k/md.c: revision 1.11
usr.sbin/sysinst/arch/atari/md.c: revision 1.8
usr.sbin/sysinst/arch/sgimips/md.c: revision 1.10
usr.sbin/sysinst/arch/acorn32/md.c: revision 1.8
usr.sbin/sysinst/install.c: revision 1.22
usr.sbin/sysinst/arch/amiga/md.c: revision 1.7
usr.sbin/sysinst/arch/cats/md.c: revision 1.6
usr.sbin/sysinst/arch/dummy/md.c: revision 1.7
usr.sbin/sysinst/arch/shark/md.c: revision 1.7
usr.sbin/sysinst/arch/pmax/md.c: revision 1.9
usr.sbin/sysinst/arch/newsmips/md.c: revision 1.7
usr.sbin/sysinst/arch/mipsco/md.c: revision 1.9
usr.sbin/sysinst/arch/landisk/md.c: revision 1.15
usr.sbin/sysinst/arch/hppa/md.c: revision 1.9
usr.sbin/sysinst/arch/prep/md.c: revision 1.14
usr.sbin/sysinst/defs.h: revision 1.77
usr.sbin/sysinst/arch/ofppc/md.c: revision 1.13
usr.sbin/sysinst/arch/ews4800mips/md.c: revision 1.8
usr.sbin/sysinst/defs.h: revision 1.78
usr.sbin/sysinst/arch/macppc/md.c: revision 1.7
usr.sbin/sysinst/arch/evbppc/md.c: revision 1.10
usr.sbin/sysinst/defs.h: revision 1.79
usr.sbin/sysinst/gpt.c: revision 1.27
usr.sbin/sysinst/arch/bebox/md.c: revision 1.10
usr.sbin/sysinst/gpt.c: revision 1.28
usr.sbin/sysinst/arch/sparc/md.c: revision 1.7
usr.sbin/sysinst/arch/evbsh3/md.c: revision 1.7
usr.sbin/sysinst/arch/evbarm/md.c: revision 1.22
usr.sbin/sysinst/arch/news68k/md.c: revision 1.8
usr.sbin/sysinst/upgrade.c: revision 1.19
usr.sbin/sysinst/arch/zaurus/md.c: revision 1.12
usr.sbin/sysinst/arch/playstation2/md.c: revision 1.10
usr.sbin/sysinst/arch/hpcarm/md.c: revision 1.11
usr.sbin/sysinst/arch/evbmips/md.c: revision 1.10
usr.sbin/sysinst/main.c: revision 1.28
Add an option to set the directory where we look for message catalogs.
Try to get rid of all wedges we created (after unmounting).
When upgrading, update the boot code post extraction from
the updated target file system.
Do not defer wedge deletions when we have nothing mounted.
Define and use a constant for maximum disk name length.
 1.9.2.4 15-Oct-2020  bouyer Pull up following revision(s) (requested by martin in ticket #1113):
usr.sbin/sysinst/bsddisklabel.c: revision 1.46
usr.sbin/sysinst/bsddisklabel.c: revision 1.47
usr.sbin/sysinst/disklabel.c: revision 1.40
usr.sbin/sysinst/arch/cobalt/md.c: revision 1.13
usr.sbin/sysinst/bsddisklabel.c: revision 1.48
usr.sbin/sysinst/disklabel.c: revision 1.41
usr.sbin/sysinst/arch/cobalt/md.c: revision 1.14
usr.sbin/sysinst/bsddisklabel.c: revision 1.49
usr.sbin/sysinst/disklabel.c: revision 1.42
usr.sbin/sysinst/Makefile.inc: revision 1.34
usr.sbin/sysinst/disks.c: revision 1.70
usr.sbin/sysinst/arch/hp300/md.c: revision 1.11
usr.sbin/sysinst/disks.c: revision 1.71
usr.sbin/sysinst/arch/i386/md.h: revision 1.8
usr.sbin/sysinst/arch/arc/md.c: revision 1.13
usr.sbin/sysinst/mbr.h: revision 1.5
usr.sbin/sysinst/mbr.h: revision 1.6
usr.sbin/sysinst/arch/mac68k/md.c: revision 1.10
usr.sbin/sysinst/bsddisklabel.c: revision 1.50
usr.sbin/sysinst/arch/acorn32/md.c: revision 1.7
usr.sbin/sysinst/bsddisklabel.c: revision 1.51
usr.sbin/sysinst/bsddisklabel.c: revision 1.52
usr.sbin/sysinst/bsddisklabel.c: revision 1.53
usr.sbin/sysinst/bsddisklabel.c: revision 1.54
usr.sbin/sysinst/bsddisklabel.c: revision 1.55
usr.sbin/sysinst/bsddisklabel.c: revision 1.56
usr.sbin/sysinst/arch/dummy/md.c: revision 1.6
usr.sbin/sysinst/arch/amd64/md.h: revision 1.9
usr.sbin/sysinst/arch/evbsh3/md.c: revision 1.6
usr.sbin/sysinst/arch/sparc/md.c: revision 1.6
usr.sbin/sysinst/arch/zaurus/md.c: revision 1.10
usr.sbin/sysinst/arch/x68k/md.c: revision 1.11
usr.sbin/sysinst/arch/sandpoint/md.c: revision 1.9
usr.sbin/sysinst/arch/vax/md.c: revision 1.7
usr.sbin/sysinst/arch/luna68k/md.c: revision 1.9
usr.sbin/sysinst/gpt.c: revision 1.19
usr.sbin/sysinst/arch/i386/md.c: revision 1.31
usr.sbin/sysinst/arch/i386/md.c: revision 1.32
usr.sbin/sysinst/arch/evbarm/md.c: revision 1.17
usr.sbin/sysinst/arch/evbarm/md.c: revision 1.18
usr.sbin/sysinst/arch/evbarm/md.c: revision 1.19
usr.sbin/sysinst/arch/shark/md.c: revision 1.6
usr.sbin/sysinst/arch/landisk/md.c: revision 1.14
usr.sbin/sysinst/util.c: revision 1.43
usr.sbin/sysinst/gpt.c: revision 1.20
usr.sbin/sysinst/util.c: revision 1.44
usr.sbin/sysinst/gpt.c: revision 1.21
usr.sbin/sysinst/gpt.c: revision 1.22
usr.sbin/sysinst/arch/evbarm/msg.md.en: revision 1.2
usr.sbin/sysinst/arch/ofppc/md.c: revision 1.11
usr.sbin/sysinst/util.c: revision 1.46
usr.sbin/sysinst/arch/ofppc/md.c: revision 1.12
usr.sbin/sysinst/util.c: revision 1.47
usr.sbin/sysinst/arch/evbarm/md.h: revision 1.6
usr.sbin/sysinst/util.c: revision 1.48
usr.sbin/sysinst/arch/evbarm/md.h: revision 1.7
usr.sbin/sysinst/arch/evbmips/md.c: revision 1.9
usr.sbin/sysinst/msg.mi.fr: revision 1.28
usr.sbin/sysinst/msg.mi.fr: revision 1.29
usr.sbin/sysinst/arch/sgimips/md.c: revision 1.9
usr.sbin/sysinst/arch/evbarm/Makefile: revision 1.3
usr.sbin/sysinst/msg.mi.de: revision 1.23
usr.sbin/sysinst/arch/hpcsh/md.c: revision 1.10
usr.sbin/sysinst/msg.mi.de: revision 1.24
usr.sbin/sysinst/install.c: revision 1.15
usr.sbin/sysinst/install.c: revision 1.16
usr.sbin/sysinst/arch/sparc64/md.c: revision 1.6
usr.sbin/sysinst/install.c: revision 1.17
usr.sbin/sysinst/install.c: revision 1.18
usr.sbin/sysinst/partitions.h: revision 1.16
usr.sbin/sysinst/install.c: revision 1.19
usr.sbin/sysinst/partitions.h: revision 1.17
usr.sbin/sysinst/arch/evbppc/md.c: revision 1.9
usr.sbin/sysinst/arch/playstation2/md.c: revision 1.9
usr.sbin/sysinst/partitions.h: revision 1.18
usr.sbin/sysinst/arch/hpcarm/md.c: revision 1.9
usr.sbin/sysinst/partitions.h: revision 1.19
usr.sbin/sysinst/msg.mi.es: revision 1.24
usr.sbin/sysinst/msg.mi.es: revision 1.25
usr.sbin/sysinst/msg.mi.es: revision 1.26
usr.sbin/sysinst/arch/zaurus/md.c: revision 1.9
usr.sbin/sysinst/target.c: revision 1.13
usr.sbin/sysinst/target.c: revision 1.14
usr.sbin/sysinst/part_edit.c: revision 1.17
usr.sbin/sysinst/part_edit.c: revision 1.18
usr.sbin/sysinst/msg.mi.fr: revision 1.30
usr.sbin/sysinst/arch/mvme68k/md.c: revision 1.11
usr.sbin/sysinst/part_edit.c: revision 1.19
usr.sbin/sysinst/msg.mi.fr: revision 1.31
usr.sbin/sysinst/arch/alpha/md.c: revision 1.9
usr.sbin/sysinst/msg.mi.en: revision 1.30
usr.sbin/sysinst/defs.h: revision 1.56
usr.sbin/sysinst/msg.mi.en: revision 1.31
usr.sbin/sysinst/defs.h: revision 1.57
usr.sbin/sysinst/msg.mi.en: revision 1.32
usr.sbin/sysinst/arch/amiga/md.c: revision 1.6
usr.sbin/sysinst/arch/hpcmips/md.c: revision 1.9
usr.sbin/sysinst/defs.h: revision 1.58
usr.sbin/sysinst/arch/cats/md.c: revision 1.5
usr.sbin/sysinst/defs.h: revision 1.59
usr.sbin/sysinst/arch/newsmips/md.c: revision 1.6
usr.sbin/sysinst/arch/pmax/md.c: revision 1.8
usr.sbin/sysinst/arch/mipsco/md.c: revision 1.8
usr.sbin/sysinst/part_edit.c: revision 1.20
usr.sbin/sysinst/part_edit.c: revision 1.21
usr.sbin/sysinst/arch/macppc/md.c: revision 1.6
usr.sbin/sysinst/part_edit.c: revision 1.22
usr.sbin/sysinst/part_edit.c: revision 1.23
usr.sbin/sysinst/part_edit.c: revision 1.24
usr.sbin/sysinst/defs.h: revision 1.60
usr.sbin/sysinst/arch/mac68k/Makefile: revision 1.3
usr.sbin/sysinst/defs.h: revision 1.61
usr.sbin/sysinst/defs.h: revision 1.63
usr.sbin/sysinst/defs.h: revision 1.64
usr.sbin/sysinst/defs.h: revision 1.65
usr.sbin/sysinst/label.c: revision 1.21
usr.sbin/sysinst/defs.h: revision 1.66
usr.sbin/sysinst/label.c: revision 1.22
usr.sbin/sysinst/defs.h: revision 1.67
usr.sbin/sysinst/label.c: revision 1.23
usr.sbin/sysinst/label.c: revision 1.24
usr.sbin/sysinst/label.c: revision 1.25
usr.sbin/sysinst/label.c: revision 1.26
usr.sbin/sysinst/label.c: revision 1.27
usr.sbin/sysinst/msg.mi.pl: revision 1.31
usr.sbin/sysinst/label.c: revision 1.28
usr.sbin/sysinst/msg.mi.pl: revision 1.32
usr.sbin/sysinst/label.c: revision 1.29
usr.sbin/sysinst/arch/atari/md.c: revision 1.7
usr.sbin/sysinst/disklabel.c: revision 1.36
usr.sbin/sysinst/disklabel.c: revision 1.37
usr.sbin/sysinst/disklabel.c: revision 1.38
usr.sbin/sysinst/disklabel.c: revision 1.39
usr.sbin/sysinst/arch/bebox/md.c: revision 1.9
usr.sbin/sysinst/mbr.c: revision 1.32
usr.sbin/sysinst/disks.c: revision 1.66
usr.sbin/sysinst/mbr.c: revision 1.33
usr.sbin/sysinst/disks.c: revision 1.67
usr.sbin/sysinst/mbr.c: revision 1.34
usr.sbin/sysinst/arch/emips/md.c: revision 1.9
usr.sbin/sysinst/disks.c: revision 1.68
usr.sbin/sysinst/partitions.c: revision 1.11
usr.sbin/sysinst/mbr.c: revision 1.35
usr.sbin/sysinst/disks.c: revision 1.69
usr.sbin/sysinst/mbr.c: revision 1.36
usr.sbin/sysinst/arch/hppa/md.c: revision 1.8
usr.sbin/sysinst/arch/prep/md.c: revision 1.13
usr.sbin/sysinst/label.c: revision 1.30
usr.sbin/sysinst/arch/ews4800mips/md.c: revision 1.7
usr.sbin/sysinst/main.c: revision 1.21
usr.sbin/sysinst/main.c: revision 1.22
usr.sbin/sysinst/main.c: revision 1.23
usr.sbin/sysinst/bsddisklabel.c: revision 1.40
usr.sbin/sysinst/main.c: revision 1.24
usr.sbin/sysinst/arch/cobalt/md.h: revision 1.6
usr.sbin/sysinst/bsddisklabel.c: revision 1.41
usr.sbin/sysinst/main.c: revision 1.25
usr.sbin/sysinst/arch/news68k/md.c: revision 1.7
usr.sbin/sysinst/bsddisklabel.c: revision 1.42
usr.sbin/sysinst/bsddisklabel.c: revision 1.43
usr.sbin/sysinst/bsddisklabel.c: revision 1.44
usr.sbin/sysinst/bsddisklabel.c: revision 1.45
Use strlcpy in a few places to guarnatee 0-terminated strings
Rever previous: the d_packname in struct disklabel is not NUL terminated.
Disable the warning instead.
Do not force -Os optimization (unless SMALLPROG)
Remove unused "rel" global variable and make the -r option a no-op.
PR 55045: strlcpy(NULL, ..., 0) considered harmfull in some implementations.
PR misc/54886: bump threshold for automatic/default creation of a tmpfs /tmp
up slightly (to 384 MB ram). This will make sure the default install has
a > 64 MB /tmp available (number pulled out of thin air, 64 MB is the minimum
required by the ZFS tests).
Don't depend on common symbol definitions.
boardype should not be common.
Redo the root-size-limit check again after we grew the root partition
for kernel dumps. Auto-enable the /usr partition if it overflows.
For all non-root partitions, default to FFSv2.
When extending a partition (to fill the total disk size) do respect
size limits.
Do not suggest a size limited partition for extension by default.
Minor tweak to previous: when forcing a /usr partition just to have an
arbitrary extendable partition, still use its default size initially.
At the end of a new installation save entropy.
Ooops, backout previous - twice the entropy saving is not needed.
Instead slightly improve the (slightly) hidden other code that already
did it.
PR 55202: disable swapping if we started it due to low ram
it's "its"
Remove "If you booted from a floppy" message
Set HAVE_INSTALL_IMAGE for evbarm
Change mountpoint of boot ext2fs from /stand to /ext2 to avoid conflict.
Should be pulled up to netbsd-9, with fixes of PR/55060.
MBR type for Ext2 should be MBR_PTYPE_LNXEXT2, not MBR_PTYPE_FAT12.
Silence -Wstringop-truncation for ``name'' in disp_selected_part().
This variable is used only for display, and truncation seems harmless.
PR 55572: avoid crash when answering the mount point prompt for a previously
empty mount point with an emptry sting.
When adding a new partition in the concrete partition editor, make sure
to set a pointer to the partition table interface in the new entry.
Otherwise we may end up not writing back the partitions at all, leading
to further fallout later.
Receipe to reproduce the issue from Frederic Fauberteau, thanks!
In the concrete partitions editor, after deleting the last partition move
the menu selection to the "add a partition" entry (instead of the sentinel
line which is not an active menu entry).
Typo in comment
Keep a list of all partition tables from which we have deleted partitions
and make sure we update those partition tables when writing partitions,
even if no install related partition remains on them.
Fix display of timezone selection menu
If there is no current partitioning manager assume we are editing the
current system and make target_already_root() return true.
Fixes various fallout when using sysinst post installation.
PR 55377: mark boot partitions in the partition size display, as suggested
by Izumi Tsutsui (minor modifications + all bugs by me)
PR 55378: do not assume RAW_PART to be either 2 or 3
PR 55379: avoid creating bogus /etc/fstab lines for /dev/cd* if no
cdrom is available.
PR 55381: try to deal with moved (but not yet saved) partitions when
calculating free space
Apply patch provided by Izumi Tsutsui in PR 55382: make ext2 partitions
show up in the outer (MBR) partition table, needed for example on Cobalt
where firmware boots from that partition.
PR 55384: detangle pm->ptstart from the "install" flag (selecting a
target partition). Instead introduce a new PTI_INSTALL_TARGET per partition
flag and deal with it in the partitioning backends.
Honour pm->ptstart when allocating new partitions - it is supposed to be
the first sector usable by NetBSD.
If we have no explicitly marke target root partition, make sure to set
the proper flag on the implicit one.
When merging existing partitions with desired target system layout
information, only force the "mount" flag if the existing partitions
has a valid mount point.
Add a heuristic to detect and properly mark EFI system partitions
when re-using pre-existing partitions.
When MD code requests a reserved area (at the start of the disk)
make sure to properly account for the "lost" space during all calculations
and especially when expanding the main partition to fill the disk.
Avoid using the global "pm" or a passed device descriptons when we are
passing disk limits explicitly anyway.
Simplify/fix a few rounding calculations.
When creating new partitions for "full disk" use, pass a install target
hint to the partitioning backend (for the outer NetBSD partition).
Use an install target hint to mark a new partition active.
When compiled with BOOTSEL support, also name the new partition "NetBSD".
Remove more pm->ptstart abuse - calculate values localy where needed
instead.
Fix editing start and size of not yet existing outer partitions.
Previously we abused pm->ptstart / pm->ptsize to pass the bounds of the
NetBSD outer partition to the inner partition editor - but now this is
not a valid assumption any more, so explicitly fix the bounds if an
outer partition exists.
Remove very strange code that special-cased MSDOS file systems and refused
to newfs the partition (despite explicit request to do so) if it was
mountable.
Accidently carried over from a dim and distant past, before we had
fsck_newfs.
PR 55536: when we find existing partition tables and have alternative
formats available, offer to delete partitions and create new ones from
scratch (in some other or the same on-disk format).
Minor fix to previous: fix condition when we offer the partition type
switch - it makes sense even if the disk is partitioned but has no valid
partitions.
Before forcing MBR partitions into our disklabel, make sure they are not
there yet - could happen in various paths when reusing existing partitions
(or parts of that) - previously we would blindly duplicate identical
partitions.
Ooops, part of previous was not meant to be included yet
When renumbering partitions (after deletions) be slightly more lax
in matching, to cope with differences between MBR EFI partitions and
disklabel MSDOS partitions.
PR 55142: on popular demand bring back expert options to adjust the
number of free inodes, block size and fragment size for FFS and LFS.
Fix copy & pasto noticed by Jason Mitchell: change the type of a GPT
partition via "gpt type" - not "gpt label".
Fix copy & pasto (missing "again" label)
Remove dead code
Move MBR writing (if any) post disklabel writing, otherwise strange
interactions happen.
Properly convert partition default sizes in MB to number of sectors
 1.9.2.3 28-Jan-2020  msaitoh Pull up following revision(s) (requested by martin in ticket #668):
usr.sbin/sysinst/arch/cobalt/md.c: revision 1.11
usr.sbin/sysinst/arch/cobalt/md.c: revision 1.12
usr.sbin/sysinst/arch/arc/md.c: revision 1.11
usr.sbin/sysinst/arch/arc/md.c: revision 1.12
usr.sbin/sysinst/partman.c: revision 1.43
usr.sbin/sysinst/partman.c: revision 1.46
usr.sbin/sysinst/partman.c: revision 1.47
usr.sbin/sysinst/partman.c: revision 1.48
usr.sbin/sysinst/partman.c: revision 1.49
usr.sbin/sysinst/msg.pm.fr: revision 1.2
usr.sbin/sysinst/upgrade.c: revision 1.14
usr.sbin/sysinst/arch/i386/md.c: revision 1.28
usr.sbin/sysinst/arch/i386/md.c: revision 1.29
usr.sbin/sysinst/arch/ofppc/md.c: revision 1.9
usr.sbin/sysinst/arch/sandpoint/md.c: revision 1.7
usr.sbin/sysinst/arch/sandpoint/md.c: revision 1.8
usr.sbin/sysinst/gpt.c: revision 1.14
usr.sbin/sysinst/gpt.c: revision 1.15
usr.sbin/sysinst/arch/luna68k/md.c: revision 1.8
usr.sbin/sysinst/gpt.c: revision 1.16
usr.sbin/sysinst/msg.pm.de: revision 1.2
usr.sbin/sysinst/arch/evbarm/md.c: revision 1.11
usr.sbin/sysinst/arch/evbarm/md.c: revision 1.12
usr.sbin/sysinst/arch/evbarm/md.c: revision 1.13
usr.sbin/sysinst/arch/evbarm/md.c: revision 1.14
usr.sbin/sysinst/sizemultname.c: revision 1.4
usr.sbin/sysinst/msg.pm.en: revision 1.2
usr.sbin/sysinst/arch/landisk/md.c: revision 1.12
usr.sbin/sysinst/util.c: revision 1.41
usr.sbin/sysinst/arch/landisk/md.c: revision 1.13
usr.sbin/sysinst/util.c: revision 1.42
usr.sbin/sysinst/arch/ofppc/md.c: revision 1.10
usr.sbin/sysinst/partitions.c: revision 1.9
usr.sbin/sysinst/arch/evbarm/md.h: revision 1.4
usr.sbin/sysinst/arch/evbarm/md.h: revision 1.5
usr.sbin/sysinst/arch/evbmips/md.c: revision 1.7
usr.sbin/sysinst/arch/evbmips/md.c: revision 1.8
usr.sbin/sysinst/msg.mi.fr: revision 1.25
usr.sbin/sysinst/msg.mi.de: revision 1.20
usr.sbin/sysinst/install.c: revision 1.14
usr.sbin/sysinst/partitions.h: revision 1.13
usr.sbin/sysinst/partitions.h: revision 1.14
usr.sbin/sysinst/arch/evbppc/md.c: revision 1.7
usr.sbin/sysinst/arch/playstation2/md.c: revision 1.7
usr.sbin/sysinst/msg.mi.en: revision 1.27
usr.sbin/sysinst/partitions.h: revision 1.15
usr.sbin/sysinst/arch/evbppc/md.c: revision 1.8
usr.sbin/sysinst/arch/hpcarm/md.c: revision 1.7
usr.sbin/sysinst/arch/playstation2/md.c: revision 1.8
usr.sbin/sysinst/msg.pm.pl: revision 1.2
usr.sbin/sysinst/arch/hpcarm/md.c: revision 1.8
usr.sbin/sysinst/msg.mi.es: revision 1.21
usr.sbin/sysinst/arch/zaurus/md.c: revision 1.7
usr.sbin/sysinst/target.c: revision 1.11
usr.sbin/sysinst/arch/zaurus/md.c: revision 1.8
usr.sbin/sysinst/part_edit.c: revision 1.14
usr.sbin/sysinst/part_edit.c: revision 1.15
usr.sbin/sysinst/part_edit.c: revision 1.16
usr.sbin/sysinst/defs.h: revision 1.50
usr.sbin/sysinst/defs.h: revision 1.51
usr.sbin/sysinst/defs.h: revision 1.52
usr.sbin/sysinst/defs.h: revision 1.53
usr.sbin/sysinst/defs.h: revision 1.54
usr.sbin/sysinst/arch/hpcmips/md.c: revision 1.7
usr.sbin/sysinst/arch/hpcmips/md.c: revision 1.8
usr.sbin/sysinst/arch/hpcsh/md.c: revision 1.8
usr.sbin/sysinst/msg.pm.es: revision 1.2
usr.sbin/sysinst/arch/hpcsh/md.c: revision 1.9
usr.sbin/sysinst/label.c: revision 1.18
usr.sbin/sysinst/label.c: revision 1.19
usr.sbin/sysinst/net.c: revision 1.35
usr.sbin/sysinst/msg.mi.pl: revision 1.28
usr.sbin/sysinst/disklabel.c: revision 1.28
usr.sbin/sysinst/disklabel.c: revision 1.29
usr.sbin/sysinst/mbr.c: revision 1.24
usr.sbin/sysinst/disks.c: revision 1.59
usr.sbin/sysinst/mbr.c: revision 1.25
usr.sbin/sysinst/mbr.c: revision 1.26
usr.sbin/sysinst/mbr.c: revision 1.27
usr.sbin/sysinst/mbr.c: revision 1.28
usr.sbin/sysinst/label.c: revision 1.20
usr.sbin/sysinst/mbr.c: revision 1.29
usr.sbin/sysinst/bsddisklabel.c: revision 1.34
usr.sbin/sysinst/bsddisklabel.c: revision 1.35
usr.sbin/sysinst/bsddisklabel.c: revision 1.36
usr.sbin/sysinst/bsddisklabel.c: revision 1.37
usr.sbin/sysinst/disklabel.c: revision 1.30
usr.sbin/sysinst/bsddisklabel.c: revision 1.38
usr.sbin/sysinst/disklabel.c: revision 1.31
usr.sbin/sysinst/disklabel.c: revision 1.32
usr.sbin/sysinst/disklabel.c: revision 1.33
usr.sbin/sysinst/disklabel.c: revision 1.34
usr.sbin/sysinst/disks.c: revision 1.60
usr.sbin/sysinst/disks.c: revision 1.61
usr.sbin/sysinst/arch/bebox/md.c: revision 1.7
usr.sbin/sysinst/disks.c: revision 1.62
usr.sbin/sysinst/arch/bebox/md.c: revision 1.8
usr.sbin/sysinst/mbr.c: revision 1.30
usr.sbin/sysinst/partitions.c: revision 1.10
usr.sbin/sysinst/arch/prep/md.c: revision 1.11
usr.sbin/sysinst/arch/prep/md.c: revision 1.12
usr.sbin/sysinst/menus.pm: revision 1.3
usr.sbin/sysinst/main.c: revision 1.20
usr.sbin/sysinst/menus.mi: revision 1.20
usr.sbin/sysinst/menus.mi: revision 1.21
avoid calling snprintf/strlcat with an input parameter the same
as the output. from martin@. fixes gcc 8 restrict warnings.
Finish conversion of extended partitioning parts to new abstract
backend interface. XXX still could use a lot of polishing.
Instead of a (bogus) attempt to query the model via ofctl, use the (now
fixed) sysctl hw.model instead.
When reading the secondary disklabel partitions from an existing disklabel
set the mbr partitions as parent.
Move the LABELSECTOR check and make it FS type specific - some partition
types (FFS, RAID) are allowed to overlap with the LABELSECTOR.
When asked to create a whole-disk partition for unknown usage, do not only
assert(false), but actually return an error (in case "assert" is a nop).
PR install/54787: when trying to derive proper alignement and first offset
from exisiting partitions, use the first partition offset if it is already
closer to the start of the disk than the prefered alignment - we can not
move existing partitions around.
Fix handling of inner/outer partitions (e.g. MBR and disklabel) in
extended partitioning:
- when editing a disk with such a schme, offer both partitions in two
steps
- when commiting changes save the inner partitions after the outer ones
Add a method to query the partitioning schemes "internal idea" of a
cylinder size - whatever that means in the real world.
Avoid using the global "pm" variable in utility functions - during
extended partitioning they may point to a different device.
Remove useless calls to get_ramsize() - return value is ignored and
the function has no side effects.
Fix /tmp tmpfs handling and on machines with enough RAM default to
creating a /tmp tmpfs with 25% of ram size limit. Suggested by ad@.
PR install/54872: fix printf argument order, sectors and heads were
swapped in the bios geometry display.
First try to bring evbarm installation closer to current reality.
hide disklabel_non_bootable() under NO_DISKLABEL_BOOT like the usage.
should fix most builds.
Deal with even stranger fictious empty disklabels (PR kern/54882).
Factor out all RAM size thresholds as defines to avoid magic numbers.
To work around PR misc/54886 bump the threshold for a tmpfs /tmp mount
up to 256 MB.
When retrying sets during extraction, reset the relevant statistics
to avoid counting retried sets multiple times.
Reported by kim.
Fix support for non-512-byte/sector disks again after I broke it when
introducing the abstract partition backends.
Use a few strlcpy() instead of strncpy() for network ioctl structs.
We seem to have no formal documentation stating the various
char if*_name[IFNAMSIZ]; /* if name, e.g. "en0" */
elements in ioctls are nul terminated, but the peanut gallery claims
it is so - and at least half of the code in-tree touching them agrees.
Too much disklabel magic happening in the kernel - to compensate force
MBR first when trying to identify the existing partitioning scheme of
a disk.
 1.9.2.2 17-Nov-2019  msaitoh Pull up following revision(s) (requested by martin in ticket #436):
usr.sbin/sysinst/disks.c: revision 1.55
usr.sbin/sysinst/msg.mi.en: revision 1.24
usr.sbin/sysinst/mbr.c: revision 1.22
usr.sbin/sysinst/disks.c: revision 1.56
usr.sbin/sysinst/msg.mi.en: revision 1.25
usr.sbin/sysinst/disks.c: revision 1.57
usr.sbin/sysinst/arch/playstation2/msg.md.pl: revision 1.3
usr.sbin/sysinst/Makefile.inc: revision 1.30
usr.sbin/sysinst/configmenu.c: revision 1.11
usr.sbin/sysinst/util.c: revision 1.35
usr.sbin/sysinst/gpt.c: revision 1.12
usr.sbin/sysinst/util.c: revision 1.36
usr.sbin/sysinst/arch/playstation2/msg.md.de: revision 1.3
usr.sbin/sysinst/arch/i386/menus.md: revision 1.3
usr.sbin/sysinst/util.c: revision 1.37
usr.sbin/sysinst/part_edit.c: revision 1.11
usr.sbin/sysinst/arch/i386/msg.md.en: revision 1.2
usr.sbin/sysinst/util.c: revision 1.38
usr.sbin/sysinst/part_edit.c: revision 1.12
usr.sbin/sysinst/arch/i386/msg.md.en: revision 1.3
usr.sbin/sysinst/util.c: revision 1.39
usr.sbin/sysinst/part_edit.c: revision 1.13
usr.sbin/sysinst/arch/i386/msg.md.en: revision 1.4
usr.sbin/sysinst/disklabel.c: revision 1.15
usr.sbin/sysinst/bsddisklabel.c: revision 1.30
usr.sbin/sysinst/arch/i386/msg.md.es: revision 1.2
usr.sbin/sysinst/bsddisklabel.c: revision 1.31
usr.sbin/sysinst/arch/i386/msg.md.es: revision 1.3
usr.sbin/sysinst/arch/i386/msg.md.es: revision 1.4
usr.sbin/sysinst/mbr.h: revision 1.4
usr.sbin/sysinst/main.c: revision 1.18
usr.sbin/sysinst/partman.c: revision 1.44
usr.sbin/sysinst/msg.mi.de: revision 1.17
usr.sbin/sysinst/arch/i386/msg.md.fr: revision 1.2
usr.sbin/sysinst/msg.mi.de: revision 1.18
usr.sbin/sysinst/arch/i386/msg.md.fr: revision 1.3
usr.sbin/sysinst/arch/playstation2/msg.md.en: revision 1.3
usr.sbin/sysinst/arch/i386/msg.md.fr: revision 1.4
usr.sbin/sysinst/arch/amd64/md.c: revision 1.2
usr.sbin/sysinst/arch/ews4800mips/Makefile: revision 1.3
usr.sbin/sysinst/arch/playstation2/msg.md.es: revision 1.3
usr.sbin/sysinst/label.c: revision 1.13
usr.sbin/sysinst/Makefile.inc: revision 1.29
usr.sbin/sysinst/label.c: revision 1.14
usr.sbin/sysinst/util.c: revision 1.40
usr.sbin/sysinst/partitions.c: revision 1.5
usr.sbin/sysinst/arch/amd64/md.h: revision 1.8
usr.sbin/sysinst/msg.mi.es: revision 1.18
usr.sbin/sysinst/net.c: revision 1.34
usr.sbin/sysinst/msg.mi.es: revision 1.19
usr.sbin/sysinst/arch/i386/msg.md.pl: revision 1.2
usr.sbin/sysinst/arch/i386/md.c: revision 1.22
usr.sbin/sysinst/msg.mi.fr: revision 1.22
usr.sbin/sysinst/arch/playstation2/msg.md.fr: revision 1.3
usr.sbin/sysinst/arch/i386/msg.md.pl: revision 1.3
usr.sbin/sysinst/arch/i386/md.c: revision 1.23
usr.sbin/sysinst/msg.mi.pl: revision 1.25
usr.sbin/sysinst/msg.mi.fr: revision 1.23
usr.sbin/sysinst/arch/i386/msg.md.pl: revision 1.4
usr.sbin/sysinst/arch/i386/md.c: revision 1.24
usr.sbin/sysinst/partitions.h: revision 1.8
usr.sbin/sysinst/msg.mi.pl: revision 1.26
usr.sbin/sysinst/arch/i386/msg.md.de: revision 1.2
usr.sbin/sysinst/arch/i386/msg.md.de: revision 1.3
usr.sbin/sysinst/arch/i386/msg.md.de: revision 1.4
usr.sbin/sysinst/run.c: revision 1.13
usr.sbin/sysinst/defs.h: revision 1.46
usr.sbin/sysinst/install.c: revision 1.12
usr.sbin/sysinst/defs.h: revision 1.47
usr.sbin/sysinst/install.c: revision 1.13
usr.sbin/sysinst/defs.h: revision 1.48
Add options to the various partitioning stages that allow cloning of
alien partitions (optionally including data).
PR 54467: we trust our own sets, extract them with -P to allow symlink
redirection (especially for updates and chroot services - back out
once a better solution for those is implemented)
Make cloning support optional, so we can save some space on very small
install media.
Drop MBR and cloning support on crunched install media.
Make tar extraction flags depend on our usage of pax-as-tar or bsdtar.
Fix missing newlines in bios match display, pointed out by maxv.
Drop unused variable.
Fix table of bios geomatries
knf style adjustments
Make the bootblock selection menu more sane, pointed out by maxv
Make sure all menus have a translatable exit option (or none at all).
On amd64 support installation with a KASLR kernel, via "custom install"
and selecting the GENERIC_KASLR kernel set.
Setup /prekern and boot.cfg accordingly.
 1.9.2.1 18-Aug-2019  msaitoh Pull up following revision(s) (requested by martin in ticket #83):
usr.sbin/sysinst/util.c: revision 1.31
usr.sbin/sysinst/install.c: revision 1.10
usr.sbin/sysinst/install.c: revision 1.11
Fix some memory leaks in error paths
Oops, avoid double free.
 1.51 14-Feb-2024  martin PR 57927: when comparing old and new partition state during renumbering,
ignore differences in the install target flag - the backend might have
flipped it off already to ensure only a single partition is marked
as install target.
 1.50 20-Nov-2023  martin Force alignment of disk buffers to at least 8 byte.
Fixes PR 56434.
 1.49 31-Oct-2023  martin Switch to "-" (single minus) as input denotation for "no mount point"
in all translations and adjust the code accordingly.
Pointed out by Thierry Laronde.
 1.48 06-Jan-2023  martin When matching real partitions to "wanted" install descriptions, skip
all types of special partitions (like raw disk, or the MBR container
partition for the NetBSD part of the disk).
The start of the partition is no unique identifier if we include these
in the matching (e.g. boot partition and raw partition may both start
at sector 0).
 1.47 06-Jan-2023  martin Minor fix calculating the remaining buffer size for partition flags.
 1.46 15-Dec-2022  martin branches: 1.46.2;
PR 57100: check if we can newfs the proper fstype when adding a new
partition and accepting the default FS type.
 1.45 15-Dec-2022  martin PR 57100: when adding a new partition, update current flags after
the backend has added the partion, so the re-sorting later can
match the new data properly.
 1.44 10-Dec-2022  martin Comment and code style (cosmetic) changes, no functional change
 1.43 30-Nov-2022  martin Add support for FFSv2ea in the partition type menus (internally setting
fs version to 3 for this, where 2 is FFSv2 and 1 is FFSv1)
 1.42 17-Nov-2022  chs Restore backward compatibility of UFS2 with previous NetBSD releases by
disabling support in UFS2 for extended attributes (including ACLs).
Add a new variant of UFS2 called "UFS2ea" that does support extended attributes.
Add new fsck_ffs operations "-c ea" and "-c no-ea" to convert file systems
from UFS2 to UFS2ea and vice-versa (both of which delete all existing extended
attributes in the process).
 1.41 21-Jun-2022  martin Fix free space accounting when partitions change size or are deleted.
Part of PR 56886.
 1.40 21-Jun-2022  martin renumber_partitions() needs to deal with removed/added partitions.
 1.39 20-Jun-2022  martin PR 56893: fix input validation when the user moves a new partition to
a totaly different part of the disk. Fix size handling for freshly
added partitions (which would previously use random stack data due to
bogus error checking).
 1.38 19-Jun-2022  martin Centralize the "we can newfs this type of filesystem" predicate
and fix the list.
 1.37 18-Jun-2022  martin Typo in comment
 1.36 11-Jun-2022  martin Avoid integer arithmetic overflow when checking a partition table without
any partitions.
Fix some comments.
 1.35 11-Jun-2022  martin Enhance support for the pseudo file system type "EFI System Partition".
 1.34 09-Jun-2022  martin Add support for explicitly selecting "EFI system partition" as a partition
type.
 1.33 09-May-2021  martin Do not allow editing of start/size/fs-type for partitions that
are already carved in stone (e.g. defined in an outer MBR while we are
editing the inner disklabel).
 1.32 31-Jan-2021  rillig branches: 1.32.2;
sysinst: remove trailing whitespace from *.c *.h

In contrast to the messages files, this whitespace is not significant.
 1.31 02-Dec-2020  wiz comparision -> comparison
 1.30 13-Oct-2020  martin PR 55142: on popular demand bring back expert options to adjust the
number of free inodes, block size and fragment size for FFS and LFS.
 1.29 13-Oct-2020  martin When renumbering partitions (after deletions) be slightly more lax
in matching, to cope with differences between MBR EFI partitions and
disklabel MSDOS partitions.
 1.28 10-Oct-2020  martin Remove more pm->ptstart abuse - calculate values localy where needed
instead.
 1.27 09-Oct-2020  martin When MD code requests a reserved area (at the start of the disk)
make sure to properly account for the "lost" space during all calculations
and especially when expanding the main partition to fill the disk.

Avoid using the global "pm" or a passed device descriptons when we are
passing disk limits explicitly anyway.

Simplify/fix a few rounding calculations.
 1.26 03-Oct-2020  martin PR 55384: detangle pm->ptstart from the "install" flag (selecting a
target partition). Instead introduce a new PTI_INSTALL_TARGET per partition
flag and deal with it in the partitioning backends.

Honour pm->ptstart when allocating new partitions - it is supposed to be
the first sector usable by NetBSD.
 1.25 29-Sep-2020  martin PR 55381: try to deal with moved (but not yet saved) partitions when
calculating free space
 1.24 22-Sep-2020  martin Keep a list of all partition tables from which we have deleted partitions
and make sure we update those partition tables when writing partitions,
even if no install related partition remains on them.
 1.23 22-Sep-2020  martin In the concrete partitions editor, after deleting the last partition move
the menu selection to the "add a partition" entry (instead of the sentinel
line which is not an active menu entry).
 1.22 22-Sep-2020  martin When adding a new partition in the concrete partition editor, make sure
to set a pointer to the partition table interface in the new entry.
Otherwise we may end up not writing back the partitions at all, leading
to further fallout later.
Receipe to reproduce the issue from Frederic Fauberteau, thanks!
 1.21 14-Aug-2020  martin PR 55572: avoid crash when answering the mount point prompt for a previously
empty mount point with an emptry sting.
 1.20 27-Jan-2020  martin Fix support for non-512-byte/sector disks again after I broke it when
introducing the abstract partition backends.
 1.19 15-Jan-2020  martin Avoid using the global "pm" variable in utility functions - during
extended partitioning they may point to a different device.
 1.18 09-Jan-2020  martin Finish conversion of extended partitioning parts to new abstract
backend interface. XXX still could use a lot of polishing.
 1.17 15-Dec-2019  martin Fix overlapping partitions display
 1.16 13-Dec-2019  martin When finding (paritioning scheme native) partition types for file systems
from our install description, pass the partition type (not only the file
system type). Sometimes (e.g. EFI boot partition on GPT) the filesystem
type (MSDOS) is not a unique selector.
 1.15 11-Dec-2019  martin PR 54065: add optional "old compat" variant of ext2fs in file system
type selection and use that as default for the cobalt boot file system.
 1.14 13-Nov-2019  martin Make cloning support optional, so we can save some space on very small
install media.
 1.13 12-Nov-2019  martin Add options to the various partitioning stages that allow cloning of
alien partitions (optionally including data).
 1.12 04-Aug-2019  martin Fix copy&pasto: when we find a FFSv1 filesystem, properly record it
that way - so the correct bootblocks get installed on system upgrades.
 1.11 01-Aug-2019  martin Do not strip the trailing / on root mounts when evaluation "last mounted
on". Fix some /dev/ and raw vs. block device confusion on system upgrades.
 1.10 26-Jul-2019  martin branches: 1.10.2;
Strip trailing / from last mounted strings.
No idea how they happen, but for cgd root (init.root = "/altroot")
they have been reported to exist.
 1.9 09-Jul-2019  martin Allow newfs for ext2fs partitions too.
 1.8 22-Jun-2019  christos no need to initialize fields that are already 0.
 1.7 12-Jun-2019  martin Rework internal data structures and "interfaces to user interface" functions
to get rid of all disklabel assumptions.

Previously (even for GPT partitioning) struct disklabel was used, which
obviously breaks large disk setups. Also many MD parts and parts of the
user interface assumed (a) a struct disklabel is used internally to
store partitioning information and (b) partitions are named 'a' ... $MAXPART.

Get rid of this and replace it with a quite abstract interface that should
be able to deal with all variants in partition storage:

- partitions are stored in a (partly abstract) struct disk_partitions
and most parts of it are only accessed via accessor functions provided
by a "partitioning scheme".

- implement partitioning schemes for MBR, disklabel and GPT (with likely
RDB [amiga] and Apple Partition Map [mac*] to follow soon)

- partitioning schemes may be cascaded, e.g. on x86 when using MBR as
"outer partitions", we have disklabel as "inner partitions".

- all user interface goes via accessor functions in the partitioning scheme,
some of which return pointers to special user interface descriptors
(e.g. to allow editing partition flags, which are scheme specific)

Overall the user interface changes (in this initial step) are minimal but
noticable. A new Anita is needed for automatic test setups - many thanks
to Andreas Gustafsson for lots of early testing and a new Anita version,
and to Manuel Bouyer for cooperation and tests of the Anita release.

This work was sponsored by The NetBSD Foundation, Inc.
 1.6 28-Nov-2018  kre Divide GIG by 512 (DEV_BLKSIZE) so we don't overflow 32 bit u_long
when multiplying by 128 (in 32 bits, 128 * GIG == 0)

Should fix i386 build )and other 32 bit ports).

An alternative would be to use ULL rather than UL for the numbers,
but that would mean needlessly doing 64 bit arith for data that is
resticted to 32 bit results anyway.
 1.5 27-Nov-2018  martin Cosmetics: consistently use MEG and GIG defines for size calculations
 1.4 20-Nov-2018  martin Convert all static menu struct initializiations to C99 name initializer
format - prerequisite for an upcoming evil hack (tm).
No functional change intended.
 1.3 10-May-2015  martin branches: 1.3.14; 1.3.16;
Backout the previous incorrect fix for PR 49440 and redo it more globaly:
get rid of the global "yesno", introduce utility functions "ask_yesno()"
and "ask_noyes()" instead, greatly simplifying a lot of code.
Pass in a pointer to the return value to various "set source" menus.
 1.2 03-Aug-2014  martin branches: 1.2.2; 1.2.4; 1.2.6;
(Finally) merge a slightly modified version of the 2012 GSoC results
from Eugene Lozovoy: add extended partitioning options to sysinst.
Still needs some testing and polishing, but it now is possible to use GPT
or to create a RAID set from scratch and install onto it.
 1.1 26-Jul-2014  dholland Move sysinst sources to usr.sbin.

This commit only physically moves the sources - there are no other
changes, to maximize the probability that this will be treated as a
rename if we ever do manage to migrate away from CVS.

Moving sysinst has been discussed on and off for years and has two
goals: making it easier to work on sysinst, and also making sysinst
available on running systems for use installing chroots and VM images
and other such things. None of the latter is possible yet, but as they
say, one thing at a time.

Doing this now was approved in an impromptu fashion by mrg, riz,
riastradh, me, and groo.
 1.2.6.2 20-Aug-2014  tls Rebase to HEAD as of a few days ago.
 1.2.6.1 03-Aug-2014  tls file label.c was added on branch tls-maxphys on 2014-08-20 00:05:13 +0000
 1.2.4.1 14-May-2015  snj Pull up following revision(s) (requested by martin in ticket #756):
usr.sbin/sysinst/arch/arc/md.c: revision 1.4
usr.sbin/sysinst/arch/atari/md.c: revision 1.3
usr.sbin/sysinst/arch/cobalt/md.c: revision 1.4
usr.sbin/sysinst/arch/emips/md.c: revision 1.3
usr.sbin/sysinst/arch/evbarm/md.c: revision 1.4
usr.sbin/sysinst/arch/evbarm64/md.c: revision 1.2
usr.sbin/sysinst/arch/hp300/md.c: revision 1.4
usr.sbin/sysinst/arch/i386/md.c: revision 1.6
usr.sbin/sysinst/arch/mac68k/md.c: revision 1.3
usr.sbin/sysinst/arch/mac68k/md.c: revision 1.4
usr.sbin/sysinst/arch/mac68k/menus.md.de: revisions 1.3, 1.4
usr.sbin/sysinst/arch/mac68k/menus.md.en: revisions 1.3, 1.4
usr.sbin/sysinst/arch/mac68k/menus.md.es: revisions 1.3, 1.4
usr.sbin/sysinst/arch/mac68k/menus.md.pl: revisions 1.3, 1.4
usr.sbin/sysinst/arch/mvme68k/md.c: revision 1.4
usr.sbin/sysinst/arch/ofppc/md.c: revision 1.3
usr.sbin/sysinst/arch/prep/md.c: revisions 1.3, 1.4
usr.sbin/sysinst/arch/prep/menus.md.en: revision 1.2
usr.sbin/sysinst/arch/x68k/md.c: revision 1.4
usr.sbin/sysinst/configmenu.c: revisions 1.4, 1.5
usr.sbin/sysinst/defs.h: revisions 1.8, 1.9
usr.sbin/sysinst/disks.c: revision 1.9
usr.sbin/sysinst/install.c: revision 1.4
usr.sbin/sysinst/label.c: revision 1.3
usr.sbin/sysinst/mbr.c: revision 1.5
usr.sbin/sysinst/menus.mi: revisions 1.9, 1.10
usr.sbin/sysinst/net.c: revisions 1.18-1.20
usr.sbin/sysinst/partman.c: revision 1.10
usr.sbin/sysinst/upgrade.c: revision 1.4
usr.sbin/sysinst/util.c: revisions 1.6, 1.7
Backout the previous incorrect fix for PR 49440 and redo it more globaly:
get rid of the global "yesno", introduce utility functions "ask_yesno()"
and "ask_noyes()" instead, greatly simplifying a lot of code.
Pass in a pointer to the return value to various "set source" menus.
--
Make it compile on architectures that do not support INET6 in sysinst
--
Remove a few more (ab-)usages of "yesno".
--
More (ab-)usages of "yesno"
--
Make "ask_yesno" and "ask_noyes" take a const char * as argument, moving
the deconst() dance into the utility functions and simplifying all callers.
--
Missed a few more "yesno" in previous
 1.2.2.2 10-Aug-2014  tls Rebase.
 1.2.2.1 03-Aug-2014  tls file label.c was added on branch tls-earlyentropy on 2014-08-10 07:00:24 +0000
 1.3.16.2 13-Apr-2020  martin Mostly merge changes from HEAD upto 20200411
 1.3.16.1 10-Jun-2019  christos Sync with HEAD
 1.3.14.2 26-Dec-2018  pgoyette Sync with HEAD, resolve a few conflicts
 1.3.14.1 26-Nov-2018  pgoyette Sync with HEAD, resolve a couple of conflicts
 1.10.2.9 31-Dec-2022  snj Pull up following revision(s) (requested by martin in ticket #1558):
usr.sbin/sysinst/disklabel.c: 1.46-1.48
usr.sbin/sysinst/label.c: 1.40-1.41

disklabel_can_add_partition() did not consider additional partitions
(while there still is space in the disklabel). Part of PR 56886.

Fix free space accounting for partition size changes and deletions.
Part of PR 56886.

renumber_partitions() needs to deal with removed/added partitions.

Fix free space accounting when partitions change size or are deleted.
Part of PR 56886.

Fix inverted condition in previous and only apply special handling for
the "all of NetBSD" partition when we have an outer MBR label.
Pointed out by Izumi Tsutsui. Hopefully the last fix needed for PR 56886.
 1.10.2.8 22-Jun-2022  msaitoh Pull up following revision(s) (requested by martin in ticket #1476):
usr.sbin/sysinst/label.c: revision 1.39
PR 56893: fix input validation when the user moves a new partition to
a totaly different part of the disk. Fix size handling for freshly
added partitions (which would previously use random stack data due to
bogus error checking).
 1.10.2.7 12-May-2021  msaitoh Pull up following revision(s) (requested by martin in ticket #1271):
usr.sbin/sysinst/mbr.c: revision 1.39
usr.sbin/sysinst/label.c: revision 1.33
usr.sbin/sysinst/arch/evbarm/md.c: revision 1.21
For FS_MSDOS report the MBR type as fs_sub_type.
Keep MSDOS partition size and subtype consistent - some u-boot are picky.
Do not allow editing of start/size/fs-type for partitions that
are already carved in stone (e.g. defined in an outer MBR while we are
editing the inner disklabel).
 1.10.2.6 15-Oct-2020  bouyer Pull up following revision(s) (requested by martin in ticket #1113):
usr.sbin/sysinst/bsddisklabel.c: revision 1.46
usr.sbin/sysinst/bsddisklabel.c: revision 1.47
usr.sbin/sysinst/disklabel.c: revision 1.40
usr.sbin/sysinst/arch/cobalt/md.c: revision 1.13
usr.sbin/sysinst/bsddisklabel.c: revision 1.48
usr.sbin/sysinst/disklabel.c: revision 1.41
usr.sbin/sysinst/arch/cobalt/md.c: revision 1.14
usr.sbin/sysinst/bsddisklabel.c: revision 1.49
usr.sbin/sysinst/disklabel.c: revision 1.42
usr.sbin/sysinst/Makefile.inc: revision 1.34
usr.sbin/sysinst/disks.c: revision 1.70
usr.sbin/sysinst/arch/hp300/md.c: revision 1.11
usr.sbin/sysinst/disks.c: revision 1.71
usr.sbin/sysinst/arch/i386/md.h: revision 1.8
usr.sbin/sysinst/arch/arc/md.c: revision 1.13
usr.sbin/sysinst/mbr.h: revision 1.5
usr.sbin/sysinst/mbr.h: revision 1.6
usr.sbin/sysinst/arch/mac68k/md.c: revision 1.10
usr.sbin/sysinst/bsddisklabel.c: revision 1.50
usr.sbin/sysinst/arch/acorn32/md.c: revision 1.7
usr.sbin/sysinst/bsddisklabel.c: revision 1.51
usr.sbin/sysinst/bsddisklabel.c: revision 1.52
usr.sbin/sysinst/bsddisklabel.c: revision 1.53
usr.sbin/sysinst/bsddisklabel.c: revision 1.54
usr.sbin/sysinst/bsddisklabel.c: revision 1.55
usr.sbin/sysinst/bsddisklabel.c: revision 1.56
usr.sbin/sysinst/arch/dummy/md.c: revision 1.6
usr.sbin/sysinst/arch/amd64/md.h: revision 1.9
usr.sbin/sysinst/arch/evbsh3/md.c: revision 1.6
usr.sbin/sysinst/arch/sparc/md.c: revision 1.6
usr.sbin/sysinst/arch/zaurus/md.c: revision 1.10
usr.sbin/sysinst/arch/x68k/md.c: revision 1.11
usr.sbin/sysinst/arch/sandpoint/md.c: revision 1.9
usr.sbin/sysinst/arch/vax/md.c: revision 1.7
usr.sbin/sysinst/arch/luna68k/md.c: revision 1.9
usr.sbin/sysinst/gpt.c: revision 1.19
usr.sbin/sysinst/arch/i386/md.c: revision 1.31
usr.sbin/sysinst/arch/i386/md.c: revision 1.32
usr.sbin/sysinst/arch/evbarm/md.c: revision 1.17
usr.sbin/sysinst/arch/evbarm/md.c: revision 1.18
usr.sbin/sysinst/arch/evbarm/md.c: revision 1.19
usr.sbin/sysinst/arch/shark/md.c: revision 1.6
usr.sbin/sysinst/arch/landisk/md.c: revision 1.14
usr.sbin/sysinst/util.c: revision 1.43
usr.sbin/sysinst/gpt.c: revision 1.20
usr.sbin/sysinst/util.c: revision 1.44
usr.sbin/sysinst/gpt.c: revision 1.21
usr.sbin/sysinst/gpt.c: revision 1.22
usr.sbin/sysinst/arch/evbarm/msg.md.en: revision 1.2
usr.sbin/sysinst/arch/ofppc/md.c: revision 1.11
usr.sbin/sysinst/util.c: revision 1.46
usr.sbin/sysinst/arch/ofppc/md.c: revision 1.12
usr.sbin/sysinst/util.c: revision 1.47
usr.sbin/sysinst/arch/evbarm/md.h: revision 1.6
usr.sbin/sysinst/util.c: revision 1.48
usr.sbin/sysinst/arch/evbarm/md.h: revision 1.7
usr.sbin/sysinst/arch/evbmips/md.c: revision 1.9
usr.sbin/sysinst/msg.mi.fr: revision 1.28
usr.sbin/sysinst/msg.mi.fr: revision 1.29
usr.sbin/sysinst/arch/sgimips/md.c: revision 1.9
usr.sbin/sysinst/arch/evbarm/Makefile: revision 1.3
usr.sbin/sysinst/msg.mi.de: revision 1.23
usr.sbin/sysinst/arch/hpcsh/md.c: revision 1.10
usr.sbin/sysinst/msg.mi.de: revision 1.24
usr.sbin/sysinst/install.c: revision 1.15
usr.sbin/sysinst/install.c: revision 1.16
usr.sbin/sysinst/arch/sparc64/md.c: revision 1.6
usr.sbin/sysinst/install.c: revision 1.17
usr.sbin/sysinst/install.c: revision 1.18
usr.sbin/sysinst/partitions.h: revision 1.16
usr.sbin/sysinst/install.c: revision 1.19
usr.sbin/sysinst/partitions.h: revision 1.17
usr.sbin/sysinst/arch/evbppc/md.c: revision 1.9
usr.sbin/sysinst/arch/playstation2/md.c: revision 1.9
usr.sbin/sysinst/partitions.h: revision 1.18
usr.sbin/sysinst/arch/hpcarm/md.c: revision 1.9
usr.sbin/sysinst/partitions.h: revision 1.19
usr.sbin/sysinst/msg.mi.es: revision 1.24
usr.sbin/sysinst/msg.mi.es: revision 1.25
usr.sbin/sysinst/msg.mi.es: revision 1.26
usr.sbin/sysinst/arch/zaurus/md.c: revision 1.9
usr.sbin/sysinst/target.c: revision 1.13
usr.sbin/sysinst/target.c: revision 1.14
usr.sbin/sysinst/part_edit.c: revision 1.17
usr.sbin/sysinst/part_edit.c: revision 1.18
usr.sbin/sysinst/msg.mi.fr: revision 1.30
usr.sbin/sysinst/arch/mvme68k/md.c: revision 1.11
usr.sbin/sysinst/part_edit.c: revision 1.19
usr.sbin/sysinst/msg.mi.fr: revision 1.31
usr.sbin/sysinst/arch/alpha/md.c: revision 1.9
usr.sbin/sysinst/msg.mi.en: revision 1.30
usr.sbin/sysinst/defs.h: revision 1.56
usr.sbin/sysinst/msg.mi.en: revision 1.31
usr.sbin/sysinst/defs.h: revision 1.57
usr.sbin/sysinst/msg.mi.en: revision 1.32
usr.sbin/sysinst/arch/amiga/md.c: revision 1.6
usr.sbin/sysinst/arch/hpcmips/md.c: revision 1.9
usr.sbin/sysinst/defs.h: revision 1.58
usr.sbin/sysinst/arch/cats/md.c: revision 1.5
usr.sbin/sysinst/defs.h: revision 1.59
usr.sbin/sysinst/arch/newsmips/md.c: revision 1.6
usr.sbin/sysinst/arch/pmax/md.c: revision 1.8
usr.sbin/sysinst/arch/mipsco/md.c: revision 1.8
usr.sbin/sysinst/part_edit.c: revision 1.20
usr.sbin/sysinst/part_edit.c: revision 1.21
usr.sbin/sysinst/arch/macppc/md.c: revision 1.6
usr.sbin/sysinst/part_edit.c: revision 1.22
usr.sbin/sysinst/part_edit.c: revision 1.23
usr.sbin/sysinst/part_edit.c: revision 1.24
usr.sbin/sysinst/defs.h: revision 1.60
usr.sbin/sysinst/arch/mac68k/Makefile: revision 1.3
usr.sbin/sysinst/defs.h: revision 1.61
usr.sbin/sysinst/defs.h: revision 1.63
usr.sbin/sysinst/defs.h: revision 1.64
usr.sbin/sysinst/defs.h: revision 1.65
usr.sbin/sysinst/label.c: revision 1.21
usr.sbin/sysinst/defs.h: revision 1.66
usr.sbin/sysinst/label.c: revision 1.22
usr.sbin/sysinst/defs.h: revision 1.67
usr.sbin/sysinst/label.c: revision 1.23
usr.sbin/sysinst/label.c: revision 1.24
usr.sbin/sysinst/label.c: revision 1.25
usr.sbin/sysinst/label.c: revision 1.26
usr.sbin/sysinst/label.c: revision 1.27
usr.sbin/sysinst/msg.mi.pl: revision 1.31
usr.sbin/sysinst/label.c: revision 1.28
usr.sbin/sysinst/msg.mi.pl: revision 1.32
usr.sbin/sysinst/label.c: revision 1.29
usr.sbin/sysinst/arch/atari/md.c: revision 1.7
usr.sbin/sysinst/disklabel.c: revision 1.36
usr.sbin/sysinst/disklabel.c: revision 1.37
usr.sbin/sysinst/disklabel.c: revision 1.38
usr.sbin/sysinst/disklabel.c: revision 1.39
usr.sbin/sysinst/arch/bebox/md.c: revision 1.9
usr.sbin/sysinst/mbr.c: revision 1.32
usr.sbin/sysinst/disks.c: revision 1.66
usr.sbin/sysinst/mbr.c: revision 1.33
usr.sbin/sysinst/disks.c: revision 1.67
usr.sbin/sysinst/mbr.c: revision 1.34
usr.sbin/sysinst/arch/emips/md.c: revision 1.9
usr.sbin/sysinst/disks.c: revision 1.68
usr.sbin/sysinst/partitions.c: revision 1.11
usr.sbin/sysinst/mbr.c: revision 1.35
usr.sbin/sysinst/disks.c: revision 1.69
usr.sbin/sysinst/mbr.c: revision 1.36
usr.sbin/sysinst/arch/hppa/md.c: revision 1.8
usr.sbin/sysinst/arch/prep/md.c: revision 1.13
usr.sbin/sysinst/label.c: revision 1.30
usr.sbin/sysinst/arch/ews4800mips/md.c: revision 1.7
usr.sbin/sysinst/main.c: revision 1.21
usr.sbin/sysinst/main.c: revision 1.22
usr.sbin/sysinst/main.c: revision 1.23
usr.sbin/sysinst/bsddisklabel.c: revision 1.40
usr.sbin/sysinst/main.c: revision 1.24
usr.sbin/sysinst/arch/cobalt/md.h: revision 1.6
usr.sbin/sysinst/bsddisklabel.c: revision 1.41
usr.sbin/sysinst/main.c: revision 1.25
usr.sbin/sysinst/arch/news68k/md.c: revision 1.7
usr.sbin/sysinst/bsddisklabel.c: revision 1.42
usr.sbin/sysinst/bsddisklabel.c: revision 1.43
usr.sbin/sysinst/bsddisklabel.c: revision 1.44
usr.sbin/sysinst/bsddisklabel.c: revision 1.45
Use strlcpy in a few places to guarnatee 0-terminated strings
Rever previous: the d_packname in struct disklabel is not NUL terminated.
Disable the warning instead.
Do not force -Os optimization (unless SMALLPROG)
Remove unused "rel" global variable and make the -r option a no-op.
PR 55045: strlcpy(NULL, ..., 0) considered harmfull in some implementations.
PR misc/54886: bump threshold for automatic/default creation of a tmpfs /tmp
up slightly (to 384 MB ram). This will make sure the default install has
a > 64 MB /tmp available (number pulled out of thin air, 64 MB is the minimum
required by the ZFS tests).
Don't depend on common symbol definitions.
boardype should not be common.
Redo the root-size-limit check again after we grew the root partition
for kernel dumps. Auto-enable the /usr partition if it overflows.
For all non-root partitions, default to FFSv2.
When extending a partition (to fill the total disk size) do respect
size limits.
Do not suggest a size limited partition for extension by default.
Minor tweak to previous: when forcing a /usr partition just to have an
arbitrary extendable partition, still use its default size initially.
At the end of a new installation save entropy.
Ooops, backout previous - twice the entropy saving is not needed.
Instead slightly improve the (slightly) hidden other code that already
did it.
PR 55202: disable swapping if we started it due to low ram
it's "its"
Remove "If you booted from a floppy" message
Set HAVE_INSTALL_IMAGE for evbarm
Change mountpoint of boot ext2fs from /stand to /ext2 to avoid conflict.
Should be pulled up to netbsd-9, with fixes of PR/55060.
MBR type for Ext2 should be MBR_PTYPE_LNXEXT2, not MBR_PTYPE_FAT12.
Silence -Wstringop-truncation for ``name'' in disp_selected_part().
This variable is used only for display, and truncation seems harmless.
PR 55572: avoid crash when answering the mount point prompt for a previously
empty mount point with an emptry sting.
When adding a new partition in the concrete partition editor, make sure
to set a pointer to the partition table interface in the new entry.
Otherwise we may end up not writing back the partitions at all, leading
to further fallout later.
Receipe to reproduce the issue from Frederic Fauberteau, thanks!
In the concrete partitions editor, after deleting the last partition move
the menu selection to the "add a partition" entry (instead of the sentinel
line which is not an active menu entry).
Typo in comment
Keep a list of all partition tables from which we have deleted partitions
and make sure we update those partition tables when writing partitions,
even if no install related partition remains on them.
Fix display of timezone selection menu
If there is no current partitioning manager assume we are editing the
current system and make target_already_root() return true.
Fixes various fallout when using sysinst post installation.
PR 55377: mark boot partitions in the partition size display, as suggested
by Izumi Tsutsui (minor modifications + all bugs by me)
PR 55378: do not assume RAW_PART to be either 2 or 3
PR 55379: avoid creating bogus /etc/fstab lines for /dev/cd* if no
cdrom is available.
PR 55381: try to deal with moved (but not yet saved) partitions when
calculating free space
Apply patch provided by Izumi Tsutsui in PR 55382: make ext2 partitions
show up in the outer (MBR) partition table, needed for example on Cobalt
where firmware boots from that partition.
PR 55384: detangle pm->ptstart from the "install" flag (selecting a
target partition). Instead introduce a new PTI_INSTALL_TARGET per partition
flag and deal with it in the partitioning backends.
Honour pm->ptstart when allocating new partitions - it is supposed to be
the first sector usable by NetBSD.
If we have no explicitly marke target root partition, make sure to set
the proper flag on the implicit one.
When merging existing partitions with desired target system layout
information, only force the "mount" flag if the existing partitions
has a valid mount point.
Add a heuristic to detect and properly mark EFI system partitions
when re-using pre-existing partitions.
When MD code requests a reserved area (at the start of the disk)
make sure to properly account for the "lost" space during all calculations
and especially when expanding the main partition to fill the disk.
Avoid using the global "pm" or a passed device descriptons when we are
passing disk limits explicitly anyway.
Simplify/fix a few rounding calculations.
When creating new partitions for "full disk" use, pass a install target
hint to the partitioning backend (for the outer NetBSD partition).
Use an install target hint to mark a new partition active.
When compiled with BOOTSEL support, also name the new partition "NetBSD".
Remove more pm->ptstart abuse - calculate values localy where needed
instead.
Fix editing start and size of not yet existing outer partitions.
Previously we abused pm->ptstart / pm->ptsize to pass the bounds of the
NetBSD outer partition to the inner partition editor - but now this is
not a valid assumption any more, so explicitly fix the bounds if an
outer partition exists.
Remove very strange code that special-cased MSDOS file systems and refused
to newfs the partition (despite explicit request to do so) if it was
mountable.
Accidently carried over from a dim and distant past, before we had
fsck_newfs.
PR 55536: when we find existing partition tables and have alternative
formats available, offer to delete partitions and create new ones from
scratch (in some other or the same on-disk format).
Minor fix to previous: fix condition when we offer the partition type
switch - it makes sense even if the disk is partitioned but has no valid
partitions.
Before forcing MBR partitions into our disklabel, make sure they are not
there yet - could happen in various paths when reusing existing partitions
(or parts of that) - previously we would blindly duplicate identical
partitions.
Ooops, part of previous was not meant to be included yet
When renumbering partitions (after deletions) be slightly more lax
in matching, to cope with differences between MBR EFI partitions and
disklabel MSDOS partitions.
PR 55142: on popular demand bring back expert options to adjust the
number of free inodes, block size and fragment size for FFS and LFS.
Fix copy & pasto noticed by Jason Mitchell: change the type of a GPT
partition via "gpt type" - not "gpt label".
Fix copy & pasto (missing "again" label)
Remove dead code
Move MBR writing (if any) post disklabel writing, otherwise strange
interactions happen.
Properly convert partition default sizes in MB to number of sectors
 1.10.2.5 28-Jan-2020  msaitoh Pull up following revision(s) (requested by martin in ticket #668):
usr.sbin/sysinst/arch/cobalt/md.c: revision 1.11
usr.sbin/sysinst/arch/cobalt/md.c: revision 1.12
usr.sbin/sysinst/arch/arc/md.c: revision 1.11
usr.sbin/sysinst/arch/arc/md.c: revision 1.12
usr.sbin/sysinst/partman.c: revision 1.43
usr.sbin/sysinst/partman.c: revision 1.46
usr.sbin/sysinst/partman.c: revision 1.47
usr.sbin/sysinst/partman.c: revision 1.48
usr.sbin/sysinst/partman.c: revision 1.49
usr.sbin/sysinst/msg.pm.fr: revision 1.2
usr.sbin/sysinst/upgrade.c: revision 1.14
usr.sbin/sysinst/arch/i386/md.c: revision 1.28
usr.sbin/sysinst/arch/i386/md.c: revision 1.29
usr.sbin/sysinst/arch/ofppc/md.c: revision 1.9
usr.sbin/sysinst/arch/sandpoint/md.c: revision 1.7
usr.sbin/sysinst/arch/sandpoint/md.c: revision 1.8
usr.sbin/sysinst/gpt.c: revision 1.14
usr.sbin/sysinst/gpt.c: revision 1.15
usr.sbin/sysinst/arch/luna68k/md.c: revision 1.8
usr.sbin/sysinst/gpt.c: revision 1.16
usr.sbin/sysinst/msg.pm.de: revision 1.2
usr.sbin/sysinst/arch/evbarm/md.c: revision 1.11
usr.sbin/sysinst/arch/evbarm/md.c: revision 1.12
usr.sbin/sysinst/arch/evbarm/md.c: revision 1.13
usr.sbin/sysinst/arch/evbarm/md.c: revision 1.14
usr.sbin/sysinst/sizemultname.c: revision 1.4
usr.sbin/sysinst/msg.pm.en: revision 1.2
usr.sbin/sysinst/arch/landisk/md.c: revision 1.12
usr.sbin/sysinst/util.c: revision 1.41
usr.sbin/sysinst/arch/landisk/md.c: revision 1.13
usr.sbin/sysinst/util.c: revision 1.42
usr.sbin/sysinst/arch/ofppc/md.c: revision 1.10
usr.sbin/sysinst/partitions.c: revision 1.9
usr.sbin/sysinst/arch/evbarm/md.h: revision 1.4
usr.sbin/sysinst/arch/evbarm/md.h: revision 1.5
usr.sbin/sysinst/arch/evbmips/md.c: revision 1.7
usr.sbin/sysinst/arch/evbmips/md.c: revision 1.8
usr.sbin/sysinst/msg.mi.fr: revision 1.25
usr.sbin/sysinst/msg.mi.de: revision 1.20
usr.sbin/sysinst/install.c: revision 1.14
usr.sbin/sysinst/partitions.h: revision 1.13
usr.sbin/sysinst/partitions.h: revision 1.14
usr.sbin/sysinst/arch/evbppc/md.c: revision 1.7
usr.sbin/sysinst/arch/playstation2/md.c: revision 1.7
usr.sbin/sysinst/msg.mi.en: revision 1.27
usr.sbin/sysinst/partitions.h: revision 1.15
usr.sbin/sysinst/arch/evbppc/md.c: revision 1.8
usr.sbin/sysinst/arch/hpcarm/md.c: revision 1.7
usr.sbin/sysinst/arch/playstation2/md.c: revision 1.8
usr.sbin/sysinst/msg.pm.pl: revision 1.2
usr.sbin/sysinst/arch/hpcarm/md.c: revision 1.8
usr.sbin/sysinst/msg.mi.es: revision 1.21
usr.sbin/sysinst/arch/zaurus/md.c: revision 1.7
usr.sbin/sysinst/target.c: revision 1.11
usr.sbin/sysinst/arch/zaurus/md.c: revision 1.8
usr.sbin/sysinst/part_edit.c: revision 1.14
usr.sbin/sysinst/part_edit.c: revision 1.15
usr.sbin/sysinst/part_edit.c: revision 1.16
usr.sbin/sysinst/defs.h: revision 1.50
usr.sbin/sysinst/defs.h: revision 1.51
usr.sbin/sysinst/defs.h: revision 1.52
usr.sbin/sysinst/defs.h: revision 1.53
usr.sbin/sysinst/defs.h: revision 1.54
usr.sbin/sysinst/arch/hpcmips/md.c: revision 1.7
usr.sbin/sysinst/arch/hpcmips/md.c: revision 1.8
usr.sbin/sysinst/arch/hpcsh/md.c: revision 1.8
usr.sbin/sysinst/msg.pm.es: revision 1.2
usr.sbin/sysinst/arch/hpcsh/md.c: revision 1.9
usr.sbin/sysinst/label.c: revision 1.18
usr.sbin/sysinst/label.c: revision 1.19
usr.sbin/sysinst/net.c: revision 1.35
usr.sbin/sysinst/msg.mi.pl: revision 1.28
usr.sbin/sysinst/disklabel.c: revision 1.28
usr.sbin/sysinst/disklabel.c: revision 1.29
usr.sbin/sysinst/mbr.c: revision 1.24
usr.sbin/sysinst/disks.c: revision 1.59
usr.sbin/sysinst/mbr.c: revision 1.25
usr.sbin/sysinst/mbr.c: revision 1.26
usr.sbin/sysinst/mbr.c: revision 1.27
usr.sbin/sysinst/mbr.c: revision 1.28
usr.sbin/sysinst/label.c: revision 1.20
usr.sbin/sysinst/mbr.c: revision 1.29
usr.sbin/sysinst/bsddisklabel.c: revision 1.34
usr.sbin/sysinst/bsddisklabel.c: revision 1.35
usr.sbin/sysinst/bsddisklabel.c: revision 1.36
usr.sbin/sysinst/bsddisklabel.c: revision 1.37
usr.sbin/sysinst/disklabel.c: revision 1.30
usr.sbin/sysinst/bsddisklabel.c: revision 1.38
usr.sbin/sysinst/disklabel.c: revision 1.31
usr.sbin/sysinst/disklabel.c: revision 1.32
usr.sbin/sysinst/disklabel.c: revision 1.33
usr.sbin/sysinst/disklabel.c: revision 1.34
usr.sbin/sysinst/disks.c: revision 1.60
usr.sbin/sysinst/disks.c: revision 1.61
usr.sbin/sysinst/arch/bebox/md.c: revision 1.7
usr.sbin/sysinst/disks.c: revision 1.62
usr.sbin/sysinst/arch/bebox/md.c: revision 1.8
usr.sbin/sysinst/mbr.c: revision 1.30
usr.sbin/sysinst/partitions.c: revision 1.10
usr.sbin/sysinst/arch/prep/md.c: revision 1.11
usr.sbin/sysinst/arch/prep/md.c: revision 1.12
usr.sbin/sysinst/menus.pm: revision 1.3
usr.sbin/sysinst/main.c: revision 1.20
usr.sbin/sysinst/menus.mi: revision 1.20
usr.sbin/sysinst/menus.mi: revision 1.21
avoid calling snprintf/strlcat with an input parameter the same
as the output. from martin@. fixes gcc 8 restrict warnings.
Finish conversion of extended partitioning parts to new abstract
backend interface. XXX still could use a lot of polishing.
Instead of a (bogus) attempt to query the model via ofctl, use the (now
fixed) sysctl hw.model instead.
When reading the secondary disklabel partitions from an existing disklabel
set the mbr partitions as parent.
Move the LABELSECTOR check and make it FS type specific - some partition
types (FFS, RAID) are allowed to overlap with the LABELSECTOR.
When asked to create a whole-disk partition for unknown usage, do not only
assert(false), but actually return an error (in case "assert" is a nop).
PR install/54787: when trying to derive proper alignement and first offset
from exisiting partitions, use the first partition offset if it is already
closer to the start of the disk than the prefered alignment - we can not
move existing partitions around.
Fix handling of inner/outer partitions (e.g. MBR and disklabel) in
extended partitioning:
- when editing a disk with such a schme, offer both partitions in two
steps
- when commiting changes save the inner partitions after the outer ones
Add a method to query the partitioning schemes "internal idea" of a
cylinder size - whatever that means in the real world.
Avoid using the global "pm" variable in utility functions - during
extended partitioning they may point to a different device.
Remove useless calls to get_ramsize() - return value is ignored and
the function has no side effects.
Fix /tmp tmpfs handling and on machines with enough RAM default to
creating a /tmp tmpfs with 25% of ram size limit. Suggested by ad@.
PR install/54872: fix printf argument order, sectors and heads were
swapped in the bios geometry display.
First try to bring evbarm installation closer to current reality.
hide disklabel_non_bootable() under NO_DISKLABEL_BOOT like the usage.
should fix most builds.
Deal with even stranger fictious empty disklabels (PR kern/54882).
Factor out all RAM size thresholds as defines to avoid magic numbers.
To work around PR misc/54886 bump the threshold for a tmpfs /tmp mount
up to 256 MB.
When retrying sets during extraction, reset the relevant statistics
to avoid counting retried sets multiple times.
Reported by kim.
Fix support for non-512-byte/sector disks again after I broke it when
introducing the abstract partition backends.
Use a few strlcpy() instead of strncpy() for network ioctl structs.
We seem to have no formal documentation stating the various
char if*_name[IFNAMSIZ]; /* if name, e.g. "en0" */
elements in ioctls are nul terminated, but the peanut gallery claims
it is so - and at least half of the code in-tree touching them agrees.
Too much disklabel magic happening in the kernel - to compensate force
MBR first when trying to identify the existing partitioning scheme of
a disk.
 1.10.2.4 17-Dec-2019  msaitoh Pull up following revision(s) (requested by martin in ticket #560):
usr.sbin/sysinst/partitions.h: revision 1.11
usr.sbin/sysinst/defs.h: revision 1.49
usr.sbin/sysinst/mbr.c: revision 1.23
usr.sbin/sysinst/msg.mi.en: revision 1.26
usr.sbin/sysinst/disks.c: revision 1.58
usr.sbin/sysinst/arch/evbarm/menus.md.pl: revision 1.2
usr.sbin/sysinst/msg.mi.es: revision 1.20
usr.sbin/sysinst/arch/mvme68k/md.c: revision 1.9
usr.sbin/sysinst/gpt.c: revision 1.13
usr.sbin/sysinst/arch/evbarm/md.c: revision 1.10
usr.sbin/sysinst/arch/arc/md.c: revision 1.10
usr.sbin/sysinst/disklabel.c: revision 1.18
usr.sbin/sysinst/bsddisklabel.c: revision 1.33
usr.sbin/sysinst/disklabel.c: revision 1.19
usr.sbin/sysinst/main.c: revision 1.19
usr.sbin/sysinst/partman.c: revision 1.45
usr.sbin/sysinst/arch/alpha/md.c: revision 1.7
usr.sbin/sysinst/msg.mi.de: revision 1.19
usr.sbin/sysinst/arch/evbarm/menus.md.en: revision 1.2
usr.sbin/sysinst/arch/x68k/md.h: revision 1.4
usr.sbin/sysinst/arch/x68k/md.c: revision 1.9
usr.sbin/sysinst/arch/evbarm/menus.md.es: revision 1.2
usr.sbin/sysinst/wskbd.c: revision 1.4
usr.sbin/sysinst/label.c: revision 1.15
usr.sbin/sysinst/arch/amiga/md.h: revision 1.5
usr.sbin/sysinst/label.c: revision 1.16
usr.sbin/sysinst/arch/hp300/md.c: revision 1.9
usr.sbin/sysinst/arch/emips/md.c: revision 1.8
usr.sbin/sysinst/label.c: revision 1.17
usr.sbin/sysinst/arch/pmax/md.c: revision 1.7
usr.sbin/sysinst/partitions.c: revision 1.6
usr.sbin/sysinst/arch/prep/md.c: revision 1.10
usr.sbin/sysinst/arch/mipsco/md.c: revision 1.7
usr.sbin/sysinst/partitions.c: revision 1.7
usr.sbin/sysinst/partitions.c: revision 1.8
usr.sbin/sysinst/arch/ews4800mips/md.c: revision 1.5
usr.sbin/sysinst/disklabel.c: revision 1.20
usr.sbin/sysinst/arch/evbarm/menus.md.fr: revision 1.2
usr.sbin/sysinst/msg.mi.fr: revision 1.24
usr.sbin/sysinst/disklabel.c: revision 1.21
usr.sbin/sysinst/partitions.h: revision 1.9
usr.sbin/sysinst/msg.mi.pl: revision 1.27
usr.sbin/sysinst/disklabel.c: revision 1.22
usr.sbin/sysinst/disklabel.c: revision 1.23
usr.sbin/sysinst/arch/i386/md.c: revision 1.27
usr.sbin/sysinst/disklabel.c: revision 1.24
usr.sbin/sysinst/disklabel.c: revision 1.25
usr.sbin/sysinst/arch/cobalt/md.h: revision 1.5
usr.sbin/sysinst/disklabel.c: revision 1.26
usr.sbin/sysinst/disklabel.c: revision 1.27
usr.sbin/sysinst/partitions.h: revision 1.10
usr.sbin/sysinst/arch/cobalt/md.c: revision 1.10
PR install/54582: allow MD code to disable on-disk presence verification
of "real" disklabels. Auto-enable this (at run time) when there is no other
partitioning scheme but disklabel configured.
Hard-coded enable this for x68k to allow using kernel based translations
for native Human68k partitions.
Get rid of the evbarm preliminary menu: do not bother to ask the user
whether this is a RPi - query the FDT instead.
PR 54065: add optional "old compat" variant of ext2fs in file system
type selection and use that as default for the cobalt boot file system.
For now rely on the kernel mapping native RDB partitions.
Fix detection of existing disklabels in the case when we only have
the disklabel partitioning scheme available.
Fix DISKLABEL_NO_ONDISK_VERIFY (accidently disabled in previous)
Fix inverted comparison
Do not try to change the keyboard layout if we are not running on the
console.
When trying to tell a fictious but empty label from a real one, skip
partition a if it has the same start and size as the raw partition.
Remove bogus assert.
When finding (paritioning scheme native) partition types for file systems
from our install description, pass the partition type (not only the file
system type). Sometimes (e.g. EFI boot partition on GPT) the filesystem
type (MSDOS) is not a unique selector.
Adapt MD parts to changes in get_fs_part_type (pass partition type).
If a fictious label has no RAW_PART assume there is no valid disk label.
Pass proper track size when initializing the default alignment - this is
important with sunlabels.
Fix overlapping partitions display
Reject (what we consider) empty/invalid fake disklabels no matter whether
we have other partitioning schemes available or not.
Do not show disklabel command invocation by default (only if there are
errors).
After installing boot blocks with RUN_NO_CLEAR (and handling the
potential errors) make sure to clear the stdscreen.
 1.10.2.3 17-Nov-2019  msaitoh Pull up following revision(s) (requested by martin in ticket #436):
usr.sbin/sysinst/disks.c: revision 1.55
usr.sbin/sysinst/msg.mi.en: revision 1.24
usr.sbin/sysinst/mbr.c: revision 1.22
usr.sbin/sysinst/disks.c: revision 1.56
usr.sbin/sysinst/msg.mi.en: revision 1.25
usr.sbin/sysinst/disks.c: revision 1.57
usr.sbin/sysinst/arch/playstation2/msg.md.pl: revision 1.3
usr.sbin/sysinst/Makefile.inc: revision 1.30
usr.sbin/sysinst/configmenu.c: revision 1.11
usr.sbin/sysinst/util.c: revision 1.35
usr.sbin/sysinst/gpt.c: revision 1.12
usr.sbin/sysinst/util.c: revision 1.36
usr.sbin/sysinst/arch/playstation2/msg.md.de: revision 1.3
usr.sbin/sysinst/arch/i386/menus.md: revision 1.3
usr.sbin/sysinst/util.c: revision 1.37
usr.sbin/sysinst/part_edit.c: revision 1.11
usr.sbin/sysinst/arch/i386/msg.md.en: revision 1.2
usr.sbin/sysinst/util.c: revision 1.38
usr.sbin/sysinst/part_edit.c: revision 1.12
usr.sbin/sysinst/arch/i386/msg.md.en: revision 1.3
usr.sbin/sysinst/util.c: revision 1.39
usr.sbin/sysinst/part_edit.c: revision 1.13
usr.sbin/sysinst/arch/i386/msg.md.en: revision 1.4
usr.sbin/sysinst/disklabel.c: revision 1.15
usr.sbin/sysinst/bsddisklabel.c: revision 1.30
usr.sbin/sysinst/arch/i386/msg.md.es: revision 1.2
usr.sbin/sysinst/bsddisklabel.c: revision 1.31
usr.sbin/sysinst/arch/i386/msg.md.es: revision 1.3
usr.sbin/sysinst/arch/i386/msg.md.es: revision 1.4
usr.sbin/sysinst/mbr.h: revision 1.4
usr.sbin/sysinst/main.c: revision 1.18
usr.sbin/sysinst/partman.c: revision 1.44
usr.sbin/sysinst/msg.mi.de: revision 1.17
usr.sbin/sysinst/arch/i386/msg.md.fr: revision 1.2
usr.sbin/sysinst/msg.mi.de: revision 1.18
usr.sbin/sysinst/arch/i386/msg.md.fr: revision 1.3
usr.sbin/sysinst/arch/playstation2/msg.md.en: revision 1.3
usr.sbin/sysinst/arch/i386/msg.md.fr: revision 1.4
usr.sbin/sysinst/arch/amd64/md.c: revision 1.2
usr.sbin/sysinst/arch/ews4800mips/Makefile: revision 1.3
usr.sbin/sysinst/arch/playstation2/msg.md.es: revision 1.3
usr.sbin/sysinst/label.c: revision 1.13
usr.sbin/sysinst/Makefile.inc: revision 1.29
usr.sbin/sysinst/label.c: revision 1.14
usr.sbin/sysinst/util.c: revision 1.40
usr.sbin/sysinst/partitions.c: revision 1.5
usr.sbin/sysinst/arch/amd64/md.h: revision 1.8
usr.sbin/sysinst/msg.mi.es: revision 1.18
usr.sbin/sysinst/net.c: revision 1.34
usr.sbin/sysinst/msg.mi.es: revision 1.19
usr.sbin/sysinst/arch/i386/msg.md.pl: revision 1.2
usr.sbin/sysinst/arch/i386/md.c: revision 1.22
usr.sbin/sysinst/msg.mi.fr: revision 1.22
usr.sbin/sysinst/arch/playstation2/msg.md.fr: revision 1.3
usr.sbin/sysinst/arch/i386/msg.md.pl: revision 1.3
usr.sbin/sysinst/arch/i386/md.c: revision 1.23
usr.sbin/sysinst/msg.mi.pl: revision 1.25
usr.sbin/sysinst/msg.mi.fr: revision 1.23
usr.sbin/sysinst/arch/i386/msg.md.pl: revision 1.4
usr.sbin/sysinst/arch/i386/md.c: revision 1.24
usr.sbin/sysinst/partitions.h: revision 1.8
usr.sbin/sysinst/msg.mi.pl: revision 1.26
usr.sbin/sysinst/arch/i386/msg.md.de: revision 1.2
usr.sbin/sysinst/arch/i386/msg.md.de: revision 1.3
usr.sbin/sysinst/arch/i386/msg.md.de: revision 1.4
usr.sbin/sysinst/run.c: revision 1.13
usr.sbin/sysinst/defs.h: revision 1.46
usr.sbin/sysinst/install.c: revision 1.12
usr.sbin/sysinst/defs.h: revision 1.47
usr.sbin/sysinst/install.c: revision 1.13
usr.sbin/sysinst/defs.h: revision 1.48
Add options to the various partitioning stages that allow cloning of
alien partitions (optionally including data).
PR 54467: we trust our own sets, extract them with -P to allow symlink
redirection (especially for updates and chroot services - back out
once a better solution for those is implemented)
Make cloning support optional, so we can save some space on very small
install media.
Drop MBR and cloning support on crunched install media.
Make tar extraction flags depend on our usage of pax-as-tar or bsdtar.
Fix missing newlines in bios match display, pointed out by maxv.
Drop unused variable.
Fix table of bios geomatries
knf style adjustments
Make the bootblock selection menu more sane, pointed out by maxv
Make sure all menus have a translatable exit option (or none at all).
On amd64 support installation with a KASLR kernel, via "custom install"
and selecting the GENERIC_KASLR kernel set.
Setup /prekern and boot.cfg accordingly.
 1.10.2.2 05-Aug-2019  msaitoh Pull up following revision(s) (requested by martin in ticket #16):
usr.sbin/sysinst/label.c: revision 1.12
Fix copy&pasto: when we find a FFSv1 filesystem, properly record it
that way - so the correct bootblocks get installed on system upgrades.
 1.10.2.1 02-Aug-2019  msaitoh Pull up following revision(s) (requested by martin in ticket #4):
usr.sbin/sysinst/target.c: revision 1.9
usr.sbin/sysinst/disks.c: revision 1.45
usr.sbin/sysinst/label.c: revision 1.11
Do not strip the trailing / on root mounts when evaluation "last mounted
on". Fix some /dev/ and raw vs. block device confusion on system upgrades.
 1.32.2.1 31-May-2021  cjep sync with head
 1.46.2.3 14-Feb-2024  sborrill Pull up the following revisions(s) (requested by martin in ticket #594):
usr.sbin/sysinst/label.c: revision 1.51

PR 57927: when comparing old and new partition state during renumbering,
ignore differences in the install target flag - the backend might have
flipped it off already to ensure only a single partition is marked
as install target.
 1.46.2.2 26-Nov-2023  bouyer Pull up following revision(s) (requested by martin in ticket #471):
usr.sbin/sysinst/label.c: revision 1.50
usr.sbin/sysinst/util.c: revision 1.74
Force alignment of disk buffers to at least 8 byte.
Fixes PR 56434.
 1.46.2.1 02-Nov-2023  sborrill Pull up the following revisions(s) (requested by martin in ticket #442):
usr.sbin/sysinst/label.c: revision 1.49
usr.sbin/sysinst/msg.mi.de: revision 1.44
usr.sbin/sysinst/msg.mi.en: revision 1.47
usr.sbin/sysinst/msg.mi.es: revision 1.40
usr.sbin/sysinst/msg.mi.fr: revision 1.45
usr.sbin/sysinst/msg.mi.pl: revision 1.46

Switch to "-" (single minus) as input denotation for "no mount point"
in all translations and adjust the code accordingly.
 1.34 25-Jul-2025  martin On install media where we can check trust anchors, offer explicit
download of sets via https.
 1.33 21-Feb-2024  martin branches: 1.33.2;
Defer deletion of any color menu options untill the final menu (in the
selected language) has been loaded.
 1.32 17-Dec-2023  martin Add a https transfer method (sharing all host details with the http
transfer). Make this method the default for all downloads.

Try to make sure the binary pkg installation (which runs in a chroot
in the already installed system) can make use of SSL verification.

This does NOT fix the missing SSL verification in most install media
even if using https (due to not fully populated /etc/openssl/certs).
 1.31 09-Jun-2023  martin If the install medium does not come with any openssl trusted root certs,
tell ftp(1) not to verify trust chains when doing https downloads.
 1.30 10-Jul-2022  martin branches: 1.30.2;
Preparations to make the extended partitioning during normal installation
more usefull - pass an optional install_description to partman().
 1.29 28-Jan-2022  wiz sysinst: sync usage with man page
 1.28 28-Jan-2022  martin Add an option to set the directory where we look for message catalogs.
 1.27 31-Jan-2021  rillig sysinst: remove trailing whitespace from *.c *.h

In contrast to the messages files, this whitespace is not significant.
 1.26 19-Aug-2020  msaitoh s/ be be / be /
 1.25 12-May-2020  martin PR 55202: disable swapping if we started it due to low ram
 1.24 22-Apr-2020  joerg Don't depend on common symbol definitions.
 1.23 04-Mar-2020  martin PR 55045: strlcpy(NULL, ..., 0) considered harmfull in some implementations.
 1.22 19-Feb-2020  martin Remove unused "rel" global variable and make the -r option a no-op.
 1.21 19-Feb-2020  martin Use strlcpy in a few places to guarnatee 0-terminated strings
 1.20 16-Jan-2020  martin Fix /tmp tmpfs handling and on machines with enough RAM default to
creating a /tmp tmpfs with 25% of ram size limit. Suggested by ad@.
 1.19 11-Dec-2019  martin Get rid of the evbarm preliminary menu: do not bother to ask the user
whether this is a RPi - query the FDT instead.
 1.18 12-Nov-2019  martin Add options to the various partitioning stages that allow cloning of
alien partitions (optionally including data).
 1.17 22-Jun-2019  christos branches: 1.17.2;
no need to initialize fields that are already 0.
 1.16 12-Jun-2019  martin Rework internal data structures and "interfaces to user interface" functions
to get rid of all disklabel assumptions.

Previously (even for GPT partitioning) struct disklabel was used, which
obviously breaks large disk setups. Also many MD parts and parts of the
user interface assumed (a) a struct disklabel is used internally to
store partitioning information and (b) partitions are named 'a' ... $MAXPART.

Get rid of this and replace it with a quite abstract interface that should
be able to deal with all variants in partition storage:

- partitions are stored in a (partly abstract) struct disk_partitions
and most parts of it are only accessed via accessor functions provided
by a "partitioning scheme".

- implement partitioning schemes for MBR, disklabel and GPT (with likely
RDB [amiga] and Apple Partition Map [mac*] to follow soon)

- partitioning schemes may be cascaded, e.g. on x86 when using MBR as
"outer partitions", we have disklabel as "inner partitions".

- all user interface goes via accessor functions in the partitioning scheme,
some of which return pointers to special user interface descriptors
(e.g. to allow editing partition flags, which are scheme specific)

Overall the user interface changes (in this initial step) are minimal but
noticable. A new Anita is needed for automatic test setups - many thanks
to Andreas Gustafsson for lots of early testing and a new Anita version,
and to Manuel Bouyer for cooperation and tests of the Anita release.

This work was sponsored by The NetBSD Foundation, Inc.
 1.15 16-Dec-2018  martin Editor mishap in previous, pointed out by leot
 1.14 16-Dec-2018  martin Separate binary sets and binary pkg prefix from the machine, and set
it explicitly for evbarm*, evbmips* and evbsh3 so we get the correct
64bit pkgs on aarch64 and also have working defaults on the other
variants.
 1.13 07-Nov-2018  martin Unify handling of CDROM device names.
Skip CDs when looking for install targets (we do not support installing
onto a blueray with UDF).

Fix search for the default CDROM device and the CD we booted from
for ports with nonstandard CDROM device names.
 1.12 03-Nov-2018  martin Remove "usage" translations - they never could be displayed as we only select
the language later.
Extend usage display a bit and sync with reality.
 1.11 06-Oct-2018  martin Support sets in .tar.xz format
 1.10 20-Sep-2018  rin Add NOPARTMAN compile-time option, which drops extended partitioning
support provided by partman.c. It reduces, e.g., about 30KB for
crunched binary in atari install floppy.

OK christos
 1.9 12-Sep-2018  martin Try to properly guess a path on the ftp server for pkg binaries
and use that as default.

Assume for $N.99 (current) we can use $N.0. Otherwise strip all
RC*/STABLE* annotations and just use the plain numbers.
 1.8 11-Sep-2018  martin Split the host name used for ftp transfers from the one used for http
transfers. This is slightly inconsistent, as directories are still
shared - but this allows us to default to cdn/nycdn for http (which don't
support ftp).
 1.7 04-May-2017  sevan branches: 1.7.8; 1.7.10;
Drop main() prototype.
 1.6 14-Oct-2014  christos branches: 1.6.6;
Don't use asctime(localtime(time_t *)) because this is really ctime(time_t *)
and not checking the result of localtime can lead to tears.
Add a safectime() that always returns a good string, and add some debugging
so that we can see if there is indeed something wrong in the new libc time
code.
 1.5 19-Aug-2014  martin branches: 1.5.2;
if chdir() fails, try chdir /
 1.4 19-Aug-2014  martin Check return value from getenv() before using the value. Pointed out by
coverity scan.
 1.3 06-Aug-2014  martin branches: 1.3.2; 1.3.4;
Make sysinst use the catalog files installed in /usr/share/sysinst (if
available), fall back to . if not, or use build-in english otherwise.
 1.2 03-Aug-2014  martin (Finally) merge a slightly modified version of the 2012 GSoC results
from Eugene Lozovoy: add extended partitioning options to sysinst.
Still needs some testing and polishing, but it now is possible to use GPT
or to create a RAID set from scratch and install onto it.
 1.1 26-Jul-2014  dholland Move sysinst sources to usr.sbin.

This commit only physically moves the sources - there are no other
changes, to maximize the probability that this will be treated as a
rename if we ever do manage to migrate away from CVS.

Moving sysinst has been discussed on and off for years and has two
goals: making it easier to work on sysinst, and also making sysinst
available on running systems for use installing chroots and VM images
and other such things. None of the latter is possible yet, but as they
say, one thing at a time.

Doing this now was approved in an impromptu fashion by mrg, riz,
riastradh, me, and groo.
 1.3.4.2 27-Feb-2015  martin Pull up following revision(s) (requested by snj in ticket #554):
usr.sbin/sysinst/defs.h: revision 1.5
usr.sbin/sysinst/main.c: revision 1.6
usr.sbin/sysinst/net.c: revision 1.17
usr.sbin/sysinst/util.c: revision 1.5
usr.sbin/sysinst/run.c: revision 1.3
Don't use asctime(localtime(time_t *)) because this is really ctime(time_t *)
and not checking the result of localtime can lead to tears.
Add a safectime() that always returns a good string, and add some debugging
so that we can see if there is indeed something wrong in the new libc time
code.
 1.3.4.1 23-Aug-2014  riz Pull up following revision(s) (requested by martin in ticket #39):
usr.sbin/sysinst/main.c: revision 1.4
usr.sbin/sysinst/disks.c: revision 1.5
usr.sbin/sysinst/main.c: revision 1.5
usr.sbin/sysinst/mbr.c: revision 1.3
usr.sbin/sysinst/net.c: revision 1.3
usr.sbin/sysinst/net.c: revision 1.4
usr.sbin/sysinst/partman.c: revision 1.5
usr.sbin/sysinst/partman.c: revision 1.6
usr.sbin/sysinst/util.c: revision 1.4
Remove duplicate fclose(), pointed out by coverity scan.
Remove (accidently) duplicated code - pointed out by coverity scan.
Make sure the interface name is 0 terminated, pointed out by coverity scan.
Check return value from getenv() before using the value. Pointed out by
coverity scan.
Make an invariant more clear to avoid fals positives from coverity scan
if chdir() fails, try chdir /
Check return values from stat before comparing contents of the result
structures. Pointed out by coverity scan.
Cosmetic changes trying to appease coverity scan.
Make sure to not dereference a NULL pointer.
 1.3.2.2 10-Aug-2014  tls Rebase.
 1.3.2.1 06-Aug-2014  tls file main.c was added on branch tls-earlyentropy on 2014-08-10 07:00:24 +0000
 1.5.2.2 20-Aug-2014  tls Rebase to HEAD as of a few days ago.
 1.5.2.1 19-Aug-2014  tls file main.c was added on branch tls-maxphys on 2014-08-20 00:05:13 +0000
 1.6.6.1 11-May-2017  pgoyette Sync with HEAD
 1.7.10.2 13-Apr-2020  martin Mostly merge changes from HEAD upto 20200411
 1.7.10.1 10-Jun-2019  christos Sync with HEAD
 1.7.8.4 26-Dec-2018  pgoyette Sync with HEAD, resolve a few conflicts
 1.7.8.3 26-Nov-2018  pgoyette Sync with HEAD, resolve a couple of conflicts
 1.7.8.2 20-Oct-2018  pgoyette Sync with head
 1.7.8.1 30-Sep-2018  pgoyette Ssync with HEAD
 1.17.2.5 02-Feb-2022  msaitoh Pull up following revision(s) (requested by martin in ticket #1422):
usr.sbin/sysinst/util.c: revision 1.64
usr.sbin/sysinst/arch/hpcsh/md.c: revision 1.11
usr.sbin/sysinst/arch/alpha/md.c: revision 1.10
usr.sbin/sysinst/arch/sparc64/md.c: revision 1.7
usr.sbin/sysinst/arch/emips/md.c: revision 1.10
usr.sbin/sysinst/arch/cobalt/md.c: revision 1.15
usr.sbin/sysinst/arch/x68k/md.c: revision 1.12
usr.sbin/sysinst/arch/sandpoint/md.c: revision 1.10
usr.sbin/sysinst/arch/luna68k/md.c: revision 1.10
usr.sbin/sysinst/arch/hp300/md.c: revision 1.12
usr.sbin/sysinst/arch/vax/md.c: revision 1.8
usr.sbin/sysinst/arch/hpcmips/md.c: revision 1.10
usr.sbin/sysinst/target.c: revision 1.16
usr.sbin/sysinst/arch/mvme68k/md.c: revision 1.12
usr.sbin/sysinst/arch/arc/md.c: revision 1.14
usr.sbin/sysinst/target.c: revision 1.17
usr.sbin/sysinst/arch/i386/md.c: revision 1.34
usr.sbin/sysinst/arch/mac68k/md.c: revision 1.11
usr.sbin/sysinst/arch/atari/md.c: revision 1.8
usr.sbin/sysinst/arch/sgimips/md.c: revision 1.10
usr.sbin/sysinst/arch/acorn32/md.c: revision 1.8
usr.sbin/sysinst/install.c: revision 1.22
usr.sbin/sysinst/arch/amiga/md.c: revision 1.7
usr.sbin/sysinst/arch/cats/md.c: revision 1.6
usr.sbin/sysinst/arch/dummy/md.c: revision 1.7
usr.sbin/sysinst/arch/shark/md.c: revision 1.7
usr.sbin/sysinst/arch/pmax/md.c: revision 1.9
usr.sbin/sysinst/arch/newsmips/md.c: revision 1.7
usr.sbin/sysinst/arch/mipsco/md.c: revision 1.9
usr.sbin/sysinst/arch/landisk/md.c: revision 1.15
usr.sbin/sysinst/arch/hppa/md.c: revision 1.9
usr.sbin/sysinst/arch/prep/md.c: revision 1.14
usr.sbin/sysinst/defs.h: revision 1.77
usr.sbin/sysinst/arch/ofppc/md.c: revision 1.13
usr.sbin/sysinst/arch/ews4800mips/md.c: revision 1.8
usr.sbin/sysinst/defs.h: revision 1.78
usr.sbin/sysinst/arch/macppc/md.c: revision 1.7
usr.sbin/sysinst/arch/evbppc/md.c: revision 1.10
usr.sbin/sysinst/defs.h: revision 1.79
usr.sbin/sysinst/gpt.c: revision 1.27
usr.sbin/sysinst/arch/bebox/md.c: revision 1.10
usr.sbin/sysinst/gpt.c: revision 1.28
usr.sbin/sysinst/arch/sparc/md.c: revision 1.7
usr.sbin/sysinst/arch/evbsh3/md.c: revision 1.7
usr.sbin/sysinst/arch/evbarm/md.c: revision 1.22
usr.sbin/sysinst/arch/news68k/md.c: revision 1.8
usr.sbin/sysinst/upgrade.c: revision 1.19
usr.sbin/sysinst/arch/zaurus/md.c: revision 1.12
usr.sbin/sysinst/arch/playstation2/md.c: revision 1.10
usr.sbin/sysinst/arch/hpcarm/md.c: revision 1.11
usr.sbin/sysinst/arch/evbmips/md.c: revision 1.10
usr.sbin/sysinst/main.c: revision 1.28
Add an option to set the directory where we look for message catalogs.
Try to get rid of all wedges we created (after unmounting).
When upgrading, update the boot code post extraction from
the updated target file system.
Do not defer wedge deletions when we have nothing mounted.
Define and use a constant for maximum disk name length.
 1.17.2.4 15-Oct-2020  bouyer Pull up following revision(s) (requested by martin in ticket #1113):
usr.sbin/sysinst/bsddisklabel.c: revision 1.46
usr.sbin/sysinst/bsddisklabel.c: revision 1.47
usr.sbin/sysinst/disklabel.c: revision 1.40
usr.sbin/sysinst/arch/cobalt/md.c: revision 1.13
usr.sbin/sysinst/bsddisklabel.c: revision 1.48
usr.sbin/sysinst/disklabel.c: revision 1.41
usr.sbin/sysinst/arch/cobalt/md.c: revision 1.14
usr.sbin/sysinst/bsddisklabel.c: revision 1.49
usr.sbin/sysinst/disklabel.c: revision 1.42
usr.sbin/sysinst/Makefile.inc: revision 1.34
usr.sbin/sysinst/disks.c: revision 1.70
usr.sbin/sysinst/arch/hp300/md.c: revision 1.11
usr.sbin/sysinst/disks.c: revision 1.71
usr.sbin/sysinst/arch/i386/md.h: revision 1.8
usr.sbin/sysinst/arch/arc/md.c: revision 1.13
usr.sbin/sysinst/mbr.h: revision 1.5
usr.sbin/sysinst/mbr.h: revision 1.6
usr.sbin/sysinst/arch/mac68k/md.c: revision 1.10
usr.sbin/sysinst/bsddisklabel.c: revision 1.50
usr.sbin/sysinst/arch/acorn32/md.c: revision 1.7
usr.sbin/sysinst/bsddisklabel.c: revision 1.51
usr.sbin/sysinst/bsddisklabel.c: revision 1.52
usr.sbin/sysinst/bsddisklabel.c: revision 1.53
usr.sbin/sysinst/bsddisklabel.c: revision 1.54
usr.sbin/sysinst/bsddisklabel.c: revision 1.55
usr.sbin/sysinst/bsddisklabel.c: revision 1.56
usr.sbin/sysinst/arch/dummy/md.c: revision 1.6
usr.sbin/sysinst/arch/amd64/md.h: revision 1.9
usr.sbin/sysinst/arch/evbsh3/md.c: revision 1.6
usr.sbin/sysinst/arch/sparc/md.c: revision 1.6
usr.sbin/sysinst/arch/zaurus/md.c: revision 1.10
usr.sbin/sysinst/arch/x68k/md.c: revision 1.11
usr.sbin/sysinst/arch/sandpoint/md.c: revision 1.9
usr.sbin/sysinst/arch/vax/md.c: revision 1.7
usr.sbin/sysinst/arch/luna68k/md.c: revision 1.9
usr.sbin/sysinst/gpt.c: revision 1.19
usr.sbin/sysinst/arch/i386/md.c: revision 1.31
usr.sbin/sysinst/arch/i386/md.c: revision 1.32
usr.sbin/sysinst/arch/evbarm/md.c: revision 1.17
usr.sbin/sysinst/arch/evbarm/md.c: revision 1.18
usr.sbin/sysinst/arch/evbarm/md.c: revision 1.19
usr.sbin/sysinst/arch/shark/md.c: revision 1.6
usr.sbin/sysinst/arch/landisk/md.c: revision 1.14
usr.sbin/sysinst/util.c: revision 1.43
usr.sbin/sysinst/gpt.c: revision 1.20
usr.sbin/sysinst/util.c: revision 1.44
usr.sbin/sysinst/gpt.c: revision 1.21
usr.sbin/sysinst/gpt.c: revision 1.22
usr.sbin/sysinst/arch/evbarm/msg.md.en: revision 1.2
usr.sbin/sysinst/arch/ofppc/md.c: revision 1.11
usr.sbin/sysinst/util.c: revision 1.46
usr.sbin/sysinst/arch/ofppc/md.c: revision 1.12
usr.sbin/sysinst/util.c: revision 1.47
usr.sbin/sysinst/arch/evbarm/md.h: revision 1.6
usr.sbin/sysinst/util.c: revision 1.48
usr.sbin/sysinst/arch/evbarm/md.h: revision 1.7
usr.sbin/sysinst/arch/evbmips/md.c: revision 1.9
usr.sbin/sysinst/msg.mi.fr: revision 1.28
usr.sbin/sysinst/msg.mi.fr: revision 1.29
usr.sbin/sysinst/arch/sgimips/md.c: revision 1.9
usr.sbin/sysinst/arch/evbarm/Makefile: revision 1.3
usr.sbin/sysinst/msg.mi.de: revision 1.23
usr.sbin/sysinst/arch/hpcsh/md.c: revision 1.10
usr.sbin/sysinst/msg.mi.de: revision 1.24
usr.sbin/sysinst/install.c: revision 1.15
usr.sbin/sysinst/install.c: revision 1.16
usr.sbin/sysinst/arch/sparc64/md.c: revision 1.6
usr.sbin/sysinst/install.c: revision 1.17
usr.sbin/sysinst/install.c: revision 1.18
usr.sbin/sysinst/partitions.h: revision 1.16
usr.sbin/sysinst/install.c: revision 1.19
usr.sbin/sysinst/partitions.h: revision 1.17
usr.sbin/sysinst/arch/evbppc/md.c: revision 1.9
usr.sbin/sysinst/arch/playstation2/md.c: revision 1.9
usr.sbin/sysinst/partitions.h: revision 1.18
usr.sbin/sysinst/arch/hpcarm/md.c: revision 1.9
usr.sbin/sysinst/partitions.h: revision 1.19
usr.sbin/sysinst/msg.mi.es: revision 1.24
usr.sbin/sysinst/msg.mi.es: revision 1.25
usr.sbin/sysinst/msg.mi.es: revision 1.26
usr.sbin/sysinst/arch/zaurus/md.c: revision 1.9
usr.sbin/sysinst/target.c: revision 1.13
usr.sbin/sysinst/target.c: revision 1.14
usr.sbin/sysinst/part_edit.c: revision 1.17
usr.sbin/sysinst/part_edit.c: revision 1.18
usr.sbin/sysinst/msg.mi.fr: revision 1.30
usr.sbin/sysinst/arch/mvme68k/md.c: revision 1.11
usr.sbin/sysinst/part_edit.c: revision 1.19
usr.sbin/sysinst/msg.mi.fr: revision 1.31
usr.sbin/sysinst/arch/alpha/md.c: revision 1.9
usr.sbin/sysinst/msg.mi.en: revision 1.30
usr.sbin/sysinst/defs.h: revision 1.56
usr.sbin/sysinst/msg.mi.en: revision 1.31
usr.sbin/sysinst/defs.h: revision 1.57
usr.sbin/sysinst/msg.mi.en: revision 1.32
usr.sbin/sysinst/arch/amiga/md.c: revision 1.6
usr.sbin/sysinst/arch/hpcmips/md.c: revision 1.9
usr.sbin/sysinst/defs.h: revision 1.58
usr.sbin/sysinst/arch/cats/md.c: revision 1.5
usr.sbin/sysinst/defs.h: revision 1.59
usr.sbin/sysinst/arch/newsmips/md.c: revision 1.6
usr.sbin/sysinst/arch/pmax/md.c: revision 1.8
usr.sbin/sysinst/arch/mipsco/md.c: revision 1.8
usr.sbin/sysinst/part_edit.c: revision 1.20
usr.sbin/sysinst/part_edit.c: revision 1.21
usr.sbin/sysinst/arch/macppc/md.c: revision 1.6
usr.sbin/sysinst/part_edit.c: revision 1.22
usr.sbin/sysinst/part_edit.c: revision 1.23
usr.sbin/sysinst/part_edit.c: revision 1.24
usr.sbin/sysinst/defs.h: revision 1.60
usr.sbin/sysinst/arch/mac68k/Makefile: revision 1.3
usr.sbin/sysinst/defs.h: revision 1.61
usr.sbin/sysinst/defs.h: revision 1.63
usr.sbin/sysinst/defs.h: revision 1.64
usr.sbin/sysinst/defs.h: revision 1.65
usr.sbin/sysinst/label.c: revision 1.21
usr.sbin/sysinst/defs.h: revision 1.66
usr.sbin/sysinst/label.c: revision 1.22
usr.sbin/sysinst/defs.h: revision 1.67
usr.sbin/sysinst/label.c: revision 1.23
usr.sbin/sysinst/label.c: revision 1.24
usr.sbin/sysinst/label.c: revision 1.25
usr.sbin/sysinst/label.c: revision 1.26
usr.sbin/sysinst/label.c: revision 1.27
usr.sbin/sysinst/msg.mi.pl: revision 1.31
usr.sbin/sysinst/label.c: revision 1.28
usr.sbin/sysinst/msg.mi.pl: revision 1.32
usr.sbin/sysinst/label.c: revision 1.29
usr.sbin/sysinst/arch/atari/md.c: revision 1.7
usr.sbin/sysinst/disklabel.c: revision 1.36
usr.sbin/sysinst/disklabel.c: revision 1.37
usr.sbin/sysinst/disklabel.c: revision 1.38
usr.sbin/sysinst/disklabel.c: revision 1.39
usr.sbin/sysinst/arch/bebox/md.c: revision 1.9
usr.sbin/sysinst/mbr.c: revision 1.32
usr.sbin/sysinst/disks.c: revision 1.66
usr.sbin/sysinst/mbr.c: revision 1.33
usr.sbin/sysinst/disks.c: revision 1.67
usr.sbin/sysinst/mbr.c: revision 1.34
usr.sbin/sysinst/arch/emips/md.c: revision 1.9
usr.sbin/sysinst/disks.c: revision 1.68
usr.sbin/sysinst/partitions.c: revision 1.11
usr.sbin/sysinst/mbr.c: revision 1.35
usr.sbin/sysinst/disks.c: revision 1.69
usr.sbin/sysinst/mbr.c: revision 1.36
usr.sbin/sysinst/arch/hppa/md.c: revision 1.8
usr.sbin/sysinst/arch/prep/md.c: revision 1.13
usr.sbin/sysinst/label.c: revision 1.30
usr.sbin/sysinst/arch/ews4800mips/md.c: revision 1.7
usr.sbin/sysinst/main.c: revision 1.21
usr.sbin/sysinst/main.c: revision 1.22
usr.sbin/sysinst/main.c: revision 1.23
usr.sbin/sysinst/bsddisklabel.c: revision 1.40
usr.sbin/sysinst/main.c: revision 1.24
usr.sbin/sysinst/arch/cobalt/md.h: revision 1.6
usr.sbin/sysinst/bsddisklabel.c: revision 1.41
usr.sbin/sysinst/main.c: revision 1.25
usr.sbin/sysinst/arch/news68k/md.c: revision 1.7
usr.sbin/sysinst/bsddisklabel.c: revision 1.42
usr.sbin/sysinst/bsddisklabel.c: revision 1.43
usr.sbin/sysinst/bsddisklabel.c: revision 1.44
usr.sbin/sysinst/bsddisklabel.c: revision 1.45
Use strlcpy in a few places to guarnatee 0-terminated strings
Rever previous: the d_packname in struct disklabel is not NUL terminated.
Disable the warning instead.
Do not force -Os optimization (unless SMALLPROG)
Remove unused "rel" global variable and make the -r option a no-op.
PR 55045: strlcpy(NULL, ..., 0) considered harmfull in some implementations.
PR misc/54886: bump threshold for automatic/default creation of a tmpfs /tmp
up slightly (to 384 MB ram). This will make sure the default install has
a > 64 MB /tmp available (number pulled out of thin air, 64 MB is the minimum
required by the ZFS tests).
Don't depend on common symbol definitions.
boardype should not be common.
Redo the root-size-limit check again after we grew the root partition
for kernel dumps. Auto-enable the /usr partition if it overflows.
For all non-root partitions, default to FFSv2.
When extending a partition (to fill the total disk size) do respect
size limits.
Do not suggest a size limited partition for extension by default.
Minor tweak to previous: when forcing a /usr partition just to have an
arbitrary extendable partition, still use its default size initially.
At the end of a new installation save entropy.
Ooops, backout previous - twice the entropy saving is not needed.
Instead slightly improve the (slightly) hidden other code that already
did it.
PR 55202: disable swapping if we started it due to low ram
it's "its"
Remove "If you booted from a floppy" message
Set HAVE_INSTALL_IMAGE for evbarm
Change mountpoint of boot ext2fs from /stand to /ext2 to avoid conflict.
Should be pulled up to netbsd-9, with fixes of PR/55060.
MBR type for Ext2 should be MBR_PTYPE_LNXEXT2, not MBR_PTYPE_FAT12.
Silence -Wstringop-truncation for ``name'' in disp_selected_part().
This variable is used only for display, and truncation seems harmless.
PR 55572: avoid crash when answering the mount point prompt for a previously
empty mount point with an emptry sting.
When adding a new partition in the concrete partition editor, make sure
to set a pointer to the partition table interface in the new entry.
Otherwise we may end up not writing back the partitions at all, leading
to further fallout later.
Receipe to reproduce the issue from Frederic Fauberteau, thanks!
In the concrete partitions editor, after deleting the last partition move
the menu selection to the "add a partition" entry (instead of the sentinel
line which is not an active menu entry).
Typo in comment
Keep a list of all partition tables from which we have deleted partitions
and make sure we update those partition tables when writing partitions,
even if no install related partition remains on them.
Fix display of timezone selection menu
If there is no current partitioning manager assume we are editing the
current system and make target_already_root() return true.
Fixes various fallout when using sysinst post installation.
PR 55377: mark boot partitions in the partition size display, as suggested
by Izumi Tsutsui (minor modifications + all bugs by me)
PR 55378: do not assume RAW_PART to be either 2 or 3
PR 55379: avoid creating bogus /etc/fstab lines for /dev/cd* if no
cdrom is available.
PR 55381: try to deal with moved (but not yet saved) partitions when
calculating free space
Apply patch provided by Izumi Tsutsui in PR 55382: make ext2 partitions
show up in the outer (MBR) partition table, needed for example on Cobalt
where firmware boots from that partition.
PR 55384: detangle pm->ptstart from the "install" flag (selecting a
target partition). Instead introduce a new PTI_INSTALL_TARGET per partition
flag and deal with it in the partitioning backends.
Honour pm->ptstart when allocating new partitions - it is supposed to be
the first sector usable by NetBSD.
If we have no explicitly marke target root partition, make sure to set
the proper flag on the implicit one.
When merging existing partitions with desired target system layout
information, only force the "mount" flag if the existing partitions
has a valid mount point.
Add a heuristic to detect and properly mark EFI system partitions
when re-using pre-existing partitions.
When MD code requests a reserved area (at the start of the disk)
make sure to properly account for the "lost" space during all calculations
and especially when expanding the main partition to fill the disk.
Avoid using the global "pm" or a passed device descriptons when we are
passing disk limits explicitly anyway.
Simplify/fix a few rounding calculations.
When creating new partitions for "full disk" use, pass a install target
hint to the partitioning backend (for the outer NetBSD partition).
Use an install target hint to mark a new partition active.
When compiled with BOOTSEL support, also name the new partition "NetBSD".
Remove more pm->ptstart abuse - calculate values localy where needed
instead.
Fix editing start and size of not yet existing outer partitions.
Previously we abused pm->ptstart / pm->ptsize to pass the bounds of the
NetBSD outer partition to the inner partition editor - but now this is
not a valid assumption any more, so explicitly fix the bounds if an
outer partition exists.
Remove very strange code that special-cased MSDOS file systems and refused
to newfs the partition (despite explicit request to do so) if it was
mountable.
Accidently carried over from a dim and distant past, before we had
fsck_newfs.
PR 55536: when we find existing partition tables and have alternative
formats available, offer to delete partitions and create new ones from
scratch (in some other or the same on-disk format).
Minor fix to previous: fix condition when we offer the partition type
switch - it makes sense even if the disk is partitioned but has no valid
partitions.
Before forcing MBR partitions into our disklabel, make sure they are not
there yet - could happen in various paths when reusing existing partitions
(or parts of that) - previously we would blindly duplicate identical
partitions.
Ooops, part of previous was not meant to be included yet
When renumbering partitions (after deletions) be slightly more lax
in matching, to cope with differences between MBR EFI partitions and
disklabel MSDOS partitions.
PR 55142: on popular demand bring back expert options to adjust the
number of free inodes, block size and fragment size for FFS and LFS.
Fix copy & pasto noticed by Jason Mitchell: change the type of a GPT
partition via "gpt type" - not "gpt label".
Fix copy & pasto (missing "again" label)
Remove dead code
Move MBR writing (if any) post disklabel writing, otherwise strange
interactions happen.
Properly convert partition default sizes in MB to number of sectors
 1.17.2.3 28-Jan-2020  msaitoh Pull up following revision(s) (requested by martin in ticket #668):
usr.sbin/sysinst/arch/cobalt/md.c: revision 1.11
usr.sbin/sysinst/arch/cobalt/md.c: revision 1.12
usr.sbin/sysinst/arch/arc/md.c: revision 1.11
usr.sbin/sysinst/arch/arc/md.c: revision 1.12
usr.sbin/sysinst/partman.c: revision 1.43
usr.sbin/sysinst/partman.c: revision 1.46
usr.sbin/sysinst/partman.c: revision 1.47
usr.sbin/sysinst/partman.c: revision 1.48
usr.sbin/sysinst/partman.c: revision 1.49
usr.sbin/sysinst/msg.pm.fr: revision 1.2
usr.sbin/sysinst/upgrade.c: revision 1.14
usr.sbin/sysinst/arch/i386/md.c: revision 1.28
usr.sbin/sysinst/arch/i386/md.c: revision 1.29
usr.sbin/sysinst/arch/ofppc/md.c: revision 1.9
usr.sbin/sysinst/arch/sandpoint/md.c: revision 1.7
usr.sbin/sysinst/arch/sandpoint/md.c: revision 1.8
usr.sbin/sysinst/gpt.c: revision 1.14
usr.sbin/sysinst/gpt.c: revision 1.15
usr.sbin/sysinst/arch/luna68k/md.c: revision 1.8
usr.sbin/sysinst/gpt.c: revision 1.16
usr.sbin/sysinst/msg.pm.de: revision 1.2
usr.sbin/sysinst/arch/evbarm/md.c: revision 1.11
usr.sbin/sysinst/arch/evbarm/md.c: revision 1.12
usr.sbin/sysinst/arch/evbarm/md.c: revision 1.13
usr.sbin/sysinst/arch/evbarm/md.c: revision 1.14
usr.sbin/sysinst/sizemultname.c: revision 1.4
usr.sbin/sysinst/msg.pm.en: revision 1.2
usr.sbin/sysinst/arch/landisk/md.c: revision 1.12
usr.sbin/sysinst/util.c: revision 1.41
usr.sbin/sysinst/arch/landisk/md.c: revision 1.13
usr.sbin/sysinst/util.c: revision 1.42
usr.sbin/sysinst/arch/ofppc/md.c: revision 1.10
usr.sbin/sysinst/partitions.c: revision 1.9
usr.sbin/sysinst/arch/evbarm/md.h: revision 1.4
usr.sbin/sysinst/arch/evbarm/md.h: revision 1.5
usr.sbin/sysinst/arch/evbmips/md.c: revision 1.7
usr.sbin/sysinst/arch/evbmips/md.c: revision 1.8
usr.sbin/sysinst/msg.mi.fr: revision 1.25
usr.sbin/sysinst/msg.mi.de: revision 1.20
usr.sbin/sysinst/install.c: revision 1.14
usr.sbin/sysinst/partitions.h: revision 1.13
usr.sbin/sysinst/partitions.h: revision 1.14
usr.sbin/sysinst/arch/evbppc/md.c: revision 1.7
usr.sbin/sysinst/arch/playstation2/md.c: revision 1.7
usr.sbin/sysinst/msg.mi.en: revision 1.27
usr.sbin/sysinst/partitions.h: revision 1.15
usr.sbin/sysinst/arch/evbppc/md.c: revision 1.8
usr.sbin/sysinst/arch/hpcarm/md.c: revision 1.7
usr.sbin/sysinst/arch/playstation2/md.c: revision 1.8
usr.sbin/sysinst/msg.pm.pl: revision 1.2
usr.sbin/sysinst/arch/hpcarm/md.c: revision 1.8
usr.sbin/sysinst/msg.mi.es: revision 1.21
usr.sbin/sysinst/arch/zaurus/md.c: revision 1.7
usr.sbin/sysinst/target.c: revision 1.11
usr.sbin/sysinst/arch/zaurus/md.c: revision 1.8
usr.sbin/sysinst/part_edit.c: revision 1.14
usr.sbin/sysinst/part_edit.c: revision 1.15
usr.sbin/sysinst/part_edit.c: revision 1.16
usr.sbin/sysinst/defs.h: revision 1.50
usr.sbin/sysinst/defs.h: revision 1.51
usr.sbin/sysinst/defs.h: revision 1.52
usr.sbin/sysinst/defs.h: revision 1.53
usr.sbin/sysinst/defs.h: revision 1.54
usr.sbin/sysinst/arch/hpcmips/md.c: revision 1.7
usr.sbin/sysinst/arch/hpcmips/md.c: revision 1.8
usr.sbin/sysinst/arch/hpcsh/md.c: revision 1.8
usr.sbin/sysinst/msg.pm.es: revision 1.2
usr.sbin/sysinst/arch/hpcsh/md.c: revision 1.9
usr.sbin/sysinst/label.c: revision 1.18
usr.sbin/sysinst/label.c: revision 1.19
usr.sbin/sysinst/net.c: revision 1.35
usr.sbin/sysinst/msg.mi.pl: revision 1.28
usr.sbin/sysinst/disklabel.c: revision 1.28
usr.sbin/sysinst/disklabel.c: revision 1.29
usr.sbin/sysinst/mbr.c: revision 1.24
usr.sbin/sysinst/disks.c: revision 1.59
usr.sbin/sysinst/mbr.c: revision 1.25
usr.sbin/sysinst/mbr.c: revision 1.26
usr.sbin/sysinst/mbr.c: revision 1.27
usr.sbin/sysinst/mbr.c: revision 1.28
usr.sbin/sysinst/label.c: revision 1.20
usr.sbin/sysinst/mbr.c: revision 1.29
usr.sbin/sysinst/bsddisklabel.c: revision 1.34
usr.sbin/sysinst/bsddisklabel.c: revision 1.35
usr.sbin/sysinst/bsddisklabel.c: revision 1.36
usr.sbin/sysinst/bsddisklabel.c: revision 1.37
usr.sbin/sysinst/disklabel.c: revision 1.30
usr.sbin/sysinst/bsddisklabel.c: revision 1.38
usr.sbin/sysinst/disklabel.c: revision 1.31
usr.sbin/sysinst/disklabel.c: revision 1.32
usr.sbin/sysinst/disklabel.c: revision 1.33
usr.sbin/sysinst/disklabel.c: revision 1.34
usr.sbin/sysinst/disks.c: revision 1.60
usr.sbin/sysinst/disks.c: revision 1.61
usr.sbin/sysinst/arch/bebox/md.c: revision 1.7
usr.sbin/sysinst/disks.c: revision 1.62
usr.sbin/sysinst/arch/bebox/md.c: revision 1.8
usr.sbin/sysinst/mbr.c: revision 1.30
usr.sbin/sysinst/partitions.c: revision 1.10
usr.sbin/sysinst/arch/prep/md.c: revision 1.11
usr.sbin/sysinst/arch/prep/md.c: revision 1.12
usr.sbin/sysinst/menus.pm: revision 1.3
usr.sbin/sysinst/main.c: revision 1.20
usr.sbin/sysinst/menus.mi: revision 1.20
usr.sbin/sysinst/menus.mi: revision 1.21
avoid calling snprintf/strlcat with an input parameter the same
as the output. from martin@. fixes gcc 8 restrict warnings.
Finish conversion of extended partitioning parts to new abstract
backend interface. XXX still could use a lot of polishing.
Instead of a (bogus) attempt to query the model via ofctl, use the (now
fixed) sysctl hw.model instead.
When reading the secondary disklabel partitions from an existing disklabel
set the mbr partitions as parent.
Move the LABELSECTOR check and make it FS type specific - some partition
types (FFS, RAID) are allowed to overlap with the LABELSECTOR.
When asked to create a whole-disk partition for unknown usage, do not only
assert(false), but actually return an error (in case "assert" is a nop).
PR install/54787: when trying to derive proper alignement and first offset
from exisiting partitions, use the first partition offset if it is already
closer to the start of the disk than the prefered alignment - we can not
move existing partitions around.
Fix handling of inner/outer partitions (e.g. MBR and disklabel) in
extended partitioning:
- when editing a disk with such a schme, offer both partitions in two
steps
- when commiting changes save the inner partitions after the outer ones
Add a method to query the partitioning schemes "internal idea" of a
cylinder size - whatever that means in the real world.
Avoid using the global "pm" variable in utility functions - during
extended partitioning they may point to a different device.
Remove useless calls to get_ramsize() - return value is ignored and
the function has no side effects.
Fix /tmp tmpfs handling and on machines with enough RAM default to
creating a /tmp tmpfs with 25% of ram size limit. Suggested by ad@.
PR install/54872: fix printf argument order, sectors and heads were
swapped in the bios geometry display.
First try to bring evbarm installation closer to current reality.
hide disklabel_non_bootable() under NO_DISKLABEL_BOOT like the usage.
should fix most builds.
Deal with even stranger fictious empty disklabels (PR kern/54882).
Factor out all RAM size thresholds as defines to avoid magic numbers.
To work around PR misc/54886 bump the threshold for a tmpfs /tmp mount
up to 256 MB.
When retrying sets during extraction, reset the relevant statistics
to avoid counting retried sets multiple times.
Reported by kim.
Fix support for non-512-byte/sector disks again after I broke it when
introducing the abstract partition backends.
Use a few strlcpy() instead of strncpy() for network ioctl structs.
We seem to have no formal documentation stating the various
char if*_name[IFNAMSIZ]; /* if name, e.g. "en0" */
elements in ioctls are nul terminated, but the peanut gallery claims
it is so - and at least half of the code in-tree touching them agrees.
Too much disklabel magic happening in the kernel - to compensate force
MBR first when trying to identify the existing partitioning scheme of
a disk.
 1.17.2.2 17-Dec-2019  msaitoh Pull up following revision(s) (requested by martin in ticket #560):
usr.sbin/sysinst/partitions.h: revision 1.11
usr.sbin/sysinst/defs.h: revision 1.49
usr.sbin/sysinst/mbr.c: revision 1.23
usr.sbin/sysinst/msg.mi.en: revision 1.26
usr.sbin/sysinst/disks.c: revision 1.58
usr.sbin/sysinst/arch/evbarm/menus.md.pl: revision 1.2
usr.sbin/sysinst/msg.mi.es: revision 1.20
usr.sbin/sysinst/arch/mvme68k/md.c: revision 1.9
usr.sbin/sysinst/gpt.c: revision 1.13
usr.sbin/sysinst/arch/evbarm/md.c: revision 1.10
usr.sbin/sysinst/arch/arc/md.c: revision 1.10
usr.sbin/sysinst/disklabel.c: revision 1.18
usr.sbin/sysinst/bsddisklabel.c: revision 1.33
usr.sbin/sysinst/disklabel.c: revision 1.19
usr.sbin/sysinst/main.c: revision 1.19
usr.sbin/sysinst/partman.c: revision 1.45
usr.sbin/sysinst/arch/alpha/md.c: revision 1.7
usr.sbin/sysinst/msg.mi.de: revision 1.19
usr.sbin/sysinst/arch/evbarm/menus.md.en: revision 1.2
usr.sbin/sysinst/arch/x68k/md.h: revision 1.4
usr.sbin/sysinst/arch/x68k/md.c: revision 1.9
usr.sbin/sysinst/arch/evbarm/menus.md.es: revision 1.2
usr.sbin/sysinst/wskbd.c: revision 1.4
usr.sbin/sysinst/label.c: revision 1.15
usr.sbin/sysinst/arch/amiga/md.h: revision 1.5
usr.sbin/sysinst/label.c: revision 1.16
usr.sbin/sysinst/arch/hp300/md.c: revision 1.9
usr.sbin/sysinst/arch/emips/md.c: revision 1.8
usr.sbin/sysinst/label.c: revision 1.17
usr.sbin/sysinst/arch/pmax/md.c: revision 1.7
usr.sbin/sysinst/partitions.c: revision 1.6
usr.sbin/sysinst/arch/prep/md.c: revision 1.10
usr.sbin/sysinst/arch/mipsco/md.c: revision 1.7
usr.sbin/sysinst/partitions.c: revision 1.7
usr.sbin/sysinst/partitions.c: revision 1.8
usr.sbin/sysinst/arch/ews4800mips/md.c: revision 1.5
usr.sbin/sysinst/disklabel.c: revision 1.20
usr.sbin/sysinst/arch/evbarm/menus.md.fr: revision 1.2
usr.sbin/sysinst/msg.mi.fr: revision 1.24
usr.sbin/sysinst/disklabel.c: revision 1.21
usr.sbin/sysinst/partitions.h: revision 1.9
usr.sbin/sysinst/msg.mi.pl: revision 1.27
usr.sbin/sysinst/disklabel.c: revision 1.22
usr.sbin/sysinst/disklabel.c: revision 1.23
usr.sbin/sysinst/arch/i386/md.c: revision 1.27
usr.sbin/sysinst/disklabel.c: revision 1.24
usr.sbin/sysinst/disklabel.c: revision 1.25
usr.sbin/sysinst/arch/cobalt/md.h: revision 1.5
usr.sbin/sysinst/disklabel.c: revision 1.26
usr.sbin/sysinst/disklabel.c: revision 1.27
usr.sbin/sysinst/partitions.h: revision 1.10
usr.sbin/sysinst/arch/cobalt/md.c: revision 1.10
PR install/54582: allow MD code to disable on-disk presence verification
of "real" disklabels. Auto-enable this (at run time) when there is no other
partitioning scheme but disklabel configured.
Hard-coded enable this for x68k to allow using kernel based translations
for native Human68k partitions.
Get rid of the evbarm preliminary menu: do not bother to ask the user
whether this is a RPi - query the FDT instead.
PR 54065: add optional "old compat" variant of ext2fs in file system
type selection and use that as default for the cobalt boot file system.
For now rely on the kernel mapping native RDB partitions.
Fix detection of existing disklabels in the case when we only have
the disklabel partitioning scheme available.
Fix DISKLABEL_NO_ONDISK_VERIFY (accidently disabled in previous)
Fix inverted comparison
Do not try to change the keyboard layout if we are not running on the
console.
When trying to tell a fictious but empty label from a real one, skip
partition a if it has the same start and size as the raw partition.
Remove bogus assert.
When finding (paritioning scheme native) partition types for file systems
from our install description, pass the partition type (not only the file
system type). Sometimes (e.g. EFI boot partition on GPT) the filesystem
type (MSDOS) is not a unique selector.
Adapt MD parts to changes in get_fs_part_type (pass partition type).
If a fictious label has no RAW_PART assume there is no valid disk label.
Pass proper track size when initializing the default alignment - this is
important with sunlabels.
Fix overlapping partitions display
Reject (what we consider) empty/invalid fake disklabels no matter whether
we have other partitioning schemes available or not.
Do not show disklabel command invocation by default (only if there are
errors).
After installing boot blocks with RUN_NO_CLEAR (and handling the
potential errors) make sure to clear the stdscreen.
 1.17.2.1 17-Nov-2019  msaitoh Pull up following revision(s) (requested by martin in ticket #436):
usr.sbin/sysinst/disks.c: revision 1.55
usr.sbin/sysinst/msg.mi.en: revision 1.24
usr.sbin/sysinst/mbr.c: revision 1.22
usr.sbin/sysinst/disks.c: revision 1.56
usr.sbin/sysinst/msg.mi.en: revision 1.25
usr.sbin/sysinst/disks.c: revision 1.57
usr.sbin/sysinst/arch/playstation2/msg.md.pl: revision 1.3
usr.sbin/sysinst/Makefile.inc: revision 1.30
usr.sbin/sysinst/configmenu.c: revision 1.11
usr.sbin/sysinst/util.c: revision 1.35
usr.sbin/sysinst/gpt.c: revision 1.12
usr.sbin/sysinst/util.c: revision 1.36
usr.sbin/sysinst/arch/playstation2/msg.md.de: revision 1.3
usr.sbin/sysinst/arch/i386/menus.md: revision 1.3
usr.sbin/sysinst/util.c: revision 1.37
usr.sbin/sysinst/part_edit.c: revision 1.11
usr.sbin/sysinst/arch/i386/msg.md.en: revision 1.2
usr.sbin/sysinst/util.c: revision 1.38
usr.sbin/sysinst/part_edit.c: revision 1.12
usr.sbin/sysinst/arch/i386/msg.md.en: revision 1.3
usr.sbin/sysinst/util.c: revision 1.39
usr.sbin/sysinst/part_edit.c: revision 1.13
usr.sbin/sysinst/arch/i386/msg.md.en: revision 1.4
usr.sbin/sysinst/disklabel.c: revision 1.15
usr.sbin/sysinst/bsddisklabel.c: revision 1.30
usr.sbin/sysinst/arch/i386/msg.md.es: revision 1.2
usr.sbin/sysinst/bsddisklabel.c: revision 1.31
usr.sbin/sysinst/arch/i386/msg.md.es: revision 1.3
usr.sbin/sysinst/arch/i386/msg.md.es: revision 1.4
usr.sbin/sysinst/mbr.h: revision 1.4
usr.sbin/sysinst/main.c: revision 1.18
usr.sbin/sysinst/partman.c: revision 1.44
usr.sbin/sysinst/msg.mi.de: revision 1.17
usr.sbin/sysinst/arch/i386/msg.md.fr: revision 1.2
usr.sbin/sysinst/msg.mi.de: revision 1.18
usr.sbin/sysinst/arch/i386/msg.md.fr: revision 1.3
usr.sbin/sysinst/arch/playstation2/msg.md.en: revision 1.3
usr.sbin/sysinst/arch/i386/msg.md.fr: revision 1.4
usr.sbin/sysinst/arch/amd64/md.c: revision 1.2
usr.sbin/sysinst/arch/ews4800mips/Makefile: revision 1.3
usr.sbin/sysinst/arch/playstation2/msg.md.es: revision 1.3
usr.sbin/sysinst/label.c: revision 1.13
usr.sbin/sysinst/Makefile.inc: revision 1.29
usr.sbin/sysinst/label.c: revision 1.14
usr.sbin/sysinst/util.c: revision 1.40
usr.sbin/sysinst/partitions.c: revision 1.5
usr.sbin/sysinst/arch/amd64/md.h: revision 1.8
usr.sbin/sysinst/msg.mi.es: revision 1.18
usr.sbin/sysinst/net.c: revision 1.34
usr.sbin/sysinst/msg.mi.es: revision 1.19
usr.sbin/sysinst/arch/i386/msg.md.pl: revision 1.2
usr.sbin/sysinst/arch/i386/md.c: revision 1.22
usr.sbin/sysinst/msg.mi.fr: revision 1.22
usr.sbin/sysinst/arch/playstation2/msg.md.fr: revision 1.3
usr.sbin/sysinst/arch/i386/msg.md.pl: revision 1.3
usr.sbin/sysinst/arch/i386/md.c: revision 1.23
usr.sbin/sysinst/msg.mi.pl: revision 1.25
usr.sbin/sysinst/msg.mi.fr: revision 1.23
usr.sbin/sysinst/arch/i386/msg.md.pl: revision 1.4
usr.sbin/sysinst/arch/i386/md.c: revision 1.24
usr.sbin/sysinst/partitions.h: revision 1.8
usr.sbin/sysinst/msg.mi.pl: revision 1.26
usr.sbin/sysinst/arch/i386/msg.md.de: revision 1.2
usr.sbin/sysinst/arch/i386/msg.md.de: revision 1.3
usr.sbin/sysinst/arch/i386/msg.md.de: revision 1.4
usr.sbin/sysinst/run.c: revision 1.13
usr.sbin/sysinst/defs.h: revision 1.46
usr.sbin/sysinst/install.c: revision 1.12
usr.sbin/sysinst/defs.h: revision 1.47
usr.sbin/sysinst/install.c: revision 1.13
usr.sbin/sysinst/defs.h: revision 1.48
Add options to the various partitioning stages that allow cloning of
alien partitions (optionally including data).
PR 54467: we trust our own sets, extract them with -P to allow symlink
redirection (especially for updates and chroot services - back out
once a better solution for those is implemented)
Make cloning support optional, so we can save some space on very small
install media.
Drop MBR and cloning support on crunched install media.
Make tar extraction flags depend on our usage of pax-as-tar or bsdtar.
Fix missing newlines in bios match display, pointed out by maxv.
Drop unused variable.
Fix table of bios geomatries
knf style adjustments
Make the bootblock selection menu more sane, pointed out by maxv
Make sure all menus have a translatable exit option (or none at all).
On amd64 support installation with a KASLR kernel, via "custom install"
and selecting the GENERIC_KASLR kernel set.
Setup /prekern and boot.cfg accordingly.
 1.30.2.2 26-Dec-2023  snj Pull up following revision(s) (requested by martin in ticket #511):
usr.sbin/sysinst/configmenu.c: revision 1.18
usr.sbin/sysinst/defs.h: revision 1.90
usr.sbin/sysinst/main.c: revision 1.32
usr.sbin/sysinst/menus.entropy: revision 1.3
usr.sbin/sysinst/menus.mi: revision 1.29
usr.sbin/sysinst/net.c: revision 1.45
Add a https transfer method (sharing all host details with the http
transfer). Make this method the default for all downloads.
Try to make sure the binary pkg installation (which runs in a chroot
in the already installed system) can make use of SSL verification.
This does NOT fix the missing SSL verification in most install media
even if using https (due to not fully populated /etc/openssl/certs).
 1.30.2.1 23-Jun-2023  msaitoh Pull up following revision(s) (requested by martin in ticket #212):
usr.sbin/sysinst/main.c: revision 1.31
If the install medium does not come with any openssl trusted root certs,
tell ftp(1) not to verify trust chains when doing https downloads.
 1.33.2.1 02-Aug-2025  perseant Sync with HEAD
 1.48 11-Apr-2024  andvar fix typo in method name: part_attr_fornat_str -> part_attr_format_str.
 1.47 08-Feb-2024  andvar fix misplaced or missing "e" in words with "ment" ending (argument, implement,
increment, decrement, alignment), in comments, documentation, log messages.
 1.46 10-Jul-2022  martin We may try to extract the "last mounted on" field from EFI partitions
too.
 1.45 11-Jun-2022  martin Enhance support for the pseudo file system type "EFI System Partition".
 1.44 11-Jun-2022  martin Remove unused field.
 1.43 23-May-2022  andvar s/controll/control/ in comments.
 1.42 23-Mar-2022  andvar fix few typos for word "previous(ly)" in comments.
 1.41 24-Jan-2022  andvar s/begining/beginning/ in comments and messages.
 1.40 05-Dec-2021  msaitoh s/partiton/partition/
 1.39 09-May-2021  martin For FS_MSDOS report the MBR type as fs_sub_type.
 1.38 31-Jan-2021  rillig branches: 1.38.2;
sysinst: remove trailing whitespace from *.c *.h

In contrast to the messages files, this whitespace is not significant.
 1.37 23-Oct-2020  martin Do not force alignment of the first partition by default (which is
treated special to skip the first track), unless an existing partition
table hints at it.
 1.36 12-Oct-2020  martin PR 55536: when we find existing partition tables and have alternative
formats available, offer to delete partitions and create new ones from
scratch (in some other or the same on-disk format).
 1.35 10-Oct-2020  martin Use an install target hint to mark a new partition active.
When compiled with BOOTSEL support, also name the new partition "NetBSD".
 1.34 03-Oct-2020  martin PR 55384: detangle pm->ptstart from the "install" flag (selecting a
target partition). Instead introduce a new PTI_INSTALL_TARGET per partition
flag and deal with it in the partitioning backends.

Honour pm->ptstart when allocating new partitions - it is supposed to be
the first sector usable by NetBSD.
 1.33 29-Sep-2020  martin Apply patch provided by Izumi Tsutsui in PR 55382: make ext2 partitions
show up in the outer (MBR) partition table, needed for example on Cobalt
where firmware boots from that partition.
 1.32 22-Apr-2020  joerg Don't depend on common symbol definitions.
 1.31 06-Feb-2020  martin PR bin/54944: explicitly reject GPT protective MBRs.
 1.30 27-Jan-2020  martin Fix support for non-512-byte/sector disks again after I broke it when
introducing the abstract partition backends.
 1.29 20-Jan-2020  martin First try to bring evbarm installation closer to current reality.
 1.28 18-Jan-2020  martin PR install/54872: fix printf argument order, sectors and heads were
swapped in the bios geometry display.
 1.27 15-Jan-2020  martin Add a method to query the partitioning schemes "internal idea" of a
cylinder size - whatever that means in the real world.
 1.26 14-Jan-2020  martin PR install/54787: when trying to derive proper alignement and first offset
from exisiting partitions, use the first partition offset if it is already
closer to the start of the disk than the prefered alignment - we can not
move existing partitions around.
 1.25 09-Jan-2020  martin When reading the secondary disklabel partitions from an existing disklabel
set the mbr partitions as parent.
 1.24 09-Jan-2020  martin Finish conversion of extended partitioning parts to new abstract
backend interface. XXX still could use a lot of polishing.
 1.23 13-Dec-2019  martin When finding (paritioning scheme native) partition types for file systems
from our install description, pass the partition type (not only the file
system type). Sometimes (e.g. EFI boot partition on GPT) the filesystem
type (MSDOS) is not a unique selector.
 1.22 12-Nov-2019  martin Add options to the various partitioning stages that allow cloning of
alien partitions (optionally including data).
 1.21 27-Aug-2019  martin When requesting no special FS sub type, default to FAT32 with LBA.
Fixes one part of PR 54490.
 1.20 14-Aug-2019  martin On architectures that usually do MBR/disklabel, nevertheless deal with
pure/plain disklabel disks, and explicitly offer this as partitioning
option when bootability is not a concern.
 1.19 26-Jul-2019  martin branches: 1.19.2;
Strip trailing / from last mounted strings.
No idea how they happen, but for cgd root (init.root = "/altroot")
they have been reported to exist.
 1.18 25-Jul-2019  martin Do not free() an array embedded in another structure
 1.17 25-Jul-2019  martin Fix a few calloc() calls with wrong arg order (harmless, but for consistency)
 1.16 12-Jul-2019  martin Add (U)EFI system partition type
 1.15 20-Jun-2019  christos Use _fmt_ msg_ methods when formats are needed.
 1.14 19-Jun-2019  martin Deal with manualy set disk geometries more carefully to avoid a division
by zero.
 1.13 15-Jun-2019  martin When setting up a "use whole disk" single outer partition, force an
empty set of inner partitions immediately,

This avoids reading old (stale) partitions (e.g. disklabel that
survived cleaning and re-creating the MBR with the MBR NetBSD partition
starting at the same offset) later.
 1.12 15-Jun-2019  martin After deleting all partitions, reset alignment to the values we would
have used on an empty disk.
 1.11 12-Jun-2019  martin Rework internal data structures and "interfaces to user interface" functions
to get rid of all disklabel assumptions.

Previously (even for GPT partitioning) struct disklabel was used, which
obviously breaks large disk setups. Also many MD parts and parts of the
user interface assumed (a) a struct disklabel is used internally to
store partitioning information and (b) partitions are named 'a' ... $MAXPART.

Get rid of this and replace it with a quite abstract interface that should
be able to deal with all variants in partition storage:

- partitions are stored in a (partly abstract) struct disk_partitions
and most parts of it are only accessed via accessor functions provided
by a "partitioning scheme".

- implement partitioning schemes for MBR, disklabel and GPT (with likely
RDB [amiga] and Apple Partition Map [mac*] to follow soon)

- partitioning schemes may be cascaded, e.g. on x86 when using MBR as
"outer partitions", we have disklabel as "inner partitions".

- all user interface goes via accessor functions in the partitioning scheme,
some of which return pointers to special user interface descriptors
(e.g. to allow editing partition flags, which are scheme specific)

Overall the user interface changes (in this initial step) are minimal but
noticable. A new Anita is needed for automatic test setups - many thanks
to Andreas Gustafsson for lots of early testing and a new Anita version,
and to Manuel Bouyer for cooperation and tests of the Anita release.

This work was sponsored by The NetBSD Foundation, Inc.
 1.10 27-Nov-2018  martin Cosmetics: consistently use MEG and GIG defines for size calculations
 1.9 20-Nov-2018  martin Convert all static menu struct initializiations to C99 name initializer
format - prerequisite for an upcoming evil hack (tm).
No functional change intended.
 1.8 16-Nov-2018  martin Now that size estimates are not way off anymore, only double the size
for the minimal suggested partition.
 1.7 15-Nov-2018  martin Make use of the new positional parameters to better describe the first
partitioning step. Remove size limits/hints encoded in the translations
and replace them by values from the code.
 1.6 03-Jun-2018  martin branches: 1.6.2;
Add an option to install onto a pre-configured wedge.
Greatly simmplifies (U)EFI setups (but does not fully automate them yet).
 1.5 10-May-2015  martin branches: 1.5.8; 1.5.14;
Backout the previous incorrect fix for PR 49440 and redo it more globaly:
get rid of the global "yesno", introduce utility functions "ask_yesno()"
and "ask_noyes()" instead, greatly simplifying a lot of code.
Pass in a pointer to the return value to various "set source" menus.
 1.4 21-Oct-2014  martin On architectures that have no BIOS (and so do not set a BIOS geometry)
we need to initialize the globals bsec, bcyl and bhead before using
them.
 1.3 19-Aug-2014  martin branches: 1.3.2;
Remove (accidently) duplicated code - pointed out by coverity scan.
 1.2 03-Aug-2014  martin branches: 1.2.2; 1.2.4;
(Finally) merge a slightly modified version of the 2012 GSoC results
from Eugene Lozovoy: add extended partitioning options to sysinst.
Still needs some testing and polishing, but it now is possible to use GPT
or to create a RAID set from scratch and install onto it.
 1.1 26-Jul-2014  dholland Move sysinst sources to usr.sbin.

This commit only physically moves the sources - there are no other
changes, to maximize the probability that this will be treated as a
rename if we ever do manage to migrate away from CVS.

Moving sysinst has been discussed on and off for years and has two
goals: making it easier to work on sysinst, and also making sysinst
available on running systems for use installing chroots and VM images
and other such things. None of the latter is possible yet, but as they
say, one thing at a time.

Doing this now was approved in an impromptu fashion by mrg, riz,
riastradh, me, and groo.
 1.2.4.3 14-May-2015  snj Pull up following revision(s) (requested by martin in ticket #756):
usr.sbin/sysinst/arch/arc/md.c: revision 1.4
usr.sbin/sysinst/arch/atari/md.c: revision 1.3
usr.sbin/sysinst/arch/cobalt/md.c: revision 1.4
usr.sbin/sysinst/arch/emips/md.c: revision 1.3
usr.sbin/sysinst/arch/evbarm/md.c: revision 1.4
usr.sbin/sysinst/arch/evbarm64/md.c: revision 1.2
usr.sbin/sysinst/arch/hp300/md.c: revision 1.4
usr.sbin/sysinst/arch/i386/md.c: revision 1.6
usr.sbin/sysinst/arch/mac68k/md.c: revision 1.3
usr.sbin/sysinst/arch/mac68k/md.c: revision 1.4
usr.sbin/sysinst/arch/mac68k/menus.md.de: revisions 1.3, 1.4
usr.sbin/sysinst/arch/mac68k/menus.md.en: revisions 1.3, 1.4
usr.sbin/sysinst/arch/mac68k/menus.md.es: revisions 1.3, 1.4
usr.sbin/sysinst/arch/mac68k/menus.md.pl: revisions 1.3, 1.4
usr.sbin/sysinst/arch/mvme68k/md.c: revision 1.4
usr.sbin/sysinst/arch/ofppc/md.c: revision 1.3
usr.sbin/sysinst/arch/prep/md.c: revisions 1.3, 1.4
usr.sbin/sysinst/arch/prep/menus.md.en: revision 1.2
usr.sbin/sysinst/arch/x68k/md.c: revision 1.4
usr.sbin/sysinst/configmenu.c: revisions 1.4, 1.5
usr.sbin/sysinst/defs.h: revisions 1.8, 1.9
usr.sbin/sysinst/disks.c: revision 1.9
usr.sbin/sysinst/install.c: revision 1.4
usr.sbin/sysinst/label.c: revision 1.3
usr.sbin/sysinst/mbr.c: revision 1.5
usr.sbin/sysinst/menus.mi: revisions 1.9, 1.10
usr.sbin/sysinst/net.c: revisions 1.18-1.20
usr.sbin/sysinst/partman.c: revision 1.10
usr.sbin/sysinst/upgrade.c: revision 1.4
usr.sbin/sysinst/util.c: revisions 1.6, 1.7
Backout the previous incorrect fix for PR 49440 and redo it more globaly:
get rid of the global "yesno", introduce utility functions "ask_yesno()"
and "ask_noyes()" instead, greatly simplifying a lot of code.
Pass in a pointer to the return value to various "set source" menus.
--
Make it compile on architectures that do not support INET6 in sysinst
--
Remove a few more (ab-)usages of "yesno".
--
More (ab-)usages of "yesno"
--
Make "ask_yesno" and "ask_noyes" take a const char * as argument, moving
the deconst() dance into the utility functions and simplifying all callers.
--
Missed a few more "yesno" in previous
 1.2.4.2 22-Oct-2014  sborrill Pull up the following revisions(s) (requested by martin in ticket #153):
usr.sbin/sysinst/mbr.c: revision 1.4

On architectures that have no BIOS (and so do not set a BIOS geometry)
we need to initialize the globals bsec, bcyl and bhead before using
them.
 1.2.4.1 23-Aug-2014  riz Pull up following revision(s) (requested by martin in ticket #39):
usr.sbin/sysinst/main.c: revision 1.4
usr.sbin/sysinst/disks.c: revision 1.5
usr.sbin/sysinst/main.c: revision 1.5
usr.sbin/sysinst/mbr.c: revision 1.3
usr.sbin/sysinst/net.c: revision 1.3
usr.sbin/sysinst/net.c: revision 1.4
usr.sbin/sysinst/partman.c: revision 1.5
usr.sbin/sysinst/partman.c: revision 1.6
usr.sbin/sysinst/util.c: revision 1.4
Remove duplicate fclose(), pointed out by coverity scan.
Remove (accidently) duplicated code - pointed out by coverity scan.
Make sure the interface name is 0 terminated, pointed out by coverity scan.
Check return value from getenv() before using the value. Pointed out by
coverity scan.
Make an invariant more clear to avoid fals positives from coverity scan
if chdir() fails, try chdir /
Check return values from stat before comparing contents of the result
structures. Pointed out by coverity scan.
Cosmetic changes trying to appease coverity scan.
Make sure to not dereference a NULL pointer.
 1.2.2.2 10-Aug-2014  tls Rebase.
 1.2.2.1 03-Aug-2014  tls file mbr.c was added on branch tls-earlyentropy on 2014-08-10 07:00:24 +0000
 1.3.2.2 20-Aug-2014  tls Rebase to HEAD as of a few days ago.
 1.3.2.1 19-Aug-2014  tls file mbr.c was added on branch tls-maxphys on 2014-08-20 00:05:13 +0000
 1.5.14.3 26-Dec-2018  pgoyette Sync with HEAD, resolve a few conflicts
 1.5.14.2 26-Nov-2018  pgoyette Sync with HEAD, resolve a couple of conflicts
 1.5.14.1 25-Jun-2018  pgoyette Sync with HEAD
 1.5.8.1 05-Jun-2018  bouyer Pull up following revision(s) (requested by martin in ticket #860):
usr.sbin/sysinst/msg.mi.de: revision 1.7
usr.sbin/sysinst/arch/i386/md.c: revision 1.10
usr.sbin/sysinst/msg.mi.fr: revision 1.10
usr.sbin/sysinst/arch/i386/md.c: revision 1.11
usr.sbin/sysinst/menus.mi: revision 1.13
usr.sbin/sysinst/arch/i386/md.c: revision 1.9
usr.sbin/sysinst/msg.mi.es: revision 1.7
usr.sbin/sysinst/msg.mi.en: revision 1.11
usr.sbin/sysinst/mbr.c: revision 1.6
usr.sbin/sysinst/disks.c: revision 1.15
usr.sbin/sysinst/bsddisklabel.c: revision 1.4
usr.sbin/sysinst/disks.c: revision 1.16
usr.sbin/sysinst/msg.mi.pl: revision 1.9
usr.sbin/sysinst/defs.h: revision 1.11
Add an option to install onto a pre-configured wedge.
Greatly simmplifies (U)EFI setups (but does not fully automate them yet).
In the generated /etc/fstab, do not use the (temporary, during sysinst)
path name for the file in the comment, but instead the one it will
have on the target system.
Reorder fetch options: http before ftp
Default console device and speed to that used by syinst
add missing brace.
 1.6.2.2 13-Apr-2020  martin Mostly merge changes from HEAD upto 20200411
 1.6.2.1 10-Jun-2019  christos Sync with HEAD
 1.19.2.9 12-May-2021  msaitoh Pull up following revision(s) (requested by martin in ticket #1271):
usr.sbin/sysinst/mbr.c: revision 1.39
usr.sbin/sysinst/label.c: revision 1.33
usr.sbin/sysinst/arch/evbarm/md.c: revision 1.21
For FS_MSDOS report the MBR type as fs_sub_type.
Keep MSDOS partition size and subtype consistent - some u-boot are picky.
Do not allow editing of start/size/fs-type for partitions that
are already carved in stone (e.g. defined in an outer MBR while we are
editing the inner disklabel).
 1.19.2.8 04-Nov-2020  sborrill Pull up the following revisions(s) (requested by martin in ticket #1119):
usr.sbin/sysinst/mbr.c: revision 1.37

Do not force alignment of the first partition by default (which is
treated special to skip the first track), unless an existing partition
table hints at it.
 1.19.2.7 15-Oct-2020  bouyer Pull up following revision(s) (requested by martin in ticket #1113):
usr.sbin/sysinst/bsddisklabel.c: revision 1.46
usr.sbin/sysinst/bsddisklabel.c: revision 1.47
usr.sbin/sysinst/disklabel.c: revision 1.40
usr.sbin/sysinst/arch/cobalt/md.c: revision 1.13
usr.sbin/sysinst/bsddisklabel.c: revision 1.48
usr.sbin/sysinst/disklabel.c: revision 1.41
usr.sbin/sysinst/arch/cobalt/md.c: revision 1.14
usr.sbin/sysinst/bsddisklabel.c: revision 1.49
usr.sbin/sysinst/disklabel.c: revision 1.42
usr.sbin/sysinst/Makefile.inc: revision 1.34
usr.sbin/sysinst/disks.c: revision 1.70
usr.sbin/sysinst/arch/hp300/md.c: revision 1.11
usr.sbin/sysinst/disks.c: revision 1.71
usr.sbin/sysinst/arch/i386/md.h: revision 1.8
usr.sbin/sysinst/arch/arc/md.c: revision 1.13
usr.sbin/sysinst/mbr.h: revision 1.5
usr.sbin/sysinst/mbr.h: revision 1.6
usr.sbin/sysinst/arch/mac68k/md.c: revision 1.10
usr.sbin/sysinst/bsddisklabel.c: revision 1.50
usr.sbin/sysinst/arch/acorn32/md.c: revision 1.7
usr.sbin/sysinst/bsddisklabel.c: revision 1.51
usr.sbin/sysinst/bsddisklabel.c: revision 1.52
usr.sbin/sysinst/bsddisklabel.c: revision 1.53
usr.sbin/sysinst/bsddisklabel.c: revision 1.54
usr.sbin/sysinst/bsddisklabel.c: revision 1.55
usr.sbin/sysinst/bsddisklabel.c: revision 1.56
usr.sbin/sysinst/arch/dummy/md.c: revision 1.6
usr.sbin/sysinst/arch/amd64/md.h: revision 1.9
usr.sbin/sysinst/arch/evbsh3/md.c: revision 1.6
usr.sbin/sysinst/arch/sparc/md.c: revision 1.6
usr.sbin/sysinst/arch/zaurus/md.c: revision 1.10
usr.sbin/sysinst/arch/x68k/md.c: revision 1.11
usr.sbin/sysinst/arch/sandpoint/md.c: revision 1.9
usr.sbin/sysinst/arch/vax/md.c: revision 1.7
usr.sbin/sysinst/arch/luna68k/md.c: revision 1.9
usr.sbin/sysinst/gpt.c: revision 1.19
usr.sbin/sysinst/arch/i386/md.c: revision 1.31
usr.sbin/sysinst/arch/i386/md.c: revision 1.32
usr.sbin/sysinst/arch/evbarm/md.c: revision 1.17
usr.sbin/sysinst/arch/evbarm/md.c: revision 1.18
usr.sbin/sysinst/arch/evbarm/md.c: revision 1.19
usr.sbin/sysinst/arch/shark/md.c: revision 1.6
usr.sbin/sysinst/arch/landisk/md.c: revision 1.14
usr.sbin/sysinst/util.c: revision 1.43
usr.sbin/sysinst/gpt.c: revision 1.20
usr.sbin/sysinst/util.c: revision 1.44
usr.sbin/sysinst/gpt.c: revision 1.21
usr.sbin/sysinst/gpt.c: revision 1.22
usr.sbin/sysinst/arch/evbarm/msg.md.en: revision 1.2
usr.sbin/sysinst/arch/ofppc/md.c: revision 1.11
usr.sbin/sysinst/util.c: revision 1.46
usr.sbin/sysinst/arch/ofppc/md.c: revision 1.12
usr.sbin/sysinst/util.c: revision 1.47
usr.sbin/sysinst/arch/evbarm/md.h: revision 1.6
usr.sbin/sysinst/util.c: revision 1.48
usr.sbin/sysinst/arch/evbarm/md.h: revision 1.7
usr.sbin/sysinst/arch/evbmips/md.c: revision 1.9
usr.sbin/sysinst/msg.mi.fr: revision 1.28
usr.sbin/sysinst/msg.mi.fr: revision 1.29
usr.sbin/sysinst/arch/sgimips/md.c: revision 1.9
usr.sbin/sysinst/arch/evbarm/Makefile: revision 1.3
usr.sbin/sysinst/msg.mi.de: revision 1.23
usr.sbin/sysinst/arch/hpcsh/md.c: revision 1.10
usr.sbin/sysinst/msg.mi.de: revision 1.24
usr.sbin/sysinst/install.c: revision 1.15
usr.sbin/sysinst/install.c: revision 1.16
usr.sbin/sysinst/arch/sparc64/md.c: revision 1.6
usr.sbin/sysinst/install.c: revision 1.17
usr.sbin/sysinst/install.c: revision 1.18
usr.sbin/sysinst/partitions.h: revision 1.16
usr.sbin/sysinst/install.c: revision 1.19
usr.sbin/sysinst/partitions.h: revision 1.17
usr.sbin/sysinst/arch/evbppc/md.c: revision 1.9
usr.sbin/sysinst/arch/playstation2/md.c: revision 1.9
usr.sbin/sysinst/partitions.h: revision 1.18
usr.sbin/sysinst/arch/hpcarm/md.c: revision 1.9
usr.sbin/sysinst/partitions.h: revision 1.19
usr.sbin/sysinst/msg.mi.es: revision 1.24
usr.sbin/sysinst/msg.mi.es: revision 1.25
usr.sbin/sysinst/msg.mi.es: revision 1.26
usr.sbin/sysinst/arch/zaurus/md.c: revision 1.9
usr.sbin/sysinst/target.c: revision 1.13
usr.sbin/sysinst/target.c: revision 1.14
usr.sbin/sysinst/part_edit.c: revision 1.17
usr.sbin/sysinst/part_edit.c: revision 1.18
usr.sbin/sysinst/msg.mi.fr: revision 1.30
usr.sbin/sysinst/arch/mvme68k/md.c: revision 1.11
usr.sbin/sysinst/part_edit.c: revision 1.19
usr.sbin/sysinst/msg.mi.fr: revision 1.31
usr.sbin/sysinst/arch/alpha/md.c: revision 1.9
usr.sbin/sysinst/msg.mi.en: revision 1.30
usr.sbin/sysinst/defs.h: revision 1.56
usr.sbin/sysinst/msg.mi.en: revision 1.31
usr.sbin/sysinst/defs.h: revision 1.57
usr.sbin/sysinst/msg.mi.en: revision 1.32
usr.sbin/sysinst/arch/amiga/md.c: revision 1.6
usr.sbin/sysinst/arch/hpcmips/md.c: revision 1.9
usr.sbin/sysinst/defs.h: revision 1.58
usr.sbin/sysinst/arch/cats/md.c: revision 1.5
usr.sbin/sysinst/defs.h: revision 1.59
usr.sbin/sysinst/arch/newsmips/md.c: revision 1.6
usr.sbin/sysinst/arch/pmax/md.c: revision 1.8
usr.sbin/sysinst/arch/mipsco/md.c: revision 1.8
usr.sbin/sysinst/part_edit.c: revision 1.20
usr.sbin/sysinst/part_edit.c: revision 1.21
usr.sbin/sysinst/arch/macppc/md.c: revision 1.6
usr.sbin/sysinst/part_edit.c: revision 1.22
usr.sbin/sysinst/part_edit.c: revision 1.23
usr.sbin/sysinst/part_edit.c: revision 1.24
usr.sbin/sysinst/defs.h: revision 1.60
usr.sbin/sysinst/arch/mac68k/Makefile: revision 1.3
usr.sbin/sysinst/defs.h: revision 1.61
usr.sbin/sysinst/defs.h: revision 1.63
usr.sbin/sysinst/defs.h: revision 1.64
usr.sbin/sysinst/defs.h: revision 1.65
usr.sbin/sysinst/label.c: revision 1.21
usr.sbin/sysinst/defs.h: revision 1.66
usr.sbin/sysinst/label.c: revision 1.22
usr.sbin/sysinst/defs.h: revision 1.67
usr.sbin/sysinst/label.c: revision 1.23
usr.sbin/sysinst/label.c: revision 1.24
usr.sbin/sysinst/label.c: revision 1.25
usr.sbin/sysinst/label.c: revision 1.26
usr.sbin/sysinst/label.c: revision 1.27
usr.sbin/sysinst/msg.mi.pl: revision 1.31
usr.sbin/sysinst/label.c: revision 1.28
usr.sbin/sysinst/msg.mi.pl: revision 1.32
usr.sbin/sysinst/label.c: revision 1.29
usr.sbin/sysinst/arch/atari/md.c: revision 1.7
usr.sbin/sysinst/disklabel.c: revision 1.36
usr.sbin/sysinst/disklabel.c: revision 1.37
usr.sbin/sysinst/disklabel.c: revision 1.38
usr.sbin/sysinst/disklabel.c: revision 1.39
usr.sbin/sysinst/arch/bebox/md.c: revision 1.9
usr.sbin/sysinst/mbr.c: revision 1.32
usr.sbin/sysinst/disks.c: revision 1.66
usr.sbin/sysinst/mbr.c: revision 1.33
usr.sbin/sysinst/disks.c: revision 1.67
usr.sbin/sysinst/mbr.c: revision 1.34
usr.sbin/sysinst/arch/emips/md.c: revision 1.9
usr.sbin/sysinst/disks.c: revision 1.68
usr.sbin/sysinst/partitions.c: revision 1.11
usr.sbin/sysinst/mbr.c: revision 1.35
usr.sbin/sysinst/disks.c: revision 1.69
usr.sbin/sysinst/mbr.c: revision 1.36
usr.sbin/sysinst/arch/hppa/md.c: revision 1.8
usr.sbin/sysinst/arch/prep/md.c: revision 1.13
usr.sbin/sysinst/label.c: revision 1.30
usr.sbin/sysinst/arch/ews4800mips/md.c: revision 1.7
usr.sbin/sysinst/main.c: revision 1.21
usr.sbin/sysinst/main.c: revision 1.22
usr.sbin/sysinst/main.c: revision 1.23
usr.sbin/sysinst/bsddisklabel.c: revision 1.40
usr.sbin/sysinst/main.c: revision 1.24
usr.sbin/sysinst/arch/cobalt/md.h: revision 1.6
usr.sbin/sysinst/bsddisklabel.c: revision 1.41
usr.sbin/sysinst/main.c: revision 1.25
usr.sbin/sysinst/arch/news68k/md.c: revision 1.7
usr.sbin/sysinst/bsddisklabel.c: revision 1.42
usr.sbin/sysinst/bsddisklabel.c: revision 1.43
usr.sbin/sysinst/bsddisklabel.c: revision 1.44
usr.sbin/sysinst/bsddisklabel.c: revision 1.45
Use strlcpy in a few places to guarnatee 0-terminated strings
Rever previous: the d_packname in struct disklabel is not NUL terminated.
Disable the warning instead.
Do not force -Os optimization (unless SMALLPROG)
Remove unused "rel" global variable and make the -r option a no-op.
PR 55045: strlcpy(NULL, ..., 0) considered harmfull in some implementations.
PR misc/54886: bump threshold for automatic/default creation of a tmpfs /tmp
up slightly (to 384 MB ram). This will make sure the default install has
a > 64 MB /tmp available (number pulled out of thin air, 64 MB is the minimum
required by the ZFS tests).
Don't depend on common symbol definitions.
boardype should not be common.
Redo the root-size-limit check again after we grew the root partition
for kernel dumps. Auto-enable the /usr partition if it overflows.
For all non-root partitions, default to FFSv2.
When extending a partition (to fill the total disk size) do respect
size limits.
Do not suggest a size limited partition for extension by default.
Minor tweak to previous: when forcing a /usr partition just to have an
arbitrary extendable partition, still use its default size initially.
At the end of a new installation save entropy.
Ooops, backout previous - twice the entropy saving is not needed.
Instead slightly improve the (slightly) hidden other code that already
did it.
PR 55202: disable swapping if we started it due to low ram
it's "its"
Remove "If you booted from a floppy" message
Set HAVE_INSTALL_IMAGE for evbarm
Change mountpoint of boot ext2fs from /stand to /ext2 to avoid conflict.
Should be pulled up to netbsd-9, with fixes of PR/55060.
MBR type for Ext2 should be MBR_PTYPE_LNXEXT2, not MBR_PTYPE_FAT12.
Silence -Wstringop-truncation for ``name'' in disp_selected_part().
This variable is used only for display, and truncation seems harmless.
PR 55572: avoid crash when answering the mount point prompt for a previously
empty mount point with an emptry sting.
When adding a new partition in the concrete partition editor, make sure
to set a pointer to the partition table interface in the new entry.
Otherwise we may end up not writing back the partitions at all, leading
to further fallout later.
Receipe to reproduce the issue from Frederic Fauberteau, thanks!
In the concrete partitions editor, after deleting the last partition move
the menu selection to the "add a partition" entry (instead of the sentinel
line which is not an active menu entry).
Typo in comment
Keep a list of all partition tables from which we have deleted partitions
and make sure we update those partition tables when writing partitions,
even if no install related partition remains on them.
Fix display of timezone selection menu
If there is no current partitioning manager assume we are editing the
current system and make target_already_root() return true.
Fixes various fallout when using sysinst post installation.
PR 55377: mark boot partitions in the partition size display, as suggested
by Izumi Tsutsui (minor modifications + all bugs by me)
PR 55378: do not assume RAW_PART to be either 2 or 3
PR 55379: avoid creating bogus /etc/fstab lines for /dev/cd* if no
cdrom is available.
PR 55381: try to deal with moved (but not yet saved) partitions when
calculating free space
Apply patch provided by Izumi Tsutsui in PR 55382: make ext2 partitions
show up in the outer (MBR) partition table, needed for example on Cobalt
where firmware boots from that partition.
PR 55384: detangle pm->ptstart from the "install" flag (selecting a
target partition). Instead introduce a new PTI_INSTALL_TARGET per partition
flag and deal with it in the partitioning backends.
Honour pm->ptstart when allocating new partitions - it is supposed to be
the first sector usable by NetBSD.
If we have no explicitly marke target root partition, make sure to set
the proper flag on the implicit one.
When merging existing partitions with desired target system layout
information, only force the "mount" flag if the existing partitions
has a valid mount point.
Add a heuristic to detect and properly mark EFI system partitions
when re-using pre-existing partitions.
When MD code requests a reserved area (at the start of the disk)
make sure to properly account for the "lost" space during all calculations
and especially when expanding the main partition to fill the disk.
Avoid using the global "pm" or a passed device descriptons when we are
passing disk limits explicitly anyway.
Simplify/fix a few rounding calculations.
When creating new partitions for "full disk" use, pass a install target
hint to the partitioning backend (for the outer NetBSD partition).
Use an install target hint to mark a new partition active.
When compiled with BOOTSEL support, also name the new partition "NetBSD".
Remove more pm->ptstart abuse - calculate values localy where needed
instead.
Fix editing start and size of not yet existing outer partitions.
Previously we abused pm->ptstart / pm->ptsize to pass the bounds of the
NetBSD outer partition to the inner partition editor - but now this is
not a valid assumption any more, so explicitly fix the bounds if an
outer partition exists.
Remove very strange code that special-cased MSDOS file systems and refused
to newfs the partition (despite explicit request to do so) if it was
mountable.
Accidently carried over from a dim and distant past, before we had
fsck_newfs.
PR 55536: when we find existing partition tables and have alternative
formats available, offer to delete partitions and create new ones from
scratch (in some other or the same on-disk format).
Minor fix to previous: fix condition when we offer the partition type
switch - it makes sense even if the disk is partitioned but has no valid
partitions.
Before forcing MBR partitions into our disklabel, make sure they are not
there yet - could happen in various paths when reusing existing partitions
(or parts of that) - previously we would blindly duplicate identical
partitions.
Ooops, part of previous was not meant to be included yet
When renumbering partitions (after deletions) be slightly more lax
in matching, to cope with differences between MBR EFI partitions and
disklabel MSDOS partitions.
PR 55142: on popular demand bring back expert options to adjust the
number of free inodes, block size and fragment size for FFS and LFS.
Fix copy & pasto noticed by Jason Mitchell: change the type of a GPT
partition via "gpt type" - not "gpt label".
Fix copy & pasto (missing "again" label)
Remove dead code
Move MBR writing (if any) post disklabel writing, otherwise strange
interactions happen.
Properly convert partition default sizes in MB to number of sectors
 1.19.2.6 10-Feb-2020  bouyer Pull up following revision(s) (requested by martin in ticket #693):
usr.sbin/sysinst/arch/x68k/msg.md.en: revision 1.2
usr.sbin/sysinst/arch/x68k/md.c: revision 1.10
usr.sbin/sysinst/arch/mvme68k/msg.md.fr: revision 1.2
usr.sbin/sysinst/arch/x68k/msg.md.en: revision 1.3
usr.sbin/sysinst/arch/mvme68k/msg.md.fr: revision 1.3
usr.sbin/sysinst/msg.mi.en: revision 1.28
usr.sbin/sysinst/arch/hp300/md.c: revision 1.10
usr.sbin/sysinst/msg.mi.es: revision 1.22
usr.sbin/sysinst/target.c: revision 1.12
usr.sbin/sysinst/arch/mvme68k/md.c: revision 1.10
usr.sbin/sysinst/arch/i386/md.c: revision 1.30
usr.sbin/sysinst/arch/mvme68k/msg.md.pl: revision 1.2
usr.sbin/sysinst/arch/mvme68k/msg.md.pl: revision 1.3
usr.sbin/sysinst/bsddisklabel.c: revision 1.39
usr.sbin/sysinst/arch/mvme68k/msg.md.de: revision 1.2
usr.sbin/sysinst/arch/mac68k/md.c: revision 1.9
usr.sbin/sysinst/disklabel.c: revision 1.35
usr.sbin/sysinst/arch/mvme68k/msg.md.de: revision 1.3
usr.sbin/sysinst/defs.h: revision 1.55
usr.sbin/sysinst/disks.c: revision 1.63
usr.sbin/sysinst/disks.c: revision 1.64
usr.sbin/sysinst/mbr.c: revision 1.31
usr.sbin/sysinst/disks.c: revision 1.65
usr.sbin/sysinst/txtwalk.c: revision 1.3
usr.sbin/sysinst/txtwalk.c: revision 1.4
usr.sbin/sysinst/arch/mvme68k/msg.md.en: revision 1.2
usr.sbin/sysinst/arch/mvme68k/msg.md.en: revision 1.3
usr.sbin/sysinst/msg.mi.fr: revision 1.26
usr.sbin/sysinst/msg.mi.pl: revision 1.29
usr.sbin/sysinst/arch/mvme68k/msg.md.es: revision 1.2
usr.sbin/sysinst/upgrade.c: revision 1.15
usr.sbin/sysinst/arch/mvme68k/msg.md.es: revision 1.3
usr.sbin/sysinst/upgrade.c: revision 1.16
usr.sbin/sysinst/partman.c: revision 1.50
usr.sbin/sysinst/msg.mi.de: revision 1.21
remove unused "emptypart" message (or moved to ifdef notyet area)
PR install/54921: message "ordering" takes a %s argument.
PR install/54921: skip non-user partitions when checking for overlaps
bootxx_name() - fix oversight in previous change (do not assume first
partition is the root partition)
PR install/54934: always use -f on the installboot invocation. We come
here post-newfs (and maybe should have dd'd zeros to the start of the
disk before newfs instead).
Remove a bogus assert: when reading disklabel partitions and the outer
(MBR) partitioning has changed, but the changes have not yet been written
back to disk, we need to ignore the kernels idea of the disklabel and
instead continue with an empty one.
Deal with partitioning schemes having no inner counterpart.
Avoid NULL derefs.
Do not assum a partitioning scheme that supports innner partitions always
needs to actually have such partitions defined.
PR bin/54944: deal with escaped spaces in NAME= syntax in /etc/fstab.
PR bin/54944: explicitly reject GPT protective MBRs.
PR bin/54944: make the "explicit single wedge" selection also work for
upgrades.
Reformat a query to add an automatically detected swap partition
so it fits on narrow screens.
Make re-install sets also work for an explicit selected root wedge
Fix copy&pasto in previous - from kre.
Only a single partition can ever have the "extend" flag (grow to available
size).
Do not use -P for tar extractions - the in tree tar has been fixed.
Finish conversion to generic partitioning backend
 1.19.2.5 28-Jan-2020  msaitoh Pull up following revision(s) (requested by martin in ticket #668):
usr.sbin/sysinst/arch/cobalt/md.c: revision 1.11
usr.sbin/sysinst/arch/cobalt/md.c: revision 1.12
usr.sbin/sysinst/arch/arc/md.c: revision 1.11
usr.sbin/sysinst/arch/arc/md.c: revision 1.12
usr.sbin/sysinst/partman.c: revision 1.43
usr.sbin/sysinst/partman.c: revision 1.46
usr.sbin/sysinst/partman.c: revision 1.47
usr.sbin/sysinst/partman.c: revision 1.48
usr.sbin/sysinst/partman.c: revision 1.49
usr.sbin/sysinst/msg.pm.fr: revision 1.2
usr.sbin/sysinst/upgrade.c: revision 1.14
usr.sbin/sysinst/arch/i386/md.c: revision 1.28
usr.sbin/sysinst/arch/i386/md.c: revision 1.29
usr.sbin/sysinst/arch/ofppc/md.c: revision 1.9
usr.sbin/sysinst/arch/sandpoint/md.c: revision 1.7
usr.sbin/sysinst/arch/sandpoint/md.c: revision 1.8
usr.sbin/sysinst/gpt.c: revision 1.14
usr.sbin/sysinst/gpt.c: revision 1.15
usr.sbin/sysinst/arch/luna68k/md.c: revision 1.8
usr.sbin/sysinst/gpt.c: revision 1.16
usr.sbin/sysinst/msg.pm.de: revision 1.2
usr.sbin/sysinst/arch/evbarm/md.c: revision 1.11
usr.sbin/sysinst/arch/evbarm/md.c: revision 1.12
usr.sbin/sysinst/arch/evbarm/md.c: revision 1.13
usr.sbin/sysinst/arch/evbarm/md.c: revision 1.14
usr.sbin/sysinst/sizemultname.c: revision 1.4
usr.sbin/sysinst/msg.pm.en: revision 1.2
usr.sbin/sysinst/arch/landisk/md.c: revision 1.12
usr.sbin/sysinst/util.c: revision 1.41
usr.sbin/sysinst/arch/landisk/md.c: revision 1.13
usr.sbin/sysinst/util.c: revision 1.42
usr.sbin/sysinst/arch/ofppc/md.c: revision 1.10
usr.sbin/sysinst/partitions.c: revision 1.9
usr.sbin/sysinst/arch/evbarm/md.h: revision 1.4
usr.sbin/sysinst/arch/evbarm/md.h: revision 1.5
usr.sbin/sysinst/arch/evbmips/md.c: revision 1.7
usr.sbin/sysinst/arch/evbmips/md.c: revision 1.8
usr.sbin/sysinst/msg.mi.fr: revision 1.25
usr.sbin/sysinst/msg.mi.de: revision 1.20
usr.sbin/sysinst/install.c: revision 1.14
usr.sbin/sysinst/partitions.h: revision 1.13
usr.sbin/sysinst/partitions.h: revision 1.14
usr.sbin/sysinst/arch/evbppc/md.c: revision 1.7
usr.sbin/sysinst/arch/playstation2/md.c: revision 1.7
usr.sbin/sysinst/msg.mi.en: revision 1.27
usr.sbin/sysinst/partitions.h: revision 1.15
usr.sbin/sysinst/arch/evbppc/md.c: revision 1.8
usr.sbin/sysinst/arch/hpcarm/md.c: revision 1.7
usr.sbin/sysinst/arch/playstation2/md.c: revision 1.8
usr.sbin/sysinst/msg.pm.pl: revision 1.2
usr.sbin/sysinst/arch/hpcarm/md.c: revision 1.8
usr.sbin/sysinst/msg.mi.es: revision 1.21
usr.sbin/sysinst/arch/zaurus/md.c: revision 1.7
usr.sbin/sysinst/target.c: revision 1.11
usr.sbin/sysinst/arch/zaurus/md.c: revision 1.8
usr.sbin/sysinst/part_edit.c: revision 1.14
usr.sbin/sysinst/part_edit.c: revision 1.15
usr.sbin/sysinst/part_edit.c: revision 1.16
usr.sbin/sysinst/defs.h: revision 1.50
usr.sbin/sysinst/defs.h: revision 1.51
usr.sbin/sysinst/defs.h: revision 1.52
usr.sbin/sysinst/defs.h: revision 1.53
usr.sbin/sysinst/defs.h: revision 1.54
usr.sbin/sysinst/arch/hpcmips/md.c: revision 1.7
usr.sbin/sysinst/arch/hpcmips/md.c: revision 1.8
usr.sbin/sysinst/arch/hpcsh/md.c: revision 1.8
usr.sbin/sysinst/msg.pm.es: revision 1.2
usr.sbin/sysinst/arch/hpcsh/md.c: revision 1.9
usr.sbin/sysinst/label.c: revision 1.18
usr.sbin/sysinst/label.c: revision 1.19
usr.sbin/sysinst/net.c: revision 1.35
usr.sbin/sysinst/msg.mi.pl: revision 1.28
usr.sbin/sysinst/disklabel.c: revision 1.28
usr.sbin/sysinst/disklabel.c: revision 1.29
usr.sbin/sysinst/mbr.c: revision 1.24
usr.sbin/sysinst/disks.c: revision 1.59
usr.sbin/sysinst/mbr.c: revision 1.25
usr.sbin/sysinst/mbr.c: revision 1.26
usr.sbin/sysinst/mbr.c: revision 1.27
usr.sbin/sysinst/mbr.c: revision 1.28
usr.sbin/sysinst/label.c: revision 1.20
usr.sbin/sysinst/mbr.c: revision 1.29
usr.sbin/sysinst/bsddisklabel.c: revision 1.34
usr.sbin/sysinst/bsddisklabel.c: revision 1.35
usr.sbin/sysinst/bsddisklabel.c: revision 1.36
usr.sbin/sysinst/bsddisklabel.c: revision 1.37
usr.sbin/sysinst/disklabel.c: revision 1.30
usr.sbin/sysinst/bsddisklabel.c: revision 1.38
usr.sbin/sysinst/disklabel.c: revision 1.31
usr.sbin/sysinst/disklabel.c: revision 1.32
usr.sbin/sysinst/disklabel.c: revision 1.33
usr.sbin/sysinst/disklabel.c: revision 1.34
usr.sbin/sysinst/disks.c: revision 1.60
usr.sbin/sysinst/disks.c: revision 1.61
usr.sbin/sysinst/arch/bebox/md.c: revision 1.7
usr.sbin/sysinst/disks.c: revision 1.62
usr.sbin/sysinst/arch/bebox/md.c: revision 1.8
usr.sbin/sysinst/mbr.c: revision 1.30
usr.sbin/sysinst/partitions.c: revision 1.10
usr.sbin/sysinst/arch/prep/md.c: revision 1.11
usr.sbin/sysinst/arch/prep/md.c: revision 1.12
usr.sbin/sysinst/menus.pm: revision 1.3
usr.sbin/sysinst/main.c: revision 1.20
usr.sbin/sysinst/menus.mi: revision 1.20
usr.sbin/sysinst/menus.mi: revision 1.21
avoid calling snprintf/strlcat with an input parameter the same
as the output. from martin@. fixes gcc 8 restrict warnings.
Finish conversion of extended partitioning parts to new abstract
backend interface. XXX still could use a lot of polishing.
Instead of a (bogus) attempt to query the model via ofctl, use the (now
fixed) sysctl hw.model instead.
When reading the secondary disklabel partitions from an existing disklabel
set the mbr partitions as parent.
Move the LABELSECTOR check and make it FS type specific - some partition
types (FFS, RAID) are allowed to overlap with the LABELSECTOR.
When asked to create a whole-disk partition for unknown usage, do not only
assert(false), but actually return an error (in case "assert" is a nop).
PR install/54787: when trying to derive proper alignement and first offset
from exisiting partitions, use the first partition offset if it is already
closer to the start of the disk than the prefered alignment - we can not
move existing partitions around.
Fix handling of inner/outer partitions (e.g. MBR and disklabel) in
extended partitioning:
- when editing a disk with such a schme, offer both partitions in two
steps
- when commiting changes save the inner partitions after the outer ones
Add a method to query the partitioning schemes "internal idea" of a
cylinder size - whatever that means in the real world.
Avoid using the global "pm" variable in utility functions - during
extended partitioning they may point to a different device.
Remove useless calls to get_ramsize() - return value is ignored and
the function has no side effects.
Fix /tmp tmpfs handling and on machines with enough RAM default to
creating a /tmp tmpfs with 25% of ram size limit. Suggested by ad@.
PR install/54872: fix printf argument order, sectors and heads were
swapped in the bios geometry display.
First try to bring evbarm installation closer to current reality.
hide disklabel_non_bootable() under NO_DISKLABEL_BOOT like the usage.
should fix most builds.
Deal with even stranger fictious empty disklabels (PR kern/54882).
Factor out all RAM size thresholds as defines to avoid magic numbers.
To work around PR misc/54886 bump the threshold for a tmpfs /tmp mount
up to 256 MB.
When retrying sets during extraction, reset the relevant statistics
to avoid counting retried sets multiple times.
Reported by kim.
Fix support for non-512-byte/sector disks again after I broke it when
introducing the abstract partition backends.
Use a few strlcpy() instead of strncpy() for network ioctl structs.
We seem to have no formal documentation stating the various
char if*_name[IFNAMSIZ]; /* if name, e.g. "en0" */
elements in ioctls are nul terminated, but the peanut gallery claims
it is so - and at least half of the code in-tree touching them agrees.
Too much disklabel magic happening in the kernel - to compensate force
MBR first when trying to identify the existing partitioning scheme of
a disk.
 1.19.2.4 17-Dec-2019  msaitoh Pull up following revision(s) (requested by martin in ticket #560):
usr.sbin/sysinst/partitions.h: revision 1.11
usr.sbin/sysinst/defs.h: revision 1.49
usr.sbin/sysinst/mbr.c: revision 1.23
usr.sbin/sysinst/msg.mi.en: revision 1.26
usr.sbin/sysinst/disks.c: revision 1.58
usr.sbin/sysinst/arch/evbarm/menus.md.pl: revision 1.2
usr.sbin/sysinst/msg.mi.es: revision 1.20
usr.sbin/sysinst/arch/mvme68k/md.c: revision 1.9
usr.sbin/sysinst/gpt.c: revision 1.13
usr.sbin/sysinst/arch/evbarm/md.c: revision 1.10
usr.sbin/sysinst/arch/arc/md.c: revision 1.10
usr.sbin/sysinst/disklabel.c: revision 1.18
usr.sbin/sysinst/bsddisklabel.c: revision 1.33
usr.sbin/sysinst/disklabel.c: revision 1.19
usr.sbin/sysinst/main.c: revision 1.19
usr.sbin/sysinst/partman.c: revision 1.45
usr.sbin/sysinst/arch/alpha/md.c: revision 1.7
usr.sbin/sysinst/msg.mi.de: revision 1.19
usr.sbin/sysinst/arch/evbarm/menus.md.en: revision 1.2
usr.sbin/sysinst/arch/x68k/md.h: revision 1.4
usr.sbin/sysinst/arch/x68k/md.c: revision 1.9
usr.sbin/sysinst/arch/evbarm/menus.md.es: revision 1.2
usr.sbin/sysinst/wskbd.c: revision 1.4
usr.sbin/sysinst/label.c: revision 1.15
usr.sbin/sysinst/arch/amiga/md.h: revision 1.5
usr.sbin/sysinst/label.c: revision 1.16
usr.sbin/sysinst/arch/hp300/md.c: revision 1.9
usr.sbin/sysinst/arch/emips/md.c: revision 1.8
usr.sbin/sysinst/label.c: revision 1.17
usr.sbin/sysinst/arch/pmax/md.c: revision 1.7
usr.sbin/sysinst/partitions.c: revision 1.6
usr.sbin/sysinst/arch/prep/md.c: revision 1.10
usr.sbin/sysinst/arch/mipsco/md.c: revision 1.7
usr.sbin/sysinst/partitions.c: revision 1.7
usr.sbin/sysinst/partitions.c: revision 1.8
usr.sbin/sysinst/arch/ews4800mips/md.c: revision 1.5
usr.sbin/sysinst/disklabel.c: revision 1.20
usr.sbin/sysinst/arch/evbarm/menus.md.fr: revision 1.2
usr.sbin/sysinst/msg.mi.fr: revision 1.24
usr.sbin/sysinst/disklabel.c: revision 1.21
usr.sbin/sysinst/partitions.h: revision 1.9
usr.sbin/sysinst/msg.mi.pl: revision 1.27
usr.sbin/sysinst/disklabel.c: revision 1.22
usr.sbin/sysinst/disklabel.c: revision 1.23
usr.sbin/sysinst/arch/i386/md.c: revision 1.27
usr.sbin/sysinst/disklabel.c: revision 1.24
usr.sbin/sysinst/disklabel.c: revision 1.25
usr.sbin/sysinst/arch/cobalt/md.h: revision 1.5
usr.sbin/sysinst/disklabel.c: revision 1.26
usr.sbin/sysinst/disklabel.c: revision 1.27
usr.sbin/sysinst/partitions.h: revision 1.10
usr.sbin/sysinst/arch/cobalt/md.c: revision 1.10
PR install/54582: allow MD code to disable on-disk presence verification
of "real" disklabels. Auto-enable this (at run time) when there is no other
partitioning scheme but disklabel configured.
Hard-coded enable this for x68k to allow using kernel based translations
for native Human68k partitions.
Get rid of the evbarm preliminary menu: do not bother to ask the user
whether this is a RPi - query the FDT instead.
PR 54065: add optional "old compat" variant of ext2fs in file system
type selection and use that as default for the cobalt boot file system.
For now rely on the kernel mapping native RDB partitions.
Fix detection of existing disklabels in the case when we only have
the disklabel partitioning scheme available.
Fix DISKLABEL_NO_ONDISK_VERIFY (accidently disabled in previous)
Fix inverted comparison
Do not try to change the keyboard layout if we are not running on the
console.
When trying to tell a fictious but empty label from a real one, skip
partition a if it has the same start and size as the raw partition.
Remove bogus assert.
When finding (paritioning scheme native) partition types for file systems
from our install description, pass the partition type (not only the file
system type). Sometimes (e.g. EFI boot partition on GPT) the filesystem
type (MSDOS) is not a unique selector.
Adapt MD parts to changes in get_fs_part_type (pass partition type).
If a fictious label has no RAW_PART assume there is no valid disk label.
Pass proper track size when initializing the default alignment - this is
important with sunlabels.
Fix overlapping partitions display
Reject (what we consider) empty/invalid fake disklabels no matter whether
we have other partitioning schemes available or not.
Do not show disklabel command invocation by default (only if there are
errors).
After installing boot blocks with RUN_NO_CLEAR (and handling the
potential errors) make sure to clear the stdscreen.
 1.19.2.3 17-Nov-2019  msaitoh Pull up following revision(s) (requested by martin in ticket #436):
usr.sbin/sysinst/disks.c: revision 1.55
usr.sbin/sysinst/msg.mi.en: revision 1.24
usr.sbin/sysinst/mbr.c: revision 1.22
usr.sbin/sysinst/disks.c: revision 1.56
usr.sbin/sysinst/msg.mi.en: revision 1.25
usr.sbin/sysinst/disks.c: revision 1.57
usr.sbin/sysinst/arch/playstation2/msg.md.pl: revision 1.3
usr.sbin/sysinst/Makefile.inc: revision 1.30
usr.sbin/sysinst/configmenu.c: revision 1.11
usr.sbin/sysinst/util.c: revision 1.35
usr.sbin/sysinst/gpt.c: revision 1.12
usr.sbin/sysinst/util.c: revision 1.36
usr.sbin/sysinst/arch/playstation2/msg.md.de: revision 1.3
usr.sbin/sysinst/arch/i386/menus.md: revision 1.3
usr.sbin/sysinst/util.c: revision 1.37
usr.sbin/sysinst/part_edit.c: revision 1.11
usr.sbin/sysinst/arch/i386/msg.md.en: revision 1.2
usr.sbin/sysinst/util.c: revision 1.38
usr.sbin/sysinst/part_edit.c: revision 1.12
usr.sbin/sysinst/arch/i386/msg.md.en: revision 1.3
usr.sbin/sysinst/util.c: revision 1.39
usr.sbin/sysinst/part_edit.c: revision 1.13
usr.sbin/sysinst/arch/i386/msg.md.en: revision 1.4
usr.sbin/sysinst/disklabel.c: revision 1.15
usr.sbin/sysinst/bsddisklabel.c: revision 1.30
usr.sbin/sysinst/arch/i386/msg.md.es: revision 1.2
usr.sbin/sysinst/bsddisklabel.c: revision 1.31
usr.sbin/sysinst/arch/i386/msg.md.es: revision 1.3
usr.sbin/sysinst/arch/i386/msg.md.es: revision 1.4
usr.sbin/sysinst/mbr.h: revision 1.4
usr.sbin/sysinst/main.c: revision 1.18
usr.sbin/sysinst/partman.c: revision 1.44
usr.sbin/sysinst/msg.mi.de: revision 1.17
usr.sbin/sysinst/arch/i386/msg.md.fr: revision 1.2
usr.sbin/sysinst/msg.mi.de: revision 1.18
usr.sbin/sysinst/arch/i386/msg.md.fr: revision 1.3
usr.sbin/sysinst/arch/playstation2/msg.md.en: revision 1.3
usr.sbin/sysinst/arch/i386/msg.md.fr: revision 1.4
usr.sbin/sysinst/arch/amd64/md.c: revision 1.2
usr.sbin/sysinst/arch/ews4800mips/Makefile: revision 1.3
usr.sbin/sysinst/arch/playstation2/msg.md.es: revision 1.3
usr.sbin/sysinst/label.c: revision 1.13
usr.sbin/sysinst/Makefile.inc: revision 1.29
usr.sbin/sysinst/label.c: revision 1.14
usr.sbin/sysinst/util.c: revision 1.40
usr.sbin/sysinst/partitions.c: revision 1.5
usr.sbin/sysinst/arch/amd64/md.h: revision 1.8
usr.sbin/sysinst/msg.mi.es: revision 1.18
usr.sbin/sysinst/net.c: revision 1.34
usr.sbin/sysinst/msg.mi.es: revision 1.19
usr.sbin/sysinst/arch/i386/msg.md.pl: revision 1.2
usr.sbin/sysinst/arch/i386/md.c: revision 1.22
usr.sbin/sysinst/msg.mi.fr: revision 1.22
usr.sbin/sysinst/arch/playstation2/msg.md.fr: revision 1.3
usr.sbin/sysinst/arch/i386/msg.md.pl: revision 1.3
usr.sbin/sysinst/arch/i386/md.c: revision 1.23
usr.sbin/sysinst/msg.mi.pl: revision 1.25
usr.sbin/sysinst/msg.mi.fr: revision 1.23
usr.sbin/sysinst/arch/i386/msg.md.pl: revision 1.4
usr.sbin/sysinst/arch/i386/md.c: revision 1.24
usr.sbin/sysinst/partitions.h: revision 1.8
usr.sbin/sysinst/msg.mi.pl: revision 1.26
usr.sbin/sysinst/arch/i386/msg.md.de: revision 1.2
usr.sbin/sysinst/arch/i386/msg.md.de: revision 1.3
usr.sbin/sysinst/arch/i386/msg.md.de: revision 1.4
usr.sbin/sysinst/run.c: revision 1.13
usr.sbin/sysinst/defs.h: revision 1.46
usr.sbin/sysinst/install.c: revision 1.12
usr.sbin/sysinst/defs.h: revision 1.47
usr.sbin/sysinst/install.c: revision 1.13
usr.sbin/sysinst/defs.h: revision 1.48
Add options to the various partitioning stages that allow cloning of
alien partitions (optionally including data).
PR 54467: we trust our own sets, extract them with -P to allow symlink
redirection (especially for updates and chroot services - back out
once a better solution for those is implemented)
Make cloning support optional, so we can save some space on very small
install media.
Drop MBR and cloning support on crunched install media.
Make tar extraction flags depend on our usage of pax-as-tar or bsdtar.
Fix missing newlines in bios match display, pointed out by maxv.
Drop unused variable.
Fix table of bios geomatries
knf style adjustments
Make the bootblock selection menu more sane, pointed out by maxv
Make sure all menus have a translatable exit option (or none at all).
On amd64 support installation with a KASLR kernel, via "custom install"
and selecting the GENERIC_KASLR kernel set.
Setup /prekern and boot.cfg accordingly.
 1.19.2.2 28-Aug-2019  msaitoh Pull up following revision(s) (requested by martin in ticket #125):
usr.sbin/sysinst/mbr.c: revision 1.21
When requesting no special FS sub type, default to FAT32 with LBA.
Fixes one part of PR 54490.
 1.19.2.1 18-Aug-2019  msaitoh Pull up following revision(s) (requested by martin in ticket #78):
usr.sbin/sysinst/gpt.c: revision 1.10
usr.sbin/sysinst/disklabel.c: revision 1.12
usr.sbin/sysinst/msg.mi.fr: revision 1.18
usr.sbin/sysinst/msg.mi.de: revision 1.14
usr.sbin/sysinst/partitions.c: revision 1.2
usr.sbin/sysinst/msg.mi.es: revision 1.15
usr.sbin/sysinst/msg.mi.pl: revision 1.21
usr.sbin/sysinst/partitions.h: revision 1.6
usr.sbin/sysinst/msg.mi.en: revision 1.20
usr.sbin/sysinst/mbr.c: revision 1.20
On architectures that usually do MBR/disklabel, nevertheless deal with
pure/plain disklabel disks, and explicitly offer this as partitioning
option when bootability is not a concern.
 1.38.2.1 31-May-2021  cjep sync with head
 1.6 12-Oct-2020  martin PR 55536: when we find existing partition tables and have alternative
formats available, offer to delete partitions and create new ones from
scratch (in some other or the same on-disk format).
 1.5 22-Apr-2020  joerg Don't depend on common symbol definitions.
 1.4 12-Nov-2019  martin Add options to the various partitioning stages that allow cloning of
alien partitions (optionally including data).
 1.3 19-Jun-2019  martin branches: 1.3.2;
Deal with manualy set disk geometries more carefully to avoid a division
by zero.
 1.2 12-Jun-2019  martin Rework internal data structures and "interfaces to user interface" functions
to get rid of all disklabel assumptions.

Previously (even for GPT partitioning) struct disklabel was used, which
obviously breaks large disk setups. Also many MD parts and parts of the
user interface assumed (a) a struct disklabel is used internally to
store partitioning information and (b) partitions are named 'a' ... $MAXPART.

Get rid of this and replace it with a quite abstract interface that should
be able to deal with all variants in partition storage:

- partitions are stored in a (partly abstract) struct disk_partitions
and most parts of it are only accessed via accessor functions provided
by a "partitioning scheme".

- implement partitioning schemes for MBR, disklabel and GPT (with likely
RDB [amiga] and Apple Partition Map [mac*] to follow soon)

- partitioning schemes may be cascaded, e.g. on x86 when using MBR as
"outer partitions", we have disklabel as "inner partitions".

- all user interface goes via accessor functions in the partitioning scheme,
some of which return pointers to special user interface descriptors
(e.g. to allow editing partition flags, which are scheme specific)

Overall the user interface changes (in this initial step) are minimal but
noticable. A new Anita is needed for automatic test setups - many thanks
to Andreas Gustafsson for lots of early testing and a new Anita version,
and to Manuel Bouyer for cooperation and tests of the Anita release.

This work was sponsored by The NetBSD Foundation, Inc.
 1.1 26-Jul-2014  dholland branches: 1.1.2; 1.1.6; 1.1.28;
Move sysinst sources to usr.sbin.

This commit only physically moves the sources - there are no other
changes, to maximize the probability that this will be treated as a
rename if we ever do manage to migrate away from CVS.

Moving sysinst has been discussed on and off for years and has two
goals: making it easier to work on sysinst, and also making sysinst
available on running systems for use installing chroots and VM images
and other such things. None of the latter is possible yet, but as they
say, one thing at a time.

Doing this now was approved in an impromptu fashion by mrg, riz,
riastradh, me, and groo.
 1.1.28.1 13-Apr-2020  martin Mostly merge changes from HEAD upto 20200411
 1.1.6.2 20-Aug-2014  tls Rebase to HEAD as of a few days ago.
 1.1.6.1 26-Jul-2014  tls file mbr.h was added on branch tls-maxphys on 2014-08-20 00:05:13 +0000
 1.1.2.2 10-Aug-2014  tls Rebase.
 1.1.2.1 26-Jul-2014  tls file mbr.h was added on branch tls-earlyentropy on 2014-08-10 07:00:24 +0000
 1.3.2.2 15-Oct-2020  bouyer Pull up following revision(s) (requested by martin in ticket #1113):
usr.sbin/sysinst/bsddisklabel.c: revision 1.46
usr.sbin/sysinst/bsddisklabel.c: revision 1.47
usr.sbin/sysinst/disklabel.c: revision 1.40
usr.sbin/sysinst/arch/cobalt/md.c: revision 1.13
usr.sbin/sysinst/bsddisklabel.c: revision 1.48
usr.sbin/sysinst/disklabel.c: revision 1.41
usr.sbin/sysinst/arch/cobalt/md.c: revision 1.14
usr.sbin/sysinst/bsddisklabel.c: revision 1.49
usr.sbin/sysinst/disklabel.c: revision 1.42
usr.sbin/sysinst/Makefile.inc: revision 1.34
usr.sbin/sysinst/disks.c: revision 1.70
usr.sbin/sysinst/arch/hp300/md.c: revision 1.11
usr.sbin/sysinst/disks.c: revision 1.71
usr.sbin/sysinst/arch/i386/md.h: revision 1.8
usr.sbin/sysinst/arch/arc/md.c: revision 1.13
usr.sbin/sysinst/mbr.h: revision 1.5
usr.sbin/sysinst/mbr.h: revision 1.6
usr.sbin/sysinst/arch/mac68k/md.c: revision 1.10
usr.sbin/sysinst/bsddisklabel.c: revision 1.50
usr.sbin/sysinst/arch/acorn32/md.c: revision 1.7
usr.sbin/sysinst/bsddisklabel.c: revision 1.51
usr.sbin/sysinst/bsddisklabel.c: revision 1.52
usr.sbin/sysinst/bsddisklabel.c: revision 1.53
usr.sbin/sysinst/bsddisklabel.c: revision 1.54
usr.sbin/sysinst/bsddisklabel.c: revision 1.55
usr.sbin/sysinst/bsddisklabel.c: revision 1.56
usr.sbin/sysinst/arch/dummy/md.c: revision 1.6
usr.sbin/sysinst/arch/amd64/md.h: revision 1.9
usr.sbin/sysinst/arch/evbsh3/md.c: revision 1.6
usr.sbin/sysinst/arch/sparc/md.c: revision 1.6
usr.sbin/sysinst/arch/zaurus/md.c: revision 1.10
usr.sbin/sysinst/arch/x68k/md.c: revision 1.11
usr.sbin/sysinst/arch/sandpoint/md.c: revision 1.9
usr.sbin/sysinst/arch/vax/md.c: revision 1.7
usr.sbin/sysinst/arch/luna68k/md.c: revision 1.9
usr.sbin/sysinst/gpt.c: revision 1.19
usr.sbin/sysinst/arch/i386/md.c: revision 1.31
usr.sbin/sysinst/arch/i386/md.c: revision 1.32
usr.sbin/sysinst/arch/evbarm/md.c: revision 1.17
usr.sbin/sysinst/arch/evbarm/md.c: revision 1.18
usr.sbin/sysinst/arch/evbarm/md.c: revision 1.19
usr.sbin/sysinst/arch/shark/md.c: revision 1.6
usr.sbin/sysinst/arch/landisk/md.c: revision 1.14
usr.sbin/sysinst/util.c: revision 1.43
usr.sbin/sysinst/gpt.c: revision 1.20
usr.sbin/sysinst/util.c: revision 1.44
usr.sbin/sysinst/gpt.c: revision 1.21
usr.sbin/sysinst/gpt.c: revision 1.22
usr.sbin/sysinst/arch/evbarm/msg.md.en: revision 1.2
usr.sbin/sysinst/arch/ofppc/md.c: revision 1.11
usr.sbin/sysinst/util.c: revision 1.46
usr.sbin/sysinst/arch/ofppc/md.c: revision 1.12
usr.sbin/sysinst/util.c: revision 1.47
usr.sbin/sysinst/arch/evbarm/md.h: revision 1.6
usr.sbin/sysinst/util.c: revision 1.48
usr.sbin/sysinst/arch/evbarm/md.h: revision 1.7
usr.sbin/sysinst/arch/evbmips/md.c: revision 1.9
usr.sbin/sysinst/msg.mi.fr: revision 1.28
usr.sbin/sysinst/msg.mi.fr: revision 1.29
usr.sbin/sysinst/arch/sgimips/md.c: revision 1.9
usr.sbin/sysinst/arch/evbarm/Makefile: revision 1.3
usr.sbin/sysinst/msg.mi.de: revision 1.23
usr.sbin/sysinst/arch/hpcsh/md.c: revision 1.10
usr.sbin/sysinst/msg.mi.de: revision 1.24
usr.sbin/sysinst/install.c: revision 1.15
usr.sbin/sysinst/install.c: revision 1.16
usr.sbin/sysinst/arch/sparc64/md.c: revision 1.6
usr.sbin/sysinst/install.c: revision 1.17
usr.sbin/sysinst/install.c: revision 1.18
usr.sbin/sysinst/partitions.h: revision 1.16
usr.sbin/sysinst/install.c: revision 1.19
usr.sbin/sysinst/partitions.h: revision 1.17
usr.sbin/sysinst/arch/evbppc/md.c: revision 1.9
usr.sbin/sysinst/arch/playstation2/md.c: revision 1.9
usr.sbin/sysinst/partitions.h: revision 1.18
usr.sbin/sysinst/arch/hpcarm/md.c: revision 1.9
usr.sbin/sysinst/partitions.h: revision 1.19
usr.sbin/sysinst/msg.mi.es: revision 1.24
usr.sbin/sysinst/msg.mi.es: revision 1.25
usr.sbin/sysinst/msg.mi.es: revision 1.26
usr.sbin/sysinst/arch/zaurus/md.c: revision 1.9
usr.sbin/sysinst/target.c: revision 1.13
usr.sbin/sysinst/target.c: revision 1.14
usr.sbin/sysinst/part_edit.c: revision 1.17
usr.sbin/sysinst/part_edit.c: revision 1.18
usr.sbin/sysinst/msg.mi.fr: revision 1.30
usr.sbin/sysinst/arch/mvme68k/md.c: revision 1.11
usr.sbin/sysinst/part_edit.c: revision 1.19
usr.sbin/sysinst/msg.mi.fr: revision 1.31
usr.sbin/sysinst/arch/alpha/md.c: revision 1.9
usr.sbin/sysinst/msg.mi.en: revision 1.30
usr.sbin/sysinst/defs.h: revision 1.56
usr.sbin/sysinst/msg.mi.en: revision 1.31
usr.sbin/sysinst/defs.h: revision 1.57
usr.sbin/sysinst/msg.mi.en: revision 1.32
usr.sbin/sysinst/arch/amiga/md.c: revision 1.6
usr.sbin/sysinst/arch/hpcmips/md.c: revision 1.9
usr.sbin/sysinst/defs.h: revision 1.58
usr.sbin/sysinst/arch/cats/md.c: revision 1.5
usr.sbin/sysinst/defs.h: revision 1.59
usr.sbin/sysinst/arch/newsmips/md.c: revision 1.6
usr.sbin/sysinst/arch/pmax/md.c: revision 1.8
usr.sbin/sysinst/arch/mipsco/md.c: revision 1.8
usr.sbin/sysinst/part_edit.c: revision 1.20
usr.sbin/sysinst/part_edit.c: revision 1.21
usr.sbin/sysinst/arch/macppc/md.c: revision 1.6
usr.sbin/sysinst/part_edit.c: revision 1.22
usr.sbin/sysinst/part_edit.c: revision 1.23
usr.sbin/sysinst/part_edit.c: revision 1.24
usr.sbin/sysinst/defs.h: revision 1.60
usr.sbin/sysinst/arch/mac68k/Makefile: revision 1.3
usr.sbin/sysinst/defs.h: revision 1.61
usr.sbin/sysinst/defs.h: revision 1.63
usr.sbin/sysinst/defs.h: revision 1.64
usr.sbin/sysinst/defs.h: revision 1.65
usr.sbin/sysinst/label.c: revision 1.21
usr.sbin/sysinst/defs.h: revision 1.66
usr.sbin/sysinst/label.c: revision 1.22
usr.sbin/sysinst/defs.h: revision 1.67
usr.sbin/sysinst/label.c: revision 1.23
usr.sbin/sysinst/label.c: revision 1.24
usr.sbin/sysinst/label.c: revision 1.25
usr.sbin/sysinst/label.c: revision 1.26
usr.sbin/sysinst/label.c: revision 1.27
usr.sbin/sysinst/msg.mi.pl: revision 1.31
usr.sbin/sysinst/label.c: revision 1.28
usr.sbin/sysinst/msg.mi.pl: revision 1.32
usr.sbin/sysinst/label.c: revision 1.29
usr.sbin/sysinst/arch/atari/md.c: revision 1.7
usr.sbin/sysinst/disklabel.c: revision 1.36
usr.sbin/sysinst/disklabel.c: revision 1.37
usr.sbin/sysinst/disklabel.c: revision 1.38
usr.sbin/sysinst/disklabel.c: revision 1.39
usr.sbin/sysinst/arch/bebox/md.c: revision 1.9
usr.sbin/sysinst/mbr.c: revision 1.32
usr.sbin/sysinst/disks.c: revision 1.66
usr.sbin/sysinst/mbr.c: revision 1.33
usr.sbin/sysinst/disks.c: revision 1.67
usr.sbin/sysinst/mbr.c: revision 1.34
usr.sbin/sysinst/arch/emips/md.c: revision 1.9
usr.sbin/sysinst/disks.c: revision 1.68
usr.sbin/sysinst/partitions.c: revision 1.11
usr.sbin/sysinst/mbr.c: revision 1.35
usr.sbin/sysinst/disks.c: revision 1.69
usr.sbin/sysinst/mbr.c: revision 1.36
usr.sbin/sysinst/arch/hppa/md.c: revision 1.8
usr.sbin/sysinst/arch/prep/md.c: revision 1.13
usr.sbin/sysinst/label.c: revision 1.30
usr.sbin/sysinst/arch/ews4800mips/md.c: revision 1.7
usr.sbin/sysinst/main.c: revision 1.21
usr.sbin/sysinst/main.c: revision 1.22
usr.sbin/sysinst/main.c: revision 1.23
usr.sbin/sysinst/bsddisklabel.c: revision 1.40
usr.sbin/sysinst/main.c: revision 1.24
usr.sbin/sysinst/arch/cobalt/md.h: revision 1.6
usr.sbin/sysinst/bsddisklabel.c: revision 1.41
usr.sbin/sysinst/main.c: revision 1.25
usr.sbin/sysinst/arch/news68k/md.c: revision 1.7
usr.sbin/sysinst/bsddisklabel.c: revision 1.42
usr.sbin/sysinst/bsddisklabel.c: revision 1.43
usr.sbin/sysinst/bsddisklabel.c: revision 1.44
usr.sbin/sysinst/bsddisklabel.c: revision 1.45
Use strlcpy in a few places to guarnatee 0-terminated strings
Rever previous: the d_packname in struct disklabel is not NUL terminated.
Disable the warning instead.
Do not force -Os optimization (unless SMALLPROG)
Remove unused "rel" global variable and make the -r option a no-op.
PR 55045: strlcpy(NULL, ..., 0) considered harmfull in some implementations.
PR misc/54886: bump threshold for automatic/default creation of a tmpfs /tmp
up slightly (to 384 MB ram). This will make sure the default install has
a > 64 MB /tmp available (number pulled out of thin air, 64 MB is the minimum
required by the ZFS tests).
Don't depend on common symbol definitions.
boardype should not be common.
Redo the root-size-limit check again after we grew the root partition
for kernel dumps. Auto-enable the /usr partition if it overflows.
For all non-root partitions, default to FFSv2.
When extending a partition (to fill the total disk size) do respect
size limits.
Do not suggest a size limited partition for extension by default.
Minor tweak to previous: when forcing a /usr partition just to have an
arbitrary extendable partition, still use its default size initially.
At the end of a new installation save entropy.
Ooops, backout previous - twice the entropy saving is not needed.
Instead slightly improve the (slightly) hidden other code that already
did it.
PR 55202: disable swapping if we started it due to low ram
it's "its"
Remove "If you booted from a floppy" message
Set HAVE_INSTALL_IMAGE for evbarm
Change mountpoint of boot ext2fs from /stand to /ext2 to avoid conflict.
Should be pulled up to netbsd-9, with fixes of PR/55060.
MBR type for Ext2 should be MBR_PTYPE_LNXEXT2, not MBR_PTYPE_FAT12.
Silence -Wstringop-truncation for ``name'' in disp_selected_part().
This variable is used only for display, and truncation seems harmless.
PR 55572: avoid crash when answering the mount point prompt for a previously
empty mount point with an emptry sting.
When adding a new partition in the concrete partition editor, make sure
to set a pointer to the partition table interface in the new entry.
Otherwise we may end up not writing back the partitions at all, leading
to further fallout later.
Receipe to reproduce the issue from Frederic Fauberteau, thanks!
In the concrete partitions editor, after deleting the last partition move
the menu selection to the "add a partition" entry (instead of the sentinel
line which is not an active menu entry).
Typo in comment
Keep a list of all partition tables from which we have deleted partitions
and make sure we update those partition tables when writing partitions,
even if no install related partition remains on them.
Fix display of timezone selection menu
If there is no current partitioning manager assume we are editing the
current system and make target_already_root() return true.
Fixes various fallout when using sysinst post installation.
PR 55377: mark boot partitions in the partition size display, as suggested
by Izumi Tsutsui (minor modifications + all bugs by me)
PR 55378: do not assume RAW_PART to be either 2 or 3
PR 55379: avoid creating bogus /etc/fstab lines for /dev/cd* if no
cdrom is available.
PR 55381: try to deal with moved (but not yet saved) partitions when
calculating free space
Apply patch provided by Izumi Tsutsui in PR 55382: make ext2 partitions
show up in the outer (MBR) partition table, needed for example on Cobalt
where firmware boots from that partition.
PR 55384: detangle pm->ptstart from the "install" flag (selecting a
target partition). Instead introduce a new PTI_INSTALL_TARGET per partition
flag and deal with it in the partitioning backends.
Honour pm->ptstart when allocating new partitions - it is supposed to be
the first sector usable by NetBSD.
If we have no explicitly marke target root partition, make sure to set
the proper flag on the implicit one.
When merging existing partitions with desired target system layout
information, only force the "mount" flag if the existing partitions
has a valid mount point.
Add a heuristic to detect and properly mark EFI system partitions
when re-using pre-existing partitions.
When MD code requests a reserved area (at the start of the disk)
make sure to properly account for the "lost" space during all calculations
and especially when expanding the main partition to fill the disk.
Avoid using the global "pm" or a passed device descriptons when we are
passing disk limits explicitly anyway.
Simplify/fix a few rounding calculations.
When creating new partitions for "full disk" use, pass a install target
hint to the partitioning backend (for the outer NetBSD partition).
Use an install target hint to mark a new partition active.
When compiled with BOOTSEL support, also name the new partition "NetBSD".
Remove more pm->ptstart abuse - calculate values localy where needed
instead.
Fix editing start and size of not yet existing outer partitions.
Previously we abused pm->ptstart / pm->ptsize to pass the bounds of the
NetBSD outer partition to the inner partition editor - but now this is
not a valid assumption any more, so explicitly fix the bounds if an
outer partition exists.
Remove very strange code that special-cased MSDOS file systems and refused
to newfs the partition (despite explicit request to do so) if it was
mountable.
Accidently carried over from a dim and distant past, before we had
fsck_newfs.
PR 55536: when we find existing partition tables and have alternative
formats available, offer to delete partitions and create new ones from
scratch (in some other or the same on-disk format).
Minor fix to previous: fix condition when we offer the partition type
switch - it makes sense even if the disk is partitioned but has no valid
partitions.
Before forcing MBR partitions into our disklabel, make sure they are not
there yet - could happen in various paths when reusing existing partitions
(or parts of that) - previously we would blindly duplicate identical
partitions.
Ooops, part of previous was not meant to be included yet
When renumbering partitions (after deletions) be slightly more lax
in matching, to cope with differences between MBR EFI partitions and
disklabel MSDOS partitions.
PR 55142: on popular demand bring back expert options to adjust the
number of free inodes, block size and fragment size for FFS and LFS.
Fix copy & pasto noticed by Jason Mitchell: change the type of a GPT
partition via "gpt type" - not "gpt label".
Fix copy & pasto (missing "again" label)
Remove dead code
Move MBR writing (if any) post disklabel writing, otherwise strange
interactions happen.
Properly convert partition default sizes in MB to number of sectors
 1.3.2.1 17-Nov-2019  msaitoh Pull up following revision(s) (requested by martin in ticket #436):
usr.sbin/sysinst/disks.c: revision 1.55
usr.sbin/sysinst/msg.mi.en: revision 1.24
usr.sbin/sysinst/mbr.c: revision 1.22
usr.sbin/sysinst/disks.c: revision 1.56
usr.sbin/sysinst/msg.mi.en: revision 1.25
usr.sbin/sysinst/disks.c: revision 1.57
usr.sbin/sysinst/arch/playstation2/msg.md.pl: revision 1.3
usr.sbin/sysinst/Makefile.inc: revision 1.30
usr.sbin/sysinst/configmenu.c: revision 1.11
usr.sbin/sysinst/util.c: revision 1.35
usr.sbin/sysinst/gpt.c: revision 1.12
usr.sbin/sysinst/util.c: revision 1.36
usr.sbin/sysinst/arch/playstation2/msg.md.de: revision 1.3
usr.sbin/sysinst/arch/i386/menus.md: revision 1.3
usr.sbin/sysinst/util.c: revision 1.37
usr.sbin/sysinst/part_edit.c: revision 1.11
usr.sbin/sysinst/arch/i386/msg.md.en: revision 1.2
usr.sbin/sysinst/util.c: revision 1.38
usr.sbin/sysinst/part_edit.c: revision 1.12
usr.sbin/sysinst/arch/i386/msg.md.en: revision 1.3
usr.sbin/sysinst/util.c: revision 1.39
usr.sbin/sysinst/part_edit.c: revision 1.13
usr.sbin/sysinst/arch/i386/msg.md.en: revision 1.4
usr.sbin/sysinst/disklabel.c: revision 1.15
usr.sbin/sysinst/bsddisklabel.c: revision 1.30
usr.sbin/sysinst/arch/i386/msg.md.es: revision 1.2
usr.sbin/sysinst/bsddisklabel.c: revision 1.31
usr.sbin/sysinst/arch/i386/msg.md.es: revision 1.3
usr.sbin/sysinst/arch/i386/msg.md.es: revision 1.4
usr.sbin/sysinst/mbr.h: revision 1.4
usr.sbin/sysinst/main.c: revision 1.18
usr.sbin/sysinst/partman.c: revision 1.44
usr.sbin/sysinst/msg.mi.de: revision 1.17
usr.sbin/sysinst/arch/i386/msg.md.fr: revision 1.2
usr.sbin/sysinst/msg.mi.de: revision 1.18
usr.sbin/sysinst/arch/i386/msg.md.fr: revision 1.3
usr.sbin/sysinst/arch/playstation2/msg.md.en: revision 1.3
usr.sbin/sysinst/arch/i386/msg.md.fr: revision 1.4
usr.sbin/sysinst/arch/amd64/md.c: revision 1.2
usr.sbin/sysinst/arch/ews4800mips/Makefile: revision 1.3
usr.sbin/sysinst/arch/playstation2/msg.md.es: revision 1.3
usr.sbin/sysinst/label.c: revision 1.13
usr.sbin/sysinst/Makefile.inc: revision 1.29
usr.sbin/sysinst/label.c: revision 1.14
usr.sbin/sysinst/util.c: revision 1.40
usr.sbin/sysinst/partitions.c: revision 1.5
usr.sbin/sysinst/arch/amd64/md.h: revision 1.8
usr.sbin/sysinst/msg.mi.es: revision 1.18
usr.sbin/sysinst/net.c: revision 1.34
usr.sbin/sysinst/msg.mi.es: revision 1.19
usr.sbin/sysinst/arch/i386/msg.md.pl: revision 1.2
usr.sbin/sysinst/arch/i386/md.c: revision 1.22
usr.sbin/sysinst/msg.mi.fr: revision 1.22
usr.sbin/sysinst/arch/playstation2/msg.md.fr: revision 1.3
usr.sbin/sysinst/arch/i386/msg.md.pl: revision 1.3
usr.sbin/sysinst/arch/i386/md.c: revision 1.23
usr.sbin/sysinst/msg.mi.pl: revision 1.25
usr.sbin/sysinst/msg.mi.fr: revision 1.23
usr.sbin/sysinst/arch/i386/msg.md.pl: revision 1.4
usr.sbin/sysinst/arch/i386/md.c: revision 1.24
usr.sbin/sysinst/partitions.h: revision 1.8
usr.sbin/sysinst/msg.mi.pl: revision 1.26
usr.sbin/sysinst/arch/i386/msg.md.de: revision 1.2
usr.sbin/sysinst/arch/i386/msg.md.de: revision 1.3
usr.sbin/sysinst/arch/i386/msg.md.de: revision 1.4
usr.sbin/sysinst/run.c: revision 1.13
usr.sbin/sysinst/defs.h: revision 1.46
usr.sbin/sysinst/install.c: revision 1.12
usr.sbin/sysinst/defs.h: revision 1.47
usr.sbin/sysinst/install.c: revision 1.13
usr.sbin/sysinst/defs.h: revision 1.48
Add options to the various partitioning stages that allow cloning of
alien partitions (optionally including data).
PR 54467: we trust our own sets, extract them with -P to allow symlink
redirection (especially for updates and chroot services - back out
once a better solution for those is implemented)
Make cloning support optional, so we can save some space on very small
install media.
Drop MBR and cloning support on crunched install media.
Make tar extraction flags depend on our usage of pax-as-tar or bsdtar.
Fix missing newlines in bios match display, pointed out by maxv.
Drop unused variable.
Fix table of bios geomatries
knf style adjustments
Make the bootblock selection menu more sane, pointed out by maxv
Make sure all menus have a translatable exit option (or none at all).
On amd64 support installation with a KASLR kernel, via "custom install"
and selecting the GENERIC_KASLR kernel set.
Setup /prekern and boot.cfg accordingly.
 1.3 17-Dec-2023  martin Add a https transfer method (sharing all host details with the http
transfer). Make this method the default for all downloads.

Try to make sure the binary pkg installation (which runs in a chroot
in the already installed system) can make use of SSL verification.

This does NOT fix the missing SSL verification in most install media
even if using https (due to not fully populated /etc/openssl/certs).
 1.2 08-Oct-2021  martin branches: 1.2.2;
Re-enable the entropy handling code in sysinst (only visible on machines
that do not have full entropy), but move it to the config menu
instead of enforcing it as mandatory step.

This menu is shown at the end of the setup, or if explicitly invoked
from the main menu.

Some of the input options are complex but useful in some situations
and code to support them is tiny. Most users will use the manual input
(first + default option) but some might prefer to connect a USB TRNG
or have easy setups to transfer entropy from another machine (while
copy & paste on a serial console sometimes is tricky).
 1.1 04-Nov-2020  martin Add (experimental) entropy input support:
Early during new installs or after upgrades we check if entropy is
available. If not (no hardware random number generator available)
we inform the user and ask them to fix it.
 1.2.2.1 26-Dec-2023  snj Pull up following revision(s) (requested by martin in ticket #511):
usr.sbin/sysinst/configmenu.c: revision 1.18
usr.sbin/sysinst/defs.h: revision 1.90
usr.sbin/sysinst/main.c: revision 1.32
usr.sbin/sysinst/menus.entropy: revision 1.3
usr.sbin/sysinst/menus.mi: revision 1.29
usr.sbin/sysinst/net.c: revision 1.45
Add a https transfer method (sharing all host details with the http
transfer). Make this method the default for all downloads.
Try to make sure the binary pkg installation (which runs in a chroot
in the already installed system) can make use of SSL verification.
This does NOT fix the missing SSL verification in most install media
even if using https (due to not fully populated /etc/openssl/certs).
 1.2 12-Jun-2019  martin Rework internal data structures and "interfaces to user interface" functions
to get rid of all disklabel assumptions.

Previously (even for GPT partitioning) struct disklabel was used, which
obviously breaks large disk setups. Also many MD parts and parts of the
user interface assumed (a) a struct disklabel is used internally to
store partitioning information and (b) partitions are named 'a' ... $MAXPART.

Get rid of this and replace it with a quite abstract interface that should
be able to deal with all variants in partition storage:

- partitions are stored in a (partly abstract) struct disk_partitions
and most parts of it are only accessed via accessor functions provided
by a "partitioning scheme".

- implement partitioning schemes for MBR, disklabel and GPT (with likely
RDB [amiga] and Apple Partition Map [mac*] to follow soon)

- partitioning schemes may be cascaded, e.g. on x86 when using MBR as
"outer partitions", we have disklabel as "inner partitions".

- all user interface goes via accessor functions in the partitioning scheme,
some of which return pointers to special user interface descriptors
(e.g. to allow editing partition flags, which are scheme specific)

Overall the user interface changes (in this initial step) are minimal but
noticable. A new Anita is needed for automatic test setups - many thanks
to Andreas Gustafsson for lots of early testing and a new Anita version,
and to Manuel Bouyer for cooperation and tests of the Anita release.

This work was sponsored by The NetBSD Foundation, Inc.
 1.1 26-Jul-2014  dholland branches: 1.1.2; 1.1.6; 1.1.28;
Move sysinst sources to usr.sbin.

This commit only physically moves the sources - there are no other
changes, to maximize the probability that this will be treated as a
rename if we ever do manage to migrate away from CVS.

Moving sysinst has been discussed on and off for years and has two
goals: making it easier to work on sysinst, and also making sysinst
available on running systems for use installing chroots and VM images
and other such things. None of the latter is possible yet, but as they
say, one thing at a time.

Doing this now was approved in an impromptu fashion by mrg, riz,
riastradh, me, and groo.
 1.1.28.1 13-Apr-2020  martin Mostly merge changes from HEAD upto 20200411
 1.1.6.2 20-Aug-2014  tls Rebase to HEAD as of a few days ago.
 1.1.6.1 26-Jul-2014  tls file menus.mbr was added on branch tls-maxphys on 2014-08-20 00:05:13 +0000
 1.1.2.2 10-Aug-2014  tls Rebase.
 1.1.2.1 26-Jul-2014  tls file menus.mbr was added on branch tls-earlyentropy on 2014-08-10 07:00:24 +0000
 1.30 25-Jul-2025  martin On install media where we can check trust anchors, offer explicit
download of sets via https.
 1.29 17-Dec-2023  martin branches: 1.29.2;
Add a https transfer method (sharing all host details with the http
transfer). Make this method the default for all downloads.

Try to make sure the binary pkg installation (which runs in a chroot
in the already installed system) can make use of SSL verification.

This does NOT fix the missing SSL verification in most install media
even if using https (due to not fully populated /etc/openssl/certs).
 1.28 12-Feb-2023  abs Add "-i -E" to /bin/sh called from sysinst

This enables command line editing (primarily for arrow keys, but basic
emacs sequences will also work)

In the event that the shell has been compiled without command line
editing features (for memory contrained install environments) the
-E is ignored
 1.27 22-Jul-2022  christos branches: 1.27.2;
Add a menu option to set the file extension of the downloaded sets.
amd64 sets are .tar.xz and sysinst fails by default.
 1.26 10-Jul-2022  martin Preparations to make the extended partitioning during normal installation
more usefull - pass an optional install_description to partman().
 1.25 18-May-2022  martin When not invoked via some explicit "configure network" menu item,
auto-detect an already working network setup and offer to "just use" it
whenver we need connectivity.
 1.24 04-Nov-2020  martin Add (experimental) entropy input support:
Early during new installs or after upgrades we check if entropy is
available. If not (no hardware random number generator available)
we inform the user and ask them to fix it.
 1.23 27-Oct-2020  martin When we did not magically find any CD medium with sets, offer a manual
override (so ISO images on USB sticks or Xen's xbd(4) work).
 1.22 24-Oct-2020  martin When looking for available CD media, skip those that are already mounted.
When no medium with sets is found, show a new error message and return
to the source selection menu.
Rearrange all source option menus to have the proper set suffix
available (either .tgz or .tar.xz).
 1.21 27-Jan-2020  martin Fix support for non-512-byte/sector disks again after I broke it when
introducing the abstract partition backends.
 1.20 09-Jan-2020  martin Finish conversion of extended partitioning parts to new abstract
backend interface. XXX still could use a lot of polishing.
 1.19 23-Jul-2019  martin branches: 1.19.2;
Fix the "reinstall sets" action.
 1.18 20-Jun-2019  christos Use _fmt_ msg_ methods when formats are needed.
 1.17 12-Jun-2019  martin Rework internal data structures and "interfaces to user interface" functions
to get rid of all disklabel assumptions.

Previously (even for GPT partitioning) struct disklabel was used, which
obviously breaks large disk setups. Also many MD parts and parts of the
user interface assumed (a) a struct disklabel is used internally to
store partitioning information and (b) partitions are named 'a' ... $MAXPART.

Get rid of this and replace it with a quite abstract interface that should
be able to deal with all variants in partition storage:

- partitions are stored in a (partly abstract) struct disk_partitions
and most parts of it are only accessed via accessor functions provided
by a "partitioning scheme".

- implement partitioning schemes for MBR, disklabel and GPT (with likely
RDB [amiga] and Apple Partition Map [mac*] to follow soon)

- partitioning schemes may be cascaded, e.g. on x86 when using MBR as
"outer partitions", we have disklabel as "inner partitions".

- all user interface goes via accessor functions in the partitioning scheme,
some of which return pointers to special user interface descriptors
(e.g. to allow editing partition flags, which are scheme specific)

Overall the user interface changes (in this initial step) are minimal but
noticable. A new Anita is needed for automatic test setups - many thanks
to Andreas Gustafsson for lots of early testing and a new Anita version,
and to Manuel Bouyer for cooperation and tests of the Anita release.

This work was sponsored by The NetBSD Foundation, Inc.
 1.16 10-Jan-2019  martin PR install/53857: make the pkgsrc menu wider, so the first column fits
in various translations. While there shorten some (misleading) text.
 1.15 20-Sep-2018  rin Add NOPARTMAN compile-time option, which drops extended partitioning
support provided by partman.c. It reduces, e.g., about 30KB for
crunched binary in atari install floppy.

OK christos
 1.14 11-Sep-2018  martin Split the host name used for ftp transfers from the one used for http
transfers. This is slightly inconsistent, as directories are still
shared - but this allows us to default to cdn/nycdn for http (which don't
support ftp).
 1.13 03-Jun-2018  martin branches: 1.13.2;
Reorder fetch options: http before ftp
 1.12 18-May-2018  joerg deconst -> __UNCONST, the former involves UB with NULL arithmetic.
 1.11 11-Dec-2016  alnsn branches: 1.11.6; 1.11.12;
Add aes-xts to sysinst(8).
 1.10 11-May-2015  martin branches: 1.10.2;
Make "ask_yesno" and "ask_noyes" take a const char * as argument, moving
the deconst() dance into the utility functions and simplifying all callers.
 1.9 10-May-2015  martin Backout the previous incorrect fix for PR 49440 and redo it more globaly:
get rid of the global "yesno", introduce utility functions "ask_yesno()"
and "ask_noyes()" instead, greatly simplifying a lot of code.
Pass in a pointer to the return value to various "set source" menus.
 1.8 09-May-2015  martin When exiting from the "ftpsource" menu, explicitly set yesno to -1 (again),
to avoid a retry loop because a submenu action has changed this global.
Fixes PR 49440.
 1.7 15-Oct-2014  snj Make the option to abort pkgsrc fetching/extraction actually work.
Previously, if the network was not set up and you couldn't fetch
pkgsrc, you'd get stuck here, unable to make it back to the parent
menu.
 1.6 22-Sep-2014  roy Change the IPv6 DNS selection to use DNS selection and add the
Google Public V4 DNS servers to the list.
The other field can take an IPv4 or IPv6 name server of choice.
Fixes PR install/49231.
 1.5 13-Sep-2014  roy Only prompt for one nameserver, let the user decide if it's a
pre-determined google server other another one.
 1.4 06-Aug-2014  martin branches: 1.4.2; 1.4.4; 1.4.6;
Remove a few menu entries if raid/lvm/cgd/gpt are not available.
 1.3 04-Aug-2014  martin Rename the "exit" option in the "select your installation" menu into
"Abandon installation" to make clear it is fatal - suggested by
Andreas Gustafsson.
 1.2 03-Aug-2014  martin (Finally) merge a slightly modified version of the 2012 GSoC results
from Eugene Lozovoy: add extended partitioning options to sysinst.
Still needs some testing and polishing, but it now is possible to use GPT
or to create a RAID set from scratch and install onto it.
 1.1 26-Jul-2014  dholland Move sysinst sources to usr.sbin.

This commit only physically moves the sources - there are no other
changes, to maximize the probability that this will be treated as a
rename if we ever do manage to migrate away from CVS.

Moving sysinst has been discussed on and off for years and has two
goals: making it easier to work on sysinst, and also making sysinst
available on running systems for use installing chroots and VM images
and other such things. None of the latter is possible yet, but as they
say, one thing at a time.

Doing this now was approved in an impromptu fashion by mrg, riz,
riastradh, me, and groo.
 1.4.6.2 20-Aug-2014  tls Rebase to HEAD as of a few days ago.
 1.4.6.1 06-Aug-2014  tls file menus.mi was added on branch tls-maxphys on 2014-08-20 00:05:13 +0000
 1.4.4.5 14-May-2015  snj Pull up following revision(s) (requested by martin in ticket #756):
usr.sbin/sysinst/arch/arc/md.c: revision 1.4
usr.sbin/sysinst/arch/atari/md.c: revision 1.3
usr.sbin/sysinst/arch/cobalt/md.c: revision 1.4
usr.sbin/sysinst/arch/emips/md.c: revision 1.3
usr.sbin/sysinst/arch/evbarm/md.c: revision 1.4
usr.sbin/sysinst/arch/evbarm64/md.c: revision 1.2
usr.sbin/sysinst/arch/hp300/md.c: revision 1.4
usr.sbin/sysinst/arch/i386/md.c: revision 1.6
usr.sbin/sysinst/arch/mac68k/md.c: revision 1.3
usr.sbin/sysinst/arch/mac68k/md.c: revision 1.4
usr.sbin/sysinst/arch/mac68k/menus.md.de: revisions 1.3, 1.4
usr.sbin/sysinst/arch/mac68k/menus.md.en: revisions 1.3, 1.4
usr.sbin/sysinst/arch/mac68k/menus.md.es: revisions 1.3, 1.4
usr.sbin/sysinst/arch/mac68k/menus.md.pl: revisions 1.3, 1.4
usr.sbin/sysinst/arch/mvme68k/md.c: revision 1.4
usr.sbin/sysinst/arch/ofppc/md.c: revision 1.3
usr.sbin/sysinst/arch/prep/md.c: revisions 1.3, 1.4
usr.sbin/sysinst/arch/prep/menus.md.en: revision 1.2
usr.sbin/sysinst/arch/x68k/md.c: revision 1.4
usr.sbin/sysinst/configmenu.c: revisions 1.4, 1.5
usr.sbin/sysinst/defs.h: revisions 1.8, 1.9
usr.sbin/sysinst/disks.c: revision 1.9
usr.sbin/sysinst/install.c: revision 1.4
usr.sbin/sysinst/label.c: revision 1.3
usr.sbin/sysinst/mbr.c: revision 1.5
usr.sbin/sysinst/menus.mi: revisions 1.9, 1.10
usr.sbin/sysinst/net.c: revisions 1.18-1.20
usr.sbin/sysinst/partman.c: revision 1.10
usr.sbin/sysinst/upgrade.c: revision 1.4
usr.sbin/sysinst/util.c: revisions 1.6, 1.7
Backout the previous incorrect fix for PR 49440 and redo it more globaly:
get rid of the global "yesno", introduce utility functions "ask_yesno()"
and "ask_noyes()" instead, greatly simplifying a lot of code.
Pass in a pointer to the return value to various "set source" menus.
--
Make it compile on architectures that do not support INET6 in sysinst
--
Remove a few more (ab-)usages of "yesno".
--
More (ab-)usages of "yesno"
--
Make "ask_yesno" and "ask_noyes" take a const char * as argument, moving
the deconst() dance into the utility functions and simplifying all callers.
--
Missed a few more "yesno" in previous
 1.4.4.4 14-May-2015  riz Pull up following revision(s) to fix the build (requested by riz in ticket #754):
usr.sbin/sysinst/net.c: revision 1.10
usr.sbin/sysinst/menus.mi: revision 1.5
usr.sbin/sysinst/net.c: revision 1.9
usr.sbin/sysinst/defs.h: revision 1.4
rtsol is no longer used.
Only prompt for one nameserver, let the user decide if it's a
pre-determined google server other another one.
 1.4.4.3 13-May-2015  snj Pull up following revision(s) (requested by martin in ticket #754):
usr.sbin/sysinst/menus.mi: revision 1.6
usr.sbin/sysinst/msg.mi.de: revision 1.5
usr.sbin/sysinst/msg.mi.en: revision 1.5
usr.sbin/sysinst/msg.mi.es: revision 1.5
usr.sbin/sysinst/msg.mi.fr: revision 1.5
usr.sbin/sysinst/msg.mi.pl: revision 1.5
Change the IPv6 DNS selection to use DNS selection and add the
Google Public V4 DNS servers to the list.
The other field can take an IPv4 or IPv6 name server of choice.
Fixes PR install/49231.
 1.4.4.2 09-May-2015  msaitoh Pull up following revision(s) (requested by martin in ticket #745):
usr.sbin/sysinst/menus.mi: revision 1.8
When exiting from the "ftpsource" menu, explicitly set yesno to -1 (again),
to avoid a retry loop because a submenu action has changed this global.
Fixes PR 49440.
 1.4.4.1 19-Oct-2014  martin Pull up following revision(s) (requested by snj in ticket #149):
usr.sbin/sysinst/menus.mi: revision 1.7
Make the option to abort pkgsrc fetching/extraction actually work.
Previously, if the network was not set up and you couldn't fetch
pkgsrc, you'd get stuck here, unable to make it back to the parent
menu.
 1.4.2.2 10-Aug-2014  tls Rebase.
 1.4.2.1 06-Aug-2014  tls file menus.mi was added on branch tls-earlyentropy on 2014-08-10 07:00:24 +0000
 1.10.2.1 07-Jan-2017  pgoyette Sync with HEAD. (Note that most of these changes are simply $NetBSD$
tag issues.)
 1.11.12.4 18-Jan-2019  pgoyette Synch with HEAD
 1.11.12.3 30-Sep-2018  pgoyette Ssync with HEAD
 1.11.12.2 25-Jun-2018  pgoyette Sync with HEAD
 1.11.12.1 21-May-2018  pgoyette Sync with HEAD
 1.11.6.2 09-Jun-2018  martin Pull up following revision(s) (requested by joerg in ticket #869):

usr.sbin/sysinst/arch/mvme68k/md.c: revision 1.5
usr.sbin/sysinst/net.c: revision 1.24
usr.sbin/sysinst/partman.c: revision 1.22
usr.sbin/sysinst/menus.mi: revision 1.12
usr.sbin/sysinst/arch/i386/md.c: revision 1.8
usr.sbin/sysinst/arch/alpha/md.c: revision 1.3
usr.sbin/sysinst/bsddisklabel.c: revision 1.3
usr.sbin/sysinst/arch/x68k/md.c: revision 1.5
usr.sbin/sysinst/arch/hp300/md.c: revision 1.5
usr.sbin/sysinst/arch/emips/md.c: revision 1.4
usr.sbin/sysinst/arch/pmax/md.c: revision 1.3
usr.sbin/sysinst/arch/mipsco/md.c: revision 1.3
usr.sbin/sysinst/arch/hppa/md.c: revision 1.3
usr.sbin/sysinst/util.c: revision 1.8
usr.sbin/sysinst/defs.h: revision 1.10
usr.sbin/sysinst/arch/landisk/md.c: revision 1.4

deconst -> __UNCONST, the former involves UB with NULL arithmetic.
 1.11.6.1 05-Jun-2018  bouyer Pull up following revision(s) (requested by martin in ticket #860):
usr.sbin/sysinst/msg.mi.de: revision 1.7
usr.sbin/sysinst/arch/i386/md.c: revision 1.10
usr.sbin/sysinst/msg.mi.fr: revision 1.10
usr.sbin/sysinst/arch/i386/md.c: revision 1.11
usr.sbin/sysinst/menus.mi: revision 1.13
usr.sbin/sysinst/arch/i386/md.c: revision 1.9
usr.sbin/sysinst/msg.mi.es: revision 1.7
usr.sbin/sysinst/msg.mi.en: revision 1.11
usr.sbin/sysinst/mbr.c: revision 1.6
usr.sbin/sysinst/disks.c: revision 1.15
usr.sbin/sysinst/bsddisklabel.c: revision 1.4
usr.sbin/sysinst/disks.c: revision 1.16
usr.sbin/sysinst/msg.mi.pl: revision 1.9
usr.sbin/sysinst/defs.h: revision 1.11
Add an option to install onto a pre-configured wedge.
Greatly simmplifies (U)EFI setups (but does not fully automate them yet).
In the generated /etc/fstab, do not use the (temporary, during sysinst)
path name for the file in the comment, but instead the one it will
have on the target system.
Reorder fetch options: http before ftp
Default console device and speed to that used by syinst
add missing brace.
 1.13.2.2 13-Apr-2020  martin Mostly merge changes from HEAD upto 20200411
 1.13.2.1 10-Jun-2019  christos Sync with HEAD
 1.19.2.2 05-Nov-2020  sborrill Pull up the following revisions(s) (requested by martin in ticket #1121):
usr.sbin/sysinst/menus.mi: revision 1.22-1.23
usr.sbin/sysinst/msg.mi.de: revision 1.25-1.26
usr.sbin/sysinst/msg.mi.en: revision 1.33-1.34
usr.sbin/sysinst/msg.mi.pl: revision 1.33-1.34
usr.sbin/sysinst/msg.mi.es: revision 1.27-1.28
usr.sbin/sysinst/msg.mi.fr: revision 1.32-1.33
usr.sbin/sysinst/util.c: revision 1.49-1.52

- When looking for available CD media, skip those that are already mounted.
- When no medium with sets is found, show a new error message and return
to the source selection menu.
- Rearrange all source option menus to have the proper set suffix available
(either .tgz or .tar.xz).
- Relax an assertion, the first getvfsstat() call may overestimate the file
systems visible to us. Fixes PR 55752
- When we did not magically find any CD medium with sets, offer a manual
override (so ISO images on USB sticks or Xen's xbd(4) work).
 1.19.2.1 28-Jan-2020  msaitoh Pull up following revision(s) (requested by martin in ticket #668):
usr.sbin/sysinst/arch/cobalt/md.c: revision 1.11
usr.sbin/sysinst/arch/cobalt/md.c: revision 1.12
usr.sbin/sysinst/arch/arc/md.c: revision 1.11
usr.sbin/sysinst/arch/arc/md.c: revision 1.12
usr.sbin/sysinst/partman.c: revision 1.43
usr.sbin/sysinst/partman.c: revision 1.46
usr.sbin/sysinst/partman.c: revision 1.47
usr.sbin/sysinst/partman.c: revision 1.48
usr.sbin/sysinst/partman.c: revision 1.49
usr.sbin/sysinst/msg.pm.fr: revision 1.2
usr.sbin/sysinst/upgrade.c: revision 1.14
usr.sbin/sysinst/arch/i386/md.c: revision 1.28
usr.sbin/sysinst/arch/i386/md.c: revision 1.29
usr.sbin/sysinst/arch/ofppc/md.c: revision 1.9
usr.sbin/sysinst/arch/sandpoint/md.c: revision 1.7
usr.sbin/sysinst/arch/sandpoint/md.c: revision 1.8
usr.sbin/sysinst/gpt.c: revision 1.14
usr.sbin/sysinst/gpt.c: revision 1.15
usr.sbin/sysinst/arch/luna68k/md.c: revision 1.8
usr.sbin/sysinst/gpt.c: revision 1.16
usr.sbin/sysinst/msg.pm.de: revision 1.2
usr.sbin/sysinst/arch/evbarm/md.c: revision 1.11
usr.sbin/sysinst/arch/evbarm/md.c: revision 1.12
usr.sbin/sysinst/arch/evbarm/md.c: revision 1.13
usr.sbin/sysinst/arch/evbarm/md.c: revision 1.14
usr.sbin/sysinst/sizemultname.c: revision 1.4
usr.sbin/sysinst/msg.pm.en: revision 1.2
usr.sbin/sysinst/arch/landisk/md.c: revision 1.12
usr.sbin/sysinst/util.c: revision 1.41
usr.sbin/sysinst/arch/landisk/md.c: revision 1.13
usr.sbin/sysinst/util.c: revision 1.42
usr.sbin/sysinst/arch/ofppc/md.c: revision 1.10
usr.sbin/sysinst/partitions.c: revision 1.9
usr.sbin/sysinst/arch/evbarm/md.h: revision 1.4
usr.sbin/sysinst/arch/evbarm/md.h: revision 1.5
usr.sbin/sysinst/arch/evbmips/md.c: revision 1.7
usr.sbin/sysinst/arch/evbmips/md.c: revision 1.8
usr.sbin/sysinst/msg.mi.fr: revision 1.25
usr.sbin/sysinst/msg.mi.de: revision 1.20
usr.sbin/sysinst/install.c: revision 1.14
usr.sbin/sysinst/partitions.h: revision 1.13
usr.sbin/sysinst/partitions.h: revision 1.14
usr.sbin/sysinst/arch/evbppc/md.c: revision 1.7
usr.sbin/sysinst/arch/playstation2/md.c: revision 1.7
usr.sbin/sysinst/msg.mi.en: revision 1.27
usr.sbin/sysinst/partitions.h: revision 1.15
usr.sbin/sysinst/arch/evbppc/md.c: revision 1.8
usr.sbin/sysinst/arch/hpcarm/md.c: revision 1.7
usr.sbin/sysinst/arch/playstation2/md.c: revision 1.8
usr.sbin/sysinst/msg.pm.pl: revision 1.2
usr.sbin/sysinst/arch/hpcarm/md.c: revision 1.8
usr.sbin/sysinst/msg.mi.es: revision 1.21
usr.sbin/sysinst/arch/zaurus/md.c: revision 1.7
usr.sbin/sysinst/target.c: revision 1.11
usr.sbin/sysinst/arch/zaurus/md.c: revision 1.8
usr.sbin/sysinst/part_edit.c: revision 1.14
usr.sbin/sysinst/part_edit.c: revision 1.15
usr.sbin/sysinst/part_edit.c: revision 1.16
usr.sbin/sysinst/defs.h: revision 1.50
usr.sbin/sysinst/defs.h: revision 1.51
usr.sbin/sysinst/defs.h: revision 1.52
usr.sbin/sysinst/defs.h: revision 1.53
usr.sbin/sysinst/defs.h: revision 1.54
usr.sbin/sysinst/arch/hpcmips/md.c: revision 1.7
usr.sbin/sysinst/arch/hpcmips/md.c: revision 1.8
usr.sbin/sysinst/arch/hpcsh/md.c: revision 1.8
usr.sbin/sysinst/msg.pm.es: revision 1.2
usr.sbin/sysinst/arch/hpcsh/md.c: revision 1.9
usr.sbin/sysinst/label.c: revision 1.18
usr.sbin/sysinst/label.c: revision 1.19
usr.sbin/sysinst/net.c: revision 1.35
usr.sbin/sysinst/msg.mi.pl: revision 1.28
usr.sbin/sysinst/disklabel.c: revision 1.28
usr.sbin/sysinst/disklabel.c: revision 1.29
usr.sbin/sysinst/mbr.c: revision 1.24
usr.sbin/sysinst/disks.c: revision 1.59
usr.sbin/sysinst/mbr.c: revision 1.25
usr.sbin/sysinst/mbr.c: revision 1.26
usr.sbin/sysinst/mbr.c: revision 1.27
usr.sbin/sysinst/mbr.c: revision 1.28
usr.sbin/sysinst/label.c: revision 1.20
usr.sbin/sysinst/mbr.c: revision 1.29
usr.sbin/sysinst/bsddisklabel.c: revision 1.34
usr.sbin/sysinst/bsddisklabel.c: revision 1.35
usr.sbin/sysinst/bsddisklabel.c: revision 1.36
usr.sbin/sysinst/bsddisklabel.c: revision 1.37
usr.sbin/sysinst/disklabel.c: revision 1.30
usr.sbin/sysinst/bsddisklabel.c: revision 1.38
usr.sbin/sysinst/disklabel.c: revision 1.31
usr.sbin/sysinst/disklabel.c: revision 1.32
usr.sbin/sysinst/disklabel.c: revision 1.33
usr.sbin/sysinst/disklabel.c: revision 1.34
usr.sbin/sysinst/disks.c: revision 1.60
usr.sbin/sysinst/disks.c: revision 1.61
usr.sbin/sysinst/arch/bebox/md.c: revision 1.7
usr.sbin/sysinst/disks.c: revision 1.62
usr.sbin/sysinst/arch/bebox/md.c: revision 1.8
usr.sbin/sysinst/mbr.c: revision 1.30
usr.sbin/sysinst/partitions.c: revision 1.10
usr.sbin/sysinst/arch/prep/md.c: revision 1.11
usr.sbin/sysinst/arch/prep/md.c: revision 1.12
usr.sbin/sysinst/menus.pm: revision 1.3
usr.sbin/sysinst/main.c: revision 1.20
usr.sbin/sysinst/menus.mi: revision 1.20
usr.sbin/sysinst/menus.mi: revision 1.21
avoid calling snprintf/strlcat with an input parameter the same
as the output. from martin@. fixes gcc 8 restrict warnings.
Finish conversion of extended partitioning parts to new abstract
backend interface. XXX still could use a lot of polishing.
Instead of a (bogus) attempt to query the model via ofctl, use the (now
fixed) sysctl hw.model instead.
When reading the secondary disklabel partitions from an existing disklabel
set the mbr partitions as parent.
Move the LABELSECTOR check and make it FS type specific - some partition
types (FFS, RAID) are allowed to overlap with the LABELSECTOR.
When asked to create a whole-disk partition for unknown usage, do not only
assert(false), but actually return an error (in case "assert" is a nop).
PR install/54787: when trying to derive proper alignement and first offset
from exisiting partitions, use the first partition offset if it is already
closer to the start of the disk than the prefered alignment - we can not
move existing partitions around.
Fix handling of inner/outer partitions (e.g. MBR and disklabel) in
extended partitioning:
- when editing a disk with such a schme, offer both partitions in two
steps
- when commiting changes save the inner partitions after the outer ones
Add a method to query the partitioning schemes "internal idea" of a
cylinder size - whatever that means in the real world.
Avoid using the global "pm" variable in utility functions - during
extended partitioning they may point to a different device.
Remove useless calls to get_ramsize() - return value is ignored and
the function has no side effects.
Fix /tmp tmpfs handling and on machines with enough RAM default to
creating a /tmp tmpfs with 25% of ram size limit. Suggested by ad@.
PR install/54872: fix printf argument order, sectors and heads were
swapped in the bios geometry display.
First try to bring evbarm installation closer to current reality.
hide disklabel_non_bootable() under NO_DISKLABEL_BOOT like the usage.
should fix most builds.
Deal with even stranger fictious empty disklabels (PR kern/54882).
Factor out all RAM size thresholds as defines to avoid magic numbers.
To work around PR misc/54886 bump the threshold for a tmpfs /tmp mount
up to 256 MB.
When retrying sets during extraction, reset the relevant statistics
to avoid counting retried sets multiple times.
Reported by kim.
Fix support for non-512-byte/sector disks again after I broke it when
introducing the abstract partition backends.
Use a few strlcpy() instead of strncpy() for network ioctl structs.
We seem to have no formal documentation stating the various
char if*_name[IFNAMSIZ]; /* if name, e.g. "en0" */
elements in ioctls are nul terminated, but the peanut gallery claims
it is so - and at least half of the code in-tree touching them agrees.
Too much disklabel magic happening in the kernel - to compensate force
MBR first when trying to identify the existing partitioning scheme of
a disk.
 1.27.2.2 26-Dec-2023  snj Pull up following revision(s) (requested by martin in ticket #511):
usr.sbin/sysinst/configmenu.c: revision 1.18
usr.sbin/sysinst/defs.h: revision 1.90
usr.sbin/sysinst/main.c: revision 1.32
usr.sbin/sysinst/menus.entropy: revision 1.3
usr.sbin/sysinst/menus.mi: revision 1.29
usr.sbin/sysinst/net.c: revision 1.45
Add a https transfer method (sharing all host details with the http
transfer). Make this method the default for all downloads.
Try to make sure the binary pkg installation (which runs in a chroot
in the already installed system) can make use of SSL verification.
This does NOT fix the missing SSL verification in most install media
even if using https (due to not fully populated /etc/openssl/certs).
 1.27.2.1 24-Feb-2023  martin Pull up following revision(s) (requested by abs in ticket #105):

distrib/amd64/installimage-bios/install.sh: revision 1.3
distrib/i386/cdroms/install.sh: revision 1.5
distrib/vax/cdroms/installcd/install.sh: revision 1.3
distrib/amd64/cdroms/install.sh: revision 1.5
distrib/sparc64/cdroms/installcd/install.sh: revision 1.5
distrib/i386/installimage/install.sh: revision 1.3
distrib/i386/installimage/install.sh: revision 1.4
distrib/evbarm/installimage/install.sh: revision 1.2
distrib/amd64/installimage/install.sh: revision 1.4
usr.sbin/sysinst/menus.mi: revision 1.28

Enable basic command line editing in amd64 installer shells

When a user selects "exist installer" or hits ^Z in sysinst, the
calling install.sh runs a shell, plus shows a message indicating
they can type "exit" to return to the installer.

Add -E to the arguments to this shell, to enable command line editing,
(primarily for arrow keys, but basic emacs sequences will also work)

At this point this is only on amd64, as this is the port which is
least likely to be installing on particularly esoteric terminal
hardware, and is also likely to have the highest proportion of less
experienced users

Enable basic command line editing in i386 installer shells
(Following the pattern in amd64)

When a user selects "exit installer" or hits ^Z in sysinst, the
calling install.sh runs a shell, plus shows a message indicating
they can type "exit" to return to the installer.

Add -E to the arguments to this shell, to enable command line editing,
(primarily for arrow keys, but basic emacs sequences will also work)

Switch install.sh to use /usr/sbin/sysinst for sysinst rather than ./sysinst
Matches i386/cdroms/install.sh and amd64/installimage/install.sh
resultant install image verified to still run sysinst correctly

Enable basic command line editing in evbarm, sparc64 and vax installer shells
(Following the pattern in amd64)

When a user selects "exit installer" or hits ^Z in sysinst, the
calling install.sh runs a shell, plus shows a message indicating
they can type "exit" to return to the installer.

Add -E to the arguments to this shell, to enable command line editing,
(primarily for arrow keys, but basic emacs sequences will also work)

With the change of all the install.sh scripts in amd64, evbarm,
i386, sparc64 and vax are identical apart from NetBSD RCD tags and
the sysctl -nx kern.consdev check (some of the latter are definitely
either wrong, or have an incorrect comment attached. Will return
to later)

Add "-i -E" to /bin/sh called from sysinst

This enables command line editing (primarily for arrow keys, but basic
emacs sequences will also work)

In the event that the shell has been compiled without command line
editing features (for memory contrained install environments) the
-E is ignored
 1.29.2.1 02-Aug-2025  perseant Sync with HEAD
 1.3 09-Jan-2020  martin Finish conversion of extended partitioning parts to new abstract
backend interface. XXX still could use a lot of polishing.
 1.2 12-Jun-2019  martin branches: 1.2.2;
Rework internal data structures and "interfaces to user interface" functions
to get rid of all disklabel assumptions.

Previously (even for GPT partitioning) struct disklabel was used, which
obviously breaks large disk setups. Also many MD parts and parts of the
user interface assumed (a) a struct disklabel is used internally to
store partitioning information and (b) partitions are named 'a' ... $MAXPART.

Get rid of this and replace it with a quite abstract interface that should
be able to deal with all variants in partition storage:

- partitions are stored in a (partly abstract) struct disk_partitions
and most parts of it are only accessed via accessor functions provided
by a "partitioning scheme".

- implement partitioning schemes for MBR, disklabel and GPT (with likely
RDB [amiga] and Apple Partition Map [mac*] to follow soon)

- partitioning schemes may be cascaded, e.g. on x86 when using MBR as
"outer partitions", we have disklabel as "inner partitions".

- all user interface goes via accessor functions in the partitioning scheme,
some of which return pointers to special user interface descriptors
(e.g. to allow editing partition flags, which are scheme specific)

Overall the user interface changes (in this initial step) are minimal but
noticable. A new Anita is needed for automatic test setups - many thanks
to Andreas Gustafsson for lots of early testing and a new Anita version,
and to Manuel Bouyer for cooperation and tests of the Anita release.

This work was sponsored by The NetBSD Foundation, Inc.
 1.1 20-Sep-2018  rin branches: 1.1.2; 1.1.4;
Add NOPARTMAN compile-time option, which drops extended partitioning
support provided by partman.c. It reduces, e.g., about 30KB for
crunched binary in atari install floppy.

OK christos
 1.1.4.3 13-Apr-2020  martin Mostly merge changes from HEAD upto 20200411
 1.1.4.2 10-Jun-2019  christos Sync with HEAD
 1.1.4.1 20-Sep-2018  christos file menus.pm was added on branch phil-wifi on 2019-06-10 22:10:38 +0000
 1.1.2.2 30-Sep-2018  pgoyette Ssync with HEAD
 1.1.2.1 20-Sep-2018  pgoyette file menus.pm was added on branch pgoyette-compat on 2018-09-30 01:46:01 +0000
 1.2.2.1 28-Jan-2020  msaitoh Pull up following revision(s) (requested by martin in ticket #668):
usr.sbin/sysinst/arch/cobalt/md.c: revision 1.11
usr.sbin/sysinst/arch/cobalt/md.c: revision 1.12
usr.sbin/sysinst/arch/arc/md.c: revision 1.11
usr.sbin/sysinst/arch/arc/md.c: revision 1.12
usr.sbin/sysinst/partman.c: revision 1.43
usr.sbin/sysinst/partman.c: revision 1.46
usr.sbin/sysinst/partman.c: revision 1.47
usr.sbin/sysinst/partman.c: revision 1.48
usr.sbin/sysinst/partman.c: revision 1.49
usr.sbin/sysinst/msg.pm.fr: revision 1.2
usr.sbin/sysinst/upgrade.c: revision 1.14
usr.sbin/sysinst/arch/i386/md.c: revision 1.28
usr.sbin/sysinst/arch/i386/md.c: revision 1.29
usr.sbin/sysinst/arch/ofppc/md.c: revision 1.9
usr.sbin/sysinst/arch/sandpoint/md.c: revision 1.7
usr.sbin/sysinst/arch/sandpoint/md.c: revision 1.8
usr.sbin/sysinst/gpt.c: revision 1.14
usr.sbin/sysinst/gpt.c: revision 1.15
usr.sbin/sysinst/arch/luna68k/md.c: revision 1.8
usr.sbin/sysinst/gpt.c: revision 1.16
usr.sbin/sysinst/msg.pm.de: revision 1.2
usr.sbin/sysinst/arch/evbarm/md.c: revision 1.11
usr.sbin/sysinst/arch/evbarm/md.c: revision 1.12
usr.sbin/sysinst/arch/evbarm/md.c: revision 1.13
usr.sbin/sysinst/arch/evbarm/md.c: revision 1.14
usr.sbin/sysinst/sizemultname.c: revision 1.4
usr.sbin/sysinst/msg.pm.en: revision 1.2
usr.sbin/sysinst/arch/landisk/md.c: revision 1.12
usr.sbin/sysinst/util.c: revision 1.41
usr.sbin/sysinst/arch/landisk/md.c: revision 1.13
usr.sbin/sysinst/util.c: revision 1.42
usr.sbin/sysinst/arch/ofppc/md.c: revision 1.10
usr.sbin/sysinst/partitions.c: revision 1.9
usr.sbin/sysinst/arch/evbarm/md.h: revision 1.4
usr.sbin/sysinst/arch/evbarm/md.h: revision 1.5
usr.sbin/sysinst/arch/evbmips/md.c: revision 1.7
usr.sbin/sysinst/arch/evbmips/md.c: revision 1.8
usr.sbin/sysinst/msg.mi.fr: revision 1.25
usr.sbin/sysinst/msg.mi.de: revision 1.20
usr.sbin/sysinst/install.c: revision 1.14
usr.sbin/sysinst/partitions.h: revision 1.13
usr.sbin/sysinst/partitions.h: revision 1.14
usr.sbin/sysinst/arch/evbppc/md.c: revision 1.7
usr.sbin/sysinst/arch/playstation2/md.c: revision 1.7
usr.sbin/sysinst/msg.mi.en: revision 1.27
usr.sbin/sysinst/partitions.h: revision 1.15
usr.sbin/sysinst/arch/evbppc/md.c: revision 1.8
usr.sbin/sysinst/arch/hpcarm/md.c: revision 1.7
usr.sbin/sysinst/arch/playstation2/md.c: revision 1.8
usr.sbin/sysinst/msg.pm.pl: revision 1.2
usr.sbin/sysinst/arch/hpcarm/md.c: revision 1.8
usr.sbin/sysinst/msg.mi.es: revision 1.21
usr.sbin/sysinst/arch/zaurus/md.c: revision 1.7
usr.sbin/sysinst/target.c: revision 1.11
usr.sbin/sysinst/arch/zaurus/md.c: revision 1.8
usr.sbin/sysinst/part_edit.c: revision 1.14
usr.sbin/sysinst/part_edit.c: revision 1.15
usr.sbin/sysinst/part_edit.c: revision 1.16
usr.sbin/sysinst/defs.h: revision 1.50
usr.sbin/sysinst/defs.h: revision 1.51
usr.sbin/sysinst/defs.h: revision 1.52
usr.sbin/sysinst/defs.h: revision 1.53
usr.sbin/sysinst/defs.h: revision 1.54
usr.sbin/sysinst/arch/hpcmips/md.c: revision 1.7
usr.sbin/sysinst/arch/hpcmips/md.c: revision 1.8
usr.sbin/sysinst/arch/hpcsh/md.c: revision 1.8
usr.sbin/sysinst/msg.pm.es: revision 1.2
usr.sbin/sysinst/arch/hpcsh/md.c: revision 1.9
usr.sbin/sysinst/label.c: revision 1.18
usr.sbin/sysinst/label.c: revision 1.19
usr.sbin/sysinst/net.c: revision 1.35
usr.sbin/sysinst/msg.mi.pl: revision 1.28
usr.sbin/sysinst/disklabel.c: revision 1.28
usr.sbin/sysinst/disklabel.c: revision 1.29
usr.sbin/sysinst/mbr.c: revision 1.24
usr.sbin/sysinst/disks.c: revision 1.59
usr.sbin/sysinst/mbr.c: revision 1.25
usr.sbin/sysinst/mbr.c: revision 1.26
usr.sbin/sysinst/mbr.c: revision 1.27
usr.sbin/sysinst/mbr.c: revision 1.28
usr.sbin/sysinst/label.c: revision 1.20
usr.sbin/sysinst/mbr.c: revision 1.29
usr.sbin/sysinst/bsddisklabel.c: revision 1.34
usr.sbin/sysinst/bsddisklabel.c: revision 1.35
usr.sbin/sysinst/bsddisklabel.c: revision 1.36
usr.sbin/sysinst/bsddisklabel.c: revision 1.37
usr.sbin/sysinst/disklabel.c: revision 1.30
usr.sbin/sysinst/bsddisklabel.c: revision 1.38
usr.sbin/sysinst/disklabel.c: revision 1.31
usr.sbin/sysinst/disklabel.c: revision 1.32
usr.sbin/sysinst/disklabel.c: revision 1.33
usr.sbin/sysinst/disklabel.c: revision 1.34
usr.sbin/sysinst/disks.c: revision 1.60
usr.sbin/sysinst/disks.c: revision 1.61
usr.sbin/sysinst/arch/bebox/md.c: revision 1.7
usr.sbin/sysinst/disks.c: revision 1.62
usr.sbin/sysinst/arch/bebox/md.c: revision 1.8
usr.sbin/sysinst/mbr.c: revision 1.30
usr.sbin/sysinst/partitions.c: revision 1.10
usr.sbin/sysinst/arch/prep/md.c: revision 1.11
usr.sbin/sysinst/arch/prep/md.c: revision 1.12
usr.sbin/sysinst/menus.pm: revision 1.3
usr.sbin/sysinst/main.c: revision 1.20
usr.sbin/sysinst/menus.mi: revision 1.20
usr.sbin/sysinst/menus.mi: revision 1.21
avoid calling snprintf/strlcat with an input parameter the same
as the output. from martin@. fixes gcc 8 restrict warnings.
Finish conversion of extended partitioning parts to new abstract
backend interface. XXX still could use a lot of polishing.
Instead of a (bogus) attempt to query the model via ofctl, use the (now
fixed) sysctl hw.model instead.
When reading the secondary disklabel partitions from an existing disklabel
set the mbr partitions as parent.
Move the LABELSECTOR check and make it FS type specific - some partition
types (FFS, RAID) are allowed to overlap with the LABELSECTOR.
When asked to create a whole-disk partition for unknown usage, do not only
assert(false), but actually return an error (in case "assert" is a nop).
PR install/54787: when trying to derive proper alignement and first offset
from exisiting partitions, use the first partition offset if it is already
closer to the start of the disk than the prefered alignment - we can not
move existing partitions around.
Fix handling of inner/outer partitions (e.g. MBR and disklabel) in
extended partitioning:
- when editing a disk with such a schme, offer both partitions in two
steps
- when commiting changes save the inner partitions after the outer ones
Add a method to query the partitioning schemes "internal idea" of a
cylinder size - whatever that means in the real world.
Avoid using the global "pm" variable in utility functions - during
extended partitioning they may point to a different device.
Remove useless calls to get_ramsize() - return value is ignored and
the function has no side effects.
Fix /tmp tmpfs handling and on machines with enough RAM default to
creating a /tmp tmpfs with 25% of ram size limit. Suggested by ad@.
PR install/54872: fix printf argument order, sectors and heads were
swapped in the bios geometry display.
First try to bring evbarm installation closer to current reality.
hide disklabel_non_bootable() under NO_DISKLABEL_BOOT like the usage.
should fix most builds.
Deal with even stranger fictious empty disklabels (PR kern/54882).
Factor out all RAM size thresholds as defines to avoid magic numbers.
To work around PR misc/54886 bump the threshold for a tmpfs /tmp mount
up to 256 MB.
When retrying sets during extraction, reset the relevant statistics
to avoid counting retried sets multiple times.
Reported by kim.
Fix support for non-512-byte/sector disks again after I broke it when
introducing the abstract partition backends.
Use a few strlcpy() instead of strncpy() for network ioctl structs.
We seem to have no formal documentation stating the various
char if*_name[IFNAMSIZ]; /* if name, e.g. "en0" */
elements in ioctls are nul terminated, but the peanut gallery claims
it is so - and at least half of the code in-tree touching them agrees.
Too much disklabel magic happening in the kernel - to compensate force
MBR first when trying to identify the existing partitioning scheme of
a disk.
 1.5 21-Apr-2022  martin Make default installations a bit more secure:
- push a bit harder for setup of a root password
- simplify/clarify manual entropy setup
- visit the entropy setup (on machines where it is needed) on the
default path through sysinst
 1.4 11-Oct-2021  rillig sysinst: proofread German entropy translation
 1.3 08-Oct-2021  martin Re-enable the entropy handling code in sysinst (only visible on machines
that do not have full entropy), but move it to the config menu
instead of enforcing it as mandatory step.

This menu is shown at the end of the setup, or if explicitly invoked
from the main menu.

Some of the input options are complex but useful in some situations
and code to support them is tiny. Most users will use the manual input
(first + default option) but some might prefer to connect a USB TRNG
or have easy setups to transfer entropy from another machine (while
copy & paste on a serial console sometimes is tricky).
 1.2 06-Nov-2020  martin Fix copy & pasted copyright comments.
 1.1 04-Nov-2020  martin Add (experimental) entropy input support:
Early during new installs or after upgrades we check if entropy is
available. If not (no hardware random number generator available)
we inform the user and ask them to fix it.
 1.4 21-Apr-2022  martin Make default installations a bit more secure:
- push a bit harder for setup of a root password
- simplify/clarify manual entropy setup
- visit the entropy setup (on machines where it is needed) on the
default path through sysinst
 1.3 08-Oct-2021  martin Re-enable the entropy handling code in sysinst (only visible on machines
that do not have full entropy), but move it to the config menu
instead of enforcing it as mandatory step.

This menu is shown at the end of the setup, or if explicitly invoked
from the main menu.

Some of the input options are complex but useful in some situations
and code to support them is tiny. Most users will use the manual input
(first + default option) but some might prefer to connect a USB TRNG
or have easy setups to transfer entropy from another machine (while
copy & paste on a serial console sometimes is tricky).
 1.2 06-Nov-2020  martin Fix copy & pasted copyright comments.
 1.1 04-Nov-2020  martin Add (experimental) entropy input support:
Early during new installs or after upgrades we check if entropy is
available. If not (no hardware random number generator available)
we inform the user and ask them to fix it.
 1.5 21-Apr-2022  martin Make default installations a bit more secure:
- push a bit harder for setup of a root password
- simplify/clarify manual entropy setup
- visit the entropy setup (on machines where it is needed) on the
default path through sysinst
 1.4 08-Oct-2021  nia Fix accidental word duplication
 1.3 08-Oct-2021  martin Re-enable the entropy handling code in sysinst (only visible on machines
that do not have full entropy), but move it to the config menu
instead of enforcing it as mandatory step.

This menu is shown at the end of the setup, or if explicitly invoked
from the main menu.

Some of the input options are complex but useful in some situations
and code to support them is tiny. Most users will use the manual input
(first + default option) but some might prefer to connect a USB TRNG
or have easy setups to transfer entropy from another machine (while
copy & paste on a serial console sometimes is tricky).
 1.2 06-Nov-2020  martin Fix copy & pasted copyright comments.
 1.1 04-Nov-2020  martin Add (experimental) entropy input support:
Early during new installs or after upgrades we check if entropy is
available. If not (no hardware random number generator available)
we inform the user and ask them to fix it.
 1.5 21-Apr-2022  martin Make default installations a bit more secure:
- push a bit harder for setup of a root password
- simplify/clarify manual entropy setup
- visit the entropy setup (on machines where it is needed) on the
default path through sysinst
 1.4 08-Oct-2021  nia Fix accidental word duplication
 1.3 08-Oct-2021  martin Re-enable the entropy handling code in sysinst (only visible on machines
that do not have full entropy), but move it to the config menu
instead of enforcing it as mandatory step.

This menu is shown at the end of the setup, or if explicitly invoked
from the main menu.

Some of the input options are complex but useful in some situations
and code to support them is tiny. Most users will use the manual input
(first + default option) but some might prefer to connect a USB TRNG
or have easy setups to transfer entropy from another machine (while
copy & paste on a serial console sometimes is tricky).
 1.2 06-Nov-2020  martin Fix copy & pasted copyright comments.
 1.1 04-Nov-2020  martin Add (experimental) entropy input support:
Early during new installs or after upgrades we check if entropy is
available. If not (no hardware random number generator available)
we inform the user and ask them to fix it.
 1.5 21-Apr-2022  martin Make default installations a bit more secure:
- push a bit harder for setup of a root password
- simplify/clarify manual entropy setup
- visit the entropy setup (on machines where it is needed) on the
default path through sysinst
 1.4 08-Oct-2021  nia Fix accidental word duplication
 1.3 08-Oct-2021  martin Re-enable the entropy handling code in sysinst (only visible on machines
that do not have full entropy), but move it to the config menu
instead of enforcing it as mandatory step.

This menu is shown at the end of the setup, or if explicitly invoked
from the main menu.

Some of the input options are complex but useful in some situations
and code to support them is tiny. Most users will use the manual input
(first + default option) but some might prefer to connect a USB TRNG
or have easy setups to transfer entropy from another machine (while
copy & paste on a serial console sometimes is tricky).
 1.2 06-Nov-2020  martin Fix copy & pasted copyright comments.
 1.1 04-Nov-2020  martin Add (experimental) entropy input support:
Early during new installs or after upgrades we check if entropy is
available. If not (no hardware random number generator available)
we inform the user and ask them to fix it.
 1.4 12-Jun-2019  martin Rework internal data structures and "interfaces to user interface" functions
to get rid of all disklabel assumptions.

Previously (even for GPT partitioning) struct disklabel was used, which
obviously breaks large disk setups. Also many MD parts and parts of the
user interface assumed (a) a struct disklabel is used internally to
store partitioning information and (b) partitions are named 'a' ... $MAXPART.

Get rid of this and replace it with a quite abstract interface that should
be able to deal with all variants in partition storage:

- partitions are stored in a (partly abstract) struct disk_partitions
and most parts of it are only accessed via accessor functions provided
by a "partitioning scheme".

- implement partitioning schemes for MBR, disklabel and GPT (with likely
RDB [amiga] and Apple Partition Map [mac*] to follow soon)

- partitioning schemes may be cascaded, e.g. on x86 when using MBR as
"outer partitions", we have disklabel as "inner partitions".

- all user interface goes via accessor functions in the partitioning scheme,
some of which return pointers to special user interface descriptors
(e.g. to allow editing partition flags, which are scheme specific)

Overall the user interface changes (in this initial step) are minimal but
noticable. A new Anita is needed for automatic test setups - many thanks
to Andreas Gustafsson for lots of early testing and a new Anita version,
and to Manuel Bouyer for cooperation and tests of the Anita release.

This work was sponsored by The NetBSD Foundation, Inc.
 1.3 15-Nov-2018  martin Make use of the new positional parameters to better describe the first
partitioning step. Remove size limits/hints encoded in the translations
and replace them by values from the code.
 1.2 03-Aug-2014  martin branches: 1.2.2; 1.2.6; 1.2.26; 1.2.28;
(Finally) merge a slightly modified version of the 2012 GSoC results
from Eugene Lozovoy: add extended partitioning options to sysinst.
Still needs some testing and polishing, but it now is possible to use GPT
or to create a RAID set from scratch and install onto it.
 1.1 26-Jul-2014  dholland Move sysinst sources to usr.sbin.

This commit only physically moves the sources - there are no other
changes, to maximize the probability that this will be treated as a
rename if we ever do manage to migrate away from CVS.

Moving sysinst has been discussed on and off for years and has two
goals: making it easier to work on sysinst, and also making sysinst
available on running systems for use installing chroots and VM images
and other such things. None of the latter is possible yet, but as they
say, one thing at a time.

Doing this now was approved in an impromptu fashion by mrg, riz,
riastradh, me, and groo.
 1.2.28.2 13-Apr-2020  martin Mostly merge changes from HEAD upto 20200411
 1.2.28.1 10-Jun-2019  christos Sync with HEAD
 1.2.26.1 26-Nov-2018  pgoyette Sync with HEAD, resolve a couple of conflicts
 1.2.6.2 20-Aug-2014  tls Rebase to HEAD as of a few days ago.
 1.2.6.1 03-Aug-2014  tls file msg.mbr.de was added on branch tls-maxphys on 2014-08-20 00:05:13 +0000
 1.2.2.2 10-Aug-2014  tls Rebase.
 1.2.2.1 03-Aug-2014  tls file msg.mbr.de was added on branch tls-earlyentropy on 2014-08-10 07:00:24 +0000
 1.4 12-Jun-2019  martin Rework internal data structures and "interfaces to user interface" functions
to get rid of all disklabel assumptions.

Previously (even for GPT partitioning) struct disklabel was used, which
obviously breaks large disk setups. Also many MD parts and parts of the
user interface assumed (a) a struct disklabel is used internally to
store partitioning information and (b) partitions are named 'a' ... $MAXPART.

Get rid of this and replace it with a quite abstract interface that should
be able to deal with all variants in partition storage:

- partitions are stored in a (partly abstract) struct disk_partitions
and most parts of it are only accessed via accessor functions provided
by a "partitioning scheme".

- implement partitioning schemes for MBR, disklabel and GPT (with likely
RDB [amiga] and Apple Partition Map [mac*] to follow soon)

- partitioning schemes may be cascaded, e.g. on x86 when using MBR as
"outer partitions", we have disklabel as "inner partitions".

- all user interface goes via accessor functions in the partitioning scheme,
some of which return pointers to special user interface descriptors
(e.g. to allow editing partition flags, which are scheme specific)

Overall the user interface changes (in this initial step) are minimal but
noticable. A new Anita is needed for automatic test setups - many thanks
to Andreas Gustafsson for lots of early testing and a new Anita version,
and to Manuel Bouyer for cooperation and tests of the Anita release.

This work was sponsored by The NetBSD Foundation, Inc.
 1.3 15-Nov-2018  martin Make use of the new positional parameters to better describe the first
partitioning step. Remove size limits/hints encoded in the translations
and replace them by values from the code.
 1.2 03-Aug-2014  martin branches: 1.2.2; 1.2.6; 1.2.26; 1.2.28;
(Finally) merge a slightly modified version of the 2012 GSoC results
from Eugene Lozovoy: add extended partitioning options to sysinst.
Still needs some testing and polishing, but it now is possible to use GPT
or to create a RAID set from scratch and install onto it.
 1.1 26-Jul-2014  dholland Move sysinst sources to usr.sbin.

This commit only physically moves the sources - there are no other
changes, to maximize the probability that this will be treated as a
rename if we ever do manage to migrate away from CVS.

Moving sysinst has been discussed on and off for years and has two
goals: making it easier to work on sysinst, and also making sysinst
available on running systems for use installing chroots and VM images
and other such things. None of the latter is possible yet, but as they
say, one thing at a time.

Doing this now was approved in an impromptu fashion by mrg, riz,
riastradh, me, and groo.
 1.2.28.2 13-Apr-2020  martin Mostly merge changes from HEAD upto 20200411
 1.2.28.1 10-Jun-2019  christos Sync with HEAD
 1.2.26.1 26-Nov-2018  pgoyette Sync with HEAD, resolve a couple of conflicts
 1.2.6.2 20-Aug-2014  tls Rebase to HEAD as of a few days ago.
 1.2.6.1 03-Aug-2014  tls file msg.mbr.en was added on branch tls-maxphys on 2014-08-20 00:05:13 +0000
 1.2.2.2 10-Aug-2014  tls Rebase.
 1.2.2.1 03-Aug-2014  tls file msg.mbr.en was added on branch tls-earlyentropy on 2014-08-10 07:00:24 +0000
 1.4 12-Jun-2019  martin Rework internal data structures and "interfaces to user interface" functions
to get rid of all disklabel assumptions.

Previously (even for GPT partitioning) struct disklabel was used, which
obviously breaks large disk setups. Also many MD parts and parts of the
user interface assumed (a) a struct disklabel is used internally to
store partitioning information and (b) partitions are named 'a' ... $MAXPART.

Get rid of this and replace it with a quite abstract interface that should
be able to deal with all variants in partition storage:

- partitions are stored in a (partly abstract) struct disk_partitions
and most parts of it are only accessed via accessor functions provided
by a "partitioning scheme".

- implement partitioning schemes for MBR, disklabel and GPT (with likely
RDB [amiga] and Apple Partition Map [mac*] to follow soon)

- partitioning schemes may be cascaded, e.g. on x86 when using MBR as
"outer partitions", we have disklabel as "inner partitions".

- all user interface goes via accessor functions in the partitioning scheme,
some of which return pointers to special user interface descriptors
(e.g. to allow editing partition flags, which are scheme specific)

Overall the user interface changes (in this initial step) are minimal but
noticable. A new Anita is needed for automatic test setups - many thanks
to Andreas Gustafsson for lots of early testing and a new Anita version,
and to Manuel Bouyer for cooperation and tests of the Anita release.

This work was sponsored by The NetBSD Foundation, Inc.
 1.3 15-Nov-2018  martin Make use of the new positional parameters to better describe the first
partitioning step. Remove size limits/hints encoded in the translations
and replace them by values from the code.
 1.2 03-Aug-2014  martin branches: 1.2.2; 1.2.6; 1.2.26; 1.2.28;
(Finally) merge a slightly modified version of the 2012 GSoC results
from Eugene Lozovoy: add extended partitioning options to sysinst.
Still needs some testing and polishing, but it now is possible to use GPT
or to create a RAID set from scratch and install onto it.
 1.1 26-Jul-2014  dholland Move sysinst sources to usr.sbin.

This commit only physically moves the sources - there are no other
changes, to maximize the probability that this will be treated as a
rename if we ever do manage to migrate away from CVS.

Moving sysinst has been discussed on and off for years and has two
goals: making it easier to work on sysinst, and also making sysinst
available on running systems for use installing chroots and VM images
and other such things. None of the latter is possible yet, but as they
say, one thing at a time.

Doing this now was approved in an impromptu fashion by mrg, riz,
riastradh, me, and groo.
 1.2.28.2 13-Apr-2020  martin Mostly merge changes from HEAD upto 20200411
 1.2.28.1 10-Jun-2019  christos Sync with HEAD
 1.2.26.1 26-Nov-2018  pgoyette Sync with HEAD, resolve a couple of conflicts
 1.2.6.2 20-Aug-2014  tls Rebase to HEAD as of a few days ago.
 1.2.6.1 03-Aug-2014  tls file msg.mbr.es was added on branch tls-maxphys on 2014-08-20 00:05:13 +0000
 1.2.2.2 10-Aug-2014  tls Rebase.
 1.2.2.1 03-Aug-2014  tls file msg.mbr.es was added on branch tls-earlyentropy on 2014-08-10 07:00:24 +0000
 1.6 12-Jun-2019  martin Rework internal data structures and "interfaces to user interface" functions
to get rid of all disklabel assumptions.

Previously (even for GPT partitioning) struct disklabel was used, which
obviously breaks large disk setups. Also many MD parts and parts of the
user interface assumed (a) a struct disklabel is used internally to
store partitioning information and (b) partitions are named 'a' ... $MAXPART.

Get rid of this and replace it with a quite abstract interface that should
be able to deal with all variants in partition storage:

- partitions are stored in a (partly abstract) struct disk_partitions
and most parts of it are only accessed via accessor functions provided
by a "partitioning scheme".

- implement partitioning schemes for MBR, disklabel and GPT (with likely
RDB [amiga] and Apple Partition Map [mac*] to follow soon)

- partitioning schemes may be cascaded, e.g. on x86 when using MBR as
"outer partitions", we have disklabel as "inner partitions".

- all user interface goes via accessor functions in the partitioning scheme,
some of which return pointers to special user interface descriptors
(e.g. to allow editing partition flags, which are scheme specific)

Overall the user interface changes (in this initial step) are minimal but
noticable. A new Anita is needed for automatic test setups - many thanks
to Andreas Gustafsson for lots of early testing and a new Anita version,
and to Manuel Bouyer for cooperation and tests of the Anita release.

This work was sponsored by The NetBSD Foundation, Inc.
 1.5 15-Nov-2018  martin Make use of the new positional parameters to better describe the first
partitioning step. Remove size limits/hints encoded in the translations
and replace them by values from the code.
 1.4 20-Apr-2015  maxv branches: 1.4.14; 1.4.16;
Fix the French translation.
 1.3 19-Apr-2015  maxv Several fixes for the French translation. Looks like the '{\n' break the
interface: the "No" buttons sometimes disappear.

Actually I can't test this change right now; will see tomorrow.
 1.2 03-Aug-2014  martin branches: 1.2.2; 1.2.4; 1.2.6;
(Finally) merge a slightly modified version of the 2012 GSoC results
from Eugene Lozovoy: add extended partitioning options to sysinst.
Still needs some testing and polishing, but it now is possible to use GPT
or to create a RAID set from scratch and install onto it.
 1.1 26-Jul-2014  dholland Move sysinst sources to usr.sbin.

This commit only physically moves the sources - there are no other
changes, to maximize the probability that this will be treated as a
rename if we ever do manage to migrate away from CVS.

Moving sysinst has been discussed on and off for years and has two
goals: making it easier to work on sysinst, and also making sysinst
available on running systems for use installing chroots and VM images
and other such things. None of the latter is possible yet, but as they
say, one thing at a time.

Doing this now was approved in an impromptu fashion by mrg, riz,
riastradh, me, and groo.
 1.2.6.2 20-Aug-2014  tls Rebase to HEAD as of a few days ago.
 1.2.6.1 03-Aug-2014  tls file msg.mbr.fr was added on branch tls-maxphys on 2014-08-20 00:05:13 +0000
 1.2.4.1 14-May-2015  snj Pull up following revision(s) (requested by martin in ticket #755):
usr.sbin/sysinst/msg.mbr.fr: revisions 1.3, 1.4
usr.sbin/sysinst/msg.mi.fr: revisions 1.6, 1.7
Several fixes for the French translation. Looks like the '{\n' break the
interface: the "No" buttons sometimes disappear.
--
Fix the French translation.
 1.2.2.2 10-Aug-2014  tls Rebase.
 1.2.2.1 03-Aug-2014  tls file msg.mbr.fr was added on branch tls-earlyentropy on 2014-08-10 07:00:24 +0000
 1.4.16.2 13-Apr-2020  martin Mostly merge changes from HEAD upto 20200411
 1.4.16.1 10-Jun-2019  christos Sync with HEAD
 1.4.14.1 26-Nov-2018  pgoyette Sync with HEAD, resolve a couple of conflicts
 1.4 12-Jun-2019  martin Rework internal data structures and "interfaces to user interface" functions
to get rid of all disklabel assumptions.

Previously (even for GPT partitioning) struct disklabel was used, which
obviously breaks large disk setups. Also many MD parts and parts of the
user interface assumed (a) a struct disklabel is used internally to
store partitioning information and (b) partitions are named 'a' ... $MAXPART.

Get rid of this and replace it with a quite abstract interface that should
be able to deal with all variants in partition storage:

- partitions are stored in a (partly abstract) struct disk_partitions
and most parts of it are only accessed via accessor functions provided
by a "partitioning scheme".

- implement partitioning schemes for MBR, disklabel and GPT (with likely
RDB [amiga] and Apple Partition Map [mac*] to follow soon)

- partitioning schemes may be cascaded, e.g. on x86 when using MBR as
"outer partitions", we have disklabel as "inner partitions".

- all user interface goes via accessor functions in the partitioning scheme,
some of which return pointers to special user interface descriptors
(e.g. to allow editing partition flags, which are scheme specific)

Overall the user interface changes (in this initial step) are minimal but
noticable. A new Anita is needed for automatic test setups - many thanks
to Andreas Gustafsson for lots of early testing and a new Anita version,
and to Manuel Bouyer for cooperation and tests of the Anita release.

This work was sponsored by The NetBSD Foundation, Inc.
 1.3 15-Nov-2018  martin Make use of the new positional parameters to better describe the first
partitioning step. Remove size limits/hints encoded in the translations
and replace them by values from the code.
 1.2 03-Aug-2014  martin branches: 1.2.2; 1.2.6; 1.2.26; 1.2.28;
(Finally) merge a slightly modified version of the 2012 GSoC results
from Eugene Lozovoy: add extended partitioning options to sysinst.
Still needs some testing and polishing, but it now is possible to use GPT
or to create a RAID set from scratch and install onto it.
 1.1 26-Jul-2014  dholland Move sysinst sources to usr.sbin.

This commit only physically moves the sources - there are no other
changes, to maximize the probability that this will be treated as a
rename if we ever do manage to migrate away from CVS.

Moving sysinst has been discussed on and off for years and has two
goals: making it easier to work on sysinst, and also making sysinst
available on running systems for use installing chroots and VM images
and other such things. None of the latter is possible yet, but as they
say, one thing at a time.

Doing this now was approved in an impromptu fashion by mrg, riz,
riastradh, me, and groo.
 1.2.28.2 13-Apr-2020  martin Mostly merge changes from HEAD upto 20200411
 1.2.28.1 10-Jun-2019  christos Sync with HEAD
 1.2.26.1 26-Nov-2018  pgoyette Sync with HEAD, resolve a couple of conflicts
 1.2.6.2 20-Aug-2014  tls Rebase to HEAD as of a few days ago.
 1.2.6.1 03-Aug-2014  tls file msg.mbr.pl was added on branch tls-maxphys on 2014-08-20 00:05:13 +0000
 1.2.2.2 10-Aug-2014  tls Rebase.
 1.2.2.1 03-Aug-2014  tls file msg.mbr.pl was added on branch tls-earlyentropy on 2014-08-10 07:00:24 +0000
 1.53 25-Jul-2025  martin On install media where we can check trust anchors, offer explicit
download of sets via https.
 1.52 06-Jun-2025  nia sysinst(8): ask_disk auf Deutsch
 1.51 05-Jun-2025  nia sysinst(8): Expand detail in messages per user feedback
 1.50 20-Jun-2024  rillig branches: 1.50.2;
sysinst: fix umlaut in German translation
 1.49 20-Jun-2024  nia sysinst(8): Note that leaving the network "media type" empty autoconfigures
 1.48 25-Apr-2024  hannken Increase length of set description to 40 characters so recent additions fit.

Ok: martin@

Fixes PR install/58188 "sysinst fails to display status of base32 set"
 1.47 22-Apr-2024  nia Move MIPS N64 compat out of {base,debug}32 into {base,debug}64

martin requested separation by ABI and it doesn't make much sense
to have 64-bit binaries in a set called 32.
 1.46 09-Apr-2024  nia Add new sets: base32, debug32, manhtml

- base32 contains (when MKCOMPAT=yes) shared libraries for 32-bit
compatibility, previously included in base

- debug32 contains (when MKCOMPAT=yes) debug symbols and static libraries
containing debug symbols for 32-bit compatiblity, previously included
in debug

- manhtml contains (when MKHTML=yes) the HTML files previously included
in 'man', which are of limited utility without third-party software.

The motivation for this change is to be able to easily exclude sets
from CD-ROM images that go over the size limit without xz compression
(which many NetBSD platforms struggle to extract at acceptable speeds).
 1.45 31-Oct-2023  martin Shorten the Use_Different_Part_Scheme message - the old version could
overflow a 80 wide char display with some partitioning schemes (e.g.
disklabel).
 1.44 31-Oct-2023  martin Switch to "-" (single minus) as input denotation for "no mount point"
in all translations and adjust the code accordingly.
Pointed out by Thierry Laronde.
 1.43 15-Dec-2022  martin branches: 1.43.2;
Add an (expert) option to manually edit partitions, inspired by PR 57100.
 1.42 30-Nov-2022  martin Add support for FFSv2ea in the partition type menus (internally setting
fs version to 3 for this, where 2 is FFSv2 and 1 is FFSv1)
 1.41 22-Jul-2022  christos Add a menu option to set the file extension of the downloaded sets.
amd64 sets are .tar.xz and sysinst fails by default.
 1.40 11-Jun-2022  martin Slightly improved error handling when converion from one partition table
format to another is not lossless.
 1.39 09-Jun-2022  martin Add support for explicitly selecting "EFI system partition" as a partition
type.
 1.38 18-May-2022  martin When not invoked via some explicit "configure network" menu item,
auto-detect an already working network setup and offer to "just use" it
whenver we need connectivity.
 1.37 16-May-2022  martin Split the available disks (that may be partitioned) from the
preconfigured wedges (that can be install target, but can not be
partitioned). The latter are only usefull in special setups
and clobber the list of available disks for the usual setup cases.
 1.36 21-Apr-2022  martin Make default installations a bit more secure:
- push a bit harder for setup of a root password
- simplify/clarify manual entropy setup
- visit the entropy setup (on machines where it is needed) on the
default path through sysinst
 1.35 10-Jan-2022  nia sysinst(8): Add initial support for connecting to Wi-Fi networks
by spawning wpa_supplicant.

Reviewed by martin.
 1.34 25-Sep-2021  maya Move DRM-driver firmware from base to its own set, gpufw

This set is only installed on amd64,i386,evbarm.
This set is installed on minimal installs and on install media, in
case someone needs it for basic driver functionality.

Comments:
Switched to a single MK tunable for it - that is probably unneeded.

An upcoming DRM update will include even fatter firmware, and we'd
like to minimize the impact of it.
 1.33 31-Jan-2021  rillig sysinst: fix some more typos in the German translation
 1.32 31-Jan-2021  rillig sysinst: restore the few intentional line breaks in German

Marking a forced line break with a trailing space is a terrible idea.
Most of the lines that previously had trailing whitespace did so
unintentionally, destroying the auto-layout.
 1.31 31-Jan-2021  rillig sysinst: proofread German translation

It was a mixture of all possible styles, with several typos and
inconsistencies.
 1.30 31-Jan-2021  rillig sysinst: fix German translation, remove more trailing whitespace
 1.29 31-Jan-2021  rillig sysinst: remove trailing whitespace in German translation
 1.28 05-Nov-2020  martin Remove an unused message (accidently placed inconsistently in
previous)
 1.27 04-Nov-2020  martin Add (experimental) entropy input support:
Early during new installs or after upgrades we check if entropy is
available. If not (no hardware random number generator available)
we inform the user and ask them to fix it.
 1.26 27-Oct-2020  martin When we did not magically find any CD medium with sets, offer a manual
override (so ISO images on USB sticks or Xen's xbd(4) work).
 1.25 24-Oct-2020  martin When looking for available CD media, skip those that are already mounted.
When no medium with sets is found, show a new error message and return
to the source selection menu.
Rearrange all source option menus to have the proper set suffix
available (either .tgz or .tar.xz).
 1.24 13-Oct-2020  martin PR 55142: on popular demand bring back expert options to adjust the
number of free inodes, block size and fragment size for FFS and LFS.
 1.23 12-Oct-2020  martin PR 55536: when we find existing partition tables and have alternative
formats available, offer to delete partitions and create new ones from
scratch (in some other or the same on-disk format).
 1.22 18-May-2020  jmcneill Separate devicetree .dts -> .dtb building from kernel builds. They are now
part of a separate set, "dtb.tgz", and only built when MKDTB=yes. This
defaults to yes for earmv[67]* and aarch64, and no everywhere else.
 1.21 06-Feb-2020  martin Reformat a query to add an automatically detected swap partition
so it fits on narrow screens.
 1.20 09-Jan-2020  martin Finish conversion of extended partitioning parts to new abstract
backend interface. XXX still could use a lot of polishing.
 1.19 11-Dec-2019  martin PR 54065: add optional "old compat" variant of ext2fs in file system
type selection and use that as default for the cobalt boot file system.
 1.18 16-Nov-2019  martin Make sure all menus have a translatable exit option (or none at all).
 1.17 12-Nov-2019  martin Add options to the various partitioning stages that allow cloning of
alien partitions (optionally including data).
 1.16 02-Oct-2019  maya Split out /rescue to its own set and adapt installers/images to add it.

This is meant to make updates safer: if something goes wrong with updating
base, we still have the old, standalone /rescue to recover from.
 1.15 17-Aug-2019  martin PR 54473: fix error prompt when a set file is missing
 1.14 14-Aug-2019  martin On architectures that usually do MBR/disklabel, nevertheless deal with
pure/plain disklabel disks, and explicitly offer this as partitioning
option when bootability is not a concern.
 1.13 23-Jul-2019  martin branches: 1.13.2;
For upgrade / re-install allow the currently running system as a target
in the "disk" selection.
 1.12 12-Jun-2019  martin Rework internal data structures and "interfaces to user interface" functions
to get rid of all disklabel assumptions.

Previously (even for GPT partitioning) struct disklabel was used, which
obviously breaks large disk setups. Also many MD parts and parts of the
user interface assumed (a) a struct disklabel is used internally to
store partitioning information and (b) partitions are named 'a' ... $MAXPART.

Get rid of this and replace it with a quite abstract interface that should
be able to deal with all variants in partition storage:

- partitions are stored in a (partly abstract) struct disk_partitions
and most parts of it are only accessed via accessor functions provided
by a "partitioning scheme".

- implement partitioning schemes for MBR, disklabel and GPT (with likely
RDB [amiga] and Apple Partition Map [mac*] to follow soon)

- partitioning schemes may be cascaded, e.g. on x86 when using MBR as
"outer partitions", we have disklabel as "inner partitions".

- all user interface goes via accessor functions in the partitioning scheme,
some of which return pointers to special user interface descriptors
(e.g. to allow editing partition flags, which are scheme specific)

Overall the user interface changes (in this initial step) are minimal but
noticable. A new Anita is needed for automatic test setups - many thanks
to Andreas Gustafsson for lots of early testing and a new Anita version,
and to Manuel Bouyer for cooperation and tests of the Anita release.

This work was sponsored by The NetBSD Foundation, Inc.
 1.11 10-Jan-2019  martin PR install/53857: make the pkgsrc menu wider, so the first column fits
in various translations. While there shorten some (misleading) text.
 1.10 15-Nov-2018  martin Make use of the new positional parameters to better describe the first
partitioning step. Remove size limits/hints encoded in the translations
and replace them by values from the code.
 1.9 03-Nov-2018  martin Remove "usage" translations - they never could be displayed as we only select
the language later.
Extend usage display a bit and sync with reality.
 1.8 11-Sep-2018  martin Split the host name used for ftp transfers from the one used for http
transfers. This is slightly inconsistent, as directories are still
shared - but this allows us to default to cdn/nycdn for http (which don't
support ftp).
 1.7 03-Jun-2018  martin branches: 1.7.2;
Add an option to install onto a pre-configured wedge.
Greatly simmplifies (U)EFI setups (but does not fully automate them yet).
 1.6 17-May-2015  martin branches: 1.6.8; 1.6.14;
Invert sense of a vnd creation message ("Create new image: Yes") and kill
the translations that I can't update myself.
 1.5 22-Sep-2014  roy Change the IPv6 DNS selection to use DNS selection and add the
Google Public V4 DNS servers to the list.
The other field can take an IPv4 or IPv6 name server of choice.
Fixes PR install/49231.
 1.4 13-Sep-2014  roy Change the display order so it's protocol agnostic at the top,
then IPv4 then IPv6.
 1.3 15-Aug-2014  jmcneill branches: 1.3.2;
remove trailing colon from "addusername" msg
 1.2 03-Aug-2014  martin branches: 1.2.2; 1.2.4;
(Finally) merge a slightly modified version of the 2012 GSoC results
from Eugene Lozovoy: add extended partitioning options to sysinst.
Still needs some testing and polishing, but it now is possible to use GPT
or to create a RAID set from scratch and install onto it.
 1.1 26-Jul-2014  dholland Move sysinst sources to usr.sbin.

This commit only physically moves the sources - there are no other
changes, to maximize the probability that this will be treated as a
rename if we ever do manage to migrate away from CVS.

Moving sysinst has been discussed on and off for years and has two
goals: making it easier to work on sysinst, and also making sysinst
available on running systems for use installing chroots and VM images
and other such things. None of the latter is possible yet, but as they
say, one thing at a time.

Doing this now was approved in an impromptu fashion by mrg, riz,
riastradh, me, and groo.
 1.2.4.3 14-May-2015  snj Pull up following revision(s) (requested by martin in ticket #759):
distrib/amd64/cdroms/Makefile.cdrom: revision 1.12
distrib/amd64/installimage/Makefile: revision 1.5
distrib/amd64/installimage/spec.inst: revision 1.2
distrib/common/10-resolv.conf: file removal
distrib/common/99-print-sysinst: file removal
distrib/common/Makefile.dhcpcd: revision 1.2
distrib/common/list.dhcpcd: revision 1.3
distrib/i386/cdroms/Makefile.cdrom: revision 1.32
distrib/i386/installimage/Makefile: revision 1.5
distrib/i386/installimage/spec.inst: revision 1.2
distrib/sparc64/cdroms/installcd/Makefile: revision 1.20
distrib/vax/cdroms/installcd/Makefile: revision 1.10
usr.sbin/sysinst/msg.mi.de: revision 1.4
usr.sbin/sysinst/msg.mi.en: revision 1.4
usr.sbin/sysinst/msg.mi.es: revision 1.4
usr.sbin/sysinst/msg.mi.fr: revision 1.4
usr.sbin/sysinst/msg.mi.pl: revision 1.4
usr.sbin/sysinst/net.c: revisions 1.5-1.8, 1.11-1.15
The dhcpcd utilties in pkgsrc require dhcpcd to be running in master mode.
So set dhcpcd to start like so, but restrict it to the configured interface
still instead of ifconfig_foo=dhcp.
--
Use the 20-resolv.conf hook from dhcpcd rather than the minimal one.
Extract configured information from resolv.conf and hostname instead
of scraping the last dhcpcd script run.
This will allow the use of DHCPv6 and IPv6RA DNS details in the future.
--
dhcpcd will already have configured the system at this point, so
don't bother writing it manually.
--
Don't prompt for hostname or domain if obtained from DHCP.
--
Change the display order so it's protocol agnostic at the top,
then IPv4 then IPv6.
--
Strip newline from the gateway correctly.
--
Show the IP6 address instead of yes
--
Fix a bogus gcc warning: dhcp_config may be used uninitialized
--
Punt custom dhcpcd hooks in favour up upstream hooks
--
For the benefit of gcc 4.5, rename a local "nl" variable to "nline",
so it doesn't collide with the global curses nl() function.
 1.2.4.2 13-May-2015  snj Pull up following revision(s) (requested by martin in ticket #754):
usr.sbin/sysinst/menus.mi: revision 1.6
usr.sbin/sysinst/msg.mi.de: revision 1.5
usr.sbin/sysinst/msg.mi.en: revision 1.5
usr.sbin/sysinst/msg.mi.es: revision 1.5
usr.sbin/sysinst/msg.mi.fr: revision 1.5
usr.sbin/sysinst/msg.mi.pl: revision 1.5
Change the IPv6 DNS selection to use DNS selection and add the
Google Public V4 DNS servers to the list.
The other field can take an IPv4 or IPv6 name server of choice.
Fixes PR install/49231.
 1.2.4.1 20-Jan-2015  martin Pull up following revision(s) (requested by jmcneill in ticket #435):
usr.sbin/sysinst/msg.mi.es: revision 1.3
usr.sbin/sysinst/msg.mi.en: revision 1.3
usr.sbin/sysinst/msg.mi.fr: revision 1.3
usr.sbin/sysinst/msg.mi.pl: revision 1.3
usr.sbin/sysinst/msg.mi.de: revision 1.3
remove trailing colon from "addusername" msg
 1.2.2.2 10-Aug-2014  tls Rebase.
 1.2.2.1 03-Aug-2014  tls file msg.mi.de was added on branch tls-earlyentropy on 2014-08-10 07:00:24 +0000
 1.3.2.2 20-Aug-2014  tls Rebase to HEAD as of a few days ago.
 1.3.2.1 15-Aug-2014  tls file msg.mi.de was added on branch tls-maxphys on 2014-08-20 00:05:13 +0000
 1.6.14.4 18-Jan-2019  pgoyette Synch with HEAD
 1.6.14.3 26-Nov-2018  pgoyette Sync with HEAD, resolve a couple of conflicts
 1.6.14.2 30-Sep-2018  pgoyette Ssync with HEAD
 1.6.14.1 25-Jun-2018  pgoyette Sync with HEAD
 1.6.8.1 05-Jun-2018  bouyer Pull up following revision(s) (requested by martin in ticket #860):
usr.sbin/sysinst/msg.mi.de: revision 1.7
usr.sbin/sysinst/arch/i386/md.c: revision 1.10
usr.sbin/sysinst/msg.mi.fr: revision 1.10
usr.sbin/sysinst/arch/i386/md.c: revision 1.11
usr.sbin/sysinst/menus.mi: revision 1.13
usr.sbin/sysinst/arch/i386/md.c: revision 1.9
usr.sbin/sysinst/msg.mi.es: revision 1.7
usr.sbin/sysinst/msg.mi.en: revision 1.11
usr.sbin/sysinst/mbr.c: revision 1.6
usr.sbin/sysinst/disks.c: revision 1.15
usr.sbin/sysinst/bsddisklabel.c: revision 1.4
usr.sbin/sysinst/disks.c: revision 1.16
usr.sbin/sysinst/msg.mi.pl: revision 1.9
usr.sbin/sysinst/defs.h: revision 1.11
Add an option to install onto a pre-configured wedge.
Greatly simmplifies (U)EFI setups (but does not fully automate them yet).
In the generated /etc/fstab, do not use the (temporary, during sysinst)
path name for the file in the comment, but instead the one it will
have on the target system.
Reorder fetch options: http before ftp
Default console device and speed to that used by syinst
add missing brace.
 1.7.2.2 13-Apr-2020  martin Mostly merge changes from HEAD upto 20200411
 1.7.2.1 10-Jun-2019  christos Sync with HEAD
 1.13.2.11 03-Jul-2024  martin Pull up following revision(s) (requested by nia in ticket #1853):

usr.sbin/sysinst/msg.mi.de: revision 1.49
usr.sbin/sysinst/msg.mi.de: revision 1.50
usr.sbin/sysinst/msg.mi.en: revision 1.52

sysinst(8): Note that leaving the network "media type" empty autoconfigures
sysinst: fix umlaut in German translation
 1.13.2.10 20-Jan-2022  martin Pull up following revision(s) (requested by nia in ticket #1406):

usr.sbin/sysinst/net.c: revision 1.40
usr.sbin/sysinst/msg.mi.pl: revision 1.37
usr.sbin/sysinst/msg.mi.fr: revision 1.36
usr.sbin/sysinst/msg.mi.de: revision 1.35
usr.sbin/sysinst/msg.mi.en: revision 1.37
usr.sbin/sysinst/net.c: revision 1.37
usr.sbin/sysinst/net.c: revision 1.38
usr.sbin/sysinst/msg.mi.es: revision 1.31
usr.sbin/sysinst/net.c: revision 1.39

sysinst(8): Add initial support for connecting to Wi-Fi networks
by spawning wpa_supplicant.
Reviewed by martin.

sysinst(8): Avoid asking Wi-Fi questions about non-Wi-Fi devices.

sysinst(8): Add a "data" argument to do_ifreq that is set after the
ifr struct is zeroed.

This allows us to simplify the code by not having 2x socket creation
code for checking whether interfaces are wireless.
sysinst(8): use scan_ssid=1 so hidden wifi networks can be used
 1.13.2.9 05-Nov-2020  sborrill Pull up the following revisions(s) (requested by martin in ticket #1121):
usr.sbin/sysinst/menus.mi: revision 1.22-1.23
usr.sbin/sysinst/msg.mi.de: revision 1.25-1.26
usr.sbin/sysinst/msg.mi.en: revision 1.33-1.34
usr.sbin/sysinst/msg.mi.pl: revision 1.33-1.34
usr.sbin/sysinst/msg.mi.es: revision 1.27-1.28
usr.sbin/sysinst/msg.mi.fr: revision 1.32-1.33
usr.sbin/sysinst/util.c: revision 1.49-1.52

- When looking for available CD media, skip those that are already mounted.
- When no medium with sets is found, show a new error message and return
to the source selection menu.
- Rearrange all source option menus to have the proper set suffix available
(either .tgz or .tar.xz).
- Relax an assertion, the first getvfsstat() call may overestimate the file
systems visible to us. Fixes PR 55752
- When we did not magically find any CD medium with sets, offer a manual
override (so ISO images on USB sticks or Xen's xbd(4) work).
 1.13.2.8 15-Oct-2020  bouyer Pull up following revision(s) (requested by martin in ticket #1113):
usr.sbin/sysinst/bsddisklabel.c: revision 1.46
usr.sbin/sysinst/bsddisklabel.c: revision 1.47
usr.sbin/sysinst/disklabel.c: revision 1.40
usr.sbin/sysinst/arch/cobalt/md.c: revision 1.13
usr.sbin/sysinst/bsddisklabel.c: revision 1.48
usr.sbin/sysinst/disklabel.c: revision 1.41
usr.sbin/sysinst/arch/cobalt/md.c: revision 1.14
usr.sbin/sysinst/bsddisklabel.c: revision 1.49
usr.sbin/sysinst/disklabel.c: revision 1.42
usr.sbin/sysinst/Makefile.inc: revision 1.34
usr.sbin/sysinst/disks.c: revision 1.70
usr.sbin/sysinst/arch/hp300/md.c: revision 1.11
usr.sbin/sysinst/disks.c: revision 1.71
usr.sbin/sysinst/arch/i386/md.h: revision 1.8
usr.sbin/sysinst/arch/arc/md.c: revision 1.13
usr.sbin/sysinst/mbr.h: revision 1.5
usr.sbin/sysinst/mbr.h: revision 1.6
usr.sbin/sysinst/arch/mac68k/md.c: revision 1.10
usr.sbin/sysinst/bsddisklabel.c: revision 1.50
usr.sbin/sysinst/arch/acorn32/md.c: revision 1.7
usr.sbin/sysinst/bsddisklabel.c: revision 1.51
usr.sbin/sysinst/bsddisklabel.c: revision 1.52
usr.sbin/sysinst/bsddisklabel.c: revision 1.53
usr.sbin/sysinst/bsddisklabel.c: revision 1.54
usr.sbin/sysinst/bsddisklabel.c: revision 1.55
usr.sbin/sysinst/bsddisklabel.c: revision 1.56
usr.sbin/sysinst/arch/dummy/md.c: revision 1.6
usr.sbin/sysinst/arch/amd64/md.h: revision 1.9
usr.sbin/sysinst/arch/evbsh3/md.c: revision 1.6
usr.sbin/sysinst/arch/sparc/md.c: revision 1.6
usr.sbin/sysinst/arch/zaurus/md.c: revision 1.10
usr.sbin/sysinst/arch/x68k/md.c: revision 1.11
usr.sbin/sysinst/arch/sandpoint/md.c: revision 1.9
usr.sbin/sysinst/arch/vax/md.c: revision 1.7
usr.sbin/sysinst/arch/luna68k/md.c: revision 1.9
usr.sbin/sysinst/gpt.c: revision 1.19
usr.sbin/sysinst/arch/i386/md.c: revision 1.31
usr.sbin/sysinst/arch/i386/md.c: revision 1.32
usr.sbin/sysinst/arch/evbarm/md.c: revision 1.17
usr.sbin/sysinst/arch/evbarm/md.c: revision 1.18
usr.sbin/sysinst/arch/evbarm/md.c: revision 1.19
usr.sbin/sysinst/arch/shark/md.c: revision 1.6
usr.sbin/sysinst/arch/landisk/md.c: revision 1.14
usr.sbin/sysinst/util.c: revision 1.43
usr.sbin/sysinst/gpt.c: revision 1.20
usr.sbin/sysinst/util.c: revision 1.44
usr.sbin/sysinst/gpt.c: revision 1.21
usr.sbin/sysinst/gpt.c: revision 1.22
usr.sbin/sysinst/arch/evbarm/msg.md.en: revision 1.2
usr.sbin/sysinst/arch/ofppc/md.c: revision 1.11
usr.sbin/sysinst/util.c: revision 1.46
usr.sbin/sysinst/arch/ofppc/md.c: revision 1.12
usr.sbin/sysinst/util.c: revision 1.47
usr.sbin/sysinst/arch/evbarm/md.h: revision 1.6
usr.sbin/sysinst/util.c: revision 1.48
usr.sbin/sysinst/arch/evbarm/md.h: revision 1.7
usr.sbin/sysinst/arch/evbmips/md.c: revision 1.9
usr.sbin/sysinst/msg.mi.fr: revision 1.28
usr.sbin/sysinst/msg.mi.fr: revision 1.29
usr.sbin/sysinst/arch/sgimips/md.c: revision 1.9
usr.sbin/sysinst/arch/evbarm/Makefile: revision 1.3
usr.sbin/sysinst/msg.mi.de: revision 1.23
usr.sbin/sysinst/arch/hpcsh/md.c: revision 1.10
usr.sbin/sysinst/msg.mi.de: revision 1.24
usr.sbin/sysinst/install.c: revision 1.15
usr.sbin/sysinst/install.c: revision 1.16
usr.sbin/sysinst/arch/sparc64/md.c: revision 1.6
usr.sbin/sysinst/install.c: revision 1.17
usr.sbin/sysinst/install.c: revision 1.18
usr.sbin/sysinst/partitions.h: revision 1.16
usr.sbin/sysinst/install.c: revision 1.19
usr.sbin/sysinst/partitions.h: revision 1.17
usr.sbin/sysinst/arch/evbppc/md.c: revision 1.9
usr.sbin/sysinst/arch/playstation2/md.c: revision 1.9
usr.sbin/sysinst/partitions.h: revision 1.18
usr.sbin/sysinst/arch/hpcarm/md.c: revision 1.9
usr.sbin/sysinst/partitions.h: revision 1.19
usr.sbin/sysinst/msg.mi.es: revision 1.24
usr.sbin/sysinst/msg.mi.es: revision 1.25
usr.sbin/sysinst/msg.mi.es: revision 1.26
usr.sbin/sysinst/arch/zaurus/md.c: revision 1.9
usr.sbin/sysinst/target.c: revision 1.13
usr.sbin/sysinst/target.c: revision 1.14
usr.sbin/sysinst/part_edit.c: revision 1.17
usr.sbin/sysinst/part_edit.c: revision 1.18
usr.sbin/sysinst/msg.mi.fr: revision 1.30
usr.sbin/sysinst/arch/mvme68k/md.c: revision 1.11
usr.sbin/sysinst/part_edit.c: revision 1.19
usr.sbin/sysinst/msg.mi.fr: revision 1.31
usr.sbin/sysinst/arch/alpha/md.c: revision 1.9
usr.sbin/sysinst/msg.mi.en: revision 1.30
usr.sbin/sysinst/defs.h: revision 1.56
usr.sbin/sysinst/msg.mi.en: revision 1.31
usr.sbin/sysinst/defs.h: revision 1.57
usr.sbin/sysinst/msg.mi.en: revision 1.32
usr.sbin/sysinst/arch/amiga/md.c: revision 1.6
usr.sbin/sysinst/arch/hpcmips/md.c: revision 1.9
usr.sbin/sysinst/defs.h: revision 1.58
usr.sbin/sysinst/arch/cats/md.c: revision 1.5
usr.sbin/sysinst/defs.h: revision 1.59
usr.sbin/sysinst/arch/newsmips/md.c: revision 1.6
usr.sbin/sysinst/arch/pmax/md.c: revision 1.8
usr.sbin/sysinst/arch/mipsco/md.c: revision 1.8
usr.sbin/sysinst/part_edit.c: revision 1.20
usr.sbin/sysinst/part_edit.c: revision 1.21
usr.sbin/sysinst/arch/macppc/md.c: revision 1.6
usr.sbin/sysinst/part_edit.c: revision 1.22
usr.sbin/sysinst/part_edit.c: revision 1.23
usr.sbin/sysinst/part_edit.c: revision 1.24
usr.sbin/sysinst/defs.h: revision 1.60
usr.sbin/sysinst/arch/mac68k/Makefile: revision 1.3
usr.sbin/sysinst/defs.h: revision 1.61
usr.sbin/sysinst/defs.h: revision 1.63
usr.sbin/sysinst/defs.h: revision 1.64
usr.sbin/sysinst/defs.h: revision 1.65
usr.sbin/sysinst/label.c: revision 1.21
usr.sbin/sysinst/defs.h: revision 1.66
usr.sbin/sysinst/label.c: revision 1.22
usr.sbin/sysinst/defs.h: revision 1.67
usr.sbin/sysinst/label.c: revision 1.23
usr.sbin/sysinst/label.c: revision 1.24
usr.sbin/sysinst/label.c: revision 1.25
usr.sbin/sysinst/label.c: revision 1.26
usr.sbin/sysinst/label.c: revision 1.27
usr.sbin/sysinst/msg.mi.pl: revision 1.31
usr.sbin/sysinst/label.c: revision 1.28
usr.sbin/sysinst/msg.mi.pl: revision 1.32
usr.sbin/sysinst/label.c: revision 1.29
usr.sbin/sysinst/arch/atari/md.c: revision 1.7
usr.sbin/sysinst/disklabel.c: revision 1.36
usr.sbin/sysinst/disklabel.c: revision 1.37
usr.sbin/sysinst/disklabel.c: revision 1.38
usr.sbin/sysinst/disklabel.c: revision 1.39
usr.sbin/sysinst/arch/bebox/md.c: revision 1.9
usr.sbin/sysinst/mbr.c: revision 1.32
usr.sbin/sysinst/disks.c: revision 1.66
usr.sbin/sysinst/mbr.c: revision 1.33
usr.sbin/sysinst/disks.c: revision 1.67
usr.sbin/sysinst/mbr.c: revision 1.34
usr.sbin/sysinst/arch/emips/md.c: revision 1.9
usr.sbin/sysinst/disks.c: revision 1.68
usr.sbin/sysinst/partitions.c: revision 1.11
usr.sbin/sysinst/mbr.c: revision 1.35
usr.sbin/sysinst/disks.c: revision 1.69
usr.sbin/sysinst/mbr.c: revision 1.36
usr.sbin/sysinst/arch/hppa/md.c: revision 1.8
usr.sbin/sysinst/arch/prep/md.c: revision 1.13
usr.sbin/sysinst/label.c: revision 1.30
usr.sbin/sysinst/arch/ews4800mips/md.c: revision 1.7
usr.sbin/sysinst/main.c: revision 1.21
usr.sbin/sysinst/main.c: revision 1.22
usr.sbin/sysinst/main.c: revision 1.23
usr.sbin/sysinst/bsddisklabel.c: revision 1.40
usr.sbin/sysinst/main.c: revision 1.24
usr.sbin/sysinst/arch/cobalt/md.h: revision 1.6
usr.sbin/sysinst/bsddisklabel.c: revision 1.41
usr.sbin/sysinst/main.c: revision 1.25
usr.sbin/sysinst/arch/news68k/md.c: revision 1.7
usr.sbin/sysinst/bsddisklabel.c: revision 1.42
usr.sbin/sysinst/bsddisklabel.c: revision 1.43
usr.sbin/sysinst/bsddisklabel.c: revision 1.44
usr.sbin/sysinst/bsddisklabel.c: revision 1.45
Use strlcpy in a few places to guarnatee 0-terminated strings
Rever previous: the d_packname in struct disklabel is not NUL terminated.
Disable the warning instead.
Do not force -Os optimization (unless SMALLPROG)
Remove unused "rel" global variable and make the -r option a no-op.
PR 55045: strlcpy(NULL, ..., 0) considered harmfull in some implementations.
PR misc/54886: bump threshold for automatic/default creation of a tmpfs /tmp
up slightly (to 384 MB ram). This will make sure the default install has
a > 64 MB /tmp available (number pulled out of thin air, 64 MB is the minimum
required by the ZFS tests).
Don't depend on common symbol definitions.
boardype should not be common.
Redo the root-size-limit check again after we grew the root partition
for kernel dumps. Auto-enable the /usr partition if it overflows.
For all non-root partitions, default to FFSv2.
When extending a partition (to fill the total disk size) do respect
size limits.
Do not suggest a size limited partition for extension by default.
Minor tweak to previous: when forcing a /usr partition just to have an
arbitrary extendable partition, still use its default size initially.
At the end of a new installation save entropy.
Ooops, backout previous - twice the entropy saving is not needed.
Instead slightly improve the (slightly) hidden other code that already
did it.
PR 55202: disable swapping if we started it due to low ram
it's "its"
Remove "If you booted from a floppy" message
Set HAVE_INSTALL_IMAGE for evbarm
Change mountpoint of boot ext2fs from /stand to /ext2 to avoid conflict.
Should be pulled up to netbsd-9, with fixes of PR/55060.
MBR type for Ext2 should be MBR_PTYPE_LNXEXT2, not MBR_PTYPE_FAT12.
Silence -Wstringop-truncation for ``name'' in disp_selected_part().
This variable is used only for display, and truncation seems harmless.
PR 55572: avoid crash when answering the mount point prompt for a previously
empty mount point with an emptry sting.
When adding a new partition in the concrete partition editor, make sure
to set a pointer to the partition table interface in the new entry.
Otherwise we may end up not writing back the partitions at all, leading
to further fallout later.
Receipe to reproduce the issue from Frederic Fauberteau, thanks!
In the concrete partitions editor, after deleting the last partition move
the menu selection to the "add a partition" entry (instead of the sentinel
line which is not an active menu entry).
Typo in comment
Keep a list of all partition tables from which we have deleted partitions
and make sure we update those partition tables when writing partitions,
even if no install related partition remains on them.
Fix display of timezone selection menu
If there is no current partitioning manager assume we are editing the
current system and make target_already_root() return true.
Fixes various fallout when using sysinst post installation.
PR 55377: mark boot partitions in the partition size display, as suggested
by Izumi Tsutsui (minor modifications + all bugs by me)
PR 55378: do not assume RAW_PART to be either 2 or 3
PR 55379: avoid creating bogus /etc/fstab lines for /dev/cd* if no
cdrom is available.
PR 55381: try to deal with moved (but not yet saved) partitions when
calculating free space
Apply patch provided by Izumi Tsutsui in PR 55382: make ext2 partitions
show up in the outer (MBR) partition table, needed for example on Cobalt
where firmware boots from that partition.
PR 55384: detangle pm->ptstart from the "install" flag (selecting a
target partition). Instead introduce a new PTI_INSTALL_TARGET per partition
flag and deal with it in the partitioning backends.
Honour pm->ptstart when allocating new partitions - it is supposed to be
the first sector usable by NetBSD.
If we have no explicitly marke target root partition, make sure to set
the proper flag on the implicit one.
When merging existing partitions with desired target system layout
information, only force the "mount" flag if the existing partitions
has a valid mount point.
Add a heuristic to detect and properly mark EFI system partitions
when re-using pre-existing partitions.
When MD code requests a reserved area (at the start of the disk)
make sure to properly account for the "lost" space during all calculations
and especially when expanding the main partition to fill the disk.
Avoid using the global "pm" or a passed device descriptons when we are
passing disk limits explicitly anyway.
Simplify/fix a few rounding calculations.
When creating new partitions for "full disk" use, pass a install target
hint to the partitioning backend (for the outer NetBSD partition).
Use an install target hint to mark a new partition active.
When compiled with BOOTSEL support, also name the new partition "NetBSD".
Remove more pm->ptstart abuse - calculate values localy where needed
instead.
Fix editing start and size of not yet existing outer partitions.
Previously we abused pm->ptstart / pm->ptsize to pass the bounds of the
NetBSD outer partition to the inner partition editor - but now this is
not a valid assumption any more, so explicitly fix the bounds if an
outer partition exists.
Remove very strange code that special-cased MSDOS file systems and refused
to newfs the partition (despite explicit request to do so) if it was
mountable.
Accidently carried over from a dim and distant past, before we had
fsck_newfs.
PR 55536: when we find existing partition tables and have alternative
formats available, offer to delete partitions and create new ones from
scratch (in some other or the same on-disk format).
Minor fix to previous: fix condition when we offer the partition type
switch - it makes sense even if the disk is partitioned but has no valid
partitions.
Before forcing MBR partitions into our disklabel, make sure they are not
there yet - could happen in various paths when reusing existing partitions
(or parts of that) - previously we would blindly duplicate identical
partitions.
Ooops, part of previous was not meant to be included yet
When renumbering partitions (after deletions) be slightly more lax
in matching, to cope with differences between MBR EFI partitions and
disklabel MSDOS partitions.
PR 55142: on popular demand bring back expert options to adjust the
number of free inodes, block size and fragment size for FFS and LFS.
Fix copy & pasto noticed by Jason Mitchell: change the type of a GPT
partition via "gpt type" - not "gpt label".
Fix copy & pasto (missing "again" label)
Remove dead code
Move MBR writing (if any) post disklabel writing, otherwise strange
interactions happen.
Properly convert partition default sizes in MB to number of sectors
 1.13.2.7 10-Feb-2020  bouyer Pull up following revision(s) (requested by martin in ticket #693):
usr.sbin/sysinst/arch/x68k/msg.md.en: revision 1.2
usr.sbin/sysinst/arch/x68k/md.c: revision 1.10
usr.sbin/sysinst/arch/mvme68k/msg.md.fr: revision 1.2
usr.sbin/sysinst/arch/x68k/msg.md.en: revision 1.3
usr.sbin/sysinst/arch/mvme68k/msg.md.fr: revision 1.3
usr.sbin/sysinst/msg.mi.en: revision 1.28
usr.sbin/sysinst/arch/hp300/md.c: revision 1.10
usr.sbin/sysinst/msg.mi.es: revision 1.22
usr.sbin/sysinst/target.c: revision 1.12
usr.sbin/sysinst/arch/mvme68k/md.c: revision 1.10
usr.sbin/sysinst/arch/i386/md.c: revision 1.30
usr.sbin/sysinst/arch/mvme68k/msg.md.pl: revision 1.2
usr.sbin/sysinst/arch/mvme68k/msg.md.pl: revision 1.3
usr.sbin/sysinst/bsddisklabel.c: revision 1.39
usr.sbin/sysinst/arch/mvme68k/msg.md.de: revision 1.2
usr.sbin/sysinst/arch/mac68k/md.c: revision 1.9
usr.sbin/sysinst/disklabel.c: revision 1.35
usr.sbin/sysinst/arch/mvme68k/msg.md.de: revision 1.3
usr.sbin/sysinst/defs.h: revision 1.55
usr.sbin/sysinst/disks.c: revision 1.63
usr.sbin/sysinst/disks.c: revision 1.64
usr.sbin/sysinst/mbr.c: revision 1.31
usr.sbin/sysinst/disks.c: revision 1.65
usr.sbin/sysinst/txtwalk.c: revision 1.3
usr.sbin/sysinst/txtwalk.c: revision 1.4
usr.sbin/sysinst/arch/mvme68k/msg.md.en: revision 1.2
usr.sbin/sysinst/arch/mvme68k/msg.md.en: revision 1.3
usr.sbin/sysinst/msg.mi.fr: revision 1.26
usr.sbin/sysinst/msg.mi.pl: revision 1.29
usr.sbin/sysinst/arch/mvme68k/msg.md.es: revision 1.2
usr.sbin/sysinst/upgrade.c: revision 1.15
usr.sbin/sysinst/arch/mvme68k/msg.md.es: revision 1.3
usr.sbin/sysinst/upgrade.c: revision 1.16
usr.sbin/sysinst/partman.c: revision 1.50
usr.sbin/sysinst/msg.mi.de: revision 1.21
remove unused "emptypart" message (or moved to ifdef notyet area)
PR install/54921: message "ordering" takes a %s argument.
PR install/54921: skip non-user partitions when checking for overlaps
bootxx_name() - fix oversight in previous change (do not assume first
partition is the root partition)
PR install/54934: always use -f on the installboot invocation. We come
here post-newfs (and maybe should have dd'd zeros to the start of the
disk before newfs instead).
Remove a bogus assert: when reading disklabel partitions and the outer
(MBR) partitioning has changed, but the changes have not yet been written
back to disk, we need to ignore the kernels idea of the disklabel and
instead continue with an empty one.
Deal with partitioning schemes having no inner counterpart.
Avoid NULL derefs.
Do not assum a partitioning scheme that supports innner partitions always
needs to actually have such partitions defined.
PR bin/54944: deal with escaped spaces in NAME= syntax in /etc/fstab.
PR bin/54944: explicitly reject GPT protective MBRs.
PR bin/54944: make the "explicit single wedge" selection also work for
upgrades.
Reformat a query to add an automatically detected swap partition
so it fits on narrow screens.
Make re-install sets also work for an explicit selected root wedge
Fix copy&pasto in previous - from kre.
Only a single partition can ever have the "extend" flag (grow to available
size).
Do not use -P for tar extractions - the in tree tar has been fixed.
Finish conversion to generic partitioning backend
 1.13.2.6 28-Jan-2020  msaitoh Pull up following revision(s) (requested by martin in ticket #668):
usr.sbin/sysinst/arch/cobalt/md.c: revision 1.11
usr.sbin/sysinst/arch/cobalt/md.c: revision 1.12
usr.sbin/sysinst/arch/arc/md.c: revision 1.11
usr.sbin/sysinst/arch/arc/md.c: revision 1.12
usr.sbin/sysinst/partman.c: revision 1.43
usr.sbin/sysinst/partman.c: revision 1.46
usr.sbin/sysinst/partman.c: revision 1.47
usr.sbin/sysinst/partman.c: revision 1.48
usr.sbin/sysinst/partman.c: revision 1.49
usr.sbin/sysinst/msg.pm.fr: revision 1.2
usr.sbin/sysinst/upgrade.c: revision 1.14
usr.sbin/sysinst/arch/i386/md.c: revision 1.28
usr.sbin/sysinst/arch/i386/md.c: revision 1.29
usr.sbin/sysinst/arch/ofppc/md.c: revision 1.9
usr.sbin/sysinst/arch/sandpoint/md.c: revision 1.7
usr.sbin/sysinst/arch/sandpoint/md.c: revision 1.8
usr.sbin/sysinst/gpt.c: revision 1.14
usr.sbin/sysinst/gpt.c: revision 1.15
usr.sbin/sysinst/arch/luna68k/md.c: revision 1.8
usr.sbin/sysinst/gpt.c: revision 1.16
usr.sbin/sysinst/msg.pm.de: revision 1.2
usr.sbin/sysinst/arch/evbarm/md.c: revision 1.11
usr.sbin/sysinst/arch/evbarm/md.c: revision 1.12
usr.sbin/sysinst/arch/evbarm/md.c: revision 1.13
usr.sbin/sysinst/arch/evbarm/md.c: revision 1.14
usr.sbin/sysinst/sizemultname.c: revision 1.4
usr.sbin/sysinst/msg.pm.en: revision 1.2
usr.sbin/sysinst/arch/landisk/md.c: revision 1.12
usr.sbin/sysinst/util.c: revision 1.41
usr.sbin/sysinst/arch/landisk/md.c: revision 1.13
usr.sbin/sysinst/util.c: revision 1.42
usr.sbin/sysinst/arch/ofppc/md.c: revision 1.10
usr.sbin/sysinst/partitions.c: revision 1.9
usr.sbin/sysinst/arch/evbarm/md.h: revision 1.4
usr.sbin/sysinst/arch/evbarm/md.h: revision 1.5
usr.sbin/sysinst/arch/evbmips/md.c: revision 1.7
usr.sbin/sysinst/arch/evbmips/md.c: revision 1.8
usr.sbin/sysinst/msg.mi.fr: revision 1.25
usr.sbin/sysinst/msg.mi.de: revision 1.20
usr.sbin/sysinst/install.c: revision 1.14
usr.sbin/sysinst/partitions.h: revision 1.13
usr.sbin/sysinst/partitions.h: revision 1.14
usr.sbin/sysinst/arch/evbppc/md.c: revision 1.7
usr.sbin/sysinst/arch/playstation2/md.c: revision 1.7
usr.sbin/sysinst/msg.mi.en: revision 1.27
usr.sbin/sysinst/partitions.h: revision 1.15
usr.sbin/sysinst/arch/evbppc/md.c: revision 1.8
usr.sbin/sysinst/arch/hpcarm/md.c: revision 1.7
usr.sbin/sysinst/arch/playstation2/md.c: revision 1.8
usr.sbin/sysinst/msg.pm.pl: revision 1.2
usr.sbin/sysinst/arch/hpcarm/md.c: revision 1.8
usr.sbin/sysinst/msg.mi.es: revision 1.21
usr.sbin/sysinst/arch/zaurus/md.c: revision 1.7
usr.sbin/sysinst/target.c: revision 1.11
usr.sbin/sysinst/arch/zaurus/md.c: revision 1.8
usr.sbin/sysinst/part_edit.c: revision 1.14
usr.sbin/sysinst/part_edit.c: revision 1.15
usr.sbin/sysinst/part_edit.c: revision 1.16
usr.sbin/sysinst/defs.h: revision 1.50
usr.sbin/sysinst/defs.h: revision 1.51
usr.sbin/sysinst/defs.h: revision 1.52
usr.sbin/sysinst/defs.h: revision 1.53
usr.sbin/sysinst/defs.h: revision 1.54
usr.sbin/sysinst/arch/hpcmips/md.c: revision 1.7
usr.sbin/sysinst/arch/hpcmips/md.c: revision 1.8
usr.sbin/sysinst/arch/hpcsh/md.c: revision 1.8
usr.sbin/sysinst/msg.pm.es: revision 1.2
usr.sbin/sysinst/arch/hpcsh/md.c: revision 1.9
usr.sbin/sysinst/label.c: revision 1.18
usr.sbin/sysinst/label.c: revision 1.19
usr.sbin/sysinst/net.c: revision 1.35
usr.sbin/sysinst/msg.mi.pl: revision 1.28
usr.sbin/sysinst/disklabel.c: revision 1.28
usr.sbin/sysinst/disklabel.c: revision 1.29
usr.sbin/sysinst/mbr.c: revision 1.24
usr.sbin/sysinst/disks.c: revision 1.59
usr.sbin/sysinst/mbr.c: revision 1.25
usr.sbin/sysinst/mbr.c: revision 1.26
usr.sbin/sysinst/mbr.c: revision 1.27
usr.sbin/sysinst/mbr.c: revision 1.28
usr.sbin/sysinst/label.c: revision 1.20
usr.sbin/sysinst/mbr.c: revision 1.29
usr.sbin/sysinst/bsddisklabel.c: revision 1.34
usr.sbin/sysinst/bsddisklabel.c: revision 1.35
usr.sbin/sysinst/bsddisklabel.c: revision 1.36
usr.sbin/sysinst/bsddisklabel.c: revision 1.37
usr.sbin/sysinst/disklabel.c: revision 1.30
usr.sbin/sysinst/bsddisklabel.c: revision 1.38
usr.sbin/sysinst/disklabel.c: revision 1.31
usr.sbin/sysinst/disklabel.c: revision 1.32
usr.sbin/sysinst/disklabel.c: revision 1.33
usr.sbin/sysinst/disklabel.c: revision 1.34
usr.sbin/sysinst/disks.c: revision 1.60
usr.sbin/sysinst/disks.c: revision 1.61
usr.sbin/sysinst/arch/bebox/md.c: revision 1.7
usr.sbin/sysinst/disks.c: revision 1.62
usr.sbin/sysinst/arch/bebox/md.c: revision 1.8
usr.sbin/sysinst/mbr.c: revision 1.30
usr.sbin/sysinst/partitions.c: revision 1.10
usr.sbin/sysinst/arch/prep/md.c: revision 1.11
usr.sbin/sysinst/arch/prep/md.c: revision 1.12
usr.sbin/sysinst/menus.pm: revision 1.3
usr.sbin/sysinst/main.c: revision 1.20
usr.sbin/sysinst/menus.mi: revision 1.20
usr.sbin/sysinst/menus.mi: revision 1.21
avoid calling snprintf/strlcat with an input parameter the same
as the output. from martin@. fixes gcc 8 restrict warnings.
Finish conversion of extended partitioning parts to new abstract
backend interface. XXX still could use a lot of polishing.
Instead of a (bogus) attempt to query the model via ofctl, use the (now
fixed) sysctl hw.model instead.
When reading the secondary disklabel partitions from an existing disklabel
set the mbr partitions as parent.
Move the LABELSECTOR check and make it FS type specific - some partition
types (FFS, RAID) are allowed to overlap with the LABELSECTOR.
When asked to create a whole-disk partition for unknown usage, do not only
assert(false), but actually return an error (in case "assert" is a nop).
PR install/54787: when trying to derive proper alignement and first offset
from exisiting partitions, use the first partition offset if it is already
closer to the start of the disk than the prefered alignment - we can not
move existing partitions around.
Fix handling of inner/outer partitions (e.g. MBR and disklabel) in
extended partitioning:
- when editing a disk with such a schme, offer both partitions in two
steps
- when commiting changes save the inner partitions after the outer ones
Add a method to query the partitioning schemes "internal idea" of a
cylinder size - whatever that means in the real world.
Avoid using the global "pm" variable in utility functions - during
extended partitioning they may point to a different device.
Remove useless calls to get_ramsize() - return value is ignored and
the function has no side effects.
Fix /tmp tmpfs handling and on machines with enough RAM default to
creating a /tmp tmpfs with 25% of ram size limit. Suggested by ad@.
PR install/54872: fix printf argument order, sectors and heads were
swapped in the bios geometry display.
First try to bring evbarm installation closer to current reality.
hide disklabel_non_bootable() under NO_DISKLABEL_BOOT like the usage.
should fix most builds.
Deal with even stranger fictious empty disklabels (PR kern/54882).
Factor out all RAM size thresholds as defines to avoid magic numbers.
To work around PR misc/54886 bump the threshold for a tmpfs /tmp mount
up to 256 MB.
When retrying sets during extraction, reset the relevant statistics
to avoid counting retried sets multiple times.
Reported by kim.
Fix support for non-512-byte/sector disks again after I broke it when
introducing the abstract partition backends.
Use a few strlcpy() instead of strncpy() for network ioctl structs.
We seem to have no formal documentation stating the various
char if*_name[IFNAMSIZ]; /* if name, e.g. "en0" */
elements in ioctls are nul terminated, but the peanut gallery claims
it is so - and at least half of the code in-tree touching them agrees.
Too much disklabel magic happening in the kernel - to compensate force
MBR first when trying to identify the existing partitioning scheme of
a disk.
 1.13.2.5 17-Dec-2019  msaitoh Pull up following revision(s) (requested by martin in ticket #560):
usr.sbin/sysinst/partitions.h: revision 1.11
usr.sbin/sysinst/defs.h: revision 1.49
usr.sbin/sysinst/mbr.c: revision 1.23
usr.sbin/sysinst/msg.mi.en: revision 1.26
usr.sbin/sysinst/disks.c: revision 1.58
usr.sbin/sysinst/arch/evbarm/menus.md.pl: revision 1.2
usr.sbin/sysinst/msg.mi.es: revision 1.20
usr.sbin/sysinst/arch/mvme68k/md.c: revision 1.9
usr.sbin/sysinst/gpt.c: revision 1.13
usr.sbin/sysinst/arch/evbarm/md.c: revision 1.10
usr.sbin/sysinst/arch/arc/md.c: revision 1.10
usr.sbin/sysinst/disklabel.c: revision 1.18
usr.sbin/sysinst/bsddisklabel.c: revision 1.33
usr.sbin/sysinst/disklabel.c: revision 1.19
usr.sbin/sysinst/main.c: revision 1.19
usr.sbin/sysinst/partman.c: revision 1.45
usr.sbin/sysinst/arch/alpha/md.c: revision 1.7
usr.sbin/sysinst/msg.mi.de: revision 1.19
usr.sbin/sysinst/arch/evbarm/menus.md.en: revision 1.2
usr.sbin/sysinst/arch/x68k/md.h: revision 1.4
usr.sbin/sysinst/arch/x68k/md.c: revision 1.9
usr.sbin/sysinst/arch/evbarm/menus.md.es: revision 1.2
usr.sbin/sysinst/wskbd.c: revision 1.4
usr.sbin/sysinst/label.c: revision 1.15
usr.sbin/sysinst/arch/amiga/md.h: revision 1.5
usr.sbin/sysinst/label.c: revision 1.16
usr.sbin/sysinst/arch/hp300/md.c: revision 1.9
usr.sbin/sysinst/arch/emips/md.c: revision 1.8
usr.sbin/sysinst/label.c: revision 1.17
usr.sbin/sysinst/arch/pmax/md.c: revision 1.7
usr.sbin/sysinst/partitions.c: revision 1.6
usr.sbin/sysinst/arch/prep/md.c: revision 1.10
usr.sbin/sysinst/arch/mipsco/md.c: revision 1.7
usr.sbin/sysinst/partitions.c: revision 1.7
usr.sbin/sysinst/partitions.c: revision 1.8
usr.sbin/sysinst/arch/ews4800mips/md.c: revision 1.5
usr.sbin/sysinst/disklabel.c: revision 1.20
usr.sbin/sysinst/arch/evbarm/menus.md.fr: revision 1.2
usr.sbin/sysinst/msg.mi.fr: revision 1.24
usr.sbin/sysinst/disklabel.c: revision 1.21
usr.sbin/sysinst/partitions.h: revision 1.9
usr.sbin/sysinst/msg.mi.pl: revision 1.27
usr.sbin/sysinst/disklabel.c: revision 1.22
usr.sbin/sysinst/disklabel.c: revision 1.23
usr.sbin/sysinst/arch/i386/md.c: revision 1.27
usr.sbin/sysinst/disklabel.c: revision 1.24
usr.sbin/sysinst/disklabel.c: revision 1.25
usr.sbin/sysinst/arch/cobalt/md.h: revision 1.5
usr.sbin/sysinst/disklabel.c: revision 1.26
usr.sbin/sysinst/disklabel.c: revision 1.27
usr.sbin/sysinst/partitions.h: revision 1.10
usr.sbin/sysinst/arch/cobalt/md.c: revision 1.10
PR install/54582: allow MD code to disable on-disk presence verification
of "real" disklabels. Auto-enable this (at run time) when there is no other
partitioning scheme but disklabel configured.
Hard-coded enable this for x68k to allow using kernel based translations
for native Human68k partitions.
Get rid of the evbarm preliminary menu: do not bother to ask the user
whether this is a RPi - query the FDT instead.
PR 54065: add optional "old compat" variant of ext2fs in file system
type selection and use that as default for the cobalt boot file system.
For now rely on the kernel mapping native RDB partitions.
Fix detection of existing disklabels in the case when we only have
the disklabel partitioning scheme available.
Fix DISKLABEL_NO_ONDISK_VERIFY (accidently disabled in previous)
Fix inverted comparison
Do not try to change the keyboard layout if we are not running on the
console.
When trying to tell a fictious but empty label from a real one, skip
partition a if it has the same start and size as the raw partition.
Remove bogus assert.
When finding (paritioning scheme native) partition types for file systems
from our install description, pass the partition type (not only the file
system type). Sometimes (e.g. EFI boot partition on GPT) the filesystem
type (MSDOS) is not a unique selector.
Adapt MD parts to changes in get_fs_part_type (pass partition type).
If a fictious label has no RAW_PART assume there is no valid disk label.
Pass proper track size when initializing the default alignment - this is
important with sunlabels.
Fix overlapping partitions display
Reject (what we consider) empty/invalid fake disklabels no matter whether
we have other partitioning schemes available or not.
Do not show disklabel command invocation by default (only if there are
errors).
After installing boot blocks with RUN_NO_CLEAR (and handling the
potential errors) make sure to clear the stdscreen.
 1.13.2.4 17-Nov-2019  msaitoh Pull up following revision(s) (requested by martin in ticket #436):
usr.sbin/sysinst/disks.c: revision 1.55
usr.sbin/sysinst/msg.mi.en: revision 1.24
usr.sbin/sysinst/mbr.c: revision 1.22
usr.sbin/sysinst/disks.c: revision 1.56
usr.sbin/sysinst/msg.mi.en: revision 1.25
usr.sbin/sysinst/disks.c: revision 1.57
usr.sbin/sysinst/arch/playstation2/msg.md.pl: revision 1.3
usr.sbin/sysinst/Makefile.inc: revision 1.30
usr.sbin/sysinst/configmenu.c: revision 1.11
usr.sbin/sysinst/util.c: revision 1.35
usr.sbin/sysinst/gpt.c: revision 1.12
usr.sbin/sysinst/util.c: revision 1.36
usr.sbin/sysinst/arch/playstation2/msg.md.de: revision 1.3
usr.sbin/sysinst/arch/i386/menus.md: revision 1.3
usr.sbin/sysinst/util.c: revision 1.37
usr.sbin/sysinst/part_edit.c: revision 1.11
usr.sbin/sysinst/arch/i386/msg.md.en: revision 1.2
usr.sbin/sysinst/util.c: revision 1.38
usr.sbin/sysinst/part_edit.c: revision 1.12
usr.sbin/sysinst/arch/i386/msg.md.en: revision 1.3
usr.sbin/sysinst/util.c: revision 1.39
usr.sbin/sysinst/part_edit.c: revision 1.13
usr.sbin/sysinst/arch/i386/msg.md.en: revision 1.4
usr.sbin/sysinst/disklabel.c: revision 1.15
usr.sbin/sysinst/bsddisklabel.c: revision 1.30
usr.sbin/sysinst/arch/i386/msg.md.es: revision 1.2
usr.sbin/sysinst/bsddisklabel.c: revision 1.31
usr.sbin/sysinst/arch/i386/msg.md.es: revision 1.3
usr.sbin/sysinst/arch/i386/msg.md.es: revision 1.4
usr.sbin/sysinst/mbr.h: revision 1.4
usr.sbin/sysinst/main.c: revision 1.18
usr.sbin/sysinst/partman.c: revision 1.44
usr.sbin/sysinst/msg.mi.de: revision 1.17
usr.sbin/sysinst/arch/i386/msg.md.fr: revision 1.2
usr.sbin/sysinst/msg.mi.de: revision 1.18
usr.sbin/sysinst/arch/i386/msg.md.fr: revision 1.3
usr.sbin/sysinst/arch/playstation2/msg.md.en: revision 1.3
usr.sbin/sysinst/arch/i386/msg.md.fr: revision 1.4
usr.sbin/sysinst/arch/amd64/md.c: revision 1.2
usr.sbin/sysinst/arch/ews4800mips/Makefile: revision 1.3
usr.sbin/sysinst/arch/playstation2/msg.md.es: revision 1.3
usr.sbin/sysinst/label.c: revision 1.13
usr.sbin/sysinst/Makefile.inc: revision 1.29
usr.sbin/sysinst/label.c: revision 1.14
usr.sbin/sysinst/util.c: revision 1.40
usr.sbin/sysinst/partitions.c: revision 1.5
usr.sbin/sysinst/arch/amd64/md.h: revision 1.8
usr.sbin/sysinst/msg.mi.es: revision 1.18
usr.sbin/sysinst/net.c: revision 1.34
usr.sbin/sysinst/msg.mi.es: revision 1.19
usr.sbin/sysinst/arch/i386/msg.md.pl: revision 1.2
usr.sbin/sysinst/arch/i386/md.c: revision 1.22
usr.sbin/sysinst/msg.mi.fr: revision 1.22
usr.sbin/sysinst/arch/playstation2/msg.md.fr: revision 1.3
usr.sbin/sysinst/arch/i386/msg.md.pl: revision 1.3
usr.sbin/sysinst/arch/i386/md.c: revision 1.23
usr.sbin/sysinst/msg.mi.pl: revision 1.25
usr.sbin/sysinst/msg.mi.fr: revision 1.23
usr.sbin/sysinst/arch/i386/msg.md.pl: revision 1.4
usr.sbin/sysinst/arch/i386/md.c: revision 1.24
usr.sbin/sysinst/partitions.h: revision 1.8
usr.sbin/sysinst/msg.mi.pl: revision 1.26
usr.sbin/sysinst/arch/i386/msg.md.de: revision 1.2
usr.sbin/sysinst/arch/i386/msg.md.de: revision 1.3
usr.sbin/sysinst/arch/i386/msg.md.de: revision 1.4
usr.sbin/sysinst/run.c: revision 1.13
usr.sbin/sysinst/defs.h: revision 1.46
usr.sbin/sysinst/install.c: revision 1.12
usr.sbin/sysinst/defs.h: revision 1.47
usr.sbin/sysinst/install.c: revision 1.13
usr.sbin/sysinst/defs.h: revision 1.48
Add options to the various partitioning stages that allow cloning of
alien partitions (optionally including data).
PR 54467: we trust our own sets, extract them with -P to allow symlink
redirection (especially for updates and chroot services - back out
once a better solution for those is implemented)
Make cloning support optional, so we can save some space on very small
install media.
Drop MBR and cloning support on crunched install media.
Make tar extraction flags depend on our usage of pax-as-tar or bsdtar.
Fix missing newlines in bios match display, pointed out by maxv.
Drop unused variable.
Fix table of bios geomatries
knf style adjustments
Make the bootblock selection menu more sane, pointed out by maxv
Make sure all menus have a translatable exit option (or none at all).
On amd64 support installation with a KASLR kernel, via "custom install"
and selecting the GENERIC_KASLR kernel set.
Setup /prekern and boot.cfg accordingly.
 1.13.2.3 17-Nov-2019  martin Pull up following revision(s) (requested by maya in ticket #435):

distrib/sets/maketars: revision 1.90
usr.sbin/sysinst/arch/playstation2/md.h: revision 1.2
usr.sbin/sysinst/arch/sandpoint/md.h: revision 1.3
usr.sbin/sysinst/arch/evbppc/md.h: revision 1.3
usr.sbin/sysinst/arch/hpcarm/md.h: revision 1.3
usr.sbin/sysinst/arch/mvme68k/md.h: revision 1.3
distrib/sun3/MakeInstTape: revision 1.3
usr.sbin/sysinst/util.c: revision 1.33
distrib/sets/lists/rescue/mi: revision 1.1
distrib/sets/lists/base/rescue.sun2: file removal
usr.sbin/sysinst/arch/zaurus/md.h: revision 1.3
distrib/sets/lists/base/rescue.ad.m68k.shl: file removal
distrib/sets/regpkgset: revision 1.13
usr.sbin/sysinst/arch/i386/md.h: revision 1.7
distrib/sets/lists/base/rescue.sparc: file removal
distrib/notes/mvme68k/xfer: revision 1.19
distrib/sets/sets.subr: revision 1.187
distrib/common/bootimage/Makefile.bootimage: revision 1.22
usr.sbin/sysinst/msg.mi.de: revision 1.16
usr.sbin/sysinst/arch/atari/md.h: revision 1.3
rescue/Makefile: revision 1.38
distrib/sets/lists/base/rescue.macppc: file removal
usr.sbin/sysinst/arch/arc/md.h: revision 1.4
distrib/miniroot/install.sub: revision 1.49
usr.sbin/sysinst/arch/acorn32/md.h: revision 1.3
usr.sbin/sysinst/arch/x68k/md.h: revision 1.3
usr.sbin/sysinst/arch/hpcmips/md.h: revision 1.3
usr.sbin/sysinst/arch/bebox/md.h: revision 1.3
usr.sbin/sysinst/arch/hpcsh/md.h: revision 1.2
distrib/sets/lists/base/rescue.shark: file removal
usr.sbin/sysinst/arch/emips/md.h: revision 1.5
distrib/utils/embedded/mkimage: revision 1.70
usr.sbin/sysinst/arch/shark/md.h: revision 1.3
usr.sbin/sysinst/arch/pmax/md.h: revision 1.4
usr.sbin/sysinst/arch/amiga/md.h: revision 1.4
usr.sbin/sysinst/arch/hp300/md.h: revision 1.5
rescue/list.ldconfig: file removal
distrib/sets/lists/base/rescue.ad.m68k: file removal
usr.sbin/sysinst/arch/prep/md.h: revision 1.4
usr.sbin/sysinst/arch/cats/md.h: revision 1.4
usr.sbin/sysinst/arch/amd64/md.h: revision 1.7
usr.sbin/sysinst/msg.mi.es: revision 1.17
usr.sbin/sysinst/msg.mi.fr: revision 1.20
usr.sbin/sysinst/msg.mi.pl: revision 1.23
distrib/sets/lists/base/rescue.i386: file removal
usr.sbin/sysinst/arch/evbarm/md.h: revision 1.3
distrib/sets/lists/base/rescue.vax: file removal
distrib/amd64/uefi-installimage/Makefile.bootimage: revision 1.12
usr.sbin/sysinst/arch/evbmips/md.h: revision 1.3
distrib/sets/lists/base/rescue.mi: file removal
distrib/sets/README: revision 1.14
usr.sbin/sysinst/arch/sgimips/md.h: revision 1.4
distrib/sets/lists/base/rescue.sparc64: file removal
distrib/sets/lists/base/rescue.mi: revision 1.45
distrib/sets/lists/base/rescue.mi: revision 1.46
usr.sbin/sysinst/arch/ofppc/md.h: revision 1.4
usr.sbin/sysinst/arch/cobalt/md.h: revision 1.4
distrib/sets/lists/base/rescue.ad.arm: file removal
distrib/sets/lists/base/rescue.mac68k: file removal
usr.sbin/sysinst/defs.h: revision 1.45
usr.sbin/sysinst/arch/landisk/md.h: revision 1.2
distrib/notes/atari/xfer: revision 1.17
etc/Makefile: revision 1.441
usr.sbin/sysinst/msg.mi.en: revision 1.22
distrib/sun2/MakeInstTape: revision 1.2

Remove ldconfig from /rescue, and mark it MI obsolete.
- ldconfig in netbsd refers to a.out binaries only. We've been ELF-only
since NetBSD 2.0 or so, and having it in /rescue served little purpose
even before that, as /rescue is standalone.
- Using MI obsolete to avoid the need for MD set lists where ldconfig
is the sole entry

Mark /rescue/edlabel as MI-obsolete, so we can remove all remaining MD
rescue set list files.

Split out /rescue to its own set and adapt installers/images to add it.

This is meant to make updates safer: if something goes wrong with updating
base, we still have the old, standalone /rescue to recover from.
 1.13.2.2 18-Aug-2019  msaitoh Pull up following revision(s) (requested by martin in ticket #82):
usr.sbin/sysinst/util.c: revision 1.30
usr.sbin/sysinst/msg.mi.fr: revision 1.19
usr.sbin/sysinst/msg.mi.de: revision 1.15
usr.sbin/sysinst/msg.mi.es: revision 1.16
usr.sbin/sysinst/msg.mi.pl: revision 1.22
usr.sbin/sysinst/msg.mi.en: revision 1.21
PR 54473: fix error prompt when a set file is missing
 1.13.2.1 18-Aug-2019  msaitoh Pull up following revision(s) (requested by martin in ticket #78):
usr.sbin/sysinst/gpt.c: revision 1.10
usr.sbin/sysinst/disklabel.c: revision 1.12
usr.sbin/sysinst/msg.mi.fr: revision 1.18
usr.sbin/sysinst/msg.mi.de: revision 1.14
usr.sbin/sysinst/partitions.c: revision 1.2
usr.sbin/sysinst/msg.mi.es: revision 1.15
usr.sbin/sysinst/msg.mi.pl: revision 1.21
usr.sbin/sysinst/partitions.h: revision 1.6
usr.sbin/sysinst/msg.mi.en: revision 1.20
usr.sbin/sysinst/mbr.c: revision 1.20
On architectures that usually do MBR/disklabel, nevertheless deal with
pure/plain disklabel disks, and explicitly offer this as partitioning
option when bootability is not a concern.
 1.43.2.3 03-Jul-2024  martin Pull up following revision(s) (requested by nia in ticket #731):

usr.sbin/sysinst/msg.mi.de: revision 1.49
usr.sbin/sysinst/msg.mi.de: revision 1.50
usr.sbin/sysinst/msg.mi.en: revision 1.52

sysinst(8): Note that leaving the network "media type" empty autoconfigures
sysinst: fix umlaut in German translation
 1.43.2.2 02-Nov-2023  sborrill Pull up the following revisions(s) (requested by martin in ticket #443):
usr.sbin/sysinst/msg.mi.de: revision 1.45

Shorten the Use_Different_Part_Scheme message - the old version could
overflow a 80 wide char display with some partitioning schemes (e.g.
disklabel).
 1.43.2.1 02-Nov-2023  sborrill Pull up the following revisions(s) (requested by martin in ticket #442):
usr.sbin/sysinst/label.c: revision 1.49
usr.sbin/sysinst/msg.mi.de: revision 1.44
usr.sbin/sysinst/msg.mi.en: revision 1.47
usr.sbin/sysinst/msg.mi.es: revision 1.40
usr.sbin/sysinst/msg.mi.fr: revision 1.45
usr.sbin/sysinst/msg.mi.pl: revision 1.46

Switch to "-" (single minus) as input denotation for "no mount point"
in all translations and adjust the code accordingly.
 1.50.2.1 02-Aug-2025  perseant Sync with HEAD
 1.54 25-Jul-2025  martin On install media where we can check trust anchors, offer explicit
download of sets via https.
 1.53 05-Jun-2025  nia sysinst(8): Expand detail in messages per user feedback
 1.52 20-Jun-2024  nia branches: 1.52.2;
sysinst(8): Note that leaving the network "media type" empty autoconfigures
 1.51 25-Apr-2024  hannken Increase length of set description to 40 characters so recent additions fit.

Ok: martin@

Fixes PR install/58188 "sysinst fails to display status of base32 set"
 1.50 22-Apr-2024  nia Move MIPS N64 compat out of {base,debug}32 into {base,debug}64

martin requested separation by ABI and it doesn't make much sense
to have 64-bit binaries in a set called 32.
 1.49 09-Apr-2024  nia Add new sets: base32, debug32, manhtml

- base32 contains (when MKCOMPAT=yes) shared libraries for 32-bit
compatibility, previously included in base

- debug32 contains (when MKCOMPAT=yes) debug symbols and static libraries
containing debug symbols for 32-bit compatiblity, previously included
in debug

- manhtml contains (when MKHTML=yes) the HTML files previously included
in 'man', which are of limited utility without third-party software.

The motivation for this change is to be able to easily exclude sets
from CD-ROM images that go over the size limit without xz compression
(which many NetBSD platforms struggle to extract at acceptable speeds).
 1.48 21-Mar-2024  nia sysinst: Clarify that usernames are maximum 8 characters

At least one user reported thinking that the previous wording implied
that usernames required padding to 8 characters.

This syncs the english translation with the german.
 1.47 31-Oct-2023  martin Switch to "-" (single minus) as input denotation for "no mount point"
in all translations and adjust the code accordingly.
Pointed out by Thierry Laronde.
 1.46 15-Dec-2022  martin branches: 1.46.2;
Add an (expert) option to manually edit partitions, inspired by PR 57100.
 1.45 30-Nov-2022  martin Add support for FFSv2ea in the partition type menus (internally setting
fs version to 3 for this, where 2 is FFSv2 and 1 is FFSv1)
 1.44 22-Jul-2022  christos Add a menu option to set the file extension of the downloaded sets.
amd64 sets are .tar.xz and sysinst fails by default.
 1.43 11-Jun-2022  martin Slightly improved error handling when converion from one partition table
format to another is not lossless.
 1.42 09-Jun-2022  martin Add support for explicitly selecting "EFI system partition" as a partition
type.
 1.41 18-May-2022  martin When not invoked via some explicit "configure network" menu item,
auto-detect an already working network setup and offer to "just use" it
whenver we need connectivity.
 1.40 16-May-2022  martin Split the available disks (that may be partitioned) from the
preconfigured wedges (that can be install target, but can not be
partitioned). The latter are only usefull in special setups
and clobber the list of available disks for the usual setup cases.
 1.39 15-May-2022  jmcneill sysinst: Enable mDNS lookups via NSS when enabling mdnsd.

Add/remove "multicast_dns" to the hosts: line in /etc/nsswitch.conf when
toggling the mdnsd rcvar. Change the label from "Enable mdnsd" to "Enable
multicast DNS support" to better describe what's going on here.

Now when you enable multicast DNS support in the installer, the host will
both advertise itself on the network and resolve .local network names.
 1.38 21-Apr-2022  martin Make default installations a bit more secure:
- push a bit harder for setup of a root password
- simplify/clarify manual entropy setup
- visit the entropy setup (on machines where it is needed) on the
default path through sysinst
 1.37 10-Jan-2022  nia sysinst(8): Add initial support for connecting to Wi-Fi networks
by spawning wpa_supplicant.

Reviewed by martin.
 1.36 25-Sep-2021  maya Move DRM-driver firmware from base to its own set, gpufw

This set is only installed on amd64,i386,evbarm.
This set is installed on minimal installs and on install media, in
case someone needs it for basic driver functionality.

Comments:
Switched to a single MK tunable for it - that is probably unneeded.

An upcoming DRM update will include even fatter firmware, and we'd
like to minimize the impact of it.
 1.35 04-Nov-2020  martin Add (experimental) entropy input support:
Early during new installs or after upgrades we check if entropy is
available. If not (no hardware random number generator available)
we inform the user and ask them to fix it.
 1.34 27-Oct-2020  martin When we did not magically find any CD medium with sets, offer a manual
override (so ISO images on USB sticks or Xen's xbd(4) work).
 1.33 24-Oct-2020  martin When looking for available CD media, skip those that are already mounted.
When no medium with sets is found, show a new error message and return
to the source selection menu.
Rearrange all source option menus to have the proper set suffix
available (either .tgz or .tar.xz).
 1.32 13-Oct-2020  martin PR 55142: on popular demand bring back expert options to adjust the
number of free inodes, block size and fragment size for FFS and LFS.
 1.31 12-Oct-2020  martin PR 55536: when we find existing partition tables and have alternative
formats available, offer to delete partitions and create new ones from
scratch (in some other or the same on-disk format).
 1.30 26-May-2020  snj it's "its"
 1.29 18-May-2020  jmcneill Separate devicetree .dts -> .dtb building from kernel builds. They are now
part of a separate set, "dtb.tgz", and only built when MKDTB=yes. This
defaults to yes for earmv[67]* and aarch64, and no everywhere else.
 1.28 06-Feb-2020  martin Reformat a query to add an automatically detected swap partition
so it fits on narrow screens.
 1.27 09-Jan-2020  martin Finish conversion of extended partitioning parts to new abstract
backend interface. XXX still could use a lot of polishing.
 1.26 11-Dec-2019  martin PR 54065: add optional "old compat" variant of ext2fs in file system
type selection and use that as default for the cobalt boot file system.
 1.25 16-Nov-2019  martin Make sure all menus have a translatable exit option (or none at all).
 1.24 12-Nov-2019  martin Add options to the various partitioning stages that allow cloning of
alien partitions (optionally including data).
 1.23 17-Oct-2019  maxv Sentence begins with capital letter ("yes or no?"). Also add a few french
sentences, to make it less awful, but not complete. Not tested.
 1.22 02-Oct-2019  maya Split out /rescue to its own set and adapt installers/images to add it.

This is meant to make updates safer: if something goes wrong with updating
base, we still have the old, standalone /rescue to recover from.
 1.21 17-Aug-2019  martin PR 54473: fix error prompt when a set file is missing
 1.20 14-Aug-2019  martin On architectures that usually do MBR/disklabel, nevertheless deal with
pure/plain disklabel disks, and explicitly offer this as partitioning
option when bootability is not a concern.
 1.19 23-Jul-2019  martin branches: 1.19.2;
For upgrade / re-install allow the currently running system as a target
in the "disk" selection.
 1.18 21-Jun-2019  pgoyette Typo - distinguish has a 'g' not a 'q'
 1.17 21-Jun-2019  pgoyette Typos, grammar.
 1.16 12-Jun-2019  martin Rework internal data structures and "interfaces to user interface" functions
to get rid of all disklabel assumptions.

Previously (even for GPT partitioning) struct disklabel was used, which
obviously breaks large disk setups. Also many MD parts and parts of the
user interface assumed (a) a struct disklabel is used internally to
store partitioning information and (b) partitions are named 'a' ... $MAXPART.

Get rid of this and replace it with a quite abstract interface that should
be able to deal with all variants in partition storage:

- partitions are stored in a (partly abstract) struct disk_partitions
and most parts of it are only accessed via accessor functions provided
by a "partitioning scheme".

- implement partitioning schemes for MBR, disklabel and GPT (with likely
RDB [amiga] and Apple Partition Map [mac*] to follow soon)

- partitioning schemes may be cascaded, e.g. on x86 when using MBR as
"outer partitions", we have disklabel as "inner partitions".

- all user interface goes via accessor functions in the partitioning scheme,
some of which return pointers to special user interface descriptors
(e.g. to allow editing partition flags, which are scheme specific)

Overall the user interface changes (in this initial step) are minimal but
noticable. A new Anita is needed for automatic test setups - many thanks
to Andreas Gustafsson for lots of early testing and a new Anita version,
and to Manuel Bouyer for cooperation and tests of the Anita release.

This work was sponsored by The NetBSD Foundation, Inc.
 1.15 10-Jan-2019  martin PR install/53857: make the pkgsrc menu wider, so the first column fits
in various translations. While there shorten some (misleading) text.
 1.14 15-Nov-2018  martin Make use of the new positional parameters to better describe the first
partitioning step. Remove size limits/hints encoded in the translations
and replace them by values from the code.
 1.13 03-Nov-2018  martin Remove "usage" translations - they never could be displayed as we only select
the language later.
Extend usage display a bit and sync with reality.
 1.12 11-Sep-2018  martin Split the host name used for ftp transfers from the one used for http
transfers. This is slightly inconsistent, as directories are still
shared - but this allows us to default to cdn/nycdn for http (which don't
support ftp).
 1.11 03-Jun-2018  martin branches: 1.11.2;
Add an option to install onto a pre-configured wedge.
Greatly simmplifies (U)EFI setups (but does not fully automate them yet).
 1.10 17-May-2015  martin branches: 1.10.8; 1.10.14;
Invert sense of a vnd creation message ("Create new image: Yes") and kill
the translations that I can't update myself.
 1.9 01-May-2015  gson Shorten the message "System configuration files (/etc)" to just
"Configuration files (/etc)" so that it doesn't overflow into the
"Selected" column, overwriting the "Yes" or "No" so that there is
no way to know if the set is selected or not.
 1.8 30-Apr-2015  snj make the english sysinst messages suck a bit less:
- improve wording
- correct outdated info
- pick some consistency nits
- fix whitespace
 1.7 03-Apr-2015  mbalmer IPv4 number -> IPv4 address
 1.6 10-Nov-2014  snj "Encryption" has an r in it.
 1.5 22-Sep-2014  roy Change the IPv6 DNS selection to use DNS selection and add the
Google Public V4 DNS servers to the list.
The other field can take an IPv4 or IPv6 name server of choice.
Fixes PR install/49231.
 1.4 13-Sep-2014  roy Change the display order so it's protocol agnostic at the top,
then IPv4 then IPv6.
 1.3 15-Aug-2014  jmcneill branches: 1.3.2;
remove trailing colon from "addusername" msg
 1.2 03-Aug-2014  martin branches: 1.2.2; 1.2.4;
(Finally) merge a slightly modified version of the 2012 GSoC results
from Eugene Lozovoy: add extended partitioning options to sysinst.
Still needs some testing and polishing, but it now is possible to use GPT
or to create a RAID set from scratch and install onto it.
 1.1 26-Jul-2014  dholland Move sysinst sources to usr.sbin.

This commit only physically moves the sources - there are no other
changes, to maximize the probability that this will be treated as a
rename if we ever do manage to migrate away from CVS.

Moving sysinst has been discussed on and off for years and has two
goals: making it easier to work on sysinst, and also making sysinst
available on running systems for use installing chroots and VM images
and other such things. None of the latter is possible yet, but as they
say, one thing at a time.

Doing this now was approved in an impromptu fashion by mrg, riz,
riastradh, me, and groo.
 1.2.4.6 14-May-2015  snj Pull up following revision(s) (requested by martin in ticket #759):
distrib/amd64/cdroms/Makefile.cdrom: revision 1.12
distrib/amd64/installimage/Makefile: revision 1.5
distrib/amd64/installimage/spec.inst: revision 1.2
distrib/common/10-resolv.conf: file removal
distrib/common/99-print-sysinst: file removal
distrib/common/Makefile.dhcpcd: revision 1.2
distrib/common/list.dhcpcd: revision 1.3
distrib/i386/cdroms/Makefile.cdrom: revision 1.32
distrib/i386/installimage/Makefile: revision 1.5
distrib/i386/installimage/spec.inst: revision 1.2
distrib/sparc64/cdroms/installcd/Makefile: revision 1.20
distrib/vax/cdroms/installcd/Makefile: revision 1.10
usr.sbin/sysinst/msg.mi.de: revision 1.4
usr.sbin/sysinst/msg.mi.en: revision 1.4
usr.sbin/sysinst/msg.mi.es: revision 1.4
usr.sbin/sysinst/msg.mi.fr: revision 1.4
usr.sbin/sysinst/msg.mi.pl: revision 1.4
usr.sbin/sysinst/net.c: revisions 1.5-1.8, 1.11-1.15
The dhcpcd utilties in pkgsrc require dhcpcd to be running in master mode.
So set dhcpcd to start like so, but restrict it to the configured interface
still instead of ifconfig_foo=dhcp.
--
Use the 20-resolv.conf hook from dhcpcd rather than the minimal one.
Extract configured information from resolv.conf and hostname instead
of scraping the last dhcpcd script run.
This will allow the use of DHCPv6 and IPv6RA DNS details in the future.
--
dhcpcd will already have configured the system at this point, so
don't bother writing it manually.
--
Don't prompt for hostname or domain if obtained from DHCP.
--
Change the display order so it's protocol agnostic at the top,
then IPv4 then IPv6.
--
Strip newline from the gateway correctly.
--
Show the IP6 address instead of yes
--
Fix a bogus gcc warning: dhcp_config may be used uninitialized
--
Punt custom dhcpcd hooks in favour up upstream hooks
--
For the benefit of gcc 4.5, rename a local "nl" variable to "nline",
so it doesn't collide with the global curses nl() function.
 1.2.4.5 13-May-2015  snj Pull up following revision(s) (requested by martin in ticket #754):
usr.sbin/sysinst/menus.mi: revision 1.6
usr.sbin/sysinst/msg.mi.de: revision 1.5
usr.sbin/sysinst/msg.mi.en: revision 1.5
usr.sbin/sysinst/msg.mi.es: revision 1.5
usr.sbin/sysinst/msg.mi.fr: revision 1.5
usr.sbin/sysinst/msg.mi.pl: revision 1.5
Change the IPv6 DNS selection to use DNS selection and add the
Google Public V4 DNS servers to the list.
The other field can take an IPv4 or IPv6 name server of choice.
Fixes PR install/49231.
 1.2.4.4 06-May-2015  riz Pull up following revision(s) (requested by snj in ticket #735):
usr.sbin/sysinst/msg.mi.en: revision 1.8
usr.sbin/sysinst/msg.mi.en: revision 1.9
make the english sysinst messages suck a bit less:
- improve wording
- correct outdated info
- pick some consistency nits
- fix whitespace
Shorten the message "System configuration files (/etc)" to just
"Configuration files (/etc)" so that it doesn't overflow into the
"Selected" column, overwriting the "Yes" or "No" so that there is
no way to know if the set is selected or not.
 1.2.4.3 06-Apr-2015  snj Pull up following revision(s) (requested by mbalmer in ticket #657):
usr.sbin/sysinst/msg.mi.en: revision 1.7
usr.sbin/sysinst/msg.mi.pl: revision 1.7
IPv4 number -> IPv4 address
 1.2.4.2 20-Jan-2015  martin Pull up following revision(s) (requested by jmcneill in ticket #435):
usr.sbin/sysinst/msg.mi.es: revision 1.3
usr.sbin/sysinst/msg.mi.en: revision 1.3
usr.sbin/sysinst/msg.mi.fr: revision 1.3
usr.sbin/sysinst/msg.mi.pl: revision 1.3
usr.sbin/sysinst/msg.mi.de: revision 1.3
remove trailing colon from "addusername" msg
 1.2.4.1 10-Nov-2014  martin Pull up following revision(s) (requested by snj in ticket #204):
usr.sbin/sysinst/msg.mi.en: revision 1.6
usr.sbin/sysinst/msg.mi.pl: revision 1.6
"Encryption" has an r in it.
 1.2.2.2 10-Aug-2014  tls Rebase.
 1.2.2.1 03-Aug-2014  tls file msg.mi.en was added on branch tls-earlyentropy on 2014-08-10 07:00:24 +0000
 1.3.2.2 20-Aug-2014  tls Rebase to HEAD as of a few days ago.
 1.3.2.1 15-Aug-2014  tls file msg.mi.en was added on branch tls-maxphys on 2014-08-20 00:05:13 +0000
 1.10.14.4 18-Jan-2019  pgoyette Synch with HEAD
 1.10.14.3 26-Nov-2018  pgoyette Sync with HEAD, resolve a couple of conflicts
 1.10.14.2 30-Sep-2018  pgoyette Ssync with HEAD
 1.10.14.1 25-Jun-2018  pgoyette Sync with HEAD
 1.10.8.1 05-Jun-2018  bouyer Pull up following revision(s) (requested by martin in ticket #860):
usr.sbin/sysinst/msg.mi.de: revision 1.7
usr.sbin/sysinst/arch/i386/md.c: revision 1.10
usr.sbin/sysinst/msg.mi.fr: revision 1.10
usr.sbin/sysinst/arch/i386/md.c: revision 1.11
usr.sbin/sysinst/menus.mi: revision 1.13
usr.sbin/sysinst/arch/i386/md.c: revision 1.9
usr.sbin/sysinst/msg.mi.es: revision 1.7
usr.sbin/sysinst/msg.mi.en: revision 1.11
usr.sbin/sysinst/mbr.c: revision 1.6
usr.sbin/sysinst/disks.c: revision 1.15
usr.sbin/sysinst/bsddisklabel.c: revision 1.4
usr.sbin/sysinst/disks.c: revision 1.16
usr.sbin/sysinst/msg.mi.pl: revision 1.9
usr.sbin/sysinst/defs.h: revision 1.11
Add an option to install onto a pre-configured wedge.
Greatly simmplifies (U)EFI setups (but does not fully automate them yet).
In the generated /etc/fstab, do not use the (temporary, during sysinst)
path name for the file in the comment, but instead the one it will
have on the target system.
Reorder fetch options: http before ftp
Default console device and speed to that used by syinst
add missing brace.
 1.11.2.2 13-Apr-2020  martin Mostly merge changes from HEAD upto 20200411
 1.11.2.1 10-Jun-2019  christos Sync with HEAD
 1.19.2.12 03-Jul-2024  martin Pull up following revision(s) (requested by nia in ticket #1853):

usr.sbin/sysinst/msg.mi.de: revision 1.49
usr.sbin/sysinst/msg.mi.de: revision 1.50
usr.sbin/sysinst/msg.mi.en: revision 1.52

sysinst(8): Note that leaving the network "media type" empty autoconfigures
sysinst: fix umlaut in German translation
 1.19.2.11 20-Jan-2022  martin Pull up following revision(s) (requested by nia in ticket #1406):

usr.sbin/sysinst/net.c: revision 1.40
usr.sbin/sysinst/msg.mi.pl: revision 1.37
usr.sbin/sysinst/msg.mi.fr: revision 1.36
usr.sbin/sysinst/msg.mi.de: revision 1.35
usr.sbin/sysinst/msg.mi.en: revision 1.37
usr.sbin/sysinst/net.c: revision 1.37
usr.sbin/sysinst/net.c: revision 1.38
usr.sbin/sysinst/msg.mi.es: revision 1.31
usr.sbin/sysinst/net.c: revision 1.39

sysinst(8): Add initial support for connecting to Wi-Fi networks
by spawning wpa_supplicant.
Reviewed by martin.

sysinst(8): Avoid asking Wi-Fi questions about non-Wi-Fi devices.

sysinst(8): Add a "data" argument to do_ifreq that is set after the
ifr struct is zeroed.

This allows us to simplify the code by not having 2x socket creation
code for checking whether interfaces are wireless.
sysinst(8): use scan_ssid=1 so hidden wifi networks can be used
 1.19.2.10 05-Nov-2020  sborrill Pull up the following revisions(s) (requested by martin in ticket #1121):
usr.sbin/sysinst/menus.mi: revision 1.22-1.23
usr.sbin/sysinst/msg.mi.de: revision 1.25-1.26
usr.sbin/sysinst/msg.mi.en: revision 1.33-1.34
usr.sbin/sysinst/msg.mi.pl: revision 1.33-1.34
usr.sbin/sysinst/msg.mi.es: revision 1.27-1.28
usr.sbin/sysinst/msg.mi.fr: revision 1.32-1.33
usr.sbin/sysinst/util.c: revision 1.49-1.52

- When looking for available CD media, skip those that are already mounted.
- When no medium with sets is found, show a new error message and return
to the source selection menu.
- Rearrange all source option menus to have the proper set suffix available
(either .tgz or .tar.xz).
- Relax an assertion, the first getvfsstat() call may overestimate the file
systems visible to us. Fixes PR 55752
- When we did not magically find any CD medium with sets, offer a manual
override (so ISO images on USB sticks or Xen's xbd(4) work).
 1.19.2.9 15-Oct-2020  bouyer Pull up following revision(s) (requested by martin in ticket #1113):
usr.sbin/sysinst/bsddisklabel.c: revision 1.46
usr.sbin/sysinst/bsddisklabel.c: revision 1.47
usr.sbin/sysinst/disklabel.c: revision 1.40
usr.sbin/sysinst/arch/cobalt/md.c: revision 1.13
usr.sbin/sysinst/bsddisklabel.c: revision 1.48
usr.sbin/sysinst/disklabel.c: revision 1.41
usr.sbin/sysinst/arch/cobalt/md.c: revision 1.14
usr.sbin/sysinst/bsddisklabel.c: revision 1.49
usr.sbin/sysinst/disklabel.c: revision 1.42
usr.sbin/sysinst/Makefile.inc: revision 1.34
usr.sbin/sysinst/disks.c: revision 1.70
usr.sbin/sysinst/arch/hp300/md.c: revision 1.11
usr.sbin/sysinst/disks.c: revision 1.71
usr.sbin/sysinst/arch/i386/md.h: revision 1.8
usr.sbin/sysinst/arch/arc/md.c: revision 1.13
usr.sbin/sysinst/mbr.h: revision 1.5
usr.sbin/sysinst/mbr.h: revision 1.6
usr.sbin/sysinst/arch/mac68k/md.c: revision 1.10
usr.sbin/sysinst/bsddisklabel.c: revision 1.50
usr.sbin/sysinst/arch/acorn32/md.c: revision 1.7
usr.sbin/sysinst/bsddisklabel.c: revision 1.51
usr.sbin/sysinst/bsddisklabel.c: revision 1.52
usr.sbin/sysinst/bsddisklabel.c: revision 1.53
usr.sbin/sysinst/bsddisklabel.c: revision 1.54
usr.sbin/sysinst/bsddisklabel.c: revision 1.55
usr.sbin/sysinst/bsddisklabel.c: revision 1.56
usr.sbin/sysinst/arch/dummy/md.c: revision 1.6
usr.sbin/sysinst/arch/amd64/md.h: revision 1.9
usr.sbin/sysinst/arch/evbsh3/md.c: revision 1.6
usr.sbin/sysinst/arch/sparc/md.c: revision 1.6
usr.sbin/sysinst/arch/zaurus/md.c: revision 1.10
usr.sbin/sysinst/arch/x68k/md.c: revision 1.11
usr.sbin/sysinst/arch/sandpoint/md.c: revision 1.9
usr.sbin/sysinst/arch/vax/md.c: revision 1.7
usr.sbin/sysinst/arch/luna68k/md.c: revision 1.9
usr.sbin/sysinst/gpt.c: revision 1.19
usr.sbin/sysinst/arch/i386/md.c: revision 1.31
usr.sbin/sysinst/arch/i386/md.c: revision 1.32
usr.sbin/sysinst/arch/evbarm/md.c: revision 1.17
usr.sbin/sysinst/arch/evbarm/md.c: revision 1.18
usr.sbin/sysinst/arch/evbarm/md.c: revision 1.19
usr.sbin/sysinst/arch/shark/md.c: revision 1.6
usr.sbin/sysinst/arch/landisk/md.c: revision 1.14
usr.sbin/sysinst/util.c: revision 1.43
usr.sbin/sysinst/gpt.c: revision 1.20
usr.sbin/sysinst/util.c: revision 1.44
usr.sbin/sysinst/gpt.c: revision 1.21
usr.sbin/sysinst/gpt.c: revision 1.22
usr.sbin/sysinst/arch/evbarm/msg.md.en: revision 1.2
usr.sbin/sysinst/arch/ofppc/md.c: revision 1.11
usr.sbin/sysinst/util.c: revision 1.46
usr.sbin/sysinst/arch/ofppc/md.c: revision 1.12
usr.sbin/sysinst/util.c: revision 1.47
usr.sbin/sysinst/arch/evbarm/md.h: revision 1.6
usr.sbin/sysinst/util.c: revision 1.48
usr.sbin/sysinst/arch/evbarm/md.h: revision 1.7
usr.sbin/sysinst/arch/evbmips/md.c: revision 1.9
usr.sbin/sysinst/msg.mi.fr: revision 1.28
usr.sbin/sysinst/msg.mi.fr: revision 1.29
usr.sbin/sysinst/arch/sgimips/md.c: revision 1.9
usr.sbin/sysinst/arch/evbarm/Makefile: revision 1.3
usr.sbin/sysinst/msg.mi.de: revision 1.23
usr.sbin/sysinst/arch/hpcsh/md.c: revision 1.10
usr.sbin/sysinst/msg.mi.de: revision 1.24
usr.sbin/sysinst/install.c: revision 1.15
usr.sbin/sysinst/install.c: revision 1.16
usr.sbin/sysinst/arch/sparc64/md.c: revision 1.6
usr.sbin/sysinst/install.c: revision 1.17
usr.sbin/sysinst/install.c: revision 1.18
usr.sbin/sysinst/partitions.h: revision 1.16
usr.sbin/sysinst/install.c: revision 1.19
usr.sbin/sysinst/partitions.h: revision 1.17
usr.sbin/sysinst/arch/evbppc/md.c: revision 1.9
usr.sbin/sysinst/arch/playstation2/md.c: revision 1.9
usr.sbin/sysinst/partitions.h: revision 1.18
usr.sbin/sysinst/arch/hpcarm/md.c: revision 1.9
usr.sbin/sysinst/partitions.h: revision 1.19
usr.sbin/sysinst/msg.mi.es: revision 1.24
usr.sbin/sysinst/msg.mi.es: revision 1.25
usr.sbin/sysinst/msg.mi.es: revision 1.26
usr.sbin/sysinst/arch/zaurus/md.c: revision 1.9
usr.sbin/sysinst/target.c: revision 1.13
usr.sbin/sysinst/target.c: revision 1.14
usr.sbin/sysinst/part_edit.c: revision 1.17
usr.sbin/sysinst/part_edit.c: revision 1.18
usr.sbin/sysinst/msg.mi.fr: revision 1.30
usr.sbin/sysinst/arch/mvme68k/md.c: revision 1.11
usr.sbin/sysinst/part_edit.c: revision 1.19
usr.sbin/sysinst/msg.mi.fr: revision 1.31
usr.sbin/sysinst/arch/alpha/md.c: revision 1.9
usr.sbin/sysinst/msg.mi.en: revision 1.30
usr.sbin/sysinst/defs.h: revision 1.56
usr.sbin/sysinst/msg.mi.en: revision 1.31
usr.sbin/sysinst/defs.h: revision 1.57
usr.sbin/sysinst/msg.mi.en: revision 1.32
usr.sbin/sysinst/arch/amiga/md.c: revision 1.6
usr.sbin/sysinst/arch/hpcmips/md.c: revision 1.9
usr.sbin/sysinst/defs.h: revision 1.58
usr.sbin/sysinst/arch/cats/md.c: revision 1.5
usr.sbin/sysinst/defs.h: revision 1.59
usr.sbin/sysinst/arch/newsmips/md.c: revision 1.6
usr.sbin/sysinst/arch/pmax/md.c: revision 1.8
usr.sbin/sysinst/arch/mipsco/md.c: revision 1.8
usr.sbin/sysinst/part_edit.c: revision 1.20
usr.sbin/sysinst/part_edit.c: revision 1.21
usr.sbin/sysinst/arch/macppc/md.c: revision 1.6
usr.sbin/sysinst/part_edit.c: revision 1.22
usr.sbin/sysinst/part_edit.c: revision 1.23
usr.sbin/sysinst/part_edit.c: revision 1.24
usr.sbin/sysinst/defs.h: revision 1.60
usr.sbin/sysinst/arch/mac68k/Makefile: revision 1.3
usr.sbin/sysinst/defs.h: revision 1.61
usr.sbin/sysinst/defs.h: revision 1.63
usr.sbin/sysinst/defs.h: revision 1.64
usr.sbin/sysinst/defs.h: revision 1.65
usr.sbin/sysinst/label.c: revision 1.21
usr.sbin/sysinst/defs.h: revision 1.66
usr.sbin/sysinst/label.c: revision 1.22
usr.sbin/sysinst/defs.h: revision 1.67
usr.sbin/sysinst/label.c: revision 1.23
usr.sbin/sysinst/label.c: revision 1.24
usr.sbin/sysinst/label.c: revision 1.25
usr.sbin/sysinst/label.c: revision 1.26
usr.sbin/sysinst/label.c: revision 1.27
usr.sbin/sysinst/msg.mi.pl: revision 1.31
usr.sbin/sysinst/label.c: revision 1.28
usr.sbin/sysinst/msg.mi.pl: revision 1.32
usr.sbin/sysinst/label.c: revision 1.29
usr.sbin/sysinst/arch/atari/md.c: revision 1.7
usr.sbin/sysinst/disklabel.c: revision 1.36
usr.sbin/sysinst/disklabel.c: revision 1.37
usr.sbin/sysinst/disklabel.c: revision 1.38
usr.sbin/sysinst/disklabel.c: revision 1.39
usr.sbin/sysinst/arch/bebox/md.c: revision 1.9
usr.sbin/sysinst/mbr.c: revision 1.32
usr.sbin/sysinst/disks.c: revision 1.66
usr.sbin/sysinst/mbr.c: revision 1.33
usr.sbin/sysinst/disks.c: revision 1.67
usr.sbin/sysinst/mbr.c: revision 1.34
usr.sbin/sysinst/arch/emips/md.c: revision 1.9
usr.sbin/sysinst/disks.c: revision 1.68
usr.sbin/sysinst/partitions.c: revision 1.11
usr.sbin/sysinst/mbr.c: revision 1.35
usr.sbin/sysinst/disks.c: revision 1.69
usr.sbin/sysinst/mbr.c: revision 1.36
usr.sbin/sysinst/arch/hppa/md.c: revision 1.8
usr.sbin/sysinst/arch/prep/md.c: revision 1.13
usr.sbin/sysinst/label.c: revision 1.30
usr.sbin/sysinst/arch/ews4800mips/md.c: revision 1.7
usr.sbin/sysinst/main.c: revision 1.21
usr.sbin/sysinst/main.c: revision 1.22
usr.sbin/sysinst/main.c: revision 1.23
usr.sbin/sysinst/bsddisklabel.c: revision 1.40
usr.sbin/sysinst/main.c: revision 1.24
usr.sbin/sysinst/arch/cobalt/md.h: revision 1.6
usr.sbin/sysinst/bsddisklabel.c: revision 1.41
usr.sbin/sysinst/main.c: revision 1.25
usr.sbin/sysinst/arch/news68k/md.c: revision 1.7
usr.sbin/sysinst/bsddisklabel.c: revision 1.42
usr.sbin/sysinst/bsddisklabel.c: revision 1.43
usr.sbin/sysinst/bsddisklabel.c: revision 1.44
usr.sbin/sysinst/bsddisklabel.c: revision 1.45
Use strlcpy in a few places to guarnatee 0-terminated strings
Rever previous: the d_packname in struct disklabel is not NUL terminated.
Disable the warning instead.
Do not force -Os optimization (unless SMALLPROG)
Remove unused "rel" global variable and make the -r option a no-op.
PR 55045: strlcpy(NULL, ..., 0) considered harmfull in some implementations.
PR misc/54886: bump threshold for automatic/default creation of a tmpfs /tmp
up slightly (to 384 MB ram). This will make sure the default install has
a > 64 MB /tmp available (number pulled out of thin air, 64 MB is the minimum
required by the ZFS tests).
Don't depend on common symbol definitions.
boardype should not be common.
Redo the root-size-limit check again after we grew the root partition
for kernel dumps. Auto-enable the /usr partition if it overflows.
For all non-root partitions, default to FFSv2.
When extending a partition (to fill the total disk size) do respect
size limits.
Do not suggest a size limited partition for extension by default.
Minor tweak to previous: when forcing a /usr partition just to have an
arbitrary extendable partition, still use its default size initially.
At the end of a new installation save entropy.
Ooops, backout previous - twice the entropy saving is not needed.
Instead slightly improve the (slightly) hidden other code that already
did it.
PR 55202: disable swapping if we started it due to low ram
it's "its"
Remove "If you booted from a floppy" message
Set HAVE_INSTALL_IMAGE for evbarm
Change mountpoint of boot ext2fs from /stand to /ext2 to avoid conflict.
Should be pulled up to netbsd-9, with fixes of PR/55060.
MBR type for Ext2 should be MBR_PTYPE_LNXEXT2, not MBR_PTYPE_FAT12.
Silence -Wstringop-truncation for ``name'' in disp_selected_part().
This variable is used only for display, and truncation seems harmless.
PR 55572: avoid crash when answering the mount point prompt for a previously
empty mount point with an emptry sting.
When adding a new partition in the concrete partition editor, make sure
to set a pointer to the partition table interface in the new entry.
Otherwise we may end up not writing back the partitions at all, leading
to further fallout later.
Receipe to reproduce the issue from Frederic Fauberteau, thanks!
In the concrete partitions editor, after deleting the last partition move
the menu selection to the "add a partition" entry (instead of the sentinel
line which is not an active menu entry).
Typo in comment
Keep a list of all partition tables from which we have deleted partitions
and make sure we update those partition tables when writing partitions,
even if no install related partition remains on them.
Fix display of timezone selection menu
If there is no current partitioning manager assume we are editing the
current system and make target_already_root() return true.
Fixes various fallout when using sysinst post installation.
PR 55377: mark boot partitions in the partition size display, as suggested
by Izumi Tsutsui (minor modifications + all bugs by me)
PR 55378: do not assume RAW_PART to be either 2 or 3
PR 55379: avoid creating bogus /etc/fstab lines for /dev/cd* if no
cdrom is available.
PR 55381: try to deal with moved (but not yet saved) partitions when
calculating free space
Apply patch provided by Izumi Tsutsui in PR 55382: make ext2 partitions
show up in the outer (MBR) partition table, needed for example on Cobalt
where firmware boots from that partition.
PR 55384: detangle pm->ptstart from the "install" flag (selecting a
target partition). Instead introduce a new PTI_INSTALL_TARGET per partition
flag and deal with it in the partitioning backends.
Honour pm->ptstart when allocating new partitions - it is supposed to be
the first sector usable by NetBSD.
If we have no explicitly marke target root partition, make sure to set
the proper flag on the implicit one.
When merging existing partitions with desired target system layout
information, only force the "mount" flag if the existing partitions
has a valid mount point.
Add a heuristic to detect and properly mark EFI system partitions
when re-using pre-existing partitions.
When MD code requests a reserved area (at the start of the disk)
make sure to properly account for the "lost" space during all calculations
and especially when expanding the main partition to fill the disk.
Avoid using the global "pm" or a passed device descriptons when we are
passing disk limits explicitly anyway.
Simplify/fix a few rounding calculations.
When creating new partitions for "full disk" use, pass a install target
hint to the partitioning backend (for the outer NetBSD partition).
Use an install target hint to mark a new partition active.
When compiled with BOOTSEL support, also name the new partition "NetBSD".
Remove more pm->ptstart abuse - calculate values localy where needed
instead.
Fix editing start and size of not yet existing outer partitions.
Previously we abused pm->ptstart / pm->ptsize to pass the bounds of the
NetBSD outer partition to the inner partition editor - but now this is
not a valid assumption any more, so explicitly fix the bounds if an
outer partition exists.
Remove very strange code that special-cased MSDOS file systems and refused
to newfs the partition (despite explicit request to do so) if it was
mountable.
Accidently carried over from a dim and distant past, before we had
fsck_newfs.
PR 55536: when we find existing partition tables and have alternative
formats available, offer to delete partitions and create new ones from
scratch (in some other or the same on-disk format).
Minor fix to previous: fix condition when we offer the partition type
switch - it makes sense even if the disk is partitioned but has no valid
partitions.
Before forcing MBR partitions into our disklabel, make sure they are not
there yet - could happen in various paths when reusing existing partitions
(or parts of that) - previously we would blindly duplicate identical
partitions.
Ooops, part of previous was not meant to be included yet
When renumbering partitions (after deletions) be slightly more lax
in matching, to cope with differences between MBR EFI partitions and
disklabel MSDOS partitions.
PR 55142: on popular demand bring back expert options to adjust the
number of free inodes, block size and fragment size for FFS and LFS.
Fix copy & pasto noticed by Jason Mitchell: change the type of a GPT
partition via "gpt type" - not "gpt label".
Fix copy & pasto (missing "again" label)
Remove dead code
Move MBR writing (if any) post disklabel writing, otherwise strange
interactions happen.
Properly convert partition default sizes in MB to number of sectors
 1.19.2.8 10-Feb-2020  bouyer Pull up following revision(s) (requested by martin in ticket #693):
usr.sbin/sysinst/arch/x68k/msg.md.en: revision 1.2
usr.sbin/sysinst/arch/x68k/md.c: revision 1.10
usr.sbin/sysinst/arch/mvme68k/msg.md.fr: revision 1.2
usr.sbin/sysinst/arch/x68k/msg.md.en: revision 1.3
usr.sbin/sysinst/arch/mvme68k/msg.md.fr: revision 1.3
usr.sbin/sysinst/msg.mi.en: revision 1.28
usr.sbin/sysinst/arch/hp300/md.c: revision 1.10
usr.sbin/sysinst/msg.mi.es: revision 1.22
usr.sbin/sysinst/target.c: revision 1.12
usr.sbin/sysinst/arch/mvme68k/md.c: revision 1.10
usr.sbin/sysinst/arch/i386/md.c: revision 1.30
usr.sbin/sysinst/arch/mvme68k/msg.md.pl: revision 1.2
usr.sbin/sysinst/arch/mvme68k/msg.md.pl: revision 1.3
usr.sbin/sysinst/bsddisklabel.c: revision 1.39
usr.sbin/sysinst/arch/mvme68k/msg.md.de: revision 1.2
usr.sbin/sysinst/arch/mac68k/md.c: revision 1.9
usr.sbin/sysinst/disklabel.c: revision 1.35
usr.sbin/sysinst/arch/mvme68k/msg.md.de: revision 1.3
usr.sbin/sysinst/defs.h: revision 1.55
usr.sbin/sysinst/disks.c: revision 1.63
usr.sbin/sysinst/disks.c: revision 1.64
usr.sbin/sysinst/mbr.c: revision 1.31
usr.sbin/sysinst/disks.c: revision 1.65
usr.sbin/sysinst/txtwalk.c: revision 1.3
usr.sbin/sysinst/txtwalk.c: revision 1.4
usr.sbin/sysinst/arch/mvme68k/msg.md.en: revision 1.2
usr.sbin/sysinst/arch/mvme68k/msg.md.en: revision 1.3
usr.sbin/sysinst/msg.mi.fr: revision 1.26
usr.sbin/sysinst/msg.mi.pl: revision 1.29
usr.sbin/sysinst/arch/mvme68k/msg.md.es: revision 1.2
usr.sbin/sysinst/upgrade.c: revision 1.15
usr.sbin/sysinst/arch/mvme68k/msg.md.es: revision 1.3
usr.sbin/sysinst/upgrade.c: revision 1.16
usr.sbin/sysinst/partman.c: revision 1.50
usr.sbin/sysinst/msg.mi.de: revision 1.21
remove unused "emptypart" message (or moved to ifdef notyet area)
PR install/54921: message "ordering" takes a %s argument.
PR install/54921: skip non-user partitions when checking for overlaps
bootxx_name() - fix oversight in previous change (do not assume first
partition is the root partition)
PR install/54934: always use -f on the installboot invocation. We come
here post-newfs (and maybe should have dd'd zeros to the start of the
disk before newfs instead).
Remove a bogus assert: when reading disklabel partitions and the outer
(MBR) partitioning has changed, but the changes have not yet been written
back to disk, we need to ignore the kernels idea of the disklabel and
instead continue with an empty one.
Deal with partitioning schemes having no inner counterpart.
Avoid NULL derefs.
Do not assum a partitioning scheme that supports innner partitions always
needs to actually have such partitions defined.
PR bin/54944: deal with escaped spaces in NAME= syntax in /etc/fstab.
PR bin/54944: explicitly reject GPT protective MBRs.
PR bin/54944: make the "explicit single wedge" selection also work for
upgrades.
Reformat a query to add an automatically detected swap partition
so it fits on narrow screens.
Make re-install sets also work for an explicit selected root wedge
Fix copy&pasto in previous - from kre.
Only a single partition can ever have the "extend" flag (grow to available
size).
Do not use -P for tar extractions - the in tree tar has been fixed.
Finish conversion to generic partitioning backend
 1.19.2.7 28-Jan-2020  msaitoh Pull up following revision(s) (requested by martin in ticket #668):
usr.sbin/sysinst/arch/cobalt/md.c: revision 1.11
usr.sbin/sysinst/arch/cobalt/md.c: revision 1.12
usr.sbin/sysinst/arch/arc/md.c: revision 1.11
usr.sbin/sysinst/arch/arc/md.c: revision 1.12
usr.sbin/sysinst/partman.c: revision 1.43
usr.sbin/sysinst/partman.c: revision 1.46
usr.sbin/sysinst/partman.c: revision 1.47
usr.sbin/sysinst/partman.c: revision 1.48
usr.sbin/sysinst/partman.c: revision 1.49
usr.sbin/sysinst/msg.pm.fr: revision 1.2
usr.sbin/sysinst/upgrade.c: revision 1.14
usr.sbin/sysinst/arch/i386/md.c: revision 1.28
usr.sbin/sysinst/arch/i386/md.c: revision 1.29
usr.sbin/sysinst/arch/ofppc/md.c: revision 1.9
usr.sbin/sysinst/arch/sandpoint/md.c: revision 1.7
usr.sbin/sysinst/arch/sandpoint/md.c: revision 1.8
usr.sbin/sysinst/gpt.c: revision 1.14
usr.sbin/sysinst/gpt.c: revision 1.15
usr.sbin/sysinst/arch/luna68k/md.c: revision 1.8
usr.sbin/sysinst/gpt.c: revision 1.16
usr.sbin/sysinst/msg.pm.de: revision 1.2
usr.sbin/sysinst/arch/evbarm/md.c: revision 1.11
usr.sbin/sysinst/arch/evbarm/md.c: revision 1.12
usr.sbin/sysinst/arch/evbarm/md.c: revision 1.13
usr.sbin/sysinst/arch/evbarm/md.c: revision 1.14
usr.sbin/sysinst/sizemultname.c: revision 1.4
usr.sbin/sysinst/msg.pm.en: revision 1.2
usr.sbin/sysinst/arch/landisk/md.c: revision 1.12
usr.sbin/sysinst/util.c: revision 1.41
usr.sbin/sysinst/arch/landisk/md.c: revision 1.13
usr.sbin/sysinst/util.c: revision 1.42
usr.sbin/sysinst/arch/ofppc/md.c: revision 1.10
usr.sbin/sysinst/partitions.c: revision 1.9
usr.sbin/sysinst/arch/evbarm/md.h: revision 1.4
usr.sbin/sysinst/arch/evbarm/md.h: revision 1.5
usr.sbin/sysinst/arch/evbmips/md.c: revision 1.7
usr.sbin/sysinst/arch/evbmips/md.c: revision 1.8
usr.sbin/sysinst/msg.mi.fr: revision 1.25
usr.sbin/sysinst/msg.mi.de: revision 1.20
usr.sbin/sysinst/install.c: revision 1.14
usr.sbin/sysinst/partitions.h: revision 1.13
usr.sbin/sysinst/partitions.h: revision 1.14
usr.sbin/sysinst/arch/evbppc/md.c: revision 1.7
usr.sbin/sysinst/arch/playstation2/md.c: revision 1.7
usr.sbin/sysinst/msg.mi.en: revision 1.27
usr.sbin/sysinst/partitions.h: revision 1.15
usr.sbin/sysinst/arch/evbppc/md.c: revision 1.8
usr.sbin/sysinst/arch/hpcarm/md.c: revision 1.7
usr.sbin/sysinst/arch/playstation2/md.c: revision 1.8
usr.sbin/sysinst/msg.pm.pl: revision 1.2
usr.sbin/sysinst/arch/hpcarm/md.c: revision 1.8
usr.sbin/sysinst/msg.mi.es: revision 1.21
usr.sbin/sysinst/arch/zaurus/md.c: revision 1.7
usr.sbin/sysinst/target.c: revision 1.11
usr.sbin/sysinst/arch/zaurus/md.c: revision 1.8
usr.sbin/sysinst/part_edit.c: revision 1.14
usr.sbin/sysinst/part_edit.c: revision 1.15
usr.sbin/sysinst/part_edit.c: revision 1.16
usr.sbin/sysinst/defs.h: revision 1.50
usr.sbin/sysinst/defs.h: revision 1.51
usr.sbin/sysinst/defs.h: revision 1.52
usr.sbin/sysinst/defs.h: revision 1.53
usr.sbin/sysinst/defs.h: revision 1.54
usr.sbin/sysinst/arch/hpcmips/md.c: revision 1.7
usr.sbin/sysinst/arch/hpcmips/md.c: revision 1.8
usr.sbin/sysinst/arch/hpcsh/md.c: revision 1.8
usr.sbin/sysinst/msg.pm.es: revision 1.2
usr.sbin/sysinst/arch/hpcsh/md.c: revision 1.9
usr.sbin/sysinst/label.c: revision 1.18
usr.sbin/sysinst/label.c: revision 1.19
usr.sbin/sysinst/net.c: revision 1.35
usr.sbin/sysinst/msg.mi.pl: revision 1.28
usr.sbin/sysinst/disklabel.c: revision 1.28
usr.sbin/sysinst/disklabel.c: revision 1.29
usr.sbin/sysinst/mbr.c: revision 1.24
usr.sbin/sysinst/disks.c: revision 1.59
usr.sbin/sysinst/mbr.c: revision 1.25
usr.sbin/sysinst/mbr.c: revision 1.26
usr.sbin/sysinst/mbr.c: revision 1.27
usr.sbin/sysinst/mbr.c: revision 1.28
usr.sbin/sysinst/label.c: revision 1.20
usr.sbin/sysinst/mbr.c: revision 1.29
usr.sbin/sysinst/bsddisklabel.c: revision 1.34
usr.sbin/sysinst/bsddisklabel.c: revision 1.35
usr.sbin/sysinst/bsddisklabel.c: revision 1.36
usr.sbin/sysinst/bsddisklabel.c: revision 1.37
usr.sbin/sysinst/disklabel.c: revision 1.30
usr.sbin/sysinst/bsddisklabel.c: revision 1.38
usr.sbin/sysinst/disklabel.c: revision 1.31
usr.sbin/sysinst/disklabel.c: revision 1.32
usr.sbin/sysinst/disklabel.c: revision 1.33
usr.sbin/sysinst/disklabel.c: revision 1.34
usr.sbin/sysinst/disks.c: revision 1.60
usr.sbin/sysinst/disks.c: revision 1.61
usr.sbin/sysinst/arch/bebox/md.c: revision 1.7
usr.sbin/sysinst/disks.c: revision 1.62
usr.sbin/sysinst/arch/bebox/md.c: revision 1.8
usr.sbin/sysinst/mbr.c: revision 1.30
usr.sbin/sysinst/partitions.c: revision 1.10
usr.sbin/sysinst/arch/prep/md.c: revision 1.11
usr.sbin/sysinst/arch/prep/md.c: revision 1.12
usr.sbin/sysinst/menus.pm: revision 1.3
usr.sbin/sysinst/main.c: revision 1.20
usr.sbin/sysinst/menus.mi: revision 1.20
usr.sbin/sysinst/menus.mi: revision 1.21
avoid calling snprintf/strlcat with an input parameter the same
as the output. from martin@. fixes gcc 8 restrict warnings.
Finish conversion of extended partitioning parts to new abstract
backend interface. XXX still could use a lot of polishing.
Instead of a (bogus) attempt to query the model via ofctl, use the (now
fixed) sysctl hw.model instead.
When reading the secondary disklabel partitions from an existing disklabel
set the mbr partitions as parent.
Move the LABELSECTOR check and make it FS type specific - some partition
types (FFS, RAID) are allowed to overlap with the LABELSECTOR.
When asked to create a whole-disk partition for unknown usage, do not only
assert(false), but actually return an error (in case "assert" is a nop).
PR install/54787: when trying to derive proper alignement and first offset
from exisiting partitions, use the first partition offset if it is already
closer to the start of the disk than the prefered alignment - we can not
move existing partitions around.
Fix handling of inner/outer partitions (e.g. MBR and disklabel) in
extended partitioning:
- when editing a disk with such a schme, offer both partitions in two
steps
- when commiting changes save the inner partitions after the outer ones
Add a method to query the partitioning schemes "internal idea" of a
cylinder size - whatever that means in the real world.
Avoid using the global "pm" variable in utility functions - during
extended partitioning they may point to a different device.
Remove useless calls to get_ramsize() - return value is ignored and
the function has no side effects.
Fix /tmp tmpfs handling and on machines with enough RAM default to
creating a /tmp tmpfs with 25% of ram size limit. Suggested by ad@.
PR install/54872: fix printf argument order, sectors and heads were
swapped in the bios geometry display.
First try to bring evbarm installation closer to current reality.
hide disklabel_non_bootable() under NO_DISKLABEL_BOOT like the usage.
should fix most builds.
Deal with even stranger fictious empty disklabels (PR kern/54882).
Factor out all RAM size thresholds as defines to avoid magic numbers.
To work around PR misc/54886 bump the threshold for a tmpfs /tmp mount
up to 256 MB.
When retrying sets during extraction, reset the relevant statistics
to avoid counting retried sets multiple times.
Reported by kim.
Fix support for non-512-byte/sector disks again after I broke it when
introducing the abstract partition backends.
Use a few strlcpy() instead of strncpy() for network ioctl structs.
We seem to have no formal documentation stating the various
char if*_name[IFNAMSIZ]; /* if name, e.g. "en0" */
elements in ioctls are nul terminated, but the peanut gallery claims
it is so - and at least half of the code in-tree touching them agrees.
Too much disklabel magic happening in the kernel - to compensate force
MBR first when trying to identify the existing partitioning scheme of
a disk.
 1.19.2.6 17-Dec-2019  msaitoh Pull up following revision(s) (requested by martin in ticket #560):
usr.sbin/sysinst/partitions.h: revision 1.11
usr.sbin/sysinst/defs.h: revision 1.49
usr.sbin/sysinst/mbr.c: revision 1.23
usr.sbin/sysinst/msg.mi.en: revision 1.26
usr.sbin/sysinst/disks.c: revision 1.58
usr.sbin/sysinst/arch/evbarm/menus.md.pl: revision 1.2
usr.sbin/sysinst/msg.mi.es: revision 1.20
usr.sbin/sysinst/arch/mvme68k/md.c: revision 1.9
usr.sbin/sysinst/gpt.c: revision 1.13
usr.sbin/sysinst/arch/evbarm/md.c: revision 1.10
usr.sbin/sysinst/arch/arc/md.c: revision 1.10
usr.sbin/sysinst/disklabel.c: revision 1.18
usr.sbin/sysinst/bsddisklabel.c: revision 1.33
usr.sbin/sysinst/disklabel.c: revision 1.19
usr.sbin/sysinst/main.c: revision 1.19
usr.sbin/sysinst/partman.c: revision 1.45
usr.sbin/sysinst/arch/alpha/md.c: revision 1.7
usr.sbin/sysinst/msg.mi.de: revision 1.19
usr.sbin/sysinst/arch/evbarm/menus.md.en: revision 1.2
usr.sbin/sysinst/arch/x68k/md.h: revision 1.4
usr.sbin/sysinst/arch/x68k/md.c: revision 1.9
usr.sbin/sysinst/arch/evbarm/menus.md.es: revision 1.2
usr.sbin/sysinst/wskbd.c: revision 1.4
usr.sbin/sysinst/label.c: revision 1.15
usr.sbin/sysinst/arch/amiga/md.h: revision 1.5
usr.sbin/sysinst/label.c: revision 1.16
usr.sbin/sysinst/arch/hp300/md.c: revision 1.9
usr.sbin/sysinst/arch/emips/md.c: revision 1.8
usr.sbin/sysinst/label.c: revision 1.17
usr.sbin/sysinst/arch/pmax/md.c: revision 1.7
usr.sbin/sysinst/partitions.c: revision 1.6
usr.sbin/sysinst/arch/prep/md.c: revision 1.10
usr.sbin/sysinst/arch/mipsco/md.c: revision 1.7
usr.sbin/sysinst/partitions.c: revision 1.7
usr.sbin/sysinst/partitions.c: revision 1.8
usr.sbin/sysinst/arch/ews4800mips/md.c: revision 1.5
usr.sbin/sysinst/disklabel.c: revision 1.20
usr.sbin/sysinst/arch/evbarm/menus.md.fr: revision 1.2
usr.sbin/sysinst/msg.mi.fr: revision 1.24
usr.sbin/sysinst/disklabel.c: revision 1.21
usr.sbin/sysinst/partitions.h: revision 1.9
usr.sbin/sysinst/msg.mi.pl: revision 1.27
usr.sbin/sysinst/disklabel.c: revision 1.22
usr.sbin/sysinst/disklabel.c: revision 1.23
usr.sbin/sysinst/arch/i386/md.c: revision 1.27
usr.sbin/sysinst/disklabel.c: revision 1.24
usr.sbin/sysinst/disklabel.c: revision 1.25
usr.sbin/sysinst/arch/cobalt/md.h: revision 1.5
usr.sbin/sysinst/disklabel.c: revision 1.26
usr.sbin/sysinst/disklabel.c: revision 1.27
usr.sbin/sysinst/partitions.h: revision 1.10
usr.sbin/sysinst/arch/cobalt/md.c: revision 1.10
PR install/54582: allow MD code to disable on-disk presence verification
of "real" disklabels. Auto-enable this (at run time) when there is no other
partitioning scheme but disklabel configured.
Hard-coded enable this for x68k to allow using kernel based translations
for native Human68k partitions.
Get rid of the evbarm preliminary menu: do not bother to ask the user
whether this is a RPi - query the FDT instead.
PR 54065: add optional "old compat" variant of ext2fs in file system
type selection and use that as default for the cobalt boot file system.
For now rely on the kernel mapping native RDB partitions.
Fix detection of existing disklabels in the case when we only have
the disklabel partitioning scheme available.
Fix DISKLABEL_NO_ONDISK_VERIFY (accidently disabled in previous)
Fix inverted comparison
Do not try to change the keyboard layout if we are not running on the
console.
When trying to tell a fictious but empty label from a real one, skip
partition a if it has the same start and size as the raw partition.
Remove bogus assert.
When finding (paritioning scheme native) partition types for file systems
from our install description, pass the partition type (not only the file
system type). Sometimes (e.g. EFI boot partition on GPT) the filesystem
type (MSDOS) is not a unique selector.
Adapt MD parts to changes in get_fs_part_type (pass partition type).
If a fictious label has no RAW_PART assume there is no valid disk label.
Pass proper track size when initializing the default alignment - this is
important with sunlabels.
Fix overlapping partitions display
Reject (what we consider) empty/invalid fake disklabels no matter whether
we have other partitioning schemes available or not.
Do not show disklabel command invocation by default (only if there are
errors).
After installing boot blocks with RUN_NO_CLEAR (and handling the
potential errors) make sure to clear the stdscreen.
 1.19.2.5 17-Nov-2019  msaitoh Pull up following revision(s) (requested by martin in ticket #436):
usr.sbin/sysinst/disks.c: revision 1.55
usr.sbin/sysinst/msg.mi.en: revision 1.24
usr.sbin/sysinst/mbr.c: revision 1.22
usr.sbin/sysinst/disks.c: revision 1.56
usr.sbin/sysinst/msg.mi.en: revision 1.25
usr.sbin/sysinst/disks.c: revision 1.57
usr.sbin/sysinst/arch/playstation2/msg.md.pl: revision 1.3
usr.sbin/sysinst/Makefile.inc: revision 1.30
usr.sbin/sysinst/configmenu.c: revision 1.11
usr.sbin/sysinst/util.c: revision 1.35
usr.sbin/sysinst/gpt.c: revision 1.12
usr.sbin/sysinst/util.c: revision 1.36
usr.sbin/sysinst/arch/playstation2/msg.md.de: revision 1.3
usr.sbin/sysinst/arch/i386/menus.md: revision 1.3
usr.sbin/sysinst/util.c: revision 1.37
usr.sbin/sysinst/part_edit.c: revision 1.11
usr.sbin/sysinst/arch/i386/msg.md.en: revision 1.2
usr.sbin/sysinst/util.c: revision 1.38
usr.sbin/sysinst/part_edit.c: revision 1.12
usr.sbin/sysinst/arch/i386/msg.md.en: revision 1.3
usr.sbin/sysinst/util.c: revision 1.39
usr.sbin/sysinst/part_edit.c: revision 1.13
usr.sbin/sysinst/arch/i386/msg.md.en: revision 1.4
usr.sbin/sysinst/disklabel.c: revision 1.15
usr.sbin/sysinst/bsddisklabel.c: revision 1.30
usr.sbin/sysinst/arch/i386/msg.md.es: revision 1.2
usr.sbin/sysinst/bsddisklabel.c: revision 1.31
usr.sbin/sysinst/arch/i386/msg.md.es: revision 1.3
usr.sbin/sysinst/arch/i386/msg.md.es: revision 1.4
usr.sbin/sysinst/mbr.h: revision 1.4
usr.sbin/sysinst/main.c: revision 1.18
usr.sbin/sysinst/partman.c: revision 1.44
usr.sbin/sysinst/msg.mi.de: revision 1.17
usr.sbin/sysinst/arch/i386/msg.md.fr: revision 1.2
usr.sbin/sysinst/msg.mi.de: revision 1.18
usr.sbin/sysinst/arch/i386/msg.md.fr: revision 1.3
usr.sbin/sysinst/arch/playstation2/msg.md.en: revision 1.3
usr.sbin/sysinst/arch/i386/msg.md.fr: revision 1.4
usr.sbin/sysinst/arch/amd64/md.c: revision 1.2
usr.sbin/sysinst/arch/ews4800mips/Makefile: revision 1.3
usr.sbin/sysinst/arch/playstation2/msg.md.es: revision 1.3
usr.sbin/sysinst/label.c: revision 1.13
usr.sbin/sysinst/Makefile.inc: revision 1.29
usr.sbin/sysinst/label.c: revision 1.14
usr.sbin/sysinst/util.c: revision 1.40
usr.sbin/sysinst/partitions.c: revision 1.5
usr.sbin/sysinst/arch/amd64/md.h: revision 1.8
usr.sbin/sysinst/msg.mi.es: revision 1.18
usr.sbin/sysinst/net.c: revision 1.34
usr.sbin/sysinst/msg.mi.es: revision 1.19
usr.sbin/sysinst/arch/i386/msg.md.pl: revision 1.2
usr.sbin/sysinst/arch/i386/md.c: revision 1.22
usr.sbin/sysinst/msg.mi.fr: revision 1.22
usr.sbin/sysinst/arch/playstation2/msg.md.fr: revision 1.3
usr.sbin/sysinst/arch/i386/msg.md.pl: revision 1.3
usr.sbin/sysinst/arch/i386/md.c: revision 1.23
usr.sbin/sysinst/msg.mi.pl: revision 1.25
usr.sbin/sysinst/msg.mi.fr: revision 1.23
usr.sbin/sysinst/arch/i386/msg.md.pl: revision 1.4
usr.sbin/sysinst/arch/i386/md.c: revision 1.24
usr.sbin/sysinst/partitions.h: revision 1.8
usr.sbin/sysinst/msg.mi.pl: revision 1.26
usr.sbin/sysinst/arch/i386/msg.md.de: revision 1.2
usr.sbin/sysinst/arch/i386/msg.md.de: revision 1.3
usr.sbin/sysinst/arch/i386/msg.md.de: revision 1.4
usr.sbin/sysinst/run.c: revision 1.13
usr.sbin/sysinst/defs.h: revision 1.46
usr.sbin/sysinst/install.c: revision 1.12
usr.sbin/sysinst/defs.h: revision 1.47
usr.sbin/sysinst/install.c: revision 1.13
usr.sbin/sysinst/defs.h: revision 1.48
Add options to the various partitioning stages that allow cloning of
alien partitions (optionally including data).
PR 54467: we trust our own sets, extract them with -P to allow symlink
redirection (especially for updates and chroot services - back out
once a better solution for those is implemented)
Make cloning support optional, so we can save some space on very small
install media.
Drop MBR and cloning support on crunched install media.
Make tar extraction flags depend on our usage of pax-as-tar or bsdtar.
Fix missing newlines in bios match display, pointed out by maxv.
Drop unused variable.
Fix table of bios geomatries
knf style adjustments
Make the bootblock selection menu more sane, pointed out by maxv
Make sure all menus have a translatable exit option (or none at all).
On amd64 support installation with a KASLR kernel, via "custom install"
and selecting the GENERIC_KASLR kernel set.
Setup /prekern and boot.cfg accordingly.
 1.19.2.4 17-Nov-2019  martin Pull up following revision(s) (requested by maya in ticket #435):

distrib/sets/maketars: revision 1.90
usr.sbin/sysinst/arch/playstation2/md.h: revision 1.2
usr.sbin/sysinst/arch/sandpoint/md.h: revision 1.3
usr.sbin/sysinst/arch/evbppc/md.h: revision 1.3
usr.sbin/sysinst/arch/hpcarm/md.h: revision 1.3
usr.sbin/sysinst/arch/mvme68k/md.h: revision 1.3
distrib/sun3/MakeInstTape: revision 1.3
usr.sbin/sysinst/util.c: revision 1.33
distrib/sets/lists/rescue/mi: revision 1.1
distrib/sets/lists/base/rescue.sun2: file removal
usr.sbin/sysinst/arch/zaurus/md.h: revision 1.3
distrib/sets/lists/base/rescue.ad.m68k.shl: file removal
distrib/sets/regpkgset: revision 1.13
usr.sbin/sysinst/arch/i386/md.h: revision 1.7
distrib/sets/lists/base/rescue.sparc: file removal
distrib/notes/mvme68k/xfer: revision 1.19
distrib/sets/sets.subr: revision 1.187
distrib/common/bootimage/Makefile.bootimage: revision 1.22
usr.sbin/sysinst/msg.mi.de: revision 1.16
usr.sbin/sysinst/arch/atari/md.h: revision 1.3
rescue/Makefile: revision 1.38
distrib/sets/lists/base/rescue.macppc: file removal
usr.sbin/sysinst/arch/arc/md.h: revision 1.4
distrib/miniroot/install.sub: revision 1.49
usr.sbin/sysinst/arch/acorn32/md.h: revision 1.3
usr.sbin/sysinst/arch/x68k/md.h: revision 1.3
usr.sbin/sysinst/arch/hpcmips/md.h: revision 1.3
usr.sbin/sysinst/arch/bebox/md.h: revision 1.3
usr.sbin/sysinst/arch/hpcsh/md.h: revision 1.2
distrib/sets/lists/base/rescue.shark: file removal
usr.sbin/sysinst/arch/emips/md.h: revision 1.5
distrib/utils/embedded/mkimage: revision 1.70
usr.sbin/sysinst/arch/shark/md.h: revision 1.3
usr.sbin/sysinst/arch/pmax/md.h: revision 1.4
usr.sbin/sysinst/arch/amiga/md.h: revision 1.4
usr.sbin/sysinst/arch/hp300/md.h: revision 1.5
rescue/list.ldconfig: file removal
distrib/sets/lists/base/rescue.ad.m68k: file removal
usr.sbin/sysinst/arch/prep/md.h: revision 1.4
usr.sbin/sysinst/arch/cats/md.h: revision 1.4
usr.sbin/sysinst/arch/amd64/md.h: revision 1.7
usr.sbin/sysinst/msg.mi.es: revision 1.17
usr.sbin/sysinst/msg.mi.fr: revision 1.20
usr.sbin/sysinst/msg.mi.pl: revision 1.23
distrib/sets/lists/base/rescue.i386: file removal
usr.sbin/sysinst/arch/evbarm/md.h: revision 1.3
distrib/sets/lists/base/rescue.vax: file removal
distrib/amd64/uefi-installimage/Makefile.bootimage: revision 1.12
usr.sbin/sysinst/arch/evbmips/md.h: revision 1.3
distrib/sets/lists/base/rescue.mi: file removal
distrib/sets/README: revision 1.14
usr.sbin/sysinst/arch/sgimips/md.h: revision 1.4
distrib/sets/lists/base/rescue.sparc64: file removal
distrib/sets/lists/base/rescue.mi: revision 1.45
distrib/sets/lists/base/rescue.mi: revision 1.46
usr.sbin/sysinst/arch/ofppc/md.h: revision 1.4
usr.sbin/sysinst/arch/cobalt/md.h: revision 1.4
distrib/sets/lists/base/rescue.ad.arm: file removal
distrib/sets/lists/base/rescue.mac68k: file removal
usr.sbin/sysinst/defs.h: revision 1.45
usr.sbin/sysinst/arch/landisk/md.h: revision 1.2
distrib/notes/atari/xfer: revision 1.17
etc/Makefile: revision 1.441
usr.sbin/sysinst/msg.mi.en: revision 1.22
distrib/sun2/MakeInstTape: revision 1.2

Remove ldconfig from /rescue, and mark it MI obsolete.
- ldconfig in netbsd refers to a.out binaries only. We've been ELF-only
since NetBSD 2.0 or so, and having it in /rescue served little purpose
even before that, as /rescue is standalone.
- Using MI obsolete to avoid the need for MD set lists where ldconfig
is the sole entry

Mark /rescue/edlabel as MI-obsolete, so we can remove all remaining MD
rescue set list files.

Split out /rescue to its own set and adapt installers/images to add it.

This is meant to make updates safer: if something goes wrong with updating
base, we still have the old, standalone /rescue to recover from.
 1.19.2.3 23-Oct-2019  msaitoh Pull up following revision(s) (requested by martin in ticket #363):
usr.sbin/sysinst/msg.mi.en: revision 1.23
usr.sbin/sysinst/msg.mi.fr: revision 1.21
Sentence begins with capital letter ("yes or no?"). Also add a few french
sentences, to make it less awful, but not complete. Not tested.
 1.19.2.2 18-Aug-2019  msaitoh Pull up following revision(s) (requested by martin in ticket #82):
usr.sbin/sysinst/util.c: revision 1.30
usr.sbin/sysinst/msg.mi.fr: revision 1.19
usr.sbin/sysinst/msg.mi.de: revision 1.15
usr.sbin/sysinst/msg.mi.es: revision 1.16
usr.sbin/sysinst/msg.mi.pl: revision 1.22
usr.sbin/sysinst/msg.mi.en: revision 1.21
PR 54473: fix error prompt when a set file is missing
 1.19.2.1 18-Aug-2019  msaitoh Pull up following revision(s) (requested by martin in ticket #78):
usr.sbin/sysinst/gpt.c: revision 1.10
usr.sbin/sysinst/disklabel.c: revision 1.12
usr.sbin/sysinst/msg.mi.fr: revision 1.18
usr.sbin/sysinst/msg.mi.de: revision 1.14
usr.sbin/sysinst/partitions.c: revision 1.2
usr.sbin/sysinst/msg.mi.es: revision 1.15
usr.sbin/sysinst/msg.mi.pl: revision 1.21
usr.sbin/sysinst/partitions.h: revision 1.6
usr.sbin/sysinst/msg.mi.en: revision 1.20
usr.sbin/sysinst/mbr.c: revision 1.20
On architectures that usually do MBR/disklabel, nevertheless deal with
pure/plain disklabel disks, and explicitly offer this as partitioning
option when bootability is not a concern.
 1.46.2.2 03-Jul-2024  martin Pull up following revision(s) (requested by nia in ticket #731):

usr.sbin/sysinst/msg.mi.de: revision 1.49
usr.sbin/sysinst/msg.mi.de: revision 1.50
usr.sbin/sysinst/msg.mi.en: revision 1.52

sysinst(8): Note that leaving the network "media type" empty autoconfigures
sysinst: fix umlaut in German translation
 1.46.2.1 02-Nov-2023  sborrill Pull up the following revisions(s) (requested by martin in ticket #442):
usr.sbin/sysinst/label.c: revision 1.49
usr.sbin/sysinst/msg.mi.de: revision 1.44
usr.sbin/sysinst/msg.mi.en: revision 1.47
usr.sbin/sysinst/msg.mi.es: revision 1.40
usr.sbin/sysinst/msg.mi.fr: revision 1.45
usr.sbin/sysinst/msg.mi.pl: revision 1.46

Switch to "-" (single minus) as input denotation for "no mount point"
in all translations and adjust the code accordingly.
 1.52.2.1 02-Aug-2025  perseant Sync with HEAD
 1.44 25-Jul-2025  martin On install media where we can check trust anchors, offer explicit
download of sets via https.
 1.43 25-Apr-2024  hannken branches: 1.43.2;
Increase length of set description to 40 characters so recent additions fit.

Ok: martin@

Fixes PR install/58188 "sysinst fails to display status of base32 set"
 1.42 22-Apr-2024  nia Move MIPS N64 compat out of {base,debug}32 into {base,debug}64

martin requested separation by ABI and it doesn't make much sense
to have 64-bit binaries in a set called 32.
 1.41 09-Apr-2024  nia Add new sets: base32, debug32, manhtml

- base32 contains (when MKCOMPAT=yes) shared libraries for 32-bit
compatibility, previously included in base

- debug32 contains (when MKCOMPAT=yes) debug symbols and static libraries
containing debug symbols for 32-bit compatiblity, previously included
in debug

- manhtml contains (when MKHTML=yes) the HTML files previously included
in 'man', which are of limited utility without third-party software.

The motivation for this change is to be able to easily exclude sets
from CD-ROM images that go over the size limit without xz compression
(which many NetBSD platforms struggle to extract at acceptable speeds).
 1.40 31-Oct-2023  martin Switch to "-" (single minus) as input denotation for "no mount point"
in all translations and adjust the code accordingly.
Pointed out by Thierry Laronde.
 1.39 15-Dec-2022  martin branches: 1.39.2;
Add an (expert) option to manually edit partitions, inspired by PR 57100.
 1.38 30-Nov-2022  martin Add support for FFSv2ea in the partition type menus (internally setting
fs version to 3 for this, where 2 is FFSv2 and 1 is FFSv1)
 1.37 22-Jul-2022  christos Add a menu option to set the file extension of the downloaded sets.
amd64 sets are .tar.xz and sysinst fails by default.
 1.36 11-Jun-2022  martin Slightly improved error handling when converion from one partition table
format to another is not lossless.
 1.35 09-Jun-2022  martin Add support for explicitly selecting "EFI system partition" as a partition
type.
 1.34 18-May-2022  martin When not invoked via some explicit "configure network" menu item,
auto-detect an already working network setup and offer to "just use" it
whenver we need connectivity.
 1.33 16-May-2022  martin Split the available disks (that may be partitioned) from the
preconfigured wedges (that can be install target, but can not be
partitioned). The latter are only usefull in special setups
and clobber the list of available disks for the usual setup cases.
 1.32 21-Apr-2022  martin Make default installations a bit more secure:
- push a bit harder for setup of a root password
- simplify/clarify manual entropy setup
- visit the entropy setup (on machines where it is needed) on the
default path through sysinst
 1.31 10-Jan-2022  nia sysinst(8): Add initial support for connecting to Wi-Fi networks
by spawning wpa_supplicant.

Reviewed by martin.
 1.30 25-Sep-2021  maya Move DRM-driver firmware from base to its own set, gpufw

This set is only installed on amd64,i386,evbarm.
This set is installed on minimal installs and on install media, in
case someone needs it for basic driver functionality.

Comments:
Switched to a single MK tunable for it - that is probably unneeded.

An upcoming DRM update will include even fatter firmware, and we'd
like to minimize the impact of it.
 1.29 04-Nov-2020  martin Add (experimental) entropy input support:
Early during new installs or after upgrades we check if entropy is
available. If not (no hardware random number generator available)
we inform the user and ask them to fix it.
 1.28 27-Oct-2020  martin When we did not magically find any CD medium with sets, offer a manual
override (so ISO images on USB sticks or Xen's xbd(4) work).
 1.27 24-Oct-2020  martin When looking for available CD media, skip those that are already mounted.
When no medium with sets is found, show a new error message and return
to the source selection menu.
Rearrange all source option menus to have the proper set suffix
available (either .tgz or .tar.xz).
 1.26 13-Oct-2020  martin PR 55142: on popular demand bring back expert options to adjust the
number of free inodes, block size and fragment size for FFS and LFS.
 1.25 12-Oct-2020  martin PR 55536: when we find existing partition tables and have alternative
formats available, offer to delete partitions and create new ones from
scratch (in some other or the same on-disk format).
 1.24 26-May-2020  snj it's "its"
 1.23 18-May-2020  jmcneill Separate devicetree .dts -> .dtb building from kernel builds. They are now
part of a separate set, "dtb.tgz", and only built when MKDTB=yes. This
defaults to yes for earmv[67]* and aarch64, and no everywhere else.
 1.22 06-Feb-2020  martin Reformat a query to add an automatically detected swap partition
so it fits on narrow screens.
 1.21 09-Jan-2020  martin Finish conversion of extended partitioning parts to new abstract
backend interface. XXX still could use a lot of polishing.
 1.20 11-Dec-2019  martin PR 54065: add optional "old compat" variant of ext2fs in file system
type selection and use that as default for the cobalt boot file system.
 1.19 16-Nov-2019  martin Make sure all menus have a translatable exit option (or none at all).
 1.18 12-Nov-2019  martin Add options to the various partitioning stages that allow cloning of
alien partitions (optionally including data).
 1.17 02-Oct-2019  maya Split out /rescue to its own set and adapt installers/images to add it.

This is meant to make updates safer: if something goes wrong with updating
base, we still have the old, standalone /rescue to recover from.
 1.16 17-Aug-2019  martin PR 54473: fix error prompt when a set file is missing
 1.15 14-Aug-2019  martin On architectures that usually do MBR/disklabel, nevertheless deal with
pure/plain disklabel disks, and explicitly offer this as partitioning
option when bootability is not a concern.
 1.14 23-Jul-2019  martin branches: 1.14.2;
For upgrade / re-install allow the currently running system as a target
in the "disk" selection.
 1.13 21-Jun-2019  pgoyette Replicate change in .en as requested by martin@
 1.12 12-Jun-2019  martin Rework internal data structures and "interfaces to user interface" functions
to get rid of all disklabel assumptions.

Previously (even for GPT partitioning) struct disklabel was used, which
obviously breaks large disk setups. Also many MD parts and parts of the
user interface assumed (a) a struct disklabel is used internally to
store partitioning information and (b) partitions are named 'a' ... $MAXPART.

Get rid of this and replace it with a quite abstract interface that should
be able to deal with all variants in partition storage:

- partitions are stored in a (partly abstract) struct disk_partitions
and most parts of it are only accessed via accessor functions provided
by a "partitioning scheme".

- implement partitioning schemes for MBR, disklabel and GPT (with likely
RDB [amiga] and Apple Partition Map [mac*] to follow soon)

- partitioning schemes may be cascaded, e.g. on x86 when using MBR as
"outer partitions", we have disklabel as "inner partitions".

- all user interface goes via accessor functions in the partitioning scheme,
some of which return pointers to special user interface descriptors
(e.g. to allow editing partition flags, which are scheme specific)

Overall the user interface changes (in this initial step) are minimal but
noticable. A new Anita is needed for automatic test setups - many thanks
to Andreas Gustafsson for lots of early testing and a new Anita version,
and to Manuel Bouyer for cooperation and tests of the Anita release.

This work was sponsored by The NetBSD Foundation, Inc.
 1.11 10-Jan-2019  martin PR install/53857: make the pkgsrc menu wider, so the first column fits
in various translations. While there shorten some (misleading) text.
 1.10 15-Nov-2018  martin Make use of the new positional parameters to better describe the first
partitioning step. Remove size limits/hints encoded in the translations
and replace them by values from the code.
 1.9 03-Nov-2018  martin Remove "usage" translations - they never could be displayed as we only select
the language later.
Extend usage display a bit and sync with reality.
 1.8 11-Sep-2018  martin Split the host name used for ftp transfers from the one used for http
transfers. This is slightly inconsistent, as directories are still
shared - but this allows us to default to cdn/nycdn for http (which don't
support ftp).
 1.7 03-Jun-2018  martin branches: 1.7.2;
Add an option to install onto a pre-configured wedge.
Greatly simmplifies (U)EFI setups (but does not fully automate them yet).
 1.6 17-May-2015  martin branches: 1.6.8; 1.6.14;
Invert sense of a vnd creation message ("Create new image: Yes") and kill
the translations that I can't update myself.
 1.5 22-Sep-2014  roy Change the IPv6 DNS selection to use DNS selection and add the
Google Public V4 DNS servers to the list.
The other field can take an IPv4 or IPv6 name server of choice.
Fixes PR install/49231.
 1.4 13-Sep-2014  roy Change the display order so it's protocol agnostic at the top,
then IPv4 then IPv6.
 1.3 15-Aug-2014  jmcneill branches: 1.3.2;
remove trailing colon from "addusername" msg
 1.2 03-Aug-2014  martin branches: 1.2.2; 1.2.4;
(Finally) merge a slightly modified version of the 2012 GSoC results
from Eugene Lozovoy: add extended partitioning options to sysinst.
Still needs some testing and polishing, but it now is possible to use GPT
or to create a RAID set from scratch and install onto it.
 1.1 26-Jul-2014  dholland Move sysinst sources to usr.sbin.

This commit only physically moves the sources - there are no other
changes, to maximize the probability that this will be treated as a
rename if we ever do manage to migrate away from CVS.

Moving sysinst has been discussed on and off for years and has two
goals: making it easier to work on sysinst, and also making sysinst
available on running systems for use installing chroots and VM images
and other such things. None of the latter is possible yet, but as they
say, one thing at a time.

Doing this now was approved in an impromptu fashion by mrg, riz,
riastradh, me, and groo.
 1.2.4.3 14-May-2015  snj Pull up following revision(s) (requested by martin in ticket #759):
distrib/amd64/cdroms/Makefile.cdrom: revision 1.12
distrib/amd64/installimage/Makefile: revision 1.5
distrib/amd64/installimage/spec.inst: revision 1.2
distrib/common/10-resolv.conf: file removal
distrib/common/99-print-sysinst: file removal
distrib/common/Makefile.dhcpcd: revision 1.2
distrib/common/list.dhcpcd: revision 1.3
distrib/i386/cdroms/Makefile.cdrom: revision 1.32
distrib/i386/installimage/Makefile: revision 1.5
distrib/i386/installimage/spec.inst: revision 1.2
distrib/sparc64/cdroms/installcd/Makefile: revision 1.20
distrib/vax/cdroms/installcd/Makefile: revision 1.10
usr.sbin/sysinst/msg.mi.de: revision 1.4
usr.sbin/sysinst/msg.mi.en: revision 1.4
usr.sbin/sysinst/msg.mi.es: revision 1.4
usr.sbin/sysinst/msg.mi.fr: revision 1.4
usr.sbin/sysinst/msg.mi.pl: revision 1.4
usr.sbin/sysinst/net.c: revisions 1.5-1.8, 1.11-1.15
The dhcpcd utilties in pkgsrc require dhcpcd to be running in master mode.
So set dhcpcd to start like so, but restrict it to the configured interface
still instead of ifconfig_foo=dhcp.
--
Use the 20-resolv.conf hook from dhcpcd rather than the minimal one.
Extract configured information from resolv.conf and hostname instead
of scraping the last dhcpcd script run.
This will allow the use of DHCPv6 and IPv6RA DNS details in the future.
--
dhcpcd will already have configured the system at this point, so
don't bother writing it manually.
--
Don't prompt for hostname or domain if obtained from DHCP.
--
Change the display order so it's protocol agnostic at the top,
then IPv4 then IPv6.
--
Strip newline from the gateway correctly.
--
Show the IP6 address instead of yes
--
Fix a bogus gcc warning: dhcp_config may be used uninitialized
--
Punt custom dhcpcd hooks in favour up upstream hooks
--
For the benefit of gcc 4.5, rename a local "nl" variable to "nline",
so it doesn't collide with the global curses nl() function.
 1.2.4.2 13-May-2015  snj Pull up following revision(s) (requested by martin in ticket #754):
usr.sbin/sysinst/menus.mi: revision 1.6
usr.sbin/sysinst/msg.mi.de: revision 1.5
usr.sbin/sysinst/msg.mi.en: revision 1.5
usr.sbin/sysinst/msg.mi.es: revision 1.5
usr.sbin/sysinst/msg.mi.fr: revision 1.5
usr.sbin/sysinst/msg.mi.pl: revision 1.5
Change the IPv6 DNS selection to use DNS selection and add the
Google Public V4 DNS servers to the list.
The other field can take an IPv4 or IPv6 name server of choice.
Fixes PR install/49231.
 1.2.4.1 20-Jan-2015  martin Pull up following revision(s) (requested by jmcneill in ticket #435):
usr.sbin/sysinst/msg.mi.es: revision 1.3
usr.sbin/sysinst/msg.mi.en: revision 1.3
usr.sbin/sysinst/msg.mi.fr: revision 1.3
usr.sbin/sysinst/msg.mi.pl: revision 1.3
usr.sbin/sysinst/msg.mi.de: revision 1.3
remove trailing colon from "addusername" msg
 1.2.2.2 10-Aug-2014  tls Rebase.
 1.2.2.1 03-Aug-2014  tls file msg.mi.es was added on branch tls-earlyentropy on 2014-08-10 07:00:24 +0000
 1.3.2.2 20-Aug-2014  tls Rebase to HEAD as of a few days ago.
 1.3.2.1 15-Aug-2014  tls file msg.mi.es was added on branch tls-maxphys on 2014-08-20 00:05:13 +0000
 1.6.14.4 18-Jan-2019  pgoyette Synch with HEAD
 1.6.14.3 26-Nov-2018  pgoyette Sync with HEAD, resolve a couple of conflicts
 1.6.14.2 30-Sep-2018  pgoyette Ssync with HEAD
 1.6.14.1 25-Jun-2018  pgoyette Sync with HEAD
 1.6.8.1 05-Jun-2018  bouyer Pull up following revision(s) (requested by martin in ticket #860):
usr.sbin/sysinst/msg.mi.de: revision 1.7
usr.sbin/sysinst/arch/i386/md.c: revision 1.10
usr.sbin/sysinst/msg.mi.fr: revision 1.10
usr.sbin/sysinst/arch/i386/md.c: revision 1.11
usr.sbin/sysinst/menus.mi: revision 1.13
usr.sbin/sysinst/arch/i386/md.c: revision 1.9
usr.sbin/sysinst/msg.mi.es: revision 1.7
usr.sbin/sysinst/msg.mi.en: revision 1.11
usr.sbin/sysinst/mbr.c: revision 1.6
usr.sbin/sysinst/disks.c: revision 1.15
usr.sbin/sysinst/bsddisklabel.c: revision 1.4
usr.sbin/sysinst/disks.c: revision 1.16
usr.sbin/sysinst/msg.mi.pl: revision 1.9
usr.sbin/sysinst/defs.h: revision 1.11
Add an option to install onto a pre-configured wedge.
Greatly simmplifies (U)EFI setups (but does not fully automate them yet).
In the generated /etc/fstab, do not use the (temporary, during sysinst)
path name for the file in the comment, but instead the one it will
have on the target system.
Reorder fetch options: http before ftp
Default console device and speed to that used by syinst
add missing brace.
 1.7.2.2 13-Apr-2020  martin Mostly merge changes from HEAD upto 20200411
 1.7.2.1 10-Jun-2019  christos Sync with HEAD
 1.14.2.10 20-Jan-2022  martin Pull up following revision(s) (requested by nia in ticket #1406):

usr.sbin/sysinst/net.c: revision 1.40
usr.sbin/sysinst/msg.mi.pl: revision 1.37
usr.sbin/sysinst/msg.mi.fr: revision 1.36
usr.sbin/sysinst/msg.mi.de: revision 1.35
usr.sbin/sysinst/msg.mi.en: revision 1.37
usr.sbin/sysinst/net.c: revision 1.37
usr.sbin/sysinst/net.c: revision 1.38
usr.sbin/sysinst/msg.mi.es: revision 1.31
usr.sbin/sysinst/net.c: revision 1.39

sysinst(8): Add initial support for connecting to Wi-Fi networks
by spawning wpa_supplicant.
Reviewed by martin.

sysinst(8): Avoid asking Wi-Fi questions about non-Wi-Fi devices.

sysinst(8): Add a "data" argument to do_ifreq that is set after the
ifr struct is zeroed.

This allows us to simplify the code by not having 2x socket creation
code for checking whether interfaces are wireless.
sysinst(8): use scan_ssid=1 so hidden wifi networks can be used
 1.14.2.9 05-Nov-2020  sborrill Pull up the following revisions(s) (requested by martin in ticket #1121):
usr.sbin/sysinst/menus.mi: revision 1.22-1.23
usr.sbin/sysinst/msg.mi.de: revision 1.25-1.26
usr.sbin/sysinst/msg.mi.en: revision 1.33-1.34
usr.sbin/sysinst/msg.mi.pl: revision 1.33-1.34
usr.sbin/sysinst/msg.mi.es: revision 1.27-1.28
usr.sbin/sysinst/msg.mi.fr: revision 1.32-1.33
usr.sbin/sysinst/util.c: revision 1.49-1.52

- When looking for available CD media, skip those that are already mounted.
- When no medium with sets is found, show a new error message and return
to the source selection menu.
- Rearrange all source option menus to have the proper set suffix available
(either .tgz or .tar.xz).
- Relax an assertion, the first getvfsstat() call may overestimate the file
systems visible to us. Fixes PR 55752
- When we did not magically find any CD medium with sets, offer a manual
override (so ISO images on USB sticks or Xen's xbd(4) work).
 1.14.2.8 15-Oct-2020  bouyer Pull up following revision(s) (requested by martin in ticket #1113):
usr.sbin/sysinst/bsddisklabel.c: revision 1.46
usr.sbin/sysinst/bsddisklabel.c: revision 1.47
usr.sbin/sysinst/disklabel.c: revision 1.40
usr.sbin/sysinst/arch/cobalt/md.c: revision 1.13
usr.sbin/sysinst/bsddisklabel.c: revision 1.48
usr.sbin/sysinst/disklabel.c: revision 1.41
usr.sbin/sysinst/arch/cobalt/md.c: revision 1.14
usr.sbin/sysinst/bsddisklabel.c: revision 1.49
usr.sbin/sysinst/disklabel.c: revision 1.42
usr.sbin/sysinst/Makefile.inc: revision 1.34
usr.sbin/sysinst/disks.c: revision 1.70
usr.sbin/sysinst/arch/hp300/md.c: revision 1.11
usr.sbin/sysinst/disks.c: revision 1.71
usr.sbin/sysinst/arch/i386/md.h: revision 1.8
usr.sbin/sysinst/arch/arc/md.c: revision 1.13
usr.sbin/sysinst/mbr.h: revision 1.5
usr.sbin/sysinst/mbr.h: revision 1.6
usr.sbin/sysinst/arch/mac68k/md.c: revision 1.10
usr.sbin/sysinst/bsddisklabel.c: revision 1.50
usr.sbin/sysinst/arch/acorn32/md.c: revision 1.7
usr.sbin/sysinst/bsddisklabel.c: revision 1.51
usr.sbin/sysinst/bsddisklabel.c: revision 1.52
usr.sbin/sysinst/bsddisklabel.c: revision 1.53
usr.sbin/sysinst/bsddisklabel.c: revision 1.54
usr.sbin/sysinst/bsddisklabel.c: revision 1.55
usr.sbin/sysinst/bsddisklabel.c: revision 1.56
usr.sbin/sysinst/arch/dummy/md.c: revision 1.6
usr.sbin/sysinst/arch/amd64/md.h: revision 1.9
usr.sbin/sysinst/arch/evbsh3/md.c: revision 1.6
usr.sbin/sysinst/arch/sparc/md.c: revision 1.6
usr.sbin/sysinst/arch/zaurus/md.c: revision 1.10
usr.sbin/sysinst/arch/x68k/md.c: revision 1.11
usr.sbin/sysinst/arch/sandpoint/md.c: revision 1.9
usr.sbin/sysinst/arch/vax/md.c: revision 1.7
usr.sbin/sysinst/arch/luna68k/md.c: revision 1.9
usr.sbin/sysinst/gpt.c: revision 1.19
usr.sbin/sysinst/arch/i386/md.c: revision 1.31
usr.sbin/sysinst/arch/i386/md.c: revision 1.32
usr.sbin/sysinst/arch/evbarm/md.c: revision 1.17
usr.sbin/sysinst/arch/evbarm/md.c: revision 1.18
usr.sbin/sysinst/arch/evbarm/md.c: revision 1.19
usr.sbin/sysinst/arch/shark/md.c: revision 1.6
usr.sbin/sysinst/arch/landisk/md.c: revision 1.14
usr.sbin/sysinst/util.c: revision 1.43
usr.sbin/sysinst/gpt.c: revision 1.20
usr.sbin/sysinst/util.c: revision 1.44
usr.sbin/sysinst/gpt.c: revision 1.21
usr.sbin/sysinst/gpt.c: revision 1.22
usr.sbin/sysinst/arch/evbarm/msg.md.en: revision 1.2
usr.sbin/sysinst/arch/ofppc/md.c: revision 1.11
usr.sbin/sysinst/util.c: revision 1.46
usr.sbin/sysinst/arch/ofppc/md.c: revision 1.12
usr.sbin/sysinst/util.c: revision 1.47
usr.sbin/sysinst/arch/evbarm/md.h: revision 1.6
usr.sbin/sysinst/util.c: revision 1.48
usr.sbin/sysinst/arch/evbarm/md.h: revision 1.7
usr.sbin/sysinst/arch/evbmips/md.c: revision 1.9
usr.sbin/sysinst/msg.mi.fr: revision 1.28
usr.sbin/sysinst/msg.mi.fr: revision 1.29
usr.sbin/sysinst/arch/sgimips/md.c: revision 1.9
usr.sbin/sysinst/arch/evbarm/Makefile: revision 1.3
usr.sbin/sysinst/msg.mi.de: revision 1.23
usr.sbin/sysinst/arch/hpcsh/md.c: revision 1.10
usr.sbin/sysinst/msg.mi.de: revision 1.24
usr.sbin/sysinst/install.c: revision 1.15
usr.sbin/sysinst/install.c: revision 1.16
usr.sbin/sysinst/arch/sparc64/md.c: revision 1.6
usr.sbin/sysinst/install.c: revision 1.17
usr.sbin/sysinst/install.c: revision 1.18
usr.sbin/sysinst/partitions.h: revision 1.16
usr.sbin/sysinst/install.c: revision 1.19
usr.sbin/sysinst/partitions.h: revision 1.17
usr.sbin/sysinst/arch/evbppc/md.c: revision 1.9
usr.sbin/sysinst/arch/playstation2/md.c: revision 1.9
usr.sbin/sysinst/partitions.h: revision 1.18
usr.sbin/sysinst/arch/hpcarm/md.c: revision 1.9
usr.sbin/sysinst/partitions.h: revision 1.19
usr.sbin/sysinst/msg.mi.es: revision 1.24
usr.sbin/sysinst/msg.mi.es: revision 1.25
usr.sbin/sysinst/msg.mi.es: revision 1.26
usr.sbin/sysinst/arch/zaurus/md.c: revision 1.9
usr.sbin/sysinst/target.c: revision 1.13
usr.sbin/sysinst/target.c: revision 1.14
usr.sbin/sysinst/part_edit.c: revision 1.17
usr.sbin/sysinst/part_edit.c: revision 1.18
usr.sbin/sysinst/msg.mi.fr: revision 1.30
usr.sbin/sysinst/arch/mvme68k/md.c: revision 1.11
usr.sbin/sysinst/part_edit.c: revision 1.19
usr.sbin/sysinst/msg.mi.fr: revision 1.31
usr.sbin/sysinst/arch/alpha/md.c: revision 1.9
usr.sbin/sysinst/msg.mi.en: revision 1.30
usr.sbin/sysinst/defs.h: revision 1.56
usr.sbin/sysinst/msg.mi.en: revision 1.31
usr.sbin/sysinst/defs.h: revision 1.57
usr.sbin/sysinst/msg.mi.en: revision 1.32
usr.sbin/sysinst/arch/amiga/md.c: revision 1.6
usr.sbin/sysinst/arch/hpcmips/md.c: revision 1.9
usr.sbin/sysinst/defs.h: revision 1.58
usr.sbin/sysinst/arch/cats/md.c: revision 1.5
usr.sbin/sysinst/defs.h: revision 1.59
usr.sbin/sysinst/arch/newsmips/md.c: revision 1.6
usr.sbin/sysinst/arch/pmax/md.c: revision 1.8
usr.sbin/sysinst/arch/mipsco/md.c: revision 1.8
usr.sbin/sysinst/part_edit.c: revision 1.20
usr.sbin/sysinst/part_edit.c: revision 1.21
usr.sbin/sysinst/arch/macppc/md.c: revision 1.6
usr.sbin/sysinst/part_edit.c: revision 1.22
usr.sbin/sysinst/part_edit.c: revision 1.23
usr.sbin/sysinst/part_edit.c: revision 1.24
usr.sbin/sysinst/defs.h: revision 1.60
usr.sbin/sysinst/arch/mac68k/Makefile: revision 1.3
usr.sbin/sysinst/defs.h: revision 1.61
usr.sbin/sysinst/defs.h: revision 1.63
usr.sbin/sysinst/defs.h: revision 1.64
usr.sbin/sysinst/defs.h: revision 1.65
usr.sbin/sysinst/label.c: revision 1.21
usr.sbin/sysinst/defs.h: revision 1.66
usr.sbin/sysinst/label.c: revision 1.22
usr.sbin/sysinst/defs.h: revision 1.67
usr.sbin/sysinst/label.c: revision 1.23
usr.sbin/sysinst/label.c: revision 1.24
usr.sbin/sysinst/label.c: revision 1.25
usr.sbin/sysinst/label.c: revision 1.26
usr.sbin/sysinst/label.c: revision 1.27
usr.sbin/sysinst/msg.mi.pl: revision 1.31
usr.sbin/sysinst/label.c: revision 1.28
usr.sbin/sysinst/msg.mi.pl: revision 1.32
usr.sbin/sysinst/label.c: revision 1.29
usr.sbin/sysinst/arch/atari/md.c: revision 1.7
usr.sbin/sysinst/disklabel.c: revision 1.36
usr.sbin/sysinst/disklabel.c: revision 1.37
usr.sbin/sysinst/disklabel.c: revision 1.38
usr.sbin/sysinst/disklabel.c: revision 1.39
usr.sbin/sysinst/arch/bebox/md.c: revision 1.9
usr.sbin/sysinst/mbr.c: revision 1.32
usr.sbin/sysinst/disks.c: revision 1.66
usr.sbin/sysinst/mbr.c: revision 1.33
usr.sbin/sysinst/disks.c: revision 1.67
usr.sbin/sysinst/mbr.c: revision 1.34
usr.sbin/sysinst/arch/emips/md.c: revision 1.9
usr.sbin/sysinst/disks.c: revision 1.68
usr.sbin/sysinst/partitions.c: revision 1.11
usr.sbin/sysinst/mbr.c: revision 1.35
usr.sbin/sysinst/disks.c: revision 1.69
usr.sbin/sysinst/mbr.c: revision 1.36
usr.sbin/sysinst/arch/hppa/md.c: revision 1.8
usr.sbin/sysinst/arch/prep/md.c: revision 1.13
usr.sbin/sysinst/label.c: revision 1.30
usr.sbin/sysinst/arch/ews4800mips/md.c: revision 1.7
usr.sbin/sysinst/main.c: revision 1.21
usr.sbin/sysinst/main.c: revision 1.22
usr.sbin/sysinst/main.c: revision 1.23
usr.sbin/sysinst/bsddisklabel.c: revision 1.40
usr.sbin/sysinst/main.c: revision 1.24
usr.sbin/sysinst/arch/cobalt/md.h: revision 1.6
usr.sbin/sysinst/bsddisklabel.c: revision 1.41
usr.sbin/sysinst/main.c: revision 1.25
usr.sbin/sysinst/arch/news68k/md.c: revision 1.7
usr.sbin/sysinst/bsddisklabel.c: revision 1.42
usr.sbin/sysinst/bsddisklabel.c: revision 1.43
usr.sbin/sysinst/bsddisklabel.c: revision 1.44
usr.sbin/sysinst/bsddisklabel.c: revision 1.45
Use strlcpy in a few places to guarnatee 0-terminated strings
Rever previous: the d_packname in struct disklabel is not NUL terminated.
Disable the warning instead.
Do not force -Os optimization (unless SMALLPROG)
Remove unused "rel" global variable and make the -r option a no-op.
PR 55045: strlcpy(NULL, ..., 0) considered harmfull in some implementations.
PR misc/54886: bump threshold for automatic/default creation of a tmpfs /tmp
up slightly (to 384 MB ram). This will make sure the default install has
a > 64 MB /tmp available (number pulled out of thin air, 64 MB is the minimum
required by the ZFS tests).
Don't depend on common symbol definitions.
boardype should not be common.
Redo the root-size-limit check again after we grew the root partition
for kernel dumps. Auto-enable the /usr partition if it overflows.
For all non-root partitions, default to FFSv2.
When extending a partition (to fill the total disk size) do respect
size limits.
Do not suggest a size limited partition for extension by default.
Minor tweak to previous: when forcing a /usr partition just to have an
arbitrary extendable partition, still use its default size initially.
At the end of a new installation save entropy.
Ooops, backout previous - twice the entropy saving is not needed.
Instead slightly improve the (slightly) hidden other code that already
did it.
PR 55202: disable swapping if we started it due to low ram
it's "its"
Remove "If you booted from a floppy" message
Set HAVE_INSTALL_IMAGE for evbarm
Change mountpoint of boot ext2fs from /stand to /ext2 to avoid conflict.
Should be pulled up to netbsd-9, with fixes of PR/55060.
MBR type for Ext2 should be MBR_PTYPE_LNXEXT2, not MBR_PTYPE_FAT12.
Silence -Wstringop-truncation for ``name'' in disp_selected_part().
This variable is used only for display, and truncation seems harmless.
PR 55572: avoid crash when answering the mount point prompt for a previously
empty mount point with an emptry sting.
When adding a new partition in the concrete partition editor, make sure
to set a pointer to the partition table interface in the new entry.
Otherwise we may end up not writing back the partitions at all, leading
to further fallout later.
Receipe to reproduce the issue from Frederic Fauberteau, thanks!
In the concrete partitions editor, after deleting the last partition move
the menu selection to the "add a partition" entry (instead of the sentinel
line which is not an active menu entry).
Typo in comment
Keep a list of all partition tables from which we have deleted partitions
and make sure we update those partition tables when writing partitions,
even if no install related partition remains on them.
Fix display of timezone selection menu
If there is no current partitioning manager assume we are editing the
current system and make target_already_root() return true.
Fixes various fallout when using sysinst post installation.
PR 55377: mark boot partitions in the partition size display, as suggested
by Izumi Tsutsui (minor modifications + all bugs by me)
PR 55378: do not assume RAW_PART to be either 2 or 3
PR 55379: avoid creating bogus /etc/fstab lines for /dev/cd* if no
cdrom is available.
PR 55381: try to deal with moved (but not yet saved) partitions when
calculating free space
Apply patch provided by Izumi Tsutsui in PR 55382: make ext2 partitions
show up in the outer (MBR) partition table, needed for example on Cobalt
where firmware boots from that partition.
PR 55384: detangle pm->ptstart from the "install" flag (selecting a
target partition). Instead introduce a new PTI_INSTALL_TARGET per partition
flag and deal with it in the partitioning backends.
Honour pm->ptstart when allocating new partitions - it is supposed to be
the first sector usable by NetBSD.
If we have no explicitly marke target root partition, make sure to set
the proper flag on the implicit one.
When merging existing partitions with desired target system layout
information, only force the "mount" flag if the existing partitions
has a valid mount point.
Add a heuristic to detect and properly mark EFI system partitions
when re-using pre-existing partitions.
When MD code requests a reserved area (at the start of the disk)
make sure to properly account for the "lost" space during all calculations
and especially when expanding the main partition to fill the disk.
Avoid using the global "pm" or a passed device descriptons when we are
passing disk limits explicitly anyway.
Simplify/fix a few rounding calculations.
When creating new partitions for "full disk" use, pass a install target
hint to the partitioning backend (for the outer NetBSD partition).
Use an install target hint to mark a new partition active.
When compiled with BOOTSEL support, also name the new partition "NetBSD".
Remove more pm->ptstart abuse - calculate values localy where needed
instead.
Fix editing start and size of not yet existing outer partitions.
Previously we abused pm->ptstart / pm->ptsize to pass the bounds of the
NetBSD outer partition to the inner partition editor - but now this is
not a valid assumption any more, so explicitly fix the bounds if an
outer partition exists.
Remove very strange code that special-cased MSDOS file systems and refused
to newfs the partition (despite explicit request to do so) if it was
mountable.
Accidently carried over from a dim and distant past, before we had
fsck_newfs.
PR 55536: when we find existing partition tables and have alternative
formats available, offer to delete partitions and create new ones from
scratch (in some other or the same on-disk format).
Minor fix to previous: fix condition when we offer the partition type
switch - it makes sense even if the disk is partitioned but has no valid
partitions.
Before forcing MBR partitions into our disklabel, make sure they are not
there yet - could happen in various paths when reusing existing partitions
(or parts of that) - previously we would blindly duplicate identical
partitions.
Ooops, part of previous was not meant to be included yet
When renumbering partitions (after deletions) be slightly more lax
in matching, to cope with differences between MBR EFI partitions and
disklabel MSDOS partitions.
PR 55142: on popular demand bring back expert options to adjust the
number of free inodes, block size and fragment size for FFS and LFS.
Fix copy & pasto noticed by Jason Mitchell: change the type of a GPT
partition via "gpt type" - not "gpt label".
Fix copy & pasto (missing "again" label)
Remove dead code
Move MBR writing (if any) post disklabel writing, otherwise strange
interactions happen.
Properly convert partition default sizes in MB to number of sectors
 1.14.2.7 10-Feb-2020  bouyer Pull up following revision(s) (requested by martin in ticket #693):
usr.sbin/sysinst/arch/x68k/msg.md.en: revision 1.2
usr.sbin/sysinst/arch/x68k/md.c: revision 1.10
usr.sbin/sysinst/arch/mvme68k/msg.md.fr: revision 1.2
usr.sbin/sysinst/arch/x68k/msg.md.en: revision 1.3
usr.sbin/sysinst/arch/mvme68k/msg.md.fr: revision 1.3
usr.sbin/sysinst/msg.mi.en: revision 1.28
usr.sbin/sysinst/arch/hp300/md.c: revision 1.10
usr.sbin/sysinst/msg.mi.es: revision 1.22
usr.sbin/sysinst/target.c: revision 1.12
usr.sbin/sysinst/arch/mvme68k/md.c: revision 1.10
usr.sbin/sysinst/arch/i386/md.c: revision 1.30
usr.sbin/sysinst/arch/mvme68k/msg.md.pl: revision 1.2
usr.sbin/sysinst/arch/mvme68k/msg.md.pl: revision 1.3
usr.sbin/sysinst/bsddisklabel.c: revision 1.39
usr.sbin/sysinst/arch/mvme68k/msg.md.de: revision 1.2
usr.sbin/sysinst/arch/mac68k/md.c: revision 1.9
usr.sbin/sysinst/disklabel.c: revision 1.35
usr.sbin/sysinst/arch/mvme68k/msg.md.de: revision 1.3
usr.sbin/sysinst/defs.h: revision 1.55
usr.sbin/sysinst/disks.c: revision 1.63
usr.sbin/sysinst/disks.c: revision 1.64
usr.sbin/sysinst/mbr.c: revision 1.31
usr.sbin/sysinst/disks.c: revision 1.65
usr.sbin/sysinst/txtwalk.c: revision 1.3
usr.sbin/sysinst/txtwalk.c: revision 1.4
usr.sbin/sysinst/arch/mvme68k/msg.md.en: revision 1.2
usr.sbin/sysinst/arch/mvme68k/msg.md.en: revision 1.3
usr.sbin/sysinst/msg.mi.fr: revision 1.26
usr.sbin/sysinst/msg.mi.pl: revision 1.29
usr.sbin/sysinst/arch/mvme68k/msg.md.es: revision 1.2
usr.sbin/sysinst/upgrade.c: revision 1.15
usr.sbin/sysinst/arch/mvme68k/msg.md.es: revision 1.3
usr.sbin/sysinst/upgrade.c: revision 1.16
usr.sbin/sysinst/partman.c: revision 1.50
usr.sbin/sysinst/msg.mi.de: revision 1.21
remove unused "emptypart" message (or moved to ifdef notyet area)
PR install/54921: message "ordering" takes a %s argument.
PR install/54921: skip non-user partitions when checking for overlaps
bootxx_name() - fix oversight in previous change (do not assume first
partition is the root partition)
PR install/54934: always use -f on the installboot invocation. We come
here post-newfs (and maybe should have dd'd zeros to the start of the
disk before newfs instead).
Remove a bogus assert: when reading disklabel partitions and the outer
(MBR) partitioning has changed, but the changes have not yet been written
back to disk, we need to ignore the kernels idea of the disklabel and
instead continue with an empty one.
Deal with partitioning schemes having no inner counterpart.
Avoid NULL derefs.
Do not assum a partitioning scheme that supports innner partitions always
needs to actually have such partitions defined.
PR bin/54944: deal with escaped spaces in NAME= syntax in /etc/fstab.
PR bin/54944: explicitly reject GPT protective MBRs.
PR bin/54944: make the "explicit single wedge" selection also work for
upgrades.
Reformat a query to add an automatically detected swap partition
so it fits on narrow screens.
Make re-install sets also work for an explicit selected root wedge
Fix copy&pasto in previous - from kre.
Only a single partition can ever have the "extend" flag (grow to available
size).
Do not use -P for tar extractions - the in tree tar has been fixed.
Finish conversion to generic partitioning backend
 1.14.2.6 28-Jan-2020  msaitoh Pull up following revision(s) (requested by martin in ticket #668):
usr.sbin/sysinst/arch/cobalt/md.c: revision 1.11
usr.sbin/sysinst/arch/cobalt/md.c: revision 1.12
usr.sbin/sysinst/arch/arc/md.c: revision 1.11
usr.sbin/sysinst/arch/arc/md.c: revision 1.12
usr.sbin/sysinst/partman.c: revision 1.43
usr.sbin/sysinst/partman.c: revision 1.46
usr.sbin/sysinst/partman.c: revision 1.47
usr.sbin/sysinst/partman.c: revision 1.48
usr.sbin/sysinst/partman.c: revision 1.49
usr.sbin/sysinst/msg.pm.fr: revision 1.2
usr.sbin/sysinst/upgrade.c: revision 1.14
usr.sbin/sysinst/arch/i386/md.c: revision 1.28
usr.sbin/sysinst/arch/i386/md.c: revision 1.29
usr.sbin/sysinst/arch/ofppc/md.c: revision 1.9
usr.sbin/sysinst/arch/sandpoint/md.c: revision 1.7
usr.sbin/sysinst/arch/sandpoint/md.c: revision 1.8
usr.sbin/sysinst/gpt.c: revision 1.14
usr.sbin/sysinst/gpt.c: revision 1.15
usr.sbin/sysinst/arch/luna68k/md.c: revision 1.8
usr.sbin/sysinst/gpt.c: revision 1.16
usr.sbin/sysinst/msg.pm.de: revision 1.2
usr.sbin/sysinst/arch/evbarm/md.c: revision 1.11
usr.sbin/sysinst/arch/evbarm/md.c: revision 1.12
usr.sbin/sysinst/arch/evbarm/md.c: revision 1.13
usr.sbin/sysinst/arch/evbarm/md.c: revision 1.14
usr.sbin/sysinst/sizemultname.c: revision 1.4
usr.sbin/sysinst/msg.pm.en: revision 1.2
usr.sbin/sysinst/arch/landisk/md.c: revision 1.12
usr.sbin/sysinst/util.c: revision 1.41
usr.sbin/sysinst/arch/landisk/md.c: revision 1.13
usr.sbin/sysinst/util.c: revision 1.42
usr.sbin/sysinst/arch/ofppc/md.c: revision 1.10
usr.sbin/sysinst/partitions.c: revision 1.9
usr.sbin/sysinst/arch/evbarm/md.h: revision 1.4
usr.sbin/sysinst/arch/evbarm/md.h: revision 1.5
usr.sbin/sysinst/arch/evbmips/md.c: revision 1.7
usr.sbin/sysinst/arch/evbmips/md.c: revision 1.8
usr.sbin/sysinst/msg.mi.fr: revision 1.25
usr.sbin/sysinst/msg.mi.de: revision 1.20
usr.sbin/sysinst/install.c: revision 1.14
usr.sbin/sysinst/partitions.h: revision 1.13
usr.sbin/sysinst/partitions.h: revision 1.14
usr.sbin/sysinst/arch/evbppc/md.c: revision 1.7
usr.sbin/sysinst/arch/playstation2/md.c: revision 1.7
usr.sbin/sysinst/msg.mi.en: revision 1.27
usr.sbin/sysinst/partitions.h: revision 1.15
usr.sbin/sysinst/arch/evbppc/md.c: revision 1.8
usr.sbin/sysinst/arch/hpcarm/md.c: revision 1.7
usr.sbin/sysinst/arch/playstation2/md.c: revision 1.8
usr.sbin/sysinst/msg.pm.pl: revision 1.2
usr.sbin/sysinst/arch/hpcarm/md.c: revision 1.8
usr.sbin/sysinst/msg.mi.es: revision 1.21
usr.sbin/sysinst/arch/zaurus/md.c: revision 1.7
usr.sbin/sysinst/target.c: revision 1.11
usr.sbin/sysinst/arch/zaurus/md.c: revision 1.8
usr.sbin/sysinst/part_edit.c: revision 1.14
usr.sbin/sysinst/part_edit.c: revision 1.15
usr.sbin/sysinst/part_edit.c: revision 1.16
usr.sbin/sysinst/defs.h: revision 1.50
usr.sbin/sysinst/defs.h: revision 1.51
usr.sbin/sysinst/defs.h: revision 1.52
usr.sbin/sysinst/defs.h: revision 1.53
usr.sbin/sysinst/defs.h: revision 1.54
usr.sbin/sysinst/arch/hpcmips/md.c: revision 1.7
usr.sbin/sysinst/arch/hpcmips/md.c: revision 1.8
usr.sbin/sysinst/arch/hpcsh/md.c: revision 1.8
usr.sbin/sysinst/msg.pm.es: revision 1.2
usr.sbin/sysinst/arch/hpcsh/md.c: revision 1.9
usr.sbin/sysinst/label.c: revision 1.18
usr.sbin/sysinst/label.c: revision 1.19
usr.sbin/sysinst/net.c: revision 1.35
usr.sbin/sysinst/msg.mi.pl: revision 1.28
usr.sbin/sysinst/disklabel.c: revision 1.28
usr.sbin/sysinst/disklabel.c: revision 1.29
usr.sbin/sysinst/mbr.c: revision 1.24
usr.sbin/sysinst/disks.c: revision 1.59
usr.sbin/sysinst/mbr.c: revision 1.25
usr.sbin/sysinst/mbr.c: revision 1.26
usr.sbin/sysinst/mbr.c: revision 1.27
usr.sbin/sysinst/mbr.c: revision 1.28
usr.sbin/sysinst/label.c: revision 1.20
usr.sbin/sysinst/mbr.c: revision 1.29
usr.sbin/sysinst/bsddisklabel.c: revision 1.34
usr.sbin/sysinst/bsddisklabel.c: revision 1.35
usr.sbin/sysinst/bsddisklabel.c: revision 1.36
usr.sbin/sysinst/bsddisklabel.c: revision 1.37
usr.sbin/sysinst/disklabel.c: revision 1.30
usr.sbin/sysinst/bsddisklabel.c: revision 1.38
usr.sbin/sysinst/disklabel.c: revision 1.31
usr.sbin/sysinst/disklabel.c: revision 1.32
usr.sbin/sysinst/disklabel.c: revision 1.33
usr.sbin/sysinst/disklabel.c: revision 1.34
usr.sbin/sysinst/disks.c: revision 1.60
usr.sbin/sysinst/disks.c: revision 1.61
usr.sbin/sysinst/arch/bebox/md.c: revision 1.7
usr.sbin/sysinst/disks.c: revision 1.62
usr.sbin/sysinst/arch/bebox/md.c: revision 1.8
usr.sbin/sysinst/mbr.c: revision 1.30
usr.sbin/sysinst/partitions.c: revision 1.10
usr.sbin/sysinst/arch/prep/md.c: revision 1.11
usr.sbin/sysinst/arch/prep/md.c: revision 1.12
usr.sbin/sysinst/menus.pm: revision 1.3
usr.sbin/sysinst/main.c: revision 1.20
usr.sbin/sysinst/menus.mi: revision 1.20
usr.sbin/sysinst/menus.mi: revision 1.21
avoid calling snprintf/strlcat with an input parameter the same
as the output. from martin@. fixes gcc 8 restrict warnings.
Finish conversion of extended partitioning parts to new abstract
backend interface. XXX still could use a lot of polishing.
Instead of a (bogus) attempt to query the model via ofctl, use the (now
fixed) sysctl hw.model instead.
When reading the secondary disklabel partitions from an existing disklabel
set the mbr partitions as parent.
Move the LABELSECTOR check and make it FS type specific - some partition
types (FFS, RAID) are allowed to overlap with the LABELSECTOR.
When asked to create a whole-disk partition for unknown usage, do not only
assert(false), but actually return an error (in case "assert" is a nop).
PR install/54787: when trying to derive proper alignement and first offset
from exisiting partitions, use the first partition offset if it is already
closer to the start of the disk than the prefered alignment - we can not
move existing partitions around.
Fix handling of inner/outer partitions (e.g. MBR and disklabel) in
extended partitioning:
- when editing a disk with such a schme, offer both partitions in two
steps
- when commiting changes save the inner partitions after the outer ones
Add a method to query the partitioning schemes "internal idea" of a
cylinder size - whatever that means in the real world.
Avoid using the global "pm" variable in utility functions - during
extended partitioning they may point to a different device.
Remove useless calls to get_ramsize() - return value is ignored and
the function has no side effects.
Fix /tmp tmpfs handling and on machines with enough RAM default to
creating a /tmp tmpfs with 25% of ram size limit. Suggested by ad@.
PR install/54872: fix printf argument order, sectors and heads were
swapped in the bios geometry display.
First try to bring evbarm installation closer to current reality.
hide disklabel_non_bootable() under NO_DISKLABEL_BOOT like the usage.
should fix most builds.
Deal with even stranger fictious empty disklabels (PR kern/54882).
Factor out all RAM size thresholds as defines to avoid magic numbers.
To work around PR misc/54886 bump the threshold for a tmpfs /tmp mount
up to 256 MB.
When retrying sets during extraction, reset the relevant statistics
to avoid counting retried sets multiple times.
Reported by kim.
Fix support for non-512-byte/sector disks again after I broke it when
introducing the abstract partition backends.
Use a few strlcpy() instead of strncpy() for network ioctl structs.
We seem to have no formal documentation stating the various
char if*_name[IFNAMSIZ]; /* if name, e.g. "en0" */
elements in ioctls are nul terminated, but the peanut gallery claims
it is so - and at least half of the code in-tree touching them agrees.
Too much disklabel magic happening in the kernel - to compensate force
MBR first when trying to identify the existing partitioning scheme of
a disk.
 1.14.2.5 17-Dec-2019  msaitoh Pull up following revision(s) (requested by martin in ticket #560):
usr.sbin/sysinst/partitions.h: revision 1.11
usr.sbin/sysinst/defs.h: revision 1.49
usr.sbin/sysinst/mbr.c: revision 1.23
usr.sbin/sysinst/msg.mi.en: revision 1.26
usr.sbin/sysinst/disks.c: revision 1.58
usr.sbin/sysinst/arch/evbarm/menus.md.pl: revision 1.2
usr.sbin/sysinst/msg.mi.es: revision 1.20
usr.sbin/sysinst/arch/mvme68k/md.c: revision 1.9
usr.sbin/sysinst/gpt.c: revision 1.13
usr.sbin/sysinst/arch/evbarm/md.c: revision 1.10
usr.sbin/sysinst/arch/arc/md.c: revision 1.10
usr.sbin/sysinst/disklabel.c: revision 1.18
usr.sbin/sysinst/bsddisklabel.c: revision 1.33
usr.sbin/sysinst/disklabel.c: revision 1.19
usr.sbin/sysinst/main.c: revision 1.19
usr.sbin/sysinst/partman.c: revision 1.45
usr.sbin/sysinst/arch/alpha/md.c: revision 1.7
usr.sbin/sysinst/msg.mi.de: revision 1.19
usr.sbin/sysinst/arch/evbarm/menus.md.en: revision 1.2
usr.sbin/sysinst/arch/x68k/md.h: revision 1.4
usr.sbin/sysinst/arch/x68k/md.c: revision 1.9
usr.sbin/sysinst/arch/evbarm/menus.md.es: revision 1.2
usr.sbin/sysinst/wskbd.c: revision 1.4
usr.sbin/sysinst/label.c: revision 1.15
usr.sbin/sysinst/arch/amiga/md.h: revision 1.5
usr.sbin/sysinst/label.c: revision 1.16
usr.sbin/sysinst/arch/hp300/md.c: revision 1.9
usr.sbin/sysinst/arch/emips/md.c: revision 1.8
usr.sbin/sysinst/label.c: revision 1.17
usr.sbin/sysinst/arch/pmax/md.c: revision 1.7
usr.sbin/sysinst/partitions.c: revision 1.6
usr.sbin/sysinst/arch/prep/md.c: revision 1.10
usr.sbin/sysinst/arch/mipsco/md.c: revision 1.7
usr.sbin/sysinst/partitions.c: revision 1.7
usr.sbin/sysinst/partitions.c: revision 1.8
usr.sbin/sysinst/arch/ews4800mips/md.c: revision 1.5
usr.sbin/sysinst/disklabel.c: revision 1.20
usr.sbin/sysinst/arch/evbarm/menus.md.fr: revision 1.2
usr.sbin/sysinst/msg.mi.fr: revision 1.24
usr.sbin/sysinst/disklabel.c: revision 1.21
usr.sbin/sysinst/partitions.h: revision 1.9
usr.sbin/sysinst/msg.mi.pl: revision 1.27
usr.sbin/sysinst/disklabel.c: revision 1.22
usr.sbin/sysinst/disklabel.c: revision 1.23
usr.sbin/sysinst/arch/i386/md.c: revision 1.27
usr.sbin/sysinst/disklabel.c: revision 1.24
usr.sbin/sysinst/disklabel.c: revision 1.25
usr.sbin/sysinst/arch/cobalt/md.h: revision 1.5
usr.sbin/sysinst/disklabel.c: revision 1.26
usr.sbin/sysinst/disklabel.c: revision 1.27
usr.sbin/sysinst/partitions.h: revision 1.10
usr.sbin/sysinst/arch/cobalt/md.c: revision 1.10
PR install/54582: allow MD code to disable on-disk presence verification
of "real" disklabels. Auto-enable this (at run time) when there is no other
partitioning scheme but disklabel configured.
Hard-coded enable this for x68k to allow using kernel based translations
for native Human68k partitions.
Get rid of the evbarm preliminary menu: do not bother to ask the user
whether this is a RPi - query the FDT instead.
PR 54065: add optional "old compat" variant of ext2fs in file system
type selection and use that as default for the cobalt boot file system.
For now rely on the kernel mapping native RDB partitions.
Fix detection of existing disklabels in the case when we only have
the disklabel partitioning scheme available.
Fix DISKLABEL_NO_ONDISK_VERIFY (accidently disabled in previous)
Fix inverted comparison
Do not try to change the keyboard layout if we are not running on the
console.
When trying to tell a fictious but empty label from a real one, skip
partition a if it has the same start and size as the raw partition.
Remove bogus assert.
When finding (paritioning scheme native) partition types for file systems
from our install description, pass the partition type (not only the file
system type). Sometimes (e.g. EFI boot partition on GPT) the filesystem
type (MSDOS) is not a unique selector.
Adapt MD parts to changes in get_fs_part_type (pass partition type).
If a fictious label has no RAW_PART assume there is no valid disk label.
Pass proper track size when initializing the default alignment - this is
important with sunlabels.
Fix overlapping partitions display
Reject (what we consider) empty/invalid fake disklabels no matter whether
we have other partitioning schemes available or not.
Do not show disklabel command invocation by default (only if there are
errors).
After installing boot blocks with RUN_NO_CLEAR (and handling the
potential errors) make sure to clear the stdscreen.
 1.14.2.4 17-Nov-2019  msaitoh Pull up following revision(s) (requested by martin in ticket #436):
usr.sbin/sysinst/disks.c: revision 1.55
usr.sbin/sysinst/msg.mi.en: revision 1.24
usr.sbin/sysinst/mbr.c: revision 1.22
usr.sbin/sysinst/disks.c: revision 1.56
usr.sbin/sysinst/msg.mi.en: revision 1.25
usr.sbin/sysinst/disks.c: revision 1.57
usr.sbin/sysinst/arch/playstation2/msg.md.pl: revision 1.3
usr.sbin/sysinst/Makefile.inc: revision 1.30
usr.sbin/sysinst/configmenu.c: revision 1.11
usr.sbin/sysinst/util.c: revision 1.35
usr.sbin/sysinst/gpt.c: revision 1.12
usr.sbin/sysinst/util.c: revision 1.36
usr.sbin/sysinst/arch/playstation2/msg.md.de: revision 1.3
usr.sbin/sysinst/arch/i386/menus.md: revision 1.3
usr.sbin/sysinst/util.c: revision 1.37
usr.sbin/sysinst/part_edit.c: revision 1.11
usr.sbin/sysinst/arch/i386/msg.md.en: revision 1.2
usr.sbin/sysinst/util.c: revision 1.38
usr.sbin/sysinst/part_edit.c: revision 1.12
usr.sbin/sysinst/arch/i386/msg.md.en: revision 1.3
usr.sbin/sysinst/util.c: revision 1.39
usr.sbin/sysinst/part_edit.c: revision 1.13
usr.sbin/sysinst/arch/i386/msg.md.en: revision 1.4
usr.sbin/sysinst/disklabel.c: revision 1.15
usr.sbin/sysinst/bsddisklabel.c: revision 1.30
usr.sbin/sysinst/arch/i386/msg.md.es: revision 1.2
usr.sbin/sysinst/bsddisklabel.c: revision 1.31
usr.sbin/sysinst/arch/i386/msg.md.es: revision 1.3
usr.sbin/sysinst/arch/i386/msg.md.es: revision 1.4
usr.sbin/sysinst/mbr.h: revision 1.4
usr.sbin/sysinst/main.c: revision 1.18
usr.sbin/sysinst/partman.c: revision 1.44
usr.sbin/sysinst/msg.mi.de: revision 1.17
usr.sbin/sysinst/arch/i386/msg.md.fr: revision 1.2
usr.sbin/sysinst/msg.mi.de: revision 1.18
usr.sbin/sysinst/arch/i386/msg.md.fr: revision 1.3
usr.sbin/sysinst/arch/playstation2/msg.md.en: revision 1.3
usr.sbin/sysinst/arch/i386/msg.md.fr: revision 1.4
usr.sbin/sysinst/arch/amd64/md.c: revision 1.2
usr.sbin/sysinst/arch/ews4800mips/Makefile: revision 1.3
usr.sbin/sysinst/arch/playstation2/msg.md.es: revision 1.3
usr.sbin/sysinst/label.c: revision 1.13
usr.sbin/sysinst/Makefile.inc: revision 1.29
usr.sbin/sysinst/label.c: revision 1.14
usr.sbin/sysinst/util.c: revision 1.40
usr.sbin/sysinst/partitions.c: revision 1.5
usr.sbin/sysinst/arch/amd64/md.h: revision 1.8
usr.sbin/sysinst/msg.mi.es: revision 1.18
usr.sbin/sysinst/net.c: revision 1.34
usr.sbin/sysinst/msg.mi.es: revision 1.19
usr.sbin/sysinst/arch/i386/msg.md.pl: revision 1.2
usr.sbin/sysinst/arch/i386/md.c: revision 1.22
usr.sbin/sysinst/msg.mi.fr: revision 1.22
usr.sbin/sysinst/arch/playstation2/msg.md.fr: revision 1.3
usr.sbin/sysinst/arch/i386/msg.md.pl: revision 1.3
usr.sbin/sysinst/arch/i386/md.c: revision 1.23
usr.sbin/sysinst/msg.mi.pl: revision 1.25
usr.sbin/sysinst/msg.mi.fr: revision 1.23
usr.sbin/sysinst/arch/i386/msg.md.pl: revision 1.4
usr.sbin/sysinst/arch/i386/md.c: revision 1.24
usr.sbin/sysinst/partitions.h: revision 1.8
usr.sbin/sysinst/msg.mi.pl: revision 1.26
usr.sbin/sysinst/arch/i386/msg.md.de: revision 1.2
usr.sbin/sysinst/arch/i386/msg.md.de: revision 1.3
usr.sbin/sysinst/arch/i386/msg.md.de: revision 1.4
usr.sbin/sysinst/run.c: revision 1.13
usr.sbin/sysinst/defs.h: revision 1.46
usr.sbin/sysinst/install.c: revision 1.12
usr.sbin/sysinst/defs.h: revision 1.47
usr.sbin/sysinst/install.c: revision 1.13
usr.sbin/sysinst/defs.h: revision 1.48
Add options to the various partitioning stages that allow cloning of
alien partitions (optionally including data).
PR 54467: we trust our own sets, extract them with -P to allow symlink
redirection (especially for updates and chroot services - back out
once a better solution for those is implemented)
Make cloning support optional, so we can save some space on very small
install media.
Drop MBR and cloning support on crunched install media.
Make tar extraction flags depend on our usage of pax-as-tar or bsdtar.
Fix missing newlines in bios match display, pointed out by maxv.
Drop unused variable.
Fix table of bios geomatries
knf style adjustments
Make the bootblock selection menu more sane, pointed out by maxv
Make sure all menus have a translatable exit option (or none at all).
On amd64 support installation with a KASLR kernel, via "custom install"
and selecting the GENERIC_KASLR kernel set.
Setup /prekern and boot.cfg accordingly.
 1.14.2.3 17-Nov-2019  martin Pull up following revision(s) (requested by maya in ticket #435):

distrib/sets/maketars: revision 1.90
usr.sbin/sysinst/arch/playstation2/md.h: revision 1.2
usr.sbin/sysinst/arch/sandpoint/md.h: revision 1.3
usr.sbin/sysinst/arch/evbppc/md.h: revision 1.3
usr.sbin/sysinst/arch/hpcarm/md.h: revision 1.3
usr.sbin/sysinst/arch/mvme68k/md.h: revision 1.3
distrib/sun3/MakeInstTape: revision 1.3
usr.sbin/sysinst/util.c: revision 1.33
distrib/sets/lists/rescue/mi: revision 1.1
distrib/sets/lists/base/rescue.sun2: file removal
usr.sbin/sysinst/arch/zaurus/md.h: revision 1.3
distrib/sets/lists/base/rescue.ad.m68k.shl: file removal
distrib/sets/regpkgset: revision 1.13
usr.sbin/sysinst/arch/i386/md.h: revision 1.7
distrib/sets/lists/base/rescue.sparc: file removal
distrib/notes/mvme68k/xfer: revision 1.19
distrib/sets/sets.subr: revision 1.187
distrib/common/bootimage/Makefile.bootimage: revision 1.22
usr.sbin/sysinst/msg.mi.de: revision 1.16
usr.sbin/sysinst/arch/atari/md.h: revision 1.3
rescue/Makefile: revision 1.38
distrib/sets/lists/base/rescue.macppc: file removal
usr.sbin/sysinst/arch/arc/md.h: revision 1.4
distrib/miniroot/install.sub: revision 1.49
usr.sbin/sysinst/arch/acorn32/md.h: revision 1.3
usr.sbin/sysinst/arch/x68k/md.h: revision 1.3
usr.sbin/sysinst/arch/hpcmips/md.h: revision 1.3
usr.sbin/sysinst/arch/bebox/md.h: revision 1.3
usr.sbin/sysinst/arch/hpcsh/md.h: revision 1.2
distrib/sets/lists/base/rescue.shark: file removal
usr.sbin/sysinst/arch/emips/md.h: revision 1.5
distrib/utils/embedded/mkimage: revision 1.70
usr.sbin/sysinst/arch/shark/md.h: revision 1.3
usr.sbin/sysinst/arch/pmax/md.h: revision 1.4
usr.sbin/sysinst/arch/amiga/md.h: revision 1.4
usr.sbin/sysinst/arch/hp300/md.h: revision 1.5
rescue/list.ldconfig: file removal
distrib/sets/lists/base/rescue.ad.m68k: file removal
usr.sbin/sysinst/arch/prep/md.h: revision 1.4
usr.sbin/sysinst/arch/cats/md.h: revision 1.4
usr.sbin/sysinst/arch/amd64/md.h: revision 1.7
usr.sbin/sysinst/msg.mi.es: revision 1.17
usr.sbin/sysinst/msg.mi.fr: revision 1.20
usr.sbin/sysinst/msg.mi.pl: revision 1.23
distrib/sets/lists/base/rescue.i386: file removal
usr.sbin/sysinst/arch/evbarm/md.h: revision 1.3
distrib/sets/lists/base/rescue.vax: file removal
distrib/amd64/uefi-installimage/Makefile.bootimage: revision 1.12
usr.sbin/sysinst/arch/evbmips/md.h: revision 1.3
distrib/sets/lists/base/rescue.mi: file removal
distrib/sets/README: revision 1.14
usr.sbin/sysinst/arch/sgimips/md.h: revision 1.4
distrib/sets/lists/base/rescue.sparc64: file removal
distrib/sets/lists/base/rescue.mi: revision 1.45
distrib/sets/lists/base/rescue.mi: revision 1.46
usr.sbin/sysinst/arch/ofppc/md.h: revision 1.4
usr.sbin/sysinst/arch/cobalt/md.h: revision 1.4
distrib/sets/lists/base/rescue.ad.arm: file removal
distrib/sets/lists/base/rescue.mac68k: file removal
usr.sbin/sysinst/defs.h: revision 1.45
usr.sbin/sysinst/arch/landisk/md.h: revision 1.2
distrib/notes/atari/xfer: revision 1.17
etc/Makefile: revision 1.441
usr.sbin/sysinst/msg.mi.en: revision 1.22
distrib/sun2/MakeInstTape: revision 1.2

Remove ldconfig from /rescue, and mark it MI obsolete.
- ldconfig in netbsd refers to a.out binaries only. We've been ELF-only
since NetBSD 2.0 or so, and having it in /rescue served little purpose
even before that, as /rescue is standalone.
- Using MI obsolete to avoid the need for MD set lists where ldconfig
is the sole entry

Mark /rescue/edlabel as MI-obsolete, so we can remove all remaining MD
rescue set list files.

Split out /rescue to its own set and adapt installers/images to add it.

This is meant to make updates safer: if something goes wrong with updating
base, we still have the old, standalone /rescue to recover from.
 1.14.2.2 18-Aug-2019  msaitoh Pull up following revision(s) (requested by martin in ticket #82):
usr.sbin/sysinst/util.c: revision 1.30
usr.sbin/sysinst/msg.mi.fr: revision 1.19
usr.sbin/sysinst/msg.mi.de: revision 1.15
usr.sbin/sysinst/msg.mi.es: revision 1.16
usr.sbin/sysinst/msg.mi.pl: revision 1.22
usr.sbin/sysinst/msg.mi.en: revision 1.21
PR 54473: fix error prompt when a set file is missing
 1.14.2.1 18-Aug-2019  msaitoh Pull up following revision(s) (requested by martin in ticket #78):
usr.sbin/sysinst/gpt.c: revision 1.10
usr.sbin/sysinst/disklabel.c: revision 1.12
usr.sbin/sysinst/msg.mi.fr: revision 1.18
usr.sbin/sysinst/msg.mi.de: revision 1.14
usr.sbin/sysinst/partitions.c: revision 1.2
usr.sbin/sysinst/msg.mi.es: revision 1.15
usr.sbin/sysinst/msg.mi.pl: revision 1.21
usr.sbin/sysinst/partitions.h: revision 1.6
usr.sbin/sysinst/msg.mi.en: revision 1.20
usr.sbin/sysinst/mbr.c: revision 1.20
On architectures that usually do MBR/disklabel, nevertheless deal with
pure/plain disklabel disks, and explicitly offer this as partitioning
option when bootability is not a concern.
 1.39.2.1 02-Nov-2023  sborrill Pull up the following revisions(s) (requested by martin in ticket #442):
usr.sbin/sysinst/label.c: revision 1.49
usr.sbin/sysinst/msg.mi.de: revision 1.44
usr.sbin/sysinst/msg.mi.en: revision 1.47
usr.sbin/sysinst/msg.mi.es: revision 1.40
usr.sbin/sysinst/msg.mi.fr: revision 1.45
usr.sbin/sysinst/msg.mi.pl: revision 1.46

Switch to "-" (single minus) as input denotation for "no mount point"
in all translations and adjust the code accordingly.
 1.43.2.1 02-Aug-2025  perseant Sync with HEAD
 1.48 25-Jul-2025  martin On install media where we can check trust anchors, offer explicit
download of sets via https.
 1.47 22-Apr-2024  nia branches: 1.47.2;
Move MIPS N64 compat out of {base,debug}32 into {base,debug}64

martin requested separation by ABI and it doesn't make much sense
to have 64-bit binaries in a set called 32.
 1.46 09-Apr-2024  nia Add new sets: base32, debug32, manhtml

- base32 contains (when MKCOMPAT=yes) shared libraries for 32-bit
compatibility, previously included in base

- debug32 contains (when MKCOMPAT=yes) debug symbols and static libraries
containing debug symbols for 32-bit compatiblity, previously included
in debug

- manhtml contains (when MKHTML=yes) the HTML files previously included
in 'man', which are of limited utility without third-party software.

The motivation for this change is to be able to easily exclude sets
from CD-ROM images that go over the size limit without xz compression
(which many NetBSD platforms struggle to extract at acceptable speeds).
 1.45 31-Oct-2023  martin Switch to "-" (single minus) as input denotation for "no mount point"
in all translations and adjust the code accordingly.
Pointed out by Thierry Laronde.
 1.44 15-Dec-2022  martin branches: 1.44.2;
Add an (expert) option to manually edit partitions, inspired by PR 57100.
 1.43 30-Nov-2022  martin Add support for FFSv2ea in the partition type menus (internally setting
fs version to 3 for this, where 2 is FFSv2 and 1 is FFSv1)
 1.42 22-Jul-2022  christos Add a menu option to set the file extension of the downloaded sets.
amd64 sets are .tar.xz and sysinst fails by default.
 1.41 11-Jun-2022  martin Slightly improved error handling when converion from one partition table
format to another is not lossless.
 1.40 09-Jun-2022  martin Add support for explicitly selecting "EFI system partition" as a partition
type.
 1.39 18-May-2022  martin When not invoked via some explicit "configure network" menu item,
auto-detect an already working network setup and offer to "just use" it
whenver we need connectivity.
 1.38 16-May-2022  martin Split the available disks (that may be partitioned) from the
preconfigured wedges (that can be install target, but can not be
partitioned). The latter are only usefull in special setups
and clobber the list of available disks for the usual setup cases.
 1.37 21-Apr-2022  martin Make default installations a bit more secure:
- push a bit harder for setup of a root password
- simplify/clarify manual entropy setup
- visit the entropy setup (on machines where it is needed) on the
default path through sysinst
 1.36 10-Jan-2022  nia sysinst(8): Add initial support for connecting to Wi-Fi networks
by spawning wpa_supplicant.

Reviewed by martin.
 1.35 25-Sep-2021  maya Move DRM-driver firmware from base to its own set, gpufw

This set is only installed on amd64,i386,evbarm.
This set is installed on minimal installs and on install media, in
case someone needs it for basic driver functionality.

Comments:
Switched to a single MK tunable for it - that is probably unneeded.

An upcoming DRM update will include even fatter firmware, and we'd
like to minimize the impact of it.
 1.34 04-Nov-2020  martin Add (experimental) entropy input support:
Early during new installs or after upgrades we check if entropy is
available. If not (no hardware random number generator available)
we inform the user and ask them to fix it.
 1.33 27-Oct-2020  martin When we did not magically find any CD medium with sets, offer a manual
override (so ISO images on USB sticks or Xen's xbd(4) work).
 1.32 24-Oct-2020  martin When looking for available CD media, skip those that are already mounted.
When no medium with sets is found, show a new error message and return
to the source selection menu.
Rearrange all source option menus to have the proper set suffix
available (either .tgz or .tar.xz).
 1.31 13-Oct-2020  martin PR 55142: on popular demand bring back expert options to adjust the
number of free inodes, block size and fragment size for FFS and LFS.
 1.30 12-Oct-2020  martin PR 55536: when we find existing partition tables and have alternative
formats available, offer to delete partitions and create new ones from
scratch (in some other or the same on-disk format).
 1.29 27-Sep-2020  martin Fix display of timezone selection menu
 1.28 26-May-2020  snj it's "its"
 1.27 18-May-2020  jmcneill Separate devicetree .dts -> .dtb building from kernel builds. They are now
part of a separate set, "dtb.tgz", and only built when MKDTB=yes. This
defaults to yes for earmv[67]* and aarch64, and no everywhere else.
 1.26 06-Feb-2020  martin Reformat a query to add an automatically detected swap partition
so it fits on narrow screens.
 1.25 09-Jan-2020  martin Finish conversion of extended partitioning parts to new abstract
backend interface. XXX still could use a lot of polishing.
 1.24 11-Dec-2019  martin PR 54065: add optional "old compat" variant of ext2fs in file system
type selection and use that as default for the cobalt boot file system.
 1.23 16-Nov-2019  martin Make sure all menus have a translatable exit option (or none at all).
 1.22 12-Nov-2019  martin Add options to the various partitioning stages that allow cloning of
alien partitions (optionally including data).
 1.21 17-Oct-2019  maxv Sentence begins with capital letter ("yes or no?"). Also add a few french
sentences, to make it less awful, but not complete. Not tested.
 1.20 02-Oct-2019  maya Split out /rescue to its own set and adapt installers/images to add it.

This is meant to make updates safer: if something goes wrong with updating
base, we still have the old, standalone /rescue to recover from.
 1.19 17-Aug-2019  martin PR 54473: fix error prompt when a set file is missing
 1.18 14-Aug-2019  martin On architectures that usually do MBR/disklabel, nevertheless deal with
pure/plain disklabel disks, and explicitly offer this as partitioning
option when bootability is not a concern.
 1.17 23-Jul-2019  martin branches: 1.17.2;
For upgrade / re-install allow the currently running system as a target
in the "disk" selection.
 1.16 21-Jun-2019  pgoyette Replicate change in .en as requested by martin@
 1.15 12-Jun-2019  martin Rework internal data structures and "interfaces to user interface" functions
to get rid of all disklabel assumptions.

Previously (even for GPT partitioning) struct disklabel was used, which
obviously breaks large disk setups. Also many MD parts and parts of the
user interface assumed (a) a struct disklabel is used internally to
store partitioning information and (b) partitions are named 'a' ... $MAXPART.

Get rid of this and replace it with a quite abstract interface that should
be able to deal with all variants in partition storage:

- partitions are stored in a (partly abstract) struct disk_partitions
and most parts of it are only accessed via accessor functions provided
by a "partitioning scheme".

- implement partitioning schemes for MBR, disklabel and GPT (with likely
RDB [amiga] and Apple Partition Map [mac*] to follow soon)

- partitioning schemes may be cascaded, e.g. on x86 when using MBR as
"outer partitions", we have disklabel as "inner partitions".

- all user interface goes via accessor functions in the partitioning scheme,
some of which return pointers to special user interface descriptors
(e.g. to allow editing partition flags, which are scheme specific)

Overall the user interface changes (in this initial step) are minimal but
noticable. A new Anita is needed for automatic test setups - many thanks
to Andreas Gustafsson for lots of early testing and a new Anita version,
and to Manuel Bouyer for cooperation and tests of the Anita release.

This work was sponsored by The NetBSD Foundation, Inc.
 1.14 10-Jan-2019  martin PR install/53857: make the pkgsrc menu wider, so the first column fits
in various translations. While there shorten some (misleading) text.
 1.13 15-Nov-2018  martin Make use of the new positional parameters to better describe the first
partitioning step. Remove size limits/hints encoded in the translations
and replace them by values from the code.
 1.12 03-Nov-2018  martin Remove "usage" translations - they never could be displayed as we only select
the language later.
Extend usage display a bit and sync with reality.
 1.11 11-Sep-2018  martin Split the host name used for ftp transfers from the one used for http
transfers. This is slightly inconsistent, as directories are still
shared - but this allows us to default to cdn/nycdn for http (which don't
support ftp).
 1.10 03-Jun-2018  martin branches: 1.10.2;
Add an option to install onto a pre-configured wedge.
Greatly simmplifies (U)EFI setups (but does not fully automate them yet).
 1.9 19-Jun-2015  youri branches: 1.9.8; 1.9.14;
Wording.
 1.8 17-May-2015  martin Invert sense of a vnd creation message ("Create new image: Yes") and kill
the translations that I can't update myself.
 1.7 20-Apr-2015  maxv Fix the French translation.
 1.6 19-Apr-2015  maxv Several fixes for the French translation. Looks like the '{\n' break the
interface: the "No" buttons sometimes disappear.

Actually I can't test this change right now; will see tomorrow.
 1.5 22-Sep-2014  roy Change the IPv6 DNS selection to use DNS selection and add the
Google Public V4 DNS servers to the list.
The other field can take an IPv4 or IPv6 name server of choice.
Fixes PR install/49231.
 1.4 13-Sep-2014  roy Change the display order so it's protocol agnostic at the top,
then IPv4 then IPv6.
 1.3 15-Aug-2014  jmcneill branches: 1.3.2;
remove trailing colon from "addusername" msg
 1.2 03-Aug-2014  martin branches: 1.2.2; 1.2.4;
(Finally) merge a slightly modified version of the 2012 GSoC results
from Eugene Lozovoy: add extended partitioning options to sysinst.
Still needs some testing and polishing, but it now is possible to use GPT
or to create a RAID set from scratch and install onto it.
 1.1 26-Jul-2014  dholland Move sysinst sources to usr.sbin.

This commit only physically moves the sources - there are no other
changes, to maximize the probability that this will be treated as a
rename if we ever do manage to migrate away from CVS.

Moving sysinst has been discussed on and off for years and has two
goals: making it easier to work on sysinst, and also making sysinst
available on running systems for use installing chroots and VM images
and other such things. None of the latter is possible yet, but as they
say, one thing at a time.

Doing this now was approved in an impromptu fashion by mrg, riz,
riastradh, me, and groo.
 1.2.4.4 14-May-2015  snj Pull up following revision(s) (requested by martin in ticket #755):
usr.sbin/sysinst/msg.mbr.fr: revisions 1.3, 1.4
usr.sbin/sysinst/msg.mi.fr: revisions 1.6, 1.7
Several fixes for the French translation. Looks like the '{\n' break the
interface: the "No" buttons sometimes disappear.
--
Fix the French translation.
 1.2.4.3 14-May-2015  snj Pull up following revision(s) (requested by martin in ticket #759):
distrib/amd64/cdroms/Makefile.cdrom: revision 1.12
distrib/amd64/installimage/Makefile: revision 1.5
distrib/amd64/installimage/spec.inst: revision 1.2
distrib/common/10-resolv.conf: file removal
distrib/common/99-print-sysinst: file removal
distrib/common/Makefile.dhcpcd: revision 1.2
distrib/common/list.dhcpcd: revision 1.3
distrib/i386/cdroms/Makefile.cdrom: revision 1.32
distrib/i386/installimage/Makefile: revision 1.5
distrib/i386/installimage/spec.inst: revision 1.2
distrib/sparc64/cdroms/installcd/Makefile: revision 1.20
distrib/vax/cdroms/installcd/Makefile: revision 1.10
usr.sbin/sysinst/msg.mi.de: revision 1.4
usr.sbin/sysinst/msg.mi.en: revision 1.4
usr.sbin/sysinst/msg.mi.es: revision 1.4
usr.sbin/sysinst/msg.mi.fr: revision 1.4
usr.sbin/sysinst/msg.mi.pl: revision 1.4
usr.sbin/sysinst/net.c: revisions 1.5-1.8, 1.11-1.15
The dhcpcd utilties in pkgsrc require dhcpcd to be running in master mode.
So set dhcpcd to start like so, but restrict it to the configured interface
still instead of ifconfig_foo=dhcp.
--
Use the 20-resolv.conf hook from dhcpcd rather than the minimal one.
Extract configured information from resolv.conf and hostname instead
of scraping the last dhcpcd script run.
This will allow the use of DHCPv6 and IPv6RA DNS details in the future.
--
dhcpcd will already have configured the system at this point, so
don't bother writing it manually.
--
Don't prompt for hostname or domain if obtained from DHCP.
--
Change the display order so it's protocol agnostic at the top,
then IPv4 then IPv6.
--
Strip newline from the gateway correctly.
--
Show the IP6 address instead of yes
--
Fix a bogus gcc warning: dhcp_config may be used uninitialized
--
Punt custom dhcpcd hooks in favour up upstream hooks
--
For the benefit of gcc 4.5, rename a local "nl" variable to "nline",
so it doesn't collide with the global curses nl() function.
 1.2.4.2 13-May-2015  snj Pull up following revision(s) (requested by martin in ticket #754):
usr.sbin/sysinst/menus.mi: revision 1.6
usr.sbin/sysinst/msg.mi.de: revision 1.5
usr.sbin/sysinst/msg.mi.en: revision 1.5
usr.sbin/sysinst/msg.mi.es: revision 1.5
usr.sbin/sysinst/msg.mi.fr: revision 1.5
usr.sbin/sysinst/msg.mi.pl: revision 1.5
Change the IPv6 DNS selection to use DNS selection and add the
Google Public V4 DNS servers to the list.
The other field can take an IPv4 or IPv6 name server of choice.
Fixes PR install/49231.
 1.2.4.1 20-Jan-2015  martin Pull up following revision(s) (requested by jmcneill in ticket #435):
usr.sbin/sysinst/msg.mi.es: revision 1.3
usr.sbin/sysinst/msg.mi.en: revision 1.3
usr.sbin/sysinst/msg.mi.fr: revision 1.3
usr.sbin/sysinst/msg.mi.pl: revision 1.3
usr.sbin/sysinst/msg.mi.de: revision 1.3
remove trailing colon from "addusername" msg
 1.2.2.2 10-Aug-2014  tls Rebase.
 1.2.2.1 03-Aug-2014  tls file msg.mi.fr was added on branch tls-earlyentropy on 2014-08-10 07:00:24 +0000
 1.3.2.2 20-Aug-2014  tls Rebase to HEAD as of a few days ago.
 1.3.2.1 15-Aug-2014  tls file msg.mi.fr was added on branch tls-maxphys on 2014-08-20 00:05:13 +0000
 1.9.14.4 18-Jan-2019  pgoyette Synch with HEAD
 1.9.14.3 26-Nov-2018  pgoyette Sync with HEAD, resolve a couple of conflicts
 1.9.14.2 30-Sep-2018  pgoyette Ssync with HEAD
 1.9.14.1 25-Jun-2018  pgoyette Sync with HEAD
 1.9.8.1 05-Jun-2018  bouyer Pull up following revision(s) (requested by martin in ticket #860):
usr.sbin/sysinst/msg.mi.de: revision 1.7
usr.sbin/sysinst/arch/i386/md.c: revision 1.10
usr.sbin/sysinst/msg.mi.fr: revision 1.10
usr.sbin/sysinst/arch/i386/md.c: revision 1.11
usr.sbin/sysinst/menus.mi: revision 1.13
usr.sbin/sysinst/arch/i386/md.c: revision 1.9
usr.sbin/sysinst/msg.mi.es: revision 1.7
usr.sbin/sysinst/msg.mi.en: revision 1.11
usr.sbin/sysinst/mbr.c: revision 1.6
usr.sbin/sysinst/disks.c: revision 1.15
usr.sbin/sysinst/bsddisklabel.c: revision 1.4
usr.sbin/sysinst/disks.c: revision 1.16
usr.sbin/sysinst/msg.mi.pl: revision 1.9
usr.sbin/sysinst/defs.h: revision 1.11
Add an option to install onto a pre-configured wedge.
Greatly simmplifies (U)EFI setups (but does not fully automate them yet).
In the generated /etc/fstab, do not use the (temporary, during sysinst)
path name for the file in the comment, but instead the one it will
have on the target system.
Reorder fetch options: http before ftp
Default console device and speed to that used by syinst
add missing brace.
 1.10.2.2 13-Apr-2020  martin Mostly merge changes from HEAD upto 20200411
 1.10.2.1 10-Jun-2019  christos Sync with HEAD
 1.17.2.11 20-Jan-2022  martin Pull up following revision(s) (requested by nia in ticket #1406):

usr.sbin/sysinst/net.c: revision 1.40
usr.sbin/sysinst/msg.mi.pl: revision 1.37
usr.sbin/sysinst/msg.mi.fr: revision 1.36
usr.sbin/sysinst/msg.mi.de: revision 1.35
usr.sbin/sysinst/msg.mi.en: revision 1.37
usr.sbin/sysinst/net.c: revision 1.37
usr.sbin/sysinst/net.c: revision 1.38
usr.sbin/sysinst/msg.mi.es: revision 1.31
usr.sbin/sysinst/net.c: revision 1.39

sysinst(8): Add initial support for connecting to Wi-Fi networks
by spawning wpa_supplicant.
Reviewed by martin.

sysinst(8): Avoid asking Wi-Fi questions about non-Wi-Fi devices.

sysinst(8): Add a "data" argument to do_ifreq that is set after the
ifr struct is zeroed.

This allows us to simplify the code by not having 2x socket creation
code for checking whether interfaces are wireless.
sysinst(8): use scan_ssid=1 so hidden wifi networks can be used
 1.17.2.10 05-Nov-2020  sborrill Pull up the following revisions(s) (requested by martin in ticket #1121):
usr.sbin/sysinst/menus.mi: revision 1.22-1.23
usr.sbin/sysinst/msg.mi.de: revision 1.25-1.26
usr.sbin/sysinst/msg.mi.en: revision 1.33-1.34
usr.sbin/sysinst/msg.mi.pl: revision 1.33-1.34
usr.sbin/sysinst/msg.mi.es: revision 1.27-1.28
usr.sbin/sysinst/msg.mi.fr: revision 1.32-1.33
usr.sbin/sysinst/util.c: revision 1.49-1.52

- When looking for available CD media, skip those that are already mounted.
- When no medium with sets is found, show a new error message and return
to the source selection menu.
- Rearrange all source option menus to have the proper set suffix available
(either .tgz or .tar.xz).
- Relax an assertion, the first getvfsstat() call may overestimate the file
systems visible to us. Fixes PR 55752
- When we did not magically find any CD medium with sets, offer a manual
override (so ISO images on USB sticks or Xen's xbd(4) work).
 1.17.2.9 15-Oct-2020  bouyer Pull up following revision(s) (requested by martin in ticket #1113):
usr.sbin/sysinst/bsddisklabel.c: revision 1.46
usr.sbin/sysinst/bsddisklabel.c: revision 1.47
usr.sbin/sysinst/disklabel.c: revision 1.40
usr.sbin/sysinst/arch/cobalt/md.c: revision 1.13
usr.sbin/sysinst/bsddisklabel.c: revision 1.48
usr.sbin/sysinst/disklabel.c: revision 1.41
usr.sbin/sysinst/arch/cobalt/md.c: revision 1.14
usr.sbin/sysinst/bsddisklabel.c: revision 1.49
usr.sbin/sysinst/disklabel.c: revision 1.42
usr.sbin/sysinst/Makefile.inc: revision 1.34
usr.sbin/sysinst/disks.c: revision 1.70
usr.sbin/sysinst/arch/hp300/md.c: revision 1.11
usr.sbin/sysinst/disks.c: revision 1.71
usr.sbin/sysinst/arch/i386/md.h: revision 1.8
usr.sbin/sysinst/arch/arc/md.c: revision 1.13
usr.sbin/sysinst/mbr.h: revision 1.5
usr.sbin/sysinst/mbr.h: revision 1.6
usr.sbin/sysinst/arch/mac68k/md.c: revision 1.10
usr.sbin/sysinst/bsddisklabel.c: revision 1.50
usr.sbin/sysinst/arch/acorn32/md.c: revision 1.7
usr.sbin/sysinst/bsddisklabel.c: revision 1.51
usr.sbin/sysinst/bsddisklabel.c: revision 1.52
usr.sbin/sysinst/bsddisklabel.c: revision 1.53
usr.sbin/sysinst/bsddisklabel.c: revision 1.54
usr.sbin/sysinst/bsddisklabel.c: revision 1.55
usr.sbin/sysinst/bsddisklabel.c: revision 1.56
usr.sbin/sysinst/arch/dummy/md.c: revision 1.6
usr.sbin/sysinst/arch/amd64/md.h: revision 1.9
usr.sbin/sysinst/arch/evbsh3/md.c: revision 1.6
usr.sbin/sysinst/arch/sparc/md.c: revision 1.6
usr.sbin/sysinst/arch/zaurus/md.c: revision 1.10
usr.sbin/sysinst/arch/x68k/md.c: revision 1.11
usr.sbin/sysinst/arch/sandpoint/md.c: revision 1.9
usr.sbin/sysinst/arch/vax/md.c: revision 1.7
usr.sbin/sysinst/arch/luna68k/md.c: revision 1.9
usr.sbin/sysinst/gpt.c: revision 1.19
usr.sbin/sysinst/arch/i386/md.c: revision 1.31
usr.sbin/sysinst/arch/i386/md.c: revision 1.32
usr.sbin/sysinst/arch/evbarm/md.c: revision 1.17
usr.sbin/sysinst/arch/evbarm/md.c: revision 1.18
usr.sbin/sysinst/arch/evbarm/md.c: revision 1.19
usr.sbin/sysinst/arch/shark/md.c: revision 1.6
usr.sbin/sysinst/arch/landisk/md.c: revision 1.14
usr.sbin/sysinst/util.c: revision 1.43
usr.sbin/sysinst/gpt.c: revision 1.20
usr.sbin/sysinst/util.c: revision 1.44
usr.sbin/sysinst/gpt.c: revision 1.21
usr.sbin/sysinst/gpt.c: revision 1.22
usr.sbin/sysinst/arch/evbarm/msg.md.en: revision 1.2
usr.sbin/sysinst/arch/ofppc/md.c: revision 1.11
usr.sbin/sysinst/util.c: revision 1.46
usr.sbin/sysinst/arch/ofppc/md.c: revision 1.12
usr.sbin/sysinst/util.c: revision 1.47
usr.sbin/sysinst/arch/evbarm/md.h: revision 1.6
usr.sbin/sysinst/util.c: revision 1.48
usr.sbin/sysinst/arch/evbarm/md.h: revision 1.7
usr.sbin/sysinst/arch/evbmips/md.c: revision 1.9
usr.sbin/sysinst/msg.mi.fr: revision 1.28
usr.sbin/sysinst/msg.mi.fr: revision 1.29
usr.sbin/sysinst/arch/sgimips/md.c: revision 1.9
usr.sbin/sysinst/arch/evbarm/Makefile: revision 1.3
usr.sbin/sysinst/msg.mi.de: revision 1.23
usr.sbin/sysinst/arch/hpcsh/md.c: revision 1.10
usr.sbin/sysinst/msg.mi.de: revision 1.24
usr.sbin/sysinst/install.c: revision 1.15
usr.sbin/sysinst/install.c: revision 1.16
usr.sbin/sysinst/arch/sparc64/md.c: revision 1.6
usr.sbin/sysinst/install.c: revision 1.17
usr.sbin/sysinst/install.c: revision 1.18
usr.sbin/sysinst/partitions.h: revision 1.16
usr.sbin/sysinst/install.c: revision 1.19
usr.sbin/sysinst/partitions.h: revision 1.17
usr.sbin/sysinst/arch/evbppc/md.c: revision 1.9
usr.sbin/sysinst/arch/playstation2/md.c: revision 1.9
usr.sbin/sysinst/partitions.h: revision 1.18
usr.sbin/sysinst/arch/hpcarm/md.c: revision 1.9
usr.sbin/sysinst/partitions.h: revision 1.19
usr.sbin/sysinst/msg.mi.es: revision 1.24
usr.sbin/sysinst/msg.mi.es: revision 1.25
usr.sbin/sysinst/msg.mi.es: revision 1.26
usr.sbin/sysinst/arch/zaurus/md.c: revision 1.9
usr.sbin/sysinst/target.c: revision 1.13
usr.sbin/sysinst/target.c: revision 1.14
usr.sbin/sysinst/part_edit.c: revision 1.17
usr.sbin/sysinst/part_edit.c: revision 1.18
usr.sbin/sysinst/msg.mi.fr: revision 1.30
usr.sbin/sysinst/arch/mvme68k/md.c: revision 1.11
usr.sbin/sysinst/part_edit.c: revision 1.19
usr.sbin/sysinst/msg.mi.fr: revision 1.31
usr.sbin/sysinst/arch/alpha/md.c: revision 1.9
usr.sbin/sysinst/msg.mi.en: revision 1.30
usr.sbin/sysinst/defs.h: revision 1.56
usr.sbin/sysinst/msg.mi.en: revision 1.31
usr.sbin/sysinst/defs.h: revision 1.57
usr.sbin/sysinst/msg.mi.en: revision 1.32
usr.sbin/sysinst/arch/amiga/md.c: revision 1.6
usr.sbin/sysinst/arch/hpcmips/md.c: revision 1.9
usr.sbin/sysinst/defs.h: revision 1.58
usr.sbin/sysinst/arch/cats/md.c: revision 1.5
usr.sbin/sysinst/defs.h: revision 1.59
usr.sbin/sysinst/arch/newsmips/md.c: revision 1.6
usr.sbin/sysinst/arch/pmax/md.c: revision 1.8
usr.sbin/sysinst/arch/mipsco/md.c: revision 1.8
usr.sbin/sysinst/part_edit.c: revision 1.20
usr.sbin/sysinst/part_edit.c: revision 1.21
usr.sbin/sysinst/arch/macppc/md.c: revision 1.6
usr.sbin/sysinst/part_edit.c: revision 1.22
usr.sbin/sysinst/part_edit.c: revision 1.23
usr.sbin/sysinst/part_edit.c: revision 1.24
usr.sbin/sysinst/defs.h: revision 1.60
usr.sbin/sysinst/arch/mac68k/Makefile: revision 1.3
usr.sbin/sysinst/defs.h: revision 1.61
usr.sbin/sysinst/defs.h: revision 1.63
usr.sbin/sysinst/defs.h: revision 1.64
usr.sbin/sysinst/defs.h: revision 1.65
usr.sbin/sysinst/label.c: revision 1.21
usr.sbin/sysinst/defs.h: revision 1.66
usr.sbin/sysinst/label.c: revision 1.22
usr.sbin/sysinst/defs.h: revision 1.67
usr.sbin/sysinst/label.c: revision 1.23
usr.sbin/sysinst/label.c: revision 1.24
usr.sbin/sysinst/label.c: revision 1.25
usr.sbin/sysinst/label.c: revision 1.26
usr.sbin/sysinst/label.c: revision 1.27
usr.sbin/sysinst/msg.mi.pl: revision 1.31
usr.sbin/sysinst/label.c: revision 1.28
usr.sbin/sysinst/msg.mi.pl: revision 1.32
usr.sbin/sysinst/label.c: revision 1.29
usr.sbin/sysinst/arch/atari/md.c: revision 1.7
usr.sbin/sysinst/disklabel.c: revision 1.36
usr.sbin/sysinst/disklabel.c: revision 1.37
usr.sbin/sysinst/disklabel.c: revision 1.38
usr.sbin/sysinst/disklabel.c: revision 1.39
usr.sbin/sysinst/arch/bebox/md.c: revision 1.9
usr.sbin/sysinst/mbr.c: revision 1.32
usr.sbin/sysinst/disks.c: revision 1.66
usr.sbin/sysinst/mbr.c: revision 1.33
usr.sbin/sysinst/disks.c: revision 1.67
usr.sbin/sysinst/mbr.c: revision 1.34
usr.sbin/sysinst/arch/emips/md.c: revision 1.9
usr.sbin/sysinst/disks.c: revision 1.68
usr.sbin/sysinst/partitions.c: revision 1.11
usr.sbin/sysinst/mbr.c: revision 1.35
usr.sbin/sysinst/disks.c: revision 1.69
usr.sbin/sysinst/mbr.c: revision 1.36
usr.sbin/sysinst/arch/hppa/md.c: revision 1.8
usr.sbin/sysinst/arch/prep/md.c: revision 1.13
usr.sbin/sysinst/label.c: revision 1.30
usr.sbin/sysinst/arch/ews4800mips/md.c: revision 1.7
usr.sbin/sysinst/main.c: revision 1.21
usr.sbin/sysinst/main.c: revision 1.22
usr.sbin/sysinst/main.c: revision 1.23
usr.sbin/sysinst/bsddisklabel.c: revision 1.40
usr.sbin/sysinst/main.c: revision 1.24
usr.sbin/sysinst/arch/cobalt/md.h: revision 1.6
usr.sbin/sysinst/bsddisklabel.c: revision 1.41
usr.sbin/sysinst/main.c: revision 1.25
usr.sbin/sysinst/arch/news68k/md.c: revision 1.7
usr.sbin/sysinst/bsddisklabel.c: revision 1.42
usr.sbin/sysinst/bsddisklabel.c: revision 1.43
usr.sbin/sysinst/bsddisklabel.c: revision 1.44
usr.sbin/sysinst/bsddisklabel.c: revision 1.45
Use strlcpy in a few places to guarnatee 0-terminated strings
Rever previous: the d_packname in struct disklabel is not NUL terminated.
Disable the warning instead.
Do not force -Os optimization (unless SMALLPROG)
Remove unused "rel" global variable and make the -r option a no-op.
PR 55045: strlcpy(NULL, ..., 0) considered harmfull in some implementations.
PR misc/54886: bump threshold for automatic/default creation of a tmpfs /tmp
up slightly (to 384 MB ram). This will make sure the default install has
a > 64 MB /tmp available (number pulled out of thin air, 64 MB is the minimum
required by the ZFS tests).
Don't depend on common symbol definitions.
boardype should not be common.
Redo the root-size-limit check again after we grew the root partition
for kernel dumps. Auto-enable the /usr partition if it overflows.
For all non-root partitions, default to FFSv2.
When extending a partition (to fill the total disk size) do respect
size limits.
Do not suggest a size limited partition for extension by default.
Minor tweak to previous: when forcing a /usr partition just to have an
arbitrary extendable partition, still use its default size initially.
At the end of a new installation save entropy.
Ooops, backout previous - twice the entropy saving is not needed.
Instead slightly improve the (slightly) hidden other code that already
did it.
PR 55202: disable swapping if we started it due to low ram
it's "its"
Remove "If you booted from a floppy" message
Set HAVE_INSTALL_IMAGE for evbarm
Change mountpoint of boot ext2fs from /stand to /ext2 to avoid conflict.
Should be pulled up to netbsd-9, with fixes of PR/55060.
MBR type for Ext2 should be MBR_PTYPE_LNXEXT2, not MBR_PTYPE_FAT12.
Silence -Wstringop-truncation for ``name'' in disp_selected_part().
This variable is used only for display, and truncation seems harmless.
PR 55572: avoid crash when answering the mount point prompt for a previously
empty mount point with an emptry sting.
When adding a new partition in the concrete partition editor, make sure
to set a pointer to the partition table interface in the new entry.
Otherwise we may end up not writing back the partitions at all, leading
to further fallout later.
Receipe to reproduce the issue from Frederic Fauberteau, thanks!
In the concrete partitions editor, after deleting the last partition move
the menu selection to the "add a partition" entry (instead of the sentinel
line which is not an active menu entry).
Typo in comment
Keep a list of all partition tables from which we have deleted partitions
and make sure we update those partition tables when writing partitions,
even if no install related partition remains on them.
Fix display of timezone selection menu
If there is no current partitioning manager assume we are editing the
current system and make target_already_root() return true.
Fixes various fallout when using sysinst post installation.
PR 55377: mark boot partitions in the partition size display, as suggested
by Izumi Tsutsui (minor modifications + all bugs by me)
PR 55378: do not assume RAW_PART to be either 2 or 3
PR 55379: avoid creating bogus /etc/fstab lines for /dev/cd* if no
cdrom is available.
PR 55381: try to deal with moved (but not yet saved) partitions when
calculating free space
Apply patch provided by Izumi Tsutsui in PR 55382: make ext2 partitions
show up in the outer (MBR) partition table, needed for example on Cobalt
where firmware boots from that partition.
PR 55384: detangle pm->ptstart from the "install" flag (selecting a
target partition). Instead introduce a new PTI_INSTALL_TARGET per partition
flag and deal with it in the partitioning backends.
Honour pm->ptstart when allocating new partitions - it is supposed to be
the first sector usable by NetBSD.
If we have no explicitly marke target root partition, make sure to set
the proper flag on the implicit one.
When merging existing partitions with desired target system layout
information, only force the "mount" flag if the existing partitions
has a valid mount point.
Add a heuristic to detect and properly mark EFI system partitions
when re-using pre-existing partitions.
When MD code requests a reserved area (at the start of the disk)
make sure to properly account for the "lost" space during all calculations
and especially when expanding the main partition to fill the disk.
Avoid using the global "pm" or a passed device descriptons when we are
passing disk limits explicitly anyway.
Simplify/fix a few rounding calculations.
When creating new partitions for "full disk" use, pass a install target
hint to the partitioning backend (for the outer NetBSD partition).
Use an install target hint to mark a new partition active.
When compiled with BOOTSEL support, also name the new partition "NetBSD".
Remove more pm->ptstart abuse - calculate values localy where needed
instead.
Fix editing start and size of not yet existing outer partitions.
Previously we abused pm->ptstart / pm->ptsize to pass the bounds of the
NetBSD outer partition to the inner partition editor - but now this is
not a valid assumption any more, so explicitly fix the bounds if an
outer partition exists.
Remove very strange code that special-cased MSDOS file systems and refused
to newfs the partition (despite explicit request to do so) if it was
mountable.
Accidently carried over from a dim and distant past, before we had
fsck_newfs.
PR 55536: when we find existing partition tables and have alternative
formats available, offer to delete partitions and create new ones from
scratch (in some other or the same on-disk format).
Minor fix to previous: fix condition when we offer the partition type
switch - it makes sense even if the disk is partitioned but has no valid
partitions.
Before forcing MBR partitions into our disklabel, make sure they are not
there yet - could happen in various paths when reusing existing partitions
(or parts of that) - previously we would blindly duplicate identical
partitions.
Ooops, part of previous was not meant to be included yet
When renumbering partitions (after deletions) be slightly more lax
in matching, to cope with differences between MBR EFI partitions and
disklabel MSDOS partitions.
PR 55142: on popular demand bring back expert options to adjust the
number of free inodes, block size and fragment size for FFS and LFS.
Fix copy & pasto noticed by Jason Mitchell: change the type of a GPT
partition via "gpt type" - not "gpt label".
Fix copy & pasto (missing "again" label)
Remove dead code
Move MBR writing (if any) post disklabel writing, otherwise strange
interactions happen.
Properly convert partition default sizes in MB to number of sectors
 1.17.2.8 10-Feb-2020  bouyer Pull up following revision(s) (requested by martin in ticket #693):
usr.sbin/sysinst/arch/x68k/msg.md.en: revision 1.2
usr.sbin/sysinst/arch/x68k/md.c: revision 1.10
usr.sbin/sysinst/arch/mvme68k/msg.md.fr: revision 1.2
usr.sbin/sysinst/arch/x68k/msg.md.en: revision 1.3
usr.sbin/sysinst/arch/mvme68k/msg.md.fr: revision 1.3
usr.sbin/sysinst/msg.mi.en: revision 1.28
usr.sbin/sysinst/arch/hp300/md.c: revision 1.10
usr.sbin/sysinst/msg.mi.es: revision 1.22
usr.sbin/sysinst/target.c: revision 1.12
usr.sbin/sysinst/arch/mvme68k/md.c: revision 1.10
usr.sbin/sysinst/arch/i386/md.c: revision 1.30
usr.sbin/sysinst/arch/mvme68k/msg.md.pl: revision 1.2
usr.sbin/sysinst/arch/mvme68k/msg.md.pl: revision 1.3
usr.sbin/sysinst/bsddisklabel.c: revision 1.39
usr.sbin/sysinst/arch/mvme68k/msg.md.de: revision 1.2
usr.sbin/sysinst/arch/mac68k/md.c: revision 1.9
usr.sbin/sysinst/disklabel.c: revision 1.35
usr.sbin/sysinst/arch/mvme68k/msg.md.de: revision 1.3
usr.sbin/sysinst/defs.h: revision 1.55
usr.sbin/sysinst/disks.c: revision 1.63
usr.sbin/sysinst/disks.c: revision 1.64
usr.sbin/sysinst/mbr.c: revision 1.31
usr.sbin/sysinst/disks.c: revision 1.65
usr.sbin/sysinst/txtwalk.c: revision 1.3
usr.sbin/sysinst/txtwalk.c: revision 1.4
usr.sbin/sysinst/arch/mvme68k/msg.md.en: revision 1.2
usr.sbin/sysinst/arch/mvme68k/msg.md.en: revision 1.3
usr.sbin/sysinst/msg.mi.fr: revision 1.26
usr.sbin/sysinst/msg.mi.pl: revision 1.29
usr.sbin/sysinst/arch/mvme68k/msg.md.es: revision 1.2
usr.sbin/sysinst/upgrade.c: revision 1.15
usr.sbin/sysinst/arch/mvme68k/msg.md.es: revision 1.3
usr.sbin/sysinst/upgrade.c: revision 1.16
usr.sbin/sysinst/partman.c: revision 1.50
usr.sbin/sysinst/msg.mi.de: revision 1.21
remove unused "emptypart" message (or moved to ifdef notyet area)
PR install/54921: message "ordering" takes a %s argument.
PR install/54921: skip non-user partitions when checking for overlaps
bootxx_name() - fix oversight in previous change (do not assume first
partition is the root partition)
PR install/54934: always use -f on the installboot invocation. We come
here post-newfs (and maybe should have dd'd zeros to the start of the
disk before newfs instead).
Remove a bogus assert: when reading disklabel partitions and the outer
(MBR) partitioning has changed, but the changes have not yet been written
back to disk, we need to ignore the kernels idea of the disklabel and
instead continue with an empty one.
Deal with partitioning schemes having no inner counterpart.
Avoid NULL derefs.
Do not assum a partitioning scheme that supports innner partitions always
needs to actually have such partitions defined.
PR bin/54944: deal with escaped spaces in NAME= syntax in /etc/fstab.
PR bin/54944: explicitly reject GPT protective MBRs.
PR bin/54944: make the "explicit single wedge" selection also work for
upgrades.
Reformat a query to add an automatically detected swap partition
so it fits on narrow screens.
Make re-install sets also work for an explicit selected root wedge
Fix copy&pasto in previous - from kre.
Only a single partition can ever have the "extend" flag (grow to available
size).
Do not use -P for tar extractions - the in tree tar has been fixed.
Finish conversion to generic partitioning backend
 1.17.2.7 28-Jan-2020  msaitoh Pull up following revision(s) (requested by martin in ticket #668):
usr.sbin/sysinst/arch/cobalt/md.c: revision 1.11
usr.sbin/sysinst/arch/cobalt/md.c: revision 1.12
usr.sbin/sysinst/arch/arc/md.c: revision 1.11
usr.sbin/sysinst/arch/arc/md.c: revision 1.12
usr.sbin/sysinst/partman.c: revision 1.43
usr.sbin/sysinst/partman.c: revision 1.46
usr.sbin/sysinst/partman.c: revision 1.47
usr.sbin/sysinst/partman.c: revision 1.48
usr.sbin/sysinst/partman.c: revision 1.49
usr.sbin/sysinst/msg.pm.fr: revision 1.2
usr.sbin/sysinst/upgrade.c: revision 1.14
usr.sbin/sysinst/arch/i386/md.c: revision 1.28
usr.sbin/sysinst/arch/i386/md.c: revision 1.29
usr.sbin/sysinst/arch/ofppc/md.c: revision 1.9
usr.sbin/sysinst/arch/sandpoint/md.c: revision 1.7
usr.sbin/sysinst/arch/sandpoint/md.c: revision 1.8
usr.sbin/sysinst/gpt.c: revision 1.14
usr.sbin/sysinst/gpt.c: revision 1.15
usr.sbin/sysinst/arch/luna68k/md.c: revision 1.8
usr.sbin/sysinst/gpt.c: revision 1.16
usr.sbin/sysinst/msg.pm.de: revision 1.2
usr.sbin/sysinst/arch/evbarm/md.c: revision 1.11
usr.sbin/sysinst/arch/evbarm/md.c: revision 1.12
usr.sbin/sysinst/arch/evbarm/md.c: revision 1.13
usr.sbin/sysinst/arch/evbarm/md.c: revision 1.14
usr.sbin/sysinst/sizemultname.c: revision 1.4
usr.sbin/sysinst/msg.pm.en: revision 1.2
usr.sbin/sysinst/arch/landisk/md.c: revision 1.12
usr.sbin/sysinst/util.c: revision 1.41
usr.sbin/sysinst/arch/landisk/md.c: revision 1.13
usr.sbin/sysinst/util.c: revision 1.42
usr.sbin/sysinst/arch/ofppc/md.c: revision 1.10
usr.sbin/sysinst/partitions.c: revision 1.9
usr.sbin/sysinst/arch/evbarm/md.h: revision 1.4
usr.sbin/sysinst/arch/evbarm/md.h: revision 1.5
usr.sbin/sysinst/arch/evbmips/md.c: revision 1.7
usr.sbin/sysinst/arch/evbmips/md.c: revision 1.8
usr.sbin/sysinst/msg.mi.fr: revision 1.25
usr.sbin/sysinst/msg.mi.de: revision 1.20
usr.sbin/sysinst/install.c: revision 1.14
usr.sbin/sysinst/partitions.h: revision 1.13
usr.sbin/sysinst/partitions.h: revision 1.14
usr.sbin/sysinst/arch/evbppc/md.c: revision 1.7
usr.sbin/sysinst/arch/playstation2/md.c: revision 1.7
usr.sbin/sysinst/msg.mi.en: revision 1.27
usr.sbin/sysinst/partitions.h: revision 1.15
usr.sbin/sysinst/arch/evbppc/md.c: revision 1.8
usr.sbin/sysinst/arch/hpcarm/md.c: revision 1.7
usr.sbin/sysinst/arch/playstation2/md.c: revision 1.8
usr.sbin/sysinst/msg.pm.pl: revision 1.2
usr.sbin/sysinst/arch/hpcarm/md.c: revision 1.8
usr.sbin/sysinst/msg.mi.es: revision 1.21
usr.sbin/sysinst/arch/zaurus/md.c: revision 1.7
usr.sbin/sysinst/target.c: revision 1.11
usr.sbin/sysinst/arch/zaurus/md.c: revision 1.8
usr.sbin/sysinst/part_edit.c: revision 1.14
usr.sbin/sysinst/part_edit.c: revision 1.15
usr.sbin/sysinst/part_edit.c: revision 1.16
usr.sbin/sysinst/defs.h: revision 1.50
usr.sbin/sysinst/defs.h: revision 1.51
usr.sbin/sysinst/defs.h: revision 1.52
usr.sbin/sysinst/defs.h: revision 1.53
usr.sbin/sysinst/defs.h: revision 1.54
usr.sbin/sysinst/arch/hpcmips/md.c: revision 1.7
usr.sbin/sysinst/arch/hpcmips/md.c: revision 1.8
usr.sbin/sysinst/arch/hpcsh/md.c: revision 1.8
usr.sbin/sysinst/msg.pm.es: revision 1.2
usr.sbin/sysinst/arch/hpcsh/md.c: revision 1.9
usr.sbin/sysinst/label.c: revision 1.18
usr.sbin/sysinst/label.c: revision 1.19
usr.sbin/sysinst/net.c: revision 1.35
usr.sbin/sysinst/msg.mi.pl: revision 1.28
usr.sbin/sysinst/disklabel.c: revision 1.28
usr.sbin/sysinst/disklabel.c: revision 1.29
usr.sbin/sysinst/mbr.c: revision 1.24
usr.sbin/sysinst/disks.c: revision 1.59
usr.sbin/sysinst/mbr.c: revision 1.25
usr.sbin/sysinst/mbr.c: revision 1.26
usr.sbin/sysinst/mbr.c: revision 1.27
usr.sbin/sysinst/mbr.c: revision 1.28
usr.sbin/sysinst/label.c: revision 1.20
usr.sbin/sysinst/mbr.c: revision 1.29
usr.sbin/sysinst/bsddisklabel.c: revision 1.34
usr.sbin/sysinst/bsddisklabel.c: revision 1.35
usr.sbin/sysinst/bsddisklabel.c: revision 1.36
usr.sbin/sysinst/bsddisklabel.c: revision 1.37
usr.sbin/sysinst/disklabel.c: revision 1.30
usr.sbin/sysinst/bsddisklabel.c: revision 1.38
usr.sbin/sysinst/disklabel.c: revision 1.31
usr.sbin/sysinst/disklabel.c: revision 1.32
usr.sbin/sysinst/disklabel.c: revision 1.33
usr.sbin/sysinst/disklabel.c: revision 1.34
usr.sbin/sysinst/disks.c: revision 1.60
usr.sbin/sysinst/disks.c: revision 1.61
usr.sbin/sysinst/arch/bebox/md.c: revision 1.7
usr.sbin/sysinst/disks.c: revision 1.62
usr.sbin/sysinst/arch/bebox/md.c: revision 1.8
usr.sbin/sysinst/mbr.c: revision 1.30
usr.sbin/sysinst/partitions.c: revision 1.10
usr.sbin/sysinst/arch/prep/md.c: revision 1.11
usr.sbin/sysinst/arch/prep/md.c: revision 1.12
usr.sbin/sysinst/menus.pm: revision 1.3
usr.sbin/sysinst/main.c: revision 1.20
usr.sbin/sysinst/menus.mi: revision 1.20
usr.sbin/sysinst/menus.mi: revision 1.21
avoid calling snprintf/strlcat with an input parameter the same
as the output. from martin@. fixes gcc 8 restrict warnings.
Finish conversion of extended partitioning parts to new abstract
backend interface. XXX still could use a lot of polishing.
Instead of a (bogus) attempt to query the model via ofctl, use the (now
fixed) sysctl hw.model instead.
When reading the secondary disklabel partitions from an existing disklabel
set the mbr partitions as parent.
Move the LABELSECTOR check and make it FS type specific - some partition
types (FFS, RAID) are allowed to overlap with the LABELSECTOR.
When asked to create a whole-disk partition for unknown usage, do not only
assert(false), but actually return an error (in case "assert" is a nop).
PR install/54787: when trying to derive proper alignement and first offset
from exisiting partitions, use the first partition offset if it is already
closer to the start of the disk than the prefered alignment - we can not
move existing partitions around.
Fix handling of inner/outer partitions (e.g. MBR and disklabel) in
extended partitioning:
- when editing a disk with such a schme, offer both partitions in two
steps
- when commiting changes save the inner partitions after the outer ones
Add a method to query the partitioning schemes "internal idea" of a
cylinder size - whatever that means in the real world.
Avoid using the global "pm" variable in utility functions - during
extended partitioning they may point to a different device.
Remove useless calls to get_ramsize() - return value is ignored and
the function has no side effects.
Fix /tmp tmpfs handling and on machines with enough RAM default to
creating a /tmp tmpfs with 25% of ram size limit. Suggested by ad@.
PR install/54872: fix printf argument order, sectors and heads were
swapped in the bios geometry display.
First try to bring evbarm installation closer to current reality.
hide disklabel_non_bootable() under NO_DISKLABEL_BOOT like the usage.
should fix most builds.
Deal with even stranger fictious empty disklabels (PR kern/54882).
Factor out all RAM size thresholds as defines to avoid magic numbers.
To work around PR misc/54886 bump the threshold for a tmpfs /tmp mount
up to 256 MB.
When retrying sets during extraction, reset the relevant statistics
to avoid counting retried sets multiple times.
Reported by kim.
Fix support for non-512-byte/sector disks again after I broke it when
introducing the abstract partition backends.
Use a few strlcpy() instead of strncpy() for network ioctl structs.
We seem to have no formal documentation stating the various
char if*_name[IFNAMSIZ]; /* if name, e.g. "en0" */
elements in ioctls are nul terminated, but the peanut gallery claims
it is so - and at least half of the code in-tree touching them agrees.
Too much disklabel magic happening in the kernel - to compensate force
MBR first when trying to identify the existing partitioning scheme of
a disk.
 1.17.2.6 17-Dec-2019  msaitoh Pull up following revision(s) (requested by martin in ticket #560):
usr.sbin/sysinst/partitions.h: revision 1.11
usr.sbin/sysinst/defs.h: revision 1.49
usr.sbin/sysinst/mbr.c: revision 1.23
usr.sbin/sysinst/msg.mi.en: revision 1.26
usr.sbin/sysinst/disks.c: revision 1.58
usr.sbin/sysinst/arch/evbarm/menus.md.pl: revision 1.2
usr.sbin/sysinst/msg.mi.es: revision 1.20
usr.sbin/sysinst/arch/mvme68k/md.c: revision 1.9
usr.sbin/sysinst/gpt.c: revision 1.13
usr.sbin/sysinst/arch/evbarm/md.c: revision 1.10
usr.sbin/sysinst/arch/arc/md.c: revision 1.10
usr.sbin/sysinst/disklabel.c: revision 1.18
usr.sbin/sysinst/bsddisklabel.c: revision 1.33
usr.sbin/sysinst/disklabel.c: revision 1.19
usr.sbin/sysinst/main.c: revision 1.19
usr.sbin/sysinst/partman.c: revision 1.45
usr.sbin/sysinst/arch/alpha/md.c: revision 1.7
usr.sbin/sysinst/msg.mi.de: revision 1.19
usr.sbin/sysinst/arch/evbarm/menus.md.en: revision 1.2
usr.sbin/sysinst/arch/x68k/md.h: revision 1.4
usr.sbin/sysinst/arch/x68k/md.c: revision 1.9
usr.sbin/sysinst/arch/evbarm/menus.md.es: revision 1.2
usr.sbin/sysinst/wskbd.c: revision 1.4
usr.sbin/sysinst/label.c: revision 1.15
usr.sbin/sysinst/arch/amiga/md.h: revision 1.5
usr.sbin/sysinst/label.c: revision 1.16
usr.sbin/sysinst/arch/hp300/md.c: revision 1.9
usr.sbin/sysinst/arch/emips/md.c: revision 1.8
usr.sbin/sysinst/label.c: revision 1.17
usr.sbin/sysinst/arch/pmax/md.c: revision 1.7
usr.sbin/sysinst/partitions.c: revision 1.6
usr.sbin/sysinst/arch/prep/md.c: revision 1.10
usr.sbin/sysinst/arch/mipsco/md.c: revision 1.7
usr.sbin/sysinst/partitions.c: revision 1.7
usr.sbin/sysinst/partitions.c: revision 1.8
usr.sbin/sysinst/arch/ews4800mips/md.c: revision 1.5
usr.sbin/sysinst/disklabel.c: revision 1.20
usr.sbin/sysinst/arch/evbarm/menus.md.fr: revision 1.2
usr.sbin/sysinst/msg.mi.fr: revision 1.24
usr.sbin/sysinst/disklabel.c: revision 1.21
usr.sbin/sysinst/partitions.h: revision 1.9
usr.sbin/sysinst/msg.mi.pl: revision 1.27
usr.sbin/sysinst/disklabel.c: revision 1.22
usr.sbin/sysinst/disklabel.c: revision 1.23
usr.sbin/sysinst/arch/i386/md.c: revision 1.27
usr.sbin/sysinst/disklabel.c: revision 1.24
usr.sbin/sysinst/disklabel.c: revision 1.25
usr.sbin/sysinst/arch/cobalt/md.h: revision 1.5
usr.sbin/sysinst/disklabel.c: revision 1.26
usr.sbin/sysinst/disklabel.c: revision 1.27
usr.sbin/sysinst/partitions.h: revision 1.10
usr.sbin/sysinst/arch/cobalt/md.c: revision 1.10
PR install/54582: allow MD code to disable on-disk presence verification
of "real" disklabels. Auto-enable this (at run time) when there is no other
partitioning scheme but disklabel configured.
Hard-coded enable this for x68k to allow using kernel based translations
for native Human68k partitions.
Get rid of the evbarm preliminary menu: do not bother to ask the user
whether this is a RPi - query the FDT instead.
PR 54065: add optional "old compat" variant of ext2fs in file system
type selection and use that as default for the cobalt boot file system.
For now rely on the kernel mapping native RDB partitions.
Fix detection of existing disklabels in the case when we only have
the disklabel partitioning scheme available.
Fix DISKLABEL_NO_ONDISK_VERIFY (accidently disabled in previous)
Fix inverted comparison
Do not try to change the keyboard layout if we are not running on the
console.
When trying to tell a fictious but empty label from a real one, skip
partition a if it has the same start and size as the raw partition.
Remove bogus assert.
When finding (paritioning scheme native) partition types for file systems
from our install description, pass the partition type (not only the file
system type). Sometimes (e.g. EFI boot partition on GPT) the filesystem
type (MSDOS) is not a unique selector.
Adapt MD parts to changes in get_fs_part_type (pass partition type).
If a fictious label has no RAW_PART assume there is no valid disk label.
Pass proper track size when initializing the default alignment - this is
important with sunlabels.
Fix overlapping partitions display
Reject (what we consider) empty/invalid fake disklabels no matter whether
we have other partitioning schemes available or not.
Do not show disklabel command invocation by default (only if there are
errors).
After installing boot blocks with RUN_NO_CLEAR (and handling the
potential errors) make sure to clear the stdscreen.
 1.17.2.5 17-Nov-2019  msaitoh Pull up following revision(s) (requested by martin in ticket #436):
usr.sbin/sysinst/disks.c: revision 1.55
usr.sbin/sysinst/msg.mi.en: revision 1.24
usr.sbin/sysinst/mbr.c: revision 1.22
usr.sbin/sysinst/disks.c: revision 1.56
usr.sbin/sysinst/msg.mi.en: revision 1.25
usr.sbin/sysinst/disks.c: revision 1.57
usr.sbin/sysinst/arch/playstation2/msg.md.pl: revision 1.3
usr.sbin/sysinst/Makefile.inc: revision 1.30
usr.sbin/sysinst/configmenu.c: revision 1.11
usr.sbin/sysinst/util.c: revision 1.35
usr.sbin/sysinst/gpt.c: revision 1.12
usr.sbin/sysinst/util.c: revision 1.36
usr.sbin/sysinst/arch/playstation2/msg.md.de: revision 1.3
usr.sbin/sysinst/arch/i386/menus.md: revision 1.3
usr.sbin/sysinst/util.c: revision 1.37
usr.sbin/sysinst/part_edit.c: revision 1.11
usr.sbin/sysinst/arch/i386/msg.md.en: revision 1.2
usr.sbin/sysinst/util.c: revision 1.38
usr.sbin/sysinst/part_edit.c: revision 1.12
usr.sbin/sysinst/arch/i386/msg.md.en: revision 1.3
usr.sbin/sysinst/util.c: revision 1.39
usr.sbin/sysinst/part_edit.c: revision 1.13
usr.sbin/sysinst/arch/i386/msg.md.en: revision 1.4
usr.sbin/sysinst/disklabel.c: revision 1.15
usr.sbin/sysinst/bsddisklabel.c: revision 1.30
usr.sbin/sysinst/arch/i386/msg.md.es: revision 1.2
usr.sbin/sysinst/bsddisklabel.c: revision 1.31
usr.sbin/sysinst/arch/i386/msg.md.es: revision 1.3
usr.sbin/sysinst/arch/i386/msg.md.es: revision 1.4
usr.sbin/sysinst/mbr.h: revision 1.4
usr.sbin/sysinst/main.c: revision 1.18
usr.sbin/sysinst/partman.c: revision 1.44
usr.sbin/sysinst/msg.mi.de: revision 1.17
usr.sbin/sysinst/arch/i386/msg.md.fr: revision 1.2
usr.sbin/sysinst/msg.mi.de: revision 1.18
usr.sbin/sysinst/arch/i386/msg.md.fr: revision 1.3
usr.sbin/sysinst/arch/playstation2/msg.md.en: revision 1.3
usr.sbin/sysinst/arch/i386/msg.md.fr: revision 1.4
usr.sbin/sysinst/arch/amd64/md.c: revision 1.2
usr.sbin/sysinst/arch/ews4800mips/Makefile: revision 1.3
usr.sbin/sysinst/arch/playstation2/msg.md.es: revision 1.3
usr.sbin/sysinst/label.c: revision 1.13
usr.sbin/sysinst/Makefile.inc: revision 1.29
usr.sbin/sysinst/label.c: revision 1.14
usr.sbin/sysinst/util.c: revision 1.40
usr.sbin/sysinst/partitions.c: revision 1.5
usr.sbin/sysinst/arch/amd64/md.h: revision 1.8
usr.sbin/sysinst/msg.mi.es: revision 1.18
usr.sbin/sysinst/net.c: revision 1.34
usr.sbin/sysinst/msg.mi.es: revision 1.19
usr.sbin/sysinst/arch/i386/msg.md.pl: revision 1.2
usr.sbin/sysinst/arch/i386/md.c: revision 1.22
usr.sbin/sysinst/msg.mi.fr: revision 1.22
usr.sbin/sysinst/arch/playstation2/msg.md.fr: revision 1.3
usr.sbin/sysinst/arch/i386/msg.md.pl: revision 1.3
usr.sbin/sysinst/arch/i386/md.c: revision 1.23
usr.sbin/sysinst/msg.mi.pl: revision 1.25
usr.sbin/sysinst/msg.mi.fr: revision 1.23
usr.sbin/sysinst/arch/i386/msg.md.pl: revision 1.4
usr.sbin/sysinst/arch/i386/md.c: revision 1.24
usr.sbin/sysinst/partitions.h: revision 1.8
usr.sbin/sysinst/msg.mi.pl: revision 1.26
usr.sbin/sysinst/arch/i386/msg.md.de: revision 1.2
usr.sbin/sysinst/arch/i386/msg.md.de: revision 1.3
usr.sbin/sysinst/arch/i386/msg.md.de: revision 1.4
usr.sbin/sysinst/run.c: revision 1.13
usr.sbin/sysinst/defs.h: revision 1.46
usr.sbin/sysinst/install.c: revision 1.12
usr.sbin/sysinst/defs.h: revision 1.47
usr.sbin/sysinst/install.c: revision 1.13
usr.sbin/sysinst/defs.h: revision 1.48
Add options to the various partitioning stages that allow cloning of
alien partitions (optionally including data).
PR 54467: we trust our own sets, extract them with -P to allow symlink
redirection (especially for updates and chroot services - back out
once a better solution for those is implemented)
Make cloning support optional, so we can save some space on very small
install media.
Drop MBR and cloning support on crunched install media.
Make tar extraction flags depend on our usage of pax-as-tar or bsdtar.
Fix missing newlines in bios match display, pointed out by maxv.
Drop unused variable.
Fix table of bios geomatries
knf style adjustments
Make the bootblock selection menu more sane, pointed out by maxv
Make sure all menus have a translatable exit option (or none at all).
On amd64 support installation with a KASLR kernel, via "custom install"
and selecting the GENERIC_KASLR kernel set.
Setup /prekern and boot.cfg accordingly.
 1.17.2.4 17-Nov-2019  martin Pull up following revision(s) (requested by maya in ticket #435):

distrib/sets/maketars: revision 1.90
usr.sbin/sysinst/arch/playstation2/md.h: revision 1.2
usr.sbin/sysinst/arch/sandpoint/md.h: revision 1.3
usr.sbin/sysinst/arch/evbppc/md.h: revision 1.3
usr.sbin/sysinst/arch/hpcarm/md.h: revision 1.3
usr.sbin/sysinst/arch/mvme68k/md.h: revision 1.3
distrib/sun3/MakeInstTape: revision 1.3
usr.sbin/sysinst/util.c: revision 1.33
distrib/sets/lists/rescue/mi: revision 1.1
distrib/sets/lists/base/rescue.sun2: file removal
usr.sbin/sysinst/arch/zaurus/md.h: revision 1.3
distrib/sets/lists/base/rescue.ad.m68k.shl: file removal
distrib/sets/regpkgset: revision 1.13
usr.sbin/sysinst/arch/i386/md.h: revision 1.7
distrib/sets/lists/base/rescue.sparc: file removal
distrib/notes/mvme68k/xfer: revision 1.19
distrib/sets/sets.subr: revision 1.187
distrib/common/bootimage/Makefile.bootimage: revision 1.22
usr.sbin/sysinst/msg.mi.de: revision 1.16
usr.sbin/sysinst/arch/atari/md.h: revision 1.3
rescue/Makefile: revision 1.38
distrib/sets/lists/base/rescue.macppc: file removal
usr.sbin/sysinst/arch/arc/md.h: revision 1.4
distrib/miniroot/install.sub: revision 1.49
usr.sbin/sysinst/arch/acorn32/md.h: revision 1.3
usr.sbin/sysinst/arch/x68k/md.h: revision 1.3
usr.sbin/sysinst/arch/hpcmips/md.h: revision 1.3
usr.sbin/sysinst/arch/bebox/md.h: revision 1.3
usr.sbin/sysinst/arch/hpcsh/md.h: revision 1.2
distrib/sets/lists/base/rescue.shark: file removal
usr.sbin/sysinst/arch/emips/md.h: revision 1.5
distrib/utils/embedded/mkimage: revision 1.70
usr.sbin/sysinst/arch/shark/md.h: revision 1.3
usr.sbin/sysinst/arch/pmax/md.h: revision 1.4
usr.sbin/sysinst/arch/amiga/md.h: revision 1.4
usr.sbin/sysinst/arch/hp300/md.h: revision 1.5
rescue/list.ldconfig: file removal
distrib/sets/lists/base/rescue.ad.m68k: file removal
usr.sbin/sysinst/arch/prep/md.h: revision 1.4
usr.sbin/sysinst/arch/cats/md.h: revision 1.4
usr.sbin/sysinst/arch/amd64/md.h: revision 1.7
usr.sbin/sysinst/msg.mi.es: revision 1.17
usr.sbin/sysinst/msg.mi.fr: revision 1.20
usr.sbin/sysinst/msg.mi.pl: revision 1.23
distrib/sets/lists/base/rescue.i386: file removal
usr.sbin/sysinst/arch/evbarm/md.h: revision 1.3
distrib/sets/lists/base/rescue.vax: file removal
distrib/amd64/uefi-installimage/Makefile.bootimage: revision 1.12
usr.sbin/sysinst/arch/evbmips/md.h: revision 1.3
distrib/sets/lists/base/rescue.mi: file removal
distrib/sets/README: revision 1.14
usr.sbin/sysinst/arch/sgimips/md.h: revision 1.4
distrib/sets/lists/base/rescue.sparc64: file removal
distrib/sets/lists/base/rescue.mi: revision 1.45
distrib/sets/lists/base/rescue.mi: revision 1.46
usr.sbin/sysinst/arch/ofppc/md.h: revision 1.4
usr.sbin/sysinst/arch/cobalt/md.h: revision 1.4
distrib/sets/lists/base/rescue.ad.arm: file removal
distrib/sets/lists/base/rescue.mac68k: file removal
usr.sbin/sysinst/defs.h: revision 1.45
usr.sbin/sysinst/arch/landisk/md.h: revision 1.2
distrib/notes/atari/xfer: revision 1.17
etc/Makefile: revision 1.441
usr.sbin/sysinst/msg.mi.en: revision 1.22
distrib/sun2/MakeInstTape: revision 1.2

Remove ldconfig from /rescue, and mark it MI obsolete.
- ldconfig in netbsd refers to a.out binaries only. We've been ELF-only
since NetBSD 2.0 or so, and having it in /rescue served little purpose
even before that, as /rescue is standalone.
- Using MI obsolete to avoid the need for MD set lists where ldconfig
is the sole entry

Mark /rescue/edlabel as MI-obsolete, so we can remove all remaining MD
rescue set list files.

Split out /rescue to its own set and adapt installers/images to add it.

This is meant to make updates safer: if something goes wrong with updating
base, we still have the old, standalone /rescue to recover from.
 1.17.2.3 23-Oct-2019  msaitoh Pull up following revision(s) (requested by martin in ticket #363):
usr.sbin/sysinst/msg.mi.en: revision 1.23
usr.sbin/sysinst/msg.mi.fr: revision 1.21
Sentence begins with capital letter ("yes or no?"). Also add a few french
sentences, to make it less awful, but not complete. Not tested.
 1.17.2.2 18-Aug-2019  msaitoh Pull up following revision(s) (requested by martin in ticket #82):
usr.sbin/sysinst/util.c: revision 1.30
usr.sbin/sysinst/msg.mi.fr: revision 1.19
usr.sbin/sysinst/msg.mi.de: revision 1.15
usr.sbin/sysinst/msg.mi.es: revision 1.16
usr.sbin/sysinst/msg.mi.pl: revision 1.22
usr.sbin/sysinst/msg.mi.en: revision 1.21
PR 54473: fix error prompt when a set file is missing
 1.17.2.1 18-Aug-2019  msaitoh Pull up following revision(s) (requested by martin in ticket #78):
usr.sbin/sysinst/gpt.c: revision 1.10
usr.sbin/sysinst/disklabel.c: revision 1.12
usr.sbin/sysinst/msg.mi.fr: revision 1.18
usr.sbin/sysinst/msg.mi.de: revision 1.14
usr.sbin/sysinst/partitions.c: revision 1.2
usr.sbin/sysinst/msg.mi.es: revision 1.15
usr.sbin/sysinst/msg.mi.pl: revision 1.21
usr.sbin/sysinst/partitions.h: revision 1.6
usr.sbin/sysinst/msg.mi.en: revision 1.20
usr.sbin/sysinst/mbr.c: revision 1.20
On architectures that usually do MBR/disklabel, nevertheless deal with
pure/plain disklabel disks, and explicitly offer this as partitioning
option when bootability is not a concern.
 1.44.2.1 02-Nov-2023  sborrill Pull up the following revisions(s) (requested by martin in ticket #442):
usr.sbin/sysinst/label.c: revision 1.49
usr.sbin/sysinst/msg.mi.de: revision 1.44
usr.sbin/sysinst/msg.mi.en: revision 1.47
usr.sbin/sysinst/msg.mi.es: revision 1.40
usr.sbin/sysinst/msg.mi.fr: revision 1.45
usr.sbin/sysinst/msg.mi.pl: revision 1.46

Switch to "-" (single minus) as input denotation for "no mount point"
in all translations and adjust the code accordingly.
 1.47.2.1 02-Aug-2025  perseant Sync with HEAD
 1.50 25-Jul-2025  martin On install media where we can check trust anchors, offer explicit
download of sets via https.
 1.49 25-Apr-2024  hannken branches: 1.49.2;
Increase length of set description to 40 characters so recent additions fit.

Ok: martin@

Fixes PR install/58188 "sysinst fails to display status of base32 set"
 1.48 22-Apr-2024  nia Move MIPS N64 compat out of {base,debug}32 into {base,debug}64

martin requested separation by ABI and it doesn't make much sense
to have 64-bit binaries in a set called 32.
 1.47 09-Apr-2024  nia Add new sets: base32, debug32, manhtml

- base32 contains (when MKCOMPAT=yes) shared libraries for 32-bit
compatibility, previously included in base

- debug32 contains (when MKCOMPAT=yes) debug symbols and static libraries
containing debug symbols for 32-bit compatiblity, previously included
in debug

- manhtml contains (when MKHTML=yes) the HTML files previously included
in 'man', which are of limited utility without third-party software.

The motivation for this change is to be able to easily exclude sets
from CD-ROM images that go over the size limit without xz compression
(which many NetBSD platforms struggle to extract at acceptable speeds).
 1.46 31-Oct-2023  martin Switch to "-" (single minus) as input denotation for "no mount point"
in all translations and adjust the code accordingly.
Pointed out by Thierry Laronde.
 1.45 15-Dec-2022  martin branches: 1.45.2;
Add an (expert) option to manually edit partitions, inspired by PR 57100.
 1.44 30-Nov-2022  martin Add support for FFSv2ea in the partition type menus (internally setting
fs version to 3 for this, where 2 is FFSv2 and 1 is FFSv1)
 1.43 22-Jul-2022  christos Add a menu option to set the file extension of the downloaded sets.
amd64 sets are .tar.xz and sysinst fails by default.
 1.42 11-Jun-2022  martin Slightly improved error handling when converion from one partition table
format to another is not lossless.
 1.41 09-Jun-2022  martin Add support for explicitly selecting "EFI system partition" as a partition
type.
 1.40 18-May-2022  martin When not invoked via some explicit "configure network" menu item,
auto-detect an already working network setup and offer to "just use" it
whenver we need connectivity.
 1.39 16-May-2022  martin Split the available disks (that may be partitioned) from the
preconfigured wedges (that can be install target, but can not be
partitioned). The latter are only usefull in special setups
and clobber the list of available disks for the usual setup cases.
 1.38 21-Apr-2022  martin Make default installations a bit more secure:
- push a bit harder for setup of a root password
- simplify/clarify manual entropy setup
- visit the entropy setup (on machines where it is needed) on the
default path through sysinst
 1.37 10-Jan-2022  nia sysinst(8): Add initial support for connecting to Wi-Fi networks
by spawning wpa_supplicant.

Reviewed by martin.
 1.36 25-Sep-2021  maya Move DRM-driver firmware from base to its own set, gpufw

This set is only installed on amd64,i386,evbarm.
This set is installed on minimal installs and on install media, in
case someone needs it for basic driver functionality.

Comments:
Switched to a single MK tunable for it - that is probably unneeded.

An upcoming DRM update will include even fatter firmware, and we'd
like to minimize the impact of it.
 1.35 04-Nov-2020  martin Add (experimental) entropy input support:
Early during new installs or after upgrades we check if entropy is
available. If not (no hardware random number generator available)
we inform the user and ask them to fix it.
 1.34 27-Oct-2020  martin When we did not magically find any CD medium with sets, offer a manual
override (so ISO images on USB sticks or Xen's xbd(4) work).
 1.33 24-Oct-2020  martin When looking for available CD media, skip those that are already mounted.
When no medium with sets is found, show a new error message and return
to the source selection menu.
Rearrange all source option menus to have the proper set suffix
available (either .tgz or .tar.xz).
 1.32 13-Oct-2020  martin PR 55142: on popular demand bring back expert options to adjust the
number of free inodes, block size and fragment size for FFS and LFS.
 1.31 12-Oct-2020  martin PR 55536: when we find existing partition tables and have alternative
formats available, offer to delete partitions and create new ones from
scratch (in some other or the same on-disk format).
 1.30 18-May-2020  jmcneill Separate devicetree .dts -> .dtb building from kernel builds. They are now
part of a separate set, "dtb.tgz", and only built when MKDTB=yes. This
defaults to yes for earmv[67]* and aarch64, and no everywhere else.
 1.29 06-Feb-2020  martin Reformat a query to add an automatically detected swap partition
so it fits on narrow screens.
 1.28 09-Jan-2020  martin Finish conversion of extended partitioning parts to new abstract
backend interface. XXX still could use a lot of polishing.
 1.27 11-Dec-2019  martin PR 54065: add optional "old compat" variant of ext2fs in file system
type selection and use that as default for the cobalt boot file system.
 1.26 16-Nov-2019  martin Make sure all menus have a translatable exit option (or none at all).
 1.25 12-Nov-2019  martin Add options to the various partitioning stages that allow cloning of
alien partitions (optionally including data).
 1.24 23-Oct-2019  kamil Fix polish translation for sysinst

PR install/53870 by Guest01
PR install/53871 by Guest01

patch by Krzysztof Lasocki
 1.23 02-Oct-2019  maya Split out /rescue to its own set and adapt installers/images to add it.

This is meant to make updates safer: if something goes wrong with updating
base, we still have the old, standalone /rescue to recover from.
 1.22 17-Aug-2019  martin PR 54473: fix error prompt when a set file is missing
 1.21 14-Aug-2019  martin On architectures that usually do MBR/disklabel, nevertheless deal with
pure/plain disklabel disks, and explicitly offer this as partitioning
option when bootability is not a concern.
 1.20 23-Jul-2019  martin branches: 1.20.2;
For upgrade / re-install allow the currently running system as a target
in the "disk" selection.
 1.19 14-Jul-2019  kamil Update sysinst(8) Polish translations

Submitted by Krzysztof Lasocki.
 1.18 12-Jun-2019  martin Rework internal data structures and "interfaces to user interface" functions
to get rid of all disklabel assumptions.

Previously (even for GPT partitioning) struct disklabel was used, which
obviously breaks large disk setups. Also many MD parts and parts of the
user interface assumed (a) a struct disklabel is used internally to
store partitioning information and (b) partitions are named 'a' ... $MAXPART.

Get rid of this and replace it with a quite abstract interface that should
be able to deal with all variants in partition storage:

- partitions are stored in a (partly abstract) struct disk_partitions
and most parts of it are only accessed via accessor functions provided
by a "partitioning scheme".

- implement partitioning schemes for MBR, disklabel and GPT (with likely
RDB [amiga] and Apple Partition Map [mac*] to follow soon)

- partitioning schemes may be cascaded, e.g. on x86 when using MBR as
"outer partitions", we have disklabel as "inner partitions".

- all user interface goes via accessor functions in the partitioning scheme,
some of which return pointers to special user interface descriptors
(e.g. to allow editing partition flags, which are scheme specific)

Overall the user interface changes (in this initial step) are minimal but
noticable. A new Anita is needed for automatic test setups - many thanks
to Andreas Gustafsson for lots of early testing and a new Anita version,
and to Manuel Bouyer for cooperation and tests of the Anita release.

This work was sponsored by The NetBSD Foundation, Inc.
 1.17 15-Jan-2019  martin PR 53869: improve polish "noroot" message
 1.16 11-Jan-2019  martin Some translation fixes/additions from Kamil
 1.15 10-Jan-2019  martin PR install/53857: make the pkgsrc menu wider, so the first column fits
in various translations. While there shorten some (misleading) text.
 1.14 30-Dec-2018  martin PR install/53819: fix polish translation of menu exit string
 1.13 30-Dec-2018  martin PR install/53820: fix column headers in polish translation
 1.12 15-Nov-2018  martin Make use of the new positional parameters to better describe the first
partitioning step. Remove size limits/hints encoded in the translations
and replace them by values from the code.
 1.11 03-Nov-2018  martin Remove "usage" translations - they never could be displayed as we only select
the language later.
Extend usage display a bit and sync with reality.
 1.10 11-Sep-2018  martin Split the host name used for ftp transfers from the one used for http
transfers. This is slightly inconsistent, as directories are still
shared - but this allows us to default to cdn/nycdn for http (which don't
support ftp).
 1.9 03-Jun-2018  martin branches: 1.9.2;
Add an option to install onto a pre-configured wedge.
Greatly simmplifies (U)EFI setups (but does not fully automate them yet).
 1.8 17-May-2015  martin branches: 1.8.8; 1.8.14;
Invert sense of a vnd creation message ("Create new image: Yes") and kill
the translations that I can't update myself.
 1.7 03-Apr-2015  mbalmer IPv4 number -> IPv4 address
 1.6 10-Nov-2014  snj "Encryption" has an r in it.
 1.5 22-Sep-2014  roy Change the IPv6 DNS selection to use DNS selection and add the
Google Public V4 DNS servers to the list.
The other field can take an IPv4 or IPv6 name server of choice.
Fixes PR install/49231.
 1.4 13-Sep-2014  roy Change the display order so it's protocol agnostic at the top,
then IPv4 then IPv6.
 1.3 15-Aug-2014  jmcneill branches: 1.3.2;
remove trailing colon from "addusername" msg
 1.2 03-Aug-2014  martin branches: 1.2.2; 1.2.4;
(Finally) merge a slightly modified version of the 2012 GSoC results
from Eugene Lozovoy: add extended partitioning options to sysinst.
Still needs some testing and polishing, but it now is possible to use GPT
or to create a RAID set from scratch and install onto it.
 1.1 26-Jul-2014  dholland Move sysinst sources to usr.sbin.

This commit only physically moves the sources - there are no other
changes, to maximize the probability that this will be treated as a
rename if we ever do manage to migrate away from CVS.

Moving sysinst has been discussed on and off for years and has two
goals: making it easier to work on sysinst, and also making sysinst
available on running systems for use installing chroots and VM images
and other such things. None of the latter is possible yet, but as they
say, one thing at a time.

Doing this now was approved in an impromptu fashion by mrg, riz,
riastradh, me, and groo.
 1.2.4.5 14-May-2015  snj Pull up following revision(s) (requested by martin in ticket #759):
distrib/amd64/cdroms/Makefile.cdrom: revision 1.12
distrib/amd64/installimage/Makefile: revision 1.5
distrib/amd64/installimage/spec.inst: revision 1.2
distrib/common/10-resolv.conf: file removal
distrib/common/99-print-sysinst: file removal
distrib/common/Makefile.dhcpcd: revision 1.2
distrib/common/list.dhcpcd: revision 1.3
distrib/i386/cdroms/Makefile.cdrom: revision 1.32
distrib/i386/installimage/Makefile: revision 1.5
distrib/i386/installimage/spec.inst: revision 1.2
distrib/sparc64/cdroms/installcd/Makefile: revision 1.20
distrib/vax/cdroms/installcd/Makefile: revision 1.10
usr.sbin/sysinst/msg.mi.de: revision 1.4
usr.sbin/sysinst/msg.mi.en: revision 1.4
usr.sbin/sysinst/msg.mi.es: revision 1.4
usr.sbin/sysinst/msg.mi.fr: revision 1.4
usr.sbin/sysinst/msg.mi.pl: revision 1.4
usr.sbin/sysinst/net.c: revisions 1.5-1.8, 1.11-1.15
The dhcpcd utilties in pkgsrc require dhcpcd to be running in master mode.
So set dhcpcd to start like so, but restrict it to the configured interface
still instead of ifconfig_foo=dhcp.
--
Use the 20-resolv.conf hook from dhcpcd rather than the minimal one.
Extract configured information from resolv.conf and hostname instead
of scraping the last dhcpcd script run.
This will allow the use of DHCPv6 and IPv6RA DNS details in the future.
--
dhcpcd will already have configured the system at this point, so
don't bother writing it manually.
--
Don't prompt for hostname or domain if obtained from DHCP.
--
Change the display order so it's protocol agnostic at the top,
then IPv4 then IPv6.
--
Strip newline from the gateway correctly.
--
Show the IP6 address instead of yes
--
Fix a bogus gcc warning: dhcp_config may be used uninitialized
--
Punt custom dhcpcd hooks in favour up upstream hooks
--
For the benefit of gcc 4.5, rename a local "nl" variable to "nline",
so it doesn't collide with the global curses nl() function.
 1.2.4.4 13-May-2015  snj Pull up following revision(s) (requested by martin in ticket #754):
usr.sbin/sysinst/menus.mi: revision 1.6
usr.sbin/sysinst/msg.mi.de: revision 1.5
usr.sbin/sysinst/msg.mi.en: revision 1.5
usr.sbin/sysinst/msg.mi.es: revision 1.5
usr.sbin/sysinst/msg.mi.fr: revision 1.5
usr.sbin/sysinst/msg.mi.pl: revision 1.5
Change the IPv6 DNS selection to use DNS selection and add the
Google Public V4 DNS servers to the list.
The other field can take an IPv4 or IPv6 name server of choice.
Fixes PR install/49231.
 1.2.4.3 06-Apr-2015  snj Pull up following revision(s) (requested by mbalmer in ticket #657):
usr.sbin/sysinst/msg.mi.en: revision 1.7
usr.sbin/sysinst/msg.mi.pl: revision 1.7
IPv4 number -> IPv4 address
 1.2.4.2 20-Jan-2015  martin Pull up following revision(s) (requested by jmcneill in ticket #435):
usr.sbin/sysinst/msg.mi.es: revision 1.3
usr.sbin/sysinst/msg.mi.en: revision 1.3
usr.sbin/sysinst/msg.mi.fr: revision 1.3
usr.sbin/sysinst/msg.mi.pl: revision 1.3
usr.sbin/sysinst/msg.mi.de: revision 1.3
remove trailing colon from "addusername" msg
 1.2.4.1 10-Nov-2014  martin Pull up following revision(s) (requested by snj in ticket #204):
usr.sbin/sysinst/msg.mi.en: revision 1.6
usr.sbin/sysinst/msg.mi.pl: revision 1.6
"Encryption" has an r in it.
 1.2.2.2 10-Aug-2014  tls Rebase.
 1.2.2.1 03-Aug-2014  tls file msg.mi.pl was added on branch tls-earlyentropy on 2014-08-10 07:00:24 +0000
 1.3.2.2 20-Aug-2014  tls Rebase to HEAD as of a few days ago.
 1.3.2.1 15-Aug-2014  tls file msg.mi.pl was added on branch tls-maxphys on 2014-08-20 00:05:13 +0000
 1.8.14.4 18-Jan-2019  pgoyette Synch with HEAD
 1.8.14.3 26-Nov-2018  pgoyette Sync with HEAD, resolve a couple of conflicts
 1.8.14.2 30-Sep-2018  pgoyette Ssync with HEAD
 1.8.14.1 25-Jun-2018  pgoyette Sync with HEAD
 1.8.8.1 05-Jun-2018  bouyer Pull up following revision(s) (requested by martin in ticket #860):
usr.sbin/sysinst/msg.mi.de: revision 1.7
usr.sbin/sysinst/arch/i386/md.c: revision 1.10
usr.sbin/sysinst/msg.mi.fr: revision 1.10
usr.sbin/sysinst/arch/i386/md.c: revision 1.11
usr.sbin/sysinst/menus.mi: revision 1.13
usr.sbin/sysinst/arch/i386/md.c: revision 1.9
usr.sbin/sysinst/msg.mi.es: revision 1.7
usr.sbin/sysinst/msg.mi.en: revision 1.11
usr.sbin/sysinst/mbr.c: revision 1.6
usr.sbin/sysinst/disks.c: revision 1.15
usr.sbin/sysinst/bsddisklabel.c: revision 1.4
usr.sbin/sysinst/disks.c: revision 1.16
usr.sbin/sysinst/msg.mi.pl: revision 1.9
usr.sbin/sysinst/defs.h: revision 1.11
Add an option to install onto a pre-configured wedge.
Greatly simmplifies (U)EFI setups (but does not fully automate them yet).
In the generated /etc/fstab, do not use the (temporary, during sysinst)
path name for the file in the comment, but instead the one it will
have on the target system.
Reorder fetch options: http before ftp
Default console device and speed to that used by syinst
add missing brace.
 1.9.2.2 13-Apr-2020  martin Mostly merge changes from HEAD upto 20200411
 1.9.2.1 10-Jun-2019  christos Sync with HEAD
 1.20.2.11 20-Jan-2022  martin Pull up following revision(s) (requested by nia in ticket #1406):

usr.sbin/sysinst/net.c: revision 1.40
usr.sbin/sysinst/msg.mi.pl: revision 1.37
usr.sbin/sysinst/msg.mi.fr: revision 1.36
usr.sbin/sysinst/msg.mi.de: revision 1.35
usr.sbin/sysinst/msg.mi.en: revision 1.37
usr.sbin/sysinst/net.c: revision 1.37
usr.sbin/sysinst/net.c: revision 1.38
usr.sbin/sysinst/msg.mi.es: revision 1.31
usr.sbin/sysinst/net.c: revision 1.39

sysinst(8): Add initial support for connecting to Wi-Fi networks
by spawning wpa_supplicant.
Reviewed by martin.

sysinst(8): Avoid asking Wi-Fi questions about non-Wi-Fi devices.

sysinst(8): Add a "data" argument to do_ifreq that is set after the
ifr struct is zeroed.

This allows us to simplify the code by not having 2x socket creation
code for checking whether interfaces are wireless.
sysinst(8): use scan_ssid=1 so hidden wifi networks can be used
 1.20.2.10 05-Nov-2020  sborrill Pull up the following revisions(s) (requested by martin in ticket #1121):
usr.sbin/sysinst/menus.mi: revision 1.22-1.23
usr.sbin/sysinst/msg.mi.de: revision 1.25-1.26
usr.sbin/sysinst/msg.mi.en: revision 1.33-1.34
usr.sbin/sysinst/msg.mi.pl: revision 1.33-1.34
usr.sbin/sysinst/msg.mi.es: revision 1.27-1.28
usr.sbin/sysinst/msg.mi.fr: revision 1.32-1.33
usr.sbin/sysinst/util.c: revision 1.49-1.52

- When looking for available CD media, skip those that are already mounted.
- When no medium with sets is found, show a new error message and return
to the source selection menu.
- Rearrange all source option menus to have the proper set suffix available
(either .tgz or .tar.xz).
- Relax an assertion, the first getvfsstat() call may overestimate the file
systems visible to us. Fixes PR 55752
- When we did not magically find any CD medium with sets, offer a manual
override (so ISO images on USB sticks or Xen's xbd(4) work).
 1.20.2.9 15-Oct-2020  bouyer Pull up following revision(s) (requested by martin in ticket #1113):
usr.sbin/sysinst/bsddisklabel.c: revision 1.46
usr.sbin/sysinst/bsddisklabel.c: revision 1.47
usr.sbin/sysinst/disklabel.c: revision 1.40
usr.sbin/sysinst/arch/cobalt/md.c: revision 1.13
usr.sbin/sysinst/bsddisklabel.c: revision 1.48
usr.sbin/sysinst/disklabel.c: revision 1.41
usr.sbin/sysinst/arch/cobalt/md.c: revision 1.14
usr.sbin/sysinst/bsddisklabel.c: revision 1.49
usr.sbin/sysinst/disklabel.c: revision 1.42
usr.sbin/sysinst/Makefile.inc: revision 1.34
usr.sbin/sysinst/disks.c: revision 1.70
usr.sbin/sysinst/arch/hp300/md.c: revision 1.11
usr.sbin/sysinst/disks.c: revision 1.71
usr.sbin/sysinst/arch/i386/md.h: revision 1.8
usr.sbin/sysinst/arch/arc/md.c: revision 1.13
usr.sbin/sysinst/mbr.h: revision 1.5
usr.sbin/sysinst/mbr.h: revision 1.6
usr.sbin/sysinst/arch/mac68k/md.c: revision 1.10
usr.sbin/sysinst/bsddisklabel.c: revision 1.50
usr.sbin/sysinst/arch/acorn32/md.c: revision 1.7
usr.sbin/sysinst/bsddisklabel.c: revision 1.51
usr.sbin/sysinst/bsddisklabel.c: revision 1.52
usr.sbin/sysinst/bsddisklabel.c: revision 1.53
usr.sbin/sysinst/bsddisklabel.c: revision 1.54
usr.sbin/sysinst/bsddisklabel.c: revision 1.55
usr.sbin/sysinst/bsddisklabel.c: revision 1.56
usr.sbin/sysinst/arch/dummy/md.c: revision 1.6
usr.sbin/sysinst/arch/amd64/md.h: revision 1.9
usr.sbin/sysinst/arch/evbsh3/md.c: revision 1.6
usr.sbin/sysinst/arch/sparc/md.c: revision 1.6
usr.sbin/sysinst/arch/zaurus/md.c: revision 1.10
usr.sbin/sysinst/arch/x68k/md.c: revision 1.11
usr.sbin/sysinst/arch/sandpoint/md.c: revision 1.9
usr.sbin/sysinst/arch/vax/md.c: revision 1.7
usr.sbin/sysinst/arch/luna68k/md.c: revision 1.9
usr.sbin/sysinst/gpt.c: revision 1.19
usr.sbin/sysinst/arch/i386/md.c: revision 1.31
usr.sbin/sysinst/arch/i386/md.c: revision 1.32
usr.sbin/sysinst/arch/evbarm/md.c: revision 1.17
usr.sbin/sysinst/arch/evbarm/md.c: revision 1.18
usr.sbin/sysinst/arch/evbarm/md.c: revision 1.19
usr.sbin/sysinst/arch/shark/md.c: revision 1.6
usr.sbin/sysinst/arch/landisk/md.c: revision 1.14
usr.sbin/sysinst/util.c: revision 1.43
usr.sbin/sysinst/gpt.c: revision 1.20
usr.sbin/sysinst/util.c: revision 1.44
usr.sbin/sysinst/gpt.c: revision 1.21
usr.sbin/sysinst/gpt.c: revision 1.22
usr.sbin/sysinst/arch/evbarm/msg.md.en: revision 1.2
usr.sbin/sysinst/arch/ofppc/md.c: revision 1.11
usr.sbin/sysinst/util.c: revision 1.46
usr.sbin/sysinst/arch/ofppc/md.c: revision 1.12
usr.sbin/sysinst/util.c: revision 1.47
usr.sbin/sysinst/arch/evbarm/md.h: revision 1.6
usr.sbin/sysinst/util.c: revision 1.48
usr.sbin/sysinst/arch/evbarm/md.h: revision 1.7
usr.sbin/sysinst/arch/evbmips/md.c: revision 1.9
usr.sbin/sysinst/msg.mi.fr: revision 1.28
usr.sbin/sysinst/msg.mi.fr: revision 1.29
usr.sbin/sysinst/arch/sgimips/md.c: revision 1.9
usr.sbin/sysinst/arch/evbarm/Makefile: revision 1.3
usr.sbin/sysinst/msg.mi.de: revision 1.23
usr.sbin/sysinst/arch/hpcsh/md.c: revision 1.10
usr.sbin/sysinst/msg.mi.de: revision 1.24
usr.sbin/sysinst/install.c: revision 1.15
usr.sbin/sysinst/install.c: revision 1.16
usr.sbin/sysinst/arch/sparc64/md.c: revision 1.6
usr.sbin/sysinst/install.c: revision 1.17
usr.sbin/sysinst/install.c: revision 1.18
usr.sbin/sysinst/partitions.h: revision 1.16
usr.sbin/sysinst/install.c: revision 1.19
usr.sbin/sysinst/partitions.h: revision 1.17
usr.sbin/sysinst/arch/evbppc/md.c: revision 1.9
usr.sbin/sysinst/arch/playstation2/md.c: revision 1.9
usr.sbin/sysinst/partitions.h: revision 1.18
usr.sbin/sysinst/arch/hpcarm/md.c: revision 1.9
usr.sbin/sysinst/partitions.h: revision 1.19
usr.sbin/sysinst/msg.mi.es: revision 1.24
usr.sbin/sysinst/msg.mi.es: revision 1.25
usr.sbin/sysinst/msg.mi.es: revision 1.26
usr.sbin/sysinst/arch/zaurus/md.c: revision 1.9
usr.sbin/sysinst/target.c: revision 1.13
usr.sbin/sysinst/target.c: revision 1.14
usr.sbin/sysinst/part_edit.c: revision 1.17
usr.sbin/sysinst/part_edit.c: revision 1.18
usr.sbin/sysinst/msg.mi.fr: revision 1.30
usr.sbin/sysinst/arch/mvme68k/md.c: revision 1.11
usr.sbin/sysinst/part_edit.c: revision 1.19
usr.sbin/sysinst/msg.mi.fr: revision 1.31
usr.sbin/sysinst/arch/alpha/md.c: revision 1.9
usr.sbin/sysinst/msg.mi.en: revision 1.30
usr.sbin/sysinst/defs.h: revision 1.56
usr.sbin/sysinst/msg.mi.en: revision 1.31
usr.sbin/sysinst/defs.h: revision 1.57
usr.sbin/sysinst/msg.mi.en: revision 1.32
usr.sbin/sysinst/arch/amiga/md.c: revision 1.6
usr.sbin/sysinst/arch/hpcmips/md.c: revision 1.9
usr.sbin/sysinst/defs.h: revision 1.58
usr.sbin/sysinst/arch/cats/md.c: revision 1.5
usr.sbin/sysinst/defs.h: revision 1.59
usr.sbin/sysinst/arch/newsmips/md.c: revision 1.6
usr.sbin/sysinst/arch/pmax/md.c: revision 1.8
usr.sbin/sysinst/arch/mipsco/md.c: revision 1.8
usr.sbin/sysinst/part_edit.c: revision 1.20
usr.sbin/sysinst/part_edit.c: revision 1.21
usr.sbin/sysinst/arch/macppc/md.c: revision 1.6
usr.sbin/sysinst/part_edit.c: revision 1.22
usr.sbin/sysinst/part_edit.c: revision 1.23
usr.sbin/sysinst/part_edit.c: revision 1.24
usr.sbin/sysinst/defs.h: revision 1.60
usr.sbin/sysinst/arch/mac68k/Makefile: revision 1.3
usr.sbin/sysinst/defs.h: revision 1.61
usr.sbin/sysinst/defs.h: revision 1.63
usr.sbin/sysinst/defs.h: revision 1.64
usr.sbin/sysinst/defs.h: revision 1.65
usr.sbin/sysinst/label.c: revision 1.21
usr.sbin/sysinst/defs.h: revision 1.66
usr.sbin/sysinst/label.c: revision 1.22
usr.sbin/sysinst/defs.h: revision 1.67
usr.sbin/sysinst/label.c: revision 1.23
usr.sbin/sysinst/label.c: revision 1.24
usr.sbin/sysinst/label.c: revision 1.25
usr.sbin/sysinst/label.c: revision 1.26
usr.sbin/sysinst/label.c: revision 1.27
usr.sbin/sysinst/msg.mi.pl: revision 1.31
usr.sbin/sysinst/label.c: revision 1.28
usr.sbin/sysinst/msg.mi.pl: revision 1.32
usr.sbin/sysinst/label.c: revision 1.29
usr.sbin/sysinst/arch/atari/md.c: revision 1.7
usr.sbin/sysinst/disklabel.c: revision 1.36
usr.sbin/sysinst/disklabel.c: revision 1.37
usr.sbin/sysinst/disklabel.c: revision 1.38
usr.sbin/sysinst/disklabel.c: revision 1.39
usr.sbin/sysinst/arch/bebox/md.c: revision 1.9
usr.sbin/sysinst/mbr.c: revision 1.32
usr.sbin/sysinst/disks.c: revision 1.66
usr.sbin/sysinst/mbr.c: revision 1.33
usr.sbin/sysinst/disks.c: revision 1.67
usr.sbin/sysinst/mbr.c: revision 1.34
usr.sbin/sysinst/arch/emips/md.c: revision 1.9
usr.sbin/sysinst/disks.c: revision 1.68
usr.sbin/sysinst/partitions.c: revision 1.11
usr.sbin/sysinst/mbr.c: revision 1.35
usr.sbin/sysinst/disks.c: revision 1.69
usr.sbin/sysinst/mbr.c: revision 1.36
usr.sbin/sysinst/arch/hppa/md.c: revision 1.8
usr.sbin/sysinst/arch/prep/md.c: revision 1.13
usr.sbin/sysinst/label.c: revision 1.30
usr.sbin/sysinst/arch/ews4800mips/md.c: revision 1.7
usr.sbin/sysinst/main.c: revision 1.21
usr.sbin/sysinst/main.c: revision 1.22
usr.sbin/sysinst/main.c: revision 1.23
usr.sbin/sysinst/bsddisklabel.c: revision 1.40
usr.sbin/sysinst/main.c: revision 1.24
usr.sbin/sysinst/arch/cobalt/md.h: revision 1.6
usr.sbin/sysinst/bsddisklabel.c: revision 1.41
usr.sbin/sysinst/main.c: revision 1.25
usr.sbin/sysinst/arch/news68k/md.c: revision 1.7
usr.sbin/sysinst/bsddisklabel.c: revision 1.42
usr.sbin/sysinst/bsddisklabel.c: revision 1.43
usr.sbin/sysinst/bsddisklabel.c: revision 1.44
usr.sbin/sysinst/bsddisklabel.c: revision 1.45
Use strlcpy in a few places to guarnatee 0-terminated strings
Rever previous: the d_packname in struct disklabel is not NUL terminated.
Disable the warning instead.
Do not force -Os optimization (unless SMALLPROG)
Remove unused "rel" global variable and make the -r option a no-op.
PR 55045: strlcpy(NULL, ..., 0) considered harmfull in some implementations.
PR misc/54886: bump threshold for automatic/default creation of a tmpfs /tmp
up slightly (to 384 MB ram). This will make sure the default install has
a > 64 MB /tmp available (number pulled out of thin air, 64 MB is the minimum
required by the ZFS tests).
Don't depend on common symbol definitions.
boardype should not be common.
Redo the root-size-limit check again after we grew the root partition
for kernel dumps. Auto-enable the /usr partition if it overflows.
For all non-root partitions, default to FFSv2.
When extending a partition (to fill the total disk size) do respect
size limits.
Do not suggest a size limited partition for extension by default.
Minor tweak to previous: when forcing a /usr partition just to have an
arbitrary extendable partition, still use its default size initially.
At the end of a new installation save entropy.
Ooops, backout previous - twice the entropy saving is not needed.
Instead slightly improve the (slightly) hidden other code that already
did it.
PR 55202: disable swapping if we started it due to low ram
it's "its"
Remove "If you booted from a floppy" message
Set HAVE_INSTALL_IMAGE for evbarm
Change mountpoint of boot ext2fs from /stand to /ext2 to avoid conflict.
Should be pulled up to netbsd-9, with fixes of PR/55060.
MBR type for Ext2 should be MBR_PTYPE_LNXEXT2, not MBR_PTYPE_FAT12.
Silence -Wstringop-truncation for ``name'' in disp_selected_part().
This variable is used only for display, and truncation seems harmless.
PR 55572: avoid crash when answering the mount point prompt for a previously
empty mount point with an emptry sting.
When adding a new partition in the concrete partition editor, make sure
to set a pointer to the partition table interface in the new entry.
Otherwise we may end up not writing back the partitions at all, leading
to further fallout later.
Receipe to reproduce the issue from Frederic Fauberteau, thanks!
In the concrete partitions editor, after deleting the last partition move
the menu selection to the "add a partition" entry (instead of the sentinel
line which is not an active menu entry).
Typo in comment
Keep a list of all partition tables from which we have deleted partitions
and make sure we update those partition tables when writing partitions,
even if no install related partition remains on them.
Fix display of timezone selection menu
If there is no current partitioning manager assume we are editing the
current system and make target_already_root() return true.
Fixes various fallout when using sysinst post installation.
PR 55377: mark boot partitions in the partition size display, as suggested
by Izumi Tsutsui (minor modifications + all bugs by me)
PR 55378: do not assume RAW_PART to be either 2 or 3
PR 55379: avoid creating bogus /etc/fstab lines for /dev/cd* if no
cdrom is available.
PR 55381: try to deal with moved (but not yet saved) partitions when
calculating free space
Apply patch provided by Izumi Tsutsui in PR 55382: make ext2 partitions
show up in the outer (MBR) partition table, needed for example on Cobalt
where firmware boots from that partition.
PR 55384: detangle pm->ptstart from the "install" flag (selecting a
target partition). Instead introduce a new PTI_INSTALL_TARGET per partition
flag and deal with it in the partitioning backends.
Honour pm->ptstart when allocating new partitions - it is supposed to be
the first sector usable by NetBSD.
If we have no explicitly marke target root partition, make sure to set
the proper flag on the implicit one.
When merging existing partitions with desired target system layout
information, only force the "mount" flag if the existing partitions
has a valid mount point.
Add a heuristic to detect and properly mark EFI system partitions
when re-using pre-existing partitions.
When MD code requests a reserved area (at the start of the disk)
make sure to properly account for the "lost" space during all calculations
and especially when expanding the main partition to fill the disk.
Avoid using the global "pm" or a passed device descriptons when we are
passing disk limits explicitly anyway.
Simplify/fix a few rounding calculations.
When creating new partitions for "full disk" use, pass a install target
hint to the partitioning backend (for the outer NetBSD partition).
Use an install target hint to mark a new partition active.
When compiled with BOOTSEL support, also name the new partition "NetBSD".
Remove more pm->ptstart abuse - calculate values localy where needed
instead.
Fix editing start and size of not yet existing outer partitions.
Previously we abused pm->ptstart / pm->ptsize to pass the bounds of the
NetBSD outer partition to the inner partition editor - but now this is
not a valid assumption any more, so explicitly fix the bounds if an
outer partition exists.
Remove very strange code that special-cased MSDOS file systems and refused
to newfs the partition (despite explicit request to do so) if it was
mountable.
Accidently carried over from a dim and distant past, before we had
fsck_newfs.
PR 55536: when we find existing partition tables and have alternative
formats available, offer to delete partitions and create new ones from
scratch (in some other or the same on-disk format).
Minor fix to previous: fix condition when we offer the partition type
switch - it makes sense even if the disk is partitioned but has no valid
partitions.
Before forcing MBR partitions into our disklabel, make sure they are not
there yet - could happen in various paths when reusing existing partitions
(or parts of that) - previously we would blindly duplicate identical
partitions.
Ooops, part of previous was not meant to be included yet
When renumbering partitions (after deletions) be slightly more lax
in matching, to cope with differences between MBR EFI partitions and
disklabel MSDOS partitions.
PR 55142: on popular demand bring back expert options to adjust the
number of free inodes, block size and fragment size for FFS and LFS.
Fix copy & pasto noticed by Jason Mitchell: change the type of a GPT
partition via "gpt type" - not "gpt label".
Fix copy & pasto (missing "again" label)
Remove dead code
Move MBR writing (if any) post disklabel writing, otherwise strange
interactions happen.
Properly convert partition default sizes in MB to number of sectors
 1.20.2.8 10-Feb-2020  bouyer Pull up following revision(s) (requested by martin in ticket #693):
usr.sbin/sysinst/arch/x68k/msg.md.en: revision 1.2
usr.sbin/sysinst/arch/x68k/md.c: revision 1.10
usr.sbin/sysinst/arch/mvme68k/msg.md.fr: revision 1.2
usr.sbin/sysinst/arch/x68k/msg.md.en: revision 1.3
usr.sbin/sysinst/arch/mvme68k/msg.md.fr: revision 1.3
usr.sbin/sysinst/msg.mi.en: revision 1.28
usr.sbin/sysinst/arch/hp300/md.c: revision 1.10
usr.sbin/sysinst/msg.mi.es: revision 1.22
usr.sbin/sysinst/target.c: revision 1.12
usr.sbin/sysinst/arch/mvme68k/md.c: revision 1.10
usr.sbin/sysinst/arch/i386/md.c: revision 1.30
usr.sbin/sysinst/arch/mvme68k/msg.md.pl: revision 1.2
usr.sbin/sysinst/arch/mvme68k/msg.md.pl: revision 1.3
usr.sbin/sysinst/bsddisklabel.c: revision 1.39
usr.sbin/sysinst/arch/mvme68k/msg.md.de: revision 1.2
usr.sbin/sysinst/arch/mac68k/md.c: revision 1.9
usr.sbin/sysinst/disklabel.c: revision 1.35
usr.sbin/sysinst/arch/mvme68k/msg.md.de: revision 1.3
usr.sbin/sysinst/defs.h: revision 1.55
usr.sbin/sysinst/disks.c: revision 1.63
usr.sbin/sysinst/disks.c: revision 1.64
usr.sbin/sysinst/mbr.c: revision 1.31
usr.sbin/sysinst/disks.c: revision 1.65
usr.sbin/sysinst/txtwalk.c: revision 1.3
usr.sbin/sysinst/txtwalk.c: revision 1.4
usr.sbin/sysinst/arch/mvme68k/msg.md.en: revision 1.2
usr.sbin/sysinst/arch/mvme68k/msg.md.en: revision 1.3
usr.sbin/sysinst/msg.mi.fr: revision 1.26
usr.sbin/sysinst/msg.mi.pl: revision 1.29
usr.sbin/sysinst/arch/mvme68k/msg.md.es: revision 1.2
usr.sbin/sysinst/upgrade.c: revision 1.15
usr.sbin/sysinst/arch/mvme68k/msg.md.es: revision 1.3
usr.sbin/sysinst/upgrade.c: revision 1.16
usr.sbin/sysinst/partman.c: revision 1.50
usr.sbin/sysinst/msg.mi.de: revision 1.21
remove unused "emptypart" message (or moved to ifdef notyet area)
PR install/54921: message "ordering" takes a %s argument.
PR install/54921: skip non-user partitions when checking for overlaps
bootxx_name() - fix oversight in previous change (do not assume first
partition is the root partition)
PR install/54934: always use -f on the installboot invocation. We come
here post-newfs (and maybe should have dd'd zeros to the start of the
disk before newfs instead).
Remove a bogus assert: when reading disklabel partitions and the outer
(MBR) partitioning has changed, but the changes have not yet been written
back to disk, we need to ignore the kernels idea of the disklabel and
instead continue with an empty one.
Deal with partitioning schemes having no inner counterpart.
Avoid NULL derefs.
Do not assum a partitioning scheme that supports innner partitions always
needs to actually have such partitions defined.
PR bin/54944: deal with escaped spaces in NAME= syntax in /etc/fstab.
PR bin/54944: explicitly reject GPT protective MBRs.
PR bin/54944: make the "explicit single wedge" selection also work for
upgrades.
Reformat a query to add an automatically detected swap partition
so it fits on narrow screens.
Make re-install sets also work for an explicit selected root wedge
Fix copy&pasto in previous - from kre.
Only a single partition can ever have the "extend" flag (grow to available
size).
Do not use -P for tar extractions - the in tree tar has been fixed.
Finish conversion to generic partitioning backend
 1.20.2.7 28-Jan-2020  msaitoh Pull up following revision(s) (requested by martin in ticket #668):
usr.sbin/sysinst/arch/cobalt/md.c: revision 1.11
usr.sbin/sysinst/arch/cobalt/md.c: revision 1.12
usr.sbin/sysinst/arch/arc/md.c: revision 1.11
usr.sbin/sysinst/arch/arc/md.c: revision 1.12
usr.sbin/sysinst/partman.c: revision 1.43
usr.sbin/sysinst/partman.c: revision 1.46
usr.sbin/sysinst/partman.c: revision 1.47
usr.sbin/sysinst/partman.c: revision 1.48
usr.sbin/sysinst/partman.c: revision 1.49
usr.sbin/sysinst/msg.pm.fr: revision 1.2
usr.sbin/sysinst/upgrade.c: revision 1.14
usr.sbin/sysinst/arch/i386/md.c: revision 1.28
usr.sbin/sysinst/arch/i386/md.c: revision 1.29
usr.sbin/sysinst/arch/ofppc/md.c: revision 1.9
usr.sbin/sysinst/arch/sandpoint/md.c: revision 1.7
usr.sbin/sysinst/arch/sandpoint/md.c: revision 1.8
usr.sbin/sysinst/gpt.c: revision 1.14
usr.sbin/sysinst/gpt.c: revision 1.15
usr.sbin/sysinst/arch/luna68k/md.c: revision 1.8
usr.sbin/sysinst/gpt.c: revision 1.16
usr.sbin/sysinst/msg.pm.de: revision 1.2
usr.sbin/sysinst/arch/evbarm/md.c: revision 1.11
usr.sbin/sysinst/arch/evbarm/md.c: revision 1.12
usr.sbin/sysinst/arch/evbarm/md.c: revision 1.13
usr.sbin/sysinst/arch/evbarm/md.c: revision 1.14
usr.sbin/sysinst/sizemultname.c: revision 1.4
usr.sbin/sysinst/msg.pm.en: revision 1.2
usr.sbin/sysinst/arch/landisk/md.c: revision 1.12
usr.sbin/sysinst/util.c: revision 1.41
usr.sbin/sysinst/arch/landisk/md.c: revision 1.13
usr.sbin/sysinst/util.c: revision 1.42
usr.sbin/sysinst/arch/ofppc/md.c: revision 1.10
usr.sbin/sysinst/partitions.c: revision 1.9
usr.sbin/sysinst/arch/evbarm/md.h: revision 1.4
usr.sbin/sysinst/arch/evbarm/md.h: revision 1.5
usr.sbin/sysinst/arch/evbmips/md.c: revision 1.7
usr.sbin/sysinst/arch/evbmips/md.c: revision 1.8
usr.sbin/sysinst/msg.mi.fr: revision 1.25
usr.sbin/sysinst/msg.mi.de: revision 1.20
usr.sbin/sysinst/install.c: revision 1.14
usr.sbin/sysinst/partitions.h: revision 1.13
usr.sbin/sysinst/partitions.h: revision 1.14
usr.sbin/sysinst/arch/evbppc/md.c: revision 1.7
usr.sbin/sysinst/arch/playstation2/md.c: revision 1.7
usr.sbin/sysinst/msg.mi.en: revision 1.27
usr.sbin/sysinst/partitions.h: revision 1.15
usr.sbin/sysinst/arch/evbppc/md.c: revision 1.8
usr.sbin/sysinst/arch/hpcarm/md.c: revision 1.7
usr.sbin/sysinst/arch/playstation2/md.c: revision 1.8
usr.sbin/sysinst/msg.pm.pl: revision 1.2
usr.sbin/sysinst/arch/hpcarm/md.c: revision 1.8
usr.sbin/sysinst/msg.mi.es: revision 1.21
usr.sbin/sysinst/arch/zaurus/md.c: revision 1.7
usr.sbin/sysinst/target.c: revision 1.11
usr.sbin/sysinst/arch/zaurus/md.c: revision 1.8
usr.sbin/sysinst/part_edit.c: revision 1.14
usr.sbin/sysinst/part_edit.c: revision 1.15
usr.sbin/sysinst/part_edit.c: revision 1.16
usr.sbin/sysinst/defs.h: revision 1.50
usr.sbin/sysinst/defs.h: revision 1.51
usr.sbin/sysinst/defs.h: revision 1.52
usr.sbin/sysinst/defs.h: revision 1.53
usr.sbin/sysinst/defs.h: revision 1.54
usr.sbin/sysinst/arch/hpcmips/md.c: revision 1.7
usr.sbin/sysinst/arch/hpcmips/md.c: revision 1.8
usr.sbin/sysinst/arch/hpcsh/md.c: revision 1.8
usr.sbin/sysinst/msg.pm.es: revision 1.2
usr.sbin/sysinst/arch/hpcsh/md.c: revision 1.9
usr.sbin/sysinst/label.c: revision 1.18
usr.sbin/sysinst/label.c: revision 1.19
usr.sbin/sysinst/net.c: revision 1.35
usr.sbin/sysinst/msg.mi.pl: revision 1.28
usr.sbin/sysinst/disklabel.c: revision 1.28
usr.sbin/sysinst/disklabel.c: revision 1.29
usr.sbin/sysinst/mbr.c: revision 1.24
usr.sbin/sysinst/disks.c: revision 1.59
usr.sbin/sysinst/mbr.c: revision 1.25
usr.sbin/sysinst/mbr.c: revision 1.26
usr.sbin/sysinst/mbr.c: revision 1.27
usr.sbin/sysinst/mbr.c: revision 1.28
usr.sbin/sysinst/label.c: revision 1.20
usr.sbin/sysinst/mbr.c: revision 1.29
usr.sbin/sysinst/bsddisklabel.c: revision 1.34
usr.sbin/sysinst/bsddisklabel.c: revision 1.35
usr.sbin/sysinst/bsddisklabel.c: revision 1.36
usr.sbin/sysinst/bsddisklabel.c: revision 1.37
usr.sbin/sysinst/disklabel.c: revision 1.30
usr.sbin/sysinst/bsddisklabel.c: revision 1.38
usr.sbin/sysinst/disklabel.c: revision 1.31
usr.sbin/sysinst/disklabel.c: revision 1.32
usr.sbin/sysinst/disklabel.c: revision 1.33
usr.sbin/sysinst/disklabel.c: revision 1.34
usr.sbin/sysinst/disks.c: revision 1.60
usr.sbin/sysinst/disks.c: revision 1.61
usr.sbin/sysinst/arch/bebox/md.c: revision 1.7
usr.sbin/sysinst/disks.c: revision 1.62
usr.sbin/sysinst/arch/bebox/md.c: revision 1.8
usr.sbin/sysinst/mbr.c: revision 1.30
usr.sbin/sysinst/partitions.c: revision 1.10
usr.sbin/sysinst/arch/prep/md.c: revision 1.11
usr.sbin/sysinst/arch/prep/md.c: revision 1.12
usr.sbin/sysinst/menus.pm: revision 1.3
usr.sbin/sysinst/main.c: revision 1.20
usr.sbin/sysinst/menus.mi: revision 1.20
usr.sbin/sysinst/menus.mi: revision 1.21
avoid calling snprintf/strlcat with an input parameter the same
as the output. from martin@. fixes gcc 8 restrict warnings.
Finish conversion of extended partitioning parts to new abstract
backend interface. XXX still could use a lot of polishing.
Instead of a (bogus) attempt to query the model via ofctl, use the (now
fixed) sysctl hw.model instead.
When reading the secondary disklabel partitions from an existing disklabel
set the mbr partitions as parent.
Move the LABELSECTOR check and make it FS type specific - some partition
types (FFS, RAID) are allowed to overlap with the LABELSECTOR.
When asked to create a whole-disk partition for unknown usage, do not only
assert(false), but actually return an error (in case "assert" is a nop).
PR install/54787: when trying to derive proper alignement and first offset
from exisiting partitions, use the first partition offset if it is already
closer to the start of the disk than the prefered alignment - we can not
move existing partitions around.
Fix handling of inner/outer partitions (e.g. MBR and disklabel) in
extended partitioning:
- when editing a disk with such a schme, offer both partitions in two
steps
- when commiting changes save the inner partitions after the outer ones
Add a method to query the partitioning schemes "internal idea" of a
cylinder size - whatever that means in the real world.
Avoid using the global "pm" variable in utility functions - during
extended partitioning they may point to a different device.
Remove useless calls to get_ramsize() - return value is ignored and
the function has no side effects.
Fix /tmp tmpfs handling and on machines with enough RAM default to
creating a /tmp tmpfs with 25% of ram size limit. Suggested by ad@.
PR install/54872: fix printf argument order, sectors and heads were
swapped in the bios geometry display.
First try to bring evbarm installation closer to current reality.
hide disklabel_non_bootable() under NO_DISKLABEL_BOOT like the usage.
should fix most builds.
Deal with even stranger fictious empty disklabels (PR kern/54882).
Factor out all RAM size thresholds as defines to avoid magic numbers.
To work around PR misc/54886 bump the threshold for a tmpfs /tmp mount
up to 256 MB.
When retrying sets during extraction, reset the relevant statistics
to avoid counting retried sets multiple times.
Reported by kim.
Fix support for non-512-byte/sector disks again after I broke it when
introducing the abstract partition backends.
Use a few strlcpy() instead of strncpy() for network ioctl structs.
We seem to have no formal documentation stating the various
char if*_name[IFNAMSIZ]; /* if name, e.g. "en0" */
elements in ioctls are nul terminated, but the peanut gallery claims
it is so - and at least half of the code in-tree touching them agrees.
Too much disklabel magic happening in the kernel - to compensate force
MBR first when trying to identify the existing partitioning scheme of
a disk.
 1.20.2.6 17-Dec-2019  msaitoh Pull up following revision(s) (requested by martin in ticket #560):
usr.sbin/sysinst/partitions.h: revision 1.11
usr.sbin/sysinst/defs.h: revision 1.49
usr.sbin/sysinst/mbr.c: revision 1.23
usr.sbin/sysinst/msg.mi.en: revision 1.26
usr.sbin/sysinst/disks.c: revision 1.58
usr.sbin/sysinst/arch/evbarm/menus.md.pl: revision 1.2
usr.sbin/sysinst/msg.mi.es: revision 1.20
usr.sbin/sysinst/arch/mvme68k/md.c: revision 1.9
usr.sbin/sysinst/gpt.c: revision 1.13
usr.sbin/sysinst/arch/evbarm/md.c: revision 1.10
usr.sbin/sysinst/arch/arc/md.c: revision 1.10
usr.sbin/sysinst/disklabel.c: revision 1.18
usr.sbin/sysinst/bsddisklabel.c: revision 1.33
usr.sbin/sysinst/disklabel.c: revision 1.19
usr.sbin/sysinst/main.c: revision 1.19
usr.sbin/sysinst/partman.c: revision 1.45
usr.sbin/sysinst/arch/alpha/md.c: revision 1.7
usr.sbin/sysinst/msg.mi.de: revision 1.19
usr.sbin/sysinst/arch/evbarm/menus.md.en: revision 1.2
usr.sbin/sysinst/arch/x68k/md.h: revision 1.4
usr.sbin/sysinst/arch/x68k/md.c: revision 1.9
usr.sbin/sysinst/arch/evbarm/menus.md.es: revision 1.2
usr.sbin/sysinst/wskbd.c: revision 1.4
usr.sbin/sysinst/label.c: revision 1.15
usr.sbin/sysinst/arch/amiga/md.h: revision 1.5
usr.sbin/sysinst/label.c: revision 1.16
usr.sbin/sysinst/arch/hp300/md.c: revision 1.9
usr.sbin/sysinst/arch/emips/md.c: revision 1.8
usr.sbin/sysinst/label.c: revision 1.17
usr.sbin/sysinst/arch/pmax/md.c: revision 1.7
usr.sbin/sysinst/partitions.c: revision 1.6
usr.sbin/sysinst/arch/prep/md.c: revision 1.10
usr.sbin/sysinst/arch/mipsco/md.c: revision 1.7
usr.sbin/sysinst/partitions.c: revision 1.7
usr.sbin/sysinst/partitions.c: revision 1.8
usr.sbin/sysinst/arch/ews4800mips/md.c: revision 1.5
usr.sbin/sysinst/disklabel.c: revision 1.20
usr.sbin/sysinst/arch/evbarm/menus.md.fr: revision 1.2
usr.sbin/sysinst/msg.mi.fr: revision 1.24
usr.sbin/sysinst/disklabel.c: revision 1.21
usr.sbin/sysinst/partitions.h: revision 1.9
usr.sbin/sysinst/msg.mi.pl: revision 1.27
usr.sbin/sysinst/disklabel.c: revision 1.22
usr.sbin/sysinst/disklabel.c: revision 1.23
usr.sbin/sysinst/arch/i386/md.c: revision 1.27
usr.sbin/sysinst/disklabel.c: revision 1.24
usr.sbin/sysinst/disklabel.c: revision 1.25
usr.sbin/sysinst/arch/cobalt/md.h: revision 1.5
usr.sbin/sysinst/disklabel.c: revision 1.26
usr.sbin/sysinst/disklabel.c: revision 1.27
usr.sbin/sysinst/partitions.h: revision 1.10
usr.sbin/sysinst/arch/cobalt/md.c: revision 1.10
PR install/54582: allow MD code to disable on-disk presence verification
of "real" disklabels. Auto-enable this (at run time) when there is no other
partitioning scheme but disklabel configured.
Hard-coded enable this for x68k to allow using kernel based translations
for native Human68k partitions.
Get rid of the evbarm preliminary menu: do not bother to ask the user
whether this is a RPi - query the FDT instead.
PR 54065: add optional "old compat" variant of ext2fs in file system
type selection and use that as default for the cobalt boot file system.
For now rely on the kernel mapping native RDB partitions.
Fix detection of existing disklabels in the case when we only have
the disklabel partitioning scheme available.
Fix DISKLABEL_NO_ONDISK_VERIFY (accidently disabled in previous)
Fix inverted comparison
Do not try to change the keyboard layout if we are not running on the
console.
When trying to tell a fictious but empty label from a real one, skip
partition a if it has the same start and size as the raw partition.
Remove bogus assert.
When finding (paritioning scheme native) partition types for file systems
from our install description, pass the partition type (not only the file
system type). Sometimes (e.g. EFI boot partition on GPT) the filesystem
type (MSDOS) is not a unique selector.
Adapt MD parts to changes in get_fs_part_type (pass partition type).
If a fictious label has no RAW_PART assume there is no valid disk label.
Pass proper track size when initializing the default alignment - this is
important with sunlabels.
Fix overlapping partitions display
Reject (what we consider) empty/invalid fake disklabels no matter whether
we have other partitioning schemes available or not.
Do not show disklabel command invocation by default (only if there are
errors).
After installing boot blocks with RUN_NO_CLEAR (and handling the
potential errors) make sure to clear the stdscreen.
 1.20.2.5 17-Nov-2019  msaitoh Pull up following revision(s) (requested by martin in ticket #436):
usr.sbin/sysinst/disks.c: revision 1.55
usr.sbin/sysinst/msg.mi.en: revision 1.24
usr.sbin/sysinst/mbr.c: revision 1.22
usr.sbin/sysinst/disks.c: revision 1.56
usr.sbin/sysinst/msg.mi.en: revision 1.25
usr.sbin/sysinst/disks.c: revision 1.57
usr.sbin/sysinst/arch/playstation2/msg.md.pl: revision 1.3
usr.sbin/sysinst/Makefile.inc: revision 1.30
usr.sbin/sysinst/configmenu.c: revision 1.11
usr.sbin/sysinst/util.c: revision 1.35
usr.sbin/sysinst/gpt.c: revision 1.12
usr.sbin/sysinst/util.c: revision 1.36
usr.sbin/sysinst/arch/playstation2/msg.md.de: revision 1.3
usr.sbin/sysinst/arch/i386/menus.md: revision 1.3
usr.sbin/sysinst/util.c: revision 1.37
usr.sbin/sysinst/part_edit.c: revision 1.11
usr.sbin/sysinst/arch/i386/msg.md.en: revision 1.2
usr.sbin/sysinst/util.c: revision 1.38
usr.sbin/sysinst/part_edit.c: revision 1.12
usr.sbin/sysinst/arch/i386/msg.md.en: revision 1.3
usr.sbin/sysinst/util.c: revision 1.39
usr.sbin/sysinst/part_edit.c: revision 1.13
usr.sbin/sysinst/arch/i386/msg.md.en: revision 1.4
usr.sbin/sysinst/disklabel.c: revision 1.15
usr.sbin/sysinst/bsddisklabel.c: revision 1.30
usr.sbin/sysinst/arch/i386/msg.md.es: revision 1.2
usr.sbin/sysinst/bsddisklabel.c: revision 1.31
usr.sbin/sysinst/arch/i386/msg.md.es: revision 1.3
usr.sbin/sysinst/arch/i386/msg.md.es: revision 1.4
usr.sbin/sysinst/mbr.h: revision 1.4
usr.sbin/sysinst/main.c: revision 1.18
usr.sbin/sysinst/partman.c: revision 1.44
usr.sbin/sysinst/msg.mi.de: revision 1.17
usr.sbin/sysinst/arch/i386/msg.md.fr: revision 1.2
usr.sbin/sysinst/msg.mi.de: revision 1.18
usr.sbin/sysinst/arch/i386/msg.md.fr: revision 1.3
usr.sbin/sysinst/arch/playstation2/msg.md.en: revision 1.3
usr.sbin/sysinst/arch/i386/msg.md.fr: revision 1.4
usr.sbin/sysinst/arch/amd64/md.c: revision 1.2
usr.sbin/sysinst/arch/ews4800mips/Makefile: revision 1.3
usr.sbin/sysinst/arch/playstation2/msg.md.es: revision 1.3
usr.sbin/sysinst/label.c: revision 1.13
usr.sbin/sysinst/Makefile.inc: revision 1.29
usr.sbin/sysinst/label.c: revision 1.14
usr.sbin/sysinst/util.c: revision 1.40
usr.sbin/sysinst/partitions.c: revision 1.5
usr.sbin/sysinst/arch/amd64/md.h: revision 1.8
usr.sbin/sysinst/msg.mi.es: revision 1.18
usr.sbin/sysinst/net.c: revision 1.34
usr.sbin/sysinst/msg.mi.es: revision 1.19
usr.sbin/sysinst/arch/i386/msg.md.pl: revision 1.2
usr.sbin/sysinst/arch/i386/md.c: revision 1.22
usr.sbin/sysinst/msg.mi.fr: revision 1.22
usr.sbin/sysinst/arch/playstation2/msg.md.fr: revision 1.3
usr.sbin/sysinst/arch/i386/msg.md.pl: revision 1.3
usr.sbin/sysinst/arch/i386/md.c: revision 1.23
usr.sbin/sysinst/msg.mi.pl: revision 1.25
usr.sbin/sysinst/msg.mi.fr: revision 1.23
usr.sbin/sysinst/arch/i386/msg.md.pl: revision 1.4
usr.sbin/sysinst/arch/i386/md.c: revision 1.24
usr.sbin/sysinst/partitions.h: revision 1.8
usr.sbin/sysinst/msg.mi.pl: revision 1.26
usr.sbin/sysinst/arch/i386/msg.md.de: revision 1.2
usr.sbin/sysinst/arch/i386/msg.md.de: revision 1.3
usr.sbin/sysinst/arch/i386/msg.md.de: revision 1.4
usr.sbin/sysinst/run.c: revision 1.13
usr.sbin/sysinst/defs.h: revision 1.46
usr.sbin/sysinst/install.c: revision 1.12
usr.sbin/sysinst/defs.h: revision 1.47
usr.sbin/sysinst/install.c: revision 1.13
usr.sbin/sysinst/defs.h: revision 1.48
Add options to the various partitioning stages that allow cloning of
alien partitions (optionally including data).
PR 54467: we trust our own sets, extract them with -P to allow symlink
redirection (especially for updates and chroot services - back out
once a better solution for those is implemented)
Make cloning support optional, so we can save some space on very small
install media.
Drop MBR and cloning support on crunched install media.
Make tar extraction flags depend on our usage of pax-as-tar or bsdtar.
Fix missing newlines in bios match display, pointed out by maxv.
Drop unused variable.
Fix table of bios geomatries
knf style adjustments
Make the bootblock selection menu more sane, pointed out by maxv
Make sure all menus have a translatable exit option (or none at all).
On amd64 support installation with a KASLR kernel, via "custom install"
and selecting the GENERIC_KASLR kernel set.
Setup /prekern and boot.cfg accordingly.
 1.20.2.4 17-Nov-2019  martin Pull up following revision(s) (requested by maya in ticket #435):

distrib/sets/maketars: revision 1.90
usr.sbin/sysinst/arch/playstation2/md.h: revision 1.2
usr.sbin/sysinst/arch/sandpoint/md.h: revision 1.3
usr.sbin/sysinst/arch/evbppc/md.h: revision 1.3
usr.sbin/sysinst/arch/hpcarm/md.h: revision 1.3
usr.sbin/sysinst/arch/mvme68k/md.h: revision 1.3
distrib/sun3/MakeInstTape: revision 1.3
usr.sbin/sysinst/util.c: revision 1.33
distrib/sets/lists/rescue/mi: revision 1.1
distrib/sets/lists/base/rescue.sun2: file removal
usr.sbin/sysinst/arch/zaurus/md.h: revision 1.3
distrib/sets/lists/base/rescue.ad.m68k.shl: file removal
distrib/sets/regpkgset: revision 1.13
usr.sbin/sysinst/arch/i386/md.h: revision 1.7
distrib/sets/lists/base/rescue.sparc: file removal
distrib/notes/mvme68k/xfer: revision 1.19
distrib/sets/sets.subr: revision 1.187
distrib/common/bootimage/Makefile.bootimage: revision 1.22
usr.sbin/sysinst/msg.mi.de: revision 1.16
usr.sbin/sysinst/arch/atari/md.h: revision 1.3
rescue/Makefile: revision 1.38
distrib/sets/lists/base/rescue.macppc: file removal
usr.sbin/sysinst/arch/arc/md.h: revision 1.4
distrib/miniroot/install.sub: revision 1.49
usr.sbin/sysinst/arch/acorn32/md.h: revision 1.3
usr.sbin/sysinst/arch/x68k/md.h: revision 1.3
usr.sbin/sysinst/arch/hpcmips/md.h: revision 1.3
usr.sbin/sysinst/arch/bebox/md.h: revision 1.3
usr.sbin/sysinst/arch/hpcsh/md.h: revision 1.2
distrib/sets/lists/base/rescue.shark: file removal
usr.sbin/sysinst/arch/emips/md.h: revision 1.5
distrib/utils/embedded/mkimage: revision 1.70
usr.sbin/sysinst/arch/shark/md.h: revision 1.3
usr.sbin/sysinst/arch/pmax/md.h: revision 1.4
usr.sbin/sysinst/arch/amiga/md.h: revision 1.4
usr.sbin/sysinst/arch/hp300/md.h: revision 1.5
rescue/list.ldconfig: file removal
distrib/sets/lists/base/rescue.ad.m68k: file removal
usr.sbin/sysinst/arch/prep/md.h: revision 1.4
usr.sbin/sysinst/arch/cats/md.h: revision 1.4
usr.sbin/sysinst/arch/amd64/md.h: revision 1.7
usr.sbin/sysinst/msg.mi.es: revision 1.17
usr.sbin/sysinst/msg.mi.fr: revision 1.20
usr.sbin/sysinst/msg.mi.pl: revision 1.23
distrib/sets/lists/base/rescue.i386: file removal
usr.sbin/sysinst/arch/evbarm/md.h: revision 1.3
distrib/sets/lists/base/rescue.vax: file removal
distrib/amd64/uefi-installimage/Makefile.bootimage: revision 1.12
usr.sbin/sysinst/arch/evbmips/md.h: revision 1.3
distrib/sets/lists/base/rescue.mi: file removal
distrib/sets/README: revision 1.14
usr.sbin/sysinst/arch/sgimips/md.h: revision 1.4
distrib/sets/lists/base/rescue.sparc64: file removal
distrib/sets/lists/base/rescue.mi: revision 1.45
distrib/sets/lists/base/rescue.mi: revision 1.46
usr.sbin/sysinst/arch/ofppc/md.h: revision 1.4
usr.sbin/sysinst/arch/cobalt/md.h: revision 1.4
distrib/sets/lists/base/rescue.ad.arm: file removal
distrib/sets/lists/base/rescue.mac68k: file removal
usr.sbin/sysinst/defs.h: revision 1.45
usr.sbin/sysinst/arch/landisk/md.h: revision 1.2
distrib/notes/atari/xfer: revision 1.17
etc/Makefile: revision 1.441
usr.sbin/sysinst/msg.mi.en: revision 1.22
distrib/sun2/MakeInstTape: revision 1.2

Remove ldconfig from /rescue, and mark it MI obsolete.
- ldconfig in netbsd refers to a.out binaries only. We've been ELF-only
since NetBSD 2.0 or so, and having it in /rescue served little purpose
even before that, as /rescue is standalone.
- Using MI obsolete to avoid the need for MD set lists where ldconfig
is the sole entry

Mark /rescue/edlabel as MI-obsolete, so we can remove all remaining MD
rescue set list files.

Split out /rescue to its own set and adapt installers/images to add it.

This is meant to make updates safer: if something goes wrong with updating
base, we still have the old, standalone /rescue to recover from.
 1.20.2.3 24-Oct-2019  martin Pull up following revision(s) (requested by kamil in ticket #377):

usr.sbin/sysinst/msg.mi.pl: revision 1.24

Fix polish translation for sysinst

PR install/53870 by Guest01
PR install/53871 by Guest01

patch by Krzysztof Lasocki
 1.20.2.2 18-Aug-2019  msaitoh Pull up following revision(s) (requested by martin in ticket #82):
usr.sbin/sysinst/util.c: revision 1.30
usr.sbin/sysinst/msg.mi.fr: revision 1.19
usr.sbin/sysinst/msg.mi.de: revision 1.15
usr.sbin/sysinst/msg.mi.es: revision 1.16
usr.sbin/sysinst/msg.mi.pl: revision 1.22
usr.sbin/sysinst/msg.mi.en: revision 1.21
PR 54473: fix error prompt when a set file is missing
 1.20.2.1 18-Aug-2019  msaitoh Pull up following revision(s) (requested by martin in ticket #78):
usr.sbin/sysinst/gpt.c: revision 1.10
usr.sbin/sysinst/disklabel.c: revision 1.12
usr.sbin/sysinst/msg.mi.fr: revision 1.18
usr.sbin/sysinst/msg.mi.de: revision 1.14
usr.sbin/sysinst/partitions.c: revision 1.2
usr.sbin/sysinst/msg.mi.es: revision 1.15
usr.sbin/sysinst/msg.mi.pl: revision 1.21
usr.sbin/sysinst/partitions.h: revision 1.6
usr.sbin/sysinst/msg.mi.en: revision 1.20
usr.sbin/sysinst/mbr.c: revision 1.20
On architectures that usually do MBR/disklabel, nevertheless deal with
pure/plain disklabel disks, and explicitly offer this as partitioning
option when bootability is not a concern.
 1.45.2.1 02-Nov-2023  sborrill Pull up the following revisions(s) (requested by martin in ticket #442):
usr.sbin/sysinst/label.c: revision 1.49
usr.sbin/sysinst/msg.mi.de: revision 1.44
usr.sbin/sysinst/msg.mi.en: revision 1.47
usr.sbin/sysinst/msg.mi.es: revision 1.40
usr.sbin/sysinst/msg.mi.fr: revision 1.45
usr.sbin/sysinst/msg.mi.pl: revision 1.46

Switch to "-" (single minus) as input denotation for "no mount point"
in all translations and adjust the code accordingly.
 1.49.2.1 02-Aug-2025  perseant Sync with HEAD
 1.3 04-Nov-2020  martin Add (experimental) entropy input support:
Early during new installs or after upgrades we check if entropy is
available. If not (no hardware random number generator available)
we inform the user and ask them to fix it.
 1.2 09-Jan-2020  martin branches: 1.2.4;
Finish conversion of extended partitioning parts to new abstract
backend interface. XXX still could use a lot of polishing.
 1.1 12-Jun-2019  martin branches: 1.1.2;
Rework internal data structures and "interfaces to user interface" functions
to get rid of all disklabel assumptions.

Previously (even for GPT partitioning) struct disklabel was used, which
obviously breaks large disk setups. Also many MD parts and parts of the
user interface assumed (a) a struct disklabel is used internally to
store partitioning information and (b) partitions are named 'a' ... $MAXPART.

Get rid of this and replace it with a quite abstract interface that should
be able to deal with all variants in partition storage:

- partitions are stored in a (partly abstract) struct disk_partitions
and most parts of it are only accessed via accessor functions provided
by a "partitioning scheme".

- implement partitioning schemes for MBR, disklabel and GPT (with likely
RDB [amiga] and Apple Partition Map [mac*] to follow soon)

- partitioning schemes may be cascaded, e.g. on x86 when using MBR as
"outer partitions", we have disklabel as "inner partitions".

- all user interface goes via accessor functions in the partitioning scheme,
some of which return pointers to special user interface descriptors
(e.g. to allow editing partition flags, which are scheme specific)

Overall the user interface changes (in this initial step) are minimal but
noticable. A new Anita is needed for automatic test setups - many thanks
to Andreas Gustafsson for lots of early testing and a new Anita version,
and to Manuel Bouyer for cooperation and tests of the Anita release.

This work was sponsored by The NetBSD Foundation, Inc.
 1.1.2.1 28-Jan-2020  msaitoh Pull up following revision(s) (requested by martin in ticket #668):
usr.sbin/sysinst/arch/cobalt/md.c: revision 1.11
usr.sbin/sysinst/arch/cobalt/md.c: revision 1.12
usr.sbin/sysinst/arch/arc/md.c: revision 1.11
usr.sbin/sysinst/arch/arc/md.c: revision 1.12
usr.sbin/sysinst/partman.c: revision 1.43
usr.sbin/sysinst/partman.c: revision 1.46
usr.sbin/sysinst/partman.c: revision 1.47
usr.sbin/sysinst/partman.c: revision 1.48
usr.sbin/sysinst/partman.c: revision 1.49
usr.sbin/sysinst/msg.pm.fr: revision 1.2
usr.sbin/sysinst/upgrade.c: revision 1.14
usr.sbin/sysinst/arch/i386/md.c: revision 1.28
usr.sbin/sysinst/arch/i386/md.c: revision 1.29
usr.sbin/sysinst/arch/ofppc/md.c: revision 1.9
usr.sbin/sysinst/arch/sandpoint/md.c: revision 1.7
usr.sbin/sysinst/arch/sandpoint/md.c: revision 1.8
usr.sbin/sysinst/gpt.c: revision 1.14
usr.sbin/sysinst/gpt.c: revision 1.15
usr.sbin/sysinst/arch/luna68k/md.c: revision 1.8
usr.sbin/sysinst/gpt.c: revision 1.16
usr.sbin/sysinst/msg.pm.de: revision 1.2
usr.sbin/sysinst/arch/evbarm/md.c: revision 1.11
usr.sbin/sysinst/arch/evbarm/md.c: revision 1.12
usr.sbin/sysinst/arch/evbarm/md.c: revision 1.13
usr.sbin/sysinst/arch/evbarm/md.c: revision 1.14
usr.sbin/sysinst/sizemultname.c: revision 1.4
usr.sbin/sysinst/msg.pm.en: revision 1.2
usr.sbin/sysinst/arch/landisk/md.c: revision 1.12
usr.sbin/sysinst/util.c: revision 1.41
usr.sbin/sysinst/arch/landisk/md.c: revision 1.13
usr.sbin/sysinst/util.c: revision 1.42
usr.sbin/sysinst/arch/ofppc/md.c: revision 1.10
usr.sbin/sysinst/partitions.c: revision 1.9
usr.sbin/sysinst/arch/evbarm/md.h: revision 1.4
usr.sbin/sysinst/arch/evbarm/md.h: revision 1.5
usr.sbin/sysinst/arch/evbmips/md.c: revision 1.7
usr.sbin/sysinst/arch/evbmips/md.c: revision 1.8
usr.sbin/sysinst/msg.mi.fr: revision 1.25
usr.sbin/sysinst/msg.mi.de: revision 1.20
usr.sbin/sysinst/install.c: revision 1.14
usr.sbin/sysinst/partitions.h: revision 1.13
usr.sbin/sysinst/partitions.h: revision 1.14
usr.sbin/sysinst/arch/evbppc/md.c: revision 1.7
usr.sbin/sysinst/arch/playstation2/md.c: revision 1.7
usr.sbin/sysinst/msg.mi.en: revision 1.27
usr.sbin/sysinst/partitions.h: revision 1.15
usr.sbin/sysinst/arch/evbppc/md.c: revision 1.8
usr.sbin/sysinst/arch/hpcarm/md.c: revision 1.7
usr.sbin/sysinst/arch/playstation2/md.c: revision 1.8
usr.sbin/sysinst/msg.pm.pl: revision 1.2
usr.sbin/sysinst/arch/hpcarm/md.c: revision 1.8
usr.sbin/sysinst/msg.mi.es: revision 1.21
usr.sbin/sysinst/arch/zaurus/md.c: revision 1.7
usr.sbin/sysinst/target.c: revision 1.11
usr.sbin/sysinst/arch/zaurus/md.c: revision 1.8
usr.sbin/sysinst/part_edit.c: revision 1.14
usr.sbin/sysinst/part_edit.c: revision 1.15
usr.sbin/sysinst/part_edit.c: revision 1.16
usr.sbin/sysinst/defs.h: revision 1.50
usr.sbin/sysinst/defs.h: revision 1.51
usr.sbin/sysinst/defs.h: revision 1.52
usr.sbin/sysinst/defs.h: revision 1.53
usr.sbin/sysinst/defs.h: revision 1.54
usr.sbin/sysinst/arch/hpcmips/md.c: revision 1.7
usr.sbin/sysinst/arch/hpcmips/md.c: revision 1.8
usr.sbin/sysinst/arch/hpcsh/md.c: revision 1.8
usr.sbin/sysinst/msg.pm.es: revision 1.2
usr.sbin/sysinst/arch/hpcsh/md.c: revision 1.9
usr.sbin/sysinst/label.c: revision 1.18
usr.sbin/sysinst/label.c: revision 1.19
usr.sbin/sysinst/net.c: revision 1.35
usr.sbin/sysinst/msg.mi.pl: revision 1.28
usr.sbin/sysinst/disklabel.c: revision 1.28
usr.sbin/sysinst/disklabel.c: revision 1.29
usr.sbin/sysinst/mbr.c: revision 1.24
usr.sbin/sysinst/disks.c: revision 1.59
usr.sbin/sysinst/mbr.c: revision 1.25
usr.sbin/sysinst/mbr.c: revision 1.26
usr.sbin/sysinst/mbr.c: revision 1.27
usr.sbin/sysinst/mbr.c: revision 1.28
usr.sbin/sysinst/label.c: revision 1.20
usr.sbin/sysinst/mbr.c: revision 1.29
usr.sbin/sysinst/bsddisklabel.c: revision 1.34
usr.sbin/sysinst/bsddisklabel.c: revision 1.35
usr.sbin/sysinst/bsddisklabel.c: revision 1.36
usr.sbin/sysinst/bsddisklabel.c: revision 1.37
usr.sbin/sysinst/disklabel.c: revision 1.30
usr.sbin/sysinst/bsddisklabel.c: revision 1.38
usr.sbin/sysinst/disklabel.c: revision 1.31
usr.sbin/sysinst/disklabel.c: revision 1.32
usr.sbin/sysinst/disklabel.c: revision 1.33
usr.sbin/sysinst/disklabel.c: revision 1.34
usr.sbin/sysinst/disks.c: revision 1.60
usr.sbin/sysinst/disks.c: revision 1.61
usr.sbin/sysinst/arch/bebox/md.c: revision 1.7
usr.sbin/sysinst/disks.c: revision 1.62
usr.sbin/sysinst/arch/bebox/md.c: revision 1.8
usr.sbin/sysinst/mbr.c: revision 1.30
usr.sbin/sysinst/partitions.c: revision 1.10
usr.sbin/sysinst/arch/prep/md.c: revision 1.11
usr.sbin/sysinst/arch/prep/md.c: revision 1.12
usr.sbin/sysinst/menus.pm: revision 1.3
usr.sbin/sysinst/main.c: revision 1.20
usr.sbin/sysinst/menus.mi: revision 1.20
usr.sbin/sysinst/menus.mi: revision 1.21
avoid calling snprintf/strlcat with an input parameter the same
as the output. from martin@. fixes gcc 8 restrict warnings.
Finish conversion of extended partitioning parts to new abstract
backend interface. XXX still could use a lot of polishing.
Instead of a (bogus) attempt to query the model via ofctl, use the (now
fixed) sysctl hw.model instead.
When reading the secondary disklabel partitions from an existing disklabel
set the mbr partitions as parent.
Move the LABELSECTOR check and make it FS type specific - some partition
types (FFS, RAID) are allowed to overlap with the LABELSECTOR.
When asked to create a whole-disk partition for unknown usage, do not only
assert(false), but actually return an error (in case "assert" is a nop).
PR install/54787: when trying to derive proper alignement and first offset
from exisiting partitions, use the first partition offset if it is already
closer to the start of the disk than the prefered alignment - we can not
move existing partitions around.
Fix handling of inner/outer partitions (e.g. MBR and disklabel) in
extended partitioning:
- when editing a disk with such a schme, offer both partitions in two
steps
- when commiting changes save the inner partitions after the outer ones
Add a method to query the partitioning schemes "internal idea" of a
cylinder size - whatever that means in the real world.
Avoid using the global "pm" variable in utility functions - during
extended partitioning they may point to a different device.
Remove useless calls to get_ramsize() - return value is ignored and
the function has no side effects.
Fix /tmp tmpfs handling and on machines with enough RAM default to
creating a /tmp tmpfs with 25% of ram size limit. Suggested by ad@.
PR install/54872: fix printf argument order, sectors and heads were
swapped in the bios geometry display.
First try to bring evbarm installation closer to current reality.
hide disklabel_non_bootable() under NO_DISKLABEL_BOOT like the usage.
should fix most builds.
Deal with even stranger fictious empty disklabels (PR kern/54882).
Factor out all RAM size thresholds as defines to avoid magic numbers.
To work around PR misc/54886 bump the threshold for a tmpfs /tmp mount
up to 256 MB.
When retrying sets during extraction, reset the relevant statistics
to avoid counting retried sets multiple times.
Reported by kim.
Fix support for non-512-byte/sector disks again after I broke it when
introducing the abstract partition backends.
Use a few strlcpy() instead of strncpy() for network ioctl structs.
We seem to have no formal documentation stating the various
char if*_name[IFNAMSIZ]; /* if name, e.g. "en0" */
elements in ioctls are nul terminated, but the peanut gallery claims
it is so - and at least half of the code in-tree touching them agrees.
Too much disklabel magic happening in the kernel - to compensate force
MBR first when trying to identify the existing partitioning scheme of
a disk.
 1.2.4.2 13-Apr-2020  martin Mostly merge changes from HEAD upto 20200411
 1.2.4.1 09-Jan-2020  martin file msg.pm.de was added on branch phil-wifi on 2020-04-13 08:06:00 +0000
 1.4 05-Nov-2020  martin Remove an unused message (accidently placed inconsistently in
previous)
 1.3 04-Nov-2020  martin Add (experimental) entropy input support:
Early during new installs or after upgrades we check if entropy is
available. If not (no hardware random number generator available)
we inform the user and ask them to fix it.
 1.2 09-Jan-2020  martin branches: 1.2.4;
Finish conversion of extended partitioning parts to new abstract
backend interface. XXX still could use a lot of polishing.
 1.1 12-Jun-2019  martin branches: 1.1.2;
Rework internal data structures and "interfaces to user interface" functions
to get rid of all disklabel assumptions.

Previously (even for GPT partitioning) struct disklabel was used, which
obviously breaks large disk setups. Also many MD parts and parts of the
user interface assumed (a) a struct disklabel is used internally to
store partitioning information and (b) partitions are named 'a' ... $MAXPART.

Get rid of this and replace it with a quite abstract interface that should
be able to deal with all variants in partition storage:

- partitions are stored in a (partly abstract) struct disk_partitions
and most parts of it are only accessed via accessor functions provided
by a "partitioning scheme".

- implement partitioning schemes for MBR, disklabel and GPT (with likely
RDB [amiga] and Apple Partition Map [mac*] to follow soon)

- partitioning schemes may be cascaded, e.g. on x86 when using MBR as
"outer partitions", we have disklabel as "inner partitions".

- all user interface goes via accessor functions in the partitioning scheme,
some of which return pointers to special user interface descriptors
(e.g. to allow editing partition flags, which are scheme specific)

Overall the user interface changes (in this initial step) are minimal but
noticable. A new Anita is needed for automatic test setups - many thanks
to Andreas Gustafsson for lots of early testing and a new Anita version,
and to Manuel Bouyer for cooperation and tests of the Anita release.

This work was sponsored by The NetBSD Foundation, Inc.
 1.1.2.1 28-Jan-2020  msaitoh Pull up following revision(s) (requested by martin in ticket #668):
usr.sbin/sysinst/arch/cobalt/md.c: revision 1.11
usr.sbin/sysinst/arch/cobalt/md.c: revision 1.12
usr.sbin/sysinst/arch/arc/md.c: revision 1.11
usr.sbin/sysinst/arch/arc/md.c: revision 1.12
usr.sbin/sysinst/partman.c: revision 1.43
usr.sbin/sysinst/partman.c: revision 1.46
usr.sbin/sysinst/partman.c: revision 1.47
usr.sbin/sysinst/partman.c: revision 1.48
usr.sbin/sysinst/partman.c: revision 1.49
usr.sbin/sysinst/msg.pm.fr: revision 1.2
usr.sbin/sysinst/upgrade.c: revision 1.14
usr.sbin/sysinst/arch/i386/md.c: revision 1.28
usr.sbin/sysinst/arch/i386/md.c: revision 1.29
usr.sbin/sysinst/arch/ofppc/md.c: revision 1.9
usr.sbin/sysinst/arch/sandpoint/md.c: revision 1.7
usr.sbin/sysinst/arch/sandpoint/md.c: revision 1.8
usr.sbin/sysinst/gpt.c: revision 1.14
usr.sbin/sysinst/gpt.c: revision 1.15
usr.sbin/sysinst/arch/luna68k/md.c: revision 1.8
usr.sbin/sysinst/gpt.c: revision 1.16
usr.sbin/sysinst/msg.pm.de: revision 1.2
usr.sbin/sysinst/arch/evbarm/md.c: revision 1.11
usr.sbin/sysinst/arch/evbarm/md.c: revision 1.12
usr.sbin/sysinst/arch/evbarm/md.c: revision 1.13
usr.sbin/sysinst/arch/evbarm/md.c: revision 1.14
usr.sbin/sysinst/sizemultname.c: revision 1.4
usr.sbin/sysinst/msg.pm.en: revision 1.2
usr.sbin/sysinst/arch/landisk/md.c: revision 1.12
usr.sbin/sysinst/util.c: revision 1.41
usr.sbin/sysinst/arch/landisk/md.c: revision 1.13
usr.sbin/sysinst/util.c: revision 1.42
usr.sbin/sysinst/arch/ofppc/md.c: revision 1.10
usr.sbin/sysinst/partitions.c: revision 1.9
usr.sbin/sysinst/arch/evbarm/md.h: revision 1.4
usr.sbin/sysinst/arch/evbarm/md.h: revision 1.5
usr.sbin/sysinst/arch/evbmips/md.c: revision 1.7
usr.sbin/sysinst/arch/evbmips/md.c: revision 1.8
usr.sbin/sysinst/msg.mi.fr: revision 1.25
usr.sbin/sysinst/msg.mi.de: revision 1.20
usr.sbin/sysinst/install.c: revision 1.14
usr.sbin/sysinst/partitions.h: revision 1.13
usr.sbin/sysinst/partitions.h: revision 1.14
usr.sbin/sysinst/arch/evbppc/md.c: revision 1.7
usr.sbin/sysinst/arch/playstation2/md.c: revision 1.7
usr.sbin/sysinst/msg.mi.en: revision 1.27
usr.sbin/sysinst/partitions.h: revision 1.15
usr.sbin/sysinst/arch/evbppc/md.c: revision 1.8
usr.sbin/sysinst/arch/hpcarm/md.c: revision 1.7
usr.sbin/sysinst/arch/playstation2/md.c: revision 1.8
usr.sbin/sysinst/msg.pm.pl: revision 1.2
usr.sbin/sysinst/arch/hpcarm/md.c: revision 1.8
usr.sbin/sysinst/msg.mi.es: revision 1.21
usr.sbin/sysinst/arch/zaurus/md.c: revision 1.7
usr.sbin/sysinst/target.c: revision 1.11
usr.sbin/sysinst/arch/zaurus/md.c: revision 1.8
usr.sbin/sysinst/part_edit.c: revision 1.14
usr.sbin/sysinst/part_edit.c: revision 1.15
usr.sbin/sysinst/part_edit.c: revision 1.16
usr.sbin/sysinst/defs.h: revision 1.50
usr.sbin/sysinst/defs.h: revision 1.51
usr.sbin/sysinst/defs.h: revision 1.52
usr.sbin/sysinst/defs.h: revision 1.53
usr.sbin/sysinst/defs.h: revision 1.54
usr.sbin/sysinst/arch/hpcmips/md.c: revision 1.7
usr.sbin/sysinst/arch/hpcmips/md.c: revision 1.8
usr.sbin/sysinst/arch/hpcsh/md.c: revision 1.8
usr.sbin/sysinst/msg.pm.es: revision 1.2
usr.sbin/sysinst/arch/hpcsh/md.c: revision 1.9
usr.sbin/sysinst/label.c: revision 1.18
usr.sbin/sysinst/label.c: revision 1.19
usr.sbin/sysinst/net.c: revision 1.35
usr.sbin/sysinst/msg.mi.pl: revision 1.28
usr.sbin/sysinst/disklabel.c: revision 1.28
usr.sbin/sysinst/disklabel.c: revision 1.29
usr.sbin/sysinst/mbr.c: revision 1.24
usr.sbin/sysinst/disks.c: revision 1.59
usr.sbin/sysinst/mbr.c: revision 1.25
usr.sbin/sysinst/mbr.c: revision 1.26
usr.sbin/sysinst/mbr.c: revision 1.27
usr.sbin/sysinst/mbr.c: revision 1.28
usr.sbin/sysinst/label.c: revision 1.20
usr.sbin/sysinst/mbr.c: revision 1.29
usr.sbin/sysinst/bsddisklabel.c: revision 1.34
usr.sbin/sysinst/bsddisklabel.c: revision 1.35
usr.sbin/sysinst/bsddisklabel.c: revision 1.36
usr.sbin/sysinst/bsddisklabel.c: revision 1.37
usr.sbin/sysinst/disklabel.c: revision 1.30
usr.sbin/sysinst/bsddisklabel.c: revision 1.38
usr.sbin/sysinst/disklabel.c: revision 1.31
usr.sbin/sysinst/disklabel.c: revision 1.32
usr.sbin/sysinst/disklabel.c: revision 1.33
usr.sbin/sysinst/disklabel.c: revision 1.34
usr.sbin/sysinst/disks.c: revision 1.60
usr.sbin/sysinst/disks.c: revision 1.61
usr.sbin/sysinst/arch/bebox/md.c: revision 1.7
usr.sbin/sysinst/disks.c: revision 1.62
usr.sbin/sysinst/arch/bebox/md.c: revision 1.8
usr.sbin/sysinst/mbr.c: revision 1.30
usr.sbin/sysinst/partitions.c: revision 1.10
usr.sbin/sysinst/arch/prep/md.c: revision 1.11
usr.sbin/sysinst/arch/prep/md.c: revision 1.12
usr.sbin/sysinst/menus.pm: revision 1.3
usr.sbin/sysinst/main.c: revision 1.20
usr.sbin/sysinst/menus.mi: revision 1.20
usr.sbin/sysinst/menus.mi: revision 1.21
avoid calling snprintf/strlcat with an input parameter the same
as the output. from martin@. fixes gcc 8 restrict warnings.
Finish conversion of extended partitioning parts to new abstract
backend interface. XXX still could use a lot of polishing.
Instead of a (bogus) attempt to query the model via ofctl, use the (now
fixed) sysctl hw.model instead.
When reading the secondary disklabel partitions from an existing disklabel
set the mbr partitions as parent.
Move the LABELSECTOR check and make it FS type specific - some partition
types (FFS, RAID) are allowed to overlap with the LABELSECTOR.
When asked to create a whole-disk partition for unknown usage, do not only
assert(false), but actually return an error (in case "assert" is a nop).
PR install/54787: when trying to derive proper alignement and first offset
from exisiting partitions, use the first partition offset if it is already
closer to the start of the disk than the prefered alignment - we can not
move existing partitions around.
Fix handling of inner/outer partitions (e.g. MBR and disklabel) in
extended partitioning:
- when editing a disk with such a schme, offer both partitions in two
steps
- when commiting changes save the inner partitions after the outer ones
Add a method to query the partitioning schemes "internal idea" of a
cylinder size - whatever that means in the real world.
Avoid using the global "pm" variable in utility functions - during
extended partitioning they may point to a different device.
Remove useless calls to get_ramsize() - return value is ignored and
the function has no side effects.
Fix /tmp tmpfs handling and on machines with enough RAM default to
creating a /tmp tmpfs with 25% of ram size limit. Suggested by ad@.
PR install/54872: fix printf argument order, sectors and heads were
swapped in the bios geometry display.
First try to bring evbarm installation closer to current reality.
hide disklabel_non_bootable() under NO_DISKLABEL_BOOT like the usage.
should fix most builds.
Deal with even stranger fictious empty disklabels (PR kern/54882).
Factor out all RAM size thresholds as defines to avoid magic numbers.
To work around PR misc/54886 bump the threshold for a tmpfs /tmp mount
up to 256 MB.
When retrying sets during extraction, reset the relevant statistics
to avoid counting retried sets multiple times.
Reported by kim.
Fix support for non-512-byte/sector disks again after I broke it when
introducing the abstract partition backends.
Use a few strlcpy() instead of strncpy() for network ioctl structs.
We seem to have no formal documentation stating the various
char if*_name[IFNAMSIZ]; /* if name, e.g. "en0" */
elements in ioctls are nul terminated, but the peanut gallery claims
it is so - and at least half of the code in-tree touching them agrees.
Too much disklabel magic happening in the kernel - to compensate force
MBR first when trying to identify the existing partitioning scheme of
a disk.
 1.2.4.2 13-Apr-2020  martin Mostly merge changes from HEAD upto 20200411
 1.2.4.1 09-Jan-2020  martin file msg.pm.en was added on branch phil-wifi on 2020-04-13 08:06:00 +0000
 1.4 05-Nov-2020  martin Remove an unused message (accidently placed inconsistently in
previous)
 1.3 04-Nov-2020  martin Add (experimental) entropy input support:
Early during new installs or after upgrades we check if entropy is
available. If not (no hardware random number generator available)
we inform the user and ask them to fix it.
 1.2 09-Jan-2020  martin branches: 1.2.4;
Finish conversion of extended partitioning parts to new abstract
backend interface. XXX still could use a lot of polishing.
 1.1 12-Jun-2019  martin branches: 1.1.2;
Rework internal data structures and "interfaces to user interface" functions
to get rid of all disklabel assumptions.

Previously (even for GPT partitioning) struct disklabel was used, which
obviously breaks large disk setups. Also many MD parts and parts of the
user interface assumed (a) a struct disklabel is used internally to
store partitioning information and (b) partitions are named 'a' ... $MAXPART.

Get rid of this and replace it with a quite abstract interface that should
be able to deal with all variants in partition storage:

- partitions are stored in a (partly abstract) struct disk_partitions
and most parts of it are only accessed via accessor functions provided
by a "partitioning scheme".

- implement partitioning schemes for MBR, disklabel and GPT (with likely
RDB [amiga] and Apple Partition Map [mac*] to follow soon)

- partitioning schemes may be cascaded, e.g. on x86 when using MBR as
"outer partitions", we have disklabel as "inner partitions".

- all user interface goes via accessor functions in the partitioning scheme,
some of which return pointers to special user interface descriptors
(e.g. to allow editing partition flags, which are scheme specific)

Overall the user interface changes (in this initial step) are minimal but
noticable. A new Anita is needed for automatic test setups - many thanks
to Andreas Gustafsson for lots of early testing and a new Anita version,
and to Manuel Bouyer for cooperation and tests of the Anita release.

This work was sponsored by The NetBSD Foundation, Inc.
 1.1.2.1 28-Jan-2020  msaitoh Pull up following revision(s) (requested by martin in ticket #668):
usr.sbin/sysinst/arch/cobalt/md.c: revision 1.11
usr.sbin/sysinst/arch/cobalt/md.c: revision 1.12
usr.sbin/sysinst/arch/arc/md.c: revision 1.11
usr.sbin/sysinst/arch/arc/md.c: revision 1.12
usr.sbin/sysinst/partman.c: revision 1.43
usr.sbin/sysinst/partman.c: revision 1.46
usr.sbin/sysinst/partman.c: revision 1.47
usr.sbin/sysinst/partman.c: revision 1.48
usr.sbin/sysinst/partman.c: revision 1.49
usr.sbin/sysinst/msg.pm.fr: revision 1.2
usr.sbin/sysinst/upgrade.c: revision 1.14
usr.sbin/sysinst/arch/i386/md.c: revision 1.28
usr.sbin/sysinst/arch/i386/md.c: revision 1.29
usr.sbin/sysinst/arch/ofppc/md.c: revision 1.9
usr.sbin/sysinst/arch/sandpoint/md.c: revision 1.7
usr.sbin/sysinst/arch/sandpoint/md.c: revision 1.8
usr.sbin/sysinst/gpt.c: revision 1.14
usr.sbin/sysinst/gpt.c: revision 1.15
usr.sbin/sysinst/arch/luna68k/md.c: revision 1.8
usr.sbin/sysinst/gpt.c: revision 1.16
usr.sbin/sysinst/msg.pm.de: revision 1.2
usr.sbin/sysinst/arch/evbarm/md.c: revision 1.11
usr.sbin/sysinst/arch/evbarm/md.c: revision 1.12
usr.sbin/sysinst/arch/evbarm/md.c: revision 1.13
usr.sbin/sysinst/arch/evbarm/md.c: revision 1.14
usr.sbin/sysinst/sizemultname.c: revision 1.4
usr.sbin/sysinst/msg.pm.en: revision 1.2
usr.sbin/sysinst/arch/landisk/md.c: revision 1.12
usr.sbin/sysinst/util.c: revision 1.41
usr.sbin/sysinst/arch/landisk/md.c: revision 1.13
usr.sbin/sysinst/util.c: revision 1.42
usr.sbin/sysinst/arch/ofppc/md.c: revision 1.10
usr.sbin/sysinst/partitions.c: revision 1.9
usr.sbin/sysinst/arch/evbarm/md.h: revision 1.4
usr.sbin/sysinst/arch/evbarm/md.h: revision 1.5
usr.sbin/sysinst/arch/evbmips/md.c: revision 1.7
usr.sbin/sysinst/arch/evbmips/md.c: revision 1.8
usr.sbin/sysinst/msg.mi.fr: revision 1.25
usr.sbin/sysinst/msg.mi.de: revision 1.20
usr.sbin/sysinst/install.c: revision 1.14
usr.sbin/sysinst/partitions.h: revision 1.13
usr.sbin/sysinst/partitions.h: revision 1.14
usr.sbin/sysinst/arch/evbppc/md.c: revision 1.7
usr.sbin/sysinst/arch/playstation2/md.c: revision 1.7
usr.sbin/sysinst/msg.mi.en: revision 1.27
usr.sbin/sysinst/partitions.h: revision 1.15
usr.sbin/sysinst/arch/evbppc/md.c: revision 1.8
usr.sbin/sysinst/arch/hpcarm/md.c: revision 1.7
usr.sbin/sysinst/arch/playstation2/md.c: revision 1.8
usr.sbin/sysinst/msg.pm.pl: revision 1.2
usr.sbin/sysinst/arch/hpcarm/md.c: revision 1.8
usr.sbin/sysinst/msg.mi.es: revision 1.21
usr.sbin/sysinst/arch/zaurus/md.c: revision 1.7
usr.sbin/sysinst/target.c: revision 1.11
usr.sbin/sysinst/arch/zaurus/md.c: revision 1.8
usr.sbin/sysinst/part_edit.c: revision 1.14
usr.sbin/sysinst/part_edit.c: revision 1.15
usr.sbin/sysinst/part_edit.c: revision 1.16
usr.sbin/sysinst/defs.h: revision 1.50
usr.sbin/sysinst/defs.h: revision 1.51
usr.sbin/sysinst/defs.h: revision 1.52
usr.sbin/sysinst/defs.h: revision 1.53
usr.sbin/sysinst/defs.h: revision 1.54
usr.sbin/sysinst/arch/hpcmips/md.c: revision 1.7
usr.sbin/sysinst/arch/hpcmips/md.c: revision 1.8
usr.sbin/sysinst/arch/hpcsh/md.c: revision 1.8
usr.sbin/sysinst/msg.pm.es: revision 1.2
usr.sbin/sysinst/arch/hpcsh/md.c: revision 1.9
usr.sbin/sysinst/label.c: revision 1.18
usr.sbin/sysinst/label.c: revision 1.19
usr.sbin/sysinst/net.c: revision 1.35
usr.sbin/sysinst/msg.mi.pl: revision 1.28
usr.sbin/sysinst/disklabel.c: revision 1.28
usr.sbin/sysinst/disklabel.c: revision 1.29
usr.sbin/sysinst/mbr.c: revision 1.24
usr.sbin/sysinst/disks.c: revision 1.59
usr.sbin/sysinst/mbr.c: revision 1.25
usr.sbin/sysinst/mbr.c: revision 1.26
usr.sbin/sysinst/mbr.c: revision 1.27
usr.sbin/sysinst/mbr.c: revision 1.28
usr.sbin/sysinst/label.c: revision 1.20
usr.sbin/sysinst/mbr.c: revision 1.29
usr.sbin/sysinst/bsddisklabel.c: revision 1.34
usr.sbin/sysinst/bsddisklabel.c: revision 1.35
usr.sbin/sysinst/bsddisklabel.c: revision 1.36
usr.sbin/sysinst/bsddisklabel.c: revision 1.37
usr.sbin/sysinst/disklabel.c: revision 1.30
usr.sbin/sysinst/bsddisklabel.c: revision 1.38
usr.sbin/sysinst/disklabel.c: revision 1.31
usr.sbin/sysinst/disklabel.c: revision 1.32
usr.sbin/sysinst/disklabel.c: revision 1.33
usr.sbin/sysinst/disklabel.c: revision 1.34
usr.sbin/sysinst/disks.c: revision 1.60
usr.sbin/sysinst/disks.c: revision 1.61
usr.sbin/sysinst/arch/bebox/md.c: revision 1.7
usr.sbin/sysinst/disks.c: revision 1.62
usr.sbin/sysinst/arch/bebox/md.c: revision 1.8
usr.sbin/sysinst/mbr.c: revision 1.30
usr.sbin/sysinst/partitions.c: revision 1.10
usr.sbin/sysinst/arch/prep/md.c: revision 1.11
usr.sbin/sysinst/arch/prep/md.c: revision 1.12
usr.sbin/sysinst/menus.pm: revision 1.3
usr.sbin/sysinst/main.c: revision 1.20
usr.sbin/sysinst/menus.mi: revision 1.20
usr.sbin/sysinst/menus.mi: revision 1.21
avoid calling snprintf/strlcat with an input parameter the same
as the output. from martin@. fixes gcc 8 restrict warnings.
Finish conversion of extended partitioning parts to new abstract
backend interface. XXX still could use a lot of polishing.
Instead of a (bogus) attempt to query the model via ofctl, use the (now
fixed) sysctl hw.model instead.
When reading the secondary disklabel partitions from an existing disklabel
set the mbr partitions as parent.
Move the LABELSECTOR check and make it FS type specific - some partition
types (FFS, RAID) are allowed to overlap with the LABELSECTOR.
When asked to create a whole-disk partition for unknown usage, do not only
assert(false), but actually return an error (in case "assert" is a nop).
PR install/54787: when trying to derive proper alignement and first offset
from exisiting partitions, use the first partition offset if it is already
closer to the start of the disk than the prefered alignment - we can not
move existing partitions around.
Fix handling of inner/outer partitions (e.g. MBR and disklabel) in
extended partitioning:
- when editing a disk with such a schme, offer both partitions in two
steps
- when commiting changes save the inner partitions after the outer ones
Add a method to query the partitioning schemes "internal idea" of a
cylinder size - whatever that means in the real world.
Avoid using the global "pm" variable in utility functions - during
extended partitioning they may point to a different device.
Remove useless calls to get_ramsize() - return value is ignored and
the function has no side effects.
Fix /tmp tmpfs handling and on machines with enough RAM default to
creating a /tmp tmpfs with 25% of ram size limit. Suggested by ad@.
PR install/54872: fix printf argument order, sectors and heads were
swapped in the bios geometry display.
First try to bring evbarm installation closer to current reality.
hide disklabel_non_bootable() under NO_DISKLABEL_BOOT like the usage.
should fix most builds.
Deal with even stranger fictious empty disklabels (PR kern/54882).
Factor out all RAM size thresholds as defines to avoid magic numbers.
To work around PR misc/54886 bump the threshold for a tmpfs /tmp mount
up to 256 MB.
When retrying sets during extraction, reset the relevant statistics
to avoid counting retried sets multiple times.
Reported by kim.
Fix support for non-512-byte/sector disks again after I broke it when
introducing the abstract partition backends.
Use a few strlcpy() instead of strncpy() for network ioctl structs.
We seem to have no formal documentation stating the various
char if*_name[IFNAMSIZ]; /* if name, e.g. "en0" */
elements in ioctls are nul terminated, but the peanut gallery claims
it is so - and at least half of the code in-tree touching them agrees.
Too much disklabel magic happening in the kernel - to compensate force
MBR first when trying to identify the existing partitioning scheme of
a disk.
 1.2.4.2 13-Apr-2020  martin Mostly merge changes from HEAD upto 20200411
 1.2.4.1 09-Jan-2020  martin file msg.pm.es was added on branch phil-wifi on 2020-04-13 08:06:00 +0000
 1.4 05-Nov-2020  martin Remove an unused message (accidently placed inconsistently in
previous)
 1.3 04-Nov-2020  martin Add (experimental) entropy input support:
Early during new installs or after upgrades we check if entropy is
available. If not (no hardware random number generator available)
we inform the user and ask them to fix it.
 1.2 09-Jan-2020  martin branches: 1.2.4;
Finish conversion of extended partitioning parts to new abstract
backend interface. XXX still could use a lot of polishing.
 1.1 12-Jun-2019  martin branches: 1.1.2;
Rework internal data structures and "interfaces to user interface" functions
to get rid of all disklabel assumptions.

Previously (even for GPT partitioning) struct disklabel was used, which
obviously breaks large disk setups. Also many MD parts and parts of the
user interface assumed (a) a struct disklabel is used internally to
store partitioning information and (b) partitions are named 'a' ... $MAXPART.

Get rid of this and replace it with a quite abstract interface that should
be able to deal with all variants in partition storage:

- partitions are stored in a (partly abstract) struct disk_partitions
and most parts of it are only accessed via accessor functions provided
by a "partitioning scheme".

- implement partitioning schemes for MBR, disklabel and GPT (with likely
RDB [amiga] and Apple Partition Map [mac*] to follow soon)

- partitioning schemes may be cascaded, e.g. on x86 when using MBR as
"outer partitions", we have disklabel as "inner partitions".

- all user interface goes via accessor functions in the partitioning scheme,
some of which return pointers to special user interface descriptors
(e.g. to allow editing partition flags, which are scheme specific)

Overall the user interface changes (in this initial step) are minimal but
noticable. A new Anita is needed for automatic test setups - many thanks
to Andreas Gustafsson for lots of early testing and a new Anita version,
and to Manuel Bouyer for cooperation and tests of the Anita release.

This work was sponsored by The NetBSD Foundation, Inc.
 1.1.2.1 28-Jan-2020  msaitoh Pull up following revision(s) (requested by martin in ticket #668):
usr.sbin/sysinst/arch/cobalt/md.c: revision 1.11
usr.sbin/sysinst/arch/cobalt/md.c: revision 1.12
usr.sbin/sysinst/arch/arc/md.c: revision 1.11
usr.sbin/sysinst/arch/arc/md.c: revision 1.12
usr.sbin/sysinst/partman.c: revision 1.43
usr.sbin/sysinst/partman.c: revision 1.46
usr.sbin/sysinst/partman.c: revision 1.47
usr.sbin/sysinst/partman.c: revision 1.48
usr.sbin/sysinst/partman.c: revision 1.49
usr.sbin/sysinst/msg.pm.fr: revision 1.2
usr.sbin/sysinst/upgrade.c: revision 1.14
usr.sbin/sysinst/arch/i386/md.c: revision 1.28
usr.sbin/sysinst/arch/i386/md.c: revision 1.29
usr.sbin/sysinst/arch/ofppc/md.c: revision 1.9
usr.sbin/sysinst/arch/sandpoint/md.c: revision 1.7
usr.sbin/sysinst/arch/sandpoint/md.c: revision 1.8
usr.sbin/sysinst/gpt.c: revision 1.14
usr.sbin/sysinst/gpt.c: revision 1.15
usr.sbin/sysinst/arch/luna68k/md.c: revision 1.8
usr.sbin/sysinst/gpt.c: revision 1.16
usr.sbin/sysinst/msg.pm.de: revision 1.2
usr.sbin/sysinst/arch/evbarm/md.c: revision 1.11
usr.sbin/sysinst/arch/evbarm/md.c: revision 1.12
usr.sbin/sysinst/arch/evbarm/md.c: revision 1.13
usr.sbin/sysinst/arch/evbarm/md.c: revision 1.14
usr.sbin/sysinst/sizemultname.c: revision 1.4
usr.sbin/sysinst/msg.pm.en: revision 1.2
usr.sbin/sysinst/arch/landisk/md.c: revision 1.12
usr.sbin/sysinst/util.c: revision 1.41
usr.sbin/sysinst/arch/landisk/md.c: revision 1.13
usr.sbin/sysinst/util.c: revision 1.42
usr.sbin/sysinst/arch/ofppc/md.c: revision 1.10
usr.sbin/sysinst/partitions.c: revision 1.9
usr.sbin/sysinst/arch/evbarm/md.h: revision 1.4
usr.sbin/sysinst/arch/evbarm/md.h: revision 1.5
usr.sbin/sysinst/arch/evbmips/md.c: revision 1.7
usr.sbin/sysinst/arch/evbmips/md.c: revision 1.8
usr.sbin/sysinst/msg.mi.fr: revision 1.25
usr.sbin/sysinst/msg.mi.de: revision 1.20
usr.sbin/sysinst/install.c: revision 1.14
usr.sbin/sysinst/partitions.h: revision 1.13
usr.sbin/sysinst/partitions.h: revision 1.14
usr.sbin/sysinst/arch/evbppc/md.c: revision 1.7
usr.sbin/sysinst/arch/playstation2/md.c: revision 1.7
usr.sbin/sysinst/msg.mi.en: revision 1.27
usr.sbin/sysinst/partitions.h: revision 1.15
usr.sbin/sysinst/arch/evbppc/md.c: revision 1.8
usr.sbin/sysinst/arch/hpcarm/md.c: revision 1.7
usr.sbin/sysinst/arch/playstation2/md.c: revision 1.8
usr.sbin/sysinst/msg.pm.pl: revision 1.2
usr.sbin/sysinst/arch/hpcarm/md.c: revision 1.8
usr.sbin/sysinst/msg.mi.es: revision 1.21
usr.sbin/sysinst/arch/zaurus/md.c: revision 1.7
usr.sbin/sysinst/target.c: revision 1.11
usr.sbin/sysinst/arch/zaurus/md.c: revision 1.8
usr.sbin/sysinst/part_edit.c: revision 1.14
usr.sbin/sysinst/part_edit.c: revision 1.15
usr.sbin/sysinst/part_edit.c: revision 1.16
usr.sbin/sysinst/defs.h: revision 1.50
usr.sbin/sysinst/defs.h: revision 1.51
usr.sbin/sysinst/defs.h: revision 1.52
usr.sbin/sysinst/defs.h: revision 1.53
usr.sbin/sysinst/defs.h: revision 1.54
usr.sbin/sysinst/arch/hpcmips/md.c: revision 1.7
usr.sbin/sysinst/arch/hpcmips/md.c: revision 1.8
usr.sbin/sysinst/arch/hpcsh/md.c: revision 1.8
usr.sbin/sysinst/msg.pm.es: revision 1.2
usr.sbin/sysinst/arch/hpcsh/md.c: revision 1.9
usr.sbin/sysinst/label.c: revision 1.18
usr.sbin/sysinst/label.c: revision 1.19
usr.sbin/sysinst/net.c: revision 1.35
usr.sbin/sysinst/msg.mi.pl: revision 1.28
usr.sbin/sysinst/disklabel.c: revision 1.28
usr.sbin/sysinst/disklabel.c: revision 1.29
usr.sbin/sysinst/mbr.c: revision 1.24
usr.sbin/sysinst/disks.c: revision 1.59
usr.sbin/sysinst/mbr.c: revision 1.25
usr.sbin/sysinst/mbr.c: revision 1.26
usr.sbin/sysinst/mbr.c: revision 1.27
usr.sbin/sysinst/mbr.c: revision 1.28
usr.sbin/sysinst/label.c: revision 1.20
usr.sbin/sysinst/mbr.c: revision 1.29
usr.sbin/sysinst/bsddisklabel.c: revision 1.34
usr.sbin/sysinst/bsddisklabel.c: revision 1.35
usr.sbin/sysinst/bsddisklabel.c: revision 1.36
usr.sbin/sysinst/bsddisklabel.c: revision 1.37
usr.sbin/sysinst/disklabel.c: revision 1.30
usr.sbin/sysinst/bsddisklabel.c: revision 1.38
usr.sbin/sysinst/disklabel.c: revision 1.31
usr.sbin/sysinst/disklabel.c: revision 1.32
usr.sbin/sysinst/disklabel.c: revision 1.33
usr.sbin/sysinst/disklabel.c: revision 1.34
usr.sbin/sysinst/disks.c: revision 1.60
usr.sbin/sysinst/disks.c: revision 1.61
usr.sbin/sysinst/arch/bebox/md.c: revision 1.7
usr.sbin/sysinst/disks.c: revision 1.62
usr.sbin/sysinst/arch/bebox/md.c: revision 1.8
usr.sbin/sysinst/mbr.c: revision 1.30
usr.sbin/sysinst/partitions.c: revision 1.10
usr.sbin/sysinst/arch/prep/md.c: revision 1.11
usr.sbin/sysinst/arch/prep/md.c: revision 1.12
usr.sbin/sysinst/menus.pm: revision 1.3
usr.sbin/sysinst/main.c: revision 1.20
usr.sbin/sysinst/menus.mi: revision 1.20
usr.sbin/sysinst/menus.mi: revision 1.21
avoid calling snprintf/strlcat with an input parameter the same
as the output. from martin@. fixes gcc 8 restrict warnings.
Finish conversion of extended partitioning parts to new abstract
backend interface. XXX still could use a lot of polishing.
Instead of a (bogus) attempt to query the model via ofctl, use the (now
fixed) sysctl hw.model instead.
When reading the secondary disklabel partitions from an existing disklabel
set the mbr partitions as parent.
Move the LABELSECTOR check and make it FS type specific - some partition
types (FFS, RAID) are allowed to overlap with the LABELSECTOR.
When asked to create a whole-disk partition for unknown usage, do not only
assert(false), but actually return an error (in case "assert" is a nop).
PR install/54787: when trying to derive proper alignement and first offset
from exisiting partitions, use the first partition offset if it is already
closer to the start of the disk than the prefered alignment - we can not
move existing partitions around.
Fix handling of inner/outer partitions (e.g. MBR and disklabel) in
extended partitioning:
- when editing a disk with such a schme, offer both partitions in two
steps
- when commiting changes save the inner partitions after the outer ones
Add a method to query the partitioning schemes "internal idea" of a
cylinder size - whatever that means in the real world.
Avoid using the global "pm" variable in utility functions - during
extended partitioning they may point to a different device.
Remove useless calls to get_ramsize() - return value is ignored and
the function has no side effects.
Fix /tmp tmpfs handling and on machines with enough RAM default to
creating a /tmp tmpfs with 25% of ram size limit. Suggested by ad@.
PR install/54872: fix printf argument order, sectors and heads were
swapped in the bios geometry display.
First try to bring evbarm installation closer to current reality.
hide disklabel_non_bootable() under NO_DISKLABEL_BOOT like the usage.
should fix most builds.
Deal with even stranger fictious empty disklabels (PR kern/54882).
Factor out all RAM size thresholds as defines to avoid magic numbers.
To work around PR misc/54886 bump the threshold for a tmpfs /tmp mount
up to 256 MB.
When retrying sets during extraction, reset the relevant statistics
to avoid counting retried sets multiple times.
Reported by kim.
Fix support for non-512-byte/sector disks again after I broke it when
introducing the abstract partition backends.
Use a few strlcpy() instead of strncpy() for network ioctl structs.
We seem to have no formal documentation stating the various
char if*_name[IFNAMSIZ]; /* if name, e.g. "en0" */
elements in ioctls are nul terminated, but the peanut gallery claims
it is so - and at least half of the code in-tree touching them agrees.
Too much disklabel magic happening in the kernel - to compensate force
MBR first when trying to identify the existing partitioning scheme of
a disk.
 1.2.4.2 13-Apr-2020  martin Mostly merge changes from HEAD upto 20200411
 1.2.4.1 09-Jan-2020  martin file msg.pm.fr was added on branch phil-wifi on 2020-04-13 08:06:00 +0000
 1.4 05-Nov-2020  martin Remove an unused message (accidently placed inconsistently in
previous)
 1.3 04-Nov-2020  martin Add (experimental) entropy input support:
Early during new installs or after upgrades we check if entropy is
available. If not (no hardware random number generator available)
we inform the user and ask them to fix it.
 1.2 09-Jan-2020  martin branches: 1.2.4;
Finish conversion of extended partitioning parts to new abstract
backend interface. XXX still could use a lot of polishing.
 1.1 12-Jun-2019  martin branches: 1.1.2;
Rework internal data structures and "interfaces to user interface" functions
to get rid of all disklabel assumptions.

Previously (even for GPT partitioning) struct disklabel was used, which
obviously breaks large disk setups. Also many MD parts and parts of the
user interface assumed (a) a struct disklabel is used internally to
store partitioning information and (b) partitions are named 'a' ... $MAXPART.

Get rid of this and replace it with a quite abstract interface that should
be able to deal with all variants in partition storage:

- partitions are stored in a (partly abstract) struct disk_partitions
and most parts of it are only accessed via accessor functions provided
by a "partitioning scheme".

- implement partitioning schemes for MBR, disklabel and GPT (with likely
RDB [amiga] and Apple Partition Map [mac*] to follow soon)

- partitioning schemes may be cascaded, e.g. on x86 when using MBR as
"outer partitions", we have disklabel as "inner partitions".

- all user interface goes via accessor functions in the partitioning scheme,
some of which return pointers to special user interface descriptors
(e.g. to allow editing partition flags, which are scheme specific)

Overall the user interface changes (in this initial step) are minimal but
noticable. A new Anita is needed for automatic test setups - many thanks
to Andreas Gustafsson for lots of early testing and a new Anita version,
and to Manuel Bouyer for cooperation and tests of the Anita release.

This work was sponsored by The NetBSD Foundation, Inc.
 1.1.2.1 28-Jan-2020  msaitoh Pull up following revision(s) (requested by martin in ticket #668):
usr.sbin/sysinst/arch/cobalt/md.c: revision 1.11
usr.sbin/sysinst/arch/cobalt/md.c: revision 1.12
usr.sbin/sysinst/arch/arc/md.c: revision 1.11
usr.sbin/sysinst/arch/arc/md.c: revision 1.12
usr.sbin/sysinst/partman.c: revision 1.43
usr.sbin/sysinst/partman.c: revision 1.46
usr.sbin/sysinst/partman.c: revision 1.47
usr.sbin/sysinst/partman.c: revision 1.48
usr.sbin/sysinst/partman.c: revision 1.49
usr.sbin/sysinst/msg.pm.fr: revision 1.2
usr.sbin/sysinst/upgrade.c: revision 1.14
usr.sbin/sysinst/arch/i386/md.c: revision 1.28
usr.sbin/sysinst/arch/i386/md.c: revision 1.29
usr.sbin/sysinst/arch/ofppc/md.c: revision 1.9
usr.sbin/sysinst/arch/sandpoint/md.c: revision 1.7
usr.sbin/sysinst/arch/sandpoint/md.c: revision 1.8
usr.sbin/sysinst/gpt.c: revision 1.14
usr.sbin/sysinst/gpt.c: revision 1.15
usr.sbin/sysinst/arch/luna68k/md.c: revision 1.8
usr.sbin/sysinst/gpt.c: revision 1.16
usr.sbin/sysinst/msg.pm.de: revision 1.2
usr.sbin/sysinst/arch/evbarm/md.c: revision 1.11
usr.sbin/sysinst/arch/evbarm/md.c: revision 1.12
usr.sbin/sysinst/arch/evbarm/md.c: revision 1.13
usr.sbin/sysinst/arch/evbarm/md.c: revision 1.14
usr.sbin/sysinst/sizemultname.c: revision 1.4
usr.sbin/sysinst/msg.pm.en: revision 1.2
usr.sbin/sysinst/arch/landisk/md.c: revision 1.12
usr.sbin/sysinst/util.c: revision 1.41
usr.sbin/sysinst/arch/landisk/md.c: revision 1.13
usr.sbin/sysinst/util.c: revision 1.42
usr.sbin/sysinst/arch/ofppc/md.c: revision 1.10
usr.sbin/sysinst/partitions.c: revision 1.9
usr.sbin/sysinst/arch/evbarm/md.h: revision 1.4
usr.sbin/sysinst/arch/evbarm/md.h: revision 1.5
usr.sbin/sysinst/arch/evbmips/md.c: revision 1.7
usr.sbin/sysinst/arch/evbmips/md.c: revision 1.8
usr.sbin/sysinst/msg.mi.fr: revision 1.25
usr.sbin/sysinst/msg.mi.de: revision 1.20
usr.sbin/sysinst/install.c: revision 1.14
usr.sbin/sysinst/partitions.h: revision 1.13
usr.sbin/sysinst/partitions.h: revision 1.14
usr.sbin/sysinst/arch/evbppc/md.c: revision 1.7
usr.sbin/sysinst/arch/playstation2/md.c: revision 1.7
usr.sbin/sysinst/msg.mi.en: revision 1.27
usr.sbin/sysinst/partitions.h: revision 1.15
usr.sbin/sysinst/arch/evbppc/md.c: revision 1.8
usr.sbin/sysinst/arch/hpcarm/md.c: revision 1.7
usr.sbin/sysinst/arch/playstation2/md.c: revision 1.8
usr.sbin/sysinst/msg.pm.pl: revision 1.2
usr.sbin/sysinst/arch/hpcarm/md.c: revision 1.8
usr.sbin/sysinst/msg.mi.es: revision 1.21
usr.sbin/sysinst/arch/zaurus/md.c: revision 1.7
usr.sbin/sysinst/target.c: revision 1.11
usr.sbin/sysinst/arch/zaurus/md.c: revision 1.8
usr.sbin/sysinst/part_edit.c: revision 1.14
usr.sbin/sysinst/part_edit.c: revision 1.15
usr.sbin/sysinst/part_edit.c: revision 1.16
usr.sbin/sysinst/defs.h: revision 1.50
usr.sbin/sysinst/defs.h: revision 1.51
usr.sbin/sysinst/defs.h: revision 1.52
usr.sbin/sysinst/defs.h: revision 1.53
usr.sbin/sysinst/defs.h: revision 1.54
usr.sbin/sysinst/arch/hpcmips/md.c: revision 1.7
usr.sbin/sysinst/arch/hpcmips/md.c: revision 1.8
usr.sbin/sysinst/arch/hpcsh/md.c: revision 1.8
usr.sbin/sysinst/msg.pm.es: revision 1.2
usr.sbin/sysinst/arch/hpcsh/md.c: revision 1.9
usr.sbin/sysinst/label.c: revision 1.18
usr.sbin/sysinst/label.c: revision 1.19
usr.sbin/sysinst/net.c: revision 1.35
usr.sbin/sysinst/msg.mi.pl: revision 1.28
usr.sbin/sysinst/disklabel.c: revision 1.28
usr.sbin/sysinst/disklabel.c: revision 1.29
usr.sbin/sysinst/mbr.c: revision 1.24
usr.sbin/sysinst/disks.c: revision 1.59
usr.sbin/sysinst/mbr.c: revision 1.25
usr.sbin/sysinst/mbr.c: revision 1.26
usr.sbin/sysinst/mbr.c: revision 1.27
usr.sbin/sysinst/mbr.c: revision 1.28
usr.sbin/sysinst/label.c: revision 1.20
usr.sbin/sysinst/mbr.c: revision 1.29
usr.sbin/sysinst/bsddisklabel.c: revision 1.34
usr.sbin/sysinst/bsddisklabel.c: revision 1.35
usr.sbin/sysinst/bsddisklabel.c: revision 1.36
usr.sbin/sysinst/bsddisklabel.c: revision 1.37
usr.sbin/sysinst/disklabel.c: revision 1.30
usr.sbin/sysinst/bsddisklabel.c: revision 1.38
usr.sbin/sysinst/disklabel.c: revision 1.31
usr.sbin/sysinst/disklabel.c: revision 1.32
usr.sbin/sysinst/disklabel.c: revision 1.33
usr.sbin/sysinst/disklabel.c: revision 1.34
usr.sbin/sysinst/disks.c: revision 1.60
usr.sbin/sysinst/disks.c: revision 1.61
usr.sbin/sysinst/arch/bebox/md.c: revision 1.7
usr.sbin/sysinst/disks.c: revision 1.62
usr.sbin/sysinst/arch/bebox/md.c: revision 1.8
usr.sbin/sysinst/mbr.c: revision 1.30
usr.sbin/sysinst/partitions.c: revision 1.10
usr.sbin/sysinst/arch/prep/md.c: revision 1.11
usr.sbin/sysinst/arch/prep/md.c: revision 1.12
usr.sbin/sysinst/menus.pm: revision 1.3
usr.sbin/sysinst/main.c: revision 1.20
usr.sbin/sysinst/menus.mi: revision 1.20
usr.sbin/sysinst/menus.mi: revision 1.21
avoid calling snprintf/strlcat with an input parameter the same
as the output. from martin@. fixes gcc 8 restrict warnings.
Finish conversion of extended partitioning parts to new abstract
backend interface. XXX still could use a lot of polishing.
Instead of a (bogus) attempt to query the model via ofctl, use the (now
fixed) sysctl hw.model instead.
When reading the secondary disklabel partitions from an existing disklabel
set the mbr partitions as parent.
Move the LABELSECTOR check and make it FS type specific - some partition
types (FFS, RAID) are allowed to overlap with the LABELSECTOR.
When asked to create a whole-disk partition for unknown usage, do not only
assert(false), but actually return an error (in case "assert" is a nop).
PR install/54787: when trying to derive proper alignement and first offset
from exisiting partitions, use the first partition offset if it is already
closer to the start of the disk than the prefered alignment - we can not
move existing partitions around.
Fix handling of inner/outer partitions (e.g. MBR and disklabel) in
extended partitioning:
- when editing a disk with such a schme, offer both partitions in two
steps
- when commiting changes save the inner partitions after the outer ones
Add a method to query the partitioning schemes "internal idea" of a
cylinder size - whatever that means in the real world.
Avoid using the global "pm" variable in utility functions - during
extended partitioning they may point to a different device.
Remove useless calls to get_ramsize() - return value is ignored and
the function has no side effects.
Fix /tmp tmpfs handling and on machines with enough RAM default to
creating a /tmp tmpfs with 25% of ram size limit. Suggested by ad@.
PR install/54872: fix printf argument order, sectors and heads were
swapped in the bios geometry display.
First try to bring evbarm installation closer to current reality.
hide disklabel_non_bootable() under NO_DISKLABEL_BOOT like the usage.
should fix most builds.
Deal with even stranger fictious empty disklabels (PR kern/54882).
Factor out all RAM size thresholds as defines to avoid magic numbers.
To work around PR misc/54886 bump the threshold for a tmpfs /tmp mount
up to 256 MB.
When retrying sets during extraction, reset the relevant statistics
to avoid counting retried sets multiple times.
Reported by kim.
Fix support for non-512-byte/sector disks again after I broke it when
introducing the abstract partition backends.
Use a few strlcpy() instead of strncpy() for network ioctl structs.
We seem to have no formal documentation stating the various
char if*_name[IFNAMSIZ]; /* if name, e.g. "en0" */
elements in ioctls are nul terminated, but the peanut gallery claims
it is so - and at least half of the code in-tree touching them agrees.
Too much disklabel magic happening in the kernel - to compensate force
MBR first when trying to identify the existing partitioning scheme of
a disk.
 1.2.4.2 13-Apr-2020  martin Mostly merge changes from HEAD upto 20200411
 1.2.4.1 09-Jan-2020  martin file msg.pm.pl was added on branch phil-wifi on 2020-04-13 08:06:00 +0000
 1.2 11-Jun-2019  martin branches: 1.2.6;
Typo, also fix copy & pasted license
 1.1 11-Jun-2019  martin Add a help script to check for untranslated messages
 1.2.6.2 13-Apr-2020  martin Mostly merge changes from HEAD upto 20200411
 1.2.6.1 11-Jun-2019  martin file msg_cmp.sh was added on branch phil-wifi on 2020-04-13 08:06:00 +0000
 1.6 11-Oct-2021  rillig sysinst: fix typo in comment
 1.5 12-Jul-2021  kre Revert 1.4, that just trades one problem for a different one
(splitting the message on % instead of white space, which affects
less messages, but makes a bigger mess of them when it happens).

The real problem is that the expansion of the message was unquoted,
which allowed the field splitting to happen at all (which was mitigated
by the way printf rescans its format string for each arg when there are
more args than conversions in the format) otherwise it would have been
a much bigger mess (both times).

Just add quotes where quotes are needed, no more splitting, all good.
 1.4 11-Jul-2021  cjep We need IFS to be set to % for the rest of the script so be explicit
about it. Fixes message truncation for non-English in sysinst.
 1.3 29-Jun-2021  cjep 1. Rework the IFS handling when checking consistency of formatting in
sysinst messages. Closes PR toolchain/56181.
2. Whilst here, change some shell clauses to be more portable.

Patch developed by kre. Also reviewed by martin. Cross-builds tested
on NetBSD, OpenBSD, FreeBSD and Darwin.
 1.2 05-Nov-2020  christos Print the program name in error messages.
 1.1 26-Jul-2014  dholland branches: 1.1.2; 1.1.6;
Move sysinst sources to usr.sbin.

This commit only physically moves the sources - there are no other
changes, to maximize the probability that this will be treated as a
rename if we ever do manage to migrate away from CVS.

Moving sysinst has been discussed on and off for years and has two
goals: making it easier to work on sysinst, and also making sysinst
available on running systems for use installing chroots and VM images
and other such things. None of the latter is possible yet, but as they
say, one thing at a time.

Doing this now was approved in an impromptu fashion by mrg, riz,
riastradh, me, and groo.
 1.1.6.2 20-Aug-2014  tls Rebase to HEAD as of a few days ago.
 1.1.6.1 26-Jul-2014  tls file msg_xlat.sh was added on branch tls-maxphys on 2014-08-20 00:05:13 +0000
 1.1.2.2 10-Aug-2014  tls Rebase.
 1.1.2.1 26-Jul-2014  tls file msg_xlat.sh was added on branch tls-earlyentropy on 2014-08-10 07:00:24 +0000
 1.45 17-Dec-2023  martin Add a https transfer method (sharing all host details with the http
transfer). Make this method the default for all downloads.

Try to make sure the binary pkg installation (which runs in a chroot
in the already installed system) can make use of SSL verification.

This does NOT fix the missing SSL verification in most install media
even if using https (due to not fully populated /etc/openssl/certs).
 1.44 03-Jan-2023  martin Clear the msg area after prompting for the network device to use
 1.43 18-May-2022  martin branches: 1.43.2;
When not invoked via some explicit "configure network" menu item,
auto-detect an already working network setup and offer to "just use" it
whenver we need connectivity.
 1.42 15-May-2022  jmcneill sysinst: Write custom hostname to rc.conf when using DHCP

If the user changes the suggested hostname from DHCP, ensure that the
new hostname is written to rc.conf by clearing the appropriate
DHCPCONF_* flags.
 1.41 15-May-2022  jmcneill sysinst: Prompt for hostname and domain, even when using DHCP.

Values discovered from the network may not match desired values for the
target system. Always give an opportunity to override them when using
DHCP.
 1.40 13-Jan-2022  nia sysinst(8): use scan_ssid=1 so hidden wifi networks can be used
 1.39 11-Jan-2022  nia sysinst(8): Add a "data" argument to do_ifreq that is set after the
ifr struct is zeroed.

This allows us to simplify the code by not having 2x socket creation
code for checking whether interfaces are wireless.
 1.38 10-Jan-2022  nia sysinst(8): Avoid asking Wi-Fi questions about non-Wi-Fi devices.
 1.37 10-Jan-2022  nia sysinst(8): Add initial support for connecting to Wi-Fi networks
by spawning wpa_supplicant.

Reviewed by martin.
 1.36 31-Jan-2021  rillig sysinst: remove trailing whitespace from *.c *.h

In contrast to the messages files, this whitespace is not significant.
 1.35 27-Jan-2020  martin Use a few strlcpy() instead of strncpy() for network ioctl structs.
We seem to have no formal documentation stating the various

char if*_name[IFNAMSIZ]; /* if name, e.g. "en0" */

elements in ioctls are nul terminated, but the peanut gallery claims
it is so - and at least half of the code in-tree touching them agrees.
 1.34 16-Nov-2019  martin Make sure all menus have a translatable exit option (or none at all).
 1.33 23-Jul-2019  martin branches: 1.33.2;
Avoid a buffer overrun with too many interfaces.
 1.32 08-Jul-2019  martin The network settings confirmation message is a manually formated table,
so do not treat it as free flowing text.
 1.31 07-Jul-2019  martin Fix some uninitialized memory access and a potential buffer overrun on
machines with multiple network interfaces.
 1.30 22-Jun-2019  christos no need to initialize fields that are already 0.
 1.29 20-Jun-2019  christos Use _fmt_ msg_ methods when formats are needed.
 1.28 18-Jun-2019  martin Fix buffer size
 1.27 12-Jun-2019  martin Rework internal data structures and "interfaces to user interface" functions
to get rid of all disklabel assumptions.

Previously (even for GPT partitioning) struct disklabel was used, which
obviously breaks large disk setups. Also many MD parts and parts of the
user interface assumed (a) a struct disklabel is used internally to
store partitioning information and (b) partitions are named 'a' ... $MAXPART.

Get rid of this and replace it with a quite abstract interface that should
be able to deal with all variants in partition storage:

- partitions are stored in a (partly abstract) struct disk_partitions
and most parts of it are only accessed via accessor functions provided
by a "partitioning scheme".

- implement partitioning schemes for MBR, disklabel and GPT (with likely
RDB [amiga] and Apple Partition Map [mac*] to follow soon)

- partitioning schemes may be cascaded, e.g. on x86 when using MBR as
"outer partitions", we have disklabel as "inner partitions".

- all user interface goes via accessor functions in the partitioning scheme,
some of which return pointers to special user interface descriptors
(e.g. to allow editing partition flags, which are scheme specific)

Overall the user interface changes (in this initial step) are minimal but
noticable. A new Anita is needed for automatic test setups - many thanks
to Andreas Gustafsson for lots of early testing and a new Anita version,
and to Manuel Bouyer for cooperation and tests of the Anita release.

This work was sponsored by The NetBSD Foundation, Inc.
 1.26 06-Oct-2018  martin Support sets in .tar.xz format
 1.25 11-Sep-2018  martin Split the host name used for ftp transfers from the one used for http
transfers. This is slightly inconsistent, as directories are still
shared - but this allows us to default to cdn/nycdn for http (which don't
support ftp).
 1.24 18-May-2018  joerg branches: 1.24.2;
deconst -> __UNCONST, the former involves UB with NULL arithmetic.
 1.23 13-Dec-2016  roy branches: 1.23.6; 1.23.12;
ping is not a reliable means of testing if connectivity to download sets
actually works, so remove it.
Hopefully fixes PR kern/51531.
 1.22 22-Nov-2016  roy Fix PR kern/51531 by using ifconfig to wait for addresses to become
valid rather than sleeping a fixed ammount of time.
 1.21 21-May-2015  ozaki-r branches: 1.21.2;
Remove obsolete interfaces: eon (netiso) and nsip (netns)

Pointed out by Kamil Rytarowski
 1.20 11-May-2015  martin Make "ask_yesno" and "ask_noyes" take a const char * as argument, moving
the deconst() dance into the utility functions and simplifying all callers.
 1.19 11-May-2015  martin Make it compile on architectures that do not support INET6 in sysinst
 1.18 10-May-2015  martin Backout the previous incorrect fix for PR 49440 and redo it more globaly:
get rid of the global "yesno", introduce utility functions "ask_yesno()"
and "ask_noyes()" instead, greatly simplifying a lot of code.
Pass in a pointer to the return value to various "set source" menus.
 1.17 14-Oct-2014  christos Don't use asctime(localtime(time_t *)) because this is really ctime(time_t *)
and not checking the result of localtime can lead to tears.
Add a safectime() that always returns a good string, and add some debugging
so that we can see if there is indeed something wrong in the new libc time
code.
 1.16 22-Sep-2014  roy Remove the ping6 ff02::2 test, it looks pretty pointless.
dhcpcd will ensure the IPv6 network is up before forking.
ping the IPv4 default route before the nameserver as the nameserver
could be over the default route anyway.

Fixes the core issue with PR install/49231.
 1.15 13-Sep-2014  martin For the benefit of gcc 4.5, rename a local "nl" variable to "nline",
so it doesn't collide with the global curses nl() function.
 1.14 13-Sep-2014  roy Fix a bogus gcc warning: dhcp_config may be used uninitialized
 1.13 13-Sep-2014  roy Show the IP6 address instead of yes
 1.12 13-Sep-2014  roy Strip newline from the gateway correctly.
 1.11 13-Sep-2014  roy Change the display order so it's protocol agnostic at the top,
then IPv4 then IPv6.
 1.10 13-Sep-2014  roy Only prompt for one nameserver, let the user decide if it's a
pre-determined google server other another one.
 1.9 12-Sep-2014  roy rtsol is no longer used.
 1.8 12-Sep-2014  roy Don't prompt for hostname or domain if obtained from DHCP.
 1.7 12-Sep-2014  roy dhcpcd will already have configured the system at this point, so
don't bother writing it manually.
 1.6 12-Sep-2014  roy Use the 20-resolv.conf hook from dhcpcd rather than the minimal one.
Extract configured information from resolv.conf and hostname instead
of scraping the last dhcpcd script run.
This will allow the use of DHCPv6 and IPv6RA DNS details in the future.
 1.5 12-Sep-2014  roy The dhcpcd utilties in pkgsrc require dhcpcd to be running in master mode.
So set dhcpcd to start like so, but restrict it to the configured interface
still instead of ifconfig_foo=dhcp.
 1.4 19-Aug-2014  martin branches: 1.4.2;
Make sure the interface name is 0 terminated, pointed out by coverity scan.
 1.3 19-Aug-2014  martin Remove duplicate fclose(), pointed out by coverity scan.
 1.2 03-Aug-2014  martin branches: 1.2.2; 1.2.4;
(Finally) merge a slightly modified version of the 2012 GSoC results
from Eugene Lozovoy: add extended partitioning options to sysinst.
Still needs some testing and polishing, but it now is possible to use GPT
or to create a RAID set from scratch and install onto it.
 1.1 26-Jul-2014  dholland Move sysinst sources to usr.sbin.

This commit only physically moves the sources - there are no other
changes, to maximize the probability that this will be treated as a
rename if we ever do manage to migrate away from CVS.

Moving sysinst has been discussed on and off for years and has two
goals: making it easier to work on sysinst, and also making sysinst
available on running systems for use installing chroots and VM images
and other such things. None of the latter is possible yet, but as they
say, one thing at a time.

Doing this now was approved in an impromptu fashion by mrg, riz,
riastradh, me, and groo.
 1.2.4.5 14-May-2015  snj Pull up following revision(s) (requested by martin in ticket #756):
usr.sbin/sysinst/arch/arc/md.c: revision 1.4
usr.sbin/sysinst/arch/atari/md.c: revision 1.3
usr.sbin/sysinst/arch/cobalt/md.c: revision 1.4
usr.sbin/sysinst/arch/emips/md.c: revision 1.3
usr.sbin/sysinst/arch/evbarm/md.c: revision 1.4
usr.sbin/sysinst/arch/evbarm64/md.c: revision 1.2
usr.sbin/sysinst/arch/hp300/md.c: revision 1.4
usr.sbin/sysinst/arch/i386/md.c: revision 1.6
usr.sbin/sysinst/arch/mac68k/md.c: revision 1.3
usr.sbin/sysinst/arch/mac68k/md.c: revision 1.4
usr.sbin/sysinst/arch/mac68k/menus.md.de: revisions 1.3, 1.4
usr.sbin/sysinst/arch/mac68k/menus.md.en: revisions 1.3, 1.4
usr.sbin/sysinst/arch/mac68k/menus.md.es: revisions 1.3, 1.4
usr.sbin/sysinst/arch/mac68k/menus.md.pl: revisions 1.3, 1.4
usr.sbin/sysinst/arch/mvme68k/md.c: revision 1.4
usr.sbin/sysinst/arch/ofppc/md.c: revision 1.3
usr.sbin/sysinst/arch/prep/md.c: revisions 1.3, 1.4
usr.sbin/sysinst/arch/prep/menus.md.en: revision 1.2
usr.sbin/sysinst/arch/x68k/md.c: revision 1.4
usr.sbin/sysinst/configmenu.c: revisions 1.4, 1.5
usr.sbin/sysinst/defs.h: revisions 1.8, 1.9
usr.sbin/sysinst/disks.c: revision 1.9
usr.sbin/sysinst/install.c: revision 1.4
usr.sbin/sysinst/label.c: revision 1.3
usr.sbin/sysinst/mbr.c: revision 1.5
usr.sbin/sysinst/menus.mi: revisions 1.9, 1.10
usr.sbin/sysinst/net.c: revisions 1.18-1.20
usr.sbin/sysinst/partman.c: revision 1.10
usr.sbin/sysinst/upgrade.c: revision 1.4
usr.sbin/sysinst/util.c: revisions 1.6, 1.7
Backout the previous incorrect fix for PR 49440 and redo it more globaly:
get rid of the global "yesno", introduce utility functions "ask_yesno()"
and "ask_noyes()" instead, greatly simplifying a lot of code.
Pass in a pointer to the return value to various "set source" menus.
--
Make it compile on architectures that do not support INET6 in sysinst
--
Remove a few more (ab-)usages of "yesno".
--
More (ab-)usages of "yesno"
--
Make "ask_yesno" and "ask_noyes" take a const char * as argument, moving
the deconst() dance into the utility functions and simplifying all callers.
--
Missed a few more "yesno" in previous
 1.2.4.4 14-May-2015  snj Pull up following revision(s) (requested by martin in ticket #759):
distrib/amd64/cdroms/Makefile.cdrom: revision 1.12
distrib/amd64/installimage/Makefile: revision 1.5
distrib/amd64/installimage/spec.inst: revision 1.2
distrib/common/10-resolv.conf: file removal
distrib/common/99-print-sysinst: file removal
distrib/common/Makefile.dhcpcd: revision 1.2
distrib/common/list.dhcpcd: revision 1.3
distrib/i386/cdroms/Makefile.cdrom: revision 1.32
distrib/i386/installimage/Makefile: revision 1.5
distrib/i386/installimage/spec.inst: revision 1.2
distrib/sparc64/cdroms/installcd/Makefile: revision 1.20
distrib/vax/cdroms/installcd/Makefile: revision 1.10
usr.sbin/sysinst/msg.mi.de: revision 1.4
usr.sbin/sysinst/msg.mi.en: revision 1.4
usr.sbin/sysinst/msg.mi.es: revision 1.4
usr.sbin/sysinst/msg.mi.fr: revision 1.4
usr.sbin/sysinst/msg.mi.pl: revision 1.4
usr.sbin/sysinst/net.c: revisions 1.5-1.8, 1.11-1.15
The dhcpcd utilties in pkgsrc require dhcpcd to be running in master mode.
So set dhcpcd to start like so, but restrict it to the configured interface
still instead of ifconfig_foo=dhcp.
--
Use the 20-resolv.conf hook from dhcpcd rather than the minimal one.
Extract configured information from resolv.conf and hostname instead
of scraping the last dhcpcd script run.
This will allow the use of DHCPv6 and IPv6RA DNS details in the future.
--
dhcpcd will already have configured the system at this point, so
don't bother writing it manually.
--
Don't prompt for hostname or domain if obtained from DHCP.
--
Change the display order so it's protocol agnostic at the top,
then IPv4 then IPv6.
--
Strip newline from the gateway correctly.
--
Show the IP6 address instead of yes
--
Fix a bogus gcc warning: dhcp_config may be used uninitialized
--
Punt custom dhcpcd hooks in favour up upstream hooks
--
For the benefit of gcc 4.5, rename a local "nl" variable to "nline",
so it doesn't collide with the global curses nl() function.
 1.2.4.3 14-May-2015  riz Pull up following revision(s) to fix the build (requested by riz in ticket #754):
usr.sbin/sysinst/net.c: revision 1.10
usr.sbin/sysinst/menus.mi: revision 1.5
usr.sbin/sysinst/net.c: revision 1.9
usr.sbin/sysinst/defs.h: revision 1.4
rtsol is no longer used.
Only prompt for one nameserver, let the user decide if it's a
pre-determined google server other another one.
 1.2.4.2 27-Feb-2015  martin Pull up following revision(s) (requested by snj in ticket #554):
usr.sbin/sysinst/defs.h: revision 1.5
usr.sbin/sysinst/main.c: revision 1.6
usr.sbin/sysinst/net.c: revision 1.17
usr.sbin/sysinst/util.c: revision 1.5
usr.sbin/sysinst/run.c: revision 1.3
Don't use asctime(localtime(time_t *)) because this is really ctime(time_t *)
and not checking the result of localtime can lead to tears.
Add a safectime() that always returns a good string, and add some debugging
so that we can see if there is indeed something wrong in the new libc time
code.
 1.2.4.1 23-Aug-2014  riz Pull up following revision(s) (requested by martin in ticket #39):
usr.sbin/sysinst/main.c: revision 1.4
usr.sbin/sysinst/disks.c: revision 1.5
usr.sbin/sysinst/main.c: revision 1.5
usr.sbin/sysinst/mbr.c: revision 1.3
usr.sbin/sysinst/net.c: revision 1.3
usr.sbin/sysinst/net.c: revision 1.4
usr.sbin/sysinst/partman.c: revision 1.5
usr.sbin/sysinst/partman.c: revision 1.6
usr.sbin/sysinst/util.c: revision 1.4
Remove duplicate fclose(), pointed out by coverity scan.
Remove (accidently) duplicated code - pointed out by coverity scan.
Make sure the interface name is 0 terminated, pointed out by coverity scan.
Check return value from getenv() before using the value. Pointed out by
coverity scan.
Make an invariant more clear to avoid fals positives from coverity scan
if chdir() fails, try chdir /
Check return values from stat before comparing contents of the result
structures. Pointed out by coverity scan.
Cosmetic changes trying to appease coverity scan.
Make sure to not dereference a NULL pointer.
 1.2.2.2 10-Aug-2014  tls Rebase.
 1.2.2.1 03-Aug-2014  tls file net.c was added on branch tls-earlyentropy on 2014-08-10 07:00:24 +0000
 1.4.2.2 20-Aug-2014  tls Rebase to HEAD as of a few days ago.
 1.4.2.1 19-Aug-2014  tls file net.c was added on branch tls-maxphys on 2014-08-20 00:05:13 +0000
 1.21.2.1 07-Jan-2017  pgoyette Sync with HEAD. (Note that most of these changes are simply $NetBSD$
tag issues.)
 1.23.12.3 20-Oct-2018  pgoyette Sync with head
 1.23.12.2 30-Sep-2018  pgoyette Ssync with HEAD
 1.23.12.1 21-May-2018  pgoyette Sync with HEAD
 1.23.6.1 09-Jun-2018  martin Pull up following revision(s) (requested by joerg in ticket #869):

usr.sbin/sysinst/arch/mvme68k/md.c: revision 1.5
usr.sbin/sysinst/net.c: revision 1.24
usr.sbin/sysinst/partman.c: revision 1.22
usr.sbin/sysinst/menus.mi: revision 1.12
usr.sbin/sysinst/arch/i386/md.c: revision 1.8
usr.sbin/sysinst/arch/alpha/md.c: revision 1.3
usr.sbin/sysinst/bsddisklabel.c: revision 1.3
usr.sbin/sysinst/arch/x68k/md.c: revision 1.5
usr.sbin/sysinst/arch/hp300/md.c: revision 1.5
usr.sbin/sysinst/arch/emips/md.c: revision 1.4
usr.sbin/sysinst/arch/pmax/md.c: revision 1.3
usr.sbin/sysinst/arch/mipsco/md.c: revision 1.3
usr.sbin/sysinst/arch/hppa/md.c: revision 1.3
usr.sbin/sysinst/util.c: revision 1.8
usr.sbin/sysinst/defs.h: revision 1.10
usr.sbin/sysinst/arch/landisk/md.c: revision 1.4

deconst -> __UNCONST, the former involves UB with NULL arithmetic.
 1.24.2.3 13-Apr-2020  martin Mostly merge changes from HEAD upto 20200411
 1.24.2.2 08-Apr-2020  martin Merge changes from current as of 20200406
 1.24.2.1 10-Jun-2019  christos Sync with HEAD
 1.33.2.3 20-Jan-2022  martin Pull up following revision(s) (requested by nia in ticket #1406):

usr.sbin/sysinst/net.c: revision 1.40
usr.sbin/sysinst/msg.mi.pl: revision 1.37
usr.sbin/sysinst/msg.mi.fr: revision 1.36
usr.sbin/sysinst/msg.mi.de: revision 1.35
usr.sbin/sysinst/msg.mi.en: revision 1.37
usr.sbin/sysinst/net.c: revision 1.37
usr.sbin/sysinst/net.c: revision 1.38
usr.sbin/sysinst/msg.mi.es: revision 1.31
usr.sbin/sysinst/net.c: revision 1.39

sysinst(8): Add initial support for connecting to Wi-Fi networks
by spawning wpa_supplicant.
Reviewed by martin.

sysinst(8): Avoid asking Wi-Fi questions about non-Wi-Fi devices.

sysinst(8): Add a "data" argument to do_ifreq that is set after the
ifr struct is zeroed.

This allows us to simplify the code by not having 2x socket creation
code for checking whether interfaces are wireless.
sysinst(8): use scan_ssid=1 so hidden wifi networks can be used
 1.33.2.2 28-Jan-2020  msaitoh Pull up following revision(s) (requested by martin in ticket #668):
usr.sbin/sysinst/arch/cobalt/md.c: revision 1.11
usr.sbin/sysinst/arch/cobalt/md.c: revision 1.12
usr.sbin/sysinst/arch/arc/md.c: revision 1.11
usr.sbin/sysinst/arch/arc/md.c: revision 1.12
usr.sbin/sysinst/partman.c: revision 1.43
usr.sbin/sysinst/partman.c: revision 1.46
usr.sbin/sysinst/partman.c: revision 1.47
usr.sbin/sysinst/partman.c: revision 1.48
usr.sbin/sysinst/partman.c: revision 1.49
usr.sbin/sysinst/msg.pm.fr: revision 1.2
usr.sbin/sysinst/upgrade.c: revision 1.14
usr.sbin/sysinst/arch/i386/md.c: revision 1.28
usr.sbin/sysinst/arch/i386/md.c: revision 1.29
usr.sbin/sysinst/arch/ofppc/md.c: revision 1.9
usr.sbin/sysinst/arch/sandpoint/md.c: revision 1.7
usr.sbin/sysinst/arch/sandpoint/md.c: revision 1.8
usr.sbin/sysinst/gpt.c: revision 1.14
usr.sbin/sysinst/gpt.c: revision 1.15
usr.sbin/sysinst/arch/luna68k/md.c: revision 1.8
usr.sbin/sysinst/gpt.c: revision 1.16
usr.sbin/sysinst/msg.pm.de: revision 1.2
usr.sbin/sysinst/arch/evbarm/md.c: revision 1.11
usr.sbin/sysinst/arch/evbarm/md.c: revision 1.12
usr.sbin/sysinst/arch/evbarm/md.c: revision 1.13
usr.sbin/sysinst/arch/evbarm/md.c: revision 1.14
usr.sbin/sysinst/sizemultname.c: revision 1.4
usr.sbin/sysinst/msg.pm.en: revision 1.2
usr.sbin/sysinst/arch/landisk/md.c: revision 1.12
usr.sbin/sysinst/util.c: revision 1.41
usr.sbin/sysinst/arch/landisk/md.c: revision 1.13
usr.sbin/sysinst/util.c: revision 1.42
usr.sbin/sysinst/arch/ofppc/md.c: revision 1.10
usr.sbin/sysinst/partitions.c: revision 1.9
usr.sbin/sysinst/arch/evbarm/md.h: revision 1.4
usr.sbin/sysinst/arch/evbarm/md.h: revision 1.5
usr.sbin/sysinst/arch/evbmips/md.c: revision 1.7
usr.sbin/sysinst/arch/evbmips/md.c: revision 1.8
usr.sbin/sysinst/msg.mi.fr: revision 1.25
usr.sbin/sysinst/msg.mi.de: revision 1.20
usr.sbin/sysinst/install.c: revision 1.14
usr.sbin/sysinst/partitions.h: revision 1.13
usr.sbin/sysinst/partitions.h: revision 1.14
usr.sbin/sysinst/arch/evbppc/md.c: revision 1.7
usr.sbin/sysinst/arch/playstation2/md.c: revision 1.7
usr.sbin/sysinst/msg.mi.en: revision 1.27
usr.sbin/sysinst/partitions.h: revision 1.15
usr.sbin/sysinst/arch/evbppc/md.c: revision 1.8
usr.sbin/sysinst/arch/hpcarm/md.c: revision 1.7
usr.sbin/sysinst/arch/playstation2/md.c: revision 1.8
usr.sbin/sysinst/msg.pm.pl: revision 1.2
usr.sbin/sysinst/arch/hpcarm/md.c: revision 1.8
usr.sbin/sysinst/msg.mi.es: revision 1.21
usr.sbin/sysinst/arch/zaurus/md.c: revision 1.7
usr.sbin/sysinst/target.c: revision 1.11
usr.sbin/sysinst/arch/zaurus/md.c: revision 1.8
usr.sbin/sysinst/part_edit.c: revision 1.14
usr.sbin/sysinst/part_edit.c: revision 1.15
usr.sbin/sysinst/part_edit.c: revision 1.16
usr.sbin/sysinst/defs.h: revision 1.50
usr.sbin/sysinst/defs.h: revision 1.51
usr.sbin/sysinst/defs.h: revision 1.52
usr.sbin/sysinst/defs.h: revision 1.53
usr.sbin/sysinst/defs.h: revision 1.54
usr.sbin/sysinst/arch/hpcmips/md.c: revision 1.7
usr.sbin/sysinst/arch/hpcmips/md.c: revision 1.8
usr.sbin/sysinst/arch/hpcsh/md.c: revision 1.8
usr.sbin/sysinst/msg.pm.es: revision 1.2
usr.sbin/sysinst/arch/hpcsh/md.c: revision 1.9
usr.sbin/sysinst/label.c: revision 1.18
usr.sbin/sysinst/label.c: revision 1.19
usr.sbin/sysinst/net.c: revision 1.35
usr.sbin/sysinst/msg.mi.pl: revision 1.28
usr.sbin/sysinst/disklabel.c: revision 1.28
usr.sbin/sysinst/disklabel.c: revision 1.29
usr.sbin/sysinst/mbr.c: revision 1.24
usr.sbin/sysinst/disks.c: revision 1.59
usr.sbin/sysinst/mbr.c: revision 1.25
usr.sbin/sysinst/mbr.c: revision 1.26
usr.sbin/sysinst/mbr.c: revision 1.27
usr.sbin/sysinst/mbr.c: revision 1.28
usr.sbin/sysinst/label.c: revision 1.20
usr.sbin/sysinst/mbr.c: revision 1.29
usr.sbin/sysinst/bsddisklabel.c: revision 1.34
usr.sbin/sysinst/bsddisklabel.c: revision 1.35
usr.sbin/sysinst/bsddisklabel.c: revision 1.36
usr.sbin/sysinst/bsddisklabel.c: revision 1.37
usr.sbin/sysinst/disklabel.c: revision 1.30
usr.sbin/sysinst/bsddisklabel.c: revision 1.38
usr.sbin/sysinst/disklabel.c: revision 1.31
usr.sbin/sysinst/disklabel.c: revision 1.32
usr.sbin/sysinst/disklabel.c: revision 1.33
usr.sbin/sysinst/disklabel.c: revision 1.34
usr.sbin/sysinst/disks.c: revision 1.60
usr.sbin/sysinst/disks.c: revision 1.61
usr.sbin/sysinst/arch/bebox/md.c: revision 1.7
usr.sbin/sysinst/disks.c: revision 1.62
usr.sbin/sysinst/arch/bebox/md.c: revision 1.8
usr.sbin/sysinst/mbr.c: revision 1.30
usr.sbin/sysinst/partitions.c: revision 1.10
usr.sbin/sysinst/arch/prep/md.c: revision 1.11
usr.sbin/sysinst/arch/prep/md.c: revision 1.12
usr.sbin/sysinst/menus.pm: revision 1.3
usr.sbin/sysinst/main.c: revision 1.20
usr.sbin/sysinst/menus.mi: revision 1.20
usr.sbin/sysinst/menus.mi: revision 1.21
avoid calling snprintf/strlcat with an input parameter the same
as the output. from martin@. fixes gcc 8 restrict warnings.
Finish conversion of extended partitioning parts to new abstract
backend interface. XXX still could use a lot of polishing.
Instead of a (bogus) attempt to query the model via ofctl, use the (now
fixed) sysctl hw.model instead.
When reading the secondary disklabel partitions from an existing disklabel
set the mbr partitions as parent.
Move the LABELSECTOR check and make it FS type specific - some partition
types (FFS, RAID) are allowed to overlap with the LABELSECTOR.
When asked to create a whole-disk partition for unknown usage, do not only
assert(false), but actually return an error (in case "assert" is a nop).
PR install/54787: when trying to derive proper alignement and first offset
from exisiting partitions, use the first partition offset if it is already
closer to the start of the disk than the prefered alignment - we can not
move existing partitions around.
Fix handling of inner/outer partitions (e.g. MBR and disklabel) in
extended partitioning:
- when editing a disk with such a schme, offer both partitions in two
steps
- when commiting changes save the inner partitions after the outer ones
Add a method to query the partitioning schemes "internal idea" of a
cylinder size - whatever that means in the real world.
Avoid using the global "pm" variable in utility functions - during
extended partitioning they may point to a different device.
Remove useless calls to get_ramsize() - return value is ignored and
the function has no side effects.
Fix /tmp tmpfs handling and on machines with enough RAM default to
creating a /tmp tmpfs with 25% of ram size limit. Suggested by ad@.
PR install/54872: fix printf argument order, sectors and heads were
swapped in the bios geometry display.
First try to bring evbarm installation closer to current reality.
hide disklabel_non_bootable() under NO_DISKLABEL_BOOT like the usage.
should fix most builds.
Deal with even stranger fictious empty disklabels (PR kern/54882).
Factor out all RAM size thresholds as defines to avoid magic numbers.
To work around PR misc/54886 bump the threshold for a tmpfs /tmp mount
up to 256 MB.
When retrying sets during extraction, reset the relevant statistics
to avoid counting retried sets multiple times.
Reported by kim.
Fix support for non-512-byte/sector disks again after I broke it when
introducing the abstract partition backends.
Use a few strlcpy() instead of strncpy() for network ioctl structs.
We seem to have no formal documentation stating the various
char if*_name[IFNAMSIZ]; /* if name, e.g. "en0" */
elements in ioctls are nul terminated, but the peanut gallery claims
it is so - and at least half of the code in-tree touching them agrees.
Too much disklabel magic happening in the kernel - to compensate force
MBR first when trying to identify the existing partitioning scheme of
a disk.
 1.33.2.1 17-Nov-2019  msaitoh Pull up following revision(s) (requested by martin in ticket #436):
usr.sbin/sysinst/disks.c: revision 1.55
usr.sbin/sysinst/msg.mi.en: revision 1.24
usr.sbin/sysinst/mbr.c: revision 1.22
usr.sbin/sysinst/disks.c: revision 1.56
usr.sbin/sysinst/msg.mi.en: revision 1.25
usr.sbin/sysinst/disks.c: revision 1.57
usr.sbin/sysinst/arch/playstation2/msg.md.pl: revision 1.3
usr.sbin/sysinst/Makefile.inc: revision 1.30
usr.sbin/sysinst/configmenu.c: revision 1.11
usr.sbin/sysinst/util.c: revision 1.35
usr.sbin/sysinst/gpt.c: revision 1.12
usr.sbin/sysinst/util.c: revision 1.36
usr.sbin/sysinst/arch/playstation2/msg.md.de: revision 1.3
usr.sbin/sysinst/arch/i386/menus.md: revision 1.3
usr.sbin/sysinst/util.c: revision 1.37
usr.sbin/sysinst/part_edit.c: revision 1.11
usr.sbin/sysinst/arch/i386/msg.md.en: revision 1.2
usr.sbin/sysinst/util.c: revision 1.38
usr.sbin/sysinst/part_edit.c: revision 1.12
usr.sbin/sysinst/arch/i386/msg.md.en: revision 1.3
usr.sbin/sysinst/util.c: revision 1.39
usr.sbin/sysinst/part_edit.c: revision 1.13
usr.sbin/sysinst/arch/i386/msg.md.en: revision 1.4
usr.sbin/sysinst/disklabel.c: revision 1.15
usr.sbin/sysinst/bsddisklabel.c: revision 1.30
usr.sbin/sysinst/arch/i386/msg.md.es: revision 1.2
usr.sbin/sysinst/bsddisklabel.c: revision 1.31
usr.sbin/sysinst/arch/i386/msg.md.es: revision 1.3
usr.sbin/sysinst/arch/i386/msg.md.es: revision 1.4
usr.sbin/sysinst/mbr.h: revision 1.4
usr.sbin/sysinst/main.c: revision 1.18
usr.sbin/sysinst/partman.c: revision 1.44
usr.sbin/sysinst/msg.mi.de: revision 1.17
usr.sbin/sysinst/arch/i386/msg.md.fr: revision 1.2
usr.sbin/sysinst/msg.mi.de: revision 1.18
usr.sbin/sysinst/arch/i386/msg.md.fr: revision 1.3
usr.sbin/sysinst/arch/playstation2/msg.md.en: revision 1.3
usr.sbin/sysinst/arch/i386/msg.md.fr: revision 1.4
usr.sbin/sysinst/arch/amd64/md.c: revision 1.2
usr.sbin/sysinst/arch/ews4800mips/Makefile: revision 1.3
usr.sbin/sysinst/arch/playstation2/msg.md.es: revision 1.3
usr.sbin/sysinst/label.c: revision 1.13
usr.sbin/sysinst/Makefile.inc: revision 1.29
usr.sbin/sysinst/label.c: revision 1.14
usr.sbin/sysinst/util.c: revision 1.40
usr.sbin/sysinst/partitions.c: revision 1.5
usr.sbin/sysinst/arch/amd64/md.h: revision 1.8
usr.sbin/sysinst/msg.mi.es: revision 1.18
usr.sbin/sysinst/net.c: revision 1.34
usr.sbin/sysinst/msg.mi.es: revision 1.19
usr.sbin/sysinst/arch/i386/msg.md.pl: revision 1.2
usr.sbin/sysinst/arch/i386/md.c: revision 1.22
usr.sbin/sysinst/msg.mi.fr: revision 1.22
usr.sbin/sysinst/arch/playstation2/msg.md.fr: revision 1.3
usr.sbin/sysinst/arch/i386/msg.md.pl: revision 1.3
usr.sbin/sysinst/arch/i386/md.c: revision 1.23
usr.sbin/sysinst/msg.mi.pl: revision 1.25
usr.sbin/sysinst/msg.mi.fr: revision 1.23
usr.sbin/sysinst/arch/i386/msg.md.pl: revision 1.4
usr.sbin/sysinst/arch/i386/md.c: revision 1.24
usr.sbin/sysinst/partitions.h: revision 1.8
usr.sbin/sysinst/msg.mi.pl: revision 1.26
usr.sbin/sysinst/arch/i386/msg.md.de: revision 1.2
usr.sbin/sysinst/arch/i386/msg.md.de: revision 1.3
usr.sbin/sysinst/arch/i386/msg.md.de: revision 1.4
usr.sbin/sysinst/run.c: revision 1.13
usr.sbin/sysinst/defs.h: revision 1.46
usr.sbin/sysinst/install.c: revision 1.12
usr.sbin/sysinst/defs.h: revision 1.47
usr.sbin/sysinst/install.c: revision 1.13
usr.sbin/sysinst/defs.h: revision 1.48
Add options to the various partitioning stages that allow cloning of
alien partitions (optionally including data).
PR 54467: we trust our own sets, extract them with -P to allow symlink
redirection (especially for updates and chroot services - back out
once a better solution for those is implemented)
Make cloning support optional, so we can save some space on very small
install media.
Drop MBR and cloning support on crunched install media.
Make tar extraction flags depend on our usage of pax-as-tar or bsdtar.
Fix missing newlines in bios match display, pointed out by maxv.
Drop unused variable.
Fix table of bios geomatries
knf style adjustments
Make the bootblock selection menu more sane, pointed out by maxv
Make sure all menus have a translatable exit option (or none at all).
On amd64 support installation with a KASLR kernel, via "custom install"
and selecting the GENERIC_KASLR kernel set.
Setup /prekern and boot.cfg accordingly.
 1.43.2.2 26-Dec-2023  snj Pull up following revision(s) (requested by martin in ticket #511):
usr.sbin/sysinst/configmenu.c: revision 1.18
usr.sbin/sysinst/defs.h: revision 1.90
usr.sbin/sysinst/main.c: revision 1.32
usr.sbin/sysinst/menus.entropy: revision 1.3
usr.sbin/sysinst/menus.mi: revision 1.29
usr.sbin/sysinst/net.c: revision 1.45
Add a https transfer method (sharing all host details with the http
transfer). Make this method the default for all downloads.
Try to make sure the binary pkg installation (which runs in a chroot
in the already installed system) can make use of SSL verification.
This does NOT fix the missing SSL verification in most install media
even if using https (due to not fully populated /etc/openssl/certs).
 1.43.2.1 04-Jan-2023  snj Pull up following revision(s) (requested by martin in ticket #35):
usr.sbin/sysinst/net.c: revision 1.44
Clear the msg area after prompting for the network device to use
 1.27 15-May-2022  jmcneill sysinst: Center the select_part_scheme menu horizontally
 1.26 05-Dec-2021  msaitoh s/exisit/exist/ in comment.
 1.25 31-Jan-2021  rillig sysinst: remove trailing whitespace from *.c *.h

In contrast to the messages files, this whitespace is not significant.
 1.24 12-Oct-2020  martin Minor fix to previous: fix condition when we offer the partition type
switch - it makes sense even if the disk is partitioned but has no valid
partitions.
 1.23 12-Oct-2020  martin PR 55536: when we find existing partition tables and have alternative
formats available, offer to delete partitions and create new ones from
scratch (in some other or the same on-disk format).
 1.22 12-Oct-2020  martin Fix editing start and size of not yet existing outer partitions.
 1.21 10-Oct-2020  martin Remove more pm->ptstart abuse - calculate values localy where needed
instead.
 1.20 10-Oct-2020  martin When creating new partitions for "full disk" use, pass a install target
hint to the partitioning backend (for the outer NetBSD partition).
 1.19 09-Oct-2020  martin When MD code requests a reserved area (at the start of the disk)
make sure to properly account for the "lost" space during all calculations
and especially when expanding the main partition to fill the disk.

Avoid using the global "pm" or a passed device descriptons when we are
passing disk limits explicitly anyway.

Simplify/fix a few rounding calculations.
 1.18 03-Oct-2020  martin PR 55384: detangle pm->ptstart from the "install" flag (selecting a
target partition). Instead introduce a new PTI_INSTALL_TARGET per partition
flag and deal with it in the partitioning backends.

Honour pm->ptstart when allocating new partitions - it is supposed to be
the first sector usable by NetBSD.
 1.17 29-Sep-2020  martin PR 55381: try to deal with moved (but not yet saved) partitions when
calculating free space
 1.16 27-Jan-2020  martin branches: 1.16.4;
Fix support for non-512-byte/sector disks again after I broke it when
introducing the abstract partition backends.
 1.15 20-Jan-2020  martin First try to bring evbarm installation closer to current reality.
 1.14 09-Jan-2020  martin Finish conversion of extended partitioning parts to new abstract
backend interface. XXX still could use a lot of polishing.
 1.13 16-Nov-2019  joerg Drop unused variable.
 1.12 13-Nov-2019  martin Make cloning support optional, so we can save some space on very small
install media.
 1.11 12-Nov-2019  martin Add options to the various partitioning stages that allow cloning of
alien partitions (optionally including data).
 1.10 26-Oct-2019  martin In non-MBR specific files, #ifdef all tests for MBR for architectures
that do not even compile in MBR support.
 1.9 25-Oct-2019  martin Honor the "no_mbr" flag (used especially for raid and xbd devices)
 1.8 24-Oct-2019  martin When we fail to setup for "all of the disk for NetBSD" report
failure, instead of silently aborting the install.
 1.7 12-Jul-2019  martin branches: 1.7.2;
Fix copy & pasto: when using the whole disk but requiring boot partitions,
do not extend the size of the boot partition(s) to full disk size.
 1.6 09-Jul-2019  martin When editing outer partitions:
- when there are no outer partitions to edit, just report success and go
on, instead of failing an assertion.
- use the partitions passed as argument and avoid refering (the hopefully
same set) via the global pm device pointer.

When checking for pre-exisiting partitions, skip non-user partitions
(like the raw partition in disklabel, or extended partitions in MBR).
 1.5 22-Jun-2019  christos no need to initialize fields that are already 0.
 1.4 20-Jun-2019  christos Use _fmt_ msg_ methods when formats are needed.
 1.3 16-Jun-2019  martin Lower estimates on required install size
 1.2 15-Jun-2019  martin When setting up a "use whole disk" single outer partition, force an
empty set of inner partitions immediately,

This avoids reading old (stale) partitions (e.g. disklabel that
survived cleaning and re-creating the MBR with the MBR NetBSD partition
starting at the same offset) later.
 1.1 12-Jun-2019  martin Rework internal data structures and "interfaces to user interface" functions
to get rid of all disklabel assumptions.

Previously (even for GPT partitioning) struct disklabel was used, which
obviously breaks large disk setups. Also many MD parts and parts of the
user interface assumed (a) a struct disklabel is used internally to
store partitioning information and (b) partitions are named 'a' ... $MAXPART.

Get rid of this and replace it with a quite abstract interface that should
be able to deal with all variants in partition storage:

- partitions are stored in a (partly abstract) struct disk_partitions
and most parts of it are only accessed via accessor functions provided
by a "partitioning scheme".

- implement partitioning schemes for MBR, disklabel and GPT (with likely
RDB [amiga] and Apple Partition Map [mac*] to follow soon)

- partitioning schemes may be cascaded, e.g. on x86 when using MBR as
"outer partitions", we have disklabel as "inner partitions".

- all user interface goes via accessor functions in the partitioning scheme,
some of which return pointers to special user interface descriptors
(e.g. to allow editing partition flags, which are scheme specific)

Overall the user interface changes (in this initial step) are minimal but
noticable. A new Anita is needed for automatic test setups - many thanks
to Andreas Gustafsson for lots of early testing and a new Anita version,
and to Manuel Bouyer for cooperation and tests of the Anita release.

This work was sponsored by The NetBSD Foundation, Inc.
 1.7.2.5 15-Oct-2020  bouyer Pull up following revision(s) (requested by martin in ticket #1113):
usr.sbin/sysinst/bsddisklabel.c: revision 1.46
usr.sbin/sysinst/bsddisklabel.c: revision 1.47
usr.sbin/sysinst/disklabel.c: revision 1.40
usr.sbin/sysinst/arch/cobalt/md.c: revision 1.13
usr.sbin/sysinst/bsddisklabel.c: revision 1.48
usr.sbin/sysinst/disklabel.c: revision 1.41
usr.sbin/sysinst/arch/cobalt/md.c: revision 1.14
usr.sbin/sysinst/bsddisklabel.c: revision 1.49
usr.sbin/sysinst/disklabel.c: revision 1.42
usr.sbin/sysinst/Makefile.inc: revision 1.34
usr.sbin/sysinst/disks.c: revision 1.70
usr.sbin/sysinst/arch/hp300/md.c: revision 1.11
usr.sbin/sysinst/disks.c: revision 1.71
usr.sbin/sysinst/arch/i386/md.h: revision 1.8
usr.sbin/sysinst/arch/arc/md.c: revision 1.13
usr.sbin/sysinst/mbr.h: revision 1.5
usr.sbin/sysinst/mbr.h: revision 1.6
usr.sbin/sysinst/arch/mac68k/md.c: revision 1.10
usr.sbin/sysinst/bsddisklabel.c: revision 1.50
usr.sbin/sysinst/arch/acorn32/md.c: revision 1.7
usr.sbin/sysinst/bsddisklabel.c: revision 1.51
usr.sbin/sysinst/bsddisklabel.c: revision 1.52
usr.sbin/sysinst/bsddisklabel.c: revision 1.53
usr.sbin/sysinst/bsddisklabel.c: revision 1.54
usr.sbin/sysinst/bsddisklabel.c: revision 1.55
usr.sbin/sysinst/bsddisklabel.c: revision 1.56
usr.sbin/sysinst/arch/dummy/md.c: revision 1.6
usr.sbin/sysinst/arch/amd64/md.h: revision 1.9
usr.sbin/sysinst/arch/evbsh3/md.c: revision 1.6
usr.sbin/sysinst/arch/sparc/md.c: revision 1.6
usr.sbin/sysinst/arch/zaurus/md.c: revision 1.10
usr.sbin/sysinst/arch/x68k/md.c: revision 1.11
usr.sbin/sysinst/arch/sandpoint/md.c: revision 1.9
usr.sbin/sysinst/arch/vax/md.c: revision 1.7
usr.sbin/sysinst/arch/luna68k/md.c: revision 1.9
usr.sbin/sysinst/gpt.c: revision 1.19
usr.sbin/sysinst/arch/i386/md.c: revision 1.31
usr.sbin/sysinst/arch/i386/md.c: revision 1.32
usr.sbin/sysinst/arch/evbarm/md.c: revision 1.17
usr.sbin/sysinst/arch/evbarm/md.c: revision 1.18
usr.sbin/sysinst/arch/evbarm/md.c: revision 1.19
usr.sbin/sysinst/arch/shark/md.c: revision 1.6
usr.sbin/sysinst/arch/landisk/md.c: revision 1.14
usr.sbin/sysinst/util.c: revision 1.43
usr.sbin/sysinst/gpt.c: revision 1.20
usr.sbin/sysinst/util.c: revision 1.44
usr.sbin/sysinst/gpt.c: revision 1.21
usr.sbin/sysinst/gpt.c: revision 1.22
usr.sbin/sysinst/arch/evbarm/msg.md.en: revision 1.2
usr.sbin/sysinst/arch/ofppc/md.c: revision 1.11
usr.sbin/sysinst/util.c: revision 1.46
usr.sbin/sysinst/arch/ofppc/md.c: revision 1.12
usr.sbin/sysinst/util.c: revision 1.47
usr.sbin/sysinst/arch/evbarm/md.h: revision 1.6
usr.sbin/sysinst/util.c: revision 1.48
usr.sbin/sysinst/arch/evbarm/md.h: revision 1.7
usr.sbin/sysinst/arch/evbmips/md.c: revision 1.9
usr.sbin/sysinst/msg.mi.fr: revision 1.28
usr.sbin/sysinst/msg.mi.fr: revision 1.29
usr.sbin/sysinst/arch/sgimips/md.c: revision 1.9
usr.sbin/sysinst/arch/evbarm/Makefile: revision 1.3
usr.sbin/sysinst/msg.mi.de: revision 1.23
usr.sbin/sysinst/arch/hpcsh/md.c: revision 1.10
usr.sbin/sysinst/msg.mi.de: revision 1.24
usr.sbin/sysinst/install.c: revision 1.15
usr.sbin/sysinst/install.c: revision 1.16
usr.sbin/sysinst/arch/sparc64/md.c: revision 1.6
usr.sbin/sysinst/install.c: revision 1.17
usr.sbin/sysinst/install.c: revision 1.18
usr.sbin/sysinst/partitions.h: revision 1.16
usr.sbin/sysinst/install.c: revision 1.19
usr.sbin/sysinst/partitions.h: revision 1.17
usr.sbin/sysinst/arch/evbppc/md.c: revision 1.9
usr.sbin/sysinst/arch/playstation2/md.c: revision 1.9
usr.sbin/sysinst/partitions.h: revision 1.18
usr.sbin/sysinst/arch/hpcarm/md.c: revision 1.9
usr.sbin/sysinst/partitions.h: revision 1.19
usr.sbin/sysinst/msg.mi.es: revision 1.24
usr.sbin/sysinst/msg.mi.es: revision 1.25
usr.sbin/sysinst/msg.mi.es: revision 1.26
usr.sbin/sysinst/arch/zaurus/md.c: revision 1.9
usr.sbin/sysinst/target.c: revision 1.13
usr.sbin/sysinst/target.c: revision 1.14
usr.sbin/sysinst/part_edit.c: revision 1.17
usr.sbin/sysinst/part_edit.c: revision 1.18
usr.sbin/sysinst/msg.mi.fr: revision 1.30
usr.sbin/sysinst/arch/mvme68k/md.c: revision 1.11
usr.sbin/sysinst/part_edit.c: revision 1.19
usr.sbin/sysinst/msg.mi.fr: revision 1.31
usr.sbin/sysinst/arch/alpha/md.c: revision 1.9
usr.sbin/sysinst/msg.mi.en: revision 1.30
usr.sbin/sysinst/defs.h: revision 1.56
usr.sbin/sysinst/msg.mi.en: revision 1.31
usr.sbin/sysinst/defs.h: revision 1.57
usr.sbin/sysinst/msg.mi.en: revision 1.32
usr.sbin/sysinst/arch/amiga/md.c: revision 1.6
usr.sbin/sysinst/arch/hpcmips/md.c: revision 1.9
usr.sbin/sysinst/defs.h: revision 1.58
usr.sbin/sysinst/arch/cats/md.c: revision 1.5
usr.sbin/sysinst/defs.h: revision 1.59
usr.sbin/sysinst/arch/newsmips/md.c: revision 1.6
usr.sbin/sysinst/arch/pmax/md.c: revision 1.8
usr.sbin/sysinst/arch/mipsco/md.c: revision 1.8
usr.sbin/sysinst/part_edit.c: revision 1.20
usr.sbin/sysinst/part_edit.c: revision 1.21
usr.sbin/sysinst/arch/macppc/md.c: revision 1.6
usr.sbin/sysinst/part_edit.c: revision 1.22
usr.sbin/sysinst/part_edit.c: revision 1.23
usr.sbin/sysinst/part_edit.c: revision 1.24
usr.sbin/sysinst/defs.h: revision 1.60
usr.sbin/sysinst/arch/mac68k/Makefile: revision 1.3
usr.sbin/sysinst/defs.h: revision 1.61
usr.sbin/sysinst/defs.h: revision 1.63
usr.sbin/sysinst/defs.h: revision 1.64
usr.sbin/sysinst/defs.h: revision 1.65
usr.sbin/sysinst/label.c: revision 1.21
usr.sbin/sysinst/defs.h: revision 1.66
usr.sbin/sysinst/label.c: revision 1.22
usr.sbin/sysinst/defs.h: revision 1.67
usr.sbin/sysinst/label.c: revision 1.23
usr.sbin/sysinst/label.c: revision 1.24
usr.sbin/sysinst/label.c: revision 1.25
usr.sbin/sysinst/label.c: revision 1.26
usr.sbin/sysinst/label.c: revision 1.27
usr.sbin/sysinst/msg.mi.pl: revision 1.31
usr.sbin/sysinst/label.c: revision 1.28
usr.sbin/sysinst/msg.mi.pl: revision 1.32
usr.sbin/sysinst/label.c: revision 1.29
usr.sbin/sysinst/arch/atari/md.c: revision 1.7
usr.sbin/sysinst/disklabel.c: revision 1.36
usr.sbin/sysinst/disklabel.c: revision 1.37
usr.sbin/sysinst/disklabel.c: revision 1.38
usr.sbin/sysinst/disklabel.c: revision 1.39
usr.sbin/sysinst/arch/bebox/md.c: revision 1.9
usr.sbin/sysinst/mbr.c: revision 1.32
usr.sbin/sysinst/disks.c: revision 1.66
usr.sbin/sysinst/mbr.c: revision 1.33
usr.sbin/sysinst/disks.c: revision 1.67
usr.sbin/sysinst/mbr.c: revision 1.34
usr.sbin/sysinst/arch/emips/md.c: revision 1.9
usr.sbin/sysinst/disks.c: revision 1.68
usr.sbin/sysinst/partitions.c: revision 1.11
usr.sbin/sysinst/mbr.c: revision 1.35
usr.sbin/sysinst/disks.c: revision 1.69
usr.sbin/sysinst/mbr.c: revision 1.36
usr.sbin/sysinst/arch/hppa/md.c: revision 1.8
usr.sbin/sysinst/arch/prep/md.c: revision 1.13
usr.sbin/sysinst/label.c: revision 1.30
usr.sbin/sysinst/arch/ews4800mips/md.c: revision 1.7
usr.sbin/sysinst/main.c: revision 1.21
usr.sbin/sysinst/main.c: revision 1.22
usr.sbin/sysinst/main.c: revision 1.23
usr.sbin/sysinst/bsddisklabel.c: revision 1.40
usr.sbin/sysinst/main.c: revision 1.24
usr.sbin/sysinst/arch/cobalt/md.h: revision 1.6
usr.sbin/sysinst/bsddisklabel.c: revision 1.41
usr.sbin/sysinst/main.c: revision 1.25
usr.sbin/sysinst/arch/news68k/md.c: revision 1.7
usr.sbin/sysinst/bsddisklabel.c: revision 1.42
usr.sbin/sysinst/bsddisklabel.c: revision 1.43
usr.sbin/sysinst/bsddisklabel.c: revision 1.44
usr.sbin/sysinst/bsddisklabel.c: revision 1.45
Use strlcpy in a few places to guarnatee 0-terminated strings
Rever previous: the d_packname in struct disklabel is not NUL terminated.
Disable the warning instead.
Do not force -Os optimization (unless SMALLPROG)
Remove unused "rel" global variable and make the -r option a no-op.
PR 55045: strlcpy(NULL, ..., 0) considered harmfull in some implementations.
PR misc/54886: bump threshold for automatic/default creation of a tmpfs /tmp
up slightly (to 384 MB ram). This will make sure the default install has
a > 64 MB /tmp available (number pulled out of thin air, 64 MB is the minimum
required by the ZFS tests).
Don't depend on common symbol definitions.
boardype should not be common.
Redo the root-size-limit check again after we grew the root partition
for kernel dumps. Auto-enable the /usr partition if it overflows.
For all non-root partitions, default to FFSv2.
When extending a partition (to fill the total disk size) do respect
size limits.
Do not suggest a size limited partition for extension by default.
Minor tweak to previous: when forcing a /usr partition just to have an
arbitrary extendable partition, still use its default size initially.
At the end of a new installation save entropy.
Ooops, backout previous - twice the entropy saving is not needed.
Instead slightly improve the (slightly) hidden other code that already
did it.
PR 55202: disable swapping if we started it due to low ram
it's "its"
Remove "If you booted from a floppy" message
Set HAVE_INSTALL_IMAGE for evbarm
Change mountpoint of boot ext2fs from /stand to /ext2 to avoid conflict.
Should be pulled up to netbsd-9, with fixes of PR/55060.
MBR type for Ext2 should be MBR_PTYPE_LNXEXT2, not MBR_PTYPE_FAT12.
Silence -Wstringop-truncation for ``name'' in disp_selected_part().
This variable is used only for display, and truncation seems harmless.
PR 55572: avoid crash when answering the mount point prompt for a previously
empty mount point with an emptry sting.
When adding a new partition in the concrete partition editor, make sure
to set a pointer to the partition table interface in the new entry.
Otherwise we may end up not writing back the partitions at all, leading
to further fallout later.
Receipe to reproduce the issue from Frederic Fauberteau, thanks!
In the concrete partitions editor, after deleting the last partition move
the menu selection to the "add a partition" entry (instead of the sentinel
line which is not an active menu entry).
Typo in comment
Keep a list of all partition tables from which we have deleted partitions
and make sure we update those partition tables when writing partitions,
even if no install related partition remains on them.
Fix display of timezone selection menu
If there is no current partitioning manager assume we are editing the
current system and make target_already_root() return true.
Fixes various fallout when using sysinst post installation.
PR 55377: mark boot partitions in the partition size display, as suggested
by Izumi Tsutsui (minor modifications + all bugs by me)
PR 55378: do not assume RAW_PART to be either 2 or 3
PR 55379: avoid creating bogus /etc/fstab lines for /dev/cd* if no
cdrom is available.
PR 55381: try to deal with moved (but not yet saved) partitions when
calculating free space
Apply patch provided by Izumi Tsutsui in PR 55382: make ext2 partitions
show up in the outer (MBR) partition table, needed for example on Cobalt
where firmware boots from that partition.
PR 55384: detangle pm->ptstart from the "install" flag (selecting a
target partition). Instead introduce a new PTI_INSTALL_TARGET per partition
flag and deal with it in the partitioning backends.
Honour pm->ptstart when allocating new partitions - it is supposed to be
the first sector usable by NetBSD.
If we have no explicitly marke target root partition, make sure to set
the proper flag on the implicit one.
When merging existing partitions with desired target system layout
information, only force the "mount" flag if the existing partitions
has a valid mount point.
Add a heuristic to detect and properly mark EFI system partitions
when re-using pre-existing partitions.
When MD code requests a reserved area (at the start of the disk)
make sure to properly account for the "lost" space during all calculations
and especially when expanding the main partition to fill the disk.
Avoid using the global "pm" or a passed device descriptons when we are
passing disk limits explicitly anyway.
Simplify/fix a few rounding calculations.
When creating new partitions for "full disk" use, pass a install target
hint to the partitioning backend (for the outer NetBSD partition).
Use an install target hint to mark a new partition active.
When compiled with BOOTSEL support, also name the new partition "NetBSD".
Remove more pm->ptstart abuse - calculate values localy where needed
instead.
Fix editing start and size of not yet existing outer partitions.
Previously we abused pm->ptstart / pm->ptsize to pass the bounds of the
NetBSD outer partition to the inner partition editor - but now this is
not a valid assumption any more, so explicitly fix the bounds if an
outer partition exists.
Remove very strange code that special-cased MSDOS file systems and refused
to newfs the partition (despite explicit request to do so) if it was
mountable.
Accidently carried over from a dim and distant past, before we had
fsck_newfs.
PR 55536: when we find existing partition tables and have alternative
formats available, offer to delete partitions and create new ones from
scratch (in some other or the same on-disk format).
Minor fix to previous: fix condition when we offer the partition type
switch - it makes sense even if the disk is partitioned but has no valid
partitions.
Before forcing MBR partitions into our disklabel, make sure they are not
there yet - could happen in various paths when reusing existing partitions
(or parts of that) - previously we would blindly duplicate identical
partitions.
Ooops, part of previous was not meant to be included yet
When renumbering partitions (after deletions) be slightly more lax
in matching, to cope with differences between MBR EFI partitions and
disklabel MSDOS partitions.
PR 55142: on popular demand bring back expert options to adjust the
number of free inodes, block size and fragment size for FFS and LFS.
Fix copy & pasto noticed by Jason Mitchell: change the type of a GPT
partition via "gpt type" - not "gpt label".
Fix copy & pasto (missing "again" label)
Remove dead code
Move MBR writing (if any) post disklabel writing, otherwise strange
interactions happen.
Properly convert partition default sizes in MB to number of sectors
 1.7.2.4 28-Jan-2020  msaitoh Pull up following revision(s) (requested by martin in ticket #668):
usr.sbin/sysinst/arch/cobalt/md.c: revision 1.11
usr.sbin/sysinst/arch/cobalt/md.c: revision 1.12
usr.sbin/sysinst/arch/arc/md.c: revision 1.11
usr.sbin/sysinst/arch/arc/md.c: revision 1.12
usr.sbin/sysinst/partman.c: revision 1.43
usr.sbin/sysinst/partman.c: revision 1.46
usr.sbin/sysinst/partman.c: revision 1.47
usr.sbin/sysinst/partman.c: revision 1.48
usr.sbin/sysinst/partman.c: revision 1.49
usr.sbin/sysinst/msg.pm.fr: revision 1.2
usr.sbin/sysinst/upgrade.c: revision 1.14
usr.sbin/sysinst/arch/i386/md.c: revision 1.28
usr.sbin/sysinst/arch/i386/md.c: revision 1.29
usr.sbin/sysinst/arch/ofppc/md.c: revision 1.9
usr.sbin/sysinst/arch/sandpoint/md.c: revision 1.7
usr.sbin/sysinst/arch/sandpoint/md.c: revision 1.8
usr.sbin/sysinst/gpt.c: revision 1.14
usr.sbin/sysinst/gpt.c: revision 1.15
usr.sbin/sysinst/arch/luna68k/md.c: revision 1.8
usr.sbin/sysinst/gpt.c: revision 1.16
usr.sbin/sysinst/msg.pm.de: revision 1.2
usr.sbin/sysinst/arch/evbarm/md.c: revision 1.11
usr.sbin/sysinst/arch/evbarm/md.c: revision 1.12
usr.sbin/sysinst/arch/evbarm/md.c: revision 1.13
usr.sbin/sysinst/arch/evbarm/md.c: revision 1.14
usr.sbin/sysinst/sizemultname.c: revision 1.4
usr.sbin/sysinst/msg.pm.en: revision 1.2
usr.sbin/sysinst/arch/landisk/md.c: revision 1.12
usr.sbin/sysinst/util.c: revision 1.41
usr.sbin/sysinst/arch/landisk/md.c: revision 1.13
usr.sbin/sysinst/util.c: revision 1.42
usr.sbin/sysinst/arch/ofppc/md.c: revision 1.10
usr.sbin/sysinst/partitions.c: revision 1.9
usr.sbin/sysinst/arch/evbarm/md.h: revision 1.4
usr.sbin/sysinst/arch/evbarm/md.h: revision 1.5
usr.sbin/sysinst/arch/evbmips/md.c: revision 1.7
usr.sbin/sysinst/arch/evbmips/md.c: revision 1.8
usr.sbin/sysinst/msg.mi.fr: revision 1.25
usr.sbin/sysinst/msg.mi.de: revision 1.20
usr.sbin/sysinst/install.c: revision 1.14
usr.sbin/sysinst/partitions.h: revision 1.13
usr.sbin/sysinst/partitions.h: revision 1.14
usr.sbin/sysinst/arch/evbppc/md.c: revision 1.7
usr.sbin/sysinst/arch/playstation2/md.c: revision 1.7
usr.sbin/sysinst/msg.mi.en: revision 1.27
usr.sbin/sysinst/partitions.h: revision 1.15
usr.sbin/sysinst/arch/evbppc/md.c: revision 1.8
usr.sbin/sysinst/arch/hpcarm/md.c: revision 1.7
usr.sbin/sysinst/arch/playstation2/md.c: revision 1.8
usr.sbin/sysinst/msg.pm.pl: revision 1.2
usr.sbin/sysinst/arch/hpcarm/md.c: revision 1.8
usr.sbin/sysinst/msg.mi.es: revision 1.21
usr.sbin/sysinst/arch/zaurus/md.c: revision 1.7
usr.sbin/sysinst/target.c: revision 1.11
usr.sbin/sysinst/arch/zaurus/md.c: revision 1.8
usr.sbin/sysinst/part_edit.c: revision 1.14
usr.sbin/sysinst/part_edit.c: revision 1.15
usr.sbin/sysinst/part_edit.c: revision 1.16
usr.sbin/sysinst/defs.h: revision 1.50
usr.sbin/sysinst/defs.h: revision 1.51
usr.sbin/sysinst/defs.h: revision 1.52
usr.sbin/sysinst/defs.h: revision 1.53
usr.sbin/sysinst/defs.h: revision 1.54
usr.sbin/sysinst/arch/hpcmips/md.c: revision 1.7
usr.sbin/sysinst/arch/hpcmips/md.c: revision 1.8
usr.sbin/sysinst/arch/hpcsh/md.c: revision 1.8
usr.sbin/sysinst/msg.pm.es: revision 1.2
usr.sbin/sysinst/arch/hpcsh/md.c: revision 1.9
usr.sbin/sysinst/label.c: revision 1.18
usr.sbin/sysinst/label.c: revision 1.19
usr.sbin/sysinst/net.c: revision 1.35
usr.sbin/sysinst/msg.mi.pl: revision 1.28
usr.sbin/sysinst/disklabel.c: revision 1.28
usr.sbin/sysinst/disklabel.c: revision 1.29
usr.sbin/sysinst/mbr.c: revision 1.24
usr.sbin/sysinst/disks.c: revision 1.59
usr.sbin/sysinst/mbr.c: revision 1.25
usr.sbin/sysinst/mbr.c: revision 1.26
usr.sbin/sysinst/mbr.c: revision 1.27
usr.sbin/sysinst/mbr.c: revision 1.28
usr.sbin/sysinst/label.c: revision 1.20
usr.sbin/sysinst/mbr.c: revision 1.29
usr.sbin/sysinst/bsddisklabel.c: revision 1.34
usr.sbin/sysinst/bsddisklabel.c: revision 1.35
usr.sbin/sysinst/bsddisklabel.c: revision 1.36
usr.sbin/sysinst/bsddisklabel.c: revision 1.37
usr.sbin/sysinst/disklabel.c: revision 1.30
usr.sbin/sysinst/bsddisklabel.c: revision 1.38
usr.sbin/sysinst/disklabel.c: revision 1.31
usr.sbin/sysinst/disklabel.c: revision 1.32
usr.sbin/sysinst/disklabel.c: revision 1.33
usr.sbin/sysinst/disklabel.c: revision 1.34
usr.sbin/sysinst/disks.c: revision 1.60
usr.sbin/sysinst/disks.c: revision 1.61
usr.sbin/sysinst/arch/bebox/md.c: revision 1.7
usr.sbin/sysinst/disks.c: revision 1.62
usr.sbin/sysinst/arch/bebox/md.c: revision 1.8
usr.sbin/sysinst/mbr.c: revision 1.30
usr.sbin/sysinst/partitions.c: revision 1.10
usr.sbin/sysinst/arch/prep/md.c: revision 1.11
usr.sbin/sysinst/arch/prep/md.c: revision 1.12
usr.sbin/sysinst/menus.pm: revision 1.3
usr.sbin/sysinst/main.c: revision 1.20
usr.sbin/sysinst/menus.mi: revision 1.20
usr.sbin/sysinst/menus.mi: revision 1.21
avoid calling snprintf/strlcat with an input parameter the same
as the output. from martin@. fixes gcc 8 restrict warnings.
Finish conversion of extended partitioning parts to new abstract
backend interface. XXX still could use a lot of polishing.
Instead of a (bogus) attempt to query the model via ofctl, use the (now
fixed) sysctl hw.model instead.
When reading the secondary disklabel partitions from an existing disklabel
set the mbr partitions as parent.
Move the LABELSECTOR check and make it FS type specific - some partition
types (FFS, RAID) are allowed to overlap with the LABELSECTOR.
When asked to create a whole-disk partition for unknown usage, do not only
assert(false), but actually return an error (in case "assert" is a nop).
PR install/54787: when trying to derive proper alignement and first offset
from exisiting partitions, use the first partition offset if it is already
closer to the start of the disk than the prefered alignment - we can not
move existing partitions around.
Fix handling of inner/outer partitions (e.g. MBR and disklabel) in
extended partitioning:
- when editing a disk with such a schme, offer both partitions in two
steps
- when commiting changes save the inner partitions after the outer ones
Add a method to query the partitioning schemes "internal idea" of a
cylinder size - whatever that means in the real world.
Avoid using the global "pm" variable in utility functions - during
extended partitioning they may point to a different device.
Remove useless calls to get_ramsize() - return value is ignored and
the function has no side effects.
Fix /tmp tmpfs handling and on machines with enough RAM default to
creating a /tmp tmpfs with 25% of ram size limit. Suggested by ad@.
PR install/54872: fix printf argument order, sectors and heads were
swapped in the bios geometry display.
First try to bring evbarm installation closer to current reality.
hide disklabel_non_bootable() under NO_DISKLABEL_BOOT like the usage.
should fix most builds.
Deal with even stranger fictious empty disklabels (PR kern/54882).
Factor out all RAM size thresholds as defines to avoid magic numbers.
To work around PR misc/54886 bump the threshold for a tmpfs /tmp mount
up to 256 MB.
When retrying sets during extraction, reset the relevant statistics
to avoid counting retried sets multiple times.
Reported by kim.
Fix support for non-512-byte/sector disks again after I broke it when
introducing the abstract partition backends.
Use a few strlcpy() instead of strncpy() for network ioctl structs.
We seem to have no formal documentation stating the various
char if*_name[IFNAMSIZ]; /* if name, e.g. "en0" */
elements in ioctls are nul terminated, but the peanut gallery claims
it is so - and at least half of the code in-tree touching them agrees.
Too much disklabel magic happening in the kernel - to compensate force
MBR first when trying to identify the existing partitioning scheme of
a disk.
 1.7.2.3 17-Nov-2019  msaitoh Pull up following revision(s) (requested by martin in ticket #436):
usr.sbin/sysinst/disks.c: revision 1.55
usr.sbin/sysinst/msg.mi.en: revision 1.24
usr.sbin/sysinst/mbr.c: revision 1.22
usr.sbin/sysinst/disks.c: revision 1.56
usr.sbin/sysinst/msg.mi.en: revision 1.25
usr.sbin/sysinst/disks.c: revision 1.57
usr.sbin/sysinst/arch/playstation2/msg.md.pl: revision 1.3
usr.sbin/sysinst/Makefile.inc: revision 1.30
usr.sbin/sysinst/configmenu.c: revision 1.11
usr.sbin/sysinst/util.c: revision 1.35
usr.sbin/sysinst/gpt.c: revision 1.12
usr.sbin/sysinst/util.c: revision 1.36
usr.sbin/sysinst/arch/playstation2/msg.md.de: revision 1.3
usr.sbin/sysinst/arch/i386/menus.md: revision 1.3
usr.sbin/sysinst/util.c: revision 1.37
usr.sbin/sysinst/part_edit.c: revision 1.11
usr.sbin/sysinst/arch/i386/msg.md.en: revision 1.2
usr.sbin/sysinst/util.c: revision 1.38
usr.sbin/sysinst/part_edit.c: revision 1.12
usr.sbin/sysinst/arch/i386/msg.md.en: revision 1.3
usr.sbin/sysinst/util.c: revision 1.39
usr.sbin/sysinst/part_edit.c: revision 1.13
usr.sbin/sysinst/arch/i386/msg.md.en: revision 1.4
usr.sbin/sysinst/disklabel.c: revision 1.15
usr.sbin/sysinst/bsddisklabel.c: revision 1.30
usr.sbin/sysinst/arch/i386/msg.md.es: revision 1.2
usr.sbin/sysinst/bsddisklabel.c: revision 1.31
usr.sbin/sysinst/arch/i386/msg.md.es: revision 1.3
usr.sbin/sysinst/arch/i386/msg.md.es: revision 1.4
usr.sbin/sysinst/mbr.h: revision 1.4
usr.sbin/sysinst/main.c: revision 1.18
usr.sbin/sysinst/partman.c: revision 1.44
usr.sbin/sysinst/msg.mi.de: revision 1.17
usr.sbin/sysinst/arch/i386/msg.md.fr: revision 1.2
usr.sbin/sysinst/msg.mi.de: revision 1.18
usr.sbin/sysinst/arch/i386/msg.md.fr: revision 1.3
usr.sbin/sysinst/arch/playstation2/msg.md.en: revision 1.3
usr.sbin/sysinst/arch/i386/msg.md.fr: revision 1.4
usr.sbin/sysinst/arch/amd64/md.c: revision 1.2
usr.sbin/sysinst/arch/ews4800mips/Makefile: revision 1.3
usr.sbin/sysinst/arch/playstation2/msg.md.es: revision 1.3
usr.sbin/sysinst/label.c: revision 1.13
usr.sbin/sysinst/Makefile.inc: revision 1.29
usr.sbin/sysinst/label.c: revision 1.14
usr.sbin/sysinst/util.c: revision 1.40
usr.sbin/sysinst/partitions.c: revision 1.5
usr.sbin/sysinst/arch/amd64/md.h: revision 1.8
usr.sbin/sysinst/msg.mi.es: revision 1.18
usr.sbin/sysinst/net.c: revision 1.34
usr.sbin/sysinst/msg.mi.es: revision 1.19
usr.sbin/sysinst/arch/i386/msg.md.pl: revision 1.2
usr.sbin/sysinst/arch/i386/md.c: revision 1.22
usr.sbin/sysinst/msg.mi.fr: revision 1.22
usr.sbin/sysinst/arch/playstation2/msg.md.fr: revision 1.3
usr.sbin/sysinst/arch/i386/msg.md.pl: revision 1.3
usr.sbin/sysinst/arch/i386/md.c: revision 1.23
usr.sbin/sysinst/msg.mi.pl: revision 1.25
usr.sbin/sysinst/msg.mi.fr: revision 1.23
usr.sbin/sysinst/arch/i386/msg.md.pl: revision 1.4
usr.sbin/sysinst/arch/i386/md.c: revision 1.24
usr.sbin/sysinst/partitions.h: revision 1.8
usr.sbin/sysinst/msg.mi.pl: revision 1.26
usr.sbin/sysinst/arch/i386/msg.md.de: revision 1.2
usr.sbin/sysinst/arch/i386/msg.md.de: revision 1.3
usr.sbin/sysinst/arch/i386/msg.md.de: revision 1.4
usr.sbin/sysinst/run.c: revision 1.13
usr.sbin/sysinst/defs.h: revision 1.46
usr.sbin/sysinst/install.c: revision 1.12
usr.sbin/sysinst/defs.h: revision 1.47
usr.sbin/sysinst/install.c: revision 1.13
usr.sbin/sysinst/defs.h: revision 1.48
Add options to the various partitioning stages that allow cloning of
alien partitions (optionally including data).
PR 54467: we trust our own sets, extract them with -P to allow symlink
redirection (especially for updates and chroot services - back out
once a better solution for those is implemented)
Make cloning support optional, so we can save some space on very small
install media.
Drop MBR and cloning support on crunched install media.
Make tar extraction flags depend on our usage of pax-as-tar or bsdtar.
Fix missing newlines in bios match display, pointed out by maxv.
Drop unused variable.
Fix table of bios geomatries
knf style adjustments
Make the bootblock selection menu more sane, pointed out by maxv
Make sure all menus have a translatable exit option (or none at all).
On amd64 support installation with a KASLR kernel, via "custom install"
and selecting the GENERIC_KASLR kernel set.
Setup /prekern and boot.cfg accordingly.
 1.7.2.2 28-Oct-2019  msaitoh Pull up following revision(s) (requested by martin in ticket #382):
usr.sbin/sysinst/part_edit.c: revision 1.10
usr.sbin/sysinst/part_edit.c: revision 1.9
usr.sbin/sysinst/partitions.c: revision 1.3
usr.sbin/sysinst/partitions.c: revision 1.4
usr.sbin/sysinst/partitions.h: revision 1.7
usr.sbin/sysinst/bsddisklabel.c: revision 1.29
usr.sbin/sysinst/disks.c: revision 1.54
Honor the "no_mbr" flag (used especially for raid and xbd devices)
On device where we do not want a MBR (raid, xbd) skip the MBR partitioning
scheme when trying to read partitions from disk. The generic reader will
fall back to disklabel then.
In non-MBR specific files, #ifdef all tests for MBR for architectures
that do not even compile in MBR support.
 1.7.2.1 28-Oct-2019  msaitoh Pull up following revision(s) (requested by martin in ticket #380):
usr.sbin/sysinst/part_edit.c: revision 1.8
When we fail to setup for "all of the disk for NetBSD" report
failure, instead of silently aborting the install.
 1.16.4.2 13-Apr-2020  martin Mostly merge changes from HEAD upto 20200411
 1.16.4.1 27-Jan-2020  martin file part_edit.c was added on branch phil-wifi on 2020-04-13 08:06:00 +0000
 1.13 11-Sep-2021  andvar Add missing double p and d for stopped and overriden accordingly.
Fix few more typos along the way, mainly in copy-pasted comments.
 1.12 06-Nov-2020  martin Fix copy & pasted copyright comments.
 1.11 28-Sep-2020  martin PR 55378: do not assume RAW_PART to be either 2 or 3
 1.10 28-Jan-2020  martin branches: 1.10.4;
Too much disklabel magic happening in the kernel - to compensate force
MBR first when trying to identify the existing partitioning scheme of
a disk.
 1.9 27-Jan-2020  martin Fix support for non-512-byte/sector disks again after I broke it when
introducing the abstract partition backends.
 1.8 15-Dec-2019  martin Reject (what we consider) empty/invalid fake disklabels no matter whether
we have other partitioning schemes available or not.
 1.7 13-Dec-2019  martin When finding (paritioning scheme native) partition types for file systems
from our install description, pass the partition type (not only the file
system type). Sometimes (e.g. EFI boot partition on GPT) the filesystem
type (MSDOS) is not a unique selector.
 1.6 09-Dec-2019  martin PR install/54582: allow MD code to disable on-disk presence verification
of "real" disklabels. Auto-enable this (at run time) when there is no other
partitioning scheme but disklabel configured.
Hard-coded enable this for x68k to allow using kernel based translations
for native Human68k partitions.
 1.5 12-Nov-2019  martin Add options to the various partitioning stages that allow cloning of
alien partitions (optionally including data).
 1.4 26-Oct-2019  martin In non-MBR specific files, #ifdef all tests for MBR for architectures
that do not even compile in MBR support.
 1.3 25-Oct-2019  martin On device where we do not want a MBR (raid, xbd) skip the MBR partitioning
scheme when trying to read partitions from disk. The generic reader will
fall back to disklabel then.
 1.2 14-Aug-2019  martin On architectures that usually do MBR/disklabel, nevertheless deal with
pure/plain disklabel disks, and explicitly offer this as partitioning
option when bootability is not a concern.
 1.1 12-Jun-2019  martin branches: 1.1.2;
Rework internal data structures and "interfaces to user interface" functions
to get rid of all disklabel assumptions.

Previously (even for GPT partitioning) struct disklabel was used, which
obviously breaks large disk setups. Also many MD parts and parts of the
user interface assumed (a) a struct disklabel is used internally to
store partitioning information and (b) partitions are named 'a' ... $MAXPART.

Get rid of this and replace it with a quite abstract interface that should
be able to deal with all variants in partition storage:

- partitions are stored in a (partly abstract) struct disk_partitions
and most parts of it are only accessed via accessor functions provided
by a "partitioning scheme".

- implement partitioning schemes for MBR, disklabel and GPT (with likely
RDB [amiga] and Apple Partition Map [mac*] to follow soon)

- partitioning schemes may be cascaded, e.g. on x86 when using MBR as
"outer partitions", we have disklabel as "inner partitions".

- all user interface goes via accessor functions in the partitioning scheme,
some of which return pointers to special user interface descriptors
(e.g. to allow editing partition flags, which are scheme specific)

Overall the user interface changes (in this initial step) are minimal but
noticable. A new Anita is needed for automatic test setups - many thanks
to Andreas Gustafsson for lots of early testing and a new Anita version,
and to Manuel Bouyer for cooperation and tests of the Anita release.

This work was sponsored by The NetBSD Foundation, Inc.
 1.1.2.6 15-Oct-2020  bouyer Pull up following revision(s) (requested by martin in ticket #1113):
usr.sbin/sysinst/bsddisklabel.c: revision 1.46
usr.sbin/sysinst/bsddisklabel.c: revision 1.47
usr.sbin/sysinst/disklabel.c: revision 1.40
usr.sbin/sysinst/arch/cobalt/md.c: revision 1.13
usr.sbin/sysinst/bsddisklabel.c: revision 1.48
usr.sbin/sysinst/disklabel.c: revision 1.41
usr.sbin/sysinst/arch/cobalt/md.c: revision 1.14
usr.sbin/sysinst/bsddisklabel.c: revision 1.49
usr.sbin/sysinst/disklabel.c: revision 1.42
usr.sbin/sysinst/Makefile.inc: revision 1.34
usr.sbin/sysinst/disks.c: revision 1.70
usr.sbin/sysinst/arch/hp300/md.c: revision 1.11
usr.sbin/sysinst/disks.c: revision 1.71
usr.sbin/sysinst/arch/i386/md.h: revision 1.8
usr.sbin/sysinst/arch/arc/md.c: revision 1.13
usr.sbin/sysinst/mbr.h: revision 1.5
usr.sbin/sysinst/mbr.h: revision 1.6
usr.sbin/sysinst/arch/mac68k/md.c: revision 1.10
usr.sbin/sysinst/bsddisklabel.c: revision 1.50
usr.sbin/sysinst/arch/acorn32/md.c: revision 1.7
usr.sbin/sysinst/bsddisklabel.c: revision 1.51
usr.sbin/sysinst/bsddisklabel.c: revision 1.52
usr.sbin/sysinst/bsddisklabel.c: revision 1.53
usr.sbin/sysinst/bsddisklabel.c: revision 1.54
usr.sbin/sysinst/bsddisklabel.c: revision 1.55
usr.sbin/sysinst/bsddisklabel.c: revision 1.56
usr.sbin/sysinst/arch/dummy/md.c: revision 1.6
usr.sbin/sysinst/arch/amd64/md.h: revision 1.9
usr.sbin/sysinst/arch/evbsh3/md.c: revision 1.6
usr.sbin/sysinst/arch/sparc/md.c: revision 1.6
usr.sbin/sysinst/arch/zaurus/md.c: revision 1.10
usr.sbin/sysinst/arch/x68k/md.c: revision 1.11
usr.sbin/sysinst/arch/sandpoint/md.c: revision 1.9
usr.sbin/sysinst/arch/vax/md.c: revision 1.7
usr.sbin/sysinst/arch/luna68k/md.c: revision 1.9
usr.sbin/sysinst/gpt.c: revision 1.19
usr.sbin/sysinst/arch/i386/md.c: revision 1.31
usr.sbin/sysinst/arch/i386/md.c: revision 1.32
usr.sbin/sysinst/arch/evbarm/md.c: revision 1.17
usr.sbin/sysinst/arch/evbarm/md.c: revision 1.18
usr.sbin/sysinst/arch/evbarm/md.c: revision 1.19
usr.sbin/sysinst/arch/shark/md.c: revision 1.6
usr.sbin/sysinst/arch/landisk/md.c: revision 1.14
usr.sbin/sysinst/util.c: revision 1.43
usr.sbin/sysinst/gpt.c: revision 1.20
usr.sbin/sysinst/util.c: revision 1.44
usr.sbin/sysinst/gpt.c: revision 1.21
usr.sbin/sysinst/gpt.c: revision 1.22
usr.sbin/sysinst/arch/evbarm/msg.md.en: revision 1.2
usr.sbin/sysinst/arch/ofppc/md.c: revision 1.11
usr.sbin/sysinst/util.c: revision 1.46
usr.sbin/sysinst/arch/ofppc/md.c: revision 1.12
usr.sbin/sysinst/util.c: revision 1.47
usr.sbin/sysinst/arch/evbarm/md.h: revision 1.6
usr.sbin/sysinst/util.c: revision 1.48
usr.sbin/sysinst/arch/evbarm/md.h: revision 1.7
usr.sbin/sysinst/arch/evbmips/md.c: revision 1.9
usr.sbin/sysinst/msg.mi.fr: revision 1.28
usr.sbin/sysinst/msg.mi.fr: revision 1.29
usr.sbin/sysinst/arch/sgimips/md.c: revision 1.9
usr.sbin/sysinst/arch/evbarm/Makefile: revision 1.3
usr.sbin/sysinst/msg.mi.de: revision 1.23
usr.sbin/sysinst/arch/hpcsh/md.c: revision 1.10
usr.sbin/sysinst/msg.mi.de: revision 1.24
usr.sbin/sysinst/install.c: revision 1.15
usr.sbin/sysinst/install.c: revision 1.16
usr.sbin/sysinst/arch/sparc64/md.c: revision 1.6
usr.sbin/sysinst/install.c: revision 1.17
usr.sbin/sysinst/install.c: revision 1.18
usr.sbin/sysinst/partitions.h: revision 1.16
usr.sbin/sysinst/install.c: revision 1.19
usr.sbin/sysinst/partitions.h: revision 1.17
usr.sbin/sysinst/arch/evbppc/md.c: revision 1.9
usr.sbin/sysinst/arch/playstation2/md.c: revision 1.9
usr.sbin/sysinst/partitions.h: revision 1.18
usr.sbin/sysinst/arch/hpcarm/md.c: revision 1.9
usr.sbin/sysinst/partitions.h: revision 1.19
usr.sbin/sysinst/msg.mi.es: revision 1.24
usr.sbin/sysinst/msg.mi.es: revision 1.25
usr.sbin/sysinst/msg.mi.es: revision 1.26
usr.sbin/sysinst/arch/zaurus/md.c: revision 1.9
usr.sbin/sysinst/target.c: revision 1.13
usr.sbin/sysinst/target.c: revision 1.14
usr.sbin/sysinst/part_edit.c: revision 1.17
usr.sbin/sysinst/part_edit.c: revision 1.18
usr.sbin/sysinst/msg.mi.fr: revision 1.30
usr.sbin/sysinst/arch/mvme68k/md.c: revision 1.11
usr.sbin/sysinst/part_edit.c: revision 1.19
usr.sbin/sysinst/msg.mi.fr: revision 1.31
usr.sbin/sysinst/arch/alpha/md.c: revision 1.9
usr.sbin/sysinst/msg.mi.en: revision 1.30
usr.sbin/sysinst/defs.h: revision 1.56
usr.sbin/sysinst/msg.mi.en: revision 1.31
usr.sbin/sysinst/defs.h: revision 1.57
usr.sbin/sysinst/msg.mi.en: revision 1.32
usr.sbin/sysinst/arch/amiga/md.c: revision 1.6
usr.sbin/sysinst/arch/hpcmips/md.c: revision 1.9
usr.sbin/sysinst/defs.h: revision 1.58
usr.sbin/sysinst/arch/cats/md.c: revision 1.5
usr.sbin/sysinst/defs.h: revision 1.59
usr.sbin/sysinst/arch/newsmips/md.c: revision 1.6
usr.sbin/sysinst/arch/pmax/md.c: revision 1.8
usr.sbin/sysinst/arch/mipsco/md.c: revision 1.8
usr.sbin/sysinst/part_edit.c: revision 1.20
usr.sbin/sysinst/part_edit.c: revision 1.21
usr.sbin/sysinst/arch/macppc/md.c: revision 1.6
usr.sbin/sysinst/part_edit.c: revision 1.22
usr.sbin/sysinst/part_edit.c: revision 1.23
usr.sbin/sysinst/part_edit.c: revision 1.24
usr.sbin/sysinst/defs.h: revision 1.60
usr.sbin/sysinst/arch/mac68k/Makefile: revision 1.3
usr.sbin/sysinst/defs.h: revision 1.61
usr.sbin/sysinst/defs.h: revision 1.63
usr.sbin/sysinst/defs.h: revision 1.64
usr.sbin/sysinst/defs.h: revision 1.65
usr.sbin/sysinst/label.c: revision 1.21
usr.sbin/sysinst/defs.h: revision 1.66
usr.sbin/sysinst/label.c: revision 1.22
usr.sbin/sysinst/defs.h: revision 1.67
usr.sbin/sysinst/label.c: revision 1.23
usr.sbin/sysinst/label.c: revision 1.24
usr.sbin/sysinst/label.c: revision 1.25
usr.sbin/sysinst/label.c: revision 1.26
usr.sbin/sysinst/label.c: revision 1.27
usr.sbin/sysinst/msg.mi.pl: revision 1.31
usr.sbin/sysinst/label.c: revision 1.28
usr.sbin/sysinst/msg.mi.pl: revision 1.32
usr.sbin/sysinst/label.c: revision 1.29
usr.sbin/sysinst/arch/atari/md.c: revision 1.7
usr.sbin/sysinst/disklabel.c: revision 1.36
usr.sbin/sysinst/disklabel.c: revision 1.37
usr.sbin/sysinst/disklabel.c: revision 1.38
usr.sbin/sysinst/disklabel.c: revision 1.39
usr.sbin/sysinst/arch/bebox/md.c: revision 1.9
usr.sbin/sysinst/mbr.c: revision 1.32
usr.sbin/sysinst/disks.c: revision 1.66
usr.sbin/sysinst/mbr.c: revision 1.33
usr.sbin/sysinst/disks.c: revision 1.67
usr.sbin/sysinst/mbr.c: revision 1.34
usr.sbin/sysinst/arch/emips/md.c: revision 1.9
usr.sbin/sysinst/disks.c: revision 1.68
usr.sbin/sysinst/partitions.c: revision 1.11
usr.sbin/sysinst/mbr.c: revision 1.35
usr.sbin/sysinst/disks.c: revision 1.69
usr.sbin/sysinst/mbr.c: revision 1.36
usr.sbin/sysinst/arch/hppa/md.c: revision 1.8
usr.sbin/sysinst/arch/prep/md.c: revision 1.13
usr.sbin/sysinst/label.c: revision 1.30
usr.sbin/sysinst/arch/ews4800mips/md.c: revision 1.7
usr.sbin/sysinst/main.c: revision 1.21
usr.sbin/sysinst/main.c: revision 1.22
usr.sbin/sysinst/main.c: revision 1.23
usr.sbin/sysinst/bsddisklabel.c: revision 1.40
usr.sbin/sysinst/main.c: revision 1.24
usr.sbin/sysinst/arch/cobalt/md.h: revision 1.6
usr.sbin/sysinst/bsddisklabel.c: revision 1.41
usr.sbin/sysinst/main.c: revision 1.25
usr.sbin/sysinst/arch/news68k/md.c: revision 1.7
usr.sbin/sysinst/bsddisklabel.c: revision 1.42
usr.sbin/sysinst/bsddisklabel.c: revision 1.43
usr.sbin/sysinst/bsddisklabel.c: revision 1.44
usr.sbin/sysinst/bsddisklabel.c: revision 1.45
Use strlcpy in a few places to guarnatee 0-terminated strings
Rever previous: the d_packname in struct disklabel is not NUL terminated.
Disable the warning instead.
Do not force -Os optimization (unless SMALLPROG)
Remove unused "rel" global variable and make the -r option a no-op.
PR 55045: strlcpy(NULL, ..., 0) considered harmfull in some implementations.
PR misc/54886: bump threshold for automatic/default creation of a tmpfs /tmp
up slightly (to 384 MB ram). This will make sure the default install has
a > 64 MB /tmp available (number pulled out of thin air, 64 MB is the minimum
required by the ZFS tests).
Don't depend on common symbol definitions.
boardype should not be common.
Redo the root-size-limit check again after we grew the root partition
for kernel dumps. Auto-enable the /usr partition if it overflows.
For all non-root partitions, default to FFSv2.
When extending a partition (to fill the total disk size) do respect
size limits.
Do not suggest a size limited partition for extension by default.
Minor tweak to previous: when forcing a /usr partition just to have an
arbitrary extendable partition, still use its default size initially.
At the end of a new installation save entropy.
Ooops, backout previous - twice the entropy saving is not needed.
Instead slightly improve the (slightly) hidden other code that already
did it.
PR 55202: disable swapping if we started it due to low ram
it's "its"
Remove "If you booted from a floppy" message
Set HAVE_INSTALL_IMAGE for evbarm
Change mountpoint of boot ext2fs from /stand to /ext2 to avoid conflict.
Should be pulled up to netbsd-9, with fixes of PR/55060.
MBR type for Ext2 should be MBR_PTYPE_LNXEXT2, not MBR_PTYPE_FAT12.
Silence -Wstringop-truncation for ``name'' in disp_selected_part().
This variable is used only for display, and truncation seems harmless.
PR 55572: avoid crash when answering the mount point prompt for a previously
empty mount point with an emptry sting.
When adding a new partition in the concrete partition editor, make sure
to set a pointer to the partition table interface in the new entry.
Otherwise we may end up not writing back the partitions at all, leading
to further fallout later.
Receipe to reproduce the issue from Frederic Fauberteau, thanks!
In the concrete partitions editor, after deleting the last partition move
the menu selection to the "add a partition" entry (instead of the sentinel
line which is not an active menu entry).
Typo in comment
Keep a list of all partition tables from which we have deleted partitions
and make sure we update those partition tables when writing partitions,
even if no install related partition remains on them.
Fix display of timezone selection menu
If there is no current partitioning manager assume we are editing the
current system and make target_already_root() return true.
Fixes various fallout when using sysinst post installation.
PR 55377: mark boot partitions in the partition size display, as suggested
by Izumi Tsutsui (minor modifications + all bugs by me)
PR 55378: do not assume RAW_PART to be either 2 or 3
PR 55379: avoid creating bogus /etc/fstab lines for /dev/cd* if no
cdrom is available.
PR 55381: try to deal with moved (but not yet saved) partitions when
calculating free space
Apply patch provided by Izumi Tsutsui in PR 55382: make ext2 partitions
show up in the outer (MBR) partition table, needed for example on Cobalt
where firmware boots from that partition.
PR 55384: detangle pm->ptstart from the "install" flag (selecting a
target partition). Instead introduce a new PTI_INSTALL_TARGET per partition
flag and deal with it in the partitioning backends.
Honour pm->ptstart when allocating new partitions - it is supposed to be
the first sector usable by NetBSD.
If we have no explicitly marke target root partition, make sure to set
the proper flag on the implicit one.
When merging existing partitions with desired target system layout
information, only force the "mount" flag if the existing partitions
has a valid mount point.
Add a heuristic to detect and properly mark EFI system partitions
when re-using pre-existing partitions.
When MD code requests a reserved area (at the start of the disk)
make sure to properly account for the "lost" space during all calculations
and especially when expanding the main partition to fill the disk.
Avoid using the global "pm" or a passed device descriptons when we are
passing disk limits explicitly anyway.
Simplify/fix a few rounding calculations.
When creating new partitions for "full disk" use, pass a install target
hint to the partitioning backend (for the outer NetBSD partition).
Use an install target hint to mark a new partition active.
When compiled with BOOTSEL support, also name the new partition "NetBSD".
Remove more pm->ptstart abuse - calculate values localy where needed
instead.
Fix editing start and size of not yet existing outer partitions.
Previously we abused pm->ptstart / pm->ptsize to pass the bounds of the
NetBSD outer partition to the inner partition editor - but now this is
not a valid assumption any more, so explicitly fix the bounds if an
outer partition exists.
Remove very strange code that special-cased MSDOS file systems and refused
to newfs the partition (despite explicit request to do so) if it was
mountable.
Accidently carried over from a dim and distant past, before we had
fsck_newfs.
PR 55536: when we find existing partition tables and have alternative
formats available, offer to delete partitions and create new ones from
scratch (in some other or the same on-disk format).
Minor fix to previous: fix condition when we offer the partition type
switch - it makes sense even if the disk is partitioned but has no valid
partitions.
Before forcing MBR partitions into our disklabel, make sure they are not
there yet - could happen in various paths when reusing existing partitions
(or parts of that) - previously we would blindly duplicate identical
partitions.
Ooops, part of previous was not meant to be included yet
When renumbering partitions (after deletions) be slightly more lax
in matching, to cope with differences between MBR EFI partitions and
disklabel MSDOS partitions.
PR 55142: on popular demand bring back expert options to adjust the
number of free inodes, block size and fragment size for FFS and LFS.
Fix copy & pasto noticed by Jason Mitchell: change the type of a GPT
partition via "gpt type" - not "gpt label".
Fix copy & pasto (missing "again" label)
Remove dead code
Move MBR writing (if any) post disklabel writing, otherwise strange
interactions happen.
Properly convert partition default sizes in MB to number of sectors
 1.1.2.5 28-Jan-2020  msaitoh Pull up following revision(s) (requested by martin in ticket #668):
usr.sbin/sysinst/arch/cobalt/md.c: revision 1.11
usr.sbin/sysinst/arch/cobalt/md.c: revision 1.12
usr.sbin/sysinst/arch/arc/md.c: revision 1.11
usr.sbin/sysinst/arch/arc/md.c: revision 1.12
usr.sbin/sysinst/partman.c: revision 1.43
usr.sbin/sysinst/partman.c: revision 1.46
usr.sbin/sysinst/partman.c: revision 1.47
usr.sbin/sysinst/partman.c: revision 1.48
usr.sbin/sysinst/partman.c: revision 1.49
usr.sbin/sysinst/msg.pm.fr: revision 1.2
usr.sbin/sysinst/upgrade.c: revision 1.14
usr.sbin/sysinst/arch/i386/md.c: revision 1.28
usr.sbin/sysinst/arch/i386/md.c: revision 1.29
usr.sbin/sysinst/arch/ofppc/md.c: revision 1.9
usr.sbin/sysinst/arch/sandpoint/md.c: revision 1.7
usr.sbin/sysinst/arch/sandpoint/md.c: revision 1.8
usr.sbin/sysinst/gpt.c: revision 1.14
usr.sbin/sysinst/gpt.c: revision 1.15
usr.sbin/sysinst/arch/luna68k/md.c: revision 1.8
usr.sbin/sysinst/gpt.c: revision 1.16
usr.sbin/sysinst/msg.pm.de: revision 1.2
usr.sbin/sysinst/arch/evbarm/md.c: revision 1.11
usr.sbin/sysinst/arch/evbarm/md.c: revision 1.12
usr.sbin/sysinst/arch/evbarm/md.c: revision 1.13
usr.sbin/sysinst/arch/evbarm/md.c: revision 1.14
usr.sbin/sysinst/sizemultname.c: revision 1.4
usr.sbin/sysinst/msg.pm.en: revision 1.2
usr.sbin/sysinst/arch/landisk/md.c: revision 1.12
usr.sbin/sysinst/util.c: revision 1.41
usr.sbin/sysinst/arch/landisk/md.c: revision 1.13
usr.sbin/sysinst/util.c: revision 1.42
usr.sbin/sysinst/arch/ofppc/md.c: revision 1.10
usr.sbin/sysinst/partitions.c: revision 1.9
usr.sbin/sysinst/arch/evbarm/md.h: revision 1.4
usr.sbin/sysinst/arch/evbarm/md.h: revision 1.5
usr.sbin/sysinst/arch/evbmips/md.c: revision 1.7
usr.sbin/sysinst/arch/evbmips/md.c: revision 1.8
usr.sbin/sysinst/msg.mi.fr: revision 1.25
usr.sbin/sysinst/msg.mi.de: revision 1.20
usr.sbin/sysinst/install.c: revision 1.14
usr.sbin/sysinst/partitions.h: revision 1.13
usr.sbin/sysinst/partitions.h: revision 1.14
usr.sbin/sysinst/arch/evbppc/md.c: revision 1.7
usr.sbin/sysinst/arch/playstation2/md.c: revision 1.7
usr.sbin/sysinst/msg.mi.en: revision 1.27
usr.sbin/sysinst/partitions.h: revision 1.15
usr.sbin/sysinst/arch/evbppc/md.c: revision 1.8
usr.sbin/sysinst/arch/hpcarm/md.c: revision 1.7
usr.sbin/sysinst/arch/playstation2/md.c: revision 1.8
usr.sbin/sysinst/msg.pm.pl: revision 1.2
usr.sbin/sysinst/arch/hpcarm/md.c: revision 1.8
usr.sbin/sysinst/msg.mi.es: revision 1.21
usr.sbin/sysinst/arch/zaurus/md.c: revision 1.7
usr.sbin/sysinst/target.c: revision 1.11
usr.sbin/sysinst/arch/zaurus/md.c: revision 1.8
usr.sbin/sysinst/part_edit.c: revision 1.14
usr.sbin/sysinst/part_edit.c: revision 1.15
usr.sbin/sysinst/part_edit.c: revision 1.16
usr.sbin/sysinst/defs.h: revision 1.50
usr.sbin/sysinst/defs.h: revision 1.51
usr.sbin/sysinst/defs.h: revision 1.52
usr.sbin/sysinst/defs.h: revision 1.53
usr.sbin/sysinst/defs.h: revision 1.54
usr.sbin/sysinst/arch/hpcmips/md.c: revision 1.7
usr.sbin/sysinst/arch/hpcmips/md.c: revision 1.8
usr.sbin/sysinst/arch/hpcsh/md.c: revision 1.8
usr.sbin/sysinst/msg.pm.es: revision 1.2
usr.sbin/sysinst/arch/hpcsh/md.c: revision 1.9
usr.sbin/sysinst/label.c: revision 1.18
usr.sbin/sysinst/label.c: revision 1.19
usr.sbin/sysinst/net.c: revision 1.35
usr.sbin/sysinst/msg.mi.pl: revision 1.28
usr.sbin/sysinst/disklabel.c: revision 1.28
usr.sbin/sysinst/disklabel.c: revision 1.29
usr.sbin/sysinst/mbr.c: revision 1.24
usr.sbin/sysinst/disks.c: revision 1.59
usr.sbin/sysinst/mbr.c: revision 1.25
usr.sbin/sysinst/mbr.c: revision 1.26
usr.sbin/sysinst/mbr.c: revision 1.27
usr.sbin/sysinst/mbr.c: revision 1.28
usr.sbin/sysinst/label.c: revision 1.20
usr.sbin/sysinst/mbr.c: revision 1.29
usr.sbin/sysinst/bsddisklabel.c: revision 1.34
usr.sbin/sysinst/bsddisklabel.c: revision 1.35
usr.sbin/sysinst/bsddisklabel.c: revision 1.36
usr.sbin/sysinst/bsddisklabel.c: revision 1.37
usr.sbin/sysinst/disklabel.c: revision 1.30
usr.sbin/sysinst/bsddisklabel.c: revision 1.38
usr.sbin/sysinst/disklabel.c: revision 1.31
usr.sbin/sysinst/disklabel.c: revision 1.32
usr.sbin/sysinst/disklabel.c: revision 1.33
usr.sbin/sysinst/disklabel.c: revision 1.34
usr.sbin/sysinst/disks.c: revision 1.60
usr.sbin/sysinst/disks.c: revision 1.61
usr.sbin/sysinst/arch/bebox/md.c: revision 1.7
usr.sbin/sysinst/disks.c: revision 1.62
usr.sbin/sysinst/arch/bebox/md.c: revision 1.8
usr.sbin/sysinst/mbr.c: revision 1.30
usr.sbin/sysinst/partitions.c: revision 1.10
usr.sbin/sysinst/arch/prep/md.c: revision 1.11
usr.sbin/sysinst/arch/prep/md.c: revision 1.12
usr.sbin/sysinst/menus.pm: revision 1.3
usr.sbin/sysinst/main.c: revision 1.20
usr.sbin/sysinst/menus.mi: revision 1.20
usr.sbin/sysinst/menus.mi: revision 1.21
avoid calling snprintf/strlcat with an input parameter the same
as the output. from martin@. fixes gcc 8 restrict warnings.
Finish conversion of extended partitioning parts to new abstract
backend interface. XXX still could use a lot of polishing.
Instead of a (bogus) attempt to query the model via ofctl, use the (now
fixed) sysctl hw.model instead.
When reading the secondary disklabel partitions from an existing disklabel
set the mbr partitions as parent.
Move the LABELSECTOR check and make it FS type specific - some partition
types (FFS, RAID) are allowed to overlap with the LABELSECTOR.
When asked to create a whole-disk partition for unknown usage, do not only
assert(false), but actually return an error (in case "assert" is a nop).
PR install/54787: when trying to derive proper alignement and first offset
from exisiting partitions, use the first partition offset if it is already
closer to the start of the disk than the prefered alignment - we can not
move existing partitions around.
Fix handling of inner/outer partitions (e.g. MBR and disklabel) in
extended partitioning:
- when editing a disk with such a schme, offer both partitions in two
steps
- when commiting changes save the inner partitions after the outer ones
Add a method to query the partitioning schemes "internal idea" of a
cylinder size - whatever that means in the real world.
Avoid using the global "pm" variable in utility functions - during
extended partitioning they may point to a different device.
Remove useless calls to get_ramsize() - return value is ignored and
the function has no side effects.
Fix /tmp tmpfs handling and on machines with enough RAM default to
creating a /tmp tmpfs with 25% of ram size limit. Suggested by ad@.
PR install/54872: fix printf argument order, sectors and heads were
swapped in the bios geometry display.
First try to bring evbarm installation closer to current reality.
hide disklabel_non_bootable() under NO_DISKLABEL_BOOT like the usage.
should fix most builds.
Deal with even stranger fictious empty disklabels (PR kern/54882).
Factor out all RAM size thresholds as defines to avoid magic numbers.
To work around PR misc/54886 bump the threshold for a tmpfs /tmp mount
up to 256 MB.
When retrying sets during extraction, reset the relevant statistics
to avoid counting retried sets multiple times.
Reported by kim.
Fix support for non-512-byte/sector disks again after I broke it when
introducing the abstract partition backends.
Use a few strlcpy() instead of strncpy() for network ioctl structs.
We seem to have no formal documentation stating the various
char if*_name[IFNAMSIZ]; /* if name, e.g. "en0" */
elements in ioctls are nul terminated, but the peanut gallery claims
it is so - and at least half of the code in-tree touching them agrees.
Too much disklabel magic happening in the kernel - to compensate force
MBR first when trying to identify the existing partitioning scheme of
a disk.
 1.1.2.4 17-Dec-2019  msaitoh Pull up following revision(s) (requested by martin in ticket #560):
usr.sbin/sysinst/partitions.h: revision 1.11
usr.sbin/sysinst/defs.h: revision 1.49
usr.sbin/sysinst/mbr.c: revision 1.23
usr.sbin/sysinst/msg.mi.en: revision 1.26
usr.sbin/sysinst/disks.c: revision 1.58
usr.sbin/sysinst/arch/evbarm/menus.md.pl: revision 1.2
usr.sbin/sysinst/msg.mi.es: revision 1.20
usr.sbin/sysinst/arch/mvme68k/md.c: revision 1.9
usr.sbin/sysinst/gpt.c: revision 1.13
usr.sbin/sysinst/arch/evbarm/md.c: revision 1.10
usr.sbin/sysinst/arch/arc/md.c: revision 1.10
usr.sbin/sysinst/disklabel.c: revision 1.18
usr.sbin/sysinst/bsddisklabel.c: revision 1.33
usr.sbin/sysinst/disklabel.c: revision 1.19
usr.sbin/sysinst/main.c: revision 1.19
usr.sbin/sysinst/partman.c: revision 1.45
usr.sbin/sysinst/arch/alpha/md.c: revision 1.7
usr.sbin/sysinst/msg.mi.de: revision 1.19
usr.sbin/sysinst/arch/evbarm/menus.md.en: revision 1.2
usr.sbin/sysinst/arch/x68k/md.h: revision 1.4
usr.sbin/sysinst/arch/x68k/md.c: revision 1.9
usr.sbin/sysinst/arch/evbarm/menus.md.es: revision 1.2
usr.sbin/sysinst/wskbd.c: revision 1.4
usr.sbin/sysinst/label.c: revision 1.15
usr.sbin/sysinst/arch/amiga/md.h: revision 1.5
usr.sbin/sysinst/label.c: revision 1.16
usr.sbin/sysinst/arch/hp300/md.c: revision 1.9
usr.sbin/sysinst/arch/emips/md.c: revision 1.8
usr.sbin/sysinst/label.c: revision 1.17
usr.sbin/sysinst/arch/pmax/md.c: revision 1.7
usr.sbin/sysinst/partitions.c: revision 1.6
usr.sbin/sysinst/arch/prep/md.c: revision 1.10
usr.sbin/sysinst/arch/mipsco/md.c: revision 1.7
usr.sbin/sysinst/partitions.c: revision 1.7
usr.sbin/sysinst/partitions.c: revision 1.8
usr.sbin/sysinst/arch/ews4800mips/md.c: revision 1.5
usr.sbin/sysinst/disklabel.c: revision 1.20
usr.sbin/sysinst/arch/evbarm/menus.md.fr: revision 1.2
usr.sbin/sysinst/msg.mi.fr: revision 1.24
usr.sbin/sysinst/disklabel.c: revision 1.21
usr.sbin/sysinst/partitions.h: revision 1.9
usr.sbin/sysinst/msg.mi.pl: revision 1.27
usr.sbin/sysinst/disklabel.c: revision 1.22
usr.sbin/sysinst/disklabel.c: revision 1.23
usr.sbin/sysinst/arch/i386/md.c: revision 1.27
usr.sbin/sysinst/disklabel.c: revision 1.24
usr.sbin/sysinst/disklabel.c: revision 1.25
usr.sbin/sysinst/arch/cobalt/md.h: revision 1.5
usr.sbin/sysinst/disklabel.c: revision 1.26
usr.sbin/sysinst/disklabel.c: revision 1.27
usr.sbin/sysinst/partitions.h: revision 1.10
usr.sbin/sysinst/arch/cobalt/md.c: revision 1.10
PR install/54582: allow MD code to disable on-disk presence verification
of "real" disklabels. Auto-enable this (at run time) when there is no other
partitioning scheme but disklabel configured.
Hard-coded enable this for x68k to allow using kernel based translations
for native Human68k partitions.
Get rid of the evbarm preliminary menu: do not bother to ask the user
whether this is a RPi - query the FDT instead.
PR 54065: add optional "old compat" variant of ext2fs in file system
type selection and use that as default for the cobalt boot file system.
For now rely on the kernel mapping native RDB partitions.
Fix detection of existing disklabels in the case when we only have
the disklabel partitioning scheme available.
Fix DISKLABEL_NO_ONDISK_VERIFY (accidently disabled in previous)
Fix inverted comparison
Do not try to change the keyboard layout if we are not running on the
console.
When trying to tell a fictious but empty label from a real one, skip
partition a if it has the same start and size as the raw partition.
Remove bogus assert.
When finding (paritioning scheme native) partition types for file systems
from our install description, pass the partition type (not only the file
system type). Sometimes (e.g. EFI boot partition on GPT) the filesystem
type (MSDOS) is not a unique selector.
Adapt MD parts to changes in get_fs_part_type (pass partition type).
If a fictious label has no RAW_PART assume there is no valid disk label.
Pass proper track size when initializing the default alignment - this is
important with sunlabels.
Fix overlapping partitions display
Reject (what we consider) empty/invalid fake disklabels no matter whether
we have other partitioning schemes available or not.
Do not show disklabel command invocation by default (only if there are
errors).
After installing boot blocks with RUN_NO_CLEAR (and handling the
potential errors) make sure to clear the stdscreen.
 1.1.2.3 17-Nov-2019  msaitoh Pull up following revision(s) (requested by martin in ticket #436):
usr.sbin/sysinst/disks.c: revision 1.55
usr.sbin/sysinst/msg.mi.en: revision 1.24
usr.sbin/sysinst/mbr.c: revision 1.22
usr.sbin/sysinst/disks.c: revision 1.56
usr.sbin/sysinst/msg.mi.en: revision 1.25
usr.sbin/sysinst/disks.c: revision 1.57
usr.sbin/sysinst/arch/playstation2/msg.md.pl: revision 1.3
usr.sbin/sysinst/Makefile.inc: revision 1.30
usr.sbin/sysinst/configmenu.c: revision 1.11
usr.sbin/sysinst/util.c: revision 1.35
usr.sbin/sysinst/gpt.c: revision 1.12
usr.sbin/sysinst/util.c: revision 1.36
usr.sbin/sysinst/arch/playstation2/msg.md.de: revision 1.3
usr.sbin/sysinst/arch/i386/menus.md: revision 1.3
usr.sbin/sysinst/util.c: revision 1.37
usr.sbin/sysinst/part_edit.c: revision 1.11
usr.sbin/sysinst/arch/i386/msg.md.en: revision 1.2
usr.sbin/sysinst/util.c: revision 1.38
usr.sbin/sysinst/part_edit.c: revision 1.12
usr.sbin/sysinst/arch/i386/msg.md.en: revision 1.3
usr.sbin/sysinst/util.c: revision 1.39
usr.sbin/sysinst/part_edit.c: revision 1.13
usr.sbin/sysinst/arch/i386/msg.md.en: revision 1.4
usr.sbin/sysinst/disklabel.c: revision 1.15
usr.sbin/sysinst/bsddisklabel.c: revision 1.30
usr.sbin/sysinst/arch/i386/msg.md.es: revision 1.2
usr.sbin/sysinst/bsddisklabel.c: revision 1.31
usr.sbin/sysinst/arch/i386/msg.md.es: revision 1.3
usr.sbin/sysinst/arch/i386/msg.md.es: revision 1.4
usr.sbin/sysinst/mbr.h: revision 1.4
usr.sbin/sysinst/main.c: revision 1.18
usr.sbin/sysinst/partman.c: revision 1.44
usr.sbin/sysinst/msg.mi.de: revision 1.17
usr.sbin/sysinst/arch/i386/msg.md.fr: revision 1.2
usr.sbin/sysinst/msg.mi.de: revision 1.18
usr.sbin/sysinst/arch/i386/msg.md.fr: revision 1.3
usr.sbin/sysinst/arch/playstation2/msg.md.en: revision 1.3
usr.sbin/sysinst/arch/i386/msg.md.fr: revision 1.4
usr.sbin/sysinst/arch/amd64/md.c: revision 1.2
usr.sbin/sysinst/arch/ews4800mips/Makefile: revision 1.3
usr.sbin/sysinst/arch/playstation2/msg.md.es: revision 1.3
usr.sbin/sysinst/label.c: revision 1.13
usr.sbin/sysinst/Makefile.inc: revision 1.29
usr.sbin/sysinst/label.c: revision 1.14
usr.sbin/sysinst/util.c: revision 1.40
usr.sbin/sysinst/partitions.c: revision 1.5
usr.sbin/sysinst/arch/amd64/md.h: revision 1.8
usr.sbin/sysinst/msg.mi.es: revision 1.18
usr.sbin/sysinst/net.c: revision 1.34
usr.sbin/sysinst/msg.mi.es: revision 1.19
usr.sbin/sysinst/arch/i386/msg.md.pl: revision 1.2
usr.sbin/sysinst/arch/i386/md.c: revision 1.22
usr.sbin/sysinst/msg.mi.fr: revision 1.22
usr.sbin/sysinst/arch/playstation2/msg.md.fr: revision 1.3
usr.sbin/sysinst/arch/i386/msg.md.pl: revision 1.3
usr.sbin/sysinst/arch/i386/md.c: revision 1.23
usr.sbin/sysinst/msg.mi.pl: revision 1.25
usr.sbin/sysinst/msg.mi.fr: revision 1.23
usr.sbin/sysinst/arch/i386/msg.md.pl: revision 1.4
usr.sbin/sysinst/arch/i386/md.c: revision 1.24
usr.sbin/sysinst/partitions.h: revision 1.8
usr.sbin/sysinst/msg.mi.pl: revision 1.26
usr.sbin/sysinst/arch/i386/msg.md.de: revision 1.2
usr.sbin/sysinst/arch/i386/msg.md.de: revision 1.3
usr.sbin/sysinst/arch/i386/msg.md.de: revision 1.4
usr.sbin/sysinst/run.c: revision 1.13
usr.sbin/sysinst/defs.h: revision 1.46
usr.sbin/sysinst/install.c: revision 1.12
usr.sbin/sysinst/defs.h: revision 1.47
usr.sbin/sysinst/install.c: revision 1.13
usr.sbin/sysinst/defs.h: revision 1.48
Add options to the various partitioning stages that allow cloning of
alien partitions (optionally including data).
PR 54467: we trust our own sets, extract them with -P to allow symlink
redirection (especially for updates and chroot services - back out
once a better solution for those is implemented)
Make cloning support optional, so we can save some space on very small
install media.
Drop MBR and cloning support on crunched install media.
Make tar extraction flags depend on our usage of pax-as-tar or bsdtar.
Fix missing newlines in bios match display, pointed out by maxv.
Drop unused variable.
Fix table of bios geomatries
knf style adjustments
Make the bootblock selection menu more sane, pointed out by maxv
Make sure all menus have a translatable exit option (or none at all).
On amd64 support installation with a KASLR kernel, via "custom install"
and selecting the GENERIC_KASLR kernel set.
Setup /prekern and boot.cfg accordingly.
 1.1.2.2 28-Oct-2019  msaitoh Pull up following revision(s) (requested by martin in ticket #382):
usr.sbin/sysinst/part_edit.c: revision 1.10
usr.sbin/sysinst/part_edit.c: revision 1.9
usr.sbin/sysinst/partitions.c: revision 1.3
usr.sbin/sysinst/partitions.c: revision 1.4
usr.sbin/sysinst/partitions.h: revision 1.7
usr.sbin/sysinst/bsddisklabel.c: revision 1.29
usr.sbin/sysinst/disks.c: revision 1.54
Honor the "no_mbr" flag (used especially for raid and xbd devices)
On device where we do not want a MBR (raid, xbd) skip the MBR partitioning
scheme when trying to read partitions from disk. The generic reader will
fall back to disklabel then.
In non-MBR specific files, #ifdef all tests for MBR for architectures
that do not even compile in MBR support.
 1.1.2.1 18-Aug-2019  msaitoh Pull up following revision(s) (requested by martin in ticket #78):
usr.sbin/sysinst/gpt.c: revision 1.10
usr.sbin/sysinst/disklabel.c: revision 1.12
usr.sbin/sysinst/msg.mi.fr: revision 1.18
usr.sbin/sysinst/msg.mi.de: revision 1.14
usr.sbin/sysinst/partitions.c: revision 1.2
usr.sbin/sysinst/msg.mi.es: revision 1.15
usr.sbin/sysinst/msg.mi.pl: revision 1.21
usr.sbin/sysinst/partitions.h: revision 1.6
usr.sbin/sysinst/msg.mi.en: revision 1.20
usr.sbin/sysinst/mbr.c: revision 1.20
On architectures that usually do MBR/disklabel, nevertheless deal with
pure/plain disklabel disks, and explicitly offer this as partitioning
option when bootability is not a concern.
 1.10.4.2 13-Apr-2020  martin Mostly merge changes from HEAD upto 20200411
 1.10.4.1 28-Jan-2020  martin file partitions.c was added on branch phil-wifi on 2020-04-13 08:06:00 +0000
 1.30 10-Apr-2025  andvar couple fixes in comments.
 1.29 06-Jan-2023  martin branches: 1.29.2;
When matching real partitions to "wanted" install descriptions, skip
all types of special partitions (like raw disk, or the MBR container
partition for the NetBSD part of the disk).
The start of the partition is no unique identifier if we include these
in the matching (e.g. boot partition and raw partition may both start
at sector 0).
 1.28 09-Jun-2022  martin Add support for explicitly selecting "EFI system partition" as a partition
type.
 1.27 24-May-2022  andvar s/changable/changeable/ in comments.
 1.26 22-May-2022  andvar fix various small typos, mainly in comments.
 1.25 07-Nov-2021  andvar fix various typos, mainly s/prefered/preferred/
 1.24 11-Sep-2021  andvar sysinst/partitions.h: fix typos comments, also fix same typos in other files.
 1.23 11-Sep-2021  andvar Add missing double p and d for stopped and overriden accordingly.
Fix few more typos along the way, mainly in copy-pasted comments.
 1.22 31-Jan-2021  rillig sysinst: remove trailing whitespace from *.c *.h

In contrast to the messages files, this whitespace is not significant.
 1.21 02-Dec-2020  wiz comparision -> comparison
 1.20 06-Nov-2020  martin Fix copy & pasted copyright comments.
 1.19 13-Oct-2020  martin PR 55142: on popular demand bring back expert options to adjust the
number of free inodes, block size and fragment size for FFS and LFS.
 1.18 12-Oct-2020  martin PR 55536: when we find existing partition tables and have alternative
formats available, offer to delete partitions and create new ones from
scratch (in some other or the same on-disk format).
 1.17 03-Oct-2020  martin PR 55384: detangle pm->ptstart from the "install" flag (selecting a
target partition). Instead introduce a new PTI_INSTALL_TARGET per partition
flag and deal with it in the partitioning backends.

Honour pm->ptstart when allocating new partitions - it is supposed to be
the first sector usable by NetBSD.
 1.16 29-Sep-2020  martin Apply patch provided by Izumi Tsutsui in PR 55382: make ext2 partitions
show up in the outer (MBR) partition table, needed for example on Cobalt
where firmware boots from that partition.
 1.15 27-Jan-2020  martin branches: 1.15.4;
Fix support for non-512-byte/sector disks again after I broke it when
introducing the abstract partition backends.
 1.14 15-Jan-2020  martin Add a method to query the partitioning schemes "internal idea" of a
cylinder size - whatever that means in the real world.
 1.13 09-Jan-2020  martin Finish conversion of extended partitioning parts to new abstract
backend interface. XXX still could use a lot of polishing.
 1.12 26-Dec-2019  msaitoh s/lenght/length/
 1.11 15-Dec-2019  martin Reject (what we consider) empty/invalid fake disklabels no matter whether
we have other partitioning schemes available or not.
 1.10 13-Dec-2019  martin When finding (paritioning scheme native) partition types for file systems
from our install description, pass the partition type (not only the file
system type). Sometimes (e.g. EFI boot partition on GPT) the filesystem
type (MSDOS) is not a unique selector.
 1.9 09-Dec-2019  martin PR install/54582: allow MD code to disable on-disk presence verification
of "real" disklabels. Auto-enable this (at run time) when there is no other
partitioning scheme but disklabel configured.
Hard-coded enable this for x68k to allow using kernel based translations
for native Human68k partitions.
 1.8 12-Nov-2019  martin Add options to the various partitioning stages that allow cloning of
alien partitions (optionally including data).
 1.7 25-Oct-2019  martin On device where we do not want a MBR (raid, xbd) skip the MBR partitioning
scheme when trying to read partitions from disk. The generic reader will
fall back to disklabel then.
 1.6 14-Aug-2019  martin On architectures that usually do MBR/disklabel, nevertheless deal with
pure/plain disklabel disks, and explicitly offer this as partitioning
option when bootability is not a concern.
 1.5 07-Aug-2019  martin Support upgrade of systems using NAME= syntax in /etc/fstab.

Make supported file system types dynamic - instead of hardcoding the
available types at compile time, check for available newfs_* helper
binaries in the actual install environment at runtime.
 1.4 28-Jul-2019  martin branches: 1.4.2;
If available, show additional names of foreign partitions in the
size menu. Makes installing on machines with other OSes installed
a lot less confusing.
 1.3 24-Jul-2019  msaitoh Fix typo in comment (s/partion/partition/).
 1.2 15-Jun-2019  martin When setting up a "use whole disk" single outer partition, force an
empty set of inner partitions immediately,

This avoids reading old (stale) partitions (e.g. disklabel that
survived cleaning and re-creating the MBR with the MBR NetBSD partition
starting at the same offset) later.
 1.1 12-Jun-2019  martin Rework internal data structures and "interfaces to user interface" functions
to get rid of all disklabel assumptions.

Previously (even for GPT partitioning) struct disklabel was used, which
obviously breaks large disk setups. Also many MD parts and parts of the
user interface assumed (a) a struct disklabel is used internally to
store partitioning information and (b) partitions are named 'a' ... $MAXPART.

Get rid of this and replace it with a quite abstract interface that should
be able to deal with all variants in partition storage:

- partitions are stored in a (partly abstract) struct disk_partitions
and most parts of it are only accessed via accessor functions provided
by a "partitioning scheme".

- implement partitioning schemes for MBR, disklabel and GPT (with likely
RDB [amiga] and Apple Partition Map [mac*] to follow soon)

- partitioning schemes may be cascaded, e.g. on x86 when using MBR as
"outer partitions", we have disklabel as "inner partitions".

- all user interface goes via accessor functions in the partitioning scheme,
some of which return pointers to special user interface descriptors
(e.g. to allow editing partition flags, which are scheme specific)

Overall the user interface changes (in this initial step) are minimal but
noticable. A new Anita is needed for automatic test setups - many thanks
to Andreas Gustafsson for lots of early testing and a new Anita version,
and to Manuel Bouyer for cooperation and tests of the Anita release.

This work was sponsored by The NetBSD Foundation, Inc.
 1.4.2.7 15-Oct-2020  bouyer Pull up following revision(s) (requested by martin in ticket #1113):
usr.sbin/sysinst/bsddisklabel.c: revision 1.46
usr.sbin/sysinst/bsddisklabel.c: revision 1.47
usr.sbin/sysinst/disklabel.c: revision 1.40
usr.sbin/sysinst/arch/cobalt/md.c: revision 1.13
usr.sbin/sysinst/bsddisklabel.c: revision 1.48
usr.sbin/sysinst/disklabel.c: revision 1.41
usr.sbin/sysinst/arch/cobalt/md.c: revision 1.14
usr.sbin/sysinst/bsddisklabel.c: revision 1.49
usr.sbin/sysinst/disklabel.c: revision 1.42
usr.sbin/sysinst/Makefile.inc: revision 1.34
usr.sbin/sysinst/disks.c: revision 1.70
usr.sbin/sysinst/arch/hp300/md.c: revision 1.11
usr.sbin/sysinst/disks.c: revision 1.71
usr.sbin/sysinst/arch/i386/md.h: revision 1.8
usr.sbin/sysinst/arch/arc/md.c: revision 1.13
usr.sbin/sysinst/mbr.h: revision 1.5
usr.sbin/sysinst/mbr.h: revision 1.6
usr.sbin/sysinst/arch/mac68k/md.c: revision 1.10
usr.sbin/sysinst/bsddisklabel.c: revision 1.50
usr.sbin/sysinst/arch/acorn32/md.c: revision 1.7
usr.sbin/sysinst/bsddisklabel.c: revision 1.51
usr.sbin/sysinst/bsddisklabel.c: revision 1.52
usr.sbin/sysinst/bsddisklabel.c: revision 1.53
usr.sbin/sysinst/bsddisklabel.c: revision 1.54
usr.sbin/sysinst/bsddisklabel.c: revision 1.55
usr.sbin/sysinst/bsddisklabel.c: revision 1.56
usr.sbin/sysinst/arch/dummy/md.c: revision 1.6
usr.sbin/sysinst/arch/amd64/md.h: revision 1.9
usr.sbin/sysinst/arch/evbsh3/md.c: revision 1.6
usr.sbin/sysinst/arch/sparc/md.c: revision 1.6
usr.sbin/sysinst/arch/zaurus/md.c: revision 1.10
usr.sbin/sysinst/arch/x68k/md.c: revision 1.11
usr.sbin/sysinst/arch/sandpoint/md.c: revision 1.9
usr.sbin/sysinst/arch/vax/md.c: revision 1.7
usr.sbin/sysinst/arch/luna68k/md.c: revision 1.9
usr.sbin/sysinst/gpt.c: revision 1.19
usr.sbin/sysinst/arch/i386/md.c: revision 1.31
usr.sbin/sysinst/arch/i386/md.c: revision 1.32
usr.sbin/sysinst/arch/evbarm/md.c: revision 1.17
usr.sbin/sysinst/arch/evbarm/md.c: revision 1.18
usr.sbin/sysinst/arch/evbarm/md.c: revision 1.19
usr.sbin/sysinst/arch/shark/md.c: revision 1.6
usr.sbin/sysinst/arch/landisk/md.c: revision 1.14
usr.sbin/sysinst/util.c: revision 1.43
usr.sbin/sysinst/gpt.c: revision 1.20
usr.sbin/sysinst/util.c: revision 1.44
usr.sbin/sysinst/gpt.c: revision 1.21
usr.sbin/sysinst/gpt.c: revision 1.22
usr.sbin/sysinst/arch/evbarm/msg.md.en: revision 1.2
usr.sbin/sysinst/arch/ofppc/md.c: revision 1.11
usr.sbin/sysinst/util.c: revision 1.46
usr.sbin/sysinst/arch/ofppc/md.c: revision 1.12
usr.sbin/sysinst/util.c: revision 1.47
usr.sbin/sysinst/arch/evbarm/md.h: revision 1.6
usr.sbin/sysinst/util.c: revision 1.48
usr.sbin/sysinst/arch/evbarm/md.h: revision 1.7
usr.sbin/sysinst/arch/evbmips/md.c: revision 1.9
usr.sbin/sysinst/msg.mi.fr: revision 1.28
usr.sbin/sysinst/msg.mi.fr: revision 1.29
usr.sbin/sysinst/arch/sgimips/md.c: revision 1.9
usr.sbin/sysinst/arch/evbarm/Makefile: revision 1.3
usr.sbin/sysinst/msg.mi.de: revision 1.23
usr.sbin/sysinst/arch/hpcsh/md.c: revision 1.10
usr.sbin/sysinst/msg.mi.de: revision 1.24
usr.sbin/sysinst/install.c: revision 1.15
usr.sbin/sysinst/install.c: revision 1.16
usr.sbin/sysinst/arch/sparc64/md.c: revision 1.6
usr.sbin/sysinst/install.c: revision 1.17
usr.sbin/sysinst/install.c: revision 1.18
usr.sbin/sysinst/partitions.h: revision 1.16
usr.sbin/sysinst/install.c: revision 1.19
usr.sbin/sysinst/partitions.h: revision 1.17
usr.sbin/sysinst/arch/evbppc/md.c: revision 1.9
usr.sbin/sysinst/arch/playstation2/md.c: revision 1.9
usr.sbin/sysinst/partitions.h: revision 1.18
usr.sbin/sysinst/arch/hpcarm/md.c: revision 1.9
usr.sbin/sysinst/partitions.h: revision 1.19
usr.sbin/sysinst/msg.mi.es: revision 1.24
usr.sbin/sysinst/msg.mi.es: revision 1.25
usr.sbin/sysinst/msg.mi.es: revision 1.26
usr.sbin/sysinst/arch/zaurus/md.c: revision 1.9
usr.sbin/sysinst/target.c: revision 1.13
usr.sbin/sysinst/target.c: revision 1.14
usr.sbin/sysinst/part_edit.c: revision 1.17
usr.sbin/sysinst/part_edit.c: revision 1.18
usr.sbin/sysinst/msg.mi.fr: revision 1.30
usr.sbin/sysinst/arch/mvme68k/md.c: revision 1.11
usr.sbin/sysinst/part_edit.c: revision 1.19
usr.sbin/sysinst/msg.mi.fr: revision 1.31
usr.sbin/sysinst/arch/alpha/md.c: revision 1.9
usr.sbin/sysinst/msg.mi.en: revision 1.30
usr.sbin/sysinst/defs.h: revision 1.56
usr.sbin/sysinst/msg.mi.en: revision 1.31
usr.sbin/sysinst/defs.h: revision 1.57
usr.sbin/sysinst/msg.mi.en: revision 1.32
usr.sbin/sysinst/arch/amiga/md.c: revision 1.6
usr.sbin/sysinst/arch/hpcmips/md.c: revision 1.9
usr.sbin/sysinst/defs.h: revision 1.58
usr.sbin/sysinst/arch/cats/md.c: revision 1.5
usr.sbin/sysinst/defs.h: revision 1.59
usr.sbin/sysinst/arch/newsmips/md.c: revision 1.6
usr.sbin/sysinst/arch/pmax/md.c: revision 1.8
usr.sbin/sysinst/arch/mipsco/md.c: revision 1.8
usr.sbin/sysinst/part_edit.c: revision 1.20
usr.sbin/sysinst/part_edit.c: revision 1.21
usr.sbin/sysinst/arch/macppc/md.c: revision 1.6
usr.sbin/sysinst/part_edit.c: revision 1.22
usr.sbin/sysinst/part_edit.c: revision 1.23
usr.sbin/sysinst/part_edit.c: revision 1.24
usr.sbin/sysinst/defs.h: revision 1.60
usr.sbin/sysinst/arch/mac68k/Makefile: revision 1.3
usr.sbin/sysinst/defs.h: revision 1.61
usr.sbin/sysinst/defs.h: revision 1.63
usr.sbin/sysinst/defs.h: revision 1.64
usr.sbin/sysinst/defs.h: revision 1.65
usr.sbin/sysinst/label.c: revision 1.21
usr.sbin/sysinst/defs.h: revision 1.66
usr.sbin/sysinst/label.c: revision 1.22
usr.sbin/sysinst/defs.h: revision 1.67
usr.sbin/sysinst/label.c: revision 1.23
usr.sbin/sysinst/label.c: revision 1.24
usr.sbin/sysinst/label.c: revision 1.25
usr.sbin/sysinst/label.c: revision 1.26
usr.sbin/sysinst/label.c: revision 1.27
usr.sbin/sysinst/msg.mi.pl: revision 1.31
usr.sbin/sysinst/label.c: revision 1.28
usr.sbin/sysinst/msg.mi.pl: revision 1.32
usr.sbin/sysinst/label.c: revision 1.29
usr.sbin/sysinst/arch/atari/md.c: revision 1.7
usr.sbin/sysinst/disklabel.c: revision 1.36
usr.sbin/sysinst/disklabel.c: revision 1.37
usr.sbin/sysinst/disklabel.c: revision 1.38
usr.sbin/sysinst/disklabel.c: revision 1.39
usr.sbin/sysinst/arch/bebox/md.c: revision 1.9
usr.sbin/sysinst/mbr.c: revision 1.32
usr.sbin/sysinst/disks.c: revision 1.66
usr.sbin/sysinst/mbr.c: revision 1.33
usr.sbin/sysinst/disks.c: revision 1.67
usr.sbin/sysinst/mbr.c: revision 1.34
usr.sbin/sysinst/arch/emips/md.c: revision 1.9
usr.sbin/sysinst/disks.c: revision 1.68
usr.sbin/sysinst/partitions.c: revision 1.11
usr.sbin/sysinst/mbr.c: revision 1.35
usr.sbin/sysinst/disks.c: revision 1.69
usr.sbin/sysinst/mbr.c: revision 1.36
usr.sbin/sysinst/arch/hppa/md.c: revision 1.8
usr.sbin/sysinst/arch/prep/md.c: revision 1.13
usr.sbin/sysinst/label.c: revision 1.30
usr.sbin/sysinst/arch/ews4800mips/md.c: revision 1.7
usr.sbin/sysinst/main.c: revision 1.21
usr.sbin/sysinst/main.c: revision 1.22
usr.sbin/sysinst/main.c: revision 1.23
usr.sbin/sysinst/bsddisklabel.c: revision 1.40
usr.sbin/sysinst/main.c: revision 1.24
usr.sbin/sysinst/arch/cobalt/md.h: revision 1.6
usr.sbin/sysinst/bsddisklabel.c: revision 1.41
usr.sbin/sysinst/main.c: revision 1.25
usr.sbin/sysinst/arch/news68k/md.c: revision 1.7
usr.sbin/sysinst/bsddisklabel.c: revision 1.42
usr.sbin/sysinst/bsddisklabel.c: revision 1.43
usr.sbin/sysinst/bsddisklabel.c: revision 1.44
usr.sbin/sysinst/bsddisklabel.c: revision 1.45
Use strlcpy in a few places to guarnatee 0-terminated strings
Rever previous: the d_packname in struct disklabel is not NUL terminated.
Disable the warning instead.
Do not force -Os optimization (unless SMALLPROG)
Remove unused "rel" global variable and make the -r option a no-op.
PR 55045: strlcpy(NULL, ..., 0) considered harmfull in some implementations.
PR misc/54886: bump threshold for automatic/default creation of a tmpfs /tmp
up slightly (to 384 MB ram). This will make sure the default install has
a > 64 MB /tmp available (number pulled out of thin air, 64 MB is the minimum
required by the ZFS tests).
Don't depend on common symbol definitions.
boardype should not be common.
Redo the root-size-limit check again after we grew the root partition
for kernel dumps. Auto-enable the /usr partition if it overflows.
For all non-root partitions, default to FFSv2.
When extending a partition (to fill the total disk size) do respect
size limits.
Do not suggest a size limited partition for extension by default.
Minor tweak to previous: when forcing a /usr partition just to have an
arbitrary extendable partition, still use its default size initially.
At the end of a new installation save entropy.
Ooops, backout previous - twice the entropy saving is not needed.
Instead slightly improve the (slightly) hidden other code that already
did it.
PR 55202: disable swapping if we started it due to low ram
it's "its"
Remove "If you booted from a floppy" message
Set HAVE_INSTALL_IMAGE for evbarm
Change mountpoint of boot ext2fs from /stand to /ext2 to avoid conflict.
Should be pulled up to netbsd-9, with fixes of PR/55060.
MBR type for Ext2 should be MBR_PTYPE_LNXEXT2, not MBR_PTYPE_FAT12.
Silence -Wstringop-truncation for ``name'' in disp_selected_part().
This variable is used only for display, and truncation seems harmless.
PR 55572: avoid crash when answering the mount point prompt for a previously
empty mount point with an emptry sting.
When adding a new partition in the concrete partition editor, make sure
to set a pointer to the partition table interface in the new entry.
Otherwise we may end up not writing back the partitions at all, leading
to further fallout later.
Receipe to reproduce the issue from Frederic Fauberteau, thanks!
In the concrete partitions editor, after deleting the last partition move
the menu selection to the "add a partition" entry (instead of the sentinel
line which is not an active menu entry).
Typo in comment
Keep a list of all partition tables from which we have deleted partitions
and make sure we update those partition tables when writing partitions,
even if no install related partition remains on them.
Fix display of timezone selection menu
If there is no current partitioning manager assume we are editing the
current system and make target_already_root() return true.
Fixes various fallout when using sysinst post installation.
PR 55377: mark boot partitions in the partition size display, as suggested
by Izumi Tsutsui (minor modifications + all bugs by me)
PR 55378: do not assume RAW_PART to be either 2 or 3
PR 55379: avoid creating bogus /etc/fstab lines for /dev/cd* if no
cdrom is available.
PR 55381: try to deal with moved (but not yet saved) partitions when
calculating free space
Apply patch provided by Izumi Tsutsui in PR 55382: make ext2 partitions
show up in the outer (MBR) partition table, needed for example on Cobalt
where firmware boots from that partition.
PR 55384: detangle pm->ptstart from the "install" flag (selecting a
target partition). Instead introduce a new PTI_INSTALL_TARGET per partition
flag and deal with it in the partitioning backends.
Honour pm->ptstart when allocating new partitions - it is supposed to be
the first sector usable by NetBSD.
If we have no explicitly marke target root partition, make sure to set
the proper flag on the implicit one.
When merging existing partitions with desired target system layout
information, only force the "mount" flag if the existing partitions
has a valid mount point.
Add a heuristic to detect and properly mark EFI system partitions
when re-using pre-existing partitions.
When MD code requests a reserved area (at the start of the disk)
make sure to properly account for the "lost" space during all calculations
and especially when expanding the main partition to fill the disk.
Avoid using the global "pm" or a passed device descriptons when we are
passing disk limits explicitly anyway.
Simplify/fix a few rounding calculations.
When creating new partitions for "full disk" use, pass a install target
hint to the partitioning backend (for the outer NetBSD partition).
Use an install target hint to mark a new partition active.
When compiled with BOOTSEL support, also name the new partition "NetBSD".
Remove more pm->ptstart abuse - calculate values localy where needed
instead.
Fix editing start and size of not yet existing outer partitions.
Previously we abused pm->ptstart / pm->ptsize to pass the bounds of the
NetBSD outer partition to the inner partition editor - but now this is
not a valid assumption any more, so explicitly fix the bounds if an
outer partition exists.
Remove very strange code that special-cased MSDOS file systems and refused
to newfs the partition (despite explicit request to do so) if it was
mountable.
Accidently carried over from a dim and distant past, before we had
fsck_newfs.
PR 55536: when we find existing partition tables and have alternative
formats available, offer to delete partitions and create new ones from
scratch (in some other or the same on-disk format).
Minor fix to previous: fix condition when we offer the partition type
switch - it makes sense even if the disk is partitioned but has no valid
partitions.
Before forcing MBR partitions into our disklabel, make sure they are not
there yet - could happen in various paths when reusing existing partitions
(or parts of that) - previously we would blindly duplicate identical
partitions.
Ooops, part of previous was not meant to be included yet
When renumbering partitions (after deletions) be slightly more lax
in matching, to cope with differences between MBR EFI partitions and
disklabel MSDOS partitions.
PR 55142: on popular demand bring back expert options to adjust the
number of free inodes, block size and fragment size for FFS and LFS.
Fix copy & pasto noticed by Jason Mitchell: change the type of a GPT
partition via "gpt type" - not "gpt label".
Fix copy & pasto (missing "again" label)
Remove dead code
Move MBR writing (if any) post disklabel writing, otherwise strange
interactions happen.
Properly convert partition default sizes in MB to number of sectors
 1.4.2.6 28-Jan-2020  msaitoh Pull up following revision(s) (requested by martin in ticket #668):
usr.sbin/sysinst/arch/cobalt/md.c: revision 1.11
usr.sbin/sysinst/arch/cobalt/md.c: revision 1.12
usr.sbin/sysinst/arch/arc/md.c: revision 1.11
usr.sbin/sysinst/arch/arc/md.c: revision 1.12
usr.sbin/sysinst/partman.c: revision 1.43
usr.sbin/sysinst/partman.c: revision 1.46
usr.sbin/sysinst/partman.c: revision 1.47
usr.sbin/sysinst/partman.c: revision 1.48
usr.sbin/sysinst/partman.c: revision 1.49
usr.sbin/sysinst/msg.pm.fr: revision 1.2
usr.sbin/sysinst/upgrade.c: revision 1.14
usr.sbin/sysinst/arch/i386/md.c: revision 1.28
usr.sbin/sysinst/arch/i386/md.c: revision 1.29
usr.sbin/sysinst/arch/ofppc/md.c: revision 1.9
usr.sbin/sysinst/arch/sandpoint/md.c: revision 1.7
usr.sbin/sysinst/arch/sandpoint/md.c: revision 1.8
usr.sbin/sysinst/gpt.c: revision 1.14
usr.sbin/sysinst/gpt.c: revision 1.15
usr.sbin/sysinst/arch/luna68k/md.c: revision 1.8
usr.sbin/sysinst/gpt.c: revision 1.16
usr.sbin/sysinst/msg.pm.de: revision 1.2
usr.sbin/sysinst/arch/evbarm/md.c: revision 1.11
usr.sbin/sysinst/arch/evbarm/md.c: revision 1.12
usr.sbin/sysinst/arch/evbarm/md.c: revision 1.13
usr.sbin/sysinst/arch/evbarm/md.c: revision 1.14
usr.sbin/sysinst/sizemultname.c: revision 1.4
usr.sbin/sysinst/msg.pm.en: revision 1.2
usr.sbin/sysinst/arch/landisk/md.c: revision 1.12
usr.sbin/sysinst/util.c: revision 1.41
usr.sbin/sysinst/arch/landisk/md.c: revision 1.13
usr.sbin/sysinst/util.c: revision 1.42
usr.sbin/sysinst/arch/ofppc/md.c: revision 1.10
usr.sbin/sysinst/partitions.c: revision 1.9
usr.sbin/sysinst/arch/evbarm/md.h: revision 1.4
usr.sbin/sysinst/arch/evbarm/md.h: revision 1.5
usr.sbin/sysinst/arch/evbmips/md.c: revision 1.7
usr.sbin/sysinst/arch/evbmips/md.c: revision 1.8
usr.sbin/sysinst/msg.mi.fr: revision 1.25
usr.sbin/sysinst/msg.mi.de: revision 1.20
usr.sbin/sysinst/install.c: revision 1.14
usr.sbin/sysinst/partitions.h: revision 1.13
usr.sbin/sysinst/partitions.h: revision 1.14
usr.sbin/sysinst/arch/evbppc/md.c: revision 1.7
usr.sbin/sysinst/arch/playstation2/md.c: revision 1.7
usr.sbin/sysinst/msg.mi.en: revision 1.27
usr.sbin/sysinst/partitions.h: revision 1.15
usr.sbin/sysinst/arch/evbppc/md.c: revision 1.8
usr.sbin/sysinst/arch/hpcarm/md.c: revision 1.7
usr.sbin/sysinst/arch/playstation2/md.c: revision 1.8
usr.sbin/sysinst/msg.pm.pl: revision 1.2
usr.sbin/sysinst/arch/hpcarm/md.c: revision 1.8
usr.sbin/sysinst/msg.mi.es: revision 1.21
usr.sbin/sysinst/arch/zaurus/md.c: revision 1.7
usr.sbin/sysinst/target.c: revision 1.11
usr.sbin/sysinst/arch/zaurus/md.c: revision 1.8
usr.sbin/sysinst/part_edit.c: revision 1.14
usr.sbin/sysinst/part_edit.c: revision 1.15
usr.sbin/sysinst/part_edit.c: revision 1.16
usr.sbin/sysinst/defs.h: revision 1.50
usr.sbin/sysinst/defs.h: revision 1.51
usr.sbin/sysinst/defs.h: revision 1.52
usr.sbin/sysinst/defs.h: revision 1.53
usr.sbin/sysinst/defs.h: revision 1.54
usr.sbin/sysinst/arch/hpcmips/md.c: revision 1.7
usr.sbin/sysinst/arch/hpcmips/md.c: revision 1.8
usr.sbin/sysinst/arch/hpcsh/md.c: revision 1.8
usr.sbin/sysinst/msg.pm.es: revision 1.2
usr.sbin/sysinst/arch/hpcsh/md.c: revision 1.9
usr.sbin/sysinst/label.c: revision 1.18
usr.sbin/sysinst/label.c: revision 1.19
usr.sbin/sysinst/net.c: revision 1.35
usr.sbin/sysinst/msg.mi.pl: revision 1.28
usr.sbin/sysinst/disklabel.c: revision 1.28
usr.sbin/sysinst/disklabel.c: revision 1.29
usr.sbin/sysinst/mbr.c: revision 1.24
usr.sbin/sysinst/disks.c: revision 1.59
usr.sbin/sysinst/mbr.c: revision 1.25
usr.sbin/sysinst/mbr.c: revision 1.26
usr.sbin/sysinst/mbr.c: revision 1.27
usr.sbin/sysinst/mbr.c: revision 1.28
usr.sbin/sysinst/label.c: revision 1.20
usr.sbin/sysinst/mbr.c: revision 1.29
usr.sbin/sysinst/bsddisklabel.c: revision 1.34
usr.sbin/sysinst/bsddisklabel.c: revision 1.35
usr.sbin/sysinst/bsddisklabel.c: revision 1.36
usr.sbin/sysinst/bsddisklabel.c: revision 1.37
usr.sbin/sysinst/disklabel.c: revision 1.30
usr.sbin/sysinst/bsddisklabel.c: revision 1.38
usr.sbin/sysinst/disklabel.c: revision 1.31
usr.sbin/sysinst/disklabel.c: revision 1.32
usr.sbin/sysinst/disklabel.c: revision 1.33
usr.sbin/sysinst/disklabel.c: revision 1.34
usr.sbin/sysinst/disks.c: revision 1.60
usr.sbin/sysinst/disks.c: revision 1.61
usr.sbin/sysinst/arch/bebox/md.c: revision 1.7
usr.sbin/sysinst/disks.c: revision 1.62
usr.sbin/sysinst/arch/bebox/md.c: revision 1.8
usr.sbin/sysinst/mbr.c: revision 1.30
usr.sbin/sysinst/partitions.c: revision 1.10
usr.sbin/sysinst/arch/prep/md.c: revision 1.11
usr.sbin/sysinst/arch/prep/md.c: revision 1.12
usr.sbin/sysinst/menus.pm: revision 1.3
usr.sbin/sysinst/main.c: revision 1.20
usr.sbin/sysinst/menus.mi: revision 1.20
usr.sbin/sysinst/menus.mi: revision 1.21
avoid calling snprintf/strlcat with an input parameter the same
as the output. from martin@. fixes gcc 8 restrict warnings.
Finish conversion of extended partitioning parts to new abstract
backend interface. XXX still could use a lot of polishing.
Instead of a (bogus) attempt to query the model via ofctl, use the (now
fixed) sysctl hw.model instead.
When reading the secondary disklabel partitions from an existing disklabel
set the mbr partitions as parent.
Move the LABELSECTOR check and make it FS type specific - some partition
types (FFS, RAID) are allowed to overlap with the LABELSECTOR.
When asked to create a whole-disk partition for unknown usage, do not only
assert(false), but actually return an error (in case "assert" is a nop).
PR install/54787: when trying to derive proper alignement and first offset
from exisiting partitions, use the first partition offset if it is already
closer to the start of the disk than the prefered alignment - we can not
move existing partitions around.
Fix handling of inner/outer partitions (e.g. MBR and disklabel) in
extended partitioning:
- when editing a disk with such a schme, offer both partitions in two
steps
- when commiting changes save the inner partitions after the outer ones
Add a method to query the partitioning schemes "internal idea" of a
cylinder size - whatever that means in the real world.
Avoid using the global "pm" variable in utility functions - during
extended partitioning they may point to a different device.
Remove useless calls to get_ramsize() - return value is ignored and
the function has no side effects.
Fix /tmp tmpfs handling and on machines with enough RAM default to
creating a /tmp tmpfs with 25% of ram size limit. Suggested by ad@.
PR install/54872: fix printf argument order, sectors and heads were
swapped in the bios geometry display.
First try to bring evbarm installation closer to current reality.
hide disklabel_non_bootable() under NO_DISKLABEL_BOOT like the usage.
should fix most builds.
Deal with even stranger fictious empty disklabels (PR kern/54882).
Factor out all RAM size thresholds as defines to avoid magic numbers.
To work around PR misc/54886 bump the threshold for a tmpfs /tmp mount
up to 256 MB.
When retrying sets during extraction, reset the relevant statistics
to avoid counting retried sets multiple times.
Reported by kim.
Fix support for non-512-byte/sector disks again after I broke it when
introducing the abstract partition backends.
Use a few strlcpy() instead of strncpy() for network ioctl structs.
We seem to have no formal documentation stating the various
char if*_name[IFNAMSIZ]; /* if name, e.g. "en0" */
elements in ioctls are nul terminated, but the peanut gallery claims
it is so - and at least half of the code in-tree touching them agrees.
Too much disklabel magic happening in the kernel - to compensate force
MBR first when trying to identify the existing partitioning scheme of
a disk.
 1.4.2.5 17-Dec-2019  msaitoh Pull up following revision(s) (requested by martin in ticket #560):
usr.sbin/sysinst/partitions.h: revision 1.11
usr.sbin/sysinst/defs.h: revision 1.49
usr.sbin/sysinst/mbr.c: revision 1.23
usr.sbin/sysinst/msg.mi.en: revision 1.26
usr.sbin/sysinst/disks.c: revision 1.58
usr.sbin/sysinst/arch/evbarm/menus.md.pl: revision 1.2
usr.sbin/sysinst/msg.mi.es: revision 1.20
usr.sbin/sysinst/arch/mvme68k/md.c: revision 1.9
usr.sbin/sysinst/gpt.c: revision 1.13
usr.sbin/sysinst/arch/evbarm/md.c: revision 1.10
usr.sbin/sysinst/arch/arc/md.c: revision 1.10
usr.sbin/sysinst/disklabel.c: revision 1.18
usr.sbin/sysinst/bsddisklabel.c: revision 1.33
usr.sbin/sysinst/disklabel.c: revision 1.19
usr.sbin/sysinst/main.c: revision 1.19
usr.sbin/sysinst/partman.c: revision 1.45
usr.sbin/sysinst/arch/alpha/md.c: revision 1.7
usr.sbin/sysinst/msg.mi.de: revision 1.19
usr.sbin/sysinst/arch/evbarm/menus.md.en: revision 1.2
usr.sbin/sysinst/arch/x68k/md.h: revision 1.4
usr.sbin/sysinst/arch/x68k/md.c: revision 1.9
usr.sbin/sysinst/arch/evbarm/menus.md.es: revision 1.2
usr.sbin/sysinst/wskbd.c: revision 1.4
usr.sbin/sysinst/label.c: revision 1.15
usr.sbin/sysinst/arch/amiga/md.h: revision 1.5
usr.sbin/sysinst/label.c: revision 1.16
usr.sbin/sysinst/arch/hp300/md.c: revision 1.9
usr.sbin/sysinst/arch/emips/md.c: revision 1.8
usr.sbin/sysinst/label.c: revision 1.17
usr.sbin/sysinst/arch/pmax/md.c: revision 1.7
usr.sbin/sysinst/partitions.c: revision 1.6
usr.sbin/sysinst/arch/prep/md.c: revision 1.10
usr.sbin/sysinst/arch/mipsco/md.c: revision 1.7
usr.sbin/sysinst/partitions.c: revision 1.7
usr.sbin/sysinst/partitions.c: revision 1.8
usr.sbin/sysinst/arch/ews4800mips/md.c: revision 1.5
usr.sbin/sysinst/disklabel.c: revision 1.20
usr.sbin/sysinst/arch/evbarm/menus.md.fr: revision 1.2
usr.sbin/sysinst/msg.mi.fr: revision 1.24
usr.sbin/sysinst/disklabel.c: revision 1.21
usr.sbin/sysinst/partitions.h: revision 1.9
usr.sbin/sysinst/msg.mi.pl: revision 1.27
usr.sbin/sysinst/disklabel.c: revision 1.22
usr.sbin/sysinst/disklabel.c: revision 1.23
usr.sbin/sysinst/arch/i386/md.c: revision 1.27
usr.sbin/sysinst/disklabel.c: revision 1.24
usr.sbin/sysinst/disklabel.c: revision 1.25
usr.sbin/sysinst/arch/cobalt/md.h: revision 1.5
usr.sbin/sysinst/disklabel.c: revision 1.26
usr.sbin/sysinst/disklabel.c: revision 1.27
usr.sbin/sysinst/partitions.h: revision 1.10
usr.sbin/sysinst/arch/cobalt/md.c: revision 1.10
PR install/54582: allow MD code to disable on-disk presence verification
of "real" disklabels. Auto-enable this (at run time) when there is no other
partitioning scheme but disklabel configured.
Hard-coded enable this for x68k to allow using kernel based translations
for native Human68k partitions.
Get rid of the evbarm preliminary menu: do not bother to ask the user
whether this is a RPi - query the FDT instead.
PR 54065: add optional "old compat" variant of ext2fs in file system
type selection and use that as default for the cobalt boot file system.
For now rely on the kernel mapping native RDB partitions.
Fix detection of existing disklabels in the case when we only have
the disklabel partitioning scheme available.
Fix DISKLABEL_NO_ONDISK_VERIFY (accidently disabled in previous)
Fix inverted comparison
Do not try to change the keyboard layout if we are not running on the
console.
When trying to tell a fictious but empty label from a real one, skip
partition a if it has the same start and size as the raw partition.
Remove bogus assert.
When finding (paritioning scheme native) partition types for file systems
from our install description, pass the partition type (not only the file
system type). Sometimes (e.g. EFI boot partition on GPT) the filesystem
type (MSDOS) is not a unique selector.
Adapt MD parts to changes in get_fs_part_type (pass partition type).
If a fictious label has no RAW_PART assume there is no valid disk label.
Pass proper track size when initializing the default alignment - this is
important with sunlabels.
Fix overlapping partitions display
Reject (what we consider) empty/invalid fake disklabels no matter whether
we have other partitioning schemes available or not.
Do not show disklabel command invocation by default (only if there are
errors).
After installing boot blocks with RUN_NO_CLEAR (and handling the
potential errors) make sure to clear the stdscreen.
 1.4.2.4 17-Nov-2019  msaitoh Pull up following revision(s) (requested by martin in ticket #436):
usr.sbin/sysinst/disks.c: revision 1.55
usr.sbin/sysinst/msg.mi.en: revision 1.24
usr.sbin/sysinst/mbr.c: revision 1.22
usr.sbin/sysinst/disks.c: revision 1.56
usr.sbin/sysinst/msg.mi.en: revision 1.25
usr.sbin/sysinst/disks.c: revision 1.57
usr.sbin/sysinst/arch/playstation2/msg.md.pl: revision 1.3
usr.sbin/sysinst/Makefile.inc: revision 1.30
usr.sbin/sysinst/configmenu.c: revision 1.11
usr.sbin/sysinst/util.c: revision 1.35
usr.sbin/sysinst/gpt.c: revision 1.12
usr.sbin/sysinst/util.c: revision 1.36
usr.sbin/sysinst/arch/playstation2/msg.md.de: revision 1.3
usr.sbin/sysinst/arch/i386/menus.md: revision 1.3
usr.sbin/sysinst/util.c: revision 1.37
usr.sbin/sysinst/part_edit.c: revision 1.11
usr.sbin/sysinst/arch/i386/msg.md.en: revision 1.2
usr.sbin/sysinst/util.c: revision 1.38
usr.sbin/sysinst/part_edit.c: revision 1.12
usr.sbin/sysinst/arch/i386/msg.md.en: revision 1.3
usr.sbin/sysinst/util.c: revision 1.39
usr.sbin/sysinst/part_edit.c: revision 1.13
usr.sbin/sysinst/arch/i386/msg.md.en: revision 1.4
usr.sbin/sysinst/disklabel.c: revision 1.15
usr.sbin/sysinst/bsddisklabel.c: revision 1.30
usr.sbin/sysinst/arch/i386/msg.md.es: revision 1.2
usr.sbin/sysinst/bsddisklabel.c: revision 1.31
usr.sbin/sysinst/arch/i386/msg.md.es: revision 1.3
usr.sbin/sysinst/arch/i386/msg.md.es: revision 1.4
usr.sbin/sysinst/mbr.h: revision 1.4
usr.sbin/sysinst/main.c: revision 1.18
usr.sbin/sysinst/partman.c: revision 1.44
usr.sbin/sysinst/msg.mi.de: revision 1.17
usr.sbin/sysinst/arch/i386/msg.md.fr: revision 1.2
usr.sbin/sysinst/msg.mi.de: revision 1.18
usr.sbin/sysinst/arch/i386/msg.md.fr: revision 1.3
usr.sbin/sysinst/arch/playstation2/msg.md.en: revision 1.3
usr.sbin/sysinst/arch/i386/msg.md.fr: revision 1.4
usr.sbin/sysinst/arch/amd64/md.c: revision 1.2
usr.sbin/sysinst/arch/ews4800mips/Makefile: revision 1.3
usr.sbin/sysinst/arch/playstation2/msg.md.es: revision 1.3
usr.sbin/sysinst/label.c: revision 1.13
usr.sbin/sysinst/Makefile.inc: revision 1.29
usr.sbin/sysinst/label.c: revision 1.14
usr.sbin/sysinst/util.c: revision 1.40
usr.sbin/sysinst/partitions.c: revision 1.5
usr.sbin/sysinst/arch/amd64/md.h: revision 1.8
usr.sbin/sysinst/msg.mi.es: revision 1.18
usr.sbin/sysinst/net.c: revision 1.34
usr.sbin/sysinst/msg.mi.es: revision 1.19
usr.sbin/sysinst/arch/i386/msg.md.pl: revision 1.2
usr.sbin/sysinst/arch/i386/md.c: revision 1.22
usr.sbin/sysinst/msg.mi.fr: revision 1.22
usr.sbin/sysinst/arch/playstation2/msg.md.fr: revision 1.3
usr.sbin/sysinst/arch/i386/msg.md.pl: revision 1.3
usr.sbin/sysinst/arch/i386/md.c: revision 1.23
usr.sbin/sysinst/msg.mi.pl: revision 1.25
usr.sbin/sysinst/msg.mi.fr: revision 1.23
usr.sbin/sysinst/arch/i386/msg.md.pl: revision 1.4
usr.sbin/sysinst/arch/i386/md.c: revision 1.24
usr.sbin/sysinst/partitions.h: revision 1.8
usr.sbin/sysinst/msg.mi.pl: revision 1.26
usr.sbin/sysinst/arch/i386/msg.md.de: revision 1.2
usr.sbin/sysinst/arch/i386/msg.md.de: revision 1.3
usr.sbin/sysinst/arch/i386/msg.md.de: revision 1.4
usr.sbin/sysinst/run.c: revision 1.13
usr.sbin/sysinst/defs.h: revision 1.46
usr.sbin/sysinst/install.c: revision 1.12
usr.sbin/sysinst/defs.h: revision 1.47
usr.sbin/sysinst/install.c: revision 1.13
usr.sbin/sysinst/defs.h: revision 1.48
Add options to the various partitioning stages that allow cloning of
alien partitions (optionally including data).
PR 54467: we trust our own sets, extract them with -P to allow symlink
redirection (especially for updates and chroot services - back out
once a better solution for those is implemented)
Make cloning support optional, so we can save some space on very small
install media.
Drop MBR and cloning support on crunched install media.
Make tar extraction flags depend on our usage of pax-as-tar or bsdtar.
Fix missing newlines in bios match display, pointed out by maxv.
Drop unused variable.
Fix table of bios geomatries
knf style adjustments
Make the bootblock selection menu more sane, pointed out by maxv
Make sure all menus have a translatable exit option (or none at all).
On amd64 support installation with a KASLR kernel, via "custom install"
and selecting the GENERIC_KASLR kernel set.
Setup /prekern and boot.cfg accordingly.
 1.4.2.3 28-Oct-2019  msaitoh Pull up following revision(s) (requested by martin in ticket #382):
usr.sbin/sysinst/part_edit.c: revision 1.10
usr.sbin/sysinst/part_edit.c: revision 1.9
usr.sbin/sysinst/partitions.c: revision 1.3
usr.sbin/sysinst/partitions.c: revision 1.4
usr.sbin/sysinst/partitions.h: revision 1.7
usr.sbin/sysinst/bsddisklabel.c: revision 1.29
usr.sbin/sysinst/disks.c: revision 1.54
Honor the "no_mbr" flag (used especially for raid and xbd devices)
On device where we do not want a MBR (raid, xbd) skip the MBR partitioning
scheme when trying to read partitions from disk. The generic reader will
fall back to disklabel then.
In non-MBR specific files, #ifdef all tests for MBR for architectures
that do not even compile in MBR support.
 1.4.2.2 18-Aug-2019  msaitoh Pull up following revision(s) (requested by martin in ticket #78):
usr.sbin/sysinst/gpt.c: revision 1.10
usr.sbin/sysinst/disklabel.c: revision 1.12
usr.sbin/sysinst/msg.mi.fr: revision 1.18
usr.sbin/sysinst/msg.mi.de: revision 1.14
usr.sbin/sysinst/partitions.c: revision 1.2
usr.sbin/sysinst/msg.mi.es: revision 1.15
usr.sbin/sysinst/msg.mi.pl: revision 1.21
usr.sbin/sysinst/partitions.h: revision 1.6
usr.sbin/sysinst/msg.mi.en: revision 1.20
usr.sbin/sysinst/mbr.c: revision 1.20
On architectures that usually do MBR/disklabel, nevertheless deal with
pure/plain disklabel disks, and explicitly offer this as partitioning
option when bootability is not a concern.
 1.4.2.1 08-Aug-2019  msaitoh Pull up following revision(s) (requested by martin in ticket #28):
usr.sbin/sysinst/disklabel.c: revision 1.11
usr.sbin/sysinst/target.c: revision 1.10
usr.sbin/sysinst/disks.c: revision 1.47
usr.sbin/sysinst/txtwalk.c: revision 1.2
usr.sbin/sysinst/partitions.h: revision 1.5
usr.sbin/sysinst/txtwalk.h: revision 1.2
usr.sbin/sysinst/arch/ews4800mips/md.h: revision 1.4
usr.sbin/sysinst/gpt.c: revision 1.9
usr.sbin/sysinst/defs.h: revision 1.43
Support upgrade of systems using NAME= syntax in /etc/fstab.
Make supported file system types dynamic - instead of hardcoding the
available types at compile time, check for available newfs_* helper
binaries in the actual install environment at runtime.
 1.15.4.2 13-Apr-2020  martin Mostly merge changes from HEAD upto 20200411
 1.15.4.1 27-Jan-2020  martin file partitions.h was added on branch phil-wifi on 2020-04-13 08:06:00 +0000
 1.29.2.1 02-Aug-2025  perseant Sync with HEAD
 1.57 25-Nov-2023  martin PR 57698: avoid a few potential sysinst crashes in environments where
not all binaries are available - e.g. w/o cgdconfig(8) the "cgds" pointer
would be NULL (as there can't be any) and we crashed when naively
dereferencing it.
 1.56 10-Jul-2022  martin branches: 1.56.2;
Preparations to make the extended partitioning during normal installation
more usefull - pass an optional install_description to partman().
 1.55 08-Apr-2022  andvar fix various typos, mainly in comments, but also log messages, docs, game text.
 1.54 06-Nov-2021  msaitoh s/writting/writing/
 1.53 14-Sep-2021  rillig sysinst: fix lint error about empty compound literal

In C99, a compound literal must have at least one expression between the
braces. Empty structs and compound literals are a GNU extension.

The first member of struct part_entry has type size_t, therefore 0 fits
well.

No functional change.
 1.52 17-Jul-2021  martin PR 56310: avoid assert() failures (or crashes) when the runtime addition
of a wedge fails (for whatever reasons).
 1.51 31-Jan-2021  rillig sysinst: remove trailing whitespace from *.c *.h

In contrast to the messages files, this whitespace is not significant.
 1.50 06-Feb-2020  martin Deal with partitioning schemes having no inner counterpart.
Avoid NULL derefs.
 1.49 27-Jan-2020  martin Fix support for non-512-byte/sector disks again after I broke it when
introducing the abstract partition backends.
 1.48 15-Jan-2020  martin Fix handling of inner/outer partitions (e.g. MBR and disklabel) in
extended partitioning:
- when editing a disk with such a schme, offer both partitions in two
steps
- when commiting changes save the inner partitions after the outer ones
 1.47 10-Jan-2020  martin When asked to create a whole-disk partition for unknown usage, do not only
assert(false), but actually return an error (in case "assert" is a nop).
 1.46 09-Jan-2020  martin Finish conversion of extended partitioning parts to new abstract
backend interface. XXX still could use a lot of polishing.
 1.45 13-Dec-2019  martin When finding (paritioning scheme native) partition types for file systems
from our install description, pass the partition type (not only the file
system type). Sometimes (e.g. EFI boot partition on GPT) the filesystem
type (MSDOS) is not a unique selector.
 1.44 16-Nov-2019  martin Make sure all menus have a translatable exit option (or none at all).
 1.43 06-Oct-2019  mrg avoid calling snprintf/strlcat with an input parameter the same
as the output. from martin@. fixes gcc 8 restrict warnings.
 1.42 13-Aug-2019  martin Make sure to completely initialize dynamic menu entries.
 1.41 25-Jul-2019  martin branches: 1.41.2;
Gracefully get out of extended partitioning if the user did not create
any partitions at all.
 1.40 23-Jul-2019  martin For upgrade / re-install allow the currently running system as a target
in the "disk" selection.
 1.39 15-Jul-2019  martin Fix partition size display
 1.38 14-Jul-2019  martin Limit the number of menu entries in extended partitioning to the
pre-allocated storage.
Minor cosmetics.
 1.37 14-Jul-2019  martin Fix a few of the very stupid mistakes I made when converting this to
the abstract partitioning interface.
 1.36 13-Jul-2019  martin We may call md_pre_mount() multiple times for the same install set,
so pass an additional index argument so MD code knows which part
of the install will be mounted next.
 1.35 22-Jun-2019  christos no need to initialize fields that are already 0.
 1.34 20-Jun-2019  christos Use _fmt_ msg_ methods when formats are needed.
 1.33 17-Jun-2019  martin Avoid variable length local array
 1.32 12-Jun-2019  martin Rework internal data structures and "interfaces to user interface" functions
to get rid of all disklabel assumptions.

Previously (even for GPT partitioning) struct disklabel was used, which
obviously breaks large disk setups. Also many MD parts and parts of the
user interface assumed (a) a struct disklabel is used internally to
store partitioning information and (b) partitions are named 'a' ... $MAXPART.

Get rid of this and replace it with a quite abstract interface that should
be able to deal with all variants in partition storage:

- partitions are stored in a (partly abstract) struct disk_partitions
and most parts of it are only accessed via accessor functions provided
by a "partitioning scheme".

- implement partitioning schemes for MBR, disklabel and GPT (with likely
RDB [amiga] and Apple Partition Map [mac*] to follow soon)

- partitioning schemes may be cascaded, e.g. on x86 when using MBR as
"outer partitions", we have disklabel as "inner partitions".

- all user interface goes via accessor functions in the partitioning scheme,
some of which return pointers to special user interface descriptors
(e.g. to allow editing partition flags, which are scheme specific)

Overall the user interface changes (in this initial step) are minimal but
noticable. A new Anita is needed for automatic test setups - many thanks
to Andreas Gustafsson for lots of early testing and a new Anita version,
and to Manuel Bouyer for cooperation and tests of the Anita release.

This work was sponsored by The NetBSD Foundation, Inc.
 1.31 21-Apr-2019  martin Use FOREACH_SAFE when removing devices from our internal list.
 1.30 12-Feb-2019  martin Backout previous snprintf nonsense, instead STFU gcc 7's most
useless warning ever.
 1.29 11-Feb-2019  martin Fix a few off by one (in both directions) in previous, pointed out by mrg.
Avoid open coding snprintf return value checking and introduce a
helper functions that always ensures string termination instead,
suggested by christos.
 1.28 11-Feb-2019  martin Remove unconditional truncation - it confuses gcc
 1.27 11-Feb-2019  martin Two more gcc 7 warnings when compiling wiht optimization on, one to go.
 1.26 11-Feb-2019  martin Make sure we properly truncate snprintf() results when the target buffer
is too small, in a way that appeases gcc 7 warnings.
 1.25 13-Dec-2018  martin Avoid undefined behaviour, pointed out by maxv
 1.24 27-Nov-2018  martin Cosmetics: consistently use MEG and GIG defines for size calculations
 1.23 20-Nov-2018  martin Convert all static menu struct initializiations to C99 name initializer
format - prerequisite for an upcoming evil hack (tm).
No functional change intended.
 1.22 18-May-2018  joerg branches: 1.22.2;
deconst -> __UNCONST, the former involves UB with NULL arithmetic.
 1.21 01-May-2018  kre Change return type of pm_lvm_find() from int to void.
It always returns (returned) 0 which was ignored by the one call.
 1.20 01-May-2018  kre PR install/53220

Don't call pm_lvm_find() unless have_lvm

pm_lvm_find() assumes that data structs (lvms) has been allocated
for it to use, which doesn't happen if !have_lvm

This avoids a sysinst core dump when the lvm command is not installed
(such as when installing from the embedded RAM root filesys in an
INSTALL kernel.)
 1.19 01-May-2018  martin vnconfig has been renamed to vndconfig. Pointed out by kre.
 1.18 04-Feb-2018  mrg branches: 1.18.2;
fixes for GCC 6.4:

mail's execute() needs a volatile for setjmp().

telnet has a missing {} issue.

isdnd's print_config() has a missing/wrong {} issue, and
its p_q931bc() has inconsistent indentation (but not any
actual problem.)

map-mbone's accept_neighbors2() compares a vs. a instead
of a vs. b.

sysinst's pm_cgd_check() has missing {} issue.

timed's main() has missing {} issue.
 1.17 29-Jan-2018  martin Cosmetics: fix the order of calloc() arguments.
 1.16 28-Jan-2018  maya Fix copy paste error. from coverity.
 1.15 12-Jan-2017  christos branches: 1.15.6;
- allocate space dynamically instead of putting structs in BSS.
- change some wrong strncat to strlcat.
 1.14 11-Dec-2016  alnsn Add aes-xts to sysinst(8).
 1.13 30-May-2016  dholland branches: 1.13.2;
Explicitly ignore errors in the hack for mucking with wedges; mark it XXX
for future attention. Other part of PR 50886 from David Binderman.
 1.12 30-May-2016  dholland #if out some unreachable code that's apparently not yet supported.
PR 50886 from David Binderman.
 1.11 17-May-2015  martin Invert sense of a vnd creation message ("Create new image: Yes") and kill
the translations that I can't update myself.
 1.10 10-May-2015  martin Backout the previous incorrect fix for PR 49440 and redo it more globaly:
get rid of the global "yesno", introduce utility functions "ask_yesno()"
and "ask_noyes()" instead, greatly simplifying a lot of code.
Pass in a pointer to the return value to various "set source" menus.
 1.9 09-May-2015  martin Add a new utility function "update_wedges()", which triggers a scan
for wedges on the given disk. Call this after writing a disklabel.
This makes all auto-discovered wedges go away after we changed the
partitioning (and are not using GPT) and fixes PR 49665.
 1.8 02-Jan-2015  abs Rather than scatter set_swap() calls wrapped in ram size checks through
md_post_disklabel() and md_pre_update(), abstract them out to an MI
set_swap_if_low_ram() and call from the appropriate MI places.
Now all platforms add swap if the system has <= 32M of RAM.
 1.7 18-Oct-2014  snj src is too big these days to tolerate superfluous apostrophes. It's
"its", people!
 1.6 19-Aug-2014  martin branches: 1.6.2;
Make sure to not dereference a NULL pointer.
 1.5 19-Aug-2014  martin Cosmetic changes trying to appease coverity scan.
 1.4 08-Aug-2014  riz branches: 1.4.2; 1.4.4;
Clean up comments. No functional changes.
 1.3 06-Aug-2014  martin Remove a few menu entries if raid/lvm/cgd/gpt are not available.
 1.2 05-Aug-2014  martin Avoid comparision between array and NULL
 1.1 03-Aug-2014  martin (Finally) merge a slightly modified version of the 2012 GSoC results
from Eugene Lozovoy: add extended partitioning options to sysinst.
Still needs some testing and polishing, but it now is possible to use GPT
or to create a RAID set from scratch and install onto it.
 1.4.4.4 14-May-2015  snj Pull up following revision(s) (requested by martin in ticket #756):
usr.sbin/sysinst/arch/arc/md.c: revision 1.4
usr.sbin/sysinst/arch/atari/md.c: revision 1.3
usr.sbin/sysinst/arch/cobalt/md.c: revision 1.4
usr.sbin/sysinst/arch/emips/md.c: revision 1.3
usr.sbin/sysinst/arch/evbarm/md.c: revision 1.4
usr.sbin/sysinst/arch/evbarm64/md.c: revision 1.2
usr.sbin/sysinst/arch/hp300/md.c: revision 1.4
usr.sbin/sysinst/arch/i386/md.c: revision 1.6
usr.sbin/sysinst/arch/mac68k/md.c: revision 1.3
usr.sbin/sysinst/arch/mac68k/md.c: revision 1.4
usr.sbin/sysinst/arch/mac68k/menus.md.de: revisions 1.3, 1.4
usr.sbin/sysinst/arch/mac68k/menus.md.en: revisions 1.3, 1.4
usr.sbin/sysinst/arch/mac68k/menus.md.es: revisions 1.3, 1.4
usr.sbin/sysinst/arch/mac68k/menus.md.pl: revisions 1.3, 1.4
usr.sbin/sysinst/arch/mvme68k/md.c: revision 1.4
usr.sbin/sysinst/arch/ofppc/md.c: revision 1.3
usr.sbin/sysinst/arch/prep/md.c: revisions 1.3, 1.4
usr.sbin/sysinst/arch/prep/menus.md.en: revision 1.2
usr.sbin/sysinst/arch/x68k/md.c: revision 1.4
usr.sbin/sysinst/configmenu.c: revisions 1.4, 1.5
usr.sbin/sysinst/defs.h: revisions 1.8, 1.9
usr.sbin/sysinst/disks.c: revision 1.9
usr.sbin/sysinst/install.c: revision 1.4
usr.sbin/sysinst/label.c: revision 1.3
usr.sbin/sysinst/mbr.c: revision 1.5
usr.sbin/sysinst/menus.mi: revisions 1.9, 1.10
usr.sbin/sysinst/net.c: revisions 1.18-1.20
usr.sbin/sysinst/partman.c: revision 1.10
usr.sbin/sysinst/upgrade.c: revision 1.4
usr.sbin/sysinst/util.c: revisions 1.6, 1.7
Backout the previous incorrect fix for PR 49440 and redo it more globaly:
get rid of the global "yesno", introduce utility functions "ask_yesno()"
and "ask_noyes()" instead, greatly simplifying a lot of code.
Pass in a pointer to the return value to various "set source" menus.
--
Make it compile on architectures that do not support INET6 in sysinst
--
Remove a few more (ab-)usages of "yesno".
--
More (ab-)usages of "yesno"
--
Make "ask_yesno" and "ask_noyes" take a const char * as argument, moving
the deconst() dance into the utility functions and simplifying all callers.
--
Missed a few more "yesno" in previous
 1.4.4.3 09-May-2015  msaitoh Pull up following revision(s) (requested by martin in ticket #744):
usr.sbin/sysinst/defs.h: revision 1.7
usr.sbin/sysinst/disks.c: revision 1.8
usr.sbin/sysinst/partman.c: revision 1.9
Add a new utility function "update_wedges()", which triggers a scan
for wedges on the given disk. Call this after writing a disklabel.
This makes all auto-discovered wedges go away after we changed the
partitioning (and are not using GPT) and fixes PR 49665.
 1.4.4.2 11-Jan-2015  snj Pull up following revision(s) (requested by abs in ticket #400):
usr.sbin/sysinst/arch/arc/md.c: revision 1.3
usr.sbin/sysinst/arch/cobalt/md.c: revision 1.3
usr.sbin/sysinst/arch/evbsh3/md.c: revision 1.3
usr.sbin/sysinst/arch/hp300/md.c: revision 1.3
usr.sbin/sysinst/arch/hpcsh/md.c: revision 1.3
usr.sbin/sysinst/arch/i386/md.c: revision 1.5
usr.sbin/sysinst/arch/luna68k/md.c: revision 1.4
usr.sbin/sysinst/arch/mvme68k/md.c: revision 1.3
usr.sbin/sysinst/arch/news68k/md.c: revision 1.3
usr.sbin/sysinst/arch/sgimips/md.c: revision 1.3
usr.sbin/sysinst/arch/vax/md.c: revision 1.3
usr.sbin/sysinst/arch/x68k/md.c: revision 1.3
usr.sbin/sysinst/defs.h: revision 1.6
usr.sbin/sysinst/disks.c: revision 1.7
usr.sbin/sysinst/install.c: revision 1.3
usr.sbin/sysinst/partman.c: revision 1.8
usr.sbin/sysinst/upgrade.c: revision 1.3
Rather than scatter set_swap() calls wrapped in ram size checks through
md_post_disklabel() and md_pre_update(), abstract them out to an MI
set_swap_if_low_ram() and call from the appropriate MI places.
Now all platforms add swap if the system has <= 32M of RAM.
 1.4.4.1 23-Aug-2014  riz Pull up following revision(s) (requested by martin in ticket #39):
usr.sbin/sysinst/main.c: revision 1.4
usr.sbin/sysinst/disks.c: revision 1.5
usr.sbin/sysinst/main.c: revision 1.5
usr.sbin/sysinst/mbr.c: revision 1.3
usr.sbin/sysinst/net.c: revision 1.3
usr.sbin/sysinst/net.c: revision 1.4
usr.sbin/sysinst/partman.c: revision 1.5
usr.sbin/sysinst/partman.c: revision 1.6
usr.sbin/sysinst/util.c: revision 1.4
Remove duplicate fclose(), pointed out by coverity scan.
Remove (accidently) duplicated code - pointed out by coverity scan.
Make sure the interface name is 0 terminated, pointed out by coverity scan.
Check return value from getenv() before using the value. Pointed out by
coverity scan.
Make an invariant more clear to avoid fals positives from coverity scan
if chdir() fails, try chdir /
Check return values from stat before comparing contents of the result
structures. Pointed out by coverity scan.
Cosmetic changes trying to appease coverity scan.
Make sure to not dereference a NULL pointer.
 1.4.2.2 10-Aug-2014  tls Rebase.
 1.4.2.1 08-Aug-2014  tls file partman.c was added on branch tls-earlyentropy on 2014-08-10 07:00:24 +0000
 1.6.2.2 20-Aug-2014  tls Rebase to HEAD as of a few days ago.
 1.6.2.1 19-Aug-2014  tls file partman.c was added on branch tls-maxphys on 2014-08-20 00:05:13 +0000
 1.13.2.2 20-Mar-2017  pgoyette Sync with HEAD
 1.13.2.1 07-Jan-2017  pgoyette Sync with HEAD. (Note that most of these changes are simply $NetBSD$
tag issues.)
 1.15.6.4 09-Jun-2018  martin Pull up following revision(s) (requested by joerg in ticket #869):

usr.sbin/sysinst/arch/mvme68k/md.c: revision 1.5
usr.sbin/sysinst/net.c: revision 1.24
usr.sbin/sysinst/partman.c: revision 1.22
usr.sbin/sysinst/menus.mi: revision 1.12
usr.sbin/sysinst/arch/i386/md.c: revision 1.8
usr.sbin/sysinst/arch/alpha/md.c: revision 1.3
usr.sbin/sysinst/bsddisklabel.c: revision 1.3
usr.sbin/sysinst/arch/x68k/md.c: revision 1.5
usr.sbin/sysinst/arch/hp300/md.c: revision 1.5
usr.sbin/sysinst/arch/emips/md.c: revision 1.4
usr.sbin/sysinst/arch/pmax/md.c: revision 1.3
usr.sbin/sysinst/arch/mipsco/md.c: revision 1.3
usr.sbin/sysinst/arch/hppa/md.c: revision 1.3
usr.sbin/sysinst/util.c: revision 1.8
usr.sbin/sysinst/defs.h: revision 1.10
usr.sbin/sysinst/arch/landisk/md.c: revision 1.4

deconst -> __UNCONST, the former involves UB with NULL arithmetic.
 1.15.6.3 07-May-2018  snj Pull up following revision(s) (requested by kre in ticket #801):
usr.sbin/sysinst/partman.c: 1.20-1.21
PR install/53220
Don't call pm_lvm_find() unless have_lvm
pm_lvm_find() assumes that data structs (lvms) has been allocated
for it to use, which doesn't happen if !have_lvm
This avoids a sysinst core dump when the lvm command is not installed
(such as when installing from the embedded RAM root filesys in an
INSTALL kernel.)
--
Change return type of pm_lvm_find() from int to void.
It always returns (returned) 0 which was ignored by the one call.
 1.15.6.2 07-May-2018  snj Pull up following revision(s) (requested by martin in ticket #794):
usr.sbin/sysinst/partman.c: 1.18
fixes for GCC 6.4:
sysinst's pm_cgd_check() has missing {} issue.
 1.15.6.1 07-May-2018  snj Pull up following revision(s) (requested by martin in ticket #793):
usr.sbin/sysinst/partman.c: 1.16-1.17
Fix copy paste error. from coverity.
Cosmetics: fix the order of calloc() arguments.
 1.18.2.4 26-Dec-2018  pgoyette Sync with HEAD, resolve a few conflicts
 1.18.2.3 26-Nov-2018  pgoyette Sync with HEAD, resolve a couple of conflicts
 1.18.2.2 21-May-2018  pgoyette Sync with HEAD
 1.18.2.1 02-May-2018  pgoyette Synch with HEAD
 1.22.2.2 13-Apr-2020  martin Mostly merge changes from HEAD upto 20200411
 1.22.2.1 10-Jun-2019  christos Sync with HEAD
 1.41.2.5 10-Feb-2020  bouyer Pull up following revision(s) (requested by martin in ticket #693):
usr.sbin/sysinst/arch/x68k/msg.md.en: revision 1.2
usr.sbin/sysinst/arch/x68k/md.c: revision 1.10
usr.sbin/sysinst/arch/mvme68k/msg.md.fr: revision 1.2
usr.sbin/sysinst/arch/x68k/msg.md.en: revision 1.3
usr.sbin/sysinst/arch/mvme68k/msg.md.fr: revision 1.3
usr.sbin/sysinst/msg.mi.en: revision 1.28
usr.sbin/sysinst/arch/hp300/md.c: revision 1.10
usr.sbin/sysinst/msg.mi.es: revision 1.22
usr.sbin/sysinst/target.c: revision 1.12
usr.sbin/sysinst/arch/mvme68k/md.c: revision 1.10
usr.sbin/sysinst/arch/i386/md.c: revision 1.30
usr.sbin/sysinst/arch/mvme68k/msg.md.pl: revision 1.2
usr.sbin/sysinst/arch/mvme68k/msg.md.pl: revision 1.3
usr.sbin/sysinst/bsddisklabel.c: revision 1.39
usr.sbin/sysinst/arch/mvme68k/msg.md.de: revision 1.2
usr.sbin/sysinst/arch/mac68k/md.c: revision 1.9
usr.sbin/sysinst/disklabel.c: revision 1.35
usr.sbin/sysinst/arch/mvme68k/msg.md.de: revision 1.3
usr.sbin/sysinst/defs.h: revision 1.55
usr.sbin/sysinst/disks.c: revision 1.63
usr.sbin/sysinst/disks.c: revision 1.64
usr.sbin/sysinst/mbr.c: revision 1.31
usr.sbin/sysinst/disks.c: revision 1.65
usr.sbin/sysinst/txtwalk.c: revision 1.3
usr.sbin/sysinst/txtwalk.c: revision 1.4
usr.sbin/sysinst/arch/mvme68k/msg.md.en: revision 1.2
usr.sbin/sysinst/arch/mvme68k/msg.md.en: revision 1.3
usr.sbin/sysinst/msg.mi.fr: revision 1.26
usr.sbin/sysinst/msg.mi.pl: revision 1.29
usr.sbin/sysinst/arch/mvme68k/msg.md.es: revision 1.2
usr.sbin/sysinst/upgrade.c: revision 1.15
usr.sbin/sysinst/arch/mvme68k/msg.md.es: revision 1.3
usr.sbin/sysinst/upgrade.c: revision 1.16
usr.sbin/sysinst/partman.c: revision 1.50
usr.sbin/sysinst/msg.mi.de: revision 1.21
remove unused "emptypart" message (or moved to ifdef notyet area)
PR install/54921: message "ordering" takes a %s argument.
PR install/54921: skip non-user partitions when checking for overlaps
bootxx_name() - fix oversight in previous change (do not assume first
partition is the root partition)
PR install/54934: always use -f on the installboot invocation. We come
here post-newfs (and maybe should have dd'd zeros to the start of the
disk before newfs instead).
Remove a bogus assert: when reading disklabel partitions and the outer
(MBR) partitioning has changed, but the changes have not yet been written
back to disk, we need to ignore the kernels idea of the disklabel and
instead continue with an empty one.
Deal with partitioning schemes having no inner counterpart.
Avoid NULL derefs.
Do not assum a partitioning scheme that supports innner partitions always
needs to actually have such partitions defined.
PR bin/54944: deal with escaped spaces in NAME= syntax in /etc/fstab.
PR bin/54944: explicitly reject GPT protective MBRs.
PR bin/54944: make the "explicit single wedge" selection also work for
upgrades.
Reformat a query to add an automatically detected swap partition
so it fits on narrow screens.
Make re-install sets also work for an explicit selected root wedge
Fix copy&pasto in previous - from kre.
Only a single partition can ever have the "extend" flag (grow to available
size).
Do not use -P for tar extractions - the in tree tar has been fixed.
Finish conversion to generic partitioning backend
 1.41.2.4 28-Jan-2020  msaitoh Pull up following revision(s) (requested by martin in ticket #668):
usr.sbin/sysinst/arch/cobalt/md.c: revision 1.11
usr.sbin/sysinst/arch/cobalt/md.c: revision 1.12
usr.sbin/sysinst/arch/arc/md.c: revision 1.11
usr.sbin/sysinst/arch/arc/md.c: revision 1.12
usr.sbin/sysinst/partman.c: revision 1.43
usr.sbin/sysinst/partman.c: revision 1.46
usr.sbin/sysinst/partman.c: revision 1.47
usr.sbin/sysinst/partman.c: revision 1.48
usr.sbin/sysinst/partman.c: revision 1.49
usr.sbin/sysinst/msg.pm.fr: revision 1.2
usr.sbin/sysinst/upgrade.c: revision 1.14
usr.sbin/sysinst/arch/i386/md.c: revision 1.28
usr.sbin/sysinst/arch/i386/md.c: revision 1.29
usr.sbin/sysinst/arch/ofppc/md.c: revision 1.9
usr.sbin/sysinst/arch/sandpoint/md.c: revision 1.7
usr.sbin/sysinst/arch/sandpoint/md.c: revision 1.8
usr.sbin/sysinst/gpt.c: revision 1.14
usr.sbin/sysinst/gpt.c: revision 1.15
usr.sbin/sysinst/arch/luna68k/md.c: revision 1.8
usr.sbin/sysinst/gpt.c: revision 1.16
usr.sbin/sysinst/msg.pm.de: revision 1.2
usr.sbin/sysinst/arch/evbarm/md.c: revision 1.11
usr.sbin/sysinst/arch/evbarm/md.c: revision 1.12
usr.sbin/sysinst/arch/evbarm/md.c: revision 1.13
usr.sbin/sysinst/arch/evbarm/md.c: revision 1.14
usr.sbin/sysinst/sizemultname.c: revision 1.4
usr.sbin/sysinst/msg.pm.en: revision 1.2
usr.sbin/sysinst/arch/landisk/md.c: revision 1.12
usr.sbin/sysinst/util.c: revision 1.41
usr.sbin/sysinst/arch/landisk/md.c: revision 1.13
usr.sbin/sysinst/util.c: revision 1.42
usr.sbin/sysinst/arch/ofppc/md.c: revision 1.10
usr.sbin/sysinst/partitions.c: revision 1.9
usr.sbin/sysinst/arch/evbarm/md.h: revision 1.4
usr.sbin/sysinst/arch/evbarm/md.h: revision 1.5
usr.sbin/sysinst/arch/evbmips/md.c: revision 1.7
usr.sbin/sysinst/arch/evbmips/md.c: revision 1.8
usr.sbin/sysinst/msg.mi.fr: revision 1.25
usr.sbin/sysinst/msg.mi.de: revision 1.20
usr.sbin/sysinst/install.c: revision 1.14
usr.sbin/sysinst/partitions.h: revision 1.13
usr.sbin/sysinst/partitions.h: revision 1.14
usr.sbin/sysinst/arch/evbppc/md.c: revision 1.7
usr.sbin/sysinst/arch/playstation2/md.c: revision 1.7
usr.sbin/sysinst/msg.mi.en: revision 1.27
usr.sbin/sysinst/partitions.h: revision 1.15
usr.sbin/sysinst/arch/evbppc/md.c: revision 1.8
usr.sbin/sysinst/arch/hpcarm/md.c: revision 1.7
usr.sbin/sysinst/arch/playstation2/md.c: revision 1.8
usr.sbin/sysinst/msg.pm.pl: revision 1.2
usr.sbin/sysinst/arch/hpcarm/md.c: revision 1.8
usr.sbin/sysinst/msg.mi.es: revision 1.21
usr.sbin/sysinst/arch/zaurus/md.c: revision 1.7
usr.sbin/sysinst/target.c: revision 1.11
usr.sbin/sysinst/arch/zaurus/md.c: revision 1.8
usr.sbin/sysinst/part_edit.c: revision 1.14
usr.sbin/sysinst/part_edit.c: revision 1.15
usr.sbin/sysinst/part_edit.c: revision 1.16
usr.sbin/sysinst/defs.h: revision 1.50
usr.sbin/sysinst/defs.h: revision 1.51
usr.sbin/sysinst/defs.h: revision 1.52
usr.sbin/sysinst/defs.h: revision 1.53
usr.sbin/sysinst/defs.h: revision 1.54
usr.sbin/sysinst/arch/hpcmips/md.c: revision 1.7
usr.sbin/sysinst/arch/hpcmips/md.c: revision 1.8
usr.sbin/sysinst/arch/hpcsh/md.c: revision 1.8
usr.sbin/sysinst/msg.pm.es: revision 1.2
usr.sbin/sysinst/arch/hpcsh/md.c: revision 1.9
usr.sbin/sysinst/label.c: revision 1.18
usr.sbin/sysinst/label.c: revision 1.19
usr.sbin/sysinst/net.c: revision 1.35
usr.sbin/sysinst/msg.mi.pl: revision 1.28
usr.sbin/sysinst/disklabel.c: revision 1.28
usr.sbin/sysinst/disklabel.c: revision 1.29
usr.sbin/sysinst/mbr.c: revision 1.24
usr.sbin/sysinst/disks.c: revision 1.59
usr.sbin/sysinst/mbr.c: revision 1.25
usr.sbin/sysinst/mbr.c: revision 1.26
usr.sbin/sysinst/mbr.c: revision 1.27
usr.sbin/sysinst/mbr.c: revision 1.28
usr.sbin/sysinst/label.c: revision 1.20
usr.sbin/sysinst/mbr.c: revision 1.29
usr.sbin/sysinst/bsddisklabel.c: revision 1.34
usr.sbin/sysinst/bsddisklabel.c: revision 1.35
usr.sbin/sysinst/bsddisklabel.c: revision 1.36
usr.sbin/sysinst/bsddisklabel.c: revision 1.37
usr.sbin/sysinst/disklabel.c: revision 1.30
usr.sbin/sysinst/bsddisklabel.c: revision 1.38
usr.sbin/sysinst/disklabel.c: revision 1.31
usr.sbin/sysinst/disklabel.c: revision 1.32
usr.sbin/sysinst/disklabel.c: revision 1.33
usr.sbin/sysinst/disklabel.c: revision 1.34
usr.sbin/sysinst/disks.c: revision 1.60
usr.sbin/sysinst/disks.c: revision 1.61
usr.sbin/sysinst/arch/bebox/md.c: revision 1.7
usr.sbin/sysinst/disks.c: revision 1.62
usr.sbin/sysinst/arch/bebox/md.c: revision 1.8
usr.sbin/sysinst/mbr.c: revision 1.30
usr.sbin/sysinst/partitions.c: revision 1.10
usr.sbin/sysinst/arch/prep/md.c: revision 1.11
usr.sbin/sysinst/arch/prep/md.c: revision 1.12
usr.sbin/sysinst/menus.pm: revision 1.3
usr.sbin/sysinst/main.c: revision 1.20
usr.sbin/sysinst/menus.mi: revision 1.20
usr.sbin/sysinst/menus.mi: revision 1.21
avoid calling snprintf/strlcat with an input parameter the same
as the output. from martin@. fixes gcc 8 restrict warnings.
Finish conversion of extended partitioning parts to new abstract
backend interface. XXX still could use a lot of polishing.
Instead of a (bogus) attempt to query the model via ofctl, use the (now
fixed) sysctl hw.model instead.
When reading the secondary disklabel partitions from an existing disklabel
set the mbr partitions as parent.
Move the LABELSECTOR check and make it FS type specific - some partition
types (FFS, RAID) are allowed to overlap with the LABELSECTOR.
When asked to create a whole-disk partition for unknown usage, do not only
assert(false), but actually return an error (in case "assert" is a nop).
PR install/54787: when trying to derive proper alignement and first offset
from exisiting partitions, use the first partition offset if it is already
closer to the start of the disk than the prefered alignment - we can not
move existing partitions around.
Fix handling of inner/outer partitions (e.g. MBR and disklabel) in
extended partitioning:
- when editing a disk with such a schme, offer both partitions in two
steps
- when commiting changes save the inner partitions after the outer ones
Add a method to query the partitioning schemes "internal idea" of a
cylinder size - whatever that means in the real world.
Avoid using the global "pm" variable in utility functions - during
extended partitioning they may point to a different device.
Remove useless calls to get_ramsize() - return value is ignored and
the function has no side effects.
Fix /tmp tmpfs handling and on machines with enough RAM default to
creating a /tmp tmpfs with 25% of ram size limit. Suggested by ad@.
PR install/54872: fix printf argument order, sectors and heads were
swapped in the bios geometry display.
First try to bring evbarm installation closer to current reality.
hide disklabel_non_bootable() under NO_DISKLABEL_BOOT like the usage.
should fix most builds.
Deal with even stranger fictious empty disklabels (PR kern/54882).
Factor out all RAM size thresholds as defines to avoid magic numbers.
To work around PR misc/54886 bump the threshold for a tmpfs /tmp mount
up to 256 MB.
When retrying sets during extraction, reset the relevant statistics
to avoid counting retried sets multiple times.
Reported by kim.
Fix support for non-512-byte/sector disks again after I broke it when
introducing the abstract partition backends.
Use a few strlcpy() instead of strncpy() for network ioctl structs.
We seem to have no formal documentation stating the various
char if*_name[IFNAMSIZ]; /* if name, e.g. "en0" */
elements in ioctls are nul terminated, but the peanut gallery claims
it is so - and at least half of the code in-tree touching them agrees.
Too much disklabel magic happening in the kernel - to compensate force
MBR first when trying to identify the existing partitioning scheme of
a disk.
 1.41.2.3 17-Dec-2019  msaitoh Pull up following revision(s) (requested by martin in ticket #560):
usr.sbin/sysinst/partitions.h: revision 1.11
usr.sbin/sysinst/defs.h: revision 1.49
usr.sbin/sysinst/mbr.c: revision 1.23
usr.sbin/sysinst/msg.mi.en: revision 1.26
usr.sbin/sysinst/disks.c: revision 1.58
usr.sbin/sysinst/arch/evbarm/menus.md.pl: revision 1.2
usr.sbin/sysinst/msg.mi.es: revision 1.20
usr.sbin/sysinst/arch/mvme68k/md.c: revision 1.9
usr.sbin/sysinst/gpt.c: revision 1.13
usr.sbin/sysinst/arch/evbarm/md.c: revision 1.10
usr.sbin/sysinst/arch/arc/md.c: revision 1.10
usr.sbin/sysinst/disklabel.c: revision 1.18
usr.sbin/sysinst/bsddisklabel.c: revision 1.33
usr.sbin/sysinst/disklabel.c: revision 1.19
usr.sbin/sysinst/main.c: revision 1.19
usr.sbin/sysinst/partman.c: revision 1.45
usr.sbin/sysinst/arch/alpha/md.c: revision 1.7
usr.sbin/sysinst/msg.mi.de: revision 1.19
usr.sbin/sysinst/arch/evbarm/menus.md.en: revision 1.2
usr.sbin/sysinst/arch/x68k/md.h: revision 1.4
usr.sbin/sysinst/arch/x68k/md.c: revision 1.9
usr.sbin/sysinst/arch/evbarm/menus.md.es: revision 1.2
usr.sbin/sysinst/wskbd.c: revision 1.4
usr.sbin/sysinst/label.c: revision 1.15
usr.sbin/sysinst/arch/amiga/md.h: revision 1.5
usr.sbin/sysinst/label.c: revision 1.16
usr.sbin/sysinst/arch/hp300/md.c: revision 1.9
usr.sbin/sysinst/arch/emips/md.c: revision 1.8
usr.sbin/sysinst/label.c: revision 1.17
usr.sbin/sysinst/arch/pmax/md.c: revision 1.7
usr.sbin/sysinst/partitions.c: revision 1.6
usr.sbin/sysinst/arch/prep/md.c: revision 1.10
usr.sbin/sysinst/arch/mipsco/md.c: revision 1.7
usr.sbin/sysinst/partitions.c: revision 1.7
usr.sbin/sysinst/partitions.c: revision 1.8
usr.sbin/sysinst/arch/ews4800mips/md.c: revision 1.5
usr.sbin/sysinst/disklabel.c: revision 1.20
usr.sbin/sysinst/arch/evbarm/menus.md.fr: revision 1.2
usr.sbin/sysinst/msg.mi.fr: revision 1.24
usr.sbin/sysinst/disklabel.c: revision 1.21
usr.sbin/sysinst/partitions.h: revision 1.9
usr.sbin/sysinst/msg.mi.pl: revision 1.27
usr.sbin/sysinst/disklabel.c: revision 1.22
usr.sbin/sysinst/disklabel.c: revision 1.23
usr.sbin/sysinst/arch/i386/md.c: revision 1.27
usr.sbin/sysinst/disklabel.c: revision 1.24
usr.sbin/sysinst/disklabel.c: revision 1.25
usr.sbin/sysinst/arch/cobalt/md.h: revision 1.5
usr.sbin/sysinst/disklabel.c: revision 1.26
usr.sbin/sysinst/disklabel.c: revision 1.27
usr.sbin/sysinst/partitions.h: revision 1.10
usr.sbin/sysinst/arch/cobalt/md.c: revision 1.10
PR install/54582: allow MD code to disable on-disk presence verification
of "real" disklabels. Auto-enable this (at run time) when there is no other
partitioning scheme but disklabel configured.
Hard-coded enable this for x68k to allow using kernel based translations
for native Human68k partitions.
Get rid of the evbarm preliminary menu: do not bother to ask the user
whether this is a RPi - query the FDT instead.
PR 54065: add optional "old compat" variant of ext2fs in file system
type selection and use that as default for the cobalt boot file system.
For now rely on the kernel mapping native RDB partitions.
Fix detection of existing disklabels in the case when we only have
the disklabel partitioning scheme available.
Fix DISKLABEL_NO_ONDISK_VERIFY (accidently disabled in previous)
Fix inverted comparison
Do not try to change the keyboard layout if we are not running on the
console.
When trying to tell a fictious but empty label from a real one, skip
partition a if it has the same start and size as the raw partition.
Remove bogus assert.
When finding (paritioning scheme native) partition types for file systems
from our install description, pass the partition type (not only the file
system type). Sometimes (e.g. EFI boot partition on GPT) the filesystem
type (MSDOS) is not a unique selector.
Adapt MD parts to changes in get_fs_part_type (pass partition type).
If a fictious label has no RAW_PART assume there is no valid disk label.
Pass proper track size when initializing the default alignment - this is
important with sunlabels.
Fix overlapping partitions display
Reject (what we consider) empty/invalid fake disklabels no matter whether
we have other partitioning schemes available or not.
Do not show disklabel command invocation by default (only if there are
errors).
After installing boot blocks with RUN_NO_CLEAR (and handling the
potential errors) make sure to clear the stdscreen.
 1.41.2.2 17-Nov-2019  msaitoh Pull up following revision(s) (requested by martin in ticket #436):
usr.sbin/sysinst/disks.c: revision 1.55
usr.sbin/sysinst/msg.mi.en: revision 1.24
usr.sbin/sysinst/mbr.c: revision 1.22
usr.sbin/sysinst/disks.c: revision 1.56
usr.sbin/sysinst/msg.mi.en: revision 1.25
usr.sbin/sysinst/disks.c: revision 1.57
usr.sbin/sysinst/arch/playstation2/msg.md.pl: revision 1.3
usr.sbin/sysinst/Makefile.inc: revision 1.30
usr.sbin/sysinst/configmenu.c: revision 1.11
usr.sbin/sysinst/util.c: revision 1.35
usr.sbin/sysinst/gpt.c: revision 1.12
usr.sbin/sysinst/util.c: revision 1.36
usr.sbin/sysinst/arch/playstation2/msg.md.de: revision 1.3
usr.sbin/sysinst/arch/i386/menus.md: revision 1.3
usr.sbin/sysinst/util.c: revision 1.37
usr.sbin/sysinst/part_edit.c: revision 1.11
usr.sbin/sysinst/arch/i386/msg.md.en: revision 1.2
usr.sbin/sysinst/util.c: revision 1.38
usr.sbin/sysinst/part_edit.c: revision 1.12
usr.sbin/sysinst/arch/i386/msg.md.en: revision 1.3
usr.sbin/sysinst/util.c: revision 1.39
usr.sbin/sysinst/part_edit.c: revision 1.13
usr.sbin/sysinst/arch/i386/msg.md.en: revision 1.4
usr.sbin/sysinst/disklabel.c: revision 1.15
usr.sbin/sysinst/bsddisklabel.c: revision 1.30
usr.sbin/sysinst/arch/i386/msg.md.es: revision 1.2
usr.sbin/sysinst/bsddisklabel.c: revision 1.31
usr.sbin/sysinst/arch/i386/msg.md.es: revision 1.3
usr.sbin/sysinst/arch/i386/msg.md.es: revision 1.4
usr.sbin/sysinst/mbr.h: revision 1.4
usr.sbin/sysinst/main.c: revision 1.18
usr.sbin/sysinst/partman.c: revision 1.44
usr.sbin/sysinst/msg.mi.de: revision 1.17
usr.sbin/sysinst/arch/i386/msg.md.fr: revision 1.2
usr.sbin/sysinst/msg.mi.de: revision 1.18
usr.sbin/sysinst/arch/i386/msg.md.fr: revision 1.3
usr.sbin/sysinst/arch/playstation2/msg.md.en: revision 1.3
usr.sbin/sysinst/arch/i386/msg.md.fr: revision 1.4
usr.sbin/sysinst/arch/amd64/md.c: revision 1.2
usr.sbin/sysinst/arch/ews4800mips/Makefile: revision 1.3
usr.sbin/sysinst/arch/playstation2/msg.md.es: revision 1.3
usr.sbin/sysinst/label.c: revision 1.13
usr.sbin/sysinst/Makefile.inc: revision 1.29
usr.sbin/sysinst/label.c: revision 1.14
usr.sbin/sysinst/util.c: revision 1.40
usr.sbin/sysinst/partitions.c: revision 1.5
usr.sbin/sysinst/arch/amd64/md.h: revision 1.8
usr.sbin/sysinst/msg.mi.es: revision 1.18
usr.sbin/sysinst/net.c: revision 1.34
usr.sbin/sysinst/msg.mi.es: revision 1.19
usr.sbin/sysinst/arch/i386/msg.md.pl: revision 1.2
usr.sbin/sysinst/arch/i386/md.c: revision 1.22
usr.sbin/sysinst/msg.mi.fr: revision 1.22
usr.sbin/sysinst/arch/playstation2/msg.md.fr: revision 1.3
usr.sbin/sysinst/arch/i386/msg.md.pl: revision 1.3
usr.sbin/sysinst/arch/i386/md.c: revision 1.23
usr.sbin/sysinst/msg.mi.pl: revision 1.25
usr.sbin/sysinst/msg.mi.fr: revision 1.23
usr.sbin/sysinst/arch/i386/msg.md.pl: revision 1.4
usr.sbin/sysinst/arch/i386/md.c: revision 1.24
usr.sbin/sysinst/partitions.h: revision 1.8
usr.sbin/sysinst/msg.mi.pl: revision 1.26
usr.sbin/sysinst/arch/i386/msg.md.de: revision 1.2
usr.sbin/sysinst/arch/i386/msg.md.de: revision 1.3
usr.sbin/sysinst/arch/i386/msg.md.de: revision 1.4
usr.sbin/sysinst/run.c: revision 1.13
usr.sbin/sysinst/defs.h: revision 1.46
usr.sbin/sysinst/install.c: revision 1.12
usr.sbin/sysinst/defs.h: revision 1.47
usr.sbin/sysinst/install.c: revision 1.13
usr.sbin/sysinst/defs.h: revision 1.48
Add options to the various partitioning stages that allow cloning of
alien partitions (optionally including data).
PR 54467: we trust our own sets, extract them with -P to allow symlink
redirection (especially for updates and chroot services - back out
once a better solution for those is implemented)
Make cloning support optional, so we can save some space on very small
install media.
Drop MBR and cloning support on crunched install media.
Make tar extraction flags depend on our usage of pax-as-tar or bsdtar.
Fix missing newlines in bios match display, pointed out by maxv.
Drop unused variable.
Fix table of bios geomatries
knf style adjustments
Make the bootblock selection menu more sane, pointed out by maxv
Make sure all menus have a translatable exit option (or none at all).
On amd64 support installation with a KASLR kernel, via "custom install"
and selecting the GENERIC_KASLR kernel set.
Setup /prekern and boot.cfg accordingly.
 1.41.2.1 18-Aug-2019  msaitoh Pull up following revision(s) (requested by martin in ticket #76):
usr.sbin/sysinst/partman.c: revision 1.42
Make sure to completely initialize dynamic menu entries.
 1.56.2.1 26-Nov-2023  bouyer Pull up following revision(s) (requested by martin in ticket #474):
usr.sbin/sysinst/partman.c: revision 1.57
PR 57698: avoid a few potential sysinst crashes in environments where
not all binaries are available - e.g. w/o cgdconfig(8) the "cgds" pointer
would be NULL (as there can't be any) and we crashed when naively
dereferencing it.
 1.16 04-Oct-2024  rillig sysinst: fix lint warning about "effectively discards 'const'"

No binary change except for assertion line numbers.
 1.15 21-Apr-2022  martin branches: 1.15.4;
Make default installations a bit more secure:
- push a bit harder for setup of a root password
- simplify/clarify manual entropy setup
- visit the entropy setup (on machines where it is needed) on the
default path through sysinst
 1.14 03-Aug-2021  martin When reading output from a program we don't know how much it will
be - so scale the buffer (within reasonable limits).
Problem pointed out by RVP, triggered e.g. by disks with lots of GPT
partitions.
 1.13 16-Nov-2019  martin Make sure all menus have a translatable exit option (or none at all).
 1.12 22-Jun-2019  christos branches: 1.12.2;
no need to initialize fields that are already 0.
 1.11 20-Jun-2019  christos Use _fmt_ msg_ methods when formats are needed.
 1.10 27-Feb-2019  martin Simplify previous even further by using hline() instead of a hand coded
version.
 1.9 27-Feb-2019  martin Simplify previous, suggested by simonb.
 1.8 26-Feb-2019  joerg Avoid string + int warning.
 1.7 20-Nov-2018  martin Convert all static menu struct initializiations to C99 name initializer
format - prerequisite for an upcoming evil hack (tm).
No functional change intended.
 1.6 02-Nov-2018  martin Make the debug version compilable with modern gcc.
Do debugging for system(3) calls only when DEBUG_SYSTEM is defined.
 1.5 30-Dec-2014  martin branches: 1.5.14; 1.5.16;
Revise previous: with RUN_SILENT there is never a good reason to create
the output window unless there is actually output to display.
 1.4 29-Dec-2014  martin If we launch a program with RUN_SILENT, give it more than two seconds to
run before we create an output window. On a swapping VAX it can take
seriously longer, and we get interactive status display even if the program
did not produce any error output otherwise.
 1.3 14-Oct-2014  christos Don't use asctime(localtime(time_t *)) because this is really ctime(time_t *)
and not checking the result of localtime can lead to tears.
Add a safectime() that always returns a good string, and add some debugging
so that we can see if there is indeed something wrong in the new libc time
code.
 1.2 03-Aug-2014  martin branches: 1.2.2; 1.2.4; 1.2.6;
(Finally) merge a slightly modified version of the 2012 GSoC results
from Eugene Lozovoy: add extended partitioning options to sysinst.
Still needs some testing and polishing, but it now is possible to use GPT
or to create a RAID set from scratch and install onto it.
 1.1 26-Jul-2014  dholland Move sysinst sources to usr.sbin.

This commit only physically moves the sources - there are no other
changes, to maximize the probability that this will be treated as a
rename if we ever do manage to migrate away from CVS.

Moving sysinst has been discussed on and off for years and has two
goals: making it easier to work on sysinst, and also making sysinst
available on running systems for use installing chroots and VM images
and other such things. None of the latter is possible yet, but as they
say, one thing at a time.

Doing this now was approved in an impromptu fashion by mrg, riz,
riastradh, me, and groo.
 1.2.6.2 20-Aug-2014  tls Rebase to HEAD as of a few days ago.
 1.2.6.1 03-Aug-2014  tls file run.c was added on branch tls-maxphys on 2014-08-20 00:05:14 +0000
 1.2.4.2 27-Feb-2015  martin Pull up following revision(s) (requested by snj in ticket #554):
usr.sbin/sysinst/defs.h: revision 1.5
usr.sbin/sysinst/main.c: revision 1.6
usr.sbin/sysinst/net.c: revision 1.17
usr.sbin/sysinst/util.c: revision 1.5
usr.sbin/sysinst/run.c: revision 1.3
Don't use asctime(localtime(time_t *)) because this is really ctime(time_t *)
and not checking the result of localtime can lead to tears.
Add a safectime() that always returns a good string, and add some debugging
so that we can see if there is indeed something wrong in the new libc time
code.
 1.2.4.1 31-Dec-2014  snj Pull up following revision(s) (requested by martin in ticket #361):
usr.sbin/sysinst/run.c: revisions 1.4, 1.5
If we launch a program with RUN_SILENT, give it more than two seconds to
run before we create an output window. On a swapping VAX it can take
seriously longer, and we get interactive status display even if the program
did not produce any error output otherwise.
--
Revise previous: with RUN_SILENT there is never a good reason to create
the output window unless there is actually output to display.
 1.2.2.2 10-Aug-2014  tls Rebase.
 1.2.2.1 03-Aug-2014  tls file run.c was added on branch tls-earlyentropy on 2014-08-10 07:00:24 +0000
 1.5.16.2 13-Apr-2020  martin Mostly merge changes from HEAD upto 20200411
 1.5.16.1 10-Jun-2019  christos Sync with HEAD
 1.5.14.1 26-Nov-2018  pgoyette Sync with HEAD, resolve a couple of conflicts
 1.12.2.1 17-Nov-2019  msaitoh Pull up following revision(s) (requested by martin in ticket #436):
usr.sbin/sysinst/disks.c: revision 1.55
usr.sbin/sysinst/msg.mi.en: revision 1.24
usr.sbin/sysinst/mbr.c: revision 1.22
usr.sbin/sysinst/disks.c: revision 1.56
usr.sbin/sysinst/msg.mi.en: revision 1.25
usr.sbin/sysinst/disks.c: revision 1.57
usr.sbin/sysinst/arch/playstation2/msg.md.pl: revision 1.3
usr.sbin/sysinst/Makefile.inc: revision 1.30
usr.sbin/sysinst/configmenu.c: revision 1.11
usr.sbin/sysinst/util.c: revision 1.35
usr.sbin/sysinst/gpt.c: revision 1.12
usr.sbin/sysinst/util.c: revision 1.36
usr.sbin/sysinst/arch/playstation2/msg.md.de: revision 1.3
usr.sbin/sysinst/arch/i386/menus.md: revision 1.3
usr.sbin/sysinst/util.c: revision 1.37
usr.sbin/sysinst/part_edit.c: revision 1.11
usr.sbin/sysinst/arch/i386/msg.md.en: revision 1.2
usr.sbin/sysinst/util.c: revision 1.38
usr.sbin/sysinst/part_edit.c: revision 1.12
usr.sbin/sysinst/arch/i386/msg.md.en: revision 1.3
usr.sbin/sysinst/util.c: revision 1.39
usr.sbin/sysinst/part_edit.c: revision 1.13
usr.sbin/sysinst/arch/i386/msg.md.en: revision 1.4
usr.sbin/sysinst/disklabel.c: revision 1.15
usr.sbin/sysinst/bsddisklabel.c: revision 1.30
usr.sbin/sysinst/arch/i386/msg.md.es: revision 1.2
usr.sbin/sysinst/bsddisklabel.c: revision 1.31
usr.sbin/sysinst/arch/i386/msg.md.es: revision 1.3
usr.sbin/sysinst/arch/i386/msg.md.es: revision 1.4
usr.sbin/sysinst/mbr.h: revision 1.4
usr.sbin/sysinst/main.c: revision 1.18
usr.sbin/sysinst/partman.c: revision 1.44
usr.sbin/sysinst/msg.mi.de: revision 1.17
usr.sbin/sysinst/arch/i386/msg.md.fr: revision 1.2
usr.sbin/sysinst/msg.mi.de: revision 1.18
usr.sbin/sysinst/arch/i386/msg.md.fr: revision 1.3
usr.sbin/sysinst/arch/playstation2/msg.md.en: revision 1.3
usr.sbin/sysinst/arch/i386/msg.md.fr: revision 1.4
usr.sbin/sysinst/arch/amd64/md.c: revision 1.2
usr.sbin/sysinst/arch/ews4800mips/Makefile: revision 1.3
usr.sbin/sysinst/arch/playstation2/msg.md.es: revision 1.3
usr.sbin/sysinst/label.c: revision 1.13
usr.sbin/sysinst/Makefile.inc: revision 1.29
usr.sbin/sysinst/label.c: revision 1.14
usr.sbin/sysinst/util.c: revision 1.40
usr.sbin/sysinst/partitions.c: revision 1.5
usr.sbin/sysinst/arch/amd64/md.h: revision 1.8
usr.sbin/sysinst/msg.mi.es: revision 1.18
usr.sbin/sysinst/net.c: revision 1.34
usr.sbin/sysinst/msg.mi.es: revision 1.19
usr.sbin/sysinst/arch/i386/msg.md.pl: revision 1.2
usr.sbin/sysinst/arch/i386/md.c: revision 1.22
usr.sbin/sysinst/msg.mi.fr: revision 1.22
usr.sbin/sysinst/arch/playstation2/msg.md.fr: revision 1.3
usr.sbin/sysinst/arch/i386/msg.md.pl: revision 1.3
usr.sbin/sysinst/arch/i386/md.c: revision 1.23
usr.sbin/sysinst/msg.mi.pl: revision 1.25
usr.sbin/sysinst/msg.mi.fr: revision 1.23
usr.sbin/sysinst/arch/i386/msg.md.pl: revision 1.4
usr.sbin/sysinst/arch/i386/md.c: revision 1.24
usr.sbin/sysinst/partitions.h: revision 1.8
usr.sbin/sysinst/msg.mi.pl: revision 1.26
usr.sbin/sysinst/arch/i386/msg.md.de: revision 1.2
usr.sbin/sysinst/arch/i386/msg.md.de: revision 1.3
usr.sbin/sysinst/arch/i386/msg.md.de: revision 1.4
usr.sbin/sysinst/run.c: revision 1.13
usr.sbin/sysinst/defs.h: revision 1.46
usr.sbin/sysinst/install.c: revision 1.12
usr.sbin/sysinst/defs.h: revision 1.47
usr.sbin/sysinst/install.c: revision 1.13
usr.sbin/sysinst/defs.h: revision 1.48
Add options to the various partitioning stages that allow cloning of
alien partitions (optionally including data).
PR 54467: we trust our own sets, extract them with -P to allow symlink
redirection (especially for updates and chroot services - back out
once a better solution for those is implemented)
Make cloning support optional, so we can save some space on very small
install media.
Drop MBR and cloning support on crunched install media.
Make tar extraction flags depend on our usage of pax-as-tar or bsdtar.
Fix missing newlines in bios match display, pointed out by maxv.
Drop unused variable.
Fix table of bios geomatries
knf style adjustments
Make the bootblock selection menu more sane, pointed out by maxv
Make sure all menus have a translatable exit option (or none at all).
On amd64 support installation with a KASLR kernel, via "custom install"
and selecting the GENERIC_KASLR kernel set.
Setup /prekern and boot.cfg accordingly.
 1.15.4.1 02-Aug-2025  perseant Sync with HEAD
 1.5 12-Jun-2019  martin Rework internal data structures and "interfaces to user interface" functions
to get rid of all disklabel assumptions.

Previously (even for GPT partitioning) struct disklabel was used, which
obviously breaks large disk setups. Also many MD parts and parts of the
user interface assumed (a) a struct disklabel is used internally to
store partitioning information and (b) partitions are named 'a' ... $MAXPART.

Get rid of this and replace it with a quite abstract interface that should
be able to deal with all variants in partition storage:

- partitions are stored in a (partly abstract) struct disk_partitions
and most parts of it are only accessed via accessor functions provided
by a "partitioning scheme".

- implement partitioning schemes for MBR, disklabel and GPT (with likely
RDB [amiga] and Apple Partition Map [mac*] to follow soon)

- partitioning schemes may be cascaded, e.g. on x86 when using MBR as
"outer partitions", we have disklabel as "inner partitions".

- all user interface goes via accessor functions in the partitioning scheme,
some of which return pointers to special user interface descriptors
(e.g. to allow editing partition flags, which are scheme specific)

Overall the user interface changes (in this initial step) are minimal but
noticable. A new Anita is needed for automatic test setups - many thanks
to Andreas Gustafsson for lots of early testing and a new Anita version,
and to Manuel Bouyer for cooperation and tests of the Anita release.

This work was sponsored by The NetBSD Foundation, Inc.
 1.4 26-Jan-2016  martin branches: 1.4.16;
David Binderman in PR bin/50714: fix memory leak
 1.3 01-May-2015  martin As pointed out by John D. Baker: replace all / characters in packnames
(which might be automatically generated from controller names like
"PERC 5/i") with a space before using the string as a file name.
 1.2 03-Aug-2014  martin branches: 1.2.2; 1.2.4; 1.2.6;
(Finally) merge a slightly modified version of the 2012 GSoC results
from Eugene Lozovoy: add extended partitioning options to sysinst.
Still needs some testing and polishing, but it now is possible to use GPT
or to create a RAID set from scratch and install onto it.
 1.1 26-Jul-2014  dholland Move sysinst sources to usr.sbin.

This commit only physically moves the sources - there are no other
changes, to maximize the probability that this will be treated as a
rename if we ever do manage to migrate away from CVS.

Moving sysinst has been discussed on and off for years and has two
goals: making it easier to work on sysinst, and also making sysinst
available on running systems for use installing chroots and VM images
and other such things. None of the latter is possible yet, but as they
say, one thing at a time.

Doing this now was approved in an impromptu fashion by mrg, riz,
riastradh, me, and groo.
 1.2.6.2 20-Aug-2014  tls Rebase to HEAD as of a few days ago.
 1.2.6.1 03-Aug-2014  tls file savenewlabel.c was added on branch tls-maxphys on 2014-08-20 00:05:14 +0000
 1.2.4.1 04-May-2015  riz Pull up following revision(s) (requested by martin in ticket #732):
usr.sbin/sysinst/savenewlabel.c: revision 1.3
As pointed out by John D. Baker: replace all / characters in packnames
(which might be automatically generated from controller names like
"PERC 5/i") with a space before using the string as a file name.
 1.2.2.2 10-Aug-2014  tls Rebase.
 1.2.2.1 03-Aug-2014  tls file savenewlabel.c was added on branch tls-earlyentropy on 2014-08-10 07:00:24 +0000
 1.4.16.1 13-Apr-2020  martin Mostly merge changes from HEAD upto 20200411
 1.4 27-Jan-2020  martin Fix support for non-512-byte/sector disks again after I broke it when
introducing the abstract partition backends.
 1.3 12-Jun-2019  martin branches: 1.3.2;
Rework internal data structures and "interfaces to user interface" functions
to get rid of all disklabel assumptions.

Previously (even for GPT partitioning) struct disklabel was used, which
obviously breaks large disk setups. Also many MD parts and parts of the
user interface assumed (a) a struct disklabel is used internally to
store partitioning information and (b) partitions are named 'a' ... $MAXPART.

Get rid of this and replace it with a quite abstract interface that should
be able to deal with all variants in partition storage:

- partitions are stored in a (partly abstract) struct disk_partitions
and most parts of it are only accessed via accessor functions provided
by a "partitioning scheme".

- implement partitioning schemes for MBR, disklabel and GPT (with likely
RDB [amiga] and Apple Partition Map [mac*] to follow soon)

- partitioning schemes may be cascaded, e.g. on x86 when using MBR as
"outer partitions", we have disklabel as "inner partitions".

- all user interface goes via accessor functions in the partitioning scheme,
some of which return pointers to special user interface descriptors
(e.g. to allow editing partition flags, which are scheme specific)

Overall the user interface changes (in this initial step) are minimal but
noticable. A new Anita is needed for automatic test setups - many thanks
to Andreas Gustafsson for lots of early testing and a new Anita version,
and to Manuel Bouyer for cooperation and tests of the Anita release.

This work was sponsored by The NetBSD Foundation, Inc.
 1.2 03-Aug-2014  martin branches: 1.2.2; 1.2.6; 1.2.28;
(Finally) merge a slightly modified version of the 2012 GSoC results
from Eugene Lozovoy: add extended partitioning options to sysinst.
Still needs some testing and polishing, but it now is possible to use GPT
or to create a RAID set from scratch and install onto it.
 1.1 26-Jul-2014  dholland Move sysinst sources to usr.sbin.

This commit only physically moves the sources - there are no other
changes, to maximize the probability that this will be treated as a
rename if we ever do manage to migrate away from CVS.

Moving sysinst has been discussed on and off for years and has two
goals: making it easier to work on sysinst, and also making sysinst
available on running systems for use installing chroots and VM images
and other such things. None of the latter is possible yet, but as they
say, one thing at a time.

Doing this now was approved in an impromptu fashion by mrg, riz,
riastradh, me, and groo.
 1.2.28.1 13-Apr-2020  martin Mostly merge changes from HEAD upto 20200411
 1.2.6.2 20-Aug-2014  tls Rebase to HEAD as of a few days ago.
 1.2.6.1 03-Aug-2014  tls file sizemultname.c was added on branch tls-maxphys on 2014-08-20 00:05:14 +0000
 1.2.2.2 10-Aug-2014  tls Rebase.
 1.2.2.1 03-Aug-2014  tls file sizemultname.c was added on branch tls-earlyentropy on 2014-08-10 07:00:24 +0000
 1.3.2.1 28-Jan-2020  msaitoh Pull up following revision(s) (requested by martin in ticket #668):
usr.sbin/sysinst/arch/cobalt/md.c: revision 1.11
usr.sbin/sysinst/arch/cobalt/md.c: revision 1.12
usr.sbin/sysinst/arch/arc/md.c: revision 1.11
usr.sbin/sysinst/arch/arc/md.c: revision 1.12
usr.sbin/sysinst/partman.c: revision 1.43
usr.sbin/sysinst/partman.c: revision 1.46
usr.sbin/sysinst/partman.c: revision 1.47
usr.sbin/sysinst/partman.c: revision 1.48
usr.sbin/sysinst/partman.c: revision 1.49
usr.sbin/sysinst/msg.pm.fr: revision 1.2
usr.sbin/sysinst/upgrade.c: revision 1.14
usr.sbin/sysinst/arch/i386/md.c: revision 1.28
usr.sbin/sysinst/arch/i386/md.c: revision 1.29
usr.sbin/sysinst/arch/ofppc/md.c: revision 1.9
usr.sbin/sysinst/arch/sandpoint/md.c: revision 1.7
usr.sbin/sysinst/arch/sandpoint/md.c: revision 1.8
usr.sbin/sysinst/gpt.c: revision 1.14
usr.sbin/sysinst/gpt.c: revision 1.15
usr.sbin/sysinst/arch/luna68k/md.c: revision 1.8
usr.sbin/sysinst/gpt.c: revision 1.16
usr.sbin/sysinst/msg.pm.de: revision 1.2
usr.sbin/sysinst/arch/evbarm/md.c: revision 1.11
usr.sbin/sysinst/arch/evbarm/md.c: revision 1.12
usr.sbin/sysinst/arch/evbarm/md.c: revision 1.13
usr.sbin/sysinst/arch/evbarm/md.c: revision 1.14
usr.sbin/sysinst/sizemultname.c: revision 1.4
usr.sbin/sysinst/msg.pm.en: revision 1.2
usr.sbin/sysinst/arch/landisk/md.c: revision 1.12
usr.sbin/sysinst/util.c: revision 1.41
usr.sbin/sysinst/arch/landisk/md.c: revision 1.13
usr.sbin/sysinst/util.c: revision 1.42
usr.sbin/sysinst/arch/ofppc/md.c: revision 1.10
usr.sbin/sysinst/partitions.c: revision 1.9
usr.sbin/sysinst/arch/evbarm/md.h: revision 1.4
usr.sbin/sysinst/arch/evbarm/md.h: revision 1.5
usr.sbin/sysinst/arch/evbmips/md.c: revision 1.7
usr.sbin/sysinst/arch/evbmips/md.c: revision 1.8
usr.sbin/sysinst/msg.mi.fr: revision 1.25
usr.sbin/sysinst/msg.mi.de: revision 1.20
usr.sbin/sysinst/install.c: revision 1.14
usr.sbin/sysinst/partitions.h: revision 1.13
usr.sbin/sysinst/partitions.h: revision 1.14
usr.sbin/sysinst/arch/evbppc/md.c: revision 1.7
usr.sbin/sysinst/arch/playstation2/md.c: revision 1.7
usr.sbin/sysinst/msg.mi.en: revision 1.27
usr.sbin/sysinst/partitions.h: revision 1.15
usr.sbin/sysinst/arch/evbppc/md.c: revision 1.8
usr.sbin/sysinst/arch/hpcarm/md.c: revision 1.7
usr.sbin/sysinst/arch/playstation2/md.c: revision 1.8
usr.sbin/sysinst/msg.pm.pl: revision 1.2
usr.sbin/sysinst/arch/hpcarm/md.c: revision 1.8
usr.sbin/sysinst/msg.mi.es: revision 1.21
usr.sbin/sysinst/arch/zaurus/md.c: revision 1.7
usr.sbin/sysinst/target.c: revision 1.11
usr.sbin/sysinst/arch/zaurus/md.c: revision 1.8
usr.sbin/sysinst/part_edit.c: revision 1.14
usr.sbin/sysinst/part_edit.c: revision 1.15
usr.sbin/sysinst/part_edit.c: revision 1.16
usr.sbin/sysinst/defs.h: revision 1.50
usr.sbin/sysinst/defs.h: revision 1.51
usr.sbin/sysinst/defs.h: revision 1.52
usr.sbin/sysinst/defs.h: revision 1.53
usr.sbin/sysinst/defs.h: revision 1.54
usr.sbin/sysinst/arch/hpcmips/md.c: revision 1.7
usr.sbin/sysinst/arch/hpcmips/md.c: revision 1.8
usr.sbin/sysinst/arch/hpcsh/md.c: revision 1.8
usr.sbin/sysinst/msg.pm.es: revision 1.2
usr.sbin/sysinst/arch/hpcsh/md.c: revision 1.9
usr.sbin/sysinst/label.c: revision 1.18
usr.sbin/sysinst/label.c: revision 1.19
usr.sbin/sysinst/net.c: revision 1.35
usr.sbin/sysinst/msg.mi.pl: revision 1.28
usr.sbin/sysinst/disklabel.c: revision 1.28
usr.sbin/sysinst/disklabel.c: revision 1.29
usr.sbin/sysinst/mbr.c: revision 1.24
usr.sbin/sysinst/disks.c: revision 1.59
usr.sbin/sysinst/mbr.c: revision 1.25
usr.sbin/sysinst/mbr.c: revision 1.26
usr.sbin/sysinst/mbr.c: revision 1.27
usr.sbin/sysinst/mbr.c: revision 1.28
usr.sbin/sysinst/label.c: revision 1.20
usr.sbin/sysinst/mbr.c: revision 1.29
usr.sbin/sysinst/bsddisklabel.c: revision 1.34
usr.sbin/sysinst/bsddisklabel.c: revision 1.35
usr.sbin/sysinst/bsddisklabel.c: revision 1.36
usr.sbin/sysinst/bsddisklabel.c: revision 1.37
usr.sbin/sysinst/disklabel.c: revision 1.30
usr.sbin/sysinst/bsddisklabel.c: revision 1.38
usr.sbin/sysinst/disklabel.c: revision 1.31
usr.sbin/sysinst/disklabel.c: revision 1.32
usr.sbin/sysinst/disklabel.c: revision 1.33
usr.sbin/sysinst/disklabel.c: revision 1.34
usr.sbin/sysinst/disks.c: revision 1.60
usr.sbin/sysinst/disks.c: revision 1.61
usr.sbin/sysinst/arch/bebox/md.c: revision 1.7
usr.sbin/sysinst/disks.c: revision 1.62
usr.sbin/sysinst/arch/bebox/md.c: revision 1.8
usr.sbin/sysinst/mbr.c: revision 1.30
usr.sbin/sysinst/partitions.c: revision 1.10
usr.sbin/sysinst/arch/prep/md.c: revision 1.11
usr.sbin/sysinst/arch/prep/md.c: revision 1.12
usr.sbin/sysinst/menus.pm: revision 1.3
usr.sbin/sysinst/main.c: revision 1.20
usr.sbin/sysinst/menus.mi: revision 1.20
usr.sbin/sysinst/menus.mi: revision 1.21
avoid calling snprintf/strlcat with an input parameter the same
as the output. from martin@. fixes gcc 8 restrict warnings.
Finish conversion of extended partitioning parts to new abstract
backend interface. XXX still could use a lot of polishing.
Instead of a (bogus) attempt to query the model via ofctl, use the (now
fixed) sysctl hw.model instead.
When reading the secondary disklabel partitions from an existing disklabel
set the mbr partitions as parent.
Move the LABELSECTOR check and make it FS type specific - some partition
types (FFS, RAID) are allowed to overlap with the LABELSECTOR.
When asked to create a whole-disk partition for unknown usage, do not only
assert(false), but actually return an error (in case "assert" is a nop).
PR install/54787: when trying to derive proper alignement and first offset
from exisiting partitions, use the first partition offset if it is already
closer to the start of the disk than the prefered alignment - we can not
move existing partitions around.
Fix handling of inner/outer partitions (e.g. MBR and disklabel) in
extended partitioning:
- when editing a disk with such a schme, offer both partitions in two
steps
- when commiting changes save the inner partitions after the outer ones
Add a method to query the partitioning schemes "internal idea" of a
cylinder size - whatever that means in the real world.
Avoid using the global "pm" variable in utility functions - during
extended partitioning they may point to a different device.
Remove useless calls to get_ramsize() - return value is ignored and
the function has no side effects.
Fix /tmp tmpfs handling and on machines with enough RAM default to
creating a /tmp tmpfs with 25% of ram size limit. Suggested by ad@.
PR install/54872: fix printf argument order, sectors and heads were
swapped in the bios geometry display.
First try to bring evbarm installation closer to current reality.
hide disklabel_non_bootable() under NO_DISKLABEL_BOOT like the usage.
should fix most builds.
Deal with even stranger fictious empty disklabels (PR kern/54882).
Factor out all RAM size thresholds as defines to avoid magic numbers.
To work around PR misc/54886 bump the threshold for a tmpfs /tmp mount
up to 256 MB.
When retrying sets during extraction, reset the relevant statistics
to avoid counting retried sets multiple times.
Reported by kim.
Fix support for non-512-byte/sector disks again after I broke it when
introducing the abstract partition backends.
Use a few strlcpy() instead of strncpy() for network ioctl structs.
We seem to have no formal documentation stating the various
char if*_name[IFNAMSIZ]; /* if name, e.g. "en0" */
elements in ioctls are nul terminated, but the peanut gallery claims
it is so - and at least half of the code in-tree touching them agrees.
Too much disklabel magic happening in the kernel - to compensate force
MBR first when trying to identify the existing partitioning scheme of
a disk.
 1.5 28-Jan-2022  wiz Sort options and their descriptions.
 1.4 28-Jan-2022  martin Document the missing command line options.
 1.3 06-Mar-2020  maya branches: 1.3.2;
Remove note that has been incorrect for a while.

Thanks ottavio for the heads up.
 1.2 19-Feb-2020  martin Remove unused "rel" global variable and make the -r option a no-op.
 1.1 19-Feb-2020  martin Move sysinst man page next to the source
 1.3.2.2 08-Apr-2020  martin Merge changes from current as of 20200406
 1.3.2.1 06-Mar-2020  martin file sysinst.8 was added on branch phil-wifi on 2020-04-08 14:09:22 +0000
 1.18 10-Feb-2022  martin x86: fix previous: in the UEFI case copy the bootloaders from install
media during initial installation, but use the (by then: updated)
files from the target disk for system upgrades.
 1.17 30-Jan-2022  martin Do not defer wedge deletions when we have nothing mounted.
Define and use a constant for maximum disk name length.
 1.16 29-Jan-2022  martin Try to get rid of all wedges we created (after unmounting).
 1.15 31-Jan-2021  rillig sysinst: remove trailing whitespace from *.c *.h

In contrast to the messages files, this whitespace is not significant.
 1.14 27-Sep-2020  martin If there is no current partitioning manager assume we are editing the
current system and make target_already_root() return true.
Fixes various fallout when using sysinst post installation.
 1.13 19-Feb-2020  martin Use strlcpy in a few places to guarnatee 0-terminated strings
 1.12 06-Feb-2020  martin Do not assum a partitioning scheme that supports innner partitions always
needs to actually have such partitions defined.
 1.11 09-Jan-2020  martin Finish conversion of extended partitioning parts to new abstract
backend interface. XXX still could use a lot of polishing.
 1.10 07-Aug-2019  martin Support upgrade of systems using NAME= syntax in /etc/fstab.

Make supported file system types dynamic - instead of hardcoding the
available types at compile time, check for available newfs_* helper
binaries in the actual install environment at runtime.
 1.9 01-Aug-2019  martin Do not strip the trailing / on root mounts when evaluation "last mounted
on". Fix some /dev/ and raw vs. block device confusion on system upgrades.
 1.8 23-Jul-2019  martin branches: 1.8.2;
For upgrade / re-install allow the currently running system as a target
in the "disk" selection.
 1.7 23-Jul-2019  martin When searching for a partition that may be the root partition for upgrading,
allow "/", "/targetroot" and "/altroot" as potential last mount points.
 1.6 15-Jun-2019  martin When setting up a "use whole disk" single outer partition, force an
empty set of inner partitions immediately,

This avoids reading old (stale) partitions (e.g. disklabel that
survived cleaning and re-creating the MBR with the MBR NetBSD partition
starting at the same offset) later.
 1.5 12-Jun-2019  martin Rework internal data structures and "interfaces to user interface" functions
to get rid of all disklabel assumptions.

Previously (even for GPT partitioning) struct disklabel was used, which
obviously breaks large disk setups. Also many MD parts and parts of the
user interface assumed (a) a struct disklabel is used internally to
store partitioning information and (b) partitions are named 'a' ... $MAXPART.

Get rid of this and replace it with a quite abstract interface that should
be able to deal with all variants in partition storage:

- partitions are stored in a (partly abstract) struct disk_partitions
and most parts of it are only accessed via accessor functions provided
by a "partitioning scheme".

- implement partitioning schemes for MBR, disklabel and GPT (with likely
RDB [amiga] and Apple Partition Map [mac*] to follow soon)

- partitioning schemes may be cascaded, e.g. on x86 when using MBR as
"outer partitions", we have disklabel as "inner partitions".

- all user interface goes via accessor functions in the partitioning scheme,
some of which return pointers to special user interface descriptors
(e.g. to allow editing partition flags, which are scheme specific)

Overall the user interface changes (in this initial step) are minimal but
noticable. A new Anita is needed for automatic test setups - many thanks
to Andreas Gustafsson for lots of early testing and a new Anita version,
and to Manuel Bouyer for cooperation and tests of the Anita release.

This work was sponsored by The NetBSD Foundation, Inc.
 1.4 09-Nov-2018  martin Fix test for active root partition when booting from a wedge
 1.3 18-Oct-2015  martin branches: 1.3.14; 1.3.16;
PR 50342: if there is no current partition manage, assume we are running
from an already installed system.
 1.2 03-Aug-2014  martin branches: 1.2.2; 1.2.4; 1.2.6;
(Finally) merge a slightly modified version of the 2012 GSoC results
from Eugene Lozovoy: add extended partitioning options to sysinst.
Still needs some testing and polishing, but it now is possible to use GPT
or to create a RAID set from scratch and install onto it.
 1.1 26-Jul-2014  dholland Move sysinst sources to usr.sbin.

This commit only physically moves the sources - there are no other
changes, to maximize the probability that this will be treated as a
rename if we ever do manage to migrate away from CVS.

Moving sysinst has been discussed on and off for years and has two
goals: making it easier to work on sysinst, and also making sysinst
available on running systems for use installing chroots and VM images
and other such things. None of the latter is possible yet, but as they
say, one thing at a time.

Doing this now was approved in an impromptu fashion by mrg, riz,
riastradh, me, and groo.
 1.2.6.2 20-Aug-2014  tls Rebase to HEAD as of a few days ago.
 1.2.6.1 03-Aug-2014  tls file target.c was added on branch tls-maxphys on 2014-08-20 00:05:14 +0000
 1.2.4.1 08-Nov-2015  riz Pull up following revision(s) (requested by martin in ticket #1008):
usr.sbin/sysinst/target.c: revision 1.3
PR 50342: if there is no current partition manage, assume we are running
from an already installed system.
 1.2.2.2 10-Aug-2014  tls Rebase.
 1.2.2.1 03-Aug-2014  tls file target.c was added on branch tls-earlyentropy on 2014-08-10 07:00:24 +0000
 1.3.16.2 13-Apr-2020  martin Mostly merge changes from HEAD upto 20200411
 1.3.16.1 10-Jun-2019  christos Sync with HEAD
 1.3.14.1 26-Nov-2018  pgoyette Sync with HEAD, resolve a couple of conflicts
 1.8.2.7 14-Feb-2022  msaitoh Pull up following revision(s) (requested by martin in ticket #1427):
usr.sbin/sysinst/defs.h: revision 1.80
usr.sbin/sysinst/target.c: revision 1.18
usr.sbin/sysinst/arch/i386/md.c: revision 1.35
x86: fix previous: in the UEFI case copy the bootloaders from install
media during initial installation, but use the (by then: updated)
files from the target disk for system upgrades.
 1.8.2.6 02-Feb-2022  msaitoh Pull up following revision(s) (requested by martin in ticket #1422):
usr.sbin/sysinst/util.c: revision 1.64
usr.sbin/sysinst/arch/hpcsh/md.c: revision 1.11
usr.sbin/sysinst/arch/alpha/md.c: revision 1.10
usr.sbin/sysinst/arch/sparc64/md.c: revision 1.7
usr.sbin/sysinst/arch/emips/md.c: revision 1.10
usr.sbin/sysinst/arch/cobalt/md.c: revision 1.15
usr.sbin/sysinst/arch/x68k/md.c: revision 1.12
usr.sbin/sysinst/arch/sandpoint/md.c: revision 1.10
usr.sbin/sysinst/arch/luna68k/md.c: revision 1.10
usr.sbin/sysinst/arch/hp300/md.c: revision 1.12
usr.sbin/sysinst/arch/vax/md.c: revision 1.8
usr.sbin/sysinst/arch/hpcmips/md.c: revision 1.10
usr.sbin/sysinst/target.c: revision 1.16
usr.sbin/sysinst/arch/mvme68k/md.c: revision 1.12
usr.sbin/sysinst/arch/arc/md.c: revision 1.14
usr.sbin/sysinst/target.c: revision 1.17
usr.sbin/sysinst/arch/i386/md.c: revision 1.34
usr.sbin/sysinst/arch/mac68k/md.c: revision 1.11
usr.sbin/sysinst/arch/atari/md.c: revision 1.8
usr.sbin/sysinst/arch/sgimips/md.c: revision 1.10
usr.sbin/sysinst/arch/acorn32/md.c: revision 1.8
usr.sbin/sysinst/install.c: revision 1.22
usr.sbin/sysinst/arch/amiga/md.c: revision 1.7
usr.sbin/sysinst/arch/cats/md.c: revision 1.6
usr.sbin/sysinst/arch/dummy/md.c: revision 1.7
usr.sbin/sysinst/arch/shark/md.c: revision 1.7
usr.sbin/sysinst/arch/pmax/md.c: revision 1.9
usr.sbin/sysinst/arch/newsmips/md.c: revision 1.7
usr.sbin/sysinst/arch/mipsco/md.c: revision 1.9
usr.sbin/sysinst/arch/landisk/md.c: revision 1.15
usr.sbin/sysinst/arch/hppa/md.c: revision 1.9
usr.sbin/sysinst/arch/prep/md.c: revision 1.14
usr.sbin/sysinst/defs.h: revision 1.77
usr.sbin/sysinst/arch/ofppc/md.c: revision 1.13
usr.sbin/sysinst/arch/ews4800mips/md.c: revision 1.8
usr.sbin/sysinst/defs.h: revision 1.78
usr.sbin/sysinst/arch/macppc/md.c: revision 1.7
usr.sbin/sysinst/arch/evbppc/md.c: revision 1.10
usr.sbin/sysinst/defs.h: revision 1.79
usr.sbin/sysinst/gpt.c: revision 1.27
usr.sbin/sysinst/arch/bebox/md.c: revision 1.10
usr.sbin/sysinst/gpt.c: revision 1.28
usr.sbin/sysinst/arch/sparc/md.c: revision 1.7
usr.sbin/sysinst/arch/evbsh3/md.c: revision 1.7
usr.sbin/sysinst/arch/evbarm/md.c: revision 1.22
usr.sbin/sysinst/arch/news68k/md.c: revision 1.8
usr.sbin/sysinst/upgrade.c: revision 1.19
usr.sbin/sysinst/arch/zaurus/md.c: revision 1.12
usr.sbin/sysinst/arch/playstation2/md.c: revision 1.10
usr.sbin/sysinst/arch/hpcarm/md.c: revision 1.11
usr.sbin/sysinst/arch/evbmips/md.c: revision 1.10
usr.sbin/sysinst/main.c: revision 1.28
Add an option to set the directory where we look for message catalogs.
Try to get rid of all wedges we created (after unmounting).
When upgrading, update the boot code post extraction from
the updated target file system.
Do not defer wedge deletions when we have nothing mounted.
Define and use a constant for maximum disk name length.
 1.8.2.5 15-Oct-2020  bouyer Pull up following revision(s) (requested by martin in ticket #1113):
usr.sbin/sysinst/bsddisklabel.c: revision 1.46
usr.sbin/sysinst/bsddisklabel.c: revision 1.47
usr.sbin/sysinst/disklabel.c: revision 1.40
usr.sbin/sysinst/arch/cobalt/md.c: revision 1.13
usr.sbin/sysinst/bsddisklabel.c: revision 1.48
usr.sbin/sysinst/disklabel.c: revision 1.41
usr.sbin/sysinst/arch/cobalt/md.c: revision 1.14
usr.sbin/sysinst/bsddisklabel.c: revision 1.49
usr.sbin/sysinst/disklabel.c: revision 1.42
usr.sbin/sysinst/Makefile.inc: revision 1.34
usr.sbin/sysinst/disks.c: revision 1.70
usr.sbin/sysinst/arch/hp300/md.c: revision 1.11
usr.sbin/sysinst/disks.c: revision 1.71
usr.sbin/sysinst/arch/i386/md.h: revision 1.8
usr.sbin/sysinst/arch/arc/md.c: revision 1.13
usr.sbin/sysinst/mbr.h: revision 1.5
usr.sbin/sysinst/mbr.h: revision 1.6
usr.sbin/sysinst/arch/mac68k/md.c: revision 1.10
usr.sbin/sysinst/bsddisklabel.c: revision 1.50
usr.sbin/sysinst/arch/acorn32/md.c: revision 1.7
usr.sbin/sysinst/bsddisklabel.c: revision 1.51
usr.sbin/sysinst/bsddisklabel.c: revision 1.52
usr.sbin/sysinst/bsddisklabel.c: revision 1.53
usr.sbin/sysinst/bsddisklabel.c: revision 1.54
usr.sbin/sysinst/bsddisklabel.c: revision 1.55
usr.sbin/sysinst/bsddisklabel.c: revision 1.56
usr.sbin/sysinst/arch/dummy/md.c: revision 1.6
usr.sbin/sysinst/arch/amd64/md.h: revision 1.9
usr.sbin/sysinst/arch/evbsh3/md.c: revision 1.6
usr.sbin/sysinst/arch/sparc/md.c: revision 1.6
usr.sbin/sysinst/arch/zaurus/md.c: revision 1.10
usr.sbin/sysinst/arch/x68k/md.c: revision 1.11
usr.sbin/sysinst/arch/sandpoint/md.c: revision 1.9
usr.sbin/sysinst/arch/vax/md.c: revision 1.7
usr.sbin/sysinst/arch/luna68k/md.c: revision 1.9
usr.sbin/sysinst/gpt.c: revision 1.19
usr.sbin/sysinst/arch/i386/md.c: revision 1.31
usr.sbin/sysinst/arch/i386/md.c: revision 1.32
usr.sbin/sysinst/arch/evbarm/md.c: revision 1.17
usr.sbin/sysinst/arch/evbarm/md.c: revision 1.18
usr.sbin/sysinst/arch/evbarm/md.c: revision 1.19
usr.sbin/sysinst/arch/shark/md.c: revision 1.6
usr.sbin/sysinst/arch/landisk/md.c: revision 1.14
usr.sbin/sysinst/util.c: revision 1.43
usr.sbin/sysinst/gpt.c: revision 1.20
usr.sbin/sysinst/util.c: revision 1.44
usr.sbin/sysinst/gpt.c: revision 1.21
usr.sbin/sysinst/gpt.c: revision 1.22
usr.sbin/sysinst/arch/evbarm/msg.md.en: revision 1.2
usr.sbin/sysinst/arch/ofppc/md.c: revision 1.11
usr.sbin/sysinst/util.c: revision 1.46
usr.sbin/sysinst/arch/ofppc/md.c: revision 1.12
usr.sbin/sysinst/util.c: revision 1.47
usr.sbin/sysinst/arch/evbarm/md.h: revision 1.6
usr.sbin/sysinst/util.c: revision 1.48
usr.sbin/sysinst/arch/evbarm/md.h: revision 1.7
usr.sbin/sysinst/arch/evbmips/md.c: revision 1.9
usr.sbin/sysinst/msg.mi.fr: revision 1.28
usr.sbin/sysinst/msg.mi.fr: revision 1.29
usr.sbin/sysinst/arch/sgimips/md.c: revision 1.9
usr.sbin/sysinst/arch/evbarm/Makefile: revision 1.3
usr.sbin/sysinst/msg.mi.de: revision 1.23
usr.sbin/sysinst/arch/hpcsh/md.c: revision 1.10
usr.sbin/sysinst/msg.mi.de: revision 1.24
usr.sbin/sysinst/install.c: revision 1.15
usr.sbin/sysinst/install.c: revision 1.16
usr.sbin/sysinst/arch/sparc64/md.c: revision 1.6
usr.sbin/sysinst/install.c: revision 1.17
usr.sbin/sysinst/install.c: revision 1.18
usr.sbin/sysinst/partitions.h: revision 1.16
usr.sbin/sysinst/install.c: revision 1.19
usr.sbin/sysinst/partitions.h: revision 1.17
usr.sbin/sysinst/arch/evbppc/md.c: revision 1.9
usr.sbin/sysinst/arch/playstation2/md.c: revision 1.9
usr.sbin/sysinst/partitions.h: revision 1.18
usr.sbin/sysinst/arch/hpcarm/md.c: revision 1.9
usr.sbin/sysinst/partitions.h: revision 1.19
usr.sbin/sysinst/msg.mi.es: revision 1.24
usr.sbin/sysinst/msg.mi.es: revision 1.25
usr.sbin/sysinst/msg.mi.es: revision 1.26
usr.sbin/sysinst/arch/zaurus/md.c: revision 1.9
usr.sbin/sysinst/target.c: revision 1.13
usr.sbin/sysinst/target.c: revision 1.14
usr.sbin/sysinst/part_edit.c: revision 1.17
usr.sbin/sysinst/part_edit.c: revision 1.18
usr.sbin/sysinst/msg.mi.fr: revision 1.30
usr.sbin/sysinst/arch/mvme68k/md.c: revision 1.11
usr.sbin/sysinst/part_edit.c: revision 1.19
usr.sbin/sysinst/msg.mi.fr: revision 1.31
usr.sbin/sysinst/arch/alpha/md.c: revision 1.9
usr.sbin/sysinst/msg.mi.en: revision 1.30
usr.sbin/sysinst/defs.h: revision 1.56
usr.sbin/sysinst/msg.mi.en: revision 1.31
usr.sbin/sysinst/defs.h: revision 1.57
usr.sbin/sysinst/msg.mi.en: revision 1.32
usr.sbin/sysinst/arch/amiga/md.c: revision 1.6
usr.sbin/sysinst/arch/hpcmips/md.c: revision 1.9
usr.sbin/sysinst/defs.h: revision 1.58
usr.sbin/sysinst/arch/cats/md.c: revision 1.5
usr.sbin/sysinst/defs.h: revision 1.59
usr.sbin/sysinst/arch/newsmips/md.c: revision 1.6
usr.sbin/sysinst/arch/pmax/md.c: revision 1.8
usr.sbin/sysinst/arch/mipsco/md.c: revision 1.8
usr.sbin/sysinst/part_edit.c: revision 1.20
usr.sbin/sysinst/part_edit.c: revision 1.21
usr.sbin/sysinst/arch/macppc/md.c: revision 1.6
usr.sbin/sysinst/part_edit.c: revision 1.22
usr.sbin/sysinst/part_edit.c: revision 1.23
usr.sbin/sysinst/part_edit.c: revision 1.24
usr.sbin/sysinst/defs.h: revision 1.60
usr.sbin/sysinst/arch/mac68k/Makefile: revision 1.3
usr.sbin/sysinst/defs.h: revision 1.61
usr.sbin/sysinst/defs.h: revision 1.63
usr.sbin/sysinst/defs.h: revision 1.64
usr.sbin/sysinst/defs.h: revision 1.65
usr.sbin/sysinst/label.c: revision 1.21
usr.sbin/sysinst/defs.h: revision 1.66
usr.sbin/sysinst/label.c: revision 1.22
usr.sbin/sysinst/defs.h: revision 1.67
usr.sbin/sysinst/label.c: revision 1.23
usr.sbin/sysinst/label.c: revision 1.24
usr.sbin/sysinst/label.c: revision 1.25
usr.sbin/sysinst/label.c: revision 1.26
usr.sbin/sysinst/label.c: revision 1.27
usr.sbin/sysinst/msg.mi.pl: revision 1.31
usr.sbin/sysinst/label.c: revision 1.28
usr.sbin/sysinst/msg.mi.pl: revision 1.32
usr.sbin/sysinst/label.c: revision 1.29
usr.sbin/sysinst/arch/atari/md.c: revision 1.7
usr.sbin/sysinst/disklabel.c: revision 1.36
usr.sbin/sysinst/disklabel.c: revision 1.37
usr.sbin/sysinst/disklabel.c: revision 1.38
usr.sbin/sysinst/disklabel.c: revision 1.39
usr.sbin/sysinst/arch/bebox/md.c: revision 1.9
usr.sbin/sysinst/mbr.c: revision 1.32
usr.sbin/sysinst/disks.c: revision 1.66
usr.sbin/sysinst/mbr.c: revision 1.33
usr.sbin/sysinst/disks.c: revision 1.67
usr.sbin/sysinst/mbr.c: revision 1.34
usr.sbin/sysinst/arch/emips/md.c: revision 1.9
usr.sbin/sysinst/disks.c: revision 1.68
usr.sbin/sysinst/partitions.c: revision 1.11
usr.sbin/sysinst/mbr.c: revision 1.35
usr.sbin/sysinst/disks.c: revision 1.69
usr.sbin/sysinst/mbr.c: revision 1.36
usr.sbin/sysinst/arch/hppa/md.c: revision 1.8
usr.sbin/sysinst/arch/prep/md.c: revision 1.13
usr.sbin/sysinst/label.c: revision 1.30
usr.sbin/sysinst/arch/ews4800mips/md.c: revision 1.7
usr.sbin/sysinst/main.c: revision 1.21
usr.sbin/sysinst/main.c: revision 1.22
usr.sbin/sysinst/main.c: revision 1.23
usr.sbin/sysinst/bsddisklabel.c: revision 1.40
usr.sbin/sysinst/main.c: revision 1.24
usr.sbin/sysinst/arch/cobalt/md.h: revision 1.6
usr.sbin/sysinst/bsddisklabel.c: revision 1.41
usr.sbin/sysinst/main.c: revision 1.25
usr.sbin/sysinst/arch/news68k/md.c: revision 1.7
usr.sbin/sysinst/bsddisklabel.c: revision 1.42
usr.sbin/sysinst/bsddisklabel.c: revision 1.43
usr.sbin/sysinst/bsddisklabel.c: revision 1.44
usr.sbin/sysinst/bsddisklabel.c: revision 1.45
Use strlcpy in a few places to guarnatee 0-terminated strings
Rever previous: the d_packname in struct disklabel is not NUL terminated.
Disable the warning instead.
Do not force -Os optimization (unless SMALLPROG)
Remove unused "rel" global variable and make the -r option a no-op.
PR 55045: strlcpy(NULL, ..., 0) considered harmfull in some implementations.
PR misc/54886: bump threshold for automatic/default creation of a tmpfs /tmp
up slightly (to 384 MB ram). This will make sure the default install has
a > 64 MB /tmp available (number pulled out of thin air, 64 MB is the minimum
required by the ZFS tests).
Don't depend on common symbol definitions.
boardype should not be common.
Redo the root-size-limit check again after we grew the root partition
for kernel dumps. Auto-enable the /usr partition if it overflows.
For all non-root partitions, default to FFSv2.
When extending a partition (to fill the total disk size) do respect
size limits.
Do not suggest a size limited partition for extension by default.
Minor tweak to previous: when forcing a /usr partition just to have an
arbitrary extendable partition, still use its default size initially.
At the end of a new installation save entropy.
Ooops, backout previous - twice the entropy saving is not needed.
Instead slightly improve the (slightly) hidden other code that already
did it.
PR 55202: disable swapping if we started it due to low ram
it's "its"
Remove "If you booted from a floppy" message
Set HAVE_INSTALL_IMAGE for evbarm
Change mountpoint of boot ext2fs from /stand to /ext2 to avoid conflict.
Should be pulled up to netbsd-9, with fixes of PR/55060.
MBR type for Ext2 should be MBR_PTYPE_LNXEXT2, not MBR_PTYPE_FAT12.
Silence -Wstringop-truncation for ``name'' in disp_selected_part().
This variable is used only for display, and truncation seems harmless.
PR 55572: avoid crash when answering the mount point prompt for a previously
empty mount point with an emptry sting.
When adding a new partition in the concrete partition editor, make sure
to set a pointer to the partition table interface in the new entry.
Otherwise we may end up not writing back the partitions at all, leading
to further fallout later.
Receipe to reproduce the issue from Frederic Fauberteau, thanks!
In the concrete partitions editor, after deleting the last partition move
the menu selection to the "add a partition" entry (instead of the sentinel
line which is not an active menu entry).
Typo in comment
Keep a list of all partition tables from which we have deleted partitions
and make sure we update those partition tables when writing partitions,
even if no install related partition remains on them.
Fix display of timezone selection menu
If there is no current partitioning manager assume we are editing the
current system and make target_already_root() return true.
Fixes various fallout when using sysinst post installation.
PR 55377: mark boot partitions in the partition size display, as suggested
by Izumi Tsutsui (minor modifications + all bugs by me)
PR 55378: do not assume RAW_PART to be either 2 or 3
PR 55379: avoid creating bogus /etc/fstab lines for /dev/cd* if no
cdrom is available.
PR 55381: try to deal with moved (but not yet saved) partitions when
calculating free space
Apply patch provided by Izumi Tsutsui in PR 55382: make ext2 partitions
show up in the outer (MBR) partition table, needed for example on Cobalt
where firmware boots from that partition.
PR 55384: detangle pm->ptstart from the "install" flag (selecting a
target partition). Instead introduce a new PTI_INSTALL_TARGET per partition
flag and deal with it in the partitioning backends.
Honour pm->ptstart when allocating new partitions - it is supposed to be
the first sector usable by NetBSD.
If we have no explicitly marke target root partition, make sure to set
the proper flag on the implicit one.
When merging existing partitions with desired target system layout
information, only force the "mount" flag if the existing partitions
has a valid mount point.
Add a heuristic to detect and properly mark EFI system partitions
when re-using pre-existing partitions.
When MD code requests a reserved area (at the start of the disk)
make sure to properly account for the "lost" space during all calculations
and especially when expanding the main partition to fill the disk.
Avoid using the global "pm" or a passed device descriptons when we are
passing disk limits explicitly anyway.
Simplify/fix a few rounding calculations.
When creating new partitions for "full disk" use, pass a install target
hint to the partitioning backend (for the outer NetBSD partition).
Use an install target hint to mark a new partition active.
When compiled with BOOTSEL support, also name the new partition "NetBSD".
Remove more pm->ptstart abuse - calculate values localy where needed
instead.
Fix editing start and size of not yet existing outer partitions.
Previously we abused pm->ptstart / pm->ptsize to pass the bounds of the
NetBSD outer partition to the inner partition editor - but now this is
not a valid assumption any more, so explicitly fix the bounds if an
outer partition exists.
Remove very strange code that special-cased MSDOS file systems and refused
to newfs the partition (despite explicit request to do so) if it was
mountable.
Accidently carried over from a dim and distant past, before we had
fsck_newfs.
PR 55536: when we find existing partition tables and have alternative
formats available, offer to delete partitions and create new ones from
scratch (in some other or the same on-disk format).
Minor fix to previous: fix condition when we offer the partition type
switch - it makes sense even if the disk is partitioned but has no valid
partitions.
Before forcing MBR partitions into our disklabel, make sure they are not
there yet - could happen in various paths when reusing existing partitions
(or parts of that) - previously we would blindly duplicate identical
partitions.
Ooops, part of previous was not meant to be included yet
When renumbering partitions (after deletions) be slightly more lax
in matching, to cope with differences between MBR EFI partitions and
disklabel MSDOS partitions.
PR 55142: on popular demand bring back expert options to adjust the
number of free inodes, block size and fragment size for FFS and LFS.
Fix copy & pasto noticed by Jason Mitchell: change the type of a GPT
partition via "gpt type" - not "gpt label".
Fix copy & pasto (missing "again" label)
Remove dead code
Move MBR writing (if any) post disklabel writing, otherwise strange
interactions happen.
Properly convert partition default sizes in MB to number of sectors
 1.8.2.4 10-Feb-2020  bouyer Pull up following revision(s) (requested by martin in ticket #693):
usr.sbin/sysinst/arch/x68k/msg.md.en: revision 1.2
usr.sbin/sysinst/arch/x68k/md.c: revision 1.10
usr.sbin/sysinst/arch/mvme68k/msg.md.fr: revision 1.2
usr.sbin/sysinst/arch/x68k/msg.md.en: revision 1.3
usr.sbin/sysinst/arch/mvme68k/msg.md.fr: revision 1.3
usr.sbin/sysinst/msg.mi.en: revision 1.28
usr.sbin/sysinst/arch/hp300/md.c: revision 1.10
usr.sbin/sysinst/msg.mi.es: revision 1.22
usr.sbin/sysinst/target.c: revision 1.12
usr.sbin/sysinst/arch/mvme68k/md.c: revision 1.10
usr.sbin/sysinst/arch/i386/md.c: revision 1.30
usr.sbin/sysinst/arch/mvme68k/msg.md.pl: revision 1.2
usr.sbin/sysinst/arch/mvme68k/msg.md.pl: revision 1.3
usr.sbin/sysinst/bsddisklabel.c: revision 1.39
usr.sbin/sysinst/arch/mvme68k/msg.md.de: revision 1.2
usr.sbin/sysinst/arch/mac68k/md.c: revision 1.9
usr.sbin/sysinst/disklabel.c: revision 1.35
usr.sbin/sysinst/arch/mvme68k/msg.md.de: revision 1.3
usr.sbin/sysinst/defs.h: revision 1.55
usr.sbin/sysinst/disks.c: revision 1.63
usr.sbin/sysinst/disks.c: revision 1.64
usr.sbin/sysinst/mbr.c: revision 1.31
usr.sbin/sysinst/disks.c: revision 1.65
usr.sbin/sysinst/txtwalk.c: revision 1.3
usr.sbin/sysinst/txtwalk.c: revision 1.4
usr.sbin/sysinst/arch/mvme68k/msg.md.en: revision 1.2
usr.sbin/sysinst/arch/mvme68k/msg.md.en: revision 1.3
usr.sbin/sysinst/msg.mi.fr: revision 1.26
usr.sbin/sysinst/msg.mi.pl: revision 1.29
usr.sbin/sysinst/arch/mvme68k/msg.md.es: revision 1.2
usr.sbin/sysinst/upgrade.c: revision 1.15
usr.sbin/sysinst/arch/mvme68k/msg.md.es: revision 1.3
usr.sbin/sysinst/upgrade.c: revision 1.16
usr.sbin/sysinst/partman.c: revision 1.50
usr.sbin/sysinst/msg.mi.de: revision 1.21
remove unused "emptypart" message (or moved to ifdef notyet area)
PR install/54921: message "ordering" takes a %s argument.
PR install/54921: skip non-user partitions when checking for overlaps
bootxx_name() - fix oversight in previous change (do not assume first
partition is the root partition)
PR install/54934: always use -f on the installboot invocation. We come
here post-newfs (and maybe should have dd'd zeros to the start of the
disk before newfs instead).
Remove a bogus assert: when reading disklabel partitions and the outer
(MBR) partitioning has changed, but the changes have not yet been written
back to disk, we need to ignore the kernels idea of the disklabel and
instead continue with an empty one.
Deal with partitioning schemes having no inner counterpart.
Avoid NULL derefs.
Do not assum a partitioning scheme that supports innner partitions always
needs to actually have such partitions defined.
PR bin/54944: deal with escaped spaces in NAME= syntax in /etc/fstab.
PR bin/54944: explicitly reject GPT protective MBRs.
PR bin/54944: make the "explicit single wedge" selection also work for
upgrades.
Reformat a query to add an automatically detected swap partition
so it fits on narrow screens.
Make re-install sets also work for an explicit selected root wedge
Fix copy&pasto in previous - from kre.
Only a single partition can ever have the "extend" flag (grow to available
size).
Do not use -P for tar extractions - the in tree tar has been fixed.
Finish conversion to generic partitioning backend
 1.8.2.3 28-Jan-2020  msaitoh Pull up following revision(s) (requested by martin in ticket #668):
usr.sbin/sysinst/arch/cobalt/md.c: revision 1.11
usr.sbin/sysinst/arch/cobalt/md.c: revision 1.12
usr.sbin/sysinst/arch/arc/md.c: revision 1.11
usr.sbin/sysinst/arch/arc/md.c: revision 1.12
usr.sbin/sysinst/partman.c: revision 1.43
usr.sbin/sysinst/partman.c: revision 1.46
usr.sbin/sysinst/partman.c: revision 1.47
usr.sbin/sysinst/partman.c: revision 1.48
usr.sbin/sysinst/partman.c: revision 1.49
usr.sbin/sysinst/msg.pm.fr: revision 1.2
usr.sbin/sysinst/upgrade.c: revision 1.14
usr.sbin/sysinst/arch/i386/md.c: revision 1.28
usr.sbin/sysinst/arch/i386/md.c: revision 1.29
usr.sbin/sysinst/arch/ofppc/md.c: revision 1.9
usr.sbin/sysinst/arch/sandpoint/md.c: revision 1.7
usr.sbin/sysinst/arch/sandpoint/md.c: revision 1.8
usr.sbin/sysinst/gpt.c: revision 1.14
usr.sbin/sysinst/gpt.c: revision 1.15
usr.sbin/sysinst/arch/luna68k/md.c: revision 1.8
usr.sbin/sysinst/gpt.c: revision 1.16
usr.sbin/sysinst/msg.pm.de: revision 1.2
usr.sbin/sysinst/arch/evbarm/md.c: revision 1.11
usr.sbin/sysinst/arch/evbarm/md.c: revision 1.12
usr.sbin/sysinst/arch/evbarm/md.c: revision 1.13
usr.sbin/sysinst/arch/evbarm/md.c: revision 1.14
usr.sbin/sysinst/sizemultname.c: revision 1.4
usr.sbin/sysinst/msg.pm.en: revision 1.2
usr.sbin/sysinst/arch/landisk/md.c: revision 1.12
usr.sbin/sysinst/util.c: revision 1.41
usr.sbin/sysinst/arch/landisk/md.c: revision 1.13
usr.sbin/sysinst/util.c: revision 1.42
usr.sbin/sysinst/arch/ofppc/md.c: revision 1.10
usr.sbin/sysinst/partitions.c: revision 1.9
usr.sbin/sysinst/arch/evbarm/md.h: revision 1.4
usr.sbin/sysinst/arch/evbarm/md.h: revision 1.5
usr.sbin/sysinst/arch/evbmips/md.c: revision 1.7
usr.sbin/sysinst/arch/evbmips/md.c: revision 1.8
usr.sbin/sysinst/msg.mi.fr: revision 1.25
usr.sbin/sysinst/msg.mi.de: revision 1.20
usr.sbin/sysinst/install.c: revision 1.14
usr.sbin/sysinst/partitions.h: revision 1.13
usr.sbin/sysinst/partitions.h: revision 1.14
usr.sbin/sysinst/arch/evbppc/md.c: revision 1.7
usr.sbin/sysinst/arch/playstation2/md.c: revision 1.7
usr.sbin/sysinst/msg.mi.en: revision 1.27
usr.sbin/sysinst/partitions.h: revision 1.15
usr.sbin/sysinst/arch/evbppc/md.c: revision 1.8
usr.sbin/sysinst/arch/hpcarm/md.c: revision 1.7
usr.sbin/sysinst/arch/playstation2/md.c: revision 1.8
usr.sbin/sysinst/msg.pm.pl: revision 1.2
usr.sbin/sysinst/arch/hpcarm/md.c: revision 1.8
usr.sbin/sysinst/msg.mi.es: revision 1.21
usr.sbin/sysinst/arch/zaurus/md.c: revision 1.7
usr.sbin/sysinst/target.c: revision 1.11
usr.sbin/sysinst/arch/zaurus/md.c: revision 1.8
usr.sbin/sysinst/part_edit.c: revision 1.14
usr.sbin/sysinst/part_edit.c: revision 1.15
usr.sbin/sysinst/part_edit.c: revision 1.16
usr.sbin/sysinst/defs.h: revision 1.50
usr.sbin/sysinst/defs.h: revision 1.51
usr.sbin/sysinst/defs.h: revision 1.52
usr.sbin/sysinst/defs.h: revision 1.53
usr.sbin/sysinst/defs.h: revision 1.54
usr.sbin/sysinst/arch/hpcmips/md.c: revision 1.7
usr.sbin/sysinst/arch/hpcmips/md.c: revision 1.8
usr.sbin/sysinst/arch/hpcsh/md.c: revision 1.8
usr.sbin/sysinst/msg.pm.es: revision 1.2
usr.sbin/sysinst/arch/hpcsh/md.c: revision 1.9
usr.sbin/sysinst/label.c: revision 1.18
usr.sbin/sysinst/label.c: revision 1.19
usr.sbin/sysinst/net.c: revision 1.35
usr.sbin/sysinst/msg.mi.pl: revision 1.28
usr.sbin/sysinst/disklabel.c: revision 1.28
usr.sbin/sysinst/disklabel.c: revision 1.29
usr.sbin/sysinst/mbr.c: revision 1.24
usr.sbin/sysinst/disks.c: revision 1.59
usr.sbin/sysinst/mbr.c: revision 1.25
usr.sbin/sysinst/mbr.c: revision 1.26
usr.sbin/sysinst/mbr.c: revision 1.27
usr.sbin/sysinst/mbr.c: revision 1.28
usr.sbin/sysinst/label.c: revision 1.20
usr.sbin/sysinst/mbr.c: revision 1.29
usr.sbin/sysinst/bsddisklabel.c: revision 1.34
usr.sbin/sysinst/bsddisklabel.c: revision 1.35
usr.sbin/sysinst/bsddisklabel.c: revision 1.36
usr.sbin/sysinst/bsddisklabel.c: revision 1.37
usr.sbin/sysinst/disklabel.c: revision 1.30
usr.sbin/sysinst/bsddisklabel.c: revision 1.38
usr.sbin/sysinst/disklabel.c: revision 1.31
usr.sbin/sysinst/disklabel.c: revision 1.32
usr.sbin/sysinst/disklabel.c: revision 1.33
usr.sbin/sysinst/disklabel.c: revision 1.34
usr.sbin/sysinst/disks.c: revision 1.60
usr.sbin/sysinst/disks.c: revision 1.61
usr.sbin/sysinst/arch/bebox/md.c: revision 1.7
usr.sbin/sysinst/disks.c: revision 1.62
usr.sbin/sysinst/arch/bebox/md.c: revision 1.8
usr.sbin/sysinst/mbr.c: revision 1.30
usr.sbin/sysinst/partitions.c: revision 1.10
usr.sbin/sysinst/arch/prep/md.c: revision 1.11
usr.sbin/sysinst/arch/prep/md.c: revision 1.12
usr.sbin/sysinst/menus.pm: revision 1.3
usr.sbin/sysinst/main.c: revision 1.20
usr.sbin/sysinst/menus.mi: revision 1.20
usr.sbin/sysinst/menus.mi: revision 1.21
avoid calling snprintf/strlcat with an input parameter the same
as the output. from martin@. fixes gcc 8 restrict warnings.
Finish conversion of extended partitioning parts to new abstract
backend interface. XXX still could use a lot of polishing.
Instead of a (bogus) attempt to query the model via ofctl, use the (now
fixed) sysctl hw.model instead.
When reading the secondary disklabel partitions from an existing disklabel
set the mbr partitions as parent.
Move the LABELSECTOR check and make it FS type specific - some partition
types (FFS, RAID) are allowed to overlap with the LABELSECTOR.
When asked to create a whole-disk partition for unknown usage, do not only
assert(false), but actually return an error (in case "assert" is a nop).
PR install/54787: when trying to derive proper alignement and first offset
from exisiting partitions, use the first partition offset if it is already
closer to the start of the disk than the prefered alignment - we can not
move existing partitions around.
Fix handling of inner/outer partitions (e.g. MBR and disklabel) in
extended partitioning:
- when editing a disk with such a schme, offer both partitions in two
steps
- when commiting changes save the inner partitions after the outer ones
Add a method to query the partitioning schemes "internal idea" of a
cylinder size - whatever that means in the real world.
Avoid using the global "pm" variable in utility functions - during
extended partitioning they may point to a different device.
Remove useless calls to get_ramsize() - return value is ignored and
the function has no side effects.
Fix /tmp tmpfs handling and on machines with enough RAM default to
creating a /tmp tmpfs with 25% of ram size limit. Suggested by ad@.
PR install/54872: fix printf argument order, sectors and heads were
swapped in the bios geometry display.
First try to bring evbarm installation closer to current reality.
hide disklabel_non_bootable() under NO_DISKLABEL_BOOT like the usage.
should fix most builds.
Deal with even stranger fictious empty disklabels (PR kern/54882).
Factor out all RAM size thresholds as defines to avoid magic numbers.
To work around PR misc/54886 bump the threshold for a tmpfs /tmp mount
up to 256 MB.
When retrying sets during extraction, reset the relevant statistics
to avoid counting retried sets multiple times.
Reported by kim.
Fix support for non-512-byte/sector disks again after I broke it when
introducing the abstract partition backends.
Use a few strlcpy() instead of strncpy() for network ioctl structs.
We seem to have no formal documentation stating the various
char if*_name[IFNAMSIZ]; /* if name, e.g. "en0" */
elements in ioctls are nul terminated, but the peanut gallery claims
it is so - and at least half of the code in-tree touching them agrees.
Too much disklabel magic happening in the kernel - to compensate force
MBR first when trying to identify the existing partitioning scheme of
a disk.
 1.8.2.2 08-Aug-2019  msaitoh Pull up following revision(s) (requested by martin in ticket #28):
usr.sbin/sysinst/disklabel.c: revision 1.11
usr.sbin/sysinst/target.c: revision 1.10
usr.sbin/sysinst/disks.c: revision 1.47
usr.sbin/sysinst/txtwalk.c: revision 1.2
usr.sbin/sysinst/partitions.h: revision 1.5
usr.sbin/sysinst/txtwalk.h: revision 1.2
usr.sbin/sysinst/arch/ews4800mips/md.h: revision 1.4
usr.sbin/sysinst/gpt.c: revision 1.9
usr.sbin/sysinst/defs.h: revision 1.43
Support upgrade of systems using NAME= syntax in /etc/fstab.
Make supported file system types dynamic - instead of hardcoding the
available types at compile time, check for available newfs_* helper
binaries in the actual install environment at runtime.
 1.8.2.1 02-Aug-2019  msaitoh Pull up following revision(s) (requested by martin in ticket #4):
usr.sbin/sysinst/target.c: revision 1.9
usr.sbin/sysinst/disks.c: revision 1.45
usr.sbin/sysinst/label.c: revision 1.11
Do not strip the trailing / on root mounts when evaluation "last mounted
on". Fix some /dev/ and raw vs. block device confusion on system upgrades.
 1.5 31-Jan-2021  rillig sysinst: remove trailing whitespace from *.c *.h

In contrast to the messages files, this whitespace is not significant.
 1.4 06-Feb-2020  martin Fix copy&pasto in previous - from kre.
 1.3 06-Feb-2020  martin PR bin/54944: deal with escaped spaces in NAME= syntax in /etc/fstab.
 1.2 07-Aug-2019  martin Support upgrade of systems using NAME= syntax in /etc/fstab.

Make supported file system types dynamic - instead of hardcoding the
available types at compile time, check for available newfs_* helper
binaries in the actual install environment at runtime.
 1.1 26-Jul-2014  dholland branches: 1.1.2; 1.1.6; 1.1.28; 1.1.30;
Move sysinst sources to usr.sbin.

This commit only physically moves the sources - there are no other
changes, to maximize the probability that this will be treated as a
rename if we ever do manage to migrate away from CVS.

Moving sysinst has been discussed on and off for years and has two
goals: making it easier to work on sysinst, and also making sysinst
available on running systems for use installing chroots and VM images
and other such things. None of the latter is possible yet, but as they
say, one thing at a time.

Doing this now was approved in an impromptu fashion by mrg, riz,
riastradh, me, and groo.
 1.1.30.2 10-Feb-2020  bouyer Pull up following revision(s) (requested by martin in ticket #693):
usr.sbin/sysinst/arch/x68k/msg.md.en: revision 1.2
usr.sbin/sysinst/arch/x68k/md.c: revision 1.10
usr.sbin/sysinst/arch/mvme68k/msg.md.fr: revision 1.2
usr.sbin/sysinst/arch/x68k/msg.md.en: revision 1.3
usr.sbin/sysinst/arch/mvme68k/msg.md.fr: revision 1.3
usr.sbin/sysinst/msg.mi.en: revision 1.28
usr.sbin/sysinst/arch/hp300/md.c: revision 1.10
usr.sbin/sysinst/msg.mi.es: revision 1.22
usr.sbin/sysinst/target.c: revision 1.12
usr.sbin/sysinst/arch/mvme68k/md.c: revision 1.10
usr.sbin/sysinst/arch/i386/md.c: revision 1.30
usr.sbin/sysinst/arch/mvme68k/msg.md.pl: revision 1.2
usr.sbin/sysinst/arch/mvme68k/msg.md.pl: revision 1.3
usr.sbin/sysinst/bsddisklabel.c: revision 1.39
usr.sbin/sysinst/arch/mvme68k/msg.md.de: revision 1.2
usr.sbin/sysinst/arch/mac68k/md.c: revision 1.9
usr.sbin/sysinst/disklabel.c: revision 1.35
usr.sbin/sysinst/arch/mvme68k/msg.md.de: revision 1.3
usr.sbin/sysinst/defs.h: revision 1.55
usr.sbin/sysinst/disks.c: revision 1.63
usr.sbin/sysinst/disks.c: revision 1.64
usr.sbin/sysinst/mbr.c: revision 1.31
usr.sbin/sysinst/disks.c: revision 1.65
usr.sbin/sysinst/txtwalk.c: revision 1.3
usr.sbin/sysinst/txtwalk.c: revision 1.4
usr.sbin/sysinst/arch/mvme68k/msg.md.en: revision 1.2
usr.sbin/sysinst/arch/mvme68k/msg.md.en: revision 1.3
usr.sbin/sysinst/msg.mi.fr: revision 1.26
usr.sbin/sysinst/msg.mi.pl: revision 1.29
usr.sbin/sysinst/arch/mvme68k/msg.md.es: revision 1.2
usr.sbin/sysinst/upgrade.c: revision 1.15
usr.sbin/sysinst/arch/mvme68k/msg.md.es: revision 1.3
usr.sbin/sysinst/upgrade.c: revision 1.16
usr.sbin/sysinst/partman.c: revision 1.50
usr.sbin/sysinst/msg.mi.de: revision 1.21
remove unused "emptypart" message (or moved to ifdef notyet area)
PR install/54921: message "ordering" takes a %s argument.
PR install/54921: skip non-user partitions when checking for overlaps
bootxx_name() - fix oversight in previous change (do not assume first
partition is the root partition)
PR install/54934: always use -f on the installboot invocation. We come
here post-newfs (and maybe should have dd'd zeros to the start of the
disk before newfs instead).
Remove a bogus assert: when reading disklabel partitions and the outer
(MBR) partitioning has changed, but the changes have not yet been written
back to disk, we need to ignore the kernels idea of the disklabel and
instead continue with an empty one.
Deal with partitioning schemes having no inner counterpart.
Avoid NULL derefs.
Do not assum a partitioning scheme that supports innner partitions always
needs to actually have such partitions defined.
PR bin/54944: deal with escaped spaces in NAME= syntax in /etc/fstab.
PR bin/54944: explicitly reject GPT protective MBRs.
PR bin/54944: make the "explicit single wedge" selection also work for
upgrades.
Reformat a query to add an automatically detected swap partition
so it fits on narrow screens.
Make re-install sets also work for an explicit selected root wedge
Fix copy&pasto in previous - from kre.
Only a single partition can ever have the "extend" flag (grow to available
size).
Do not use -P for tar extractions - the in tree tar has been fixed.
Finish conversion to generic partitioning backend
 1.1.30.1 08-Aug-2019  msaitoh Pull up following revision(s) (requested by martin in ticket #28):
usr.sbin/sysinst/disklabel.c: revision 1.11
usr.sbin/sysinst/target.c: revision 1.10
usr.sbin/sysinst/disks.c: revision 1.47
usr.sbin/sysinst/txtwalk.c: revision 1.2
usr.sbin/sysinst/partitions.h: revision 1.5
usr.sbin/sysinst/txtwalk.h: revision 1.2
usr.sbin/sysinst/arch/ews4800mips/md.h: revision 1.4
usr.sbin/sysinst/gpt.c: revision 1.9
usr.sbin/sysinst/defs.h: revision 1.43
Support upgrade of systems using NAME= syntax in /etc/fstab.
Make supported file system types dynamic - instead of hardcoding the
available types at compile time, check for available newfs_* helper
binaries in the actual install environment at runtime.
 1.1.28.2 13-Apr-2020  martin Mostly merge changes from HEAD upto 20200411
 1.1.28.1 08-Apr-2020  martin Merge changes from current as of 20200406
 1.1.6.2 20-Aug-2014  tls Rebase to HEAD as of a few days ago.
 1.1.6.1 26-Jul-2014  tls file txtwalk.c was added on branch tls-maxphys on 2014-08-20 00:05:14 +0000
 1.1.2.2 10-Aug-2014  tls Rebase.
 1.1.2.1 26-Jul-2014  tls file txtwalk.c was added on branch tls-earlyentropy on 2014-08-10 07:00:24 +0000
 1.2 07-Aug-2019  martin Support upgrade of systems using NAME= syntax in /etc/fstab.

Make supported file system types dynamic - instead of hardcoding the
available types at compile time, check for available newfs_* helper
binaries in the actual install environment at runtime.
 1.1 26-Jul-2014  dholland branches: 1.1.2; 1.1.6; 1.1.28; 1.1.30;
Move sysinst sources to usr.sbin.

This commit only physically moves the sources - there are no other
changes, to maximize the probability that this will be treated as a
rename if we ever do manage to migrate away from CVS.

Moving sysinst has been discussed on and off for years and has two
goals: making it easier to work on sysinst, and also making sysinst
available on running systems for use installing chroots and VM images
and other such things. None of the latter is possible yet, but as they
say, one thing at a time.

Doing this now was approved in an impromptu fashion by mrg, riz,
riastradh, me, and groo.
 1.1.30.1 08-Aug-2019  msaitoh Pull up following revision(s) (requested by martin in ticket #28):
usr.sbin/sysinst/disklabel.c: revision 1.11
usr.sbin/sysinst/target.c: revision 1.10
usr.sbin/sysinst/disks.c: revision 1.47
usr.sbin/sysinst/txtwalk.c: revision 1.2
usr.sbin/sysinst/partitions.h: revision 1.5
usr.sbin/sysinst/txtwalk.h: revision 1.2
usr.sbin/sysinst/arch/ews4800mips/md.h: revision 1.4
usr.sbin/sysinst/gpt.c: revision 1.9
usr.sbin/sysinst/defs.h: revision 1.43
Support upgrade of systems using NAME= syntax in /etc/fstab.
Make supported file system types dynamic - instead of hardcoding the
available types at compile time, check for available newfs_* helper
binaries in the actual install environment at runtime.
 1.1.28.1 13-Apr-2020  martin Mostly merge changes from HEAD upto 20200411
 1.1.6.2 20-Aug-2014  tls Rebase to HEAD as of a few days ago.
 1.1.6.1 26-Jul-2014  tls file txtwalk.h was added on branch tls-maxphys on 2014-08-20 00:05:14 +0000
 1.1.2.2 10-Aug-2014  tls Rebase.
 1.1.2.1 26-Jul-2014  tls file txtwalk.h was added on branch tls-earlyentropy on 2014-08-10 07:00:24 +0000
 1.1 26-Jul-2014  dholland branches: 1.1.2; 1.1.6;
Move sysinst sources to usr.sbin.

This commit only physically moves the sources - there are no other
changes, to maximize the probability that this will be treated as a
rename if we ever do manage to migrate away from CVS.

Moving sysinst has been discussed on and off for years and has two
goals: making it easier to work on sysinst, and also making sysinst
available on running systems for use installing chroots and VM images
and other such things. None of the latter is possible yet, but as they
say, one thing at a time.

Doing this now was approved in an impromptu fashion by mrg, riz,
riastradh, me, and groo.
 1.1.6.2 20-Aug-2014  tls Rebase to HEAD as of a few days ago.
 1.1.6.1 26-Jul-2014  tls file unif.awk was added on branch tls-maxphys on 2014-08-20 00:05:14 +0000
 1.1.2.2 10-Aug-2014  tls Rebase.
 1.1.2.1 26-Jul-2014  tls file unif.awk was added on branch tls-earlyentropy on 2014-08-10 07:00:24 +0000
 1.21 24-Jun-2022  tsutsui Use proper ANSI function declarations.
 1.20 21-Apr-2022  martin Make default installations a bit more secure:
- push a bit harder for setup of a root password
- simplify/clarify manual entropy setup
- visit the entropy setup (on machines where it is needed) on the
default path through sysinst
 1.19 29-Jan-2022  martin When upgrading, update the boot code post extraction from
the updated target file system.
 1.18 12-Aug-2021  martin PR 56354: all actions to set up swap space are not guaranteed to gain
us enough virtual memory anyway, so drop return codes from set_swap*.
The state for cleanup (which swap dev to unuse) has been made global
some time ago anyway.

Previously use of the return values was inconsistent. Error reporting
will only confuse users and sometimes the situation is hard to fix or
even impossible (like in miniroots copide to swap space for booting).
 1.17 04-Nov-2020  martin Add (experimental) entropy input support:
Early during new installs or after upgrades we check if entropy is
available. If not (no hardware random number generator available)
we inform the user and ask them to fix it.
 1.16 06-Feb-2020  martin Make re-install sets also work for an explicit selected root wedge
 1.15 06-Feb-2020  martin PR bin/54944: make the "explicit single wedge" selection also work for
upgrades.
 1.14 16-Jan-2020  martin Remove useless calls to get_ramsize() - return value is ignored and
the function has no side effects.
 1.13 27-Aug-2019  martin Do not offer to upgared the "current system" if we are running off a CD
(i.e. / is mounted read-only)
 1.12 23-Jul-2019  martin branches: 1.12.2;
For upgrade / re-install allow the currently running system as a target
in the "disk" selection.
 1.11 23-Jul-2019  martin Fix the "reinstall sets" action.
 1.10 23-Jul-2019  martin When searching for a partition that may be the root partition for upgrading,
allow "/", "/targetroot" and "/altroot" as potential last mount points.
 1.9 24-Jun-2019  martin If low on ram, mount the proper swap partition before doing the main
upgrade work.
 1.8 20-Jun-2019  christos Use _fmt_ msg_ methods when formats are needed.
 1.7 12-Jun-2019  martin Rework internal data structures and "interfaces to user interface" functions
to get rid of all disklabel assumptions.

Previously (even for GPT partitioning) struct disklabel was used, which
obviously breaks large disk setups. Also many MD parts and parts of the
user interface assumed (a) a struct disklabel is used internally to
store partitioning information and (b) partitions are named 'a' ... $MAXPART.

Get rid of this and replace it with a quite abstract interface that should
be able to deal with all variants in partition storage:

- partitions are stored in a (partly abstract) struct disk_partitions
and most parts of it are only accessed via accessor functions provided
by a "partitioning scheme".

- implement partitioning schemes for MBR, disklabel and GPT (with likely
RDB [amiga] and Apple Partition Map [mac*] to follow soon)

- partitioning schemes may be cascaded, e.g. on x86 when using MBR as
"outer partitions", we have disklabel as "inner partitions".

- all user interface goes via accessor functions in the partitioning scheme,
some of which return pointers to special user interface descriptors
(e.g. to allow editing partition flags, which are scheme specific)

Overall the user interface changes (in this initial step) are minimal but
noticable. A new Anita is needed for automatic test setups - many thanks
to Andreas Gustafsson for lots of early testing and a new Anita version,
and to Manuel Bouyer for cooperation and tests of the Anita release.

This work was sponsored by The NetBSD Foundation, Inc.
 1.6 28-Aug-2015  joerg branches: 1.6.16;
Simplify.
 1.5 25-Jul-2015  isaki indent and some KNF.
 1.4 10-May-2015  martin Backout the previous incorrect fix for PR 49440 and redo it more globaly:
get rid of the global "yesno", introduce utility functions "ask_yesno()"
and "ask_noyes()" instead, greatly simplifying a lot of code.
Pass in a pointer to the return value to various "set source" menus.
 1.3 02-Jan-2015  abs Rather than scatter set_swap() calls wrapped in ram size checks through
md_post_disklabel() and md_pre_update(), abstract them out to an MI
set_swap_if_low_ram() and call from the appropriate MI places.
Now all platforms add swap if the system has <= 32M of RAM.
 1.2 03-Aug-2014  martin branches: 1.2.2; 1.2.4; 1.2.6;
(Finally) merge a slightly modified version of the 2012 GSoC results
from Eugene Lozovoy: add extended partitioning options to sysinst.
Still needs some testing and polishing, but it now is possible to use GPT
or to create a RAID set from scratch and install onto it.
 1.1 26-Jul-2014  dholland Move sysinst sources to usr.sbin.

This commit only physically moves the sources - there are no other
changes, to maximize the probability that this will be treated as a
rename if we ever do manage to migrate away from CVS.

Moving sysinst has been discussed on and off for years and has two
goals: making it easier to work on sysinst, and also making sysinst
available on running systems for use installing chroots and VM images
and other such things. None of the latter is possible yet, but as they
say, one thing at a time.

Doing this now was approved in an impromptu fashion by mrg, riz,
riastradh, me, and groo.
 1.2.6.2 20-Aug-2014  tls Rebase to HEAD as of a few days ago.
 1.2.6.1 03-Aug-2014  tls file upgrade.c was added on branch tls-maxphys on 2014-08-20 00:05:14 +0000
 1.2.4.2 14-May-2015  snj Pull up following revision(s) (requested by martin in ticket #756):
usr.sbin/sysinst/arch/arc/md.c: revision 1.4
usr.sbin/sysinst/arch/atari/md.c: revision 1.3
usr.sbin/sysinst/arch/cobalt/md.c: revision 1.4
usr.sbin/sysinst/arch/emips/md.c: revision 1.3
usr.sbin/sysinst/arch/evbarm/md.c: revision 1.4
usr.sbin/sysinst/arch/evbarm64/md.c: revision 1.2
usr.sbin/sysinst/arch/hp300/md.c: revision 1.4
usr.sbin/sysinst/arch/i386/md.c: revision 1.6
usr.sbin/sysinst/arch/mac68k/md.c: revision 1.3
usr.sbin/sysinst/arch/mac68k/md.c: revision 1.4
usr.sbin/sysinst/arch/mac68k/menus.md.de: revisions 1.3, 1.4
usr.sbin/sysinst/arch/mac68k/menus.md.en: revisions 1.3, 1.4
usr.sbin/sysinst/arch/mac68k/menus.md.es: revisions 1.3, 1.4
usr.sbin/sysinst/arch/mac68k/menus.md.pl: revisions 1.3, 1.4
usr.sbin/sysinst/arch/mvme68k/md.c: revision 1.4
usr.sbin/sysinst/arch/ofppc/md.c: revision 1.3
usr.sbin/sysinst/arch/prep/md.c: revisions 1.3, 1.4
usr.sbin/sysinst/arch/prep/menus.md.en: revision 1.2
usr.sbin/sysinst/arch/x68k/md.c: revision 1.4
usr.sbin/sysinst/configmenu.c: revisions 1.4, 1.5
usr.sbin/sysinst/defs.h: revisions 1.8, 1.9
usr.sbin/sysinst/disks.c: revision 1.9
usr.sbin/sysinst/install.c: revision 1.4
usr.sbin/sysinst/label.c: revision 1.3
usr.sbin/sysinst/mbr.c: revision 1.5
usr.sbin/sysinst/menus.mi: revisions 1.9, 1.10
usr.sbin/sysinst/net.c: revisions 1.18-1.20
usr.sbin/sysinst/partman.c: revision 1.10
usr.sbin/sysinst/upgrade.c: revision 1.4
usr.sbin/sysinst/util.c: revisions 1.6, 1.7
Backout the previous incorrect fix for PR 49440 and redo it more globaly:
get rid of the global "yesno", introduce utility functions "ask_yesno()"
and "ask_noyes()" instead, greatly simplifying a lot of code.
Pass in a pointer to the return value to various "set source" menus.
--
Make it compile on architectures that do not support INET6 in sysinst
--
Remove a few more (ab-)usages of "yesno".
--
More (ab-)usages of "yesno"
--
Make "ask_yesno" and "ask_noyes" take a const char * as argument, moving
the deconst() dance into the utility functions and simplifying all callers.
--
Missed a few more "yesno" in previous
 1.2.4.1 11-Jan-2015  snj Pull up following revision(s) (requested by abs in ticket #400):
usr.sbin/sysinst/arch/arc/md.c: revision 1.3
usr.sbin/sysinst/arch/cobalt/md.c: revision 1.3
usr.sbin/sysinst/arch/evbsh3/md.c: revision 1.3
usr.sbin/sysinst/arch/hp300/md.c: revision 1.3
usr.sbin/sysinst/arch/hpcsh/md.c: revision 1.3
usr.sbin/sysinst/arch/i386/md.c: revision 1.5
usr.sbin/sysinst/arch/luna68k/md.c: revision 1.4
usr.sbin/sysinst/arch/mvme68k/md.c: revision 1.3
usr.sbin/sysinst/arch/news68k/md.c: revision 1.3
usr.sbin/sysinst/arch/sgimips/md.c: revision 1.3
usr.sbin/sysinst/arch/vax/md.c: revision 1.3
usr.sbin/sysinst/arch/x68k/md.c: revision 1.3
usr.sbin/sysinst/defs.h: revision 1.6
usr.sbin/sysinst/disks.c: revision 1.7
usr.sbin/sysinst/install.c: revision 1.3
usr.sbin/sysinst/partman.c: revision 1.8
usr.sbin/sysinst/upgrade.c: revision 1.3
Rather than scatter set_swap() calls wrapped in ram size checks through
md_post_disklabel() and md_pre_update(), abstract them out to an MI
set_swap_if_low_ram() and call from the appropriate MI places.
Now all platforms add swap if the system has <= 32M of RAM.
 1.2.2.2 10-Aug-2014  tls Rebase.
 1.2.2.1 03-Aug-2014  tls file upgrade.c was added on branch tls-earlyentropy on 2014-08-10 07:00:24 +0000
 1.6.16.1 13-Apr-2020  martin Mostly merge changes from HEAD upto 20200411
 1.12.2.5 02-Feb-2022  msaitoh Pull up following revision(s) (requested by martin in ticket #1422):
usr.sbin/sysinst/util.c: revision 1.64
usr.sbin/sysinst/arch/hpcsh/md.c: revision 1.11
usr.sbin/sysinst/arch/alpha/md.c: revision 1.10
usr.sbin/sysinst/arch/sparc64/md.c: revision 1.7
usr.sbin/sysinst/arch/emips/md.c: revision 1.10
usr.sbin/sysinst/arch/cobalt/md.c: revision 1.15
usr.sbin/sysinst/arch/x68k/md.c: revision 1.12
usr.sbin/sysinst/arch/sandpoint/md.c: revision 1.10
usr.sbin/sysinst/arch/luna68k/md.c: revision 1.10
usr.sbin/sysinst/arch/hp300/md.c: revision 1.12
usr.sbin/sysinst/arch/vax/md.c: revision 1.8
usr.sbin/sysinst/arch/hpcmips/md.c: revision 1.10
usr.sbin/sysinst/target.c: revision 1.16
usr.sbin/sysinst/arch/mvme68k/md.c: revision 1.12
usr.sbin/sysinst/arch/arc/md.c: revision 1.14
usr.sbin/sysinst/target.c: revision 1.17
usr.sbin/sysinst/arch/i386/md.c: revision 1.34
usr.sbin/sysinst/arch/mac68k/md.c: revision 1.11
usr.sbin/sysinst/arch/atari/md.c: revision 1.8
usr.sbin/sysinst/arch/sgimips/md.c: revision 1.10
usr.sbin/sysinst/arch/acorn32/md.c: revision 1.8
usr.sbin/sysinst/install.c: revision 1.22
usr.sbin/sysinst/arch/amiga/md.c: revision 1.7
usr.sbin/sysinst/arch/cats/md.c: revision 1.6
usr.sbin/sysinst/arch/dummy/md.c: revision 1.7
usr.sbin/sysinst/arch/shark/md.c: revision 1.7
usr.sbin/sysinst/arch/pmax/md.c: revision 1.9
usr.sbin/sysinst/arch/newsmips/md.c: revision 1.7
usr.sbin/sysinst/arch/mipsco/md.c: revision 1.9
usr.sbin/sysinst/arch/landisk/md.c: revision 1.15
usr.sbin/sysinst/arch/hppa/md.c: revision 1.9
usr.sbin/sysinst/arch/prep/md.c: revision 1.14
usr.sbin/sysinst/defs.h: revision 1.77
usr.sbin/sysinst/arch/ofppc/md.c: revision 1.13
usr.sbin/sysinst/arch/ews4800mips/md.c: revision 1.8
usr.sbin/sysinst/defs.h: revision 1.78
usr.sbin/sysinst/arch/macppc/md.c: revision 1.7
usr.sbin/sysinst/arch/evbppc/md.c: revision 1.10
usr.sbin/sysinst/defs.h: revision 1.79
usr.sbin/sysinst/gpt.c: revision 1.27
usr.sbin/sysinst/arch/bebox/md.c: revision 1.10
usr.sbin/sysinst/gpt.c: revision 1.28
usr.sbin/sysinst/arch/sparc/md.c: revision 1.7
usr.sbin/sysinst/arch/evbsh3/md.c: revision 1.7
usr.sbin/sysinst/arch/evbarm/md.c: revision 1.22
usr.sbin/sysinst/arch/news68k/md.c: revision 1.8
usr.sbin/sysinst/upgrade.c: revision 1.19
usr.sbin/sysinst/arch/zaurus/md.c: revision 1.12
usr.sbin/sysinst/arch/playstation2/md.c: revision 1.10
usr.sbin/sysinst/arch/hpcarm/md.c: revision 1.11
usr.sbin/sysinst/arch/evbmips/md.c: revision 1.10
usr.sbin/sysinst/main.c: revision 1.28
Add an option to set the directory where we look for message catalogs.
Try to get rid of all wedges we created (after unmounting).
When upgrading, update the boot code post extraction from
the updated target file system.
Do not defer wedge deletions when we have nothing mounted.
Define and use a constant for maximum disk name length.
 1.12.2.4 19-Aug-2021  snj Pull up following revision(s) (requested by martin in ticket #1333):
usr.sbin/sysinst/defs.h: revision 1.72
usr.sbin/sysinst/disks.c: revision 1.75
usr.sbin/sysinst/upgrade.c: revision 1.18
PR 56354: all actions to set up swap space are not guaranteed to gain
us enough virtual memory anyway, so drop return codes from set_swap*.
The state for cleanup (which swap dev to unuse) has been made global
some time ago anyway.
Previously use of the return values was inconsistent. Error reporting
will only confuse users and sometimes the situation is hard to fix or
even impossible (like in miniroots copide to swap space for booting).
 1.12.2.3 10-Feb-2020  bouyer Pull up following revision(s) (requested by martin in ticket #693):
usr.sbin/sysinst/arch/x68k/msg.md.en: revision 1.2
usr.sbin/sysinst/arch/x68k/md.c: revision 1.10
usr.sbin/sysinst/arch/mvme68k/msg.md.fr: revision 1.2
usr.sbin/sysinst/arch/x68k/msg.md.en: revision 1.3
usr.sbin/sysinst/arch/mvme68k/msg.md.fr: revision 1.3
usr.sbin/sysinst/msg.mi.en: revision 1.28
usr.sbin/sysinst/arch/hp300/md.c: revision 1.10
usr.sbin/sysinst/msg.mi.es: revision 1.22
usr.sbin/sysinst/target.c: revision 1.12
usr.sbin/sysinst/arch/mvme68k/md.c: revision 1.10
usr.sbin/sysinst/arch/i386/md.c: revision 1.30
usr.sbin/sysinst/arch/mvme68k/msg.md.pl: revision 1.2
usr.sbin/sysinst/arch/mvme68k/msg.md.pl: revision 1.3
usr.sbin/sysinst/bsddisklabel.c: revision 1.39
usr.sbin/sysinst/arch/mvme68k/msg.md.de: revision 1.2
usr.sbin/sysinst/arch/mac68k/md.c: revision 1.9
usr.sbin/sysinst/disklabel.c: revision 1.35
usr.sbin/sysinst/arch/mvme68k/msg.md.de: revision 1.3
usr.sbin/sysinst/defs.h: revision 1.55
usr.sbin/sysinst/disks.c: revision 1.63
usr.sbin/sysinst/disks.c: revision 1.64
usr.sbin/sysinst/mbr.c: revision 1.31
usr.sbin/sysinst/disks.c: revision 1.65
usr.sbin/sysinst/txtwalk.c: revision 1.3
usr.sbin/sysinst/txtwalk.c: revision 1.4
usr.sbin/sysinst/arch/mvme68k/msg.md.en: revision 1.2
usr.sbin/sysinst/arch/mvme68k/msg.md.en: revision 1.3
usr.sbin/sysinst/msg.mi.fr: revision 1.26
usr.sbin/sysinst/msg.mi.pl: revision 1.29
usr.sbin/sysinst/arch/mvme68k/msg.md.es: revision 1.2
usr.sbin/sysinst/upgrade.c: revision 1.15
usr.sbin/sysinst/arch/mvme68k/msg.md.es: revision 1.3
usr.sbin/sysinst/upgrade.c: revision 1.16
usr.sbin/sysinst/partman.c: revision 1.50
usr.sbin/sysinst/msg.mi.de: revision 1.21
remove unused "emptypart" message (or moved to ifdef notyet area)
PR install/54921: message "ordering" takes a %s argument.
PR install/54921: skip non-user partitions when checking for overlaps
bootxx_name() - fix oversight in previous change (do not assume first
partition is the root partition)
PR install/54934: always use -f on the installboot invocation. We come
here post-newfs (and maybe should have dd'd zeros to the start of the
disk before newfs instead).
Remove a bogus assert: when reading disklabel partitions and the outer
(MBR) partitioning has changed, but the changes have not yet been written
back to disk, we need to ignore the kernels idea of the disklabel and
instead continue with an empty one.
Deal with partitioning schemes having no inner counterpart.
Avoid NULL derefs.
Do not assum a partitioning scheme that supports innner partitions always
needs to actually have such partitions defined.
PR bin/54944: deal with escaped spaces in NAME= syntax in /etc/fstab.
PR bin/54944: explicitly reject GPT protective MBRs.
PR bin/54944: make the "explicit single wedge" selection also work for
upgrades.
Reformat a query to add an automatically detected swap partition
so it fits on narrow screens.
Make re-install sets also work for an explicit selected root wedge
Fix copy&pasto in previous - from kre.
Only a single partition can ever have the "extend" flag (grow to available
size).
Do not use -P for tar extractions - the in tree tar has been fixed.
Finish conversion to generic partitioning backend
 1.12.2.2 28-Jan-2020  msaitoh Pull up following revision(s) (requested by martin in ticket #668):
usr.sbin/sysinst/arch/cobalt/md.c: revision 1.11
usr.sbin/sysinst/arch/cobalt/md.c: revision 1.12
usr.sbin/sysinst/arch/arc/md.c: revision 1.11
usr.sbin/sysinst/arch/arc/md.c: revision 1.12
usr.sbin/sysinst/partman.c: revision 1.43
usr.sbin/sysinst/partman.c: revision 1.46
usr.sbin/sysinst/partman.c: revision 1.47
usr.sbin/sysinst/partman.c: revision 1.48
usr.sbin/sysinst/partman.c: revision 1.49
usr.sbin/sysinst/msg.pm.fr: revision 1.2
usr.sbin/sysinst/upgrade.c: revision 1.14
usr.sbin/sysinst/arch/i386/md.c: revision 1.28
usr.sbin/sysinst/arch/i386/md.c: revision 1.29
usr.sbin/sysinst/arch/ofppc/md.c: revision 1.9
usr.sbin/sysinst/arch/sandpoint/md.c: revision 1.7
usr.sbin/sysinst/arch/sandpoint/md.c: revision 1.8
usr.sbin/sysinst/gpt.c: revision 1.14
usr.sbin/sysinst/gpt.c: revision 1.15
usr.sbin/sysinst/arch/luna68k/md.c: revision 1.8
usr.sbin/sysinst/gpt.c: revision 1.16
usr.sbin/sysinst/msg.pm.de: revision 1.2
usr.sbin/sysinst/arch/evbarm/md.c: revision 1.11
usr.sbin/sysinst/arch/evbarm/md.c: revision 1.12
usr.sbin/sysinst/arch/evbarm/md.c: revision 1.13
usr.sbin/sysinst/arch/evbarm/md.c: revision 1.14
usr.sbin/sysinst/sizemultname.c: revision 1.4
usr.sbin/sysinst/msg.pm.en: revision 1.2
usr.sbin/sysinst/arch/landisk/md.c: revision 1.12
usr.sbin/sysinst/util.c: revision 1.41
usr.sbin/sysinst/arch/landisk/md.c: revision 1.13
usr.sbin/sysinst/util.c: revision 1.42
usr.sbin/sysinst/arch/ofppc/md.c: revision 1.10
usr.sbin/sysinst/partitions.c: revision 1.9
usr.sbin/sysinst/arch/evbarm/md.h: revision 1.4
usr.sbin/sysinst/arch/evbarm/md.h: revision 1.5
usr.sbin/sysinst/arch/evbmips/md.c: revision 1.7
usr.sbin/sysinst/arch/evbmips/md.c: revision 1.8
usr.sbin/sysinst/msg.mi.fr: revision 1.25
usr.sbin/sysinst/msg.mi.de: revision 1.20
usr.sbin/sysinst/install.c: revision 1.14
usr.sbin/sysinst/partitions.h: revision 1.13
usr.sbin/sysinst/partitions.h: revision 1.14
usr.sbin/sysinst/arch/evbppc/md.c: revision 1.7
usr.sbin/sysinst/arch/playstation2/md.c: revision 1.7
usr.sbin/sysinst/msg.mi.en: revision 1.27
usr.sbin/sysinst/partitions.h: revision 1.15
usr.sbin/sysinst/arch/evbppc/md.c: revision 1.8
usr.sbin/sysinst/arch/hpcarm/md.c: revision 1.7
usr.sbin/sysinst/arch/playstation2/md.c: revision 1.8
usr.sbin/sysinst/msg.pm.pl: revision 1.2
usr.sbin/sysinst/arch/hpcarm/md.c: revision 1.8
usr.sbin/sysinst/msg.mi.es: revision 1.21
usr.sbin/sysinst/arch/zaurus/md.c: revision 1.7
usr.sbin/sysinst/target.c: revision 1.11
usr.sbin/sysinst/arch/zaurus/md.c: revision 1.8
usr.sbin/sysinst/part_edit.c: revision 1.14
usr.sbin/sysinst/part_edit.c: revision 1.15
usr.sbin/sysinst/part_edit.c: revision 1.16
usr.sbin/sysinst/defs.h: revision 1.50
usr.sbin/sysinst/defs.h: revision 1.51
usr.sbin/sysinst/defs.h: revision 1.52
usr.sbin/sysinst/defs.h: revision 1.53
usr.sbin/sysinst/defs.h: revision 1.54
usr.sbin/sysinst/arch/hpcmips/md.c: revision 1.7
usr.sbin/sysinst/arch/hpcmips/md.c: revision 1.8
usr.sbin/sysinst/arch/hpcsh/md.c: revision 1.8
usr.sbin/sysinst/msg.pm.es: revision 1.2
usr.sbin/sysinst/arch/hpcsh/md.c: revision 1.9
usr.sbin/sysinst/label.c: revision 1.18
usr.sbin/sysinst/label.c: revision 1.19
usr.sbin/sysinst/net.c: revision 1.35
usr.sbin/sysinst/msg.mi.pl: revision 1.28
usr.sbin/sysinst/disklabel.c: revision 1.28
usr.sbin/sysinst/disklabel.c: revision 1.29
usr.sbin/sysinst/mbr.c: revision 1.24
usr.sbin/sysinst/disks.c: revision 1.59
usr.sbin/sysinst/mbr.c: revision 1.25
usr.sbin/sysinst/mbr.c: revision 1.26
usr.sbin/sysinst/mbr.c: revision 1.27
usr.sbin/sysinst/mbr.c: revision 1.28
usr.sbin/sysinst/label.c: revision 1.20
usr.sbin/sysinst/mbr.c: revision 1.29
usr.sbin/sysinst/bsddisklabel.c: revision 1.34
usr.sbin/sysinst/bsddisklabel.c: revision 1.35
usr.sbin/sysinst/bsddisklabel.c: revision 1.36
usr.sbin/sysinst/bsddisklabel.c: revision 1.37
usr.sbin/sysinst/disklabel.c: revision 1.30
usr.sbin/sysinst/bsddisklabel.c: revision 1.38
usr.sbin/sysinst/disklabel.c: revision 1.31
usr.sbin/sysinst/disklabel.c: revision 1.32
usr.sbin/sysinst/disklabel.c: revision 1.33
usr.sbin/sysinst/disklabel.c: revision 1.34
usr.sbin/sysinst/disks.c: revision 1.60
usr.sbin/sysinst/disks.c: revision 1.61
usr.sbin/sysinst/arch/bebox/md.c: revision 1.7
usr.sbin/sysinst/disks.c: revision 1.62
usr.sbin/sysinst/arch/bebox/md.c: revision 1.8
usr.sbin/sysinst/mbr.c: revision 1.30
usr.sbin/sysinst/partitions.c: revision 1.10
usr.sbin/sysinst/arch/prep/md.c: revision 1.11
usr.sbin/sysinst/arch/prep/md.c: revision 1.12
usr.sbin/sysinst/menus.pm: revision 1.3
usr.sbin/sysinst/main.c: revision 1.20
usr.sbin/sysinst/menus.mi: revision 1.20
usr.sbin/sysinst/menus.mi: revision 1.21
avoid calling snprintf/strlcat with an input parameter the same
as the output. from martin@. fixes gcc 8 restrict warnings.
Finish conversion of extended partitioning parts to new abstract
backend interface. XXX still could use a lot of polishing.
Instead of a (bogus) attempt to query the model via ofctl, use the (now
fixed) sysctl hw.model instead.
When reading the secondary disklabel partitions from an existing disklabel
set the mbr partitions as parent.
Move the LABELSECTOR check and make it FS type specific - some partition
types (FFS, RAID) are allowed to overlap with the LABELSECTOR.
When asked to create a whole-disk partition for unknown usage, do not only
assert(false), but actually return an error (in case "assert" is a nop).
PR install/54787: when trying to derive proper alignement and first offset
from exisiting partitions, use the first partition offset if it is already
closer to the start of the disk than the prefered alignment - we can not
move existing partitions around.
Fix handling of inner/outer partitions (e.g. MBR and disklabel) in
extended partitioning:
- when editing a disk with such a schme, offer both partitions in two
steps
- when commiting changes save the inner partitions after the outer ones
Add a method to query the partitioning schemes "internal idea" of a
cylinder size - whatever that means in the real world.
Avoid using the global "pm" variable in utility functions - during
extended partitioning they may point to a different device.
Remove useless calls to get_ramsize() - return value is ignored and
the function has no side effects.
Fix /tmp tmpfs handling and on machines with enough RAM default to
creating a /tmp tmpfs with 25% of ram size limit. Suggested by ad@.
PR install/54872: fix printf argument order, sectors and heads were
swapped in the bios geometry display.
First try to bring evbarm installation closer to current reality.
hide disklabel_non_bootable() under NO_DISKLABEL_BOOT like the usage.
should fix most builds.
Deal with even stranger fictious empty disklabels (PR kern/54882).
Factor out all RAM size thresholds as defines to avoid magic numbers.
To work around PR misc/54886 bump the threshold for a tmpfs /tmp mount
up to 256 MB.
When retrying sets during extraction, reset the relevant statistics
to avoid counting retried sets multiple times.
Reported by kim.
Fix support for non-512-byte/sector disks again after I broke it when
introducing the abstract partition backends.
Use a few strlcpy() instead of strncpy() for network ioctl structs.
We seem to have no formal documentation stating the various
char if*_name[IFNAMSIZ]; /* if name, e.g. "en0" */
elements in ioctls are nul terminated, but the peanut gallery claims
it is so - and at least half of the code in-tree touching them agrees.
Too much disklabel magic happening in the kernel - to compensate force
MBR first when trying to identify the existing partitioning scheme of
a disk.
 1.12.2.1 28-Aug-2019  msaitoh Pull up following revision(s) (requested by martin in ticket #123):
usr.sbin/sysinst/util.c: revision 1.32
usr.sbin/sysinst/upgrade.c: revision 1.13
usr.sbin/sysinst/defs.h: revision 1.44
Do not offer to upgrade the "current system" if we are running off a CD
(i.e. / is mounted read-only)
 1.78 05-Aug-2025  kim Don't leave temporary file behind.

Fixes PR install/59573.
 1.77 25-Apr-2024  hannken branches: 1.77.4;
Increase length of set description to 40 characters so recent additions fit.

Ok: martin@

Fixes PR install/58188 "sysinst fails to display status of base32 set"
 1.76 22-Apr-2024  nia Move MIPS N64 compat out of {base,debug}32 into {base,debug}64

martin requested separation by ABI and it doesn't make much sense
to have 64-bit binaries in a set called 32.
 1.75 09-Apr-2024  nia Add new sets: base32, debug32, manhtml

- base32 contains (when MKCOMPAT=yes) shared libraries for 32-bit
compatibility, previously included in base

- debug32 contains (when MKCOMPAT=yes) debug symbols and static libraries
containing debug symbols for 32-bit compatiblity, previously included
in debug

- manhtml contains (when MKHTML=yes) the HTML files previously included
in 'man', which are of limited utility without third-party software.

The motivation for this change is to be able to easily exclude sets
from CD-ROM images that go over the size limit without xz compression
(which many NetBSD platforms struggle to extract at acceptable speeds).
 1.74 20-Nov-2023  martin Force alignment of disk buffers to at least 8 byte.
Fixes PR 56434.
 1.73 07-Sep-2023  riastradh sysinst(1): Run `certctl rehash' on fresh installs.

It has come to my attention that sysinst does not, in fact, run
postinstall(8) post-install -- only post-upgrade.

Perhaps we should change this so that postinstall serves the purpose
it says on the box -- make postinstall mandatory for new
installations.

XXX pullup-10
 1.72 24-Jun-2023  msaitoh Fix typo in comment.
 1.71 15-Dec-2022  martin branches: 1.71.2;
PR 57100: in manual mode, we can not ignore existing partitions
completley, as that causes inconsistent internal state.
 1.70 15-Dec-2022  martin Add an (expert) option to manually edit partitions, inspired by PR 57100.
 1.69 10-Jul-2022  martin Preparations to make the extended partitioning during normal installation
more usefull - pass an optional install_description to partman().
 1.68 24-Jun-2022  tsutsui Use proper ANSI function declarations.
 1.67 18-May-2022  martin When not invoked via some explicit "configure network" menu item,
auto-detect an already working network setup and offer to "just use" it
whenver we need connectivity.
 1.66 21-Apr-2022  martin Make default installations a bit more secure:
- push a bit harder for setup of a root password
- simplify/clarify manual entropy setup
- visit the entropy setup (on machines where it is needed) on the
default path through sysinst
 1.65 14-Apr-2022  martin Fix invalid msg_fmt_table_add() call, pointed out by Andreas Gustafsson.
 1.64 29-Jan-2022  martin Try to get rid of all wedges we created (after unmounting).
 1.63 03-Jan-2022  martin Now that (semi-)manual entropy setup may happen outside of the main
install/upgrade path, we need to (re-)write the entropy seed file
afterwards - the earlier written one would not have an entropy estimate
if we get here.
 1.62 08-Oct-2021  martin Re-enable the entropy handling code in sysinst (only visible on machines
that do not have full entropy), but move it to the config menu
instead of enforcing it as mandatory step.

This menu is shown at the end of the setup, or if explicitly invoked
from the main menu.

Some of the input options are complex but useful in some situations
and code to support them is tiny. Most users will use the manual input
(first + default option) but some might prefer to connect a USB TRNG
or have easy setups to transfer entropy from another machine (while
copy & paste on a serial console sometimes is tricky).
 1.61 26-Sep-2021  maya Restore MKNOUVEAUFIRMWARE and MKRADEONFIRMWARE and make gpufw set unconditional

Simplifies logic.
(Second commit - first one was partial)

Restoring MK* requested by mrg on tech-kern discussion
https://mail-index.netbsd.org/tech-kern/2021/09/25/msg027695.html
 1.60 25-Sep-2021  maya Move DRM-driver firmware from base to its own set, gpufw

This set is only installed on amd64,i386,evbarm.
This set is installed on minimal installs and on install media, in
case someone needs it for basic driver functionality.

Comments:
Switched to a single MK tunable for it - that is probably unneeded.

An upcoming DRM update will include even fatter firmware, and we'd
like to minimize the impact of it.
 1.59 03-Aug-2021  martin Cleanup alarm(3) handling in the timezone selection menu for error
cases, pointed out by RVP.
 1.58 20-Jul-2021  martin RAM size will not change during installation, do the sysctl() dance
only once.
 1.57 31-Jan-2021  rillig sysinst: remove trailing whitespace from *.c *.h

In contrast to the messages files, this whitespace is not significant.
 1.56 10-Nov-2020  gson Fix typos in comment
 1.55 04-Nov-2020  martin Avoid warnings
 1.54 04-Nov-2020  martin Add (experimental) entropy input support:
Early during new installs or after upgrades we check if entropy is
available. If not (no hardware random number generator available)
we inform the user and ask them to fix it.
 1.53 30-Oct-2020  martin PR 55769: avoid the module set if we do not build any
 1.52 27-Oct-2020  martin When we did not magically find any CD medium with sets, offer a manual
override (so ISO images on USB sticks or Xen's xbd(4) work).
 1.51 26-Oct-2020  martin PR 55752: relax an assertion, the first getvfsstat() call may overestimate
the file systems visible to us.
 1.50 25-Oct-2020  martin Mark a variable only used in an assert as __diagused.
 1.49 24-Oct-2020  martin When looking for available CD media, skip those that are already mounted.
When no medium with sets is found, show a new error message and return
to the source selection menu.
Rearrange all source option menus to have the proper set suffix
available (either .tgz or .tar.xz).
 1.48 13-Oct-2020  martin PR 55142: on popular demand bring back expert options to adjust the
number of free inodes, block size and fragment size for FFS and LFS.
 1.47 27-Sep-2020  martin Fix display of timezone selection menu
 1.46 22-Sep-2020  martin Keep a list of all partition tables from which we have deleted partitions
and make sure we update those partition tables when writing partitions,
even if no install related partition remains on them.
 1.45 18-May-2020  jmcneill Separate devicetree .dts -> .dtb building from kernel builds. They are now
part of a separate set, "dtb.tgz", and only built when MKDTB=yes. This
defaults to yes for earmv[67]* and aarch64, and no everywhere else.
 1.44 12-May-2020  martin Ooops, backout previous - twice the entropy saving is not needed.
Instead slightly improve the (slightly) hidden other code that already
did it.
 1.43 12-May-2020  martin At the end of a new installation save entropy.
 1.42 26-Jan-2020  martin When retrying sets during extraction, reset the relevant statistics
to avoid counting retried sets multiple times.

Reported by kim.
 1.41 20-Jan-2020  martin First try to bring evbarm installation closer to current reality.
 1.40 16-Nov-2019  martin On amd64 support installation with a KASLR kernel, via "custom install"
and selecting the GENERIC_KASLR kernel set.
Setup /prekern and boot.cfg accordingly.
 1.39 16-Nov-2019  martin Make sure all menus have a translatable exit option (or none at all).
 1.38 14-Nov-2019  martin Make tar extraction flags depend on our usage of pax-as-tar or bsdtar.
 1.37 13-Nov-2019  martin Make cloning support optional, so we can save some space on very small
install media.
 1.36 12-Nov-2019  martin PR 54467: we trust our own sets, extract them with -P to allow symlink
redirection (especially for updates and chroot services - back out
once a better solution for those is implemented)
 1.35 12-Nov-2019  martin Add options to the various partitioning stages that allow cloning of
alien partitions (optionally including data).
 1.34 04-Oct-2019  mrg add a size_t len to get_iso9660_volname() so it can properly do
bounds checking.

ok martin@
 1.33 02-Oct-2019  maya Split out /rescue to its own set and adapt installers/images to add it.

This is meant to make updates safer: if something goes wrong with updating
base, we still have the old, standalone /rescue to recover from.
 1.32 27-Aug-2019  martin Do not offer to upgared the "current system" if we are running off a CD
(i.e. / is mounted read-only)
 1.31 17-Aug-2019  martin Fix some memory leaks in error paths
 1.30 17-Aug-2019  martin PR 54473: fix error prompt when a set file is missing
 1.29 24-Jul-2019  roy branches: 1.29.2;
Work with bsdtar as pointed out by kamil@
 1.28 21-Jul-2019  martin scripting_vprintf: to simplify things for gcc (and avoid "may be used
uninitialized" warnings) just always copy the va_list and use one
copy for the first pass, the other for the second.
 1.27 21-Jul-2019  martin scripting_fprintf: when we traverse the va_list twice, we need to save
it before the first and reset it before the second pass.
 1.26 08-Jul-2019  martin Properly zero new memory after reallocating the timezone menu
 1.25 22-Jun-2019  christos no need to initialize fields that are already 0.
 1.24 20-Jun-2019  christos Use _fmt_ msg_ methods when formats are needed.
 1.23 18-Jun-2019  martin When creating an install description from existing partitions, use
the inner partitioning scheme (e.g.: disklabel) instead of the
outer (e.g. MBR).
 1.22 12-Jun-2019  martin Rework internal data structures and "interfaces to user interface" functions
to get rid of all disklabel assumptions.

Previously (even for GPT partitioning) struct disklabel was used, which
obviously breaks large disk setups. Also many MD parts and parts of the
user interface assumed (a) a struct disklabel is used internally to
store partitioning information and (b) partitions are named 'a' ... $MAXPART.

Get rid of this and replace it with a quite abstract interface that should
be able to deal with all variants in partition storage:

- partitions are stored in a (partly abstract) struct disk_partitions
and most parts of it are only accessed via accessor functions provided
by a "partitioning scheme".

- implement partitioning schemes for MBR, disklabel and GPT (with likely
RDB [amiga] and Apple Partition Map [mac*] to follow soon)

- partitioning schemes may be cascaded, e.g. on x86 when using MBR as
"outer partitions", we have disklabel as "inner partitions".

- all user interface goes via accessor functions in the partitioning scheme,
some of which return pointers to special user interface descriptors
(e.g. to allow editing partition flags, which are scheme specific)

Overall the user interface changes (in this initial step) are minimal but
noticable. A new Anita is needed for automatic test setups - many thanks
to Andreas Gustafsson for lots of early testing and a new Anita version,
and to Manuel Bouyer for cooperation and tests of the Anita release.

This work was sponsored by The NetBSD Foundation, Inc.
 1.21 12-Feb-2019  martin Backout previous snprintf nonsense, instead STFU gcc 7's most
useless warning ever.
 1.20 11-Feb-2019  martin Fix a few off by one (in both directions) in previous, pointed out by mrg.
Avoid open coding snprintf return value checking and introduce a
helper functions that always ensures string termination instead,
suggested by christos.
 1.19 27-Jan-2019  pgoyette Merge the [pgoyette-compat] branch
 1.18 19-Nov-2018  martin Split positional argument string expansion from msg display, we can make
good use of it elsewhere too.
 1.17 15-Nov-2018  martin Add a new helper function to show messages with positional parameters
 1.16 11-Nov-2018  martin Skip floopies when selecting an install target, but do not add them to
the CD list when selecting an installation source device.
 1.15 08-Nov-2018  martin Adapt other cd-device query functions to new world order, fix
default cd device (assume 'a' partition).
 1.14 07-Nov-2018  martin Unify handling of CDROM device names.
Skip CDs when looking for install targets (we do not support installing
onto a blueray with UDF).

Fix search for the default CDROM device and the CD we booted from
for ports with nonstandard CDROM device names.
 1.13 05-Nov-2018  martin For "unknown" sets (should only happen for pkgsrc.tgz), always use
.tgz suffix.
 1.12 06-Oct-2018  martin Support sets in .tar.xz format
 1.11 24-Jun-2018  christos branches: 1.11.2;
Revert previous, fix iteration loops to be consistent:
All sets that have an id >= SET_LAST have NULL name, so use that like the
loop just below.
 1.10 23-Jun-2018  kamil Enlarge the set_status[] array by a single element

In the get_and_unpack_sets() function there is accessed the
set_status[SET_GROUP_END] element in the array. The array is allocated on
the stack with SET_GROUP_END elements. This means that it is 1 element too
short.

This has been reported with MKSANITIZER=yes with Address Sanitizer.
 1.9 21-Jun-2018  kamil Fix invalid free(3) in sysinst(8)

The path variable is assigned with an allocation on the heap with
strdup(3). Later this pointer is changed with strsep(3) and this caused
invalid free(3).

Store the original pointer in a new helper variable opath and pass it to
free(3). With this change, the problem is going away.

Detected with MKSANITIZER=yes with AddressSanitizer.
 1.8 18-May-2018  joerg deconst -> __UNCONST, the former involves UB with NULL arithmetic.
 1.7 11-May-2015  martin branches: 1.7.8; 1.7.14;
Make "ask_yesno" and "ask_noyes" take a const char * as argument, moving
the deconst() dance into the utility functions and simplifying all callers.
 1.6 10-May-2015  martin Backout the previous incorrect fix for PR 49440 and redo it more globaly:
get rid of the global "yesno", introduce utility functions "ask_yesno()"
and "ask_noyes()" instead, greatly simplifying a lot of code.
Pass in a pointer to the return value to various "set source" menus.
 1.5 14-Oct-2014  christos Don't use asctime(localtime(time_t *)) because this is really ctime(time_t *)
and not checking the result of localtime can lead to tears.
Add a safectime() that always returns a good string, and add some debugging
so that we can see if there is indeed something wrong in the new libc time
code.
 1.4 19-Aug-2014  martin branches: 1.4.2;
Check return values from stat before comparing contents of the result
structures. Pointed out by coverity scan.
 1.3 10-Aug-2014  tls branches: 1.3.2;
Merge tls-earlyentropy branch into HEAD.
 1.2 03-Aug-2014  martin branches: 1.2.2;
(Finally) merge a slightly modified version of the 2012 GSoC results
from Eugene Lozovoy: add extended partitioning options to sysinst.
Still needs some testing and polishing, but it now is possible to use GPT
or to create a RAID set from scratch and install onto it.
 1.1 26-Jul-2014  dholland Move sysinst sources to usr.sbin.

This commit only physically moves the sources - there are no other
changes, to maximize the probability that this will be treated as a
rename if we ever do manage to migrate away from CVS.

Moving sysinst has been discussed on and off for years and has two
goals: making it easier to work on sysinst, and also making sysinst
available on running systems for use installing chroots and VM images
and other such things. None of the latter is possible yet, but as they
say, one thing at a time.

Doing this now was approved in an impromptu fashion by mrg, riz,
riastradh, me, and groo.
 1.2.2.2 10-Aug-2014  tls Rebase.
 1.2.2.1 03-Aug-2014  tls file util.c was added on branch tls-earlyentropy on 2014-08-10 07:00:24 +0000
 1.3.2.3 14-May-2015  snj Pull up following revision(s) (requested by martin in ticket #756):
usr.sbin/sysinst/arch/arc/md.c: revision 1.4
usr.sbin/sysinst/arch/atari/md.c: revision 1.3
usr.sbin/sysinst/arch/cobalt/md.c: revision 1.4
usr.sbin/sysinst/arch/emips/md.c: revision 1.3
usr.sbin/sysinst/arch/evbarm/md.c: revision 1.4
usr.sbin/sysinst/arch/evbarm64/md.c: revision 1.2
usr.sbin/sysinst/arch/hp300/md.c: revision 1.4
usr.sbin/sysinst/arch/i386/md.c: revision 1.6
usr.sbin/sysinst/arch/mac68k/md.c: revision 1.3
usr.sbin/sysinst/arch/mac68k/md.c: revision 1.4
usr.sbin/sysinst/arch/mac68k/menus.md.de: revisions 1.3, 1.4
usr.sbin/sysinst/arch/mac68k/menus.md.en: revisions 1.3, 1.4
usr.sbin/sysinst/arch/mac68k/menus.md.es: revisions 1.3, 1.4
usr.sbin/sysinst/arch/mac68k/menus.md.pl: revisions 1.3, 1.4
usr.sbin/sysinst/arch/mvme68k/md.c: revision 1.4
usr.sbin/sysinst/arch/ofppc/md.c: revision 1.3
usr.sbin/sysinst/arch/prep/md.c: revisions 1.3, 1.4
usr.sbin/sysinst/arch/prep/menus.md.en: revision 1.2
usr.sbin/sysinst/arch/x68k/md.c: revision 1.4
usr.sbin/sysinst/configmenu.c: revisions 1.4, 1.5
usr.sbin/sysinst/defs.h: revisions 1.8, 1.9
usr.sbin/sysinst/disks.c: revision 1.9
usr.sbin/sysinst/install.c: revision 1.4
usr.sbin/sysinst/label.c: revision 1.3
usr.sbin/sysinst/mbr.c: revision 1.5
usr.sbin/sysinst/menus.mi: revisions 1.9, 1.10
usr.sbin/sysinst/net.c: revisions 1.18-1.20
usr.sbin/sysinst/partman.c: revision 1.10
usr.sbin/sysinst/upgrade.c: revision 1.4
usr.sbin/sysinst/util.c: revisions 1.6, 1.7
Backout the previous incorrect fix for PR 49440 and redo it more globaly:
get rid of the global "yesno", introduce utility functions "ask_yesno()"
and "ask_noyes()" instead, greatly simplifying a lot of code.
Pass in a pointer to the return value to various "set source" menus.
--
Make it compile on architectures that do not support INET6 in sysinst
--
Remove a few more (ab-)usages of "yesno".
--
More (ab-)usages of "yesno"
--
Make "ask_yesno" and "ask_noyes" take a const char * as argument, moving
the deconst() dance into the utility functions and simplifying all callers.
--
Missed a few more "yesno" in previous
 1.3.2.2 27-Feb-2015  martin Pull up following revision(s) (requested by snj in ticket #554):
usr.sbin/sysinst/defs.h: revision 1.5
usr.sbin/sysinst/main.c: revision 1.6
usr.sbin/sysinst/net.c: revision 1.17
usr.sbin/sysinst/util.c: revision 1.5
usr.sbin/sysinst/run.c: revision 1.3
Don't use asctime(localtime(time_t *)) because this is really ctime(time_t *)
and not checking the result of localtime can lead to tears.
Add a safectime() that always returns a good string, and add some debugging
so that we can see if there is indeed something wrong in the new libc time
code.
 1.3.2.1 23-Aug-2014  riz Pull up following revision(s) (requested by martin in ticket #39):
usr.sbin/sysinst/main.c: revision 1.4
usr.sbin/sysinst/disks.c: revision 1.5
usr.sbin/sysinst/main.c: revision 1.5
usr.sbin/sysinst/mbr.c: revision 1.3
usr.sbin/sysinst/net.c: revision 1.3
usr.sbin/sysinst/net.c: revision 1.4
usr.sbin/sysinst/partman.c: revision 1.5
usr.sbin/sysinst/partman.c: revision 1.6
usr.sbin/sysinst/util.c: revision 1.4
Remove duplicate fclose(), pointed out by coverity scan.
Remove (accidently) duplicated code - pointed out by coverity scan.
Make sure the interface name is 0 terminated, pointed out by coverity scan.
Check return value from getenv() before using the value. Pointed out by
coverity scan.
Make an invariant more clear to avoid fals positives from coverity scan
if chdir() fails, try chdir /
Check return values from stat before comparing contents of the result
structures. Pointed out by coverity scan.
Cosmetic changes trying to appease coverity scan.
Make sure to not dereference a NULL pointer.
 1.4.2.2 20-Aug-2014  tls Rebase to HEAD as of a few days ago.
 1.4.2.1 19-Aug-2014  tls file util.c was added on branch tls-maxphys on 2014-08-20 00:05:14 +0000
 1.7.14.4 26-Nov-2018  pgoyette Sync with HEAD, resolve a couple of conflicts
 1.7.14.3 20-Oct-2018  pgoyette Sync with head
 1.7.14.2 25-Jun-2018  pgoyette Sync with HEAD
 1.7.14.1 21-May-2018  pgoyette Sync with HEAD
 1.7.8.3 12-Jul-2018  martin Pull up following revision(s) (requested by kamil in ticket #900):

usr.sbin/sysinst/util.c: revision 1.10,1.11

Enlarge the set_status[] array by a single element
In the get_and_unpack_sets() function there is accessed the
set_status[SET_GROUP_END] element in the array. The array is allocated on
the stack with SET_GROUP_END elements. This means that it is 1 element too
short.

-

Revert previous, fix iteration loops to be consistent:
All sets that have an id >= SET_LAST have NULL name, so use that like the
loop just below.
 1.7.8.2 23-Jun-2018  martin Pull up following revision(s) (requested by kamil in ticket #895):

usr.sbin/sysinst/util.c: revision 1.9

Fix invalid free(3) in sysinst(8)

The path variable is assigned with an allocation on the heap with
strdup(3). Later this pointer is changed with strsep(3) and this caused
invalid free(3).

Store the original pointer in a new helper variable opath and pass it to
free(3). With this change, the problem is going away.

Detected with MKSANITIZER=yes with AddressSanitizer.
 1.7.8.1 09-Jun-2018  martin Pull up following revision(s) (requested by joerg in ticket #869):

usr.sbin/sysinst/arch/mvme68k/md.c: revision 1.5
usr.sbin/sysinst/net.c: revision 1.24
usr.sbin/sysinst/partman.c: revision 1.22
usr.sbin/sysinst/menus.mi: revision 1.12
usr.sbin/sysinst/arch/i386/md.c: revision 1.8
usr.sbin/sysinst/arch/alpha/md.c: revision 1.3
usr.sbin/sysinst/bsddisklabel.c: revision 1.3
usr.sbin/sysinst/arch/x68k/md.c: revision 1.5
usr.sbin/sysinst/arch/hp300/md.c: revision 1.5
usr.sbin/sysinst/arch/emips/md.c: revision 1.4
usr.sbin/sysinst/arch/pmax/md.c: revision 1.3
usr.sbin/sysinst/arch/mipsco/md.c: revision 1.3
usr.sbin/sysinst/arch/hppa/md.c: revision 1.3
usr.sbin/sysinst/util.c: revision 1.8
usr.sbin/sysinst/defs.h: revision 1.10
usr.sbin/sysinst/arch/landisk/md.c: revision 1.4

deconst -> __UNCONST, the former involves UB with NULL arithmetic.
 1.11.2.2 13-Apr-2020  martin Mostly merge changes from HEAD upto 20200411
 1.11.2.1 10-Jun-2019  christos Sync with HEAD
 1.29.2.9 02-Feb-2022  msaitoh Pull up following revision(s) (requested by martin in ticket #1422):
usr.sbin/sysinst/util.c: revision 1.64
usr.sbin/sysinst/arch/hpcsh/md.c: revision 1.11
usr.sbin/sysinst/arch/alpha/md.c: revision 1.10
usr.sbin/sysinst/arch/sparc64/md.c: revision 1.7
usr.sbin/sysinst/arch/emips/md.c: revision 1.10
usr.sbin/sysinst/arch/cobalt/md.c: revision 1.15
usr.sbin/sysinst/arch/x68k/md.c: revision 1.12
usr.sbin/sysinst/arch/sandpoint/md.c: revision 1.10
usr.sbin/sysinst/arch/luna68k/md.c: revision 1.10
usr.sbin/sysinst/arch/hp300/md.c: revision 1.12
usr.sbin/sysinst/arch/vax/md.c: revision 1.8
usr.sbin/sysinst/arch/hpcmips/md.c: revision 1.10
usr.sbin/sysinst/target.c: revision 1.16
usr.sbin/sysinst/arch/mvme68k/md.c: revision 1.12
usr.sbin/sysinst/arch/arc/md.c: revision 1.14
usr.sbin/sysinst/target.c: revision 1.17
usr.sbin/sysinst/arch/i386/md.c: revision 1.34
usr.sbin/sysinst/arch/mac68k/md.c: revision 1.11
usr.sbin/sysinst/arch/atari/md.c: revision 1.8
usr.sbin/sysinst/arch/sgimips/md.c: revision 1.10
usr.sbin/sysinst/arch/acorn32/md.c: revision 1.8
usr.sbin/sysinst/install.c: revision 1.22
usr.sbin/sysinst/arch/amiga/md.c: revision 1.7
usr.sbin/sysinst/arch/cats/md.c: revision 1.6
usr.sbin/sysinst/arch/dummy/md.c: revision 1.7
usr.sbin/sysinst/arch/shark/md.c: revision 1.7
usr.sbin/sysinst/arch/pmax/md.c: revision 1.9
usr.sbin/sysinst/arch/newsmips/md.c: revision 1.7
usr.sbin/sysinst/arch/mipsco/md.c: revision 1.9
usr.sbin/sysinst/arch/landisk/md.c: revision 1.15
usr.sbin/sysinst/arch/hppa/md.c: revision 1.9
usr.sbin/sysinst/arch/prep/md.c: revision 1.14
usr.sbin/sysinst/defs.h: revision 1.77
usr.sbin/sysinst/arch/ofppc/md.c: revision 1.13
usr.sbin/sysinst/arch/ews4800mips/md.c: revision 1.8
usr.sbin/sysinst/defs.h: revision 1.78
usr.sbin/sysinst/arch/macppc/md.c: revision 1.7
usr.sbin/sysinst/arch/evbppc/md.c: revision 1.10
usr.sbin/sysinst/defs.h: revision 1.79
usr.sbin/sysinst/gpt.c: revision 1.27
usr.sbin/sysinst/arch/bebox/md.c: revision 1.10
usr.sbin/sysinst/gpt.c: revision 1.28
usr.sbin/sysinst/arch/sparc/md.c: revision 1.7
usr.sbin/sysinst/arch/evbsh3/md.c: revision 1.7
usr.sbin/sysinst/arch/evbarm/md.c: revision 1.22
usr.sbin/sysinst/arch/news68k/md.c: revision 1.8
usr.sbin/sysinst/upgrade.c: revision 1.19
usr.sbin/sysinst/arch/zaurus/md.c: revision 1.12
usr.sbin/sysinst/arch/playstation2/md.c: revision 1.10
usr.sbin/sysinst/arch/hpcarm/md.c: revision 1.11
usr.sbin/sysinst/arch/evbmips/md.c: revision 1.10
usr.sbin/sysinst/main.c: revision 1.28
Add an option to set the directory where we look for message catalogs.
Try to get rid of all wedges we created (after unmounting).
When upgrading, update the boot code post extraction from
the updated target file system.
Do not defer wedge deletions when we have nothing mounted.
Define and use a constant for maximum disk name length.
 1.29.2.8 05-Nov-2020  sborrill Pull up the following revisions(s) (requested by martin in ticket #1121):
usr.sbin/sysinst/menus.mi: revision 1.22-1.23
usr.sbin/sysinst/msg.mi.de: revision 1.25-1.26
usr.sbin/sysinst/msg.mi.en: revision 1.33-1.34
usr.sbin/sysinst/msg.mi.pl: revision 1.33-1.34
usr.sbin/sysinst/msg.mi.es: revision 1.27-1.28
usr.sbin/sysinst/msg.mi.fr: revision 1.32-1.33
usr.sbin/sysinst/util.c: revision 1.49-1.52

- When looking for available CD media, skip those that are already mounted.
- When no medium with sets is found, show a new error message and return
to the source selection menu.
- Rearrange all source option menus to have the proper set suffix available
(either .tgz or .tar.xz).
- Relax an assertion, the first getvfsstat() call may overestimate the file
systems visible to us. Fixes PR 55752
- When we did not magically find any CD medium with sets, offer a manual
override (so ISO images on USB sticks or Xen's xbd(4) work).
 1.29.2.7 15-Oct-2020  bouyer Pull up following revision(s) (requested by martin in ticket #1113):
usr.sbin/sysinst/bsddisklabel.c: revision 1.46
usr.sbin/sysinst/bsddisklabel.c: revision 1.47
usr.sbin/sysinst/disklabel.c: revision 1.40
usr.sbin/sysinst/arch/cobalt/md.c: revision 1.13
usr.sbin/sysinst/bsddisklabel.c: revision 1.48
usr.sbin/sysinst/disklabel.c: revision 1.41
usr.sbin/sysinst/arch/cobalt/md.c: revision 1.14
usr.sbin/sysinst/bsddisklabel.c: revision 1.49
usr.sbin/sysinst/disklabel.c: revision 1.42
usr.sbin/sysinst/Makefile.inc: revision 1.34
usr.sbin/sysinst/disks.c: revision 1.70
usr.sbin/sysinst/arch/hp300/md.c: revision 1.11
usr.sbin/sysinst/disks.c: revision 1.71
usr.sbin/sysinst/arch/i386/md.h: revision 1.8
usr.sbin/sysinst/arch/arc/md.c: revision 1.13
usr.sbin/sysinst/mbr.h: revision 1.5
usr.sbin/sysinst/mbr.h: revision 1.6
usr.sbin/sysinst/arch/mac68k/md.c: revision 1.10
usr.sbin/sysinst/bsddisklabel.c: revision 1.50
usr.sbin/sysinst/arch/acorn32/md.c: revision 1.7
usr.sbin/sysinst/bsddisklabel.c: revision 1.51
usr.sbin/sysinst/bsddisklabel.c: revision 1.52
usr.sbin/sysinst/bsddisklabel.c: revision 1.53
usr.sbin/sysinst/bsddisklabel.c: revision 1.54
usr.sbin/sysinst/bsddisklabel.c: revision 1.55
usr.sbin/sysinst/bsddisklabel.c: revision 1.56
usr.sbin/sysinst/arch/dummy/md.c: revision 1.6
usr.sbin/sysinst/arch/amd64/md.h: revision 1.9
usr.sbin/sysinst/arch/evbsh3/md.c: revision 1.6
usr.sbin/sysinst/arch/sparc/md.c: revision 1.6
usr.sbin/sysinst/arch/zaurus/md.c: revision 1.10
usr.sbin/sysinst/arch/x68k/md.c: revision 1.11
usr.sbin/sysinst/arch/sandpoint/md.c: revision 1.9
usr.sbin/sysinst/arch/vax/md.c: revision 1.7
usr.sbin/sysinst/arch/luna68k/md.c: revision 1.9
usr.sbin/sysinst/gpt.c: revision 1.19
usr.sbin/sysinst/arch/i386/md.c: revision 1.31
usr.sbin/sysinst/arch/i386/md.c: revision 1.32
usr.sbin/sysinst/arch/evbarm/md.c: revision 1.17
usr.sbin/sysinst/arch/evbarm/md.c: revision 1.18
usr.sbin/sysinst/arch/evbarm/md.c: revision 1.19
usr.sbin/sysinst/arch/shark/md.c: revision 1.6
usr.sbin/sysinst/arch/landisk/md.c: revision 1.14
usr.sbin/sysinst/util.c: revision 1.43
usr.sbin/sysinst/gpt.c: revision 1.20
usr.sbin/sysinst/util.c: revision 1.44
usr.sbin/sysinst/gpt.c: revision 1.21
usr.sbin/sysinst/gpt.c: revision 1.22
usr.sbin/sysinst/arch/evbarm/msg.md.en: revision 1.2
usr.sbin/sysinst/arch/ofppc/md.c: revision 1.11
usr.sbin/sysinst/util.c: revision 1.46
usr.sbin/sysinst/arch/ofppc/md.c: revision 1.12
usr.sbin/sysinst/util.c: revision 1.47
usr.sbin/sysinst/arch/evbarm/md.h: revision 1.6
usr.sbin/sysinst/util.c: revision 1.48
usr.sbin/sysinst/arch/evbarm/md.h: revision 1.7
usr.sbin/sysinst/arch/evbmips/md.c: revision 1.9
usr.sbin/sysinst/msg.mi.fr: revision 1.28
usr.sbin/sysinst/msg.mi.fr: revision 1.29
usr.sbin/sysinst/arch/sgimips/md.c: revision 1.9
usr.sbin/sysinst/arch/evbarm/Makefile: revision 1.3
usr.sbin/sysinst/msg.mi.de: revision 1.23
usr.sbin/sysinst/arch/hpcsh/md.c: revision 1.10
usr.sbin/sysinst/msg.mi.de: revision 1.24
usr.sbin/sysinst/install.c: revision 1.15
usr.sbin/sysinst/install.c: revision 1.16
usr.sbin/sysinst/arch/sparc64/md.c: revision 1.6
usr.sbin/sysinst/install.c: revision 1.17
usr.sbin/sysinst/install.c: revision 1.18
usr.sbin/sysinst/partitions.h: revision 1.16
usr.sbin/sysinst/install.c: revision 1.19
usr.sbin/sysinst/partitions.h: revision 1.17
usr.sbin/sysinst/arch/evbppc/md.c: revision 1.9
usr.sbin/sysinst/arch/playstation2/md.c: revision 1.9
usr.sbin/sysinst/partitions.h: revision 1.18
usr.sbin/sysinst/arch/hpcarm/md.c: revision 1.9
usr.sbin/sysinst/partitions.h: revision 1.19
usr.sbin/sysinst/msg.mi.es: revision 1.24
usr.sbin/sysinst/msg.mi.es: revision 1.25
usr.sbin/sysinst/msg.mi.es: revision 1.26
usr.sbin/sysinst/arch/zaurus/md.c: revision 1.9
usr.sbin/sysinst/target.c: revision 1.13
usr.sbin/sysinst/target.c: revision 1.14
usr.sbin/sysinst/part_edit.c: revision 1.17
usr.sbin/sysinst/part_edit.c: revision 1.18
usr.sbin/sysinst/msg.mi.fr: revision 1.30
usr.sbin/sysinst/arch/mvme68k/md.c: revision 1.11
usr.sbin/sysinst/part_edit.c: revision 1.19
usr.sbin/sysinst/msg.mi.fr: revision 1.31
usr.sbin/sysinst/arch/alpha/md.c: revision 1.9
usr.sbin/sysinst/msg.mi.en: revision 1.30
usr.sbin/sysinst/defs.h: revision 1.56
usr.sbin/sysinst/msg.mi.en: revision 1.31
usr.sbin/sysinst/defs.h: revision 1.57
usr.sbin/sysinst/msg.mi.en: revision 1.32
usr.sbin/sysinst/arch/amiga/md.c: revision 1.6
usr.sbin/sysinst/arch/hpcmips/md.c: revision 1.9
usr.sbin/sysinst/defs.h: revision 1.58
usr.sbin/sysinst/arch/cats/md.c: revision 1.5
usr.sbin/sysinst/defs.h: revision 1.59
usr.sbin/sysinst/arch/newsmips/md.c: revision 1.6
usr.sbin/sysinst/arch/pmax/md.c: revision 1.8
usr.sbin/sysinst/arch/mipsco/md.c: revision 1.8
usr.sbin/sysinst/part_edit.c: revision 1.20
usr.sbin/sysinst/part_edit.c: revision 1.21
usr.sbin/sysinst/arch/macppc/md.c: revision 1.6
usr.sbin/sysinst/part_edit.c: revision 1.22
usr.sbin/sysinst/part_edit.c: revision 1.23
usr.sbin/sysinst/part_edit.c: revision 1.24
usr.sbin/sysinst/defs.h: revision 1.60
usr.sbin/sysinst/arch/mac68k/Makefile: revision 1.3
usr.sbin/sysinst/defs.h: revision 1.61
usr.sbin/sysinst/defs.h: revision 1.63
usr.sbin/sysinst/defs.h: revision 1.64
usr.sbin/sysinst/defs.h: revision 1.65
usr.sbin/sysinst/label.c: revision 1.21
usr.sbin/sysinst/defs.h: revision 1.66
usr.sbin/sysinst/label.c: revision 1.22
usr.sbin/sysinst/defs.h: revision 1.67
usr.sbin/sysinst/label.c: revision 1.23
usr.sbin/sysinst/label.c: revision 1.24
usr.sbin/sysinst/label.c: revision 1.25
usr.sbin/sysinst/label.c: revision 1.26
usr.sbin/sysinst/label.c: revision 1.27
usr.sbin/sysinst/msg.mi.pl: revision 1.31
usr.sbin/sysinst/label.c: revision 1.28
usr.sbin/sysinst/msg.mi.pl: revision 1.32
usr.sbin/sysinst/label.c: revision 1.29
usr.sbin/sysinst/arch/atari/md.c: revision 1.7
usr.sbin/sysinst/disklabel.c: revision 1.36
usr.sbin/sysinst/disklabel.c: revision 1.37
usr.sbin/sysinst/disklabel.c: revision 1.38
usr.sbin/sysinst/disklabel.c: revision 1.39
usr.sbin/sysinst/arch/bebox/md.c: revision 1.9
usr.sbin/sysinst/mbr.c: revision 1.32
usr.sbin/sysinst/disks.c: revision 1.66
usr.sbin/sysinst/mbr.c: revision 1.33
usr.sbin/sysinst/disks.c: revision 1.67
usr.sbin/sysinst/mbr.c: revision 1.34
usr.sbin/sysinst/arch/emips/md.c: revision 1.9
usr.sbin/sysinst/disks.c: revision 1.68
usr.sbin/sysinst/partitions.c: revision 1.11
usr.sbin/sysinst/mbr.c: revision 1.35
usr.sbin/sysinst/disks.c: revision 1.69
usr.sbin/sysinst/mbr.c: revision 1.36
usr.sbin/sysinst/arch/hppa/md.c: revision 1.8
usr.sbin/sysinst/arch/prep/md.c: revision 1.13
usr.sbin/sysinst/label.c: revision 1.30
usr.sbin/sysinst/arch/ews4800mips/md.c: revision 1.7
usr.sbin/sysinst/main.c: revision 1.21
usr.sbin/sysinst/main.c: revision 1.22
usr.sbin/sysinst/main.c: revision 1.23
usr.sbin/sysinst/bsddisklabel.c: revision 1.40
usr.sbin/sysinst/main.c: revision 1.24
usr.sbin/sysinst/arch/cobalt/md.h: revision 1.6
usr.sbin/sysinst/bsddisklabel.c: revision 1.41
usr.sbin/sysinst/main.c: revision 1.25
usr.sbin/sysinst/arch/news68k/md.c: revision 1.7
usr.sbin/sysinst/bsddisklabel.c: revision 1.42
usr.sbin/sysinst/bsddisklabel.c: revision 1.43
usr.sbin/sysinst/bsddisklabel.c: revision 1.44
usr.sbin/sysinst/bsddisklabel.c: revision 1.45
Use strlcpy in a few places to guarnatee 0-terminated strings
Rever previous: the d_packname in struct disklabel is not NUL terminated.
Disable the warning instead.
Do not force -Os optimization (unless SMALLPROG)
Remove unused "rel" global variable and make the -r option a no-op.
PR 55045: strlcpy(NULL, ..., 0) considered harmfull in some implementations.
PR misc/54886: bump threshold for automatic/default creation of a tmpfs /tmp
up slightly (to 384 MB ram). This will make sure the default install has
a > 64 MB /tmp available (number pulled out of thin air, 64 MB is the minimum
required by the ZFS tests).
Don't depend on common symbol definitions.
boardype should not be common.
Redo the root-size-limit check again after we grew the root partition
for kernel dumps. Auto-enable the /usr partition if it overflows.
For all non-root partitions, default to FFSv2.
When extending a partition (to fill the total disk size) do respect
size limits.
Do not suggest a size limited partition for extension by default.
Minor tweak to previous: when forcing a /usr partition just to have an
arbitrary extendable partition, still use its default size initially.
At the end of a new installation save entropy.
Ooops, backout previous - twice the entropy saving is not needed.
Instead slightly improve the (slightly) hidden other code that already
did it.
PR 55202: disable swapping if we started it due to low ram
it's "its"
Remove "If you booted from a floppy" message
Set HAVE_INSTALL_IMAGE for evbarm
Change mountpoint of boot ext2fs from /stand to /ext2 to avoid conflict.
Should be pulled up to netbsd-9, with fixes of PR/55060.
MBR type for Ext2 should be MBR_PTYPE_LNXEXT2, not MBR_PTYPE_FAT12.
Silence -Wstringop-truncation for ``name'' in disp_selected_part().
This variable is used only for display, and truncation seems harmless.
PR 55572: avoid crash when answering the mount point prompt for a previously
empty mount point with an emptry sting.
When adding a new partition in the concrete partition editor, make sure
to set a pointer to the partition table interface in the new entry.
Otherwise we may end up not writing back the partitions at all, leading
to further fallout later.
Receipe to reproduce the issue from Frederic Fauberteau, thanks!
In the concrete partitions editor, after deleting the last partition move
the menu selection to the "add a partition" entry (instead of the sentinel
line which is not an active menu entry).
Typo in comment
Keep a list of all partition tables from which we have deleted partitions
and make sure we update those partition tables when writing partitions,
even if no install related partition remains on them.
Fix display of timezone selection menu
If there is no current partitioning manager assume we are editing the
current system and make target_already_root() return true.
Fixes various fallout when using sysinst post installation.
PR 55377: mark boot partitions in the partition size display, as suggested
by Izumi Tsutsui (minor modifications + all bugs by me)
PR 55378: do not assume RAW_PART to be either 2 or 3
PR 55379: avoid creating bogus /etc/fstab lines for /dev/cd* if no
cdrom is available.
PR 55381: try to deal with moved (but not yet saved) partitions when
calculating free space
Apply patch provided by Izumi Tsutsui in PR 55382: make ext2 partitions
show up in the outer (MBR) partition table, needed for example on Cobalt
where firmware boots from that partition.
PR 55384: detangle pm->ptstart from the "install" flag (selecting a
target partition). Instead introduce a new PTI_INSTALL_TARGET per partition
flag and deal with it in the partitioning backends.
Honour pm->ptstart when allocating new partitions - it is supposed to be
the first sector usable by NetBSD.
If we have no explicitly marke target root partition, make sure to set
the proper flag on the implicit one.
When merging existing partitions with desired target system layout
information, only force the "mount" flag if the existing partitions
has a valid mount point.
Add a heuristic to detect and properly mark EFI system partitions
when re-using pre-existing partitions.
When MD code requests a reserved area (at the start of the disk)
make sure to properly account for the "lost" space during all calculations
and especially when expanding the main partition to fill the disk.
Avoid using the global "pm" or a passed device descriptons when we are
passing disk limits explicitly anyway.
Simplify/fix a few rounding calculations.
When creating new partitions for "full disk" use, pass a install target
hint to the partitioning backend (for the outer NetBSD partition).
Use an install target hint to mark a new partition active.
When compiled with BOOTSEL support, also name the new partition "NetBSD".
Remove more pm->ptstart abuse - calculate values localy where needed
instead.
Fix editing start and size of not yet existing outer partitions.
Previously we abused pm->ptstart / pm->ptsize to pass the bounds of the
NetBSD outer partition to the inner partition editor - but now this is
not a valid assumption any more, so explicitly fix the bounds if an
outer partition exists.
Remove very strange code that special-cased MSDOS file systems and refused
to newfs the partition (despite explicit request to do so) if it was
mountable.
Accidently carried over from a dim and distant past, before we had
fsck_newfs.
PR 55536: when we find existing partition tables and have alternative
formats available, offer to delete partitions and create new ones from
scratch (in some other or the same on-disk format).
Minor fix to previous: fix condition when we offer the partition type
switch - it makes sense even if the disk is partitioned but has no valid
partitions.
Before forcing MBR partitions into our disklabel, make sure they are not
there yet - could happen in various paths when reusing existing partitions
(or parts of that) - previously we would blindly duplicate identical
partitions.
Ooops, part of previous was not meant to be included yet
When renumbering partitions (after deletions) be slightly more lax
in matching, to cope with differences between MBR EFI partitions and
disklabel MSDOS partitions.
PR 55142: on popular demand bring back expert options to adjust the
number of free inodes, block size and fragment size for FFS and LFS.
Fix copy & pasto noticed by Jason Mitchell: change the type of a GPT
partition via "gpt type" - not "gpt label".
Fix copy & pasto (missing "again" label)
Remove dead code
Move MBR writing (if any) post disklabel writing, otherwise strange
interactions happen.
Properly convert partition default sizes in MB to number of sectors
 1.29.2.6 28-Jan-2020  msaitoh Pull up following revision(s) (requested by martin in ticket #668):
usr.sbin/sysinst/arch/cobalt/md.c: revision 1.11
usr.sbin/sysinst/arch/cobalt/md.c: revision 1.12
usr.sbin/sysinst/arch/arc/md.c: revision 1.11
usr.sbin/sysinst/arch/arc/md.c: revision 1.12
usr.sbin/sysinst/partman.c: revision 1.43
usr.sbin/sysinst/partman.c: revision 1.46
usr.sbin/sysinst/partman.c: revision 1.47
usr.sbin/sysinst/partman.c: revision 1.48
usr.sbin/sysinst/partman.c: revision 1.49
usr.sbin/sysinst/msg.pm.fr: revision 1.2
usr.sbin/sysinst/upgrade.c: revision 1.14
usr.sbin/sysinst/arch/i386/md.c: revision 1.28
usr.sbin/sysinst/arch/i386/md.c: revision 1.29
usr.sbin/sysinst/arch/ofppc/md.c: revision 1.9
usr.sbin/sysinst/arch/sandpoint/md.c: revision 1.7
usr.sbin/sysinst/arch/sandpoint/md.c: revision 1.8
usr.sbin/sysinst/gpt.c: revision 1.14
usr.sbin/sysinst/gpt.c: revision 1.15
usr.sbin/sysinst/arch/luna68k/md.c: revision 1.8
usr.sbin/sysinst/gpt.c: revision 1.16
usr.sbin/sysinst/msg.pm.de: revision 1.2
usr.sbin/sysinst/arch/evbarm/md.c: revision 1.11
usr.sbin/sysinst/arch/evbarm/md.c: revision 1.12
usr.sbin/sysinst/arch/evbarm/md.c: revision 1.13
usr.sbin/sysinst/arch/evbarm/md.c: revision 1.14
usr.sbin/sysinst/sizemultname.c: revision 1.4
usr.sbin/sysinst/msg.pm.en: revision 1.2
usr.sbin/sysinst/arch/landisk/md.c: revision 1.12
usr.sbin/sysinst/util.c: revision 1.41
usr.sbin/sysinst/arch/landisk/md.c: revision 1.13
usr.sbin/sysinst/util.c: revision 1.42
usr.sbin/sysinst/arch/ofppc/md.c: revision 1.10
usr.sbin/sysinst/partitions.c: revision 1.9
usr.sbin/sysinst/arch/evbarm/md.h: revision 1.4
usr.sbin/sysinst/arch/evbarm/md.h: revision 1.5
usr.sbin/sysinst/arch/evbmips/md.c: revision 1.7
usr.sbin/sysinst/arch/evbmips/md.c: revision 1.8
usr.sbin/sysinst/msg.mi.fr: revision 1.25
usr.sbin/sysinst/msg.mi.de: revision 1.20
usr.sbin/sysinst/install.c: revision 1.14
usr.sbin/sysinst/partitions.h: revision 1.13
usr.sbin/sysinst/partitions.h: revision 1.14
usr.sbin/sysinst/arch/evbppc/md.c: revision 1.7
usr.sbin/sysinst/arch/playstation2/md.c: revision 1.7
usr.sbin/sysinst/msg.mi.en: revision 1.27
usr.sbin/sysinst/partitions.h: revision 1.15
usr.sbin/sysinst/arch/evbppc/md.c: revision 1.8
usr.sbin/sysinst/arch/hpcarm/md.c: revision 1.7
usr.sbin/sysinst/arch/playstation2/md.c: revision 1.8
usr.sbin/sysinst/msg.pm.pl: revision 1.2
usr.sbin/sysinst/arch/hpcarm/md.c: revision 1.8
usr.sbin/sysinst/msg.mi.es: revision 1.21
usr.sbin/sysinst/arch/zaurus/md.c: revision 1.7
usr.sbin/sysinst/target.c: revision 1.11
usr.sbin/sysinst/arch/zaurus/md.c: revision 1.8
usr.sbin/sysinst/part_edit.c: revision 1.14
usr.sbin/sysinst/part_edit.c: revision 1.15
usr.sbin/sysinst/part_edit.c: revision 1.16
usr.sbin/sysinst/defs.h: revision 1.50
usr.sbin/sysinst/defs.h: revision 1.51
usr.sbin/sysinst/defs.h: revision 1.52
usr.sbin/sysinst/defs.h: revision 1.53
usr.sbin/sysinst/defs.h: revision 1.54
usr.sbin/sysinst/arch/hpcmips/md.c: revision 1.7
usr.sbin/sysinst/arch/hpcmips/md.c: revision 1.8
usr.sbin/sysinst/arch/hpcsh/md.c: revision 1.8
usr.sbin/sysinst/msg.pm.es: revision 1.2
usr.sbin/sysinst/arch/hpcsh/md.c: revision 1.9
usr.sbin/sysinst/label.c: revision 1.18
usr.sbin/sysinst/label.c: revision 1.19
usr.sbin/sysinst/net.c: revision 1.35
usr.sbin/sysinst/msg.mi.pl: revision 1.28
usr.sbin/sysinst/disklabel.c: revision 1.28
usr.sbin/sysinst/disklabel.c: revision 1.29
usr.sbin/sysinst/mbr.c: revision 1.24
usr.sbin/sysinst/disks.c: revision 1.59
usr.sbin/sysinst/mbr.c: revision 1.25
usr.sbin/sysinst/mbr.c: revision 1.26
usr.sbin/sysinst/mbr.c: revision 1.27
usr.sbin/sysinst/mbr.c: revision 1.28
usr.sbin/sysinst/label.c: revision 1.20
usr.sbin/sysinst/mbr.c: revision 1.29
usr.sbin/sysinst/bsddisklabel.c: revision 1.34
usr.sbin/sysinst/bsddisklabel.c: revision 1.35
usr.sbin/sysinst/bsddisklabel.c: revision 1.36
usr.sbin/sysinst/bsddisklabel.c: revision 1.37
usr.sbin/sysinst/disklabel.c: revision 1.30
usr.sbin/sysinst/bsddisklabel.c: revision 1.38
usr.sbin/sysinst/disklabel.c: revision 1.31
usr.sbin/sysinst/disklabel.c: revision 1.32
usr.sbin/sysinst/disklabel.c: revision 1.33
usr.sbin/sysinst/disklabel.c: revision 1.34
usr.sbin/sysinst/disks.c: revision 1.60
usr.sbin/sysinst/disks.c: revision 1.61
usr.sbin/sysinst/arch/bebox/md.c: revision 1.7
usr.sbin/sysinst/disks.c: revision 1.62
usr.sbin/sysinst/arch/bebox/md.c: revision 1.8
usr.sbin/sysinst/mbr.c: revision 1.30
usr.sbin/sysinst/partitions.c: revision 1.10
usr.sbin/sysinst/arch/prep/md.c: revision 1.11
usr.sbin/sysinst/arch/prep/md.c: revision 1.12
usr.sbin/sysinst/menus.pm: revision 1.3
usr.sbin/sysinst/main.c: revision 1.20
usr.sbin/sysinst/menus.mi: revision 1.20
usr.sbin/sysinst/menus.mi: revision 1.21
avoid calling snprintf/strlcat with an input parameter the same
as the output. from martin@. fixes gcc 8 restrict warnings.
Finish conversion of extended partitioning parts to new abstract
backend interface. XXX still could use a lot of polishing.
Instead of a (bogus) attempt to query the model via ofctl, use the (now
fixed) sysctl hw.model instead.
When reading the secondary disklabel partitions from an existing disklabel
set the mbr partitions as parent.
Move the LABELSECTOR check and make it FS type specific - some partition
types (FFS, RAID) are allowed to overlap with the LABELSECTOR.
When asked to create a whole-disk partition for unknown usage, do not only
assert(false), but actually return an error (in case "assert" is a nop).
PR install/54787: when trying to derive proper alignement and first offset
from exisiting partitions, use the first partition offset if it is already
closer to the start of the disk than the prefered alignment - we can not
move existing partitions around.
Fix handling of inner/outer partitions (e.g. MBR and disklabel) in
extended partitioning:
- when editing a disk with such a schme, offer both partitions in two
steps
- when commiting changes save the inner partitions after the outer ones
Add a method to query the partitioning schemes "internal idea" of a
cylinder size - whatever that means in the real world.
Avoid using the global "pm" variable in utility functions - during
extended partitioning they may point to a different device.
Remove useless calls to get_ramsize() - return value is ignored and
the function has no side effects.
Fix /tmp tmpfs handling and on machines with enough RAM default to
creating a /tmp tmpfs with 25% of ram size limit. Suggested by ad@.
PR install/54872: fix printf argument order, sectors and heads were
swapped in the bios geometry display.
First try to bring evbarm installation closer to current reality.
hide disklabel_non_bootable() under NO_DISKLABEL_BOOT like the usage.
should fix most builds.
Deal with even stranger fictious empty disklabels (PR kern/54882).
Factor out all RAM size thresholds as defines to avoid magic numbers.
To work around PR misc/54886 bump the threshold for a tmpfs /tmp mount
up to 256 MB.
When retrying sets during extraction, reset the relevant statistics
to avoid counting retried sets multiple times.
Reported by kim.
Fix support for non-512-byte/sector disks again after I broke it when
introducing the abstract partition backends.
Use a few strlcpy() instead of strncpy() for network ioctl structs.
We seem to have no formal documentation stating the various
char if*_name[IFNAMSIZ]; /* if name, e.g. "en0" */
elements in ioctls are nul terminated, but the peanut gallery claims
it is so - and at least half of the code in-tree touching them agrees.
Too much disklabel magic happening in the kernel - to compensate force
MBR first when trying to identify the existing partitioning scheme of
a disk.
 1.29.2.5 17-Nov-2019  msaitoh Pull up following revision(s) (requested by martin in ticket #436):
usr.sbin/sysinst/disks.c: revision 1.55
usr.sbin/sysinst/msg.mi.en: revision 1.24
usr.sbin/sysinst/mbr.c: revision 1.22
usr.sbin/sysinst/disks.c: revision 1.56
usr.sbin/sysinst/msg.mi.en: revision 1.25
usr.sbin/sysinst/disks.c: revision 1.57
usr.sbin/sysinst/arch/playstation2/msg.md.pl: revision 1.3
usr.sbin/sysinst/Makefile.inc: revision 1.30
usr.sbin/sysinst/configmenu.c: revision 1.11
usr.sbin/sysinst/util.c: revision 1.35
usr.sbin/sysinst/gpt.c: revision 1.12
usr.sbin/sysinst/util.c: revision 1.36
usr.sbin/sysinst/arch/playstation2/msg.md.de: revision 1.3
usr.sbin/sysinst/arch/i386/menus.md: revision 1.3
usr.sbin/sysinst/util.c: revision 1.37
usr.sbin/sysinst/part_edit.c: revision 1.11
usr.sbin/sysinst/arch/i386/msg.md.en: revision 1.2
usr.sbin/sysinst/util.c: revision 1.38
usr.sbin/sysinst/part_edit.c: revision 1.12
usr.sbin/sysinst/arch/i386/msg.md.en: revision 1.3
usr.sbin/sysinst/util.c: revision 1.39
usr.sbin/sysinst/part_edit.c: revision 1.13
usr.sbin/sysinst/arch/i386/msg.md.en: revision 1.4
usr.sbin/sysinst/disklabel.c: revision 1.15
usr.sbin/sysinst/bsddisklabel.c: revision 1.30
usr.sbin/sysinst/arch/i386/msg.md.es: revision 1.2
usr.sbin/sysinst/bsddisklabel.c: revision 1.31
usr.sbin/sysinst/arch/i386/msg.md.es: revision 1.3
usr.sbin/sysinst/arch/i386/msg.md.es: revision 1.4
usr.sbin/sysinst/mbr.h: revision 1.4
usr.sbin/sysinst/main.c: revision 1.18
usr.sbin/sysinst/partman.c: revision 1.44
usr.sbin/sysinst/msg.mi.de: revision 1.17
usr.sbin/sysinst/arch/i386/msg.md.fr: revision 1.2
usr.sbin/sysinst/msg.mi.de: revision 1.18
usr.sbin/sysinst/arch/i386/msg.md.fr: revision 1.3
usr.sbin/sysinst/arch/playstation2/msg.md.en: revision 1.3
usr.sbin/sysinst/arch/i386/msg.md.fr: revision 1.4
usr.sbin/sysinst/arch/amd64/md.c: revision 1.2
usr.sbin/sysinst/arch/ews4800mips/Makefile: revision 1.3
usr.sbin/sysinst/arch/playstation2/msg.md.es: revision 1.3
usr.sbin/sysinst/label.c: revision 1.13
usr.sbin/sysinst/Makefile.inc: revision 1.29
usr.sbin/sysinst/label.c: revision 1.14
usr.sbin/sysinst/util.c: revision 1.40
usr.sbin/sysinst/partitions.c: revision 1.5
usr.sbin/sysinst/arch/amd64/md.h: revision 1.8
usr.sbin/sysinst/msg.mi.es: revision 1.18
usr.sbin/sysinst/net.c: revision 1.34
usr.sbin/sysinst/msg.mi.es: revision 1.19
usr.sbin/sysinst/arch/i386/msg.md.pl: revision 1.2
usr.sbin/sysinst/arch/i386/md.c: revision 1.22
usr.sbin/sysinst/msg.mi.fr: revision 1.22
usr.sbin/sysinst/arch/playstation2/msg.md.fr: revision 1.3
usr.sbin/sysinst/arch/i386/msg.md.pl: revision 1.3
usr.sbin/sysinst/arch/i386/md.c: revision 1.23
usr.sbin/sysinst/msg.mi.pl: revision 1.25
usr.sbin/sysinst/msg.mi.fr: revision 1.23
usr.sbin/sysinst/arch/i386/msg.md.pl: revision 1.4
usr.sbin/sysinst/arch/i386/md.c: revision 1.24
usr.sbin/sysinst/partitions.h: revision 1.8
usr.sbin/sysinst/msg.mi.pl: revision 1.26
usr.sbin/sysinst/arch/i386/msg.md.de: revision 1.2
usr.sbin/sysinst/arch/i386/msg.md.de: revision 1.3
usr.sbin/sysinst/arch/i386/msg.md.de: revision 1.4
usr.sbin/sysinst/run.c: revision 1.13
usr.sbin/sysinst/defs.h: revision 1.46
usr.sbin/sysinst/install.c: revision 1.12
usr.sbin/sysinst/defs.h: revision 1.47
usr.sbin/sysinst/install.c: revision 1.13
usr.sbin/sysinst/defs.h: revision 1.48
Add options to the various partitioning stages that allow cloning of
alien partitions (optionally including data).
PR 54467: we trust our own sets, extract them with -P to allow symlink
redirection (especially for updates and chroot services - back out
once a better solution for those is implemented)
Make cloning support optional, so we can save some space on very small
install media.
Drop MBR and cloning support on crunched install media.
Make tar extraction flags depend on our usage of pax-as-tar or bsdtar.
Fix missing newlines in bios match display, pointed out by maxv.
Drop unused variable.
Fix table of bios geomatries
knf style adjustments
Make the bootblock selection menu more sane, pointed out by maxv
Make sure all menus have a translatable exit option (or none at all).
On amd64 support installation with a KASLR kernel, via "custom install"
and selecting the GENERIC_KASLR kernel set.
Setup /prekern and boot.cfg accordingly.
 1.29.2.4 17-Nov-2019  martin Pull up following revision(s) (requested by maya in ticket #435):

distrib/sets/maketars: revision 1.90
usr.sbin/sysinst/arch/playstation2/md.h: revision 1.2
usr.sbin/sysinst/arch/sandpoint/md.h: revision 1.3
usr.sbin/sysinst/arch/evbppc/md.h: revision 1.3
usr.sbin/sysinst/arch/hpcarm/md.h: revision 1.3
usr.sbin/sysinst/arch/mvme68k/md.h: revision 1.3
distrib/sun3/MakeInstTape: revision 1.3
usr.sbin/sysinst/util.c: revision 1.33
distrib/sets/lists/rescue/mi: revision 1.1
distrib/sets/lists/base/rescue.sun2: file removal
usr.sbin/sysinst/arch/zaurus/md.h: revision 1.3
distrib/sets/lists/base/rescue.ad.m68k.shl: file removal
distrib/sets/regpkgset: revision 1.13
usr.sbin/sysinst/arch/i386/md.h: revision 1.7
distrib/sets/lists/base/rescue.sparc: file removal
distrib/notes/mvme68k/xfer: revision 1.19
distrib/sets/sets.subr: revision 1.187
distrib/common/bootimage/Makefile.bootimage: revision 1.22
usr.sbin/sysinst/msg.mi.de: revision 1.16
usr.sbin/sysinst/arch/atari/md.h: revision 1.3
rescue/Makefile: revision 1.38
distrib/sets/lists/base/rescue.macppc: file removal
usr.sbin/sysinst/arch/arc/md.h: revision 1.4
distrib/miniroot/install.sub: revision 1.49
usr.sbin/sysinst/arch/acorn32/md.h: revision 1.3
usr.sbin/sysinst/arch/x68k/md.h: revision 1.3
usr.sbin/sysinst/arch/hpcmips/md.h: revision 1.3
usr.sbin/sysinst/arch/bebox/md.h: revision 1.3
usr.sbin/sysinst/arch/hpcsh/md.h: revision 1.2
distrib/sets/lists/base/rescue.shark: file removal
usr.sbin/sysinst/arch/emips/md.h: revision 1.5
distrib/utils/embedded/mkimage: revision 1.70
usr.sbin/sysinst/arch/shark/md.h: revision 1.3
usr.sbin/sysinst/arch/pmax/md.h: revision 1.4
usr.sbin/sysinst/arch/amiga/md.h: revision 1.4
usr.sbin/sysinst/arch/hp300/md.h: revision 1.5
rescue/list.ldconfig: file removal
distrib/sets/lists/base/rescue.ad.m68k: file removal
usr.sbin/sysinst/arch/prep/md.h: revision 1.4
usr.sbin/sysinst/arch/cats/md.h: revision 1.4
usr.sbin/sysinst/arch/amd64/md.h: revision 1.7
usr.sbin/sysinst/msg.mi.es: revision 1.17
usr.sbin/sysinst/msg.mi.fr: revision 1.20
usr.sbin/sysinst/msg.mi.pl: revision 1.23
distrib/sets/lists/base/rescue.i386: file removal
usr.sbin/sysinst/arch/evbarm/md.h: revision 1.3
distrib/sets/lists/base/rescue.vax: file removal
distrib/amd64/uefi-installimage/Makefile.bootimage: revision 1.12
usr.sbin/sysinst/arch/evbmips/md.h: revision 1.3
distrib/sets/lists/base/rescue.mi: file removal
distrib/sets/README: revision 1.14
usr.sbin/sysinst/arch/sgimips/md.h: revision 1.4
distrib/sets/lists/base/rescue.sparc64: file removal
distrib/sets/lists/base/rescue.mi: revision 1.45
distrib/sets/lists/base/rescue.mi: revision 1.46
usr.sbin/sysinst/arch/ofppc/md.h: revision 1.4
usr.sbin/sysinst/arch/cobalt/md.h: revision 1.4
distrib/sets/lists/base/rescue.ad.arm: file removal
distrib/sets/lists/base/rescue.mac68k: file removal
usr.sbin/sysinst/defs.h: revision 1.45
usr.sbin/sysinst/arch/landisk/md.h: revision 1.2
distrib/notes/atari/xfer: revision 1.17
etc/Makefile: revision 1.441
usr.sbin/sysinst/msg.mi.en: revision 1.22
distrib/sun2/MakeInstTape: revision 1.2

Remove ldconfig from /rescue, and mark it MI obsolete.
- ldconfig in netbsd refers to a.out binaries only. We've been ELF-only
since NetBSD 2.0 or so, and having it in /rescue served little purpose
even before that, as /rescue is standalone.
- Using MI obsolete to avoid the need for MD set lists where ldconfig
is the sole entry

Mark /rescue/edlabel as MI-obsolete, so we can remove all remaining MD
rescue set list files.

Split out /rescue to its own set and adapt installers/images to add it.

This is meant to make updates safer: if something goes wrong with updating
base, we still have the old, standalone /rescue to recover from.
 1.29.2.3 28-Aug-2019  msaitoh Pull up following revision(s) (requested by martin in ticket #123):
usr.sbin/sysinst/util.c: revision 1.32
usr.sbin/sysinst/upgrade.c: revision 1.13
usr.sbin/sysinst/defs.h: revision 1.44
Do not offer to upgrade the "current system" if we are running off a CD
(i.e. / is mounted read-only)
 1.29.2.2 18-Aug-2019  msaitoh Pull up following revision(s) (requested by martin in ticket #83):
usr.sbin/sysinst/util.c: revision 1.31
usr.sbin/sysinst/install.c: revision 1.10
usr.sbin/sysinst/install.c: revision 1.11
Fix some memory leaks in error paths
Oops, avoid double free.
 1.29.2.1 18-Aug-2019  msaitoh Pull up following revision(s) (requested by martin in ticket #82):
usr.sbin/sysinst/util.c: revision 1.30
usr.sbin/sysinst/msg.mi.fr: revision 1.19
usr.sbin/sysinst/msg.mi.de: revision 1.15
usr.sbin/sysinst/msg.mi.es: revision 1.16
usr.sbin/sysinst/msg.mi.pl: revision 1.22
usr.sbin/sysinst/msg.mi.en: revision 1.21
PR 54473: fix error prompt when a set file is missing
 1.71.2.3 08-Aug-2025  martin Pull up following revision(s) (requested by kim in ticket #1146):

usr.sbin/sysinst/util.c: revision 1.78

Don't leave temporary file behind.
Fixes PR install/59573.
 1.71.2.2 26-Nov-2023  bouyer Pull up following revision(s) (requested by martin in ticket #471):
usr.sbin/sysinst/label.c: revision 1.50
usr.sbin/sysinst/util.c: revision 1.74
Force alignment of disk buffers to at least 8 byte.
Fixes PR 56434.
 1.71.2.1 09-Sep-2023  martin Pull up following revision(s) (requested by riastradh in ticket #358):

usr.sbin/sysinst/util.c: revision 1.73

sysinst(1): Run `certctl rehash' on fresh installs.

It has come to my attention that sysinst does not, in fact, run
postinstall(8) post-install -- only post-upgrade.

Perhaps we should change this so that postinstall serves the purpose
it says on the box -- make postinstall mandatory for new
installations.
 1.77.4.1 08-Aug-2025  martin Pull up following revision(s) (requested by kim in ticket #4):

usr.sbin/sysinst/util.c: revision 1.78

Don't leave temporary file behind.
Fixes PR install/59573.
 1.5 31-Jan-2021  rillig sysinst: remove trailing whitespace from *.c *.h

In contrast to the messages files, this whitespace is not significant.
 1.4 13-Dec-2019  martin Do not try to change the keyboard layout if we are not running on the
console.
 1.3 22-Jun-2019  christos branches: 1.3.2;
no need to initialize fields that are already 0.
 1.2 12-Jun-2019  martin Rework internal data structures and "interfaces to user interface" functions
to get rid of all disklabel assumptions.

Previously (even for GPT partitioning) struct disklabel was used, which
obviously breaks large disk setups. Also many MD parts and parts of the
user interface assumed (a) a struct disklabel is used internally to
store partitioning information and (b) partitions are named 'a' ... $MAXPART.

Get rid of this and replace it with a quite abstract interface that should
be able to deal with all variants in partition storage:

- partitions are stored in a (partly abstract) struct disk_partitions
and most parts of it are only accessed via accessor functions provided
by a "partitioning scheme".

- implement partitioning schemes for MBR, disklabel and GPT (with likely
RDB [amiga] and Apple Partition Map [mac*] to follow soon)

- partitioning schemes may be cascaded, e.g. on x86 when using MBR as
"outer partitions", we have disklabel as "inner partitions".

- all user interface goes via accessor functions in the partitioning scheme,
some of which return pointers to special user interface descriptors
(e.g. to allow editing partition flags, which are scheme specific)

Overall the user interface changes (in this initial step) are minimal but
noticable. A new Anita is needed for automatic test setups - many thanks
to Andreas Gustafsson for lots of early testing and a new Anita version,
and to Manuel Bouyer for cooperation and tests of the Anita release.

This work was sponsored by The NetBSD Foundation, Inc.
 1.1 26-Jul-2014  dholland branches: 1.1.2; 1.1.6; 1.1.28;
Move sysinst sources to usr.sbin.

This commit only physically moves the sources - there are no other
changes, to maximize the probability that this will be treated as a
rename if we ever do manage to migrate away from CVS.

Moving sysinst has been discussed on and off for years and has two
goals: making it easier to work on sysinst, and also making sysinst
available on running systems for use installing chroots and VM images
and other such things. None of the latter is possible yet, but as they
say, one thing at a time.

Doing this now was approved in an impromptu fashion by mrg, riz,
riastradh, me, and groo.
 1.1.28.1 13-Apr-2020  martin Mostly merge changes from HEAD upto 20200411
 1.1.6.2 20-Aug-2014  tls Rebase to HEAD as of a few days ago.
 1.1.6.1 26-Jul-2014  tls file wskbd.c was added on branch tls-maxphys on 2014-08-20 00:05:14 +0000
 1.1.2.2 10-Aug-2014  tls Rebase.
 1.1.2.1 26-Jul-2014  tls file wskbd.c was added on branch tls-earlyentropy on 2014-08-10 07:00:24 +0000
 1.3.2.1 17-Dec-2019  msaitoh Pull up following revision(s) (requested by martin in ticket #560):
usr.sbin/sysinst/partitions.h: revision 1.11
usr.sbin/sysinst/defs.h: revision 1.49
usr.sbin/sysinst/mbr.c: revision 1.23
usr.sbin/sysinst/msg.mi.en: revision 1.26
usr.sbin/sysinst/disks.c: revision 1.58
usr.sbin/sysinst/arch/evbarm/menus.md.pl: revision 1.2
usr.sbin/sysinst/msg.mi.es: revision 1.20
usr.sbin/sysinst/arch/mvme68k/md.c: revision 1.9
usr.sbin/sysinst/gpt.c: revision 1.13
usr.sbin/sysinst/arch/evbarm/md.c: revision 1.10
usr.sbin/sysinst/arch/arc/md.c: revision 1.10
usr.sbin/sysinst/disklabel.c: revision 1.18
usr.sbin/sysinst/bsddisklabel.c: revision 1.33
usr.sbin/sysinst/disklabel.c: revision 1.19
usr.sbin/sysinst/main.c: revision 1.19
usr.sbin/sysinst/partman.c: revision 1.45
usr.sbin/sysinst/arch/alpha/md.c: revision 1.7
usr.sbin/sysinst/msg.mi.de: revision 1.19
usr.sbin/sysinst/arch/evbarm/menus.md.en: revision 1.2
usr.sbin/sysinst/arch/x68k/md.h: revision 1.4
usr.sbin/sysinst/arch/x68k/md.c: revision 1.9
usr.sbin/sysinst/arch/evbarm/menus.md.es: revision 1.2
usr.sbin/sysinst/wskbd.c: revision 1.4
usr.sbin/sysinst/label.c: revision 1.15
usr.sbin/sysinst/arch/amiga/md.h: revision 1.5
usr.sbin/sysinst/label.c: revision 1.16
usr.sbin/sysinst/arch/hp300/md.c: revision 1.9
usr.sbin/sysinst/arch/emips/md.c: revision 1.8
usr.sbin/sysinst/label.c: revision 1.17
usr.sbin/sysinst/arch/pmax/md.c: revision 1.7
usr.sbin/sysinst/partitions.c: revision 1.6
usr.sbin/sysinst/arch/prep/md.c: revision 1.10
usr.sbin/sysinst/arch/mipsco/md.c: revision 1.7
usr.sbin/sysinst/partitions.c: revision 1.7
usr.sbin/sysinst/partitions.c: revision 1.8
usr.sbin/sysinst/arch/ews4800mips/md.c: revision 1.5
usr.sbin/sysinst/disklabel.c: revision 1.20
usr.sbin/sysinst/arch/evbarm/menus.md.fr: revision 1.2
usr.sbin/sysinst/msg.mi.fr: revision 1.24
usr.sbin/sysinst/disklabel.c: revision 1.21
usr.sbin/sysinst/partitions.h: revision 1.9
usr.sbin/sysinst/msg.mi.pl: revision 1.27
usr.sbin/sysinst/disklabel.c: revision 1.22
usr.sbin/sysinst/disklabel.c: revision 1.23
usr.sbin/sysinst/arch/i386/md.c: revision 1.27
usr.sbin/sysinst/disklabel.c: revision 1.24
usr.sbin/sysinst/disklabel.c: revision 1.25
usr.sbin/sysinst/arch/cobalt/md.h: revision 1.5
usr.sbin/sysinst/disklabel.c: revision 1.26
usr.sbin/sysinst/disklabel.c: revision 1.27
usr.sbin/sysinst/partitions.h: revision 1.10
usr.sbin/sysinst/arch/cobalt/md.c: revision 1.10
PR install/54582: allow MD code to disable on-disk presence verification
of "real" disklabels. Auto-enable this (at run time) when there is no other
partitioning scheme but disklabel configured.
Hard-coded enable this for x68k to allow using kernel based translations
for native Human68k partitions.
Get rid of the evbarm preliminary menu: do not bother to ask the user
whether this is a RPi - query the FDT instead.
PR 54065: add optional "old compat" variant of ext2fs in file system
type selection and use that as default for the cobalt boot file system.
For now rely on the kernel mapping native RDB partitions.
Fix detection of existing disklabels in the case when we only have
the disklabel partitioning scheme available.
Fix DISKLABEL_NO_ONDISK_VERIFY (accidently disabled in previous)
Fix inverted comparison
Do not try to change the keyboard layout if we are not running on the
console.
When trying to tell a fictious but empty label from a real one, skip
partition a if it has the same start and size as the raw partition.
Remove bogus assert.
When finding (paritioning scheme native) partition types for file systems
from our install description, pass the partition type (not only the file
system type). Sometimes (e.g. EFI boot partition on GPT) the filesystem
type (MSDOS) is not a unique selector.
Adapt MD parts to changes in get_fs_part_type (pass partition type).
If a fictious label has no RAW_PART assume there is no valid disk label.
Pass proper track size when initializing the default alignment - this is
important with sunlabels.
Fix overlapping partitions display
Reject (what we consider) empty/invalid fake disklabels no matter whether
we have other partitioning schemes available or not.
Do not show disklabel command invocation by default (only if there are
errors).
After installing boot blocks with RUN_NO_CLEAR (and handling the
potential errors) make sure to clear the stdscreen.
 1.2 13-Jun-2019  martin Remove GPT and extended partitioning support on size restrained install
media.
 1.1 26-Jul-2014  dholland branches: 1.1.2; 1.1.6; 1.1.28;
Move sysinst sources to usr.sbin.

This commit only physically moves the sources - there are no other
changes, to maximize the probability that this will be treated as a
rename if we ever do manage to migrate away from CVS.

Moving sysinst has been discussed on and off for years and has two
goals: making it easier to work on sysinst, and also making sysinst
available on running systems for use installing chroots and VM images
and other such things. None of the latter is possible yet, but as they
say, one thing at a time.

Doing this now was approved in an impromptu fashion by mrg, riz,
riastradh, me, and groo.
 1.1.28.1 13-Apr-2020  martin Mostly merge changes from HEAD upto 20200411
 1.1.6.2 20-Aug-2014  tls Rebase to HEAD as of a few days ago.
 1.1.6.1 26-Jul-2014  tls file Makefile was added on branch tls-maxphys on 2014-08-20 00:05:14 +0000
 1.1.2.2 10-Aug-2014  tls Rebase.
 1.1.2.1 26-Jul-2014  tls file Makefile was added on branch tls-earlyentropy on 2014-08-10 07:00:24 +0000
 1.8 29-Jan-2022  martin When upgrading, update the boot code post extraction from
the updated target file system.
 1.7 12-Oct-2020  martin PR 55536: when we find existing partition tables and have alternative
formats available, offer to delete partitions and create new ones from
scratch (in some other or the same on-disk format).
 1.6 29-Sep-2020  msaitoh s/occurence/occurrence/
 1.5 13-Jul-2019  martin branches: 1.5.2;
We may call md_pre_mount() multiple times for the same install set,
so pass an additional index argument so MD code knows which part
of the install will be mounted next.
 1.4 12-Jun-2019  martin Rework internal data structures and "interfaces to user interface" functions
to get rid of all disklabel assumptions.

Previously (even for GPT partitioning) struct disklabel was used, which
obviously breaks large disk setups. Also many MD parts and parts of the
user interface assumed (a) a struct disklabel is used internally to
store partitioning information and (b) partitions are named 'a' ... $MAXPART.

Get rid of this and replace it with a quite abstract interface that should
be able to deal with all variants in partition storage:

- partitions are stored in a (partly abstract) struct disk_partitions
and most parts of it are only accessed via accessor functions provided
by a "partitioning scheme".

- implement partitioning schemes for MBR, disklabel and GPT (with likely
RDB [amiga] and Apple Partition Map [mac*] to follow soon)

- partitioning schemes may be cascaded, e.g. on x86 when using MBR as
"outer partitions", we have disklabel as "inner partitions".

- all user interface goes via accessor functions in the partitioning scheme,
some of which return pointers to special user interface descriptors
(e.g. to allow editing partition flags, which are scheme specific)

Overall the user interface changes (in this initial step) are minimal but
noticable. A new Anita is needed for automatic test setups - many thanks
to Andreas Gustafsson for lots of early testing and a new Anita version,
and to Manuel Bouyer for cooperation and tests of the Anita release.

This work was sponsored by The NetBSD Foundation, Inc.
 1.3 24-Jan-2018  skrll branches: 1.3.4;
Remove port-acorn26

OK core@
 1.2 03-Aug-2014  martin branches: 1.2.2; 1.2.6;
(Finally) merge a slightly modified version of the 2012 GSoC results
from Eugene Lozovoy: add extended partitioning options to sysinst.
Still needs some testing and polishing, but it now is possible to use GPT
or to create a RAID set from scratch and install onto it.
 1.1 26-Jul-2014  dholland Move sysinst sources to usr.sbin.

This commit only physically moves the sources - there are no other
changes, to maximize the probability that this will be treated as a
rename if we ever do manage to migrate away from CVS.

Moving sysinst has been discussed on and off for years and has two
goals: making it easier to work on sysinst, and also making sysinst
available on running systems for use installing chroots and VM images
and other such things. None of the latter is possible yet, but as they
say, one thing at a time.

Doing this now was approved in an impromptu fashion by mrg, riz,
riastradh, me, and groo.
 1.2.6.2 20-Aug-2014  tls Rebase to HEAD as of a few days ago.
 1.2.6.1 03-Aug-2014  tls file md.c was added on branch tls-maxphys on 2014-08-20 00:05:14 +0000
 1.2.2.2 10-Aug-2014  tls Rebase.
 1.2.2.1 03-Aug-2014  tls file md.c was added on branch tls-earlyentropy on 2014-08-10 07:00:24 +0000
 1.3.4.1 13-Apr-2020  martin Mostly merge changes from HEAD upto 20200411
 1.5.2.2 02-Feb-2022  msaitoh Pull up following revision(s) (requested by martin in ticket #1422):
usr.sbin/sysinst/util.c: revision 1.64
usr.sbin/sysinst/arch/hpcsh/md.c: revision 1.11
usr.sbin/sysinst/arch/alpha/md.c: revision 1.10
usr.sbin/sysinst/arch/sparc64/md.c: revision 1.7
usr.sbin/sysinst/arch/emips/md.c: revision 1.10
usr.sbin/sysinst/arch/cobalt/md.c: revision 1.15
usr.sbin/sysinst/arch/x68k/md.c: revision 1.12
usr.sbin/sysinst/arch/sandpoint/md.c: revision 1.10
usr.sbin/sysinst/arch/luna68k/md.c: revision 1.10
usr.sbin/sysinst/arch/hp300/md.c: revision 1.12
usr.sbin/sysinst/arch/vax/md.c: revision 1.8
usr.sbin/sysinst/arch/hpcmips/md.c: revision 1.10
usr.sbin/sysinst/target.c: revision 1.16
usr.sbin/sysinst/arch/mvme68k/md.c: revision 1.12
usr.sbin/sysinst/arch/arc/md.c: revision 1.14
usr.sbin/sysinst/target.c: revision 1.17
usr.sbin/sysinst/arch/i386/md.c: revision 1.34
usr.sbin/sysinst/arch/mac68k/md.c: revision 1.11
usr.sbin/sysinst/arch/atari/md.c: revision 1.8
usr.sbin/sysinst/arch/sgimips/md.c: revision 1.10
usr.sbin/sysinst/arch/acorn32/md.c: revision 1.8
usr.sbin/sysinst/install.c: revision 1.22
usr.sbin/sysinst/arch/amiga/md.c: revision 1.7
usr.sbin/sysinst/arch/cats/md.c: revision 1.6
usr.sbin/sysinst/arch/dummy/md.c: revision 1.7
usr.sbin/sysinst/arch/shark/md.c: revision 1.7
usr.sbin/sysinst/arch/pmax/md.c: revision 1.9
usr.sbin/sysinst/arch/newsmips/md.c: revision 1.7
usr.sbin/sysinst/arch/mipsco/md.c: revision 1.9
usr.sbin/sysinst/arch/landisk/md.c: revision 1.15
usr.sbin/sysinst/arch/hppa/md.c: revision 1.9
usr.sbin/sysinst/arch/prep/md.c: revision 1.14
usr.sbin/sysinst/defs.h: revision 1.77
usr.sbin/sysinst/arch/ofppc/md.c: revision 1.13
usr.sbin/sysinst/arch/ews4800mips/md.c: revision 1.8
usr.sbin/sysinst/defs.h: revision 1.78
usr.sbin/sysinst/arch/macppc/md.c: revision 1.7
usr.sbin/sysinst/arch/evbppc/md.c: revision 1.10
usr.sbin/sysinst/defs.h: revision 1.79
usr.sbin/sysinst/gpt.c: revision 1.27
usr.sbin/sysinst/arch/bebox/md.c: revision 1.10
usr.sbin/sysinst/gpt.c: revision 1.28
usr.sbin/sysinst/arch/sparc/md.c: revision 1.7
usr.sbin/sysinst/arch/evbsh3/md.c: revision 1.7
usr.sbin/sysinst/arch/evbarm/md.c: revision 1.22
usr.sbin/sysinst/arch/news68k/md.c: revision 1.8
usr.sbin/sysinst/upgrade.c: revision 1.19
usr.sbin/sysinst/arch/zaurus/md.c: revision 1.12
usr.sbin/sysinst/arch/playstation2/md.c: revision 1.10
usr.sbin/sysinst/arch/hpcarm/md.c: revision 1.11
usr.sbin/sysinst/arch/evbmips/md.c: revision 1.10
usr.sbin/sysinst/main.c: revision 1.28
Add an option to set the directory where we look for message catalogs.
Try to get rid of all wedges we created (after unmounting).
When upgrading, update the boot code post extraction from
the updated target file system.
Do not defer wedge deletions when we have nothing mounted.
Define and use a constant for maximum disk name length.
 1.5.2.1 15-Oct-2020  bouyer Pull up following revision(s) (requested by martin in ticket #1113):
usr.sbin/sysinst/bsddisklabel.c: revision 1.46
usr.sbin/sysinst/bsddisklabel.c: revision 1.47
usr.sbin/sysinst/disklabel.c: revision 1.40
usr.sbin/sysinst/arch/cobalt/md.c: revision 1.13
usr.sbin/sysinst/bsddisklabel.c: revision 1.48
usr.sbin/sysinst/disklabel.c: revision 1.41
usr.sbin/sysinst/arch/cobalt/md.c: revision 1.14
usr.sbin/sysinst/bsddisklabel.c: revision 1.49
usr.sbin/sysinst/disklabel.c: revision 1.42
usr.sbin/sysinst/Makefile.inc: revision 1.34
usr.sbin/sysinst/disks.c: revision 1.70
usr.sbin/sysinst/arch/hp300/md.c: revision 1.11
usr.sbin/sysinst/disks.c: revision 1.71
usr.sbin/sysinst/arch/i386/md.h: revision 1.8
usr.sbin/sysinst/arch/arc/md.c: revision 1.13
usr.sbin/sysinst/mbr.h: revision 1.5
usr.sbin/sysinst/mbr.h: revision 1.6
usr.sbin/sysinst/arch/mac68k/md.c: revision 1.10
usr.sbin/sysinst/bsddisklabel.c: revision 1.50
usr.sbin/sysinst/arch/acorn32/md.c: revision 1.7
usr.sbin/sysinst/bsddisklabel.c: revision 1.51
usr.sbin/sysinst/bsddisklabel.c: revision 1.52
usr.sbin/sysinst/bsddisklabel.c: revision 1.53
usr.sbin/sysinst/bsddisklabel.c: revision 1.54
usr.sbin/sysinst/bsddisklabel.c: revision 1.55
usr.sbin/sysinst/bsddisklabel.c: revision 1.56
usr.sbin/sysinst/arch/dummy/md.c: revision 1.6
usr.sbin/sysinst/arch/amd64/md.h: revision 1.9
usr.sbin/sysinst/arch/evbsh3/md.c: revision 1.6
usr.sbin/sysinst/arch/sparc/md.c: revision 1.6
usr.sbin/sysinst/arch/zaurus/md.c: revision 1.10
usr.sbin/sysinst/arch/x68k/md.c: revision 1.11
usr.sbin/sysinst/arch/sandpoint/md.c: revision 1.9
usr.sbin/sysinst/arch/vax/md.c: revision 1.7
usr.sbin/sysinst/arch/luna68k/md.c: revision 1.9
usr.sbin/sysinst/gpt.c: revision 1.19
usr.sbin/sysinst/arch/i386/md.c: revision 1.31
usr.sbin/sysinst/arch/i386/md.c: revision 1.32
usr.sbin/sysinst/arch/evbarm/md.c: revision 1.17
usr.sbin/sysinst/arch/evbarm/md.c: revision 1.18
usr.sbin/sysinst/arch/evbarm/md.c: revision 1.19
usr.sbin/sysinst/arch/shark/md.c: revision 1.6
usr.sbin/sysinst/arch/landisk/md.c: revision 1.14
usr.sbin/sysinst/util.c: revision 1.43
usr.sbin/sysinst/gpt.c: revision 1.20
usr.sbin/sysinst/util.c: revision 1.44
usr.sbin/sysinst/gpt.c: revision 1.21
usr.sbin/sysinst/gpt.c: revision 1.22
usr.sbin/sysinst/arch/evbarm/msg.md.en: revision 1.2
usr.sbin/sysinst/arch/ofppc/md.c: revision 1.11
usr.sbin/sysinst/util.c: revision 1.46
usr.sbin/sysinst/arch/ofppc/md.c: revision 1.12
usr.sbin/sysinst/util.c: revision 1.47
usr.sbin/sysinst/arch/evbarm/md.h: revision 1.6
usr.sbin/sysinst/util.c: revision 1.48
usr.sbin/sysinst/arch/evbarm/md.h: revision 1.7
usr.sbin/sysinst/arch/evbmips/md.c: revision 1.9
usr.sbin/sysinst/msg.mi.fr: revision 1.28
usr.sbin/sysinst/msg.mi.fr: revision 1.29
usr.sbin/sysinst/arch/sgimips/md.c: revision 1.9
usr.sbin/sysinst/arch/evbarm/Makefile: revision 1.3
usr.sbin/sysinst/msg.mi.de: revision 1.23
usr.sbin/sysinst/arch/hpcsh/md.c: revision 1.10
usr.sbin/sysinst/msg.mi.de: revision 1.24
usr.sbin/sysinst/install.c: revision 1.15
usr.sbin/sysinst/install.c: revision 1.16
usr.sbin/sysinst/arch/sparc64/md.c: revision 1.6
usr.sbin/sysinst/install.c: revision 1.17
usr.sbin/sysinst/install.c: revision 1.18
usr.sbin/sysinst/partitions.h: revision 1.16
usr.sbin/sysinst/install.c: revision 1.19
usr.sbin/sysinst/partitions.h: revision 1.17
usr.sbin/sysinst/arch/evbppc/md.c: revision 1.9
usr.sbin/sysinst/arch/playstation2/md.c: revision 1.9
usr.sbin/sysinst/partitions.h: revision 1.18
usr.sbin/sysinst/arch/hpcarm/md.c: revision 1.9
usr.sbin/sysinst/partitions.h: revision 1.19
usr.sbin/sysinst/msg.mi.es: revision 1.24
usr.sbin/sysinst/msg.mi.es: revision 1.25
usr.sbin/sysinst/msg.mi.es: revision 1.26
usr.sbin/sysinst/arch/zaurus/md.c: revision 1.9
usr.sbin/sysinst/target.c: revision 1.13
usr.sbin/sysinst/target.c: revision 1.14
usr.sbin/sysinst/part_edit.c: revision 1.17
usr.sbin/sysinst/part_edit.c: revision 1.18
usr.sbin/sysinst/msg.mi.fr: revision 1.30
usr.sbin/sysinst/arch/mvme68k/md.c: revision 1.11
usr.sbin/sysinst/part_edit.c: revision 1.19
usr.sbin/sysinst/msg.mi.fr: revision 1.31
usr.sbin/sysinst/arch/alpha/md.c: revision 1.9
usr.sbin/sysinst/msg.mi.en: revision 1.30
usr.sbin/sysinst/defs.h: revision 1.56
usr.sbin/sysinst/msg.mi.en: revision 1.31
usr.sbin/sysinst/defs.h: revision 1.57
usr.sbin/sysinst/msg.mi.en: revision 1.32
usr.sbin/sysinst/arch/amiga/md.c: revision 1.6
usr.sbin/sysinst/arch/hpcmips/md.c: revision 1.9
usr.sbin/sysinst/defs.h: revision 1.58
usr.sbin/sysinst/arch/cats/md.c: revision 1.5
usr.sbin/sysinst/defs.h: revision 1.59
usr.sbin/sysinst/arch/newsmips/md.c: revision 1.6
usr.sbin/sysinst/arch/pmax/md.c: revision 1.8
usr.sbin/sysinst/arch/mipsco/md.c: revision 1.8
usr.sbin/sysinst/part_edit.c: revision 1.20
usr.sbin/sysinst/part_edit.c: revision 1.21
usr.sbin/sysinst/arch/macppc/md.c: revision 1.6
usr.sbin/sysinst/part_edit.c: revision 1.22
usr.sbin/sysinst/part_edit.c: revision 1.23
usr.sbin/sysinst/part_edit.c: revision 1.24
usr.sbin/sysinst/defs.h: revision 1.60
usr.sbin/sysinst/arch/mac68k/Makefile: revision 1.3
usr.sbin/sysinst/defs.h: revision 1.61
usr.sbin/sysinst/defs.h: revision 1.63
usr.sbin/sysinst/defs.h: revision 1.64
usr.sbin/sysinst/defs.h: revision 1.65
usr.sbin/sysinst/label.c: revision 1.21
usr.sbin/sysinst/defs.h: revision 1.66
usr.sbin/sysinst/label.c: revision 1.22
usr.sbin/sysinst/defs.h: revision 1.67
usr.sbin/sysinst/label.c: revision 1.23
usr.sbin/sysinst/label.c: revision 1.24
usr.sbin/sysinst/label.c: revision 1.25
usr.sbin/sysinst/label.c: revision 1.26
usr.sbin/sysinst/label.c: revision 1.27
usr.sbin/sysinst/msg.mi.pl: revision 1.31
usr.sbin/sysinst/label.c: revision 1.28
usr.sbin/sysinst/msg.mi.pl: revision 1.32
usr.sbin/sysinst/label.c: revision 1.29
usr.sbin/sysinst/arch/atari/md.c: revision 1.7
usr.sbin/sysinst/disklabel.c: revision 1.36
usr.sbin/sysinst/disklabel.c: revision 1.37
usr.sbin/sysinst/disklabel.c: revision 1.38
usr.sbin/sysinst/disklabel.c: revision 1.39
usr.sbin/sysinst/arch/bebox/md.c: revision 1.9
usr.sbin/sysinst/mbr.c: revision 1.32
usr.sbin/sysinst/disks.c: revision 1.66
usr.sbin/sysinst/mbr.c: revision 1.33
usr.sbin/sysinst/disks.c: revision 1.67
usr.sbin/sysinst/mbr.c: revision 1.34
usr.sbin/sysinst/arch/emips/md.c: revision 1.9
usr.sbin/sysinst/disks.c: revision 1.68
usr.sbin/sysinst/partitions.c: revision 1.11
usr.sbin/sysinst/mbr.c: revision 1.35
usr.sbin/sysinst/disks.c: revision 1.69
usr.sbin/sysinst/mbr.c: revision 1.36
usr.sbin/sysinst/arch/hppa/md.c: revision 1.8
usr.sbin/sysinst/arch/prep/md.c: revision 1.13
usr.sbin/sysinst/label.c: revision 1.30
usr.sbin/sysinst/arch/ews4800mips/md.c: revision 1.7
usr.sbin/sysinst/main.c: revision 1.21
usr.sbin/sysinst/main.c: revision 1.22
usr.sbin/sysinst/main.c: revision 1.23
usr.sbin/sysinst/bsddisklabel.c: revision 1.40
usr.sbin/sysinst/main.c: revision 1.24
usr.sbin/sysinst/arch/cobalt/md.h: revision 1.6
usr.sbin/sysinst/bsddisklabel.c: revision 1.41
usr.sbin/sysinst/main.c: revision 1.25
usr.sbin/sysinst/arch/news68k/md.c: revision 1.7
usr.sbin/sysinst/bsddisklabel.c: revision 1.42
usr.sbin/sysinst/bsddisklabel.c: revision 1.43
usr.sbin/sysinst/bsddisklabel.c: revision 1.44
usr.sbin/sysinst/bsddisklabel.c: revision 1.45
Use strlcpy in a few places to guarnatee 0-terminated strings
Rever previous: the d_packname in struct disklabel is not NUL terminated.
Disable the warning instead.
Do not force -Os optimization (unless SMALLPROG)
Remove unused "rel" global variable and make the -r option a no-op.
PR 55045: strlcpy(NULL, ..., 0) considered harmfull in some implementations.
PR misc/54886: bump threshold for automatic/default creation of a tmpfs /tmp
up slightly (to 384 MB ram). This will make sure the default install has
a > 64 MB /tmp available (number pulled out of thin air, 64 MB is the minimum
required by the ZFS tests).
Don't depend on common symbol definitions.
boardype should not be common.
Redo the root-size-limit check again after we grew the root partition
for kernel dumps. Auto-enable the /usr partition if it overflows.
For all non-root partitions, default to FFSv2.
When extending a partition (to fill the total disk size) do respect
size limits.
Do not suggest a size limited partition for extension by default.
Minor tweak to previous: when forcing a /usr partition just to have an
arbitrary extendable partition, still use its default size initially.
At the end of a new installation save entropy.
Ooops, backout previous - twice the entropy saving is not needed.
Instead slightly improve the (slightly) hidden other code that already
did it.
PR 55202: disable swapping if we started it due to low ram
it's "its"
Remove "If you booted from a floppy" message
Set HAVE_INSTALL_IMAGE for evbarm
Change mountpoint of boot ext2fs from /stand to /ext2 to avoid conflict.
Should be pulled up to netbsd-9, with fixes of PR/55060.
MBR type for Ext2 should be MBR_PTYPE_LNXEXT2, not MBR_PTYPE_FAT12.
Silence -Wstringop-truncation for ``name'' in disp_selected_part().
This variable is used only for display, and truncation seems harmless.
PR 55572: avoid crash when answering the mount point prompt for a previously
empty mount point with an emptry sting.
When adding a new partition in the concrete partition editor, make sure
to set a pointer to the partition table interface in the new entry.
Otherwise we may end up not writing back the partitions at all, leading
to further fallout later.
Receipe to reproduce the issue from Frederic Fauberteau, thanks!
In the concrete partitions editor, after deleting the last partition move
the menu selection to the "add a partition" entry (instead of the sentinel
line which is not an active menu entry).
Typo in comment
Keep a list of all partition tables from which we have deleted partitions
and make sure we update those partition tables when writing partitions,
even if no install related partition remains on them.
Fix display of timezone selection menu
If there is no current partitioning manager assume we are editing the
current system and make target_already_root() return true.
Fixes various fallout when using sysinst post installation.
PR 55377: mark boot partitions in the partition size display, as suggested
by Izumi Tsutsui (minor modifications + all bugs by me)
PR 55378: do not assume RAW_PART to be either 2 or 3
PR 55379: avoid creating bogus /etc/fstab lines for /dev/cd* if no
cdrom is available.
PR 55381: try to deal with moved (but not yet saved) partitions when
calculating free space
Apply patch provided by Izumi Tsutsui in PR 55382: make ext2 partitions
show up in the outer (MBR) partition table, needed for example on Cobalt
where firmware boots from that partition.
PR 55384: detangle pm->ptstart from the "install" flag (selecting a
target partition). Instead introduce a new PTI_INSTALL_TARGET per partition
flag and deal with it in the partitioning backends.
Honour pm->ptstart when allocating new partitions - it is supposed to be
the first sector usable by NetBSD.
If we have no explicitly marke target root partition, make sure to set
the proper flag on the implicit one.
When merging existing partitions with desired target system layout
information, only force the "mount" flag if the existing partitions
has a valid mount point.
Add a heuristic to detect and properly mark EFI system partitions
when re-using pre-existing partitions.
When MD code requests a reserved area (at the start of the disk)
make sure to properly account for the "lost" space during all calculations
and especially when expanding the main partition to fill the disk.
Avoid using the global "pm" or a passed device descriptons when we are
passing disk limits explicitly anyway.
Simplify/fix a few rounding calculations.
When creating new partitions for "full disk" use, pass a install target
hint to the partitioning backend (for the outer NetBSD partition).
Use an install target hint to mark a new partition active.
When compiled with BOOTSEL support, also name the new partition "NetBSD".
Remove more pm->ptstart abuse - calculate values localy where needed
instead.
Fix editing start and size of not yet existing outer partitions.
Previously we abused pm->ptstart / pm->ptsize to pass the bounds of the
NetBSD outer partition to the inner partition editor - but now this is
not a valid assumption any more, so explicitly fix the bounds if an
outer partition exists.
Remove very strange code that special-cased MSDOS file systems and refused
to newfs the partition (despite explicit request to do so) if it was
mountable.
Accidently carried over from a dim and distant past, before we had
fsck_newfs.
PR 55536: when we find existing partition tables and have alternative
formats available, offer to delete partitions and create new ones from
scratch (in some other or the same on-disk format).
Minor fix to previous: fix condition when we offer the partition type
switch - it makes sense even if the disk is partitioned but has no valid
partitions.
Before forcing MBR partitions into our disklabel, make sure they are not
there yet - could happen in various paths when reusing existing partitions
(or parts of that) - previously we would blindly duplicate identical
partitions.
Ooops, part of previous was not meant to be included yet
When renumbering partitions (after deletions) be slightly more lax
in matching, to cope with differences between MBR EFI partitions and
disklabel MSDOS partitions.
PR 55142: on popular demand bring back expert options to adjust the
number of free inodes, block size and fragment size for FFS and LFS.
Fix copy & pasto noticed by Jason Mitchell: change the type of a GPT
partition via "gpt type" - not "gpt label".
Fix copy & pasto (missing "again" label)
Remove dead code
Move MBR writing (if any) post disklabel writing, otherwise strange
interactions happen.
Properly convert partition default sizes in MB to number of sectors
 1.4 26-Apr-2025  tsutsui Remove obsolete MD 'PART_(ROOT|SWAP|BSD|RAW|USR|REST|FIRST_FREE)' defines.

Patch from Miod Vallat.
 1.3 02-Oct-2019  maya branches: 1.3.10;
Split out /rescue to its own set and adapt installers/images to add it.

This is meant to make updates safer: if something goes wrong with updating
base, we still have the old, standalone /rescue to recover from.
 1.2 18-Nov-2018  martin branches: 1.2.2;
More size estimate fixes
 1.1 26-Jul-2014  dholland branches: 1.1.2; 1.1.6; 1.1.26; 1.1.28;
Move sysinst sources to usr.sbin.

This commit only physically moves the sources - there are no other
changes, to maximize the probability that this will be treated as a
rename if we ever do manage to migrate away from CVS.

Moving sysinst has been discussed on and off for years and has two
goals: making it easier to work on sysinst, and also making sysinst
available on running systems for use installing chroots and VM images
and other such things. None of the latter is possible yet, but as they
say, one thing at a time.

Doing this now was approved in an impromptu fashion by mrg, riz,
riastradh, me, and groo.
 1.1.28.2 13-Apr-2020  martin Mostly merge changes from HEAD upto 20200411
 1.1.28.1 10-Jun-2019  christos Sync with HEAD
 1.1.26.1 26-Nov-2018  pgoyette Sync with HEAD, resolve a couple of conflicts
 1.1.6.2 20-Aug-2014  tls Rebase to HEAD as of a few days ago.
 1.1.6.1 26-Jul-2014  tls file md.h was added on branch tls-maxphys on 2014-08-20 00:05:14 +0000
 1.1.2.2 10-Aug-2014  tls Rebase.
 1.1.2.1 26-Jul-2014  tls file md.h was added on branch tls-earlyentropy on 2014-08-10 07:00:24 +0000
 1.2.2.1 17-Nov-2019  martin Pull up following revision(s) (requested by maya in ticket #435):

distrib/sets/maketars: revision 1.90
usr.sbin/sysinst/arch/playstation2/md.h: revision 1.2
usr.sbin/sysinst/arch/sandpoint/md.h: revision 1.3
usr.sbin/sysinst/arch/evbppc/md.h: revision 1.3
usr.sbin/sysinst/arch/hpcarm/md.h: revision 1.3
usr.sbin/sysinst/arch/mvme68k/md.h: revision 1.3
distrib/sun3/MakeInstTape: revision 1.3
usr.sbin/sysinst/util.c: revision 1.33
distrib/sets/lists/rescue/mi: revision 1.1
distrib/sets/lists/base/rescue.sun2: file removal
usr.sbin/sysinst/arch/zaurus/md.h: revision 1.3
distrib/sets/lists/base/rescue.ad.m68k.shl: file removal
distrib/sets/regpkgset: revision 1.13
usr.sbin/sysinst/arch/i386/md.h: revision 1.7
distrib/sets/lists/base/rescue.sparc: file removal
distrib/notes/mvme68k/xfer: revision 1.19
distrib/sets/sets.subr: revision 1.187
distrib/common/bootimage/Makefile.bootimage: revision 1.22
usr.sbin/sysinst/msg.mi.de: revision 1.16
usr.sbin/sysinst/arch/atari/md.h: revision 1.3
rescue/Makefile: revision 1.38
distrib/sets/lists/base/rescue.macppc: file removal
usr.sbin/sysinst/arch/arc/md.h: revision 1.4
distrib/miniroot/install.sub: revision 1.49
usr.sbin/sysinst/arch/acorn32/md.h: revision 1.3
usr.sbin/sysinst/arch/x68k/md.h: revision 1.3
usr.sbin/sysinst/arch/hpcmips/md.h: revision 1.3
usr.sbin/sysinst/arch/bebox/md.h: revision 1.3
usr.sbin/sysinst/arch/hpcsh/md.h: revision 1.2
distrib/sets/lists/base/rescue.shark: file removal
usr.sbin/sysinst/arch/emips/md.h: revision 1.5
distrib/utils/embedded/mkimage: revision 1.70
usr.sbin/sysinst/arch/shark/md.h: revision 1.3
usr.sbin/sysinst/arch/pmax/md.h: revision 1.4
usr.sbin/sysinst/arch/amiga/md.h: revision 1.4
usr.sbin/sysinst/arch/hp300/md.h: revision 1.5
rescue/list.ldconfig: file removal
distrib/sets/lists/base/rescue.ad.m68k: file removal
usr.sbin/sysinst/arch/prep/md.h: revision 1.4
usr.sbin/sysinst/arch/cats/md.h: revision 1.4
usr.sbin/sysinst/arch/amd64/md.h: revision 1.7
usr.sbin/sysinst/msg.mi.es: revision 1.17
usr.sbin/sysinst/msg.mi.fr: revision 1.20
usr.sbin/sysinst/msg.mi.pl: revision 1.23
distrib/sets/lists/base/rescue.i386: file removal
usr.sbin/sysinst/arch/evbarm/md.h: revision 1.3
distrib/sets/lists/base/rescue.vax: file removal
distrib/amd64/uefi-installimage/Makefile.bootimage: revision 1.12
usr.sbin/sysinst/arch/evbmips/md.h: revision 1.3
distrib/sets/lists/base/rescue.mi: file removal
distrib/sets/README: revision 1.14
usr.sbin/sysinst/arch/sgimips/md.h: revision 1.4
distrib/sets/lists/base/rescue.sparc64: file removal
distrib/sets/lists/base/rescue.mi: revision 1.45
distrib/sets/lists/base/rescue.mi: revision 1.46
usr.sbin/sysinst/arch/ofppc/md.h: revision 1.4
usr.sbin/sysinst/arch/cobalt/md.h: revision 1.4
distrib/sets/lists/base/rescue.ad.arm: file removal
distrib/sets/lists/base/rescue.mac68k: file removal
usr.sbin/sysinst/defs.h: revision 1.45
usr.sbin/sysinst/arch/landisk/md.h: revision 1.2
distrib/notes/atari/xfer: revision 1.17
etc/Makefile: revision 1.441
usr.sbin/sysinst/msg.mi.en: revision 1.22
distrib/sun2/MakeInstTape: revision 1.2

Remove ldconfig from /rescue, and mark it MI obsolete.
- ldconfig in netbsd refers to a.out binaries only. We've been ELF-only
since NetBSD 2.0 or so, and having it in /rescue served little purpose
even before that, as /rescue is standalone.
- Using MI obsolete to avoid the need for MD set lists where ldconfig
is the sole entry

Mark /rescue/edlabel as MI-obsolete, so we can remove all remaining MD
rescue set list files.

Split out /rescue to its own set and adapt installers/images to add it.

This is meant to make updates safer: if something goes wrong with updating
base, we still have the old, standalone /rescue to recover from.
 1.3.10.1 02-Aug-2025  perseant Sync with HEAD
 1.1 26-Jul-2014  dholland branches: 1.1.2; 1.1.6;
Move sysinst sources to usr.sbin.

This commit only physically moves the sources - there are no other
changes, to maximize the probability that this will be treated as a
rename if we ever do manage to migrate away from CVS.

Moving sysinst has been discussed on and off for years and has two
goals: making it easier to work on sysinst, and also making sysinst
available on running systems for use installing chroots and VM images
and other such things. None of the latter is possible yet, but as they
say, one thing at a time.

Doing this now was approved in an impromptu fashion by mrg, riz,
riastradh, me, and groo.
 1.1.6.2 20-Aug-2014  tls Rebase to HEAD as of a few days ago.
 1.1.6.1 26-Jul-2014  tls file menus.md.en was added on branch tls-maxphys on 2014-08-20 00:05:14 +0000
 1.1.2.2 10-Aug-2014  tls Rebase.
 1.1.2.1 26-Jul-2014  tls file menus.md.en was added on branch tls-earlyentropy on 2014-08-10 07:00:24 +0000
 1.1 26-Jul-2014  dholland branches: 1.1.2; 1.1.6;
Move sysinst sources to usr.sbin.

This commit only physically moves the sources - there are no other
changes, to maximize the probability that this will be treated as a
rename if we ever do manage to migrate away from CVS.

Moving sysinst has been discussed on and off for years and has two
goals: making it easier to work on sysinst, and also making sysinst
available on running systems for use installing chroots and VM images
and other such things. None of the latter is possible yet, but as they
say, one thing at a time.

Doing this now was approved in an impromptu fashion by mrg, riz,
riastradh, me, and groo.
 1.1.6.2 20-Aug-2014  tls Rebase to HEAD as of a few days ago.
 1.1.6.1 26-Jul-2014  tls file menus.md.es was added on branch tls-maxphys on 2014-08-20 00:05:14 +0000
 1.1.2.2 10-Aug-2014  tls Rebase.
 1.1.2.1 26-Jul-2014  tls file menus.md.es was added on branch tls-earlyentropy on 2014-08-10 07:00:24 +0000
 1.1 26-Jul-2014  dholland branches: 1.1.2; 1.1.6;
Move sysinst sources to usr.sbin.

This commit only physically moves the sources - there are no other
changes, to maximize the probability that this will be treated as a
rename if we ever do manage to migrate away from CVS.

Moving sysinst has been discussed on and off for years and has two
goals: making it easier to work on sysinst, and also making sysinst
available on running systems for use installing chroots and VM images
and other such things. None of the latter is possible yet, but as they
say, one thing at a time.

Doing this now was approved in an impromptu fashion by mrg, riz,
riastradh, me, and groo.
 1.1.6.2 20-Aug-2014  tls Rebase to HEAD as of a few days ago.
 1.1.6.1 26-Jul-2014  tls file menus.md.fr was added on branch tls-maxphys on 2014-08-20 00:05:14 +0000
 1.1.2.2 10-Aug-2014  tls Rebase.
 1.1.2.1 26-Jul-2014  tls file menus.md.fr was added on branch tls-earlyentropy on 2014-08-10 07:00:24 +0000
 1.1 26-Jul-2014  dholland branches: 1.1.2; 1.1.6;
Move sysinst sources to usr.sbin.

This commit only physically moves the sources - there are no other
changes, to maximize the probability that this will be treated as a
rename if we ever do manage to migrate away from CVS.

Moving sysinst has been discussed on and off for years and has two
goals: making it easier to work on sysinst, and also making sysinst
available on running systems for use installing chroots and VM images
and other such things. None of the latter is possible yet, but as they
say, one thing at a time.

Doing this now was approved in an impromptu fashion by mrg, riz,
riastradh, me, and groo.
 1.1.6.2 20-Aug-2014  tls Rebase to HEAD as of a few days ago.
 1.1.6.1 26-Jul-2014  tls file menus.md.pl was added on branch tls-maxphys on 2014-08-20 00:05:14 +0000
 1.1.2.2 10-Aug-2014  tls Rebase.
 1.1.2.1 26-Jul-2014  tls file menus.md.pl was added on branch tls-earlyentropy on 2014-08-10 07:00:24 +0000
 1.1 26-Jul-2014  dholland branches: 1.1.2; 1.1.6;
Move sysinst sources to usr.sbin.

This commit only physically moves the sources - there are no other
changes, to maximize the probability that this will be treated as a
rename if we ever do manage to migrate away from CVS.

Moving sysinst has been discussed on and off for years and has two
goals: making it easier to work on sysinst, and also making sysinst
available on running systems for use installing chroots and VM images
and other such things. None of the latter is possible yet, but as they
say, one thing at a time.

Doing this now was approved in an impromptu fashion by mrg, riz,
riastradh, me, and groo.
 1.1.6.2 20-Aug-2014  tls Rebase to HEAD as of a few days ago.
 1.1.6.1 26-Jul-2014  tls file msg.md.de was added on branch tls-maxphys on 2014-08-20 00:05:14 +0000
 1.1.2.2 10-Aug-2014  tls Rebase.
 1.1.2.1 26-Jul-2014  tls file msg.md.de was added on branch tls-earlyentropy on 2014-08-10 07:00:24 +0000
 1.1 26-Jul-2014  dholland branches: 1.1.2; 1.1.6;
Move sysinst sources to usr.sbin.

This commit only physically moves the sources - there are no other
changes, to maximize the probability that this will be treated as a
rename if we ever do manage to migrate away from CVS.

Moving sysinst has been discussed on and off for years and has two
goals: making it easier to work on sysinst, and also making sysinst
available on running systems for use installing chroots and VM images
and other such things. None of the latter is possible yet, but as they
say, one thing at a time.

Doing this now was approved in an impromptu fashion by mrg, riz,
riastradh, me, and groo.
 1.1.6.2 20-Aug-2014  tls Rebase to HEAD as of a few days ago.
 1.1.6.1 26-Jul-2014  tls file msg.md.en was added on branch tls-maxphys on 2014-08-20 00:05:14 +0000
 1.1.2.2 10-Aug-2014  tls Rebase.
 1.1.2.1 26-Jul-2014  tls file msg.md.en was added on branch tls-earlyentropy on 2014-08-10 07:00:24 +0000
 1.1 26-Jul-2014  dholland branches: 1.1.2; 1.1.6;
Move sysinst sources to usr.sbin.

This commit only physically moves the sources - there are no other
changes, to maximize the probability that this will be treated as a
rename if we ever do manage to migrate away from CVS.

Moving sysinst has been discussed on and off for years and has two
goals: making it easier to work on sysinst, and also making sysinst
available on running systems for use installing chroots and VM images
and other such things. None of the latter is possible yet, but as they
say, one thing at a time.

Doing this now was approved in an impromptu fashion by mrg, riz,
riastradh, me, and groo.
 1.1.6.2 20-Aug-2014  tls Rebase to HEAD as of a few days ago.
 1.1.6.1 26-Jul-2014  tls file msg.md.es was added on branch tls-maxphys on 2014-08-20 00:05:14 +0000
 1.1.2.2 10-Aug-2014  tls Rebase.
 1.1.2.1 26-Jul-2014  tls file msg.md.es was added on branch tls-earlyentropy on 2014-08-10 07:00:24 +0000
 1.1 26-Jul-2014  dholland branches: 1.1.2; 1.1.6;
Move sysinst sources to usr.sbin.

This commit only physically moves the sources - there are no other
changes, to maximize the probability that this will be treated as a
rename if we ever do manage to migrate away from CVS.

Moving sysinst has been discussed on and off for years and has two
goals: making it easier to work on sysinst, and also making sysinst
available on running systems for use installing chroots and VM images
and other such things. None of the latter is possible yet, but as they
say, one thing at a time.

Doing this now was approved in an impromptu fashion by mrg, riz,
riastradh, me, and groo.
 1.1.6.2 20-Aug-2014  tls Rebase to HEAD as of a few days ago.
 1.1.6.1 26-Jul-2014  tls file msg.md.fr was added on branch tls-maxphys on 2014-08-20 00:05:14 +0000
 1.1.2.2 10-Aug-2014  tls Rebase.
 1.1.2.1 26-Jul-2014  tls file msg.md.fr was added on branch tls-earlyentropy on 2014-08-10 07:00:24 +0000
 1.1 26-Jul-2014  dholland branches: 1.1.2; 1.1.6;
Move sysinst sources to usr.sbin.

This commit only physically moves the sources - there are no other
changes, to maximize the probability that this will be treated as a
rename if we ever do manage to migrate away from CVS.

Moving sysinst has been discussed on and off for years and has two
goals: making it easier to work on sysinst, and also making sysinst
available on running systems for use installing chroots and VM images
and other such things. None of the latter is possible yet, but as they
say, one thing at a time.

Doing this now was approved in an impromptu fashion by mrg, riz,
riastradh, me, and groo.
 1.1.6.2 20-Aug-2014  tls Rebase to HEAD as of a few days ago.
 1.1.6.1 26-Jul-2014  tls file msg.md.pl was added on branch tls-maxphys on 2014-08-20 00:05:14 +0000
 1.1.2.2 10-Aug-2014  tls Rebase.
 1.1.2.1 26-Jul-2014  tls file msg.md.pl was added on branch tls-earlyentropy on 2014-08-10 07:00:24 +0000
 1.1 26-Jul-2014  dholland branches: 1.1.2; 1.1.6;
Move sysinst sources to usr.sbin.

This commit only physically moves the sources - there are no other
changes, to maximize the probability that this will be treated as a
rename if we ever do manage to migrate away from CVS.

Moving sysinst has been discussed on and off for years and has two
goals: making it easier to work on sysinst, and also making sysinst
available on running systems for use installing chroots and VM images
and other such things. None of the latter is possible yet, but as they
say, one thing at a time.

Doing this now was approved in an impromptu fashion by mrg, riz,
riastradh, me, and groo.
 1.1.6.2 20-Aug-2014  tls Rebase to HEAD as of a few days ago.
 1.1.6.1 26-Jul-2014  tls file Makefile was added on branch tls-maxphys on 2014-08-20 00:05:14 +0000
 1.1.2.2 10-Aug-2014  tls Rebase.
 1.1.2.1 26-Jul-2014  tls file Makefile was added on branch tls-earlyentropy on 2014-08-10 07:00:24 +0000
 1.10 29-Jan-2022  martin When upgrading, update the boot code post extraction from
the updated target file system.
 1.9 12-Oct-2020  martin PR 55536: when we find existing partition tables and have alternative
formats available, offer to delete partitions and create new ones from
scratch (in some other or the same on-disk format).
 1.8 09-Mar-2020  martin The (unused) md_pre_disklabel() function needs to return success, otherwise
all installations will be aborted.
 1.7 15-Dec-2019  martin After installing boot blocks with RUN_NO_CLEAR (and handling the
potential errors) make sure to clear the stdscreen.
 1.6 13-Jul-2019  martin branches: 1.6.2;
We may call md_pre_mount() multiple times for the same install set,
so pass an additional index argument so MD code knows which part
of the install will be mounted next.
 1.5 20-Jun-2019  christos Use _fmt_ msg_ methods when formats are needed.
 1.4 12-Jun-2019  martin Rework internal data structures and "interfaces to user interface" functions
to get rid of all disklabel assumptions.

Previously (even for GPT partitioning) struct disklabel was used, which
obviously breaks large disk setups. Also many MD parts and parts of the
user interface assumed (a) a struct disklabel is used internally to
store partitioning information and (b) partitions are named 'a' ... $MAXPART.

Get rid of this and replace it with a quite abstract interface that should
be able to deal with all variants in partition storage:

- partitions are stored in a (partly abstract) struct disk_partitions
and most parts of it are only accessed via accessor functions provided
by a "partitioning scheme".

- implement partitioning schemes for MBR, disklabel and GPT (with likely
RDB [amiga] and Apple Partition Map [mac*] to follow soon)

- partitioning schemes may be cascaded, e.g. on x86 when using MBR as
"outer partitions", we have disklabel as "inner partitions".

- all user interface goes via accessor functions in the partitioning scheme,
some of which return pointers to special user interface descriptors
(e.g. to allow editing partition flags, which are scheme specific)

Overall the user interface changes (in this initial step) are minimal but
noticable. A new Anita is needed for automatic test setups - many thanks
to Andreas Gustafsson for lots of early testing and a new Anita version,
and to Manuel Bouyer for cooperation and tests of the Anita release.

This work was sponsored by The NetBSD Foundation, Inc.
 1.3 18-May-2018  joerg branches: 1.3.2;
deconst -> __UNCONST, the former involves UB with NULL arithmetic.
 1.2 03-Aug-2014  martin branches: 1.2.2; 1.2.6; 1.2.20; 1.2.26;
(Finally) merge a slightly modified version of the 2012 GSoC results
from Eugene Lozovoy: add extended partitioning options to sysinst.
Still needs some testing and polishing, but it now is possible to use GPT
or to create a RAID set from scratch and install onto it.
 1.1 26-Jul-2014  dholland Move sysinst sources to usr.sbin.

This commit only physically moves the sources - there are no other
changes, to maximize the probability that this will be treated as a
rename if we ever do manage to migrate away from CVS.

Moving sysinst has been discussed on and off for years and has two
goals: making it easier to work on sysinst, and also making sysinst
available on running systems for use installing chroots and VM images
and other such things. None of the latter is possible yet, but as they
say, one thing at a time.

Doing this now was approved in an impromptu fashion by mrg, riz,
riastradh, me, and groo.
 1.2.26.1 21-May-2018  pgoyette Sync with HEAD
 1.2.20.1 09-Jun-2018  martin Pull up following revision(s) (requested by joerg in ticket #869):

usr.sbin/sysinst/arch/mvme68k/md.c: revision 1.5
usr.sbin/sysinst/net.c: revision 1.24
usr.sbin/sysinst/partman.c: revision 1.22
usr.sbin/sysinst/menus.mi: revision 1.12
usr.sbin/sysinst/arch/i386/md.c: revision 1.8
usr.sbin/sysinst/arch/alpha/md.c: revision 1.3
usr.sbin/sysinst/bsddisklabel.c: revision 1.3
usr.sbin/sysinst/arch/x68k/md.c: revision 1.5
usr.sbin/sysinst/arch/hp300/md.c: revision 1.5
usr.sbin/sysinst/arch/emips/md.c: revision 1.4
usr.sbin/sysinst/arch/pmax/md.c: revision 1.3
usr.sbin/sysinst/arch/mipsco/md.c: revision 1.3
usr.sbin/sysinst/arch/hppa/md.c: revision 1.3
usr.sbin/sysinst/util.c: revision 1.8
usr.sbin/sysinst/defs.h: revision 1.10
usr.sbin/sysinst/arch/landisk/md.c: revision 1.4

deconst -> __UNCONST, the former involves UB with NULL arithmetic.
 1.2.6.2 20-Aug-2014  tls Rebase to HEAD as of a few days ago.
 1.2.6.1 03-Aug-2014  tls file md.c was added on branch tls-maxphys on 2014-08-20 00:05:14 +0000
 1.2.2.2 10-Aug-2014  tls Rebase.
 1.2.2.1 03-Aug-2014  tls file md.c was added on branch tls-earlyentropy on 2014-08-10 07:00:24 +0000
 1.3.2.2 13-Apr-2020  martin Mostly merge changes from HEAD upto 20200411
 1.3.2.1 08-Apr-2020  martin Merge changes from current as of 20200406
 1.6.2.4 02-Feb-2022  msaitoh Pull up following revision(s) (requested by martin in ticket #1422):
usr.sbin/sysinst/util.c: revision 1.64
usr.sbin/sysinst/arch/hpcsh/md.c: revision 1.11
usr.sbin/sysinst/arch/alpha/md.c: revision 1.10
usr.sbin/sysinst/arch/sparc64/md.c: revision 1.7
usr.sbin/sysinst/arch/emips/md.c: revision 1.10
usr.sbin/sysinst/arch/cobalt/md.c: revision 1.15
usr.sbin/sysinst/arch/x68k/md.c: revision 1.12
usr.sbin/sysinst/arch/sandpoint/md.c: revision 1.10
usr.sbin/sysinst/arch/luna68k/md.c: revision 1.10
usr.sbin/sysinst/arch/hp300/md.c: revision 1.12
usr.sbin/sysinst/arch/vax/md.c: revision 1.8
usr.sbin/sysinst/arch/hpcmips/md.c: revision 1.10
usr.sbin/sysinst/target.c: revision 1.16
usr.sbin/sysinst/arch/mvme68k/md.c: revision 1.12
usr.sbin/sysinst/arch/arc/md.c: revision 1.14
usr.sbin/sysinst/target.c: revision 1.17
usr.sbin/sysinst/arch/i386/md.c: revision 1.34
usr.sbin/sysinst/arch/mac68k/md.c: revision 1.11
usr.sbin/sysinst/arch/atari/md.c: revision 1.8
usr.sbin/sysinst/arch/sgimips/md.c: revision 1.10
usr.sbin/sysinst/arch/acorn32/md.c: revision 1.8
usr.sbin/sysinst/install.c: revision 1.22
usr.sbin/sysinst/arch/amiga/md.c: revision 1.7
usr.sbin/sysinst/arch/cats/md.c: revision 1.6
usr.sbin/sysinst/arch/dummy/md.c: revision 1.7
usr.sbin/sysinst/arch/shark/md.c: revision 1.7
usr.sbin/sysinst/arch/pmax/md.c: revision 1.9
usr.sbin/sysinst/arch/newsmips/md.c: revision 1.7
usr.sbin/sysinst/arch/mipsco/md.c: revision 1.9
usr.sbin/sysinst/arch/landisk/md.c: revision 1.15
usr.sbin/sysinst/arch/hppa/md.c: revision 1.9
usr.sbin/sysinst/arch/prep/md.c: revision 1.14
usr.sbin/sysinst/defs.h: revision 1.77
usr.sbin/sysinst/arch/ofppc/md.c: revision 1.13
usr.sbin/sysinst/arch/ews4800mips/md.c: revision 1.8
usr.sbin/sysinst/defs.h: revision 1.78
usr.sbin/sysinst/arch/macppc/md.c: revision 1.7
usr.sbin/sysinst/arch/evbppc/md.c: revision 1.10
usr.sbin/sysinst/defs.h: revision 1.79
usr.sbin/sysinst/gpt.c: revision 1.27
usr.sbin/sysinst/arch/bebox/md.c: revision 1.10
usr.sbin/sysinst/gpt.c: revision 1.28
usr.sbin/sysinst/arch/sparc/md.c: revision 1.7
usr.sbin/sysinst/arch/evbsh3/md.c: revision 1.7
usr.sbin/sysinst/arch/evbarm/md.c: revision 1.22
usr.sbin/sysinst/arch/news68k/md.c: revision 1.8
usr.sbin/sysinst/upgrade.c: revision 1.19
usr.sbin/sysinst/arch/zaurus/md.c: revision 1.12
usr.sbin/sysinst/arch/playstation2/md.c: revision 1.10
usr.sbin/sysinst/arch/hpcarm/md.c: revision 1.11
usr.sbin/sysinst/arch/evbmips/md.c: revision 1.10
usr.sbin/sysinst/main.c: revision 1.28
Add an option to set the directory where we look for message catalogs.
Try to get rid of all wedges we created (after unmounting).
When upgrading, update the boot code post extraction from
the updated target file system.
Do not defer wedge deletions when we have nothing mounted.
Define and use a constant for maximum disk name length.
 1.6.2.3 15-Oct-2020  bouyer Pull up following revision(s) (requested by martin in ticket #1113):
usr.sbin/sysinst/bsddisklabel.c: revision 1.46
usr.sbin/sysinst/bsddisklabel.c: revision 1.47
usr.sbin/sysinst/disklabel.c: revision 1.40
usr.sbin/sysinst/arch/cobalt/md.c: revision 1.13
usr.sbin/sysinst/bsddisklabel.c: revision 1.48
usr.sbin/sysinst/disklabel.c: revision 1.41
usr.sbin/sysinst/arch/cobalt/md.c: revision 1.14
usr.sbin/sysinst/bsddisklabel.c: revision 1.49
usr.sbin/sysinst/disklabel.c: revision 1.42
usr.sbin/sysinst/Makefile.inc: revision 1.34
usr.sbin/sysinst/disks.c: revision 1.70
usr.sbin/sysinst/arch/hp300/md.c: revision 1.11
usr.sbin/sysinst/disks.c: revision 1.71
usr.sbin/sysinst/arch/i386/md.h: revision 1.8
usr.sbin/sysinst/arch/arc/md.c: revision 1.13
usr.sbin/sysinst/mbr.h: revision 1.5
usr.sbin/sysinst/mbr.h: revision 1.6
usr.sbin/sysinst/arch/mac68k/md.c: revision 1.10
usr.sbin/sysinst/bsddisklabel.c: revision 1.50
usr.sbin/sysinst/arch/acorn32/md.c: revision 1.7
usr.sbin/sysinst/bsddisklabel.c: revision 1.51
usr.sbin/sysinst/bsddisklabel.c: revision 1.52
usr.sbin/sysinst/bsddisklabel.c: revision 1.53
usr.sbin/sysinst/bsddisklabel.c: revision 1.54
usr.sbin/sysinst/bsddisklabel.c: revision 1.55
usr.sbin/sysinst/bsddisklabel.c: revision 1.56
usr.sbin/sysinst/arch/dummy/md.c: revision 1.6
usr.sbin/sysinst/arch/amd64/md.h: revision 1.9
usr.sbin/sysinst/arch/evbsh3/md.c: revision 1.6
usr.sbin/sysinst/arch/sparc/md.c: revision 1.6
usr.sbin/sysinst/arch/zaurus/md.c: revision 1.10
usr.sbin/sysinst/arch/x68k/md.c: revision 1.11
usr.sbin/sysinst/arch/sandpoint/md.c: revision 1.9
usr.sbin/sysinst/arch/vax/md.c: revision 1.7
usr.sbin/sysinst/arch/luna68k/md.c: revision 1.9
usr.sbin/sysinst/gpt.c: revision 1.19
usr.sbin/sysinst/arch/i386/md.c: revision 1.31
usr.sbin/sysinst/arch/i386/md.c: revision 1.32
usr.sbin/sysinst/arch/evbarm/md.c: revision 1.17
usr.sbin/sysinst/arch/evbarm/md.c: revision 1.18
usr.sbin/sysinst/arch/evbarm/md.c: revision 1.19
usr.sbin/sysinst/arch/shark/md.c: revision 1.6
usr.sbin/sysinst/arch/landisk/md.c: revision 1.14
usr.sbin/sysinst/util.c: revision 1.43
usr.sbin/sysinst/gpt.c: revision 1.20
usr.sbin/sysinst/util.c: revision 1.44
usr.sbin/sysinst/gpt.c: revision 1.21
usr.sbin/sysinst/gpt.c: revision 1.22
usr.sbin/sysinst/arch/evbarm/msg.md.en: revision 1.2
usr.sbin/sysinst/arch/ofppc/md.c: revision 1.11
usr.sbin/sysinst/util.c: revision 1.46
usr.sbin/sysinst/arch/ofppc/md.c: revision 1.12
usr.sbin/sysinst/util.c: revision 1.47
usr.sbin/sysinst/arch/evbarm/md.h: revision 1.6
usr.sbin/sysinst/util.c: revision 1.48
usr.sbin/sysinst/arch/evbarm/md.h: revision 1.7
usr.sbin/sysinst/arch/evbmips/md.c: revision 1.9
usr.sbin/sysinst/msg.mi.fr: revision 1.28
usr.sbin/sysinst/msg.mi.fr: revision 1.29
usr.sbin/sysinst/arch/sgimips/md.c: revision 1.9
usr.sbin/sysinst/arch/evbarm/Makefile: revision 1.3
usr.sbin/sysinst/msg.mi.de: revision 1.23
usr.sbin/sysinst/arch/hpcsh/md.c: revision 1.10
usr.sbin/sysinst/msg.mi.de: revision 1.24
usr.sbin/sysinst/install.c: revision 1.15
usr.sbin/sysinst/install.c: revision 1.16
usr.sbin/sysinst/arch/sparc64/md.c: revision 1.6
usr.sbin/sysinst/install.c: revision 1.17
usr.sbin/sysinst/install.c: revision 1.18
usr.sbin/sysinst/partitions.h: revision 1.16
usr.sbin/sysinst/install.c: revision 1.19
usr.sbin/sysinst/partitions.h: revision 1.17
usr.sbin/sysinst/arch/evbppc/md.c: revision 1.9
usr.sbin/sysinst/arch/playstation2/md.c: revision 1.9
usr.sbin/sysinst/partitions.h: revision 1.18
usr.sbin/sysinst/arch/hpcarm/md.c: revision 1.9
usr.sbin/sysinst/partitions.h: revision 1.19
usr.sbin/sysinst/msg.mi.es: revision 1.24
usr.sbin/sysinst/msg.mi.es: revision 1.25
usr.sbin/sysinst/msg.mi.es: revision 1.26
usr.sbin/sysinst/arch/zaurus/md.c: revision 1.9
usr.sbin/sysinst/target.c: revision 1.13
usr.sbin/sysinst/target.c: revision 1.14
usr.sbin/sysinst/part_edit.c: revision 1.17
usr.sbin/sysinst/part_edit.c: revision 1.18
usr.sbin/sysinst/msg.mi.fr: revision 1.30
usr.sbin/sysinst/arch/mvme68k/md.c: revision 1.11
usr.sbin/sysinst/part_edit.c: revision 1.19
usr.sbin/sysinst/msg.mi.fr: revision 1.31
usr.sbin/sysinst/arch/alpha/md.c: revision 1.9
usr.sbin/sysinst/msg.mi.en: revision 1.30
usr.sbin/sysinst/defs.h: revision 1.56
usr.sbin/sysinst/msg.mi.en: revision 1.31
usr.sbin/sysinst/defs.h: revision 1.57
usr.sbin/sysinst/msg.mi.en: revision 1.32
usr.sbin/sysinst/arch/amiga/md.c: revision 1.6
usr.sbin/sysinst/arch/hpcmips/md.c: revision 1.9
usr.sbin/sysinst/defs.h: revision 1.58
usr.sbin/sysinst/arch/cats/md.c: revision 1.5
usr.sbin/sysinst/defs.h: revision 1.59
usr.sbin/sysinst/arch/newsmips/md.c: revision 1.6
usr.sbin/sysinst/arch/pmax/md.c: revision 1.8
usr.sbin/sysinst/arch/mipsco/md.c: revision 1.8
usr.sbin/sysinst/part_edit.c: revision 1.20
usr.sbin/sysinst/part_edit.c: revision 1.21
usr.sbin/sysinst/arch/macppc/md.c: revision 1.6
usr.sbin/sysinst/part_edit.c: revision 1.22
usr.sbin/sysinst/part_edit.c: revision 1.23
usr.sbin/sysinst/part_edit.c: revision 1.24
usr.sbin/sysinst/defs.h: revision 1.60
usr.sbin/sysinst/arch/mac68k/Makefile: revision 1.3
usr.sbin/sysinst/defs.h: revision 1.61
usr.sbin/sysinst/defs.h: revision 1.63
usr.sbin/sysinst/defs.h: revision 1.64
usr.sbin/sysinst/defs.h: revision 1.65
usr.sbin/sysinst/label.c: revision 1.21
usr.sbin/sysinst/defs.h: revision 1.66
usr.sbin/sysinst/label.c: revision 1.22
usr.sbin/sysinst/defs.h: revision 1.67
usr.sbin/sysinst/label.c: revision 1.23
usr.sbin/sysinst/label.c: revision 1.24
usr.sbin/sysinst/label.c: revision 1.25
usr.sbin/sysinst/label.c: revision 1.26
usr.sbin/sysinst/label.c: revision 1.27
usr.sbin/sysinst/msg.mi.pl: revision 1.31
usr.sbin/sysinst/label.c: revision 1.28
usr.sbin/sysinst/msg.mi.pl: revision 1.32
usr.sbin/sysinst/label.c: revision 1.29
usr.sbin/sysinst/arch/atari/md.c: revision 1.7
usr.sbin/sysinst/disklabel.c: revision 1.36
usr.sbin/sysinst/disklabel.c: revision 1.37
usr.sbin/sysinst/disklabel.c: revision 1.38
usr.sbin/sysinst/disklabel.c: revision 1.39
usr.sbin/sysinst/arch/bebox/md.c: revision 1.9
usr.sbin/sysinst/mbr.c: revision 1.32
usr.sbin/sysinst/disks.c: revision 1.66
usr.sbin/sysinst/mbr.c: revision 1.33
usr.sbin/sysinst/disks.c: revision 1.67
usr.sbin/sysinst/mbr.c: revision 1.34
usr.sbin/sysinst/arch/emips/md.c: revision 1.9
usr.sbin/sysinst/disks.c: revision 1.68
usr.sbin/sysinst/partitions.c: revision 1.11
usr.sbin/sysinst/mbr.c: revision 1.35
usr.sbin/sysinst/disks.c: revision 1.69
usr.sbin/sysinst/mbr.c: revision 1.36
usr.sbin/sysinst/arch/hppa/md.c: revision 1.8
usr.sbin/sysinst/arch/prep/md.c: revision 1.13
usr.sbin/sysinst/label.c: revision 1.30
usr.sbin/sysinst/arch/ews4800mips/md.c: revision 1.7
usr.sbin/sysinst/main.c: revision 1.21
usr.sbin/sysinst/main.c: revision 1.22
usr.sbin/sysinst/main.c: revision 1.23
usr.sbin/sysinst/bsddisklabel.c: revision 1.40
usr.sbin/sysinst/main.c: revision 1.24
usr.sbin/sysinst/arch/cobalt/md.h: revision 1.6
usr.sbin/sysinst/bsddisklabel.c: revision 1.41
usr.sbin/sysinst/main.c: revision 1.25
usr.sbin/sysinst/arch/news68k/md.c: revision 1.7
usr.sbin/sysinst/bsddisklabel.c: revision 1.42
usr.sbin/sysinst/bsddisklabel.c: revision 1.43
usr.sbin/sysinst/bsddisklabel.c: revision 1.44
usr.sbin/sysinst/bsddisklabel.c: revision 1.45
Use strlcpy in a few places to guarnatee 0-terminated strings
Rever previous: the d_packname in struct disklabel is not NUL terminated.
Disable the warning instead.
Do not force -Os optimization (unless SMALLPROG)
Remove unused "rel" global variable and make the -r option a no-op.
PR 55045: strlcpy(NULL, ..., 0) considered harmfull in some implementations.
PR misc/54886: bump threshold for automatic/default creation of a tmpfs /tmp
up slightly (to 384 MB ram). This will make sure the default install has
a > 64 MB /tmp available (number pulled out of thin air, 64 MB is the minimum
required by the ZFS tests).
Don't depend on common symbol definitions.
boardype should not be common.
Redo the root-size-limit check again after we grew the root partition
for kernel dumps. Auto-enable the /usr partition if it overflows.
For all non-root partitions, default to FFSv2.
When extending a partition (to fill the total disk size) do respect
size limits.
Do not suggest a size limited partition for extension by default.
Minor tweak to previous: when forcing a /usr partition just to have an
arbitrary extendable partition, still use its default size initially.
At the end of a new installation save entropy.
Ooops, backout previous - twice the entropy saving is not needed.
Instead slightly improve the (slightly) hidden other code that already
did it.
PR 55202: disable swapping if we started it due to low ram
it's "its"
Remove "If you booted from a floppy" message
Set HAVE_INSTALL_IMAGE for evbarm
Change mountpoint of boot ext2fs from /stand to /ext2 to avoid conflict.
Should be pulled up to netbsd-9, with fixes of PR/55060.
MBR type for Ext2 should be MBR_PTYPE_LNXEXT2, not MBR_PTYPE_FAT12.
Silence -Wstringop-truncation for ``name'' in disp_selected_part().
This variable is used only for display, and truncation seems harmless.
PR 55572: avoid crash when answering the mount point prompt for a previously
empty mount point with an emptry sting.
When adding a new partition in the concrete partition editor, make sure
to set a pointer to the partition table interface in the new entry.
Otherwise we may end up not writing back the partitions at all, leading
to further fallout later.
Receipe to reproduce the issue from Frederic Fauberteau, thanks!
In the concrete partitions editor, after deleting the last partition move
the menu selection to the "add a partition" entry (instead of the sentinel
line which is not an active menu entry).
Typo in comment
Keep a list of all partition tables from which we have deleted partitions
and make sure we update those partition tables when writing partitions,
even if no install related partition remains on them.
Fix display of timezone selection menu
If there is no current partitioning manager assume we are editing the
current system and make target_already_root() return true.
Fixes various fallout when using sysinst post installation.
PR 55377: mark boot partitions in the partition size display, as suggested
by Izumi Tsutsui (minor modifications + all bugs by me)
PR 55378: do not assume RAW_PART to be either 2 or 3
PR 55379: avoid creating bogus /etc/fstab lines for /dev/cd* if no
cdrom is available.
PR 55381: try to deal with moved (but not yet saved) partitions when
calculating free space
Apply patch provided by Izumi Tsutsui in PR 55382: make ext2 partitions
show up in the outer (MBR) partition table, needed for example on Cobalt
where firmware boots from that partition.
PR 55384: detangle pm->ptstart from the "install" flag (selecting a
target partition). Instead introduce a new PTI_INSTALL_TARGET per partition
flag and deal with it in the partitioning backends.
Honour pm->ptstart when allocating new partitions - it is supposed to be
the first sector usable by NetBSD.
If we have no explicitly marke target root partition, make sure to set
the proper flag on the implicit one.
When merging existing partitions with desired target system layout
information, only force the "mount" flag if the existing partitions
has a valid mount point.
Add a heuristic to detect and properly mark EFI system partitions
when re-using pre-existing partitions.
When MD code requests a reserved area (at the start of the disk)
make sure to properly account for the "lost" space during all calculations
and especially when expanding the main partition to fill the disk.
Avoid using the global "pm" or a passed device descriptons when we are
passing disk limits explicitly anyway.
Simplify/fix a few rounding calculations.
When creating new partitions for "full disk" use, pass a install target
hint to the partitioning backend (for the outer NetBSD partition).
Use an install target hint to mark a new partition active.
When compiled with BOOTSEL support, also name the new partition "NetBSD".
Remove more pm->ptstart abuse - calculate values localy where needed
instead.
Fix editing start and size of not yet existing outer partitions.
Previously we abused pm->ptstart / pm->ptsize to pass the bounds of the
NetBSD outer partition to the inner partition editor - but now this is
not a valid assumption any more, so explicitly fix the bounds if an
outer partition exists.
Remove very strange code that special-cased MSDOS file systems and refused
to newfs the partition (despite explicit request to do so) if it was
mountable.
Accidently carried over from a dim and distant past, before we had
fsck_newfs.
PR 55536: when we find existing partition tables and have alternative
formats available, offer to delete partitions and create new ones from
scratch (in some other or the same on-disk format).
Minor fix to previous: fix condition when we offer the partition type
switch - it makes sense even if the disk is partitioned but has no valid
partitions.
Before forcing MBR partitions into our disklabel, make sure they are not
there yet - could happen in various paths when reusing existing partitions
(or parts of that) - previously we would blindly duplicate identical
partitions.
Ooops, part of previous was not meant to be included yet
When renumbering partitions (after deletions) be slightly more lax
in matching, to cope with differences between MBR EFI partitions and
disklabel MSDOS partitions.
PR 55142: on popular demand bring back expert options to adjust the
number of free inodes, block size and fragment size for FFS and LFS.
Fix copy & pasto noticed by Jason Mitchell: change the type of a GPT
partition via "gpt type" - not "gpt label".
Fix copy & pasto (missing "again" label)
Remove dead code
Move MBR writing (if any) post disklabel writing, otherwise strange
interactions happen.
Properly convert partition default sizes in MB to number of sectors
 1.6.2.2 09-Mar-2020  snj Pull up following revision(s) (requested by martin in ticket #777):
usr.sbin/sysinst/arch/alpha/md.c: 1.8
The (unused) md_pre_disklabel() function needs to return success, otherwise
all installations will be aborted.
 1.6.2.1 17-Dec-2019  msaitoh Pull up following revision(s) (requested by martin in ticket #560):
usr.sbin/sysinst/partitions.h: revision 1.11
usr.sbin/sysinst/defs.h: revision 1.49
usr.sbin/sysinst/mbr.c: revision 1.23
usr.sbin/sysinst/msg.mi.en: revision 1.26
usr.sbin/sysinst/disks.c: revision 1.58
usr.sbin/sysinst/arch/evbarm/menus.md.pl: revision 1.2
usr.sbin/sysinst/msg.mi.es: revision 1.20
usr.sbin/sysinst/arch/mvme68k/md.c: revision 1.9
usr.sbin/sysinst/gpt.c: revision 1.13
usr.sbin/sysinst/arch/evbarm/md.c: revision 1.10
usr.sbin/sysinst/arch/arc/md.c: revision 1.10
usr.sbin/sysinst/disklabel.c: revision 1.18
usr.sbin/sysinst/bsddisklabel.c: revision 1.33
usr.sbin/sysinst/disklabel.c: revision 1.19
usr.sbin/sysinst/main.c: revision 1.19
usr.sbin/sysinst/partman.c: revision 1.45
usr.sbin/sysinst/arch/alpha/md.c: revision 1.7
usr.sbin/sysinst/msg.mi.de: revision 1.19
usr.sbin/sysinst/arch/evbarm/menus.md.en: revision 1.2
usr.sbin/sysinst/arch/x68k/md.h: revision 1.4
usr.sbin/sysinst/arch/x68k/md.c: revision 1.9
usr.sbin/sysinst/arch/evbarm/menus.md.es: revision 1.2
usr.sbin/sysinst/wskbd.c: revision 1.4
usr.sbin/sysinst/label.c: revision 1.15
usr.sbin/sysinst/arch/amiga/md.h: revision 1.5
usr.sbin/sysinst/label.c: revision 1.16
usr.sbin/sysinst/arch/hp300/md.c: revision 1.9
usr.sbin/sysinst/arch/emips/md.c: revision 1.8
usr.sbin/sysinst/label.c: revision 1.17
usr.sbin/sysinst/arch/pmax/md.c: revision 1.7
usr.sbin/sysinst/partitions.c: revision 1.6
usr.sbin/sysinst/arch/prep/md.c: revision 1.10
usr.sbin/sysinst/arch/mipsco/md.c: revision 1.7
usr.sbin/sysinst/partitions.c: revision 1.7
usr.sbin/sysinst/partitions.c: revision 1.8
usr.sbin/sysinst/arch/ews4800mips/md.c: revision 1.5
usr.sbin/sysinst/disklabel.c: revision 1.20
usr.sbin/sysinst/arch/evbarm/menus.md.fr: revision 1.2
usr.sbin/sysinst/msg.mi.fr: revision 1.24
usr.sbin/sysinst/disklabel.c: revision 1.21
usr.sbin/sysinst/partitions.h: revision 1.9
usr.sbin/sysinst/msg.mi.pl: revision 1.27
usr.sbin/sysinst/disklabel.c: revision 1.22
usr.sbin/sysinst/disklabel.c: revision 1.23
usr.sbin/sysinst/arch/i386/md.c: revision 1.27
usr.sbin/sysinst/disklabel.c: revision 1.24
usr.sbin/sysinst/disklabel.c: revision 1.25
usr.sbin/sysinst/arch/cobalt/md.h: revision 1.5
usr.sbin/sysinst/disklabel.c: revision 1.26
usr.sbin/sysinst/disklabel.c: revision 1.27
usr.sbin/sysinst/partitions.h: revision 1.10
usr.sbin/sysinst/arch/cobalt/md.c: revision 1.10
PR install/54582: allow MD code to disable on-disk presence verification
of "real" disklabels. Auto-enable this (at run time) when there is no other
partitioning scheme but disklabel configured.
Hard-coded enable this for x68k to allow using kernel based translations
for native Human68k partitions.
Get rid of the evbarm preliminary menu: do not bother to ask the user
whether this is a RPi - query the FDT instead.
PR 54065: add optional "old compat" variant of ext2fs in file system
type selection and use that as default for the cobalt boot file system.
For now rely on the kernel mapping native RDB partitions.
Fix detection of existing disklabels in the case when we only have
the disklabel partitioning scheme available.
Fix DISKLABEL_NO_ONDISK_VERIFY (accidently disabled in previous)
Fix inverted comparison
Do not try to change the keyboard layout if we are not running on the
console.
When trying to tell a fictious but empty label from a real one, skip
partition a if it has the same start and size as the raw partition.
Remove bogus assert.
When finding (paritioning scheme native) partition types for file systems
from our install description, pass the partition type (not only the file
system type). Sometimes (e.g. EFI boot partition on GPT) the filesystem
type (MSDOS) is not a unique selector.
Adapt MD parts to changes in get_fs_part_type (pass partition type).
If a fictious label has no RAW_PART assume there is no valid disk label.
Pass proper track size when initializing the default alignment - this is
important with sunlabels.
Fix overlapping partitions display
Reject (what we consider) empty/invalid fake disklabels no matter whether
we have other partitioning schemes available or not.
Do not show disklabel command invocation by default (only if there are
errors).
After installing boot blocks with RUN_NO_CLEAR (and handling the
potential errors) make sure to clear the stdscreen.
 1.4 26-Apr-2025  tsutsui Remove obsolete MD 'PART_(ROOT|SWAP|BSD|RAW|USR|REST|FIRST_FREE)' defines.

Patch from Miod Vallat.
 1.3 22-Sep-2020  snj branches: 1.3.8;
alpha: GENERIC.MP is no more
 1.2 16-Nov-2018  martin Sync install size estimates with current reality
 1.1 26-Jul-2014  dholland branches: 1.1.2; 1.1.6; 1.1.26; 1.1.28;
Move sysinst sources to usr.sbin.

This commit only physically moves the sources - there are no other
changes, to maximize the probability that this will be treated as a
rename if we ever do manage to migrate away from CVS.

Moving sysinst has been discussed on and off for years and has two
goals: making it easier to work on sysinst, and also making sysinst
available on running systems for use installing chroots and VM images
and other such things. None of the latter is possible yet, but as they
say, one thing at a time.

Doing this now was approved in an impromptu fashion by mrg, riz,
riastradh, me, and groo.
 1.1.28.1 10-Jun-2019  christos Sync with HEAD
 1.1.26.1 26-Nov-2018  pgoyette Sync with HEAD, resolve a couple of conflicts
 1.1.6.2 20-Aug-2014  tls Rebase to HEAD as of a few days ago.
 1.1.6.1 26-Jul-2014  tls file md.h was added on branch tls-maxphys on 2014-08-20 00:05:14 +0000
 1.1.2.2 10-Aug-2014  tls Rebase.
 1.1.2.1 26-Jul-2014  tls file md.h was added on branch tls-earlyentropy on 2014-08-10 07:00:24 +0000
 1.3.8.1 02-Aug-2025  perseant Sync with HEAD
 1.1 26-Jul-2014  dholland branches: 1.1.2; 1.1.6;
Move sysinst sources to usr.sbin.

This commit only physically moves the sources - there are no other
changes, to maximize the probability that this will be treated as a
rename if we ever do manage to migrate away from CVS.

Moving sysinst has been discussed on and off for years and has two
goals: making it easier to work on sysinst, and also making sysinst
available on running systems for use installing chroots and VM images
and other such things. None of the latter is possible yet, but as they
say, one thing at a time.

Doing this now was approved in an impromptu fashion by mrg, riz,
riastradh, me, and groo.
 1.1.6.2 20-Aug-2014  tls Rebase to HEAD as of a few days ago.
 1.1.6.1 26-Jul-2014  tls file menus.md.en was added on branch tls-maxphys on 2014-08-20 00:05:14 +0000
 1.1.2.2 10-Aug-2014  tls Rebase.
 1.1.2.1 26-Jul-2014  tls file menus.md.en was added on branch tls-earlyentropy on 2014-08-10 07:00:24 +0000
 1.1 26-Jul-2014  dholland branches: 1.1.2; 1.1.6;
Move sysinst sources to usr.sbin.

This commit only physically moves the sources - there are no other
changes, to maximize the probability that this will be treated as a
rename if we ever do manage to migrate away from CVS.

Moving sysinst has been discussed on and off for years and has two
goals: making it easier to work on sysinst, and also making sysinst
available on running systems for use installing chroots and VM images
and other such things. None of the latter is possible yet, but as they
say, one thing at a time.

Doing this now was approved in an impromptu fashion by mrg, riz,
riastradh, me, and groo.
 1.1.6.2 20-Aug-2014  tls Rebase to HEAD as of a few days ago.
 1.1.6.1 26-Jul-2014  tls file menus.md.es was added on branch tls-maxphys on 2014-08-20 00:05:14 +0000
 1.1.2.2 10-Aug-2014  tls Rebase.
 1.1.2.1 26-Jul-2014  tls file menus.md.es was added on branch tls-earlyentropy on 2014-08-10 07:00:24 +0000
 1.1 26-Jul-2014  dholland branches: 1.1.2; 1.1.6;
Move sysinst sources to usr.sbin.

This commit only physically moves the sources - there are no other
changes, to maximize the probability that this will be treated as a
rename if we ever do manage to migrate away from CVS.

Moving sysinst has been discussed on and off for years and has two
goals: making it easier to work on sysinst, and also making sysinst
available on running systems for use installing chroots and VM images
and other such things. None of the latter is possible yet, but as they
say, one thing at a time.

Doing this now was approved in an impromptu fashion by mrg, riz,
riastradh, me, and groo.
 1.1.6.2 20-Aug-2014  tls Rebase to HEAD as of a few days ago.
 1.1.6.1 26-Jul-2014  tls file menus.md.fr was added on branch tls-maxphys on 2014-08-20 00:05:14 +0000
 1.1.2.2 10-Aug-2014  tls Rebase.
 1.1.2.1 26-Jul-2014  tls file menus.md.fr was added on branch tls-earlyentropy on 2014-08-10 07:00:24 +0000
 1.1 26-Jul-2014  dholland branches: 1.1.2; 1.1.6;
Move sysinst sources to usr.sbin.

This commit only physically moves the sources - there are no other
changes, to maximize the probability that this will be treated as a
rename if we ever do manage to migrate away from CVS.

Moving sysinst has been discussed on and off for years and has two
goals: making it easier to work on sysinst, and also making sysinst
available on running systems for use installing chroots and VM images
and other such things. None of the latter is possible yet, but as they
say, one thing at a time.

Doing this now was approved in an impromptu fashion by mrg, riz,
riastradh, me, and groo.
 1.1.6.2 20-Aug-2014  tls Rebase to HEAD as of a few days ago.
 1.1.6.1 26-Jul-2014  tls file menus.md.pl was added on branch tls-maxphys on 2014-08-20 00:05:14 +0000
 1.1.2.2 10-Aug-2014  tls Rebase.
 1.1.2.1 26-Jul-2014  tls file menus.md.pl was added on branch tls-earlyentropy on 2014-08-10 07:00:24 +0000
 1.2 22-Sep-2020  snj alpha: GENERIC.MP is no more
 1.1 26-Jul-2014  dholland branches: 1.1.2; 1.1.6;
Move sysinst sources to usr.sbin.

This commit only physically moves the sources - there are no other
changes, to maximize the probability that this will be treated as a
rename if we ever do manage to migrate away from CVS.

Moving sysinst has been discussed on and off for years and has two
goals: making it easier to work on sysinst, and also making sysinst
available on running systems for use installing chroots and VM images
and other such things. None of the latter is possible yet, but as they
say, one thing at a time.

Doing this now was approved in an impromptu fashion by mrg, riz,
riastradh, me, and groo.
 1.1.6.2 20-Aug-2014  tls Rebase to HEAD as of a few days ago.
 1.1.6.1 26-Jul-2014  tls file msg.md.de was added on branch tls-maxphys on 2014-08-20 00:05:14 +0000
 1.1.2.2 10-Aug-2014  tls Rebase.
 1.1.2.1 26-Jul-2014  tls file msg.md.de was added on branch tls-earlyentropy on 2014-08-10 07:00:24 +0000
 1.2 22-Sep-2020  snj alpha: GENERIC.MP is no more
 1.1 26-Jul-2014  dholland branches: 1.1.2; 1.1.6;
Move sysinst sources to usr.sbin.

This commit only physically moves the sources - there are no other
changes, to maximize the probability that this will be treated as a
rename if we ever do manage to migrate away from CVS.

Moving sysinst has been discussed on and off for years and has two
goals: making it easier to work on sysinst, and also making sysinst
available on running systems for use installing chroots and VM images
and other such things. None of the latter is possible yet, but as they
say, one thing at a time.

Doing this now was approved in an impromptu fashion by mrg, riz,
riastradh, me, and groo.
 1.1.6.2 20-Aug-2014  tls Rebase to HEAD as of a few days ago.
 1.1.6.1 26-Jul-2014  tls file msg.md.en was added on branch tls-maxphys on 2014-08-20 00:05:14 +0000
 1.1.2.2 10-Aug-2014  tls Rebase.
 1.1.2.1 26-Jul-2014  tls file msg.md.en was added on branch tls-earlyentropy on 2014-08-10 07:00:24 +0000
 1.2 22-Sep-2020  snj alpha: GENERIC.MP is no more
 1.1 26-Jul-2014  dholland branches: 1.1.2; 1.1.6;
Move sysinst sources to usr.sbin.

This commit only physically moves the sources - there are no other
changes, to maximize the probability that this will be treated as a
rename if we ever do manage to migrate away from CVS.

Moving sysinst has been discussed on and off for years and has two
goals: making it easier to work on sysinst, and also making sysinst
available on running systems for use installing chroots and VM images
and other such things. None of the latter is possible yet, but as they
say, one thing at a time.

Doing this now was approved in an impromptu fashion by mrg, riz,
riastradh, me, and groo.
 1.1.6.2 20-Aug-2014  tls Rebase to HEAD as of a few days ago.
 1.1.6.1 26-Jul-2014  tls file msg.md.es was added on branch tls-maxphys on 2014-08-20 00:05:14 +0000
 1.1.2.2 10-Aug-2014  tls Rebase.
 1.1.2.1 26-Jul-2014  tls file msg.md.es was added on branch tls-earlyentropy on 2014-08-10 07:00:24 +0000
 1.2 22-Sep-2020  snj alpha: GENERIC.MP is no more
 1.1 26-Jul-2014  dholland branches: 1.1.2; 1.1.6;
Move sysinst sources to usr.sbin.

This commit only physically moves the sources - there are no other
changes, to maximize the probability that this will be treated as a
rename if we ever do manage to migrate away from CVS.

Moving sysinst has been discussed on and off for years and has two
goals: making it easier to work on sysinst, and also making sysinst
available on running systems for use installing chroots and VM images
and other such things. None of the latter is possible yet, but as they
say, one thing at a time.

Doing this now was approved in an impromptu fashion by mrg, riz,
riastradh, me, and groo.
 1.1.6.2 20-Aug-2014  tls Rebase to HEAD as of a few days ago.
 1.1.6.1 26-Jul-2014  tls file msg.md.fr was added on branch tls-maxphys on 2014-08-20 00:05:14 +0000
 1.1.2.2 10-Aug-2014  tls Rebase.
 1.1.2.1 26-Jul-2014  tls file msg.md.fr was added on branch tls-earlyentropy on 2014-08-10 07:00:24 +0000
 1.2 22-Sep-2020  snj alpha: GENERIC.MP is no more
 1.1 26-Jul-2014  dholland branches: 1.1.2; 1.1.6;
Move sysinst sources to usr.sbin.

This commit only physically moves the sources - there are no other
changes, to maximize the probability that this will be treated as a
rename if we ever do manage to migrate away from CVS.

Moving sysinst has been discussed on and off for years and has two
goals: making it easier to work on sysinst, and also making sysinst
available on running systems for use installing chroots and VM images
and other such things. None of the latter is possible yet, but as they
say, one thing at a time.

Doing this now was approved in an impromptu fashion by mrg, riz,
riastradh, me, and groo.
 1.1.6.2 20-Aug-2014  tls Rebase to HEAD as of a few days ago.
 1.1.6.1 26-Jul-2014  tls file msg.md.pl was added on branch tls-maxphys on 2014-08-20 00:05:14 +0000
 1.1.2.2 10-Aug-2014  tls Rebase.
 1.1.2.1 26-Jul-2014  tls file msg.md.pl was added on branch tls-earlyentropy on 2014-08-10 07:00:24 +0000
 1.2 12-Jun-2019  martin Rework internal data structures and "interfaces to user interface" functions
to get rid of all disklabel assumptions.

Previously (even for GPT partitioning) struct disklabel was used, which
obviously breaks large disk setups. Also many MD parts and parts of the
user interface assumed (a) a struct disklabel is used internally to
store partitioning information and (b) partitions are named 'a' ... $MAXPART.

Get rid of this and replace it with a quite abstract interface that should
be able to deal with all variants in partition storage:

- partitions are stored in a (partly abstract) struct disk_partitions
and most parts of it are only accessed via accessor functions provided
by a "partitioning scheme".

- implement partitioning schemes for MBR, disklabel and GPT (with likely
RDB [amiga] and Apple Partition Map [mac*] to follow soon)

- partitioning schemes may be cascaded, e.g. on x86 when using MBR as
"outer partitions", we have disklabel as "inner partitions".

- all user interface goes via accessor functions in the partitioning scheme,
some of which return pointers to special user interface descriptors
(e.g. to allow editing partition flags, which are scheme specific)

Overall the user interface changes (in this initial step) are minimal but
noticable. A new Anita is needed for automatic test setups - many thanks
to Andreas Gustafsson for lots of early testing and a new Anita version,
and to Manuel Bouyer for cooperation and tests of the Anita release.

This work was sponsored by The NetBSD Foundation, Inc.
 1.1 26-Jul-2014  dholland branches: 1.1.2; 1.1.6; 1.1.28;
Move sysinst sources to usr.sbin.

This commit only physically moves the sources - there are no other
changes, to maximize the probability that this will be treated as a
rename if we ever do manage to migrate away from CVS.

Moving sysinst has been discussed on and off for years and has two
goals: making it easier to work on sysinst, and also making sysinst
available on running systems for use installing chroots and VM images
and other such things. None of the latter is possible yet, but as they
say, one thing at a time.

Doing this now was approved in an impromptu fashion by mrg, riz,
riastradh, me, and groo.
 1.1.28.1 13-Apr-2020  martin Mostly merge changes from HEAD upto 20200411
 1.1.6.2 20-Aug-2014  tls Rebase to HEAD as of a few days ago.
 1.1.6.1 26-Jul-2014  tls file Makefile was added on branch tls-maxphys on 2014-08-20 00:05:14 +0000
 1.1.2.2 10-Aug-2014  tls Rebase.
 1.1.2.1 26-Jul-2014  tls file Makefile was added on branch tls-earlyentropy on 2014-08-10 07:00:24 +0000
 1.2 16-Nov-2019  martin On amd64 support installation with a KASLR kernel, via "custom install"
and selecting the GENERIC_KASLR kernel set.
Setup /prekern and boot.cfg accordingly.
 1.1 26-Jul-2014  dholland branches: 1.1.2; 1.1.6; 1.1.28; 1.1.30;
Move sysinst sources to usr.sbin.

This commit only physically moves the sources - there are no other
changes, to maximize the probability that this will be treated as a
rename if we ever do manage to migrate away from CVS.

Moving sysinst has been discussed on and off for years and has two
goals: making it easier to work on sysinst, and also making sysinst
available on running systems for use installing chroots and VM images
and other such things. None of the latter is possible yet, but as they
say, one thing at a time.

Doing this now was approved in an impromptu fashion by mrg, riz,
riastradh, me, and groo.
 1.1.30.1 17-Nov-2019  msaitoh Pull up following revision(s) (requested by martin in ticket #436):
usr.sbin/sysinst/disks.c: revision 1.55
usr.sbin/sysinst/msg.mi.en: revision 1.24
usr.sbin/sysinst/mbr.c: revision 1.22
usr.sbin/sysinst/disks.c: revision 1.56
usr.sbin/sysinst/msg.mi.en: revision 1.25
usr.sbin/sysinst/disks.c: revision 1.57
usr.sbin/sysinst/arch/playstation2/msg.md.pl: revision 1.3
usr.sbin/sysinst/Makefile.inc: revision 1.30
usr.sbin/sysinst/configmenu.c: revision 1.11
usr.sbin/sysinst/util.c: revision 1.35
usr.sbin/sysinst/gpt.c: revision 1.12
usr.sbin/sysinst/util.c: revision 1.36
usr.sbin/sysinst/arch/playstation2/msg.md.de: revision 1.3
usr.sbin/sysinst/arch/i386/menus.md: revision 1.3
usr.sbin/sysinst/util.c: revision 1.37
usr.sbin/sysinst/part_edit.c: revision 1.11
usr.sbin/sysinst/arch/i386/msg.md.en: revision 1.2
usr.sbin/sysinst/util.c: revision 1.38
usr.sbin/sysinst/part_edit.c: revision 1.12
usr.sbin/sysinst/arch/i386/msg.md.en: revision 1.3
usr.sbin/sysinst/util.c: revision 1.39
usr.sbin/sysinst/part_edit.c: revision 1.13
usr.sbin/sysinst/arch/i386/msg.md.en: revision 1.4
usr.sbin/sysinst/disklabel.c: revision 1.15
usr.sbin/sysinst/bsddisklabel.c: revision 1.30
usr.sbin/sysinst/arch/i386/msg.md.es: revision 1.2
usr.sbin/sysinst/bsddisklabel.c: revision 1.31
usr.sbin/sysinst/arch/i386/msg.md.es: revision 1.3
usr.sbin/sysinst/arch/i386/msg.md.es: revision 1.4
usr.sbin/sysinst/mbr.h: revision 1.4
usr.sbin/sysinst/main.c: revision 1.18
usr.sbin/sysinst/partman.c: revision 1.44
usr.sbin/sysinst/msg.mi.de: revision 1.17
usr.sbin/sysinst/arch/i386/msg.md.fr: revision 1.2
usr.sbin/sysinst/msg.mi.de: revision 1.18
usr.sbin/sysinst/arch/i386/msg.md.fr: revision 1.3
usr.sbin/sysinst/arch/playstation2/msg.md.en: revision 1.3
usr.sbin/sysinst/arch/i386/msg.md.fr: revision 1.4
usr.sbin/sysinst/arch/amd64/md.c: revision 1.2
usr.sbin/sysinst/arch/ews4800mips/Makefile: revision 1.3
usr.sbin/sysinst/arch/playstation2/msg.md.es: revision 1.3
usr.sbin/sysinst/label.c: revision 1.13
usr.sbin/sysinst/Makefile.inc: revision 1.29
usr.sbin/sysinst/label.c: revision 1.14
usr.sbin/sysinst/util.c: revision 1.40
usr.sbin/sysinst/partitions.c: revision 1.5
usr.sbin/sysinst/arch/amd64/md.h: revision 1.8
usr.sbin/sysinst/msg.mi.es: revision 1.18
usr.sbin/sysinst/net.c: revision 1.34
usr.sbin/sysinst/msg.mi.es: revision 1.19
usr.sbin/sysinst/arch/i386/msg.md.pl: revision 1.2
usr.sbin/sysinst/arch/i386/md.c: revision 1.22
usr.sbin/sysinst/msg.mi.fr: revision 1.22
usr.sbin/sysinst/arch/playstation2/msg.md.fr: revision 1.3
usr.sbin/sysinst/arch/i386/msg.md.pl: revision 1.3
usr.sbin/sysinst/arch/i386/md.c: revision 1.23
usr.sbin/sysinst/msg.mi.pl: revision 1.25
usr.sbin/sysinst/msg.mi.fr: revision 1.23
usr.sbin/sysinst/arch/i386/msg.md.pl: revision 1.4
usr.sbin/sysinst/arch/i386/md.c: revision 1.24
usr.sbin/sysinst/partitions.h: revision 1.8
usr.sbin/sysinst/msg.mi.pl: revision 1.26
usr.sbin/sysinst/arch/i386/msg.md.de: revision 1.2
usr.sbin/sysinst/arch/i386/msg.md.de: revision 1.3
usr.sbin/sysinst/arch/i386/msg.md.de: revision 1.4
usr.sbin/sysinst/run.c: revision 1.13
usr.sbin/sysinst/defs.h: revision 1.46
usr.sbin/sysinst/install.c: revision 1.12
usr.sbin/sysinst/defs.h: revision 1.47
usr.sbin/sysinst/install.c: revision 1.13
usr.sbin/sysinst/defs.h: revision 1.48
Add options to the various partitioning stages that allow cloning of
alien partitions (optionally including data).
PR 54467: we trust our own sets, extract them with -P to allow symlink
redirection (especially for updates and chroot services - back out
once a better solution for those is implemented)
Make cloning support optional, so we can save some space on very small
install media.
Drop MBR and cloning support on crunched install media.
Make tar extraction flags depend on our usage of pax-as-tar or bsdtar.
Fix missing newlines in bios match display, pointed out by maxv.
Drop unused variable.
Fix table of bios geomatries
knf style adjustments
Make the bootblock selection menu more sane, pointed out by maxv
Make sure all menus have a translatable exit option (or none at all).
On amd64 support installation with a KASLR kernel, via "custom install"
and selecting the GENERIC_KASLR kernel set.
Setup /prekern and boot.cfg accordingly.
 1.1.28.1 13-Apr-2020  martin Mostly merge changes from HEAD upto 20200411
 1.1.6.2 20-Aug-2014  tls Rebase to HEAD as of a few days ago.
 1.1.6.1 26-Jul-2014  tls file md.c was added on branch tls-maxphys on 2014-08-20 00:05:14 +0000
 1.1.2.2 10-Aug-2014  tls Rebase.
 1.1.2.1 26-Jul-2014  tls file md.c was added on branch tls-earlyentropy on 2014-08-10 07:00:25 +0000
 1.11 09-Apr-2024  nia Add new sets: base32, debug32, manhtml

- base32 contains (when MKCOMPAT=yes) shared libraries for 32-bit
compatibility, previously included in base

- debug32 contains (when MKCOMPAT=yes) debug symbols and static libraries
containing debug symbols for 32-bit compatiblity, previously included
in debug

- manhtml contains (when MKHTML=yes) the HTML files previously included
in 'man', which are of limited utility without third-party software.

The motivation for this change is to be able to easily exclude sets
from CD-ROM images that go over the size limit without xz compression
(which many NetBSD platforms struggle to extract at acceptable speeds).
 1.10 25-Sep-2021  maya Move DRM-driver firmware from base to its own set, gpufw

This set is only installed on amd64,i386,evbarm.
This set is installed on minimal installs and on install media, in
case someone needs it for basic driver functionality.

Comments:
Switched to a single MK tunable for it - that is probably unneeded.

An upcoming DRM update will include even fatter firmware, and we'd
like to minimize the impact of it.
 1.9 05-Oct-2020  martin Add a heuristic to detect and properly mark EFI system partitions
when re-using pre-existing partitions.
 1.8 16-Nov-2019  martin On amd64 support installation with a KASLR kernel, via "custom install"
and selecting the GENERIC_KASLR kernel set.
Setup /prekern and boot.cfg accordingly.
 1.7 02-Oct-2019  maya Split out /rescue to its own set and adapt installers/images to add it.

This is meant to make updates safer: if something goes wrong with updating
base, we still have the old, standalone /rescue to recover from.
 1.6 14-Jul-2019  martin branches: 1.6.2;
Work in progress UEFI boot support, don't try this at home yet!
 1.5 12-Jun-2019  martin Rework internal data structures and "interfaces to user interface" functions
to get rid of all disklabel assumptions.

Previously (even for GPT partitioning) struct disklabel was used, which
obviously breaks large disk setups. Also many MD parts and parts of the
user interface assumed (a) a struct disklabel is used internally to
store partitioning information and (b) partitions are named 'a' ... $MAXPART.

Get rid of this and replace it with a quite abstract interface that should
be able to deal with all variants in partition storage:

- partitions are stored in a (partly abstract) struct disk_partitions
and most parts of it are only accessed via accessor functions provided
by a "partitioning scheme".

- implement partitioning schemes for MBR, disklabel and GPT (with likely
RDB [amiga] and Apple Partition Map [mac*] to follow soon)

- partitioning schemes may be cascaded, e.g. on x86 when using MBR as
"outer partitions", we have disklabel as "inner partitions".

- all user interface goes via accessor functions in the partitioning scheme,
some of which return pointers to special user interface descriptors
(e.g. to allow editing partition flags, which are scheme specific)

Overall the user interface changes (in this initial step) are minimal but
noticable. A new Anita is needed for automatic test setups - many thanks
to Andreas Gustafsson for lots of early testing and a new Anita version,
and to Manuel Bouyer for cooperation and tests of the Anita release.

This work was sponsored by The NetBSD Foundation, Inc.
 1.4 18-Nov-2018  martin More size estimate fixes
 1.3 05-Nov-2018  martin Get rid of hard coded disk names and use sysctl hw.disknames
instead.
 1.2 14-Nov-2015  pgoyette branches: 1.2.14; 1.2.16;
Enable installation of amd64 on an lfsv2 partition.

XXX Other ports will need similar changes to arch/.../md.h after testing!

XXX The mount_lfs warning about lfs being experimental may confuse or
XXX corrupt the sysinst display window.
 1.1 26-Jul-2014  dholland branches: 1.1.2; 1.1.4; 1.1.6;
Move sysinst sources to usr.sbin.

This commit only physically moves the sources - there are no other
changes, to maximize the probability that this will be treated as a
rename if we ever do manage to migrate away from CVS.

Moving sysinst has been discussed on and off for years and has two
goals: making it easier to work on sysinst, and also making sysinst
available on running systems for use installing chroots and VM images
and other such things. None of the latter is possible yet, but as they
say, one thing at a time.

Doing this now was approved in an impromptu fashion by mrg, riz,
riastradh, me, and groo.
 1.1.6.2 20-Aug-2014  tls Rebase to HEAD as of a few days ago.
 1.1.6.1 26-Jul-2014  tls file md.h was added on branch tls-maxphys on 2014-08-20 00:05:14 +0000
 1.1.4.2 18-Mar-2015  snj Apply patch (requested by christos in ticket #542):
- Enable intel and radeon DRM/KMS drivers in GENERIC
- Disable all of the old DRM drivers in GENERIC
- Remove the separate DRMKMS kernel
 1.1.4.1 04-Dec-2014  snj Apply patch (requested by bouyer in ticket #295):
Build the DRMKMS kernel on x86, and provide a sysinst option to
install it.
 1.1.2.2 10-Aug-2014  tls Rebase.
 1.1.2.1 26-Jul-2014  tls file md.h was added on branch tls-earlyentropy on 2014-08-10 07:00:25 +0000
 1.2.16.2 13-Apr-2020  martin Mostly merge changes from HEAD upto 20200411
 1.2.16.1 10-Jun-2019  christos Sync with HEAD
 1.2.14.1 26-Nov-2018  pgoyette Sync with HEAD, resolve a couple of conflicts
 1.6.2.3 15-Oct-2020  bouyer Pull up following revision(s) (requested by martin in ticket #1113):
usr.sbin/sysinst/bsddisklabel.c: revision 1.46
usr.sbin/sysinst/bsddisklabel.c: revision 1.47
usr.sbin/sysinst/disklabel.c: revision 1.40
usr.sbin/sysinst/arch/cobalt/md.c: revision 1.13
usr.sbin/sysinst/bsddisklabel.c: revision 1.48
usr.sbin/sysinst/disklabel.c: revision 1.41
usr.sbin/sysinst/arch/cobalt/md.c: revision 1.14
usr.sbin/sysinst/bsddisklabel.c: revision 1.49
usr.sbin/sysinst/disklabel.c: revision 1.42
usr.sbin/sysinst/Makefile.inc: revision 1.34
usr.sbin/sysinst/disks.c: revision 1.70
usr.sbin/sysinst/arch/hp300/md.c: revision 1.11
usr.sbin/sysinst/disks.c: revision 1.71
usr.sbin/sysinst/arch/i386/md.h: revision 1.8
usr.sbin/sysinst/arch/arc/md.c: revision 1.13
usr.sbin/sysinst/mbr.h: revision 1.5
usr.sbin/sysinst/mbr.h: revision 1.6
usr.sbin/sysinst/arch/mac68k/md.c: revision 1.10
usr.sbin/sysinst/bsddisklabel.c: revision 1.50
usr.sbin/sysinst/arch/acorn32/md.c: revision 1.7
usr.sbin/sysinst/bsddisklabel.c: revision 1.51
usr.sbin/sysinst/bsddisklabel.c: revision 1.52
usr.sbin/sysinst/bsddisklabel.c: revision 1.53
usr.sbin/sysinst/bsddisklabel.c: revision 1.54
usr.sbin/sysinst/bsddisklabel.c: revision 1.55
usr.sbin/sysinst/bsddisklabel.c: revision 1.56
usr.sbin/sysinst/arch/dummy/md.c: revision 1.6
usr.sbin/sysinst/arch/amd64/md.h: revision 1.9
usr.sbin/sysinst/arch/evbsh3/md.c: revision 1.6
usr.sbin/sysinst/arch/sparc/md.c: revision 1.6
usr.sbin/sysinst/arch/zaurus/md.c: revision 1.10
usr.sbin/sysinst/arch/x68k/md.c: revision 1.11
usr.sbin/sysinst/arch/sandpoint/md.c: revision 1.9
usr.sbin/sysinst/arch/vax/md.c: revision 1.7
usr.sbin/sysinst/arch/luna68k/md.c: revision 1.9
usr.sbin/sysinst/gpt.c: revision 1.19
usr.sbin/sysinst/arch/i386/md.c: revision 1.31
usr.sbin/sysinst/arch/i386/md.c: revision 1.32
usr.sbin/sysinst/arch/evbarm/md.c: revision 1.17
usr.sbin/sysinst/arch/evbarm/md.c: revision 1.18
usr.sbin/sysinst/arch/evbarm/md.c: revision 1.19
usr.sbin/sysinst/arch/shark/md.c: revision 1.6
usr.sbin/sysinst/arch/landisk/md.c: revision 1.14
usr.sbin/sysinst/util.c: revision 1.43
usr.sbin/sysinst/gpt.c: revision 1.20
usr.sbin/sysinst/util.c: revision 1.44
usr.sbin/sysinst/gpt.c: revision 1.21
usr.sbin/sysinst/gpt.c: revision 1.22
usr.sbin/sysinst/arch/evbarm/msg.md.en: revision 1.2
usr.sbin/sysinst/arch/ofppc/md.c: revision 1.11
usr.sbin/sysinst/util.c: revision 1.46
usr.sbin/sysinst/arch/ofppc/md.c: revision 1.12
usr.sbin/sysinst/util.c: revision 1.47
usr.sbin/sysinst/arch/evbarm/md.h: revision 1.6
usr.sbin/sysinst/util.c: revision 1.48
usr.sbin/sysinst/arch/evbarm/md.h: revision 1.7
usr.sbin/sysinst/arch/evbmips/md.c: revision 1.9
usr.sbin/sysinst/msg.mi.fr: revision 1.28
usr.sbin/sysinst/msg.mi.fr: revision 1.29
usr.sbin/sysinst/arch/sgimips/md.c: revision 1.9
usr.sbin/sysinst/arch/evbarm/Makefile: revision 1.3
usr.sbin/sysinst/msg.mi.de: revision 1.23
usr.sbin/sysinst/arch/hpcsh/md.c: revision 1.10
usr.sbin/sysinst/msg.mi.de: revision 1.24
usr.sbin/sysinst/install.c: revision 1.15
usr.sbin/sysinst/install.c: revision 1.16
usr.sbin/sysinst/arch/sparc64/md.c: revision 1.6
usr.sbin/sysinst/install.c: revision 1.17
usr.sbin/sysinst/install.c: revision 1.18
usr.sbin/sysinst/partitions.h: revision 1.16
usr.sbin/sysinst/install.c: revision 1.19
usr.sbin/sysinst/partitions.h: revision 1.17
usr.sbin/sysinst/arch/evbppc/md.c: revision 1.9
usr.sbin/sysinst/arch/playstation2/md.c: revision 1.9
usr.sbin/sysinst/partitions.h: revision 1.18
usr.sbin/sysinst/arch/hpcarm/md.c: revision 1.9
usr.sbin/sysinst/partitions.h: revision 1.19
usr.sbin/sysinst/msg.mi.es: revision 1.24
usr.sbin/sysinst/msg.mi.es: revision 1.25
usr.sbin/sysinst/msg.mi.es: revision 1.26
usr.sbin/sysinst/arch/zaurus/md.c: revision 1.9
usr.sbin/sysinst/target.c: revision 1.13
usr.sbin/sysinst/target.c: revision 1.14
usr.sbin/sysinst/part_edit.c: revision 1.17
usr.sbin/sysinst/part_edit.c: revision 1.18
usr.sbin/sysinst/msg.mi.fr: revision 1.30
usr.sbin/sysinst/arch/mvme68k/md.c: revision 1.11
usr.sbin/sysinst/part_edit.c: revision 1.19
usr.sbin/sysinst/msg.mi.fr: revision 1.31
usr.sbin/sysinst/arch/alpha/md.c: revision 1.9
usr.sbin/sysinst/msg.mi.en: revision 1.30
usr.sbin/sysinst/defs.h: revision 1.56
usr.sbin/sysinst/msg.mi.en: revision 1.31
usr.sbin/sysinst/defs.h: revision 1.57
usr.sbin/sysinst/msg.mi.en: revision 1.32
usr.sbin/sysinst/arch/amiga/md.c: revision 1.6
usr.sbin/sysinst/arch/hpcmips/md.c: revision 1.9
usr.sbin/sysinst/defs.h: revision 1.58
usr.sbin/sysinst/arch/cats/md.c: revision 1.5
usr.sbin/sysinst/defs.h: revision 1.59
usr.sbin/sysinst/arch/newsmips/md.c: revision 1.6
usr.sbin/sysinst/arch/pmax/md.c: revision 1.8
usr.sbin/sysinst/arch/mipsco/md.c: revision 1.8
usr.sbin/sysinst/part_edit.c: revision 1.20
usr.sbin/sysinst/part_edit.c: revision 1.21
usr.sbin/sysinst/arch/macppc/md.c: revision 1.6
usr.sbin/sysinst/part_edit.c: revision 1.22
usr.sbin/sysinst/part_edit.c: revision 1.23
usr.sbin/sysinst/part_edit.c: revision 1.24
usr.sbin/sysinst/defs.h: revision 1.60
usr.sbin/sysinst/arch/mac68k/Makefile: revision 1.3
usr.sbin/sysinst/defs.h: revision 1.61
usr.sbin/sysinst/defs.h: revision 1.63
usr.sbin/sysinst/defs.h: revision 1.64
usr.sbin/sysinst/defs.h: revision 1.65
usr.sbin/sysinst/label.c: revision 1.21
usr.sbin/sysinst/defs.h: revision 1.66
usr.sbin/sysinst/label.c: revision 1.22
usr.sbin/sysinst/defs.h: revision 1.67
usr.sbin/sysinst/label.c: revision 1.23
usr.sbin/sysinst/label.c: revision 1.24
usr.sbin/sysinst/label.c: revision 1.25
usr.sbin/sysinst/label.c: revision 1.26
usr.sbin/sysinst/label.c: revision 1.27
usr.sbin/sysinst/msg.mi.pl: revision 1.31
usr.sbin/sysinst/label.c: revision 1.28
usr.sbin/sysinst/msg.mi.pl: revision 1.32
usr.sbin/sysinst/label.c: revision 1.29
usr.sbin/sysinst/arch/atari/md.c: revision 1.7
usr.sbin/sysinst/disklabel.c: revision 1.36
usr.sbin/sysinst/disklabel.c: revision 1.37
usr.sbin/sysinst/disklabel.c: revision 1.38
usr.sbin/sysinst/disklabel.c: revision 1.39
usr.sbin/sysinst/arch/bebox/md.c: revision 1.9
usr.sbin/sysinst/mbr.c: revision 1.32
usr.sbin/sysinst/disks.c: revision 1.66
usr.sbin/sysinst/mbr.c: revision 1.33
usr.sbin/sysinst/disks.c: revision 1.67
usr.sbin/sysinst/mbr.c: revision 1.34
usr.sbin/sysinst/arch/emips/md.c: revision 1.9
usr.sbin/sysinst/disks.c: revision 1.68
usr.sbin/sysinst/partitions.c: revision 1.11
usr.sbin/sysinst/mbr.c: revision 1.35
usr.sbin/sysinst/disks.c: revision 1.69
usr.sbin/sysinst/mbr.c: revision 1.36
usr.sbin/sysinst/arch/hppa/md.c: revision 1.8
usr.sbin/sysinst/arch/prep/md.c: revision 1.13
usr.sbin/sysinst/label.c: revision 1.30
usr.sbin/sysinst/arch/ews4800mips/md.c: revision 1.7
usr.sbin/sysinst/main.c: revision 1.21
usr.sbin/sysinst/main.c: revision 1.22
usr.sbin/sysinst/main.c: revision 1.23
usr.sbin/sysinst/bsddisklabel.c: revision 1.40
usr.sbin/sysinst/main.c: revision 1.24
usr.sbin/sysinst/arch/cobalt/md.h: revision 1.6
usr.sbin/sysinst/bsddisklabel.c: revision 1.41
usr.sbin/sysinst/main.c: revision 1.25
usr.sbin/sysinst/arch/news68k/md.c: revision 1.7
usr.sbin/sysinst/bsddisklabel.c: revision 1.42
usr.sbin/sysinst/bsddisklabel.c: revision 1.43
usr.sbin/sysinst/bsddisklabel.c: revision 1.44
usr.sbin/sysinst/bsddisklabel.c: revision 1.45
Use strlcpy in a few places to guarnatee 0-terminated strings
Rever previous: the d_packname in struct disklabel is not NUL terminated.
Disable the warning instead.
Do not force -Os optimization (unless SMALLPROG)
Remove unused "rel" global variable and make the -r option a no-op.
PR 55045: strlcpy(NULL, ..., 0) considered harmfull in some implementations.
PR misc/54886: bump threshold for automatic/default creation of a tmpfs /tmp
up slightly (to 384 MB ram). This will make sure the default install has
a > 64 MB /tmp available (number pulled out of thin air, 64 MB is the minimum
required by the ZFS tests).
Don't depend on common symbol definitions.
boardype should not be common.
Redo the root-size-limit check again after we grew the root partition
for kernel dumps. Auto-enable the /usr partition if it overflows.
For all non-root partitions, default to FFSv2.
When extending a partition (to fill the total disk size) do respect
size limits.
Do not suggest a size limited partition for extension by default.
Minor tweak to previous: when forcing a /usr partition just to have an
arbitrary extendable partition, still use its default size initially.
At the end of a new installation save entropy.
Ooops, backout previous - twice the entropy saving is not needed.
Instead slightly improve the (slightly) hidden other code that already
did it.
PR 55202: disable swapping if we started it due to low ram
it's "its"
Remove "If you booted from a floppy" message
Set HAVE_INSTALL_IMAGE for evbarm
Change mountpoint of boot ext2fs from /stand to /ext2 to avoid conflict.
Should be pulled up to netbsd-9, with fixes of PR/55060.
MBR type for Ext2 should be MBR_PTYPE_LNXEXT2, not MBR_PTYPE_FAT12.
Silence -Wstringop-truncation for ``name'' in disp_selected_part().
This variable is used only for display, and truncation seems harmless.
PR 55572: avoid crash when answering the mount point prompt for a previously
empty mount point with an emptry sting.
When adding a new partition in the concrete partition editor, make sure
to set a pointer to the partition table interface in the new entry.
Otherwise we may end up not writing back the partitions at all, leading
to further fallout later.
Receipe to reproduce the issue from Frederic Fauberteau, thanks!
In the concrete partitions editor, after deleting the last partition move
the menu selection to the "add a partition" entry (instead of the sentinel
line which is not an active menu entry).
Typo in comment
Keep a list of all partition tables from which we have deleted partitions
and make sure we update those partition tables when writing partitions,
even if no install related partition remains on them.
Fix display of timezone selection menu
If there is no current partitioning manager assume we are editing the
current system and make target_already_root() return true.
Fixes various fallout when using sysinst post installation.
PR 55377: mark boot partitions in the partition size display, as suggested
by Izumi Tsutsui (minor modifications + all bugs by me)
PR 55378: do not assume RAW_PART to be either 2 or 3
PR 55379: avoid creating bogus /etc/fstab lines for /dev/cd* if no
cdrom is available.
PR 55381: try to deal with moved (but not yet saved) partitions when
calculating free space
Apply patch provided by Izumi Tsutsui in PR 55382: make ext2 partitions
show up in the outer (MBR) partition table, needed for example on Cobalt
where firmware boots from that partition.
PR 55384: detangle pm->ptstart from the "install" flag (selecting a
target partition). Instead introduce a new PTI_INSTALL_TARGET per partition
flag and deal with it in the partitioning backends.
Honour pm->ptstart when allocating new partitions - it is supposed to be
the first sector usable by NetBSD.
If we have no explicitly marke target root partition, make sure to set
the proper flag on the implicit one.
When merging existing partitions with desired target system layout
information, only force the "mount" flag if the existing partitions
has a valid mount point.
Add a heuristic to detect and properly mark EFI system partitions
when re-using pre-existing partitions.
When MD code requests a reserved area (at the start of the disk)
make sure to properly account for the "lost" space during all calculations
and especially when expanding the main partition to fill the disk.
Avoid using the global "pm" or a passed device descriptons when we are
passing disk limits explicitly anyway.
Simplify/fix a few rounding calculations.
When creating new partitions for "full disk" use, pass a install target
hint to the partitioning backend (for the outer NetBSD partition).
Use an install target hint to mark a new partition active.
When compiled with BOOTSEL support, also name the new partition "NetBSD".
Remove more pm->ptstart abuse - calculate values localy where needed
instead.
Fix editing start and size of not yet existing outer partitions.
Previously we abused pm->ptstart / pm->ptsize to pass the bounds of the
NetBSD outer partition to the inner partition editor - but now this is
not a valid assumption any more, so explicitly fix the bounds if an
outer partition exists.
Remove very strange code that special-cased MSDOS file systems and refused
to newfs the partition (despite explicit request to do so) if it was
mountable.
Accidently carried over from a dim and distant past, before we had
fsck_newfs.
PR 55536: when we find existing partition tables and have alternative
formats available, offer to delete partitions and create new ones from
scratch (in some other or the same on-disk format).
Minor fix to previous: fix condition when we offer the partition type
switch - it makes sense even if the disk is partitioned but has no valid
partitions.
Before forcing MBR partitions into our disklabel, make sure they are not
there yet - could happen in various paths when reusing existing partitions
(or parts of that) - previously we would blindly duplicate identical
partitions.
Ooops, part of previous was not meant to be included yet
When renumbering partitions (after deletions) be slightly more lax
in matching, to cope with differences between MBR EFI partitions and
disklabel MSDOS partitions.
PR 55142: on popular demand bring back expert options to adjust the
number of free inodes, block size and fragment size for FFS and LFS.
Fix copy & pasto noticed by Jason Mitchell: change the type of a GPT
partition via "gpt type" - not "gpt label".
Fix copy & pasto (missing "again" label)
Remove dead code
Move MBR writing (if any) post disklabel writing, otherwise strange
interactions happen.
Properly convert partition default sizes in MB to number of sectors
 1.6.2.2 17-Nov-2019  msaitoh Pull up following revision(s) (requested by martin in ticket #436):
usr.sbin/sysinst/disks.c: revision 1.55
usr.sbin/sysinst/msg.mi.en: revision 1.24
usr.sbin/sysinst/mbr.c: revision 1.22
usr.sbin/sysinst/disks.c: revision 1.56
usr.sbin/sysinst/msg.mi.en: revision 1.25
usr.sbin/sysinst/disks.c: revision 1.57
usr.sbin/sysinst/arch/playstation2/msg.md.pl: revision 1.3
usr.sbin/sysinst/Makefile.inc: revision 1.30
usr.sbin/sysinst/configmenu.c: revision 1.11
usr.sbin/sysinst/util.c: revision 1.35
usr.sbin/sysinst/gpt.c: revision 1.12
usr.sbin/sysinst/util.c: revision 1.36
usr.sbin/sysinst/arch/playstation2/msg.md.de: revision 1.3
usr.sbin/sysinst/arch/i386/menus.md: revision 1.3
usr.sbin/sysinst/util.c: revision 1.37
usr.sbin/sysinst/part_edit.c: revision 1.11
usr.sbin/sysinst/arch/i386/msg.md.en: revision 1.2
usr.sbin/sysinst/util.c: revision 1.38
usr.sbin/sysinst/part_edit.c: revision 1.12
usr.sbin/sysinst/arch/i386/msg.md.en: revision 1.3
usr.sbin/sysinst/util.c: revision 1.39
usr.sbin/sysinst/part_edit.c: revision 1.13
usr.sbin/sysinst/arch/i386/msg.md.en: revision 1.4
usr.sbin/sysinst/disklabel.c: revision 1.15
usr.sbin/sysinst/bsddisklabel.c: revision 1.30
usr.sbin/sysinst/arch/i386/msg.md.es: revision 1.2
usr.sbin/sysinst/bsddisklabel.c: revision 1.31
usr.sbin/sysinst/arch/i386/msg.md.es: revision 1.3
usr.sbin/sysinst/arch/i386/msg.md.es: revision 1.4
usr.sbin/sysinst/mbr.h: revision 1.4
usr.sbin/sysinst/main.c: revision 1.18
usr.sbin/sysinst/partman.c: revision 1.44
usr.sbin/sysinst/msg.mi.de: revision 1.17
usr.sbin/sysinst/arch/i386/msg.md.fr: revision 1.2
usr.sbin/sysinst/msg.mi.de: revision 1.18
usr.sbin/sysinst/arch/i386/msg.md.fr: revision 1.3
usr.sbin/sysinst/arch/playstation2/msg.md.en: revision 1.3
usr.sbin/sysinst/arch/i386/msg.md.fr: revision 1.4
usr.sbin/sysinst/arch/amd64/md.c: revision 1.2
usr.sbin/sysinst/arch/ews4800mips/Makefile: revision 1.3
usr.sbin/sysinst/arch/playstation2/msg.md.es: revision 1.3
usr.sbin/sysinst/label.c: revision 1.13
usr.sbin/sysinst/Makefile.inc: revision 1.29
usr.sbin/sysinst/label.c: revision 1.14
usr.sbin/sysinst/util.c: revision 1.40
usr.sbin/sysinst/partitions.c: revision 1.5
usr.sbin/sysinst/arch/amd64/md.h: revision 1.8
usr.sbin/sysinst/msg.mi.es: revision 1.18
usr.sbin/sysinst/net.c: revision 1.34
usr.sbin/sysinst/msg.mi.es: revision 1.19
usr.sbin/sysinst/arch/i386/msg.md.pl: revision 1.2
usr.sbin/sysinst/arch/i386/md.c: revision 1.22
usr.sbin/sysinst/msg.mi.fr: revision 1.22
usr.sbin/sysinst/arch/playstation2/msg.md.fr: revision 1.3
usr.sbin/sysinst/arch/i386/msg.md.pl: revision 1.3
usr.sbin/sysinst/arch/i386/md.c: revision 1.23
usr.sbin/sysinst/msg.mi.pl: revision 1.25
usr.sbin/sysinst/msg.mi.fr: revision 1.23
usr.sbin/sysinst/arch/i386/msg.md.pl: revision 1.4
usr.sbin/sysinst/arch/i386/md.c: revision 1.24
usr.sbin/sysinst/partitions.h: revision 1.8
usr.sbin/sysinst/msg.mi.pl: revision 1.26
usr.sbin/sysinst/arch/i386/msg.md.de: revision 1.2
usr.sbin/sysinst/arch/i386/msg.md.de: revision 1.3
usr.sbin/sysinst/arch/i386/msg.md.de: revision 1.4
usr.sbin/sysinst/run.c: revision 1.13
usr.sbin/sysinst/defs.h: revision 1.46
usr.sbin/sysinst/install.c: revision 1.12
usr.sbin/sysinst/defs.h: revision 1.47
usr.sbin/sysinst/install.c: revision 1.13
usr.sbin/sysinst/defs.h: revision 1.48
Add options to the various partitioning stages that allow cloning of
alien partitions (optionally including data).
PR 54467: we trust our own sets, extract them with -P to allow symlink
redirection (especially for updates and chroot services - back out
once a better solution for those is implemented)
Make cloning support optional, so we can save some space on very small
install media.
Drop MBR and cloning support on crunched install media.
Make tar extraction flags depend on our usage of pax-as-tar or bsdtar.
Fix missing newlines in bios match display, pointed out by maxv.
Drop unused variable.
Fix table of bios geomatries
knf style adjustments
Make the bootblock selection menu more sane, pointed out by maxv
Make sure all menus have a translatable exit option (or none at all).
On amd64 support installation with a KASLR kernel, via "custom install"
and selecting the GENERIC_KASLR kernel set.
Setup /prekern and boot.cfg accordingly.
 1.6.2.1 17-Nov-2019  martin Pull up following revision(s) (requested by maya in ticket #435):

distrib/sets/maketars: revision 1.90
usr.sbin/sysinst/arch/playstation2/md.h: revision 1.2
usr.sbin/sysinst/arch/sandpoint/md.h: revision 1.3
usr.sbin/sysinst/arch/evbppc/md.h: revision 1.3
usr.sbin/sysinst/arch/hpcarm/md.h: revision 1.3
usr.sbin/sysinst/arch/mvme68k/md.h: revision 1.3
distrib/sun3/MakeInstTape: revision 1.3
usr.sbin/sysinst/util.c: revision 1.33
distrib/sets/lists/rescue/mi: revision 1.1
distrib/sets/lists/base/rescue.sun2: file removal
usr.sbin/sysinst/arch/zaurus/md.h: revision 1.3
distrib/sets/lists/base/rescue.ad.m68k.shl: file removal
distrib/sets/regpkgset: revision 1.13
usr.sbin/sysinst/arch/i386/md.h: revision 1.7
distrib/sets/lists/base/rescue.sparc: file removal
distrib/notes/mvme68k/xfer: revision 1.19
distrib/sets/sets.subr: revision 1.187
distrib/common/bootimage/Makefile.bootimage: revision 1.22
usr.sbin/sysinst/msg.mi.de: revision 1.16
usr.sbin/sysinst/arch/atari/md.h: revision 1.3
rescue/Makefile: revision 1.38
distrib/sets/lists/base/rescue.macppc: file removal
usr.sbin/sysinst/arch/arc/md.h: revision 1.4
distrib/miniroot/install.sub: revision 1.49
usr.sbin/sysinst/arch/acorn32/md.h: revision 1.3
usr.sbin/sysinst/arch/x68k/md.h: revision 1.3
usr.sbin/sysinst/arch/hpcmips/md.h: revision 1.3
usr.sbin/sysinst/arch/bebox/md.h: revision 1.3
usr.sbin/sysinst/arch/hpcsh/md.h: revision 1.2
distrib/sets/lists/base/rescue.shark: file removal
usr.sbin/sysinst/arch/emips/md.h: revision 1.5
distrib/utils/embedded/mkimage: revision 1.70
usr.sbin/sysinst/arch/shark/md.h: revision 1.3
usr.sbin/sysinst/arch/pmax/md.h: revision 1.4
usr.sbin/sysinst/arch/amiga/md.h: revision 1.4
usr.sbin/sysinst/arch/hp300/md.h: revision 1.5
rescue/list.ldconfig: file removal
distrib/sets/lists/base/rescue.ad.m68k: file removal
usr.sbin/sysinst/arch/prep/md.h: revision 1.4
usr.sbin/sysinst/arch/cats/md.h: revision 1.4
usr.sbin/sysinst/arch/amd64/md.h: revision 1.7
usr.sbin/sysinst/msg.mi.es: revision 1.17
usr.sbin/sysinst/msg.mi.fr: revision 1.20
usr.sbin/sysinst/msg.mi.pl: revision 1.23
distrib/sets/lists/base/rescue.i386: file removal
usr.sbin/sysinst/arch/evbarm/md.h: revision 1.3
distrib/sets/lists/base/rescue.vax: file removal
distrib/amd64/uefi-installimage/Makefile.bootimage: revision 1.12
usr.sbin/sysinst/arch/evbmips/md.h: revision 1.3
distrib/sets/lists/base/rescue.mi: file removal
distrib/sets/README: revision 1.14
usr.sbin/sysinst/arch/sgimips/md.h: revision 1.4
distrib/sets/lists/base/rescue.sparc64: file removal
distrib/sets/lists/base/rescue.mi: revision 1.45
distrib/sets/lists/base/rescue.mi: revision 1.46
usr.sbin/sysinst/arch/ofppc/md.h: revision 1.4
usr.sbin/sysinst/arch/cobalt/md.h: revision 1.4
distrib/sets/lists/base/rescue.ad.arm: file removal
distrib/sets/lists/base/rescue.mac68k: file removal
usr.sbin/sysinst/defs.h: revision 1.45
usr.sbin/sysinst/arch/landisk/md.h: revision 1.2
distrib/notes/atari/xfer: revision 1.17
etc/Makefile: revision 1.441
usr.sbin/sysinst/msg.mi.en: revision 1.22
distrib/sun2/MakeInstTape: revision 1.2

Remove ldconfig from /rescue, and mark it MI obsolete.
- ldconfig in netbsd refers to a.out binaries only. We've been ELF-only
since NetBSD 2.0 or so, and having it in /rescue served little purpose
even before that, as /rescue is standalone.
- Using MI obsolete to avoid the need for MD set lists where ldconfig
is the sole entry

Mark /rescue/edlabel as MI-obsolete, so we can remove all remaining MD
rescue set list files.

Split out /rescue to its own set and adapt installers/images to add it.

This is meant to make updates safer: if something goes wrong with updating
base, we still have the old, standalone /rescue to recover from.
 1.1 26-Jul-2014  dholland branches: 1.1.2; 1.1.6;
Move sysinst sources to usr.sbin.

This commit only physically moves the sources - there are no other
changes, to maximize the probability that this will be treated as a
rename if we ever do manage to migrate away from CVS.

Moving sysinst has been discussed on and off for years and has two
goals: making it easier to work on sysinst, and also making sysinst
available on running systems for use installing chroots and VM images
and other such things. None of the latter is possible yet, but as they
say, one thing at a time.

Doing this now was approved in an impromptu fashion by mrg, riz,
riastradh, me, and groo.
 1.1.6.2 20-Aug-2014  tls Rebase to HEAD as of a few days ago.
 1.1.6.1 26-Jul-2014  tls file Makefile was added on branch tls-maxphys on 2014-08-20 00:05:14 +0000
 1.1.2.2 10-Aug-2014  tls Rebase.
 1.1.2.1 26-Jul-2014  tls file Makefile was added on branch tls-earlyentropy on 2014-08-10 07:00:25 +0000
 1.10 09-Dec-2022  martin Add set_default_sizemult() calls to some architectures obviously
lacking it.
 1.9 26-Jun-2022  martin Fix typo
 1.8 24-Jun-2022  tsutsui Check on-disk disklabel properly even on ports without raw BSD disklabel.

Fixes PR install/56890.
 1.7 29-Jan-2022  martin When upgrading, update the boot code post extraction from
the updated target file system.
 1.6 12-Oct-2020  martin PR 55536: when we find existing partition tables and have alternative
formats available, offer to delete partitions and create new ones from
scratch (in some other or the same on-disk format).
 1.5 13-Jul-2019  martin branches: 1.5.2;
We may call md_pre_mount() multiple times for the same install set,
so pass an additional index argument so MD code knows which part
of the install will be mounted next.
 1.4 20-Jun-2019  christos Use _fmt_ msg_ methods when formats are needed.
 1.3 12-Jun-2019  martin Rework internal data structures and "interfaces to user interface" functions
to get rid of all disklabel assumptions.

Previously (even for GPT partitioning) struct disklabel was used, which
obviously breaks large disk setups. Also many MD parts and parts of the
user interface assumed (a) a struct disklabel is used internally to
store partitioning information and (b) partitions are named 'a' ... $MAXPART.

Get rid of this and replace it with a quite abstract interface that should
be able to deal with all variants in partition storage:

- partitions are stored in a (partly abstract) struct disk_partitions
and most parts of it are only accessed via accessor functions provided
by a "partitioning scheme".

- implement partitioning schemes for MBR, disklabel and GPT (with likely
RDB [amiga] and Apple Partition Map [mac*] to follow soon)

- partitioning schemes may be cascaded, e.g. on x86 when using MBR as
"outer partitions", we have disklabel as "inner partitions".

- all user interface goes via accessor functions in the partitioning scheme,
some of which return pointers to special user interface descriptors
(e.g. to allow editing partition flags, which are scheme specific)

Overall the user interface changes (in this initial step) are minimal but
noticable. A new Anita is needed for automatic test setups - many thanks
to Andreas Gustafsson for lots of early testing and a new Anita version,
and to Manuel Bouyer for cooperation and tests of the Anita release.

This work was sponsored by The NetBSD Foundation, Inc.
 1.2 03-Aug-2014  martin branches: 1.2.2; 1.2.6; 1.2.28;
(Finally) merge a slightly modified version of the 2012 GSoC results
from Eugene Lozovoy: add extended partitioning options to sysinst.
Still needs some testing and polishing, but it now is possible to use GPT
or to create a RAID set from scratch and install onto it.
 1.1 26-Jul-2014  dholland Move sysinst sources to usr.sbin.

This commit only physically moves the sources - there are no other
changes, to maximize the probability that this will be treated as a
rename if we ever do manage to migrate away from CVS.

Moving sysinst has been discussed on and off for years and has two
goals: making it easier to work on sysinst, and also making sysinst
available on running systems for use installing chroots and VM images
and other such things. None of the latter is possible yet, but as they
say, one thing at a time.

Doing this now was approved in an impromptu fashion by mrg, riz,
riastradh, me, and groo.
 1.2.28.1 13-Apr-2020  martin Mostly merge changes from HEAD upto 20200411
 1.2.6.2 20-Aug-2014  tls Rebase to HEAD as of a few days ago.
 1.2.6.1 03-Aug-2014  tls file md.c was added on branch tls-maxphys on 2014-08-20 00:05:14 +0000
 1.2.2.2 10-Aug-2014  tls Rebase.
 1.2.2.1 03-Aug-2014  tls file md.c was added on branch tls-earlyentropy on 2014-08-10 07:00:25 +0000
 1.5.2.4 02-Jan-2023  martin Pull up following revision(s) (requested by tsutsui in ticket #1559):

usr.sbin/sysinst/arch/x68k/md.c: revision 1.13
usr.sbin/sysinst/disklabel.c: revision 1.49
usr.sbin/sysinst/defs.h: revision 1.85
usr.sbin/sysinst/arch/amiga/md.c: revision 1.8
usr.sbin/sysinst/arch/amiga/md.c: revision 1.9

Check on-disk disklabel properly even on ports without raw BSD disklabel.
Fixes PR install/56890.

Fix typo
 1.5.2.3 14-Dec-2022  snj Pull up following revision(s) (requested by martin in ticket #1554):

usr.sbin/sysinst/arch/amiga/md.c: revision 1.10
usr.sbin/sysinst/arch/atari/md.c: revision 1.10
usr.sbin/sysinst/arch/dummy/md.c: revision 1.8
usr.sbin/sysinst/arch/sparc/md.c: revision 1.8
usr.sbin/sysinst/arch/sparc64/md.c: revision 1.8

Add set_default_sizemult() calls to some architectures obviously
lacking it.
 1.5.2.2 02-Feb-2022  msaitoh Pull up following revision(s) (requested by martin in ticket #1422):
usr.sbin/sysinst/util.c: revision 1.64
usr.sbin/sysinst/arch/hpcsh/md.c: revision 1.11
usr.sbin/sysinst/arch/alpha/md.c: revision 1.10
usr.sbin/sysinst/arch/sparc64/md.c: revision 1.7
usr.sbin/sysinst/arch/emips/md.c: revision 1.10
usr.sbin/sysinst/arch/cobalt/md.c: revision 1.15
usr.sbin/sysinst/arch/x68k/md.c: revision 1.12
usr.sbin/sysinst/arch/sandpoint/md.c: revision 1.10
usr.sbin/sysinst/arch/luna68k/md.c: revision 1.10
usr.sbin/sysinst/arch/hp300/md.c: revision 1.12
usr.sbin/sysinst/arch/vax/md.c: revision 1.8
usr.sbin/sysinst/arch/hpcmips/md.c: revision 1.10
usr.sbin/sysinst/target.c: revision 1.16
usr.sbin/sysinst/arch/mvme68k/md.c: revision 1.12
usr.sbin/sysinst/arch/arc/md.c: revision 1.14
usr.sbin/sysinst/target.c: revision 1.17
usr.sbin/sysinst/arch/i386/md.c: revision 1.34
usr.sbin/sysinst/arch/mac68k/md.c: revision 1.11
usr.sbin/sysinst/arch/atari/md.c: revision 1.8
usr.sbin/sysinst/arch/sgimips/md.c: revision 1.10
usr.sbin/sysinst/arch/acorn32/md.c: revision 1.8
usr.sbin/sysinst/install.c: revision 1.22
usr.sbin/sysinst/arch/amiga/md.c: revision 1.7
usr.sbin/sysinst/arch/cats/md.c: revision 1.6
usr.sbin/sysinst/arch/dummy/md.c: revision 1.7
usr.sbin/sysinst/arch/shark/md.c: revision 1.7
usr.sbin/sysinst/arch/pmax/md.c: revision 1.9
usr.sbin/sysinst/arch/newsmips/md.c: revision 1.7
usr.sbin/sysinst/arch/mipsco/md.c: revision 1.9
usr.sbin/sysinst/arch/landisk/md.c: revision 1.15
usr.sbin/sysinst/arch/hppa/md.c: revision 1.9
usr.sbin/sysinst/arch/prep/md.c: revision 1.14
usr.sbin/sysinst/defs.h: revision 1.77
usr.sbin/sysinst/arch/ofppc/md.c: revision 1.13
usr.sbin/sysinst/arch/ews4800mips/md.c: revision 1.8
usr.sbin/sysinst/defs.h: revision 1.78
usr.sbin/sysinst/arch/macppc/md.c: revision 1.7
usr.sbin/sysinst/arch/evbppc/md.c: revision 1.10
usr.sbin/sysinst/defs.h: revision 1.79
usr.sbin/sysinst/gpt.c: revision 1.27
usr.sbin/sysinst/arch/bebox/md.c: revision 1.10
usr.sbin/sysinst/gpt.c: revision 1.28
usr.sbin/sysinst/arch/sparc/md.c: revision 1.7
usr.sbin/sysinst/arch/evbsh3/md.c: revision 1.7
usr.sbin/sysinst/arch/evbarm/md.c: revision 1.22
usr.sbin/sysinst/arch/news68k/md.c: revision 1.8
usr.sbin/sysinst/upgrade.c: revision 1.19
usr.sbin/sysinst/arch/zaurus/md.c: revision 1.12
usr.sbin/sysinst/arch/playstation2/md.c: revision 1.10
usr.sbin/sysinst/arch/hpcarm/md.c: revision 1.11
usr.sbin/sysinst/arch/evbmips/md.c: revision 1.10
usr.sbin/sysinst/main.c: revision 1.28
Add an option to set the directory where we look for message catalogs.
Try to get rid of all wedges we created (after unmounting).
When upgrading, update the boot code post extraction from
the updated target file system.
Do not defer wedge deletions when we have nothing mounted.
Define and use a constant for maximum disk name length.
 1.5.2.1 15-Oct-2020  bouyer Pull up following revision(s) (requested by martin in ticket #1113):
usr.sbin/sysinst/bsddisklabel.c: revision 1.46
usr.sbin/sysinst/bsddisklabel.c: revision 1.47
usr.sbin/sysinst/disklabel.c: revision 1.40
usr.sbin/sysinst/arch/cobalt/md.c: revision 1.13
usr.sbin/sysinst/bsddisklabel.c: revision 1.48
usr.sbin/sysinst/disklabel.c: revision 1.41
usr.sbin/sysinst/arch/cobalt/md.c: revision 1.14
usr.sbin/sysinst/bsddisklabel.c: revision 1.49
usr.sbin/sysinst/disklabel.c: revision 1.42
usr.sbin/sysinst/Makefile.inc: revision 1.34
usr.sbin/sysinst/disks.c: revision 1.70
usr.sbin/sysinst/arch/hp300/md.c: revision 1.11
usr.sbin/sysinst/disks.c: revision 1.71
usr.sbin/sysinst/arch/i386/md.h: revision 1.8
usr.sbin/sysinst/arch/arc/md.c: revision 1.13
usr.sbin/sysinst/mbr.h: revision 1.5
usr.sbin/sysinst/mbr.h: revision 1.6
usr.sbin/sysinst/arch/mac68k/md.c: revision 1.10
usr.sbin/sysinst/bsddisklabel.c: revision 1.50
usr.sbin/sysinst/arch/acorn32/md.c: revision 1.7
usr.sbin/sysinst/bsddisklabel.c: revision 1.51
usr.sbin/sysinst/bsddisklabel.c: revision 1.52
usr.sbin/sysinst/bsddisklabel.c: revision 1.53
usr.sbin/sysinst/bsddisklabel.c: revision 1.54
usr.sbin/sysinst/bsddisklabel.c: revision 1.55
usr.sbin/sysinst/bsddisklabel.c: revision 1.56
usr.sbin/sysinst/arch/dummy/md.c: revision 1.6
usr.sbin/sysinst/arch/amd64/md.h: revision 1.9
usr.sbin/sysinst/arch/evbsh3/md.c: revision 1.6
usr.sbin/sysinst/arch/sparc/md.c: revision 1.6
usr.sbin/sysinst/arch/zaurus/md.c: revision 1.10
usr.sbin/sysinst/arch/x68k/md.c: revision 1.11
usr.sbin/sysinst/arch/sandpoint/md.c: revision 1.9
usr.sbin/sysinst/arch/vax/md.c: revision 1.7
usr.sbin/sysinst/arch/luna68k/md.c: revision 1.9
usr.sbin/sysinst/gpt.c: revision 1.19
usr.sbin/sysinst/arch/i386/md.c: revision 1.31
usr.sbin/sysinst/arch/i386/md.c: revision 1.32
usr.sbin/sysinst/arch/evbarm/md.c: revision 1.17
usr.sbin/sysinst/arch/evbarm/md.c: revision 1.18
usr.sbin/sysinst/arch/evbarm/md.c: revision 1.19
usr.sbin/sysinst/arch/shark/md.c: revision 1.6
usr.sbin/sysinst/arch/landisk/md.c: revision 1.14
usr.sbin/sysinst/util.c: revision 1.43
usr.sbin/sysinst/gpt.c: revision 1.20
usr.sbin/sysinst/util.c: revision 1.44
usr.sbin/sysinst/gpt.c: revision 1.21
usr.sbin/sysinst/gpt.c: revision 1.22
usr.sbin/sysinst/arch/evbarm/msg.md.en: revision 1.2
usr.sbin/sysinst/arch/ofppc/md.c: revision 1.11
usr.sbin/sysinst/util.c: revision 1.46
usr.sbin/sysinst/arch/ofppc/md.c: revision 1.12
usr.sbin/sysinst/util.c: revision 1.47
usr.sbin/sysinst/arch/evbarm/md.h: revision 1.6
usr.sbin/sysinst/util.c: revision 1.48
usr.sbin/sysinst/arch/evbarm/md.h: revision 1.7
usr.sbin/sysinst/arch/evbmips/md.c: revision 1.9
usr.sbin/sysinst/msg.mi.fr: revision 1.28
usr.sbin/sysinst/msg.mi.fr: revision 1.29
usr.sbin/sysinst/arch/sgimips/md.c: revision 1.9
usr.sbin/sysinst/arch/evbarm/Makefile: revision 1.3
usr.sbin/sysinst/msg.mi.de: revision 1.23
usr.sbin/sysinst/arch/hpcsh/md.c: revision 1.10
usr.sbin/sysinst/msg.mi.de: revision 1.24
usr.sbin/sysinst/install.c: revision 1.15
usr.sbin/sysinst/install.c: revision 1.16
usr.sbin/sysinst/arch/sparc64/md.c: revision 1.6
usr.sbin/sysinst/install.c: revision 1.17
usr.sbin/sysinst/install.c: revision 1.18
usr.sbin/sysinst/partitions.h: revision 1.16
usr.sbin/sysinst/install.c: revision 1.19
usr.sbin/sysinst/partitions.h: revision 1.17
usr.sbin/sysinst/arch/evbppc/md.c: revision 1.9
usr.sbin/sysinst/arch/playstation2/md.c: revision 1.9
usr.sbin/sysinst/partitions.h: revision 1.18
usr.sbin/sysinst/arch/hpcarm/md.c: revision 1.9
usr.sbin/sysinst/partitions.h: revision 1.19
usr.sbin/sysinst/msg.mi.es: revision 1.24
usr.sbin/sysinst/msg.mi.es: revision 1.25
usr.sbin/sysinst/msg.mi.es: revision 1.26
usr.sbin/sysinst/arch/zaurus/md.c: revision 1.9
usr.sbin/sysinst/target.c: revision 1.13
usr.sbin/sysinst/target.c: revision 1.14
usr.sbin/sysinst/part_edit.c: revision 1.17
usr.sbin/sysinst/part_edit.c: revision 1.18
usr.sbin/sysinst/msg.mi.fr: revision 1.30
usr.sbin/sysinst/arch/mvme68k/md.c: revision 1.11
usr.sbin/sysinst/part_edit.c: revision 1.19
usr.sbin/sysinst/msg.mi.fr: revision 1.31
usr.sbin/sysinst/arch/alpha/md.c: revision 1.9
usr.sbin/sysinst/msg.mi.en: revision 1.30
usr.sbin/sysinst/defs.h: revision 1.56
usr.sbin/sysinst/msg.mi.en: revision 1.31
usr.sbin/sysinst/defs.h: revision 1.57
usr.sbin/sysinst/msg.mi.en: revision 1.32
usr.sbin/sysinst/arch/amiga/md.c: revision 1.6
usr.sbin/sysinst/arch/hpcmips/md.c: revision 1.9
usr.sbin/sysinst/defs.h: revision 1.58
usr.sbin/sysinst/arch/cats/md.c: revision 1.5
usr.sbin/sysinst/defs.h: revision 1.59
usr.sbin/sysinst/arch/newsmips/md.c: revision 1.6
usr.sbin/sysinst/arch/pmax/md.c: revision 1.8
usr.sbin/sysinst/arch/mipsco/md.c: revision 1.8
usr.sbin/sysinst/part_edit.c: revision 1.20
usr.sbin/sysinst/part_edit.c: revision 1.21
usr.sbin/sysinst/arch/macppc/md.c: revision 1.6
usr.sbin/sysinst/part_edit.c: revision 1.22
usr.sbin/sysinst/part_edit.c: revision 1.23
usr.sbin/sysinst/part_edit.c: revision 1.24
usr.sbin/sysinst/defs.h: revision 1.60
usr.sbin/sysinst/arch/mac68k/Makefile: revision 1.3
usr.sbin/sysinst/defs.h: revision 1.61
usr.sbin/sysinst/defs.h: revision 1.63
usr.sbin/sysinst/defs.h: revision 1.64
usr.sbin/sysinst/defs.h: revision 1.65
usr.sbin/sysinst/label.c: revision 1.21
usr.sbin/sysinst/defs.h: revision 1.66
usr.sbin/sysinst/label.c: revision 1.22
usr.sbin/sysinst/defs.h: revision 1.67
usr.sbin/sysinst/label.c: revision 1.23
usr.sbin/sysinst/label.c: revision 1.24
usr.sbin/sysinst/label.c: revision 1.25
usr.sbin/sysinst/label.c: revision 1.26
usr.sbin/sysinst/label.c: revision 1.27
usr.sbin/sysinst/msg.mi.pl: revision 1.31
usr.sbin/sysinst/label.c: revision 1.28
usr.sbin/sysinst/msg.mi.pl: revision 1.32
usr.sbin/sysinst/label.c: revision 1.29
usr.sbin/sysinst/arch/atari/md.c: revision 1.7
usr.sbin/sysinst/disklabel.c: revision 1.36
usr.sbin/sysinst/disklabel.c: revision 1.37
usr.sbin/sysinst/disklabel.c: revision 1.38
usr.sbin/sysinst/disklabel.c: revision 1.39
usr.sbin/sysinst/arch/bebox/md.c: revision 1.9
usr.sbin/sysinst/mbr.c: revision 1.32
usr.sbin/sysinst/disks.c: revision 1.66
usr.sbin/sysinst/mbr.c: revision 1.33
usr.sbin/sysinst/disks.c: revision 1.67
usr.sbin/sysinst/mbr.c: revision 1.34
usr.sbin/sysinst/arch/emips/md.c: revision 1.9
usr.sbin/sysinst/disks.c: revision 1.68
usr.sbin/sysinst/partitions.c: revision 1.11
usr.sbin/sysinst/mbr.c: revision 1.35
usr.sbin/sysinst/disks.c: revision 1.69
usr.sbin/sysinst/mbr.c: revision 1.36
usr.sbin/sysinst/arch/hppa/md.c: revision 1.8
usr.sbin/sysinst/arch/prep/md.c: revision 1.13
usr.sbin/sysinst/label.c: revision 1.30
usr.sbin/sysinst/arch/ews4800mips/md.c: revision 1.7
usr.sbin/sysinst/main.c: revision 1.21
usr.sbin/sysinst/main.c: revision 1.22
usr.sbin/sysinst/main.c: revision 1.23
usr.sbin/sysinst/bsddisklabel.c: revision 1.40
usr.sbin/sysinst/main.c: revision 1.24
usr.sbin/sysinst/arch/cobalt/md.h: revision 1.6
usr.sbin/sysinst/bsddisklabel.c: revision 1.41
usr.sbin/sysinst/main.c: revision 1.25
usr.sbin/sysinst/arch/news68k/md.c: revision 1.7
usr.sbin/sysinst/bsddisklabel.c: revision 1.42
usr.sbin/sysinst/bsddisklabel.c: revision 1.43
usr.sbin/sysinst/bsddisklabel.c: revision 1.44
usr.sbin/sysinst/bsddisklabel.c: revision 1.45
Use strlcpy in a few places to guarnatee 0-terminated strings
Rever previous: the d_packname in struct disklabel is not NUL terminated.
Disable the warning instead.
Do not force -Os optimization (unless SMALLPROG)
Remove unused "rel" global variable and make the -r option a no-op.
PR 55045: strlcpy(NULL, ..., 0) considered harmfull in some implementations.
PR misc/54886: bump threshold for automatic/default creation of a tmpfs /tmp
up slightly (to 384 MB ram). This will make sure the default install has
a > 64 MB /tmp available (number pulled out of thin air, 64 MB is the minimum
required by the ZFS tests).
Don't depend on common symbol definitions.
boardype should not be common.
Redo the root-size-limit check again after we grew the root partition
for kernel dumps. Auto-enable the /usr partition if it overflows.
For all non-root partitions, default to FFSv2.
When extending a partition (to fill the total disk size) do respect
size limits.
Do not suggest a size limited partition for extension by default.
Minor tweak to previous: when forcing a /usr partition just to have an
arbitrary extendable partition, still use its default size initially.
At the end of a new installation save entropy.
Ooops, backout previous - twice the entropy saving is not needed.
Instead slightly improve the (slightly) hidden other code that already
did it.
PR 55202: disable swapping if we started it due to low ram
it's "its"
Remove "If you booted from a floppy" message
Set HAVE_INSTALL_IMAGE for evbarm
Change mountpoint of boot ext2fs from /stand to /ext2 to avoid conflict.
Should be pulled up to netbsd-9, with fixes of PR/55060.
MBR type for Ext2 should be MBR_PTYPE_LNXEXT2, not MBR_PTYPE_FAT12.
Silence -Wstringop-truncation for ``name'' in disp_selected_part().
This variable is used only for display, and truncation seems harmless.
PR 55572: avoid crash when answering the mount point prompt for a previously
empty mount point with an emptry sting.
When adding a new partition in the concrete partition editor, make sure
to set a pointer to the partition table interface in the new entry.
Otherwise we may end up not writing back the partitions at all, leading
to further fallout later.
Receipe to reproduce the issue from Frederic Fauberteau, thanks!
In the concrete partitions editor, after deleting the last partition move
the menu selection to the "add a partition" entry (instead of the sentinel
line which is not an active menu entry).
Typo in comment
Keep a list of all partition tables from which we have deleted partitions
and make sure we update those partition tables when writing partitions,
even if no install related partition remains on them.
Fix display of timezone selection menu
If there is no current partitioning manager assume we are editing the
current system and make target_already_root() return true.
Fixes various fallout when using sysinst post installation.
PR 55377: mark boot partitions in the partition size display, as suggested
by Izumi Tsutsui (minor modifications + all bugs by me)
PR 55378: do not assume RAW_PART to be either 2 or 3
PR 55379: avoid creating bogus /etc/fstab lines for /dev/cd* if no
cdrom is available.
PR 55381: try to deal with moved (but not yet saved) partitions when
calculating free space
Apply patch provided by Izumi Tsutsui in PR 55382: make ext2 partitions
show up in the outer (MBR) partition table, needed for example on Cobalt
where firmware boots from that partition.
PR 55384: detangle pm->ptstart from the "install" flag (selecting a
target partition). Instead introduce a new PTI_INSTALL_TARGET per partition
flag and deal with it in the partitioning backends.
Honour pm->ptstart when allocating new partitions - it is supposed to be
the first sector usable by NetBSD.
If we have no explicitly marke target root partition, make sure to set
the proper flag on the implicit one.
When merging existing partitions with desired target system layout
information, only force the "mount" flag if the existing partitions
has a valid mount point.
Add a heuristic to detect and properly mark EFI system partitions
when re-using pre-existing partitions.
When MD code requests a reserved area (at the start of the disk)
make sure to properly account for the "lost" space during all calculations
and especially when expanding the main partition to fill the disk.
Avoid using the global "pm" or a passed device descriptons when we are
passing disk limits explicitly anyway.
Simplify/fix a few rounding calculations.
When creating new partitions for "full disk" use, pass a install target
hint to the partitioning backend (for the outer NetBSD partition).
Use an install target hint to mark a new partition active.
When compiled with BOOTSEL support, also name the new partition "NetBSD".
Remove more pm->ptstart abuse - calculate values localy where needed
instead.
Fix editing start and size of not yet existing outer partitions.
Previously we abused pm->ptstart / pm->ptsize to pass the bounds of the
NetBSD outer partition to the inner partition editor - but now this is
not a valid assumption any more, so explicitly fix the bounds if an
outer partition exists.
Remove very strange code that special-cased MSDOS file systems and refused
to newfs the partition (despite explicit request to do so) if it was
mountable.
Accidently carried over from a dim and distant past, before we had
fsck_newfs.
PR 55536: when we find existing partition tables and have alternative
formats available, offer to delete partitions and create new ones from
scratch (in some other or the same on-disk format).
Minor fix to previous: fix condition when we offer the partition type
switch - it makes sense even if the disk is partitioned but has no valid
partitions.
Before forcing MBR partitions into our disklabel, make sure they are not
there yet - could happen in various paths when reusing existing partitions
(or parts of that) - previously we would blindly duplicate identical
partitions.
Ooops, part of previous was not meant to be included yet
When renumbering partitions (after deletions) be slightly more lax
in matching, to cope with differences between MBR EFI partitions and
disklabel MSDOS partitions.
PR 55142: on popular demand bring back expert options to adjust the
number of free inodes, block size and fragment size for FFS and LFS.
Fix copy & pasto noticed by Jason Mitchell: change the type of a GPT
partition via "gpt type" - not "gpt label".
Fix copy & pasto (missing "again" label)
Remove dead code
Move MBR writing (if any) post disklabel writing, otherwise strange
interactions happen.
Properly convert partition default sizes in MB to number of sectors
 1.6 05-Dec-2021  msaitoh s/existance/existence/ in comment.
 1.5 11-Dec-2019  martin For now rely on the kernel mapping native RDB partitions.
 1.4 02-Oct-2019  maya Split out /rescue to its own set and adapt installers/images to add it.

This is meant to make updates safer: if something goes wrong with updating
base, we still have the old, standalone /rescue to recover from.
 1.3 18-Nov-2018  martin branches: 1.3.2;
More size estimate fixes
 1.2 05-Nov-2018  martin Get rid of hard coded disk names and use sysctl hw.disknames
instead.
 1.1 26-Jul-2014  dholland branches: 1.1.2; 1.1.6; 1.1.26; 1.1.28;
Move sysinst sources to usr.sbin.

This commit only physically moves the sources - there are no other
changes, to maximize the probability that this will be treated as a
rename if we ever do manage to migrate away from CVS.

Moving sysinst has been discussed on and off for years and has two
goals: making it easier to work on sysinst, and also making sysinst
available on running systems for use installing chroots and VM images
and other such things. None of the latter is possible yet, but as they
say, one thing at a time.

Doing this now was approved in an impromptu fashion by mrg, riz,
riastradh, me, and groo.
 1.1.28.3 13-Apr-2020  martin Mostly merge changes from HEAD upto 20200411
 1.1.28.2 08-Apr-2020  martin Merge changes from current as of 20200406
 1.1.28.1 10-Jun-2019  christos Sync with HEAD
 1.1.26.1 26-Nov-2018  pgoyette Sync with HEAD, resolve a couple of conflicts
 1.1.6.2 20-Aug-2014  tls Rebase to HEAD as of a few days ago.
 1.1.6.1 26-Jul-2014  tls file md.h was added on branch tls-maxphys on 2014-08-20 00:05:14 +0000
 1.1.2.2 10-Aug-2014  tls Rebase.
 1.1.2.1 26-Jul-2014  tls file md.h was added on branch tls-earlyentropy on 2014-08-10 07:00:25 +0000
 1.3.2.2 17-Dec-2019  msaitoh Pull up following revision(s) (requested by martin in ticket #560):
usr.sbin/sysinst/partitions.h: revision 1.11
usr.sbin/sysinst/defs.h: revision 1.49
usr.sbin/sysinst/mbr.c: revision 1.23
usr.sbin/sysinst/msg.mi.en: revision 1.26
usr.sbin/sysinst/disks.c: revision 1.58
usr.sbin/sysinst/arch/evbarm/menus.md.pl: revision 1.2
usr.sbin/sysinst/msg.mi.es: revision 1.20
usr.sbin/sysinst/arch/mvme68k/md.c: revision 1.9
usr.sbin/sysinst/gpt.c: revision 1.13
usr.sbin/sysinst/arch/evbarm/md.c: revision 1.10
usr.sbin/sysinst/arch/arc/md.c: revision 1.10
usr.sbin/sysinst/disklabel.c: revision 1.18
usr.sbin/sysinst/bsddisklabel.c: revision 1.33
usr.sbin/sysinst/disklabel.c: revision 1.19
usr.sbin/sysinst/main.c: revision 1.19
usr.sbin/sysinst/partman.c: revision 1.45
usr.sbin/sysinst/arch/alpha/md.c: revision 1.7
usr.sbin/sysinst/msg.mi.de: revision 1.19
usr.sbin/sysinst/arch/evbarm/menus.md.en: revision 1.2
usr.sbin/sysinst/arch/x68k/md.h: revision 1.4
usr.sbin/sysinst/arch/x68k/md.c: revision 1.9
usr.sbin/sysinst/arch/evbarm/menus.md.es: revision 1.2
usr.sbin/sysinst/wskbd.c: revision 1.4
usr.sbin/sysinst/label.c: revision 1.15
usr.sbin/sysinst/arch/amiga/md.h: revision 1.5
usr.sbin/sysinst/label.c: revision 1.16
usr.sbin/sysinst/arch/hp300/md.c: revision 1.9
usr.sbin/sysinst/arch/emips/md.c: revision 1.8
usr.sbin/sysinst/label.c: revision 1.17
usr.sbin/sysinst/arch/pmax/md.c: revision 1.7
usr.sbin/sysinst/partitions.c: revision 1.6
usr.sbin/sysinst/arch/prep/md.c: revision 1.10
usr.sbin/sysinst/arch/mipsco/md.c: revision 1.7
usr.sbin/sysinst/partitions.c: revision 1.7
usr.sbin/sysinst/partitions.c: revision 1.8
usr.sbin/sysinst/arch/ews4800mips/md.c: revision 1.5
usr.sbin/sysinst/disklabel.c: revision 1.20
usr.sbin/sysinst/arch/evbarm/menus.md.fr: revision 1.2
usr.sbin/sysinst/msg.mi.fr: revision 1.24
usr.sbin/sysinst/disklabel.c: revision 1.21
usr.sbin/sysinst/partitions.h: revision 1.9
usr.sbin/sysinst/msg.mi.pl: revision 1.27
usr.sbin/sysinst/disklabel.c: revision 1.22
usr.sbin/sysinst/disklabel.c: revision 1.23
usr.sbin/sysinst/arch/i386/md.c: revision 1.27
usr.sbin/sysinst/disklabel.c: revision 1.24
usr.sbin/sysinst/disklabel.c: revision 1.25
usr.sbin/sysinst/arch/cobalt/md.h: revision 1.5
usr.sbin/sysinst/disklabel.c: revision 1.26
usr.sbin/sysinst/disklabel.c: revision 1.27
usr.sbin/sysinst/partitions.h: revision 1.10
usr.sbin/sysinst/arch/cobalt/md.c: revision 1.10
PR install/54582: allow MD code to disable on-disk presence verification
of "real" disklabels. Auto-enable this (at run time) when there is no other
partitioning scheme but disklabel configured.
Hard-coded enable this for x68k to allow using kernel based translations
for native Human68k partitions.
Get rid of the evbarm preliminary menu: do not bother to ask the user
whether this is a RPi - query the FDT instead.
PR 54065: add optional "old compat" variant of ext2fs in file system
type selection and use that as default for the cobalt boot file system.
For now rely on the kernel mapping native RDB partitions.
Fix detection of existing disklabels in the case when we only have
the disklabel partitioning scheme available.
Fix DISKLABEL_NO_ONDISK_VERIFY (accidently disabled in previous)
Fix inverted comparison
Do not try to change the keyboard layout if we are not running on the
console.
When trying to tell a fictious but empty label from a real one, skip
partition a if it has the same start and size as the raw partition.
Remove bogus assert.
When finding (paritioning scheme native) partition types for file systems
from our install description, pass the partition type (not only the file
system type). Sometimes (e.g. EFI boot partition on GPT) the filesystem
type (MSDOS) is not a unique selector.
Adapt MD parts to changes in get_fs_part_type (pass partition type).
If a fictious label has no RAW_PART assume there is no valid disk label.
Pass proper track size when initializing the default alignment - this is
important with sunlabels.
Fix overlapping partitions display
Reject (what we consider) empty/invalid fake disklabels no matter whether
we have other partitioning schemes available or not.
Do not show disklabel command invocation by default (only if there are
errors).
After installing boot blocks with RUN_NO_CLEAR (and handling the
potential errors) make sure to clear the stdscreen.
 1.3.2.1 17-Nov-2019  martin Pull up following revision(s) (requested by maya in ticket #435):

distrib/sets/maketars: revision 1.90
usr.sbin/sysinst/arch/playstation2/md.h: revision 1.2
usr.sbin/sysinst/arch/sandpoint/md.h: revision 1.3
usr.sbin/sysinst/arch/evbppc/md.h: revision 1.3
usr.sbin/sysinst/arch/hpcarm/md.h: revision 1.3
usr.sbin/sysinst/arch/mvme68k/md.h: revision 1.3
distrib/sun3/MakeInstTape: revision 1.3
usr.sbin/sysinst/util.c: revision 1.33
distrib/sets/lists/rescue/mi: revision 1.1
distrib/sets/lists/base/rescue.sun2: file removal
usr.sbin/sysinst/arch/zaurus/md.h: revision 1.3
distrib/sets/lists/base/rescue.ad.m68k.shl: file removal
distrib/sets/regpkgset: revision 1.13
usr.sbin/sysinst/arch/i386/md.h: revision 1.7
distrib/sets/lists/base/rescue.sparc: file removal
distrib/notes/mvme68k/xfer: revision 1.19
distrib/sets/sets.subr: revision 1.187
distrib/common/bootimage/Makefile.bootimage: revision 1.22
usr.sbin/sysinst/msg.mi.de: revision 1.16
usr.sbin/sysinst/arch/atari/md.h: revision 1.3
rescue/Makefile: revision 1.38
distrib/sets/lists/base/rescue.macppc: file removal
usr.sbin/sysinst/arch/arc/md.h: revision 1.4
distrib/miniroot/install.sub: revision 1.49
usr.sbin/sysinst/arch/acorn32/md.h: revision 1.3
usr.sbin/sysinst/arch/x68k/md.h: revision 1.3
usr.sbin/sysinst/arch/hpcmips/md.h: revision 1.3
usr.sbin/sysinst/arch/bebox/md.h: revision 1.3
usr.sbin/sysinst/arch/hpcsh/md.h: revision 1.2
distrib/sets/lists/base/rescue.shark: file removal
usr.sbin/sysinst/arch/emips/md.h: revision 1.5
distrib/utils/embedded/mkimage: revision 1.70
usr.sbin/sysinst/arch/shark/md.h: revision 1.3
usr.sbin/sysinst/arch/pmax/md.h: revision 1.4
usr.sbin/sysinst/arch/amiga/md.h: revision 1.4
usr.sbin/sysinst/arch/hp300/md.h: revision 1.5
rescue/list.ldconfig: file removal
distrib/sets/lists/base/rescue.ad.m68k: file removal
usr.sbin/sysinst/arch/prep/md.h: revision 1.4
usr.sbin/sysinst/arch/cats/md.h: revision 1.4
usr.sbin/sysinst/arch/amd64/md.h: revision 1.7
usr.sbin/sysinst/msg.mi.es: revision 1.17
usr.sbin/sysinst/msg.mi.fr: revision 1.20
usr.sbin/sysinst/msg.mi.pl: revision 1.23
distrib/sets/lists/base/rescue.i386: file removal
usr.sbin/sysinst/arch/evbarm/md.h: revision 1.3
distrib/sets/lists/base/rescue.vax: file removal
distrib/amd64/uefi-installimage/Makefile.bootimage: revision 1.12
usr.sbin/sysinst/arch/evbmips/md.h: revision 1.3
distrib/sets/lists/base/rescue.mi: file removal
distrib/sets/README: revision 1.14
usr.sbin/sysinst/arch/sgimips/md.h: revision 1.4
distrib/sets/lists/base/rescue.sparc64: file removal
distrib/sets/lists/base/rescue.mi: revision 1.45
distrib/sets/lists/base/rescue.mi: revision 1.46
usr.sbin/sysinst/arch/ofppc/md.h: revision 1.4
usr.sbin/sysinst/arch/cobalt/md.h: revision 1.4
distrib/sets/lists/base/rescue.ad.arm: file removal
distrib/sets/lists/base/rescue.mac68k: file removal
usr.sbin/sysinst/defs.h: revision 1.45
usr.sbin/sysinst/arch/landisk/md.h: revision 1.2
distrib/notes/atari/xfer: revision 1.17
etc/Makefile: revision 1.441
usr.sbin/sysinst/msg.mi.en: revision 1.22
distrib/sun2/MakeInstTape: revision 1.2

Remove ldconfig from /rescue, and mark it MI obsolete.
- ldconfig in netbsd refers to a.out binaries only. We've been ELF-only
since NetBSD 2.0 or so, and having it in /rescue served little purpose
even before that, as /rescue is standalone.
- Using MI obsolete to avoid the need for MD set lists where ldconfig
is the sole entry

Mark /rescue/edlabel as MI-obsolete, so we can remove all remaining MD
rescue set list files.

Split out /rescue to its own set and adapt installers/images to add it.

This is meant to make updates safer: if something goes wrong with updating
base, we still have the old, standalone /rescue to recover from.
 1.1 26-Jul-2014  dholland branches: 1.1.2; 1.1.6;
Move sysinst sources to usr.sbin.

This commit only physically moves the sources - there are no other
changes, to maximize the probability that this will be treated as a
rename if we ever do manage to migrate away from CVS.

Moving sysinst has been discussed on and off for years and has two
goals: making it easier to work on sysinst, and also making sysinst
available on running systems for use installing chroots and VM images
and other such things. None of the latter is possible yet, but as they
say, one thing at a time.

Doing this now was approved in an impromptu fashion by mrg, riz,
riastradh, me, and groo.
 1.1.6.2 20-Aug-2014  tls Rebase to HEAD as of a few days ago.
 1.1.6.1 26-Jul-2014  tls file menus.md.en was added on branch tls-maxphys on 2014-08-20 00:05:14 +0000
 1.1.2.2 10-Aug-2014  tls Rebase.
 1.1.2.1 26-Jul-2014  tls file menus.md.en was added on branch tls-earlyentropy on 2014-08-10 07:00:25 +0000
 1.1 26-Jul-2014  dholland branches: 1.1.2; 1.1.6;
Move sysinst sources to usr.sbin.

This commit only physically moves the sources - there are no other
changes, to maximize the probability that this will be treated as a
rename if we ever do manage to migrate away from CVS.

Moving sysinst has been discussed on and off for years and has two
goals: making it easier to work on sysinst, and also making sysinst
available on running systems for use installing chroots and VM images
and other such things. None of the latter is possible yet, but as they
say, one thing at a time.

Doing this now was approved in an impromptu fashion by mrg, riz,
riastradh, me, and groo.
 1.1.6.2 20-Aug-2014  tls Rebase to HEAD as of a few days ago.
 1.1.6.1 26-Jul-2014  tls file menus.md.es was added on branch tls-maxphys on 2014-08-20 00:05:14 +0000
 1.1.2.2 10-Aug-2014  tls Rebase.
 1.1.2.1 26-Jul-2014  tls file menus.md.es was added on branch tls-earlyentropy on 2014-08-10 07:00:25 +0000
 1.1 26-Jul-2014  dholland branches: 1.1.2; 1.1.6;
Move sysinst sources to usr.sbin.

This commit only physically moves the sources - there are no other
changes, to maximize the probability that this will be treated as a
rename if we ever do manage to migrate away from CVS.

Moving sysinst has been discussed on and off for years and has two
goals: making it easier to work on sysinst, and also making sysinst
available on running systems for use installing chroots and VM images
and other such things. None of the latter is possible yet, but as they
say, one thing at a time.

Doing this now was approved in an impromptu fashion by mrg, riz,
riastradh, me, and groo.
 1.1.6.2 20-Aug-2014  tls Rebase to HEAD as of a few days ago.
 1.1.6.1 26-Jul-2014  tls file menus.md.fr was added on branch tls-maxphys on 2014-08-20 00:05:14 +0000
 1.1.2.2 10-Aug-2014  tls Rebase.
 1.1.2.1 26-Jul-2014  tls file menus.md.fr was added on branch tls-earlyentropy on 2014-08-10 07:00:25 +0000
 1.1 26-Jul-2014  dholland branches: 1.1.2; 1.1.6;
Move sysinst sources to usr.sbin.

This commit only physically moves the sources - there are no other
changes, to maximize the probability that this will be treated as a
rename if we ever do manage to migrate away from CVS.

Moving sysinst has been discussed on and off for years and has two
goals: making it easier to work on sysinst, and also making sysinst
available on running systems for use installing chroots and VM images
and other such things. None of the latter is possible yet, but as they
say, one thing at a time.

Doing this now was approved in an impromptu fashion by mrg, riz,
riastradh, me, and groo.
 1.1.6.2 20-Aug-2014  tls Rebase to HEAD as of a few days ago.
 1.1.6.1 26-Jul-2014  tls file msg.md.de was added on branch tls-maxphys on 2014-08-20 00:05:14 +0000
 1.1.2.2 10-Aug-2014  tls Rebase.
 1.1.2.1 26-Jul-2014  tls file msg.md.de was added on branch tls-earlyentropy on 2014-08-10 07:00:25 +0000
 1.1 26-Jul-2014  dholland branches: 1.1.2; 1.1.6;
Move sysinst sources to usr.sbin.

This commit only physically moves the sources - there are no other
changes, to maximize the probability that this will be treated as a
rename if we ever do manage to migrate away from CVS.

Moving sysinst has been discussed on and off for years and has two
goals: making it easier to work on sysinst, and also making sysinst
available on running systems for use installing chroots and VM images
and other such things. None of the latter is possible yet, but as they
say, one thing at a time.

Doing this now was approved in an impromptu fashion by mrg, riz,
riastradh, me, and groo.
 1.1.6.2 20-Aug-2014  tls Rebase to HEAD as of a few days ago.
 1.1.6.1 26-Jul-2014  tls file msg.md.en was added on branch tls-maxphys on 2014-08-20 00:05:14 +0000
 1.1.2.2 10-Aug-2014  tls Rebase.
 1.1.2.1 26-Jul-2014  tls file msg.md.en was added on branch tls-earlyentropy on 2014-08-10 07:00:25 +0000
 1.1 26-Jul-2014  dholland branches: 1.1.2; 1.1.6;
Move sysinst sources to usr.sbin.

This commit only physically moves the sources - there are no other
changes, to maximize the probability that this will be treated as a
rename if we ever do manage to migrate away from CVS.

Moving sysinst has been discussed on and off for years and has two
goals: making it easier to work on sysinst, and also making sysinst
available on running systems for use installing chroots and VM images
and other such things. None of the latter is possible yet, but as they
say, one thing at a time.

Doing this now was approved in an impromptu fashion by mrg, riz,
riastradh, me, and groo.
 1.1.6.2 20-Aug-2014  tls Rebase to HEAD as of a few days ago.
 1.1.6.1 26-Jul-2014  tls file msg.md.es was added on branch tls-maxphys on 2014-08-20 00:05:14 +0000
 1.1.2.2 10-Aug-2014  tls Rebase.
 1.1.2.1 26-Jul-2014  tls file msg.md.es was added on branch tls-earlyentropy on 2014-08-10 07:00:25 +0000
 1.1 26-Jul-2014  dholland branches: 1.1.2; 1.1.6;
Move sysinst sources to usr.sbin.

This commit only physically moves the sources - there are no other
changes, to maximize the probability that this will be treated as a
rename if we ever do manage to migrate away from CVS.

Moving sysinst has been discussed on and off for years and has two
goals: making it easier to work on sysinst, and also making sysinst
available on running systems for use installing chroots and VM images
and other such things. None of the latter is possible yet, but as they
say, one thing at a time.

Doing this now was approved in an impromptu fashion by mrg, riz,
riastradh, me, and groo.
 1.1.6.2 20-Aug-2014  tls Rebase to HEAD as of a few days ago.
 1.1.6.1 26-Jul-2014  tls file msg.md.fr was added on branch tls-maxphys on 2014-08-20 00:05:14 +0000
 1.1.2.2 10-Aug-2014  tls Rebase.
 1.1.2.1 26-Jul-2014  tls file msg.md.fr was added on branch tls-earlyentropy on 2014-08-10 07:00:25 +0000
 1.2 12-Jun-2019  martin Rework internal data structures and "interfaces to user interface" functions
to get rid of all disklabel assumptions.

Previously (even for GPT partitioning) struct disklabel was used, which
obviously breaks large disk setups. Also many MD parts and parts of the
user interface assumed (a) a struct disklabel is used internally to
store partitioning information and (b) partitions are named 'a' ... $MAXPART.

Get rid of this and replace it with a quite abstract interface that should
be able to deal with all variants in partition storage:

- partitions are stored in a (partly abstract) struct disk_partitions
and most parts of it are only accessed via accessor functions provided
by a "partitioning scheme".

- implement partitioning schemes for MBR, disklabel and GPT (with likely
RDB [amiga] and Apple Partition Map [mac*] to follow soon)

- partitioning schemes may be cascaded, e.g. on x86 when using MBR as
"outer partitions", we have disklabel as "inner partitions".

- all user interface goes via accessor functions in the partitioning scheme,
some of which return pointers to special user interface descriptors
(e.g. to allow editing partition flags, which are scheme specific)

Overall the user interface changes (in this initial step) are minimal but
noticable. A new Anita is needed for automatic test setups - many thanks
to Andreas Gustafsson for lots of early testing and a new Anita version,
and to Manuel Bouyer for cooperation and tests of the Anita release.

This work was sponsored by The NetBSD Foundation, Inc.
 1.1 26-Jul-2014  dholland branches: 1.1.2; 1.1.6; 1.1.28;
Move sysinst sources to usr.sbin.

This commit only physically moves the sources - there are no other
changes, to maximize the probability that this will be treated as a
rename if we ever do manage to migrate away from CVS.

Moving sysinst has been discussed on and off for years and has two
goals: making it easier to work on sysinst, and also making sysinst
available on running systems for use installing chroots and VM images
and other such things. None of the latter is possible yet, but as they
say, one thing at a time.

Doing this now was approved in an impromptu fashion by mrg, riz,
riastradh, me, and groo.
 1.1.28.1 13-Apr-2020  martin Mostly merge changes from HEAD upto 20200411
 1.1.6.2 20-Aug-2014  tls Rebase to HEAD as of a few days ago.
 1.1.6.1 26-Jul-2014  tls file Makefile was added on branch tls-maxphys on 2014-08-20 00:05:14 +0000
 1.1.2.2 10-Aug-2014  tls Rebase.
 1.1.2.1 26-Jul-2014  tls file Makefile was added on branch tls-earlyentropy on 2014-08-10 07:00:25 +0000
 1.14 29-Jan-2022  martin When upgrading, update the boot code post extraction from
the updated target file system.
 1.13 12-Oct-2020  martin PR 55536: when we find existing partition tables and have alternative
formats available, offer to delete partitions and create new ones from
scratch (in some other or the same on-disk format).
 1.12 27-Jan-2020  martin Fix support for non-512-byte/sector disks again after I broke it when
introducing the abstract partition backends.
 1.11 09-Jan-2020  martin Finish conversion of extended partitioning parts to new abstract
backend interface. XXX still could use a lot of polishing.
 1.10 14-Dec-2019  martin Adapt MD parts to changes in get_fs_part_type (pass partition type).
 1.9 14-Aug-2019  martin When we ask the user to select a partitioning scheme and they refuse
(that is: select "Exit" in the menu), abort installation.
 1.8 13-Jul-2019  martin branches: 1.8.2;
We may call md_pre_mount() multiple times for the same install set,
so pass an additional index argument so MD code knows which part
of the install will be mounted next.
 1.7 20-Jun-2019  christos Use _fmt_ msg_ methods when formats are needed.
 1.6 13-Jun-2019  martin In the new world order disks may come without any partitioning scheme
attached - so the user may have to select one.
 1.5 12-Jun-2019  martin Rework internal data structures and "interfaces to user interface" functions
to get rid of all disklabel assumptions.

Previously (even for GPT partitioning) struct disklabel was used, which
obviously breaks large disk setups. Also many MD parts and parts of the
user interface assumed (a) a struct disklabel is used internally to
store partitioning information and (b) partitions are named 'a' ... $MAXPART.

Get rid of this and replace it with a quite abstract interface that should
be able to deal with all variants in partition storage:

- partitions are stored in a (partly abstract) struct disk_partitions
and most parts of it are only accessed via accessor functions provided
by a "partitioning scheme".

- implement partitioning schemes for MBR, disklabel and GPT (with likely
RDB [amiga] and Apple Partition Map [mac*] to follow soon)

- partitioning schemes may be cascaded, e.g. on x86 when using MBR as
"outer partitions", we have disklabel as "inner partitions".

- all user interface goes via accessor functions in the partitioning scheme,
some of which return pointers to special user interface descriptors
(e.g. to allow editing partition flags, which are scheme specific)

Overall the user interface changes (in this initial step) are minimal but
noticable. A new Anita is needed for automatic test setups - many thanks
to Andreas Gustafsson for lots of early testing and a new Anita version,
and to Manuel Bouyer for cooperation and tests of the Anita release.

This work was sponsored by The NetBSD Foundation, Inc.
 1.4 10-May-2015  martin branches: 1.4.16;
Backout the previous incorrect fix for PR 49440 and redo it more globaly:
get rid of the global "yesno", introduce utility functions "ask_yesno()"
and "ask_noyes()" instead, greatly simplifying a lot of code.
Pass in a pointer to the return value to various "set source" menus.
 1.3 02-Jan-2015  abs Rather than scatter set_swap() calls wrapped in ram size checks through
md_post_disklabel() and md_pre_update(), abstract them out to an MI
set_swap_if_low_ram() and call from the appropriate MI places.
Now all platforms add swap if the system has <= 32M of RAM.
 1.2 03-Aug-2014  martin branches: 1.2.2; 1.2.4; 1.2.6;
(Finally) merge a slightly modified version of the 2012 GSoC results
from Eugene Lozovoy: add extended partitioning options to sysinst.
Still needs some testing and polishing, but it now is possible to use GPT
or to create a RAID set from scratch and install onto it.
 1.1 26-Jul-2014  dholland Move sysinst sources to usr.sbin.

This commit only physically moves the sources - there are no other
changes, to maximize the probability that this will be treated as a
rename if we ever do manage to migrate away from CVS.

Moving sysinst has been discussed on and off for years and has two
goals: making it easier to work on sysinst, and also making sysinst
available on running systems for use installing chroots and VM images
and other such things. None of the latter is possible yet, but as they
say, one thing at a time.

Doing this now was approved in an impromptu fashion by mrg, riz,
riastradh, me, and groo.
 1.2.6.2 20-Aug-2014  tls Rebase to HEAD as of a few days ago.
 1.2.6.1 03-Aug-2014  tls file md.c was added on branch tls-maxphys on 2014-08-20 00:05:14 +0000
 1.2.4.2 14-May-2015  snj Pull up following revision(s) (requested by martin in ticket #756):
usr.sbin/sysinst/arch/arc/md.c: revision 1.4
usr.sbin/sysinst/arch/atari/md.c: revision 1.3
usr.sbin/sysinst/arch/cobalt/md.c: revision 1.4
usr.sbin/sysinst/arch/emips/md.c: revision 1.3
usr.sbin/sysinst/arch/evbarm/md.c: revision 1.4
usr.sbin/sysinst/arch/evbarm64/md.c: revision 1.2
usr.sbin/sysinst/arch/hp300/md.c: revision 1.4
usr.sbin/sysinst/arch/i386/md.c: revision 1.6
usr.sbin/sysinst/arch/mac68k/md.c: revision 1.3
usr.sbin/sysinst/arch/mac68k/md.c: revision 1.4
usr.sbin/sysinst/arch/mac68k/menus.md.de: revisions 1.3, 1.4
usr.sbin/sysinst/arch/mac68k/menus.md.en: revisions 1.3, 1.4
usr.sbin/sysinst/arch/mac68k/menus.md.es: revisions 1.3, 1.4
usr.sbin/sysinst/arch/mac68k/menus.md.pl: revisions 1.3, 1.4
usr.sbin/sysinst/arch/mvme68k/md.c: revision 1.4
usr.sbin/sysinst/arch/ofppc/md.c: revision 1.3
usr.sbin/sysinst/arch/prep/md.c: revisions 1.3, 1.4
usr.sbin/sysinst/arch/prep/menus.md.en: revision 1.2
usr.sbin/sysinst/arch/x68k/md.c: revision 1.4
usr.sbin/sysinst/configmenu.c: revisions 1.4, 1.5
usr.sbin/sysinst/defs.h: revisions 1.8, 1.9
usr.sbin/sysinst/disks.c: revision 1.9
usr.sbin/sysinst/install.c: revision 1.4
usr.sbin/sysinst/label.c: revision 1.3
usr.sbin/sysinst/mbr.c: revision 1.5
usr.sbin/sysinst/menus.mi: revisions 1.9, 1.10
usr.sbin/sysinst/net.c: revisions 1.18-1.20
usr.sbin/sysinst/partman.c: revision 1.10
usr.sbin/sysinst/upgrade.c: revision 1.4
usr.sbin/sysinst/util.c: revisions 1.6, 1.7
Backout the previous incorrect fix for PR 49440 and redo it more globaly:
get rid of the global "yesno", introduce utility functions "ask_yesno()"
and "ask_noyes()" instead, greatly simplifying a lot of code.
Pass in a pointer to the return value to various "set source" menus.
--
Make it compile on architectures that do not support INET6 in sysinst
--
Remove a few more (ab-)usages of "yesno".
--
More (ab-)usages of "yesno"
--
Make "ask_yesno" and "ask_noyes" take a const char * as argument, moving
the deconst() dance into the utility functions and simplifying all callers.
--
Missed a few more "yesno" in previous
 1.2.4.1 11-Jan-2015  snj Pull up following revision(s) (requested by abs in ticket #400):
usr.sbin/sysinst/arch/arc/md.c: revision 1.3
usr.sbin/sysinst/arch/cobalt/md.c: revision 1.3
usr.sbin/sysinst/arch/evbsh3/md.c: revision 1.3
usr.sbin/sysinst/arch/hp300/md.c: revision 1.3
usr.sbin/sysinst/arch/hpcsh/md.c: revision 1.3
usr.sbin/sysinst/arch/i386/md.c: revision 1.5
usr.sbin/sysinst/arch/luna68k/md.c: revision 1.4
usr.sbin/sysinst/arch/mvme68k/md.c: revision 1.3
usr.sbin/sysinst/arch/news68k/md.c: revision 1.3
usr.sbin/sysinst/arch/sgimips/md.c: revision 1.3
usr.sbin/sysinst/arch/vax/md.c: revision 1.3
usr.sbin/sysinst/arch/x68k/md.c: revision 1.3
usr.sbin/sysinst/defs.h: revision 1.6
usr.sbin/sysinst/disks.c: revision 1.7
usr.sbin/sysinst/install.c: revision 1.3
usr.sbin/sysinst/partman.c: revision 1.8
usr.sbin/sysinst/upgrade.c: revision 1.3
Rather than scatter set_swap() calls wrapped in ram size checks through
md_post_disklabel() and md_pre_update(), abstract them out to an MI
set_swap_if_low_ram() and call from the appropriate MI places.
Now all platforms add swap if the system has <= 32M of RAM.
 1.2.2.2 10-Aug-2014  tls Rebase.
 1.2.2.1 03-Aug-2014  tls file md.c was added on branch tls-earlyentropy on 2014-08-10 07:00:25 +0000
 1.4.16.1 13-Apr-2020  martin Mostly merge changes from HEAD upto 20200411
 1.8.2.5 02-Feb-2022  msaitoh Pull up following revision(s) (requested by martin in ticket #1422):
usr.sbin/sysinst/util.c: revision 1.64
usr.sbin/sysinst/arch/hpcsh/md.c: revision 1.11
usr.sbin/sysinst/arch/alpha/md.c: revision 1.10
usr.sbin/sysinst/arch/sparc64/md.c: revision 1.7
usr.sbin/sysinst/arch/emips/md.c: revision 1.10
usr.sbin/sysinst/arch/cobalt/md.c: revision 1.15
usr.sbin/sysinst/arch/x68k/md.c: revision 1.12
usr.sbin/sysinst/arch/sandpoint/md.c: revision 1.10
usr.sbin/sysinst/arch/luna68k/md.c: revision 1.10
usr.sbin/sysinst/arch/hp300/md.c: revision 1.12
usr.sbin/sysinst/arch/vax/md.c: revision 1.8
usr.sbin/sysinst/arch/hpcmips/md.c: revision 1.10
usr.sbin/sysinst/target.c: revision 1.16
usr.sbin/sysinst/arch/mvme68k/md.c: revision 1.12
usr.sbin/sysinst/arch/arc/md.c: revision 1.14
usr.sbin/sysinst/target.c: revision 1.17
usr.sbin/sysinst/arch/i386/md.c: revision 1.34
usr.sbin/sysinst/arch/mac68k/md.c: revision 1.11
usr.sbin/sysinst/arch/atari/md.c: revision 1.8
usr.sbin/sysinst/arch/sgimips/md.c: revision 1.10
usr.sbin/sysinst/arch/acorn32/md.c: revision 1.8
usr.sbin/sysinst/install.c: revision 1.22
usr.sbin/sysinst/arch/amiga/md.c: revision 1.7
usr.sbin/sysinst/arch/cats/md.c: revision 1.6
usr.sbin/sysinst/arch/dummy/md.c: revision 1.7
usr.sbin/sysinst/arch/shark/md.c: revision 1.7
usr.sbin/sysinst/arch/pmax/md.c: revision 1.9
usr.sbin/sysinst/arch/newsmips/md.c: revision 1.7
usr.sbin/sysinst/arch/mipsco/md.c: revision 1.9
usr.sbin/sysinst/arch/landisk/md.c: revision 1.15
usr.sbin/sysinst/arch/hppa/md.c: revision 1.9
usr.sbin/sysinst/arch/prep/md.c: revision 1.14
usr.sbin/sysinst/defs.h: revision 1.77
usr.sbin/sysinst/arch/ofppc/md.c: revision 1.13
usr.sbin/sysinst/arch/ews4800mips/md.c: revision 1.8
usr.sbin/sysinst/defs.h: revision 1.78
usr.sbin/sysinst/arch/macppc/md.c: revision 1.7
usr.sbin/sysinst/arch/evbppc/md.c: revision 1.10
usr.sbin/sysinst/defs.h: revision 1.79
usr.sbin/sysinst/gpt.c: revision 1.27
usr.sbin/sysinst/arch/bebox/md.c: revision 1.10
usr.sbin/sysinst/gpt.c: revision 1.28
usr.sbin/sysinst/arch/sparc/md.c: revision 1.7
usr.sbin/sysinst/arch/evbsh3/md.c: revision 1.7
usr.sbin/sysinst/arch/evbarm/md.c: revision 1.22
usr.sbin/sysinst/arch/news68k/md.c: revision 1.8
usr.sbin/sysinst/upgrade.c: revision 1.19
usr.sbin/sysinst/arch/zaurus/md.c: revision 1.12
usr.sbin/sysinst/arch/playstation2/md.c: revision 1.10
usr.sbin/sysinst/arch/hpcarm/md.c: revision 1.11
usr.sbin/sysinst/arch/evbmips/md.c: revision 1.10
usr.sbin/sysinst/main.c: revision 1.28
Add an option to set the directory where we look for message catalogs.
Try to get rid of all wedges we created (after unmounting).
When upgrading, update the boot code post extraction from
the updated target file system.
Do not defer wedge deletions when we have nothing mounted.
Define and use a constant for maximum disk name length.
 1.8.2.4 15-Oct-2020  bouyer Pull up following revision(s) (requested by martin in ticket #1113):
usr.sbin/sysinst/bsddisklabel.c: revision 1.46
usr.sbin/sysinst/bsddisklabel.c: revision 1.47
usr.sbin/sysinst/disklabel.c: revision 1.40
usr.sbin/sysinst/arch/cobalt/md.c: revision 1.13
usr.sbin/sysinst/bsddisklabel.c: revision 1.48
usr.sbin/sysinst/disklabel.c: revision 1.41
usr.sbin/sysinst/arch/cobalt/md.c: revision 1.14
usr.sbin/sysinst/bsddisklabel.c: revision 1.49
usr.sbin/sysinst/disklabel.c: revision 1.42
usr.sbin/sysinst/Makefile.inc: revision 1.34
usr.sbin/sysinst/disks.c: revision 1.70
usr.sbin/sysinst/arch/hp300/md.c: revision 1.11
usr.sbin/sysinst/disks.c: revision 1.71
usr.sbin/sysinst/arch/i386/md.h: revision 1.8
usr.sbin/sysinst/arch/arc/md.c: revision 1.13
usr.sbin/sysinst/mbr.h: revision 1.5
usr.sbin/sysinst/mbr.h: revision 1.6
usr.sbin/sysinst/arch/mac68k/md.c: revision 1.10
usr.sbin/sysinst/bsddisklabel.c: revision 1.50
usr.sbin/sysinst/arch/acorn32/md.c: revision 1.7
usr.sbin/sysinst/bsddisklabel.c: revision 1.51
usr.sbin/sysinst/bsddisklabel.c: revision 1.52
usr.sbin/sysinst/bsddisklabel.c: revision 1.53
usr.sbin/sysinst/bsddisklabel.c: revision 1.54
usr.sbin/sysinst/bsddisklabel.c: revision 1.55
usr.sbin/sysinst/bsddisklabel.c: revision 1.56
usr.sbin/sysinst/arch/dummy/md.c: revision 1.6
usr.sbin/sysinst/arch/amd64/md.h: revision 1.9
usr.sbin/sysinst/arch/evbsh3/md.c: revision 1.6
usr.sbin/sysinst/arch/sparc/md.c: revision 1.6
usr.sbin/sysinst/arch/zaurus/md.c: revision 1.10
usr.sbin/sysinst/arch/x68k/md.c: revision 1.11
usr.sbin/sysinst/arch/sandpoint/md.c: revision 1.9
usr.sbin/sysinst/arch/vax/md.c: revision 1.7
usr.sbin/sysinst/arch/luna68k/md.c: revision 1.9
usr.sbin/sysinst/gpt.c: revision 1.19
usr.sbin/sysinst/arch/i386/md.c: revision 1.31
usr.sbin/sysinst/arch/i386/md.c: revision 1.32
usr.sbin/sysinst/arch/evbarm/md.c: revision 1.17
usr.sbin/sysinst/arch/evbarm/md.c: revision 1.18
usr.sbin/sysinst/arch/evbarm/md.c: revision 1.19
usr.sbin/sysinst/arch/shark/md.c: revision 1.6
usr.sbin/sysinst/arch/landisk/md.c: revision 1.14
usr.sbin/sysinst/util.c: revision 1.43
usr.sbin/sysinst/gpt.c: revision 1.20
usr.sbin/sysinst/util.c: revision 1.44
usr.sbin/sysinst/gpt.c: revision 1.21
usr.sbin/sysinst/gpt.c: revision 1.22
usr.sbin/sysinst/arch/evbarm/msg.md.en: revision 1.2
usr.sbin/sysinst/arch/ofppc/md.c: revision 1.11
usr.sbin/sysinst/util.c: revision 1.46
usr.sbin/sysinst/arch/ofppc/md.c: revision 1.12
usr.sbin/sysinst/util.c: revision 1.47
usr.sbin/sysinst/arch/evbarm/md.h: revision 1.6
usr.sbin/sysinst/util.c: revision 1.48
usr.sbin/sysinst/arch/evbarm/md.h: revision 1.7
usr.sbin/sysinst/arch/evbmips/md.c: revision 1.9
usr.sbin/sysinst/msg.mi.fr: revision 1.28
usr.sbin/sysinst/msg.mi.fr: revision 1.29
usr.sbin/sysinst/arch/sgimips/md.c: revision 1.9
usr.sbin/sysinst/arch/evbarm/Makefile: revision 1.3
usr.sbin/sysinst/msg.mi.de: revision 1.23
usr.sbin/sysinst/arch/hpcsh/md.c: revision 1.10
usr.sbin/sysinst/msg.mi.de: revision 1.24
usr.sbin/sysinst/install.c: revision 1.15
usr.sbin/sysinst/install.c: revision 1.16
usr.sbin/sysinst/arch/sparc64/md.c: revision 1.6
usr.sbin/sysinst/install.c: revision 1.17
usr.sbin/sysinst/install.c: revision 1.18
usr.sbin/sysinst/partitions.h: revision 1.16
usr.sbin/sysinst/install.c: revision 1.19
usr.sbin/sysinst/partitions.h: revision 1.17
usr.sbin/sysinst/arch/evbppc/md.c: revision 1.9
usr.sbin/sysinst/arch/playstation2/md.c: revision 1.9
usr.sbin/sysinst/partitions.h: revision 1.18
usr.sbin/sysinst/arch/hpcarm/md.c: revision 1.9
usr.sbin/sysinst/partitions.h: revision 1.19
usr.sbin/sysinst/msg.mi.es: revision 1.24
usr.sbin/sysinst/msg.mi.es: revision 1.25
usr.sbin/sysinst/msg.mi.es: revision 1.26
usr.sbin/sysinst/arch/zaurus/md.c: revision 1.9
usr.sbin/sysinst/target.c: revision 1.13
usr.sbin/sysinst/target.c: revision 1.14
usr.sbin/sysinst/part_edit.c: revision 1.17
usr.sbin/sysinst/part_edit.c: revision 1.18
usr.sbin/sysinst/msg.mi.fr: revision 1.30
usr.sbin/sysinst/arch/mvme68k/md.c: revision 1.11
usr.sbin/sysinst/part_edit.c: revision 1.19
usr.sbin/sysinst/msg.mi.fr: revision 1.31
usr.sbin/sysinst/arch/alpha/md.c: revision 1.9
usr.sbin/sysinst/msg.mi.en: revision 1.30
usr.sbin/sysinst/defs.h: revision 1.56
usr.sbin/sysinst/msg.mi.en: revision 1.31
usr.sbin/sysinst/defs.h: revision 1.57
usr.sbin/sysinst/msg.mi.en: revision 1.32
usr.sbin/sysinst/arch/amiga/md.c: revision 1.6
usr.sbin/sysinst/arch/hpcmips/md.c: revision 1.9
usr.sbin/sysinst/defs.h: revision 1.58
usr.sbin/sysinst/arch/cats/md.c: revision 1.5
usr.sbin/sysinst/defs.h: revision 1.59
usr.sbin/sysinst/arch/newsmips/md.c: revision 1.6
usr.sbin/sysinst/arch/pmax/md.c: revision 1.8
usr.sbin/sysinst/arch/mipsco/md.c: revision 1.8
usr.sbin/sysinst/part_edit.c: revision 1.20
usr.sbin/sysinst/part_edit.c: revision 1.21
usr.sbin/sysinst/arch/macppc/md.c: revision 1.6
usr.sbin/sysinst/part_edit.c: revision 1.22
usr.sbin/sysinst/part_edit.c: revision 1.23
usr.sbin/sysinst/part_edit.c: revision 1.24
usr.sbin/sysinst/defs.h: revision 1.60
usr.sbin/sysinst/arch/mac68k/Makefile: revision 1.3
usr.sbin/sysinst/defs.h: revision 1.61
usr.sbin/sysinst/defs.h: revision 1.63
usr.sbin/sysinst/defs.h: revision 1.64
usr.sbin/sysinst/defs.h: revision 1.65
usr.sbin/sysinst/label.c: revision 1.21
usr.sbin/sysinst/defs.h: revision 1.66
usr.sbin/sysinst/label.c: revision 1.22
usr.sbin/sysinst/defs.h: revision 1.67
usr.sbin/sysinst/label.c: revision 1.23
usr.sbin/sysinst/label.c: revision 1.24
usr.sbin/sysinst/label.c: revision 1.25
usr.sbin/sysinst/label.c: revision 1.26
usr.sbin/sysinst/label.c: revision 1.27
usr.sbin/sysinst/msg.mi.pl: revision 1.31
usr.sbin/sysinst/label.c: revision 1.28
usr.sbin/sysinst/msg.mi.pl: revision 1.32
usr.sbin/sysinst/label.c: revision 1.29
usr.sbin/sysinst/arch/atari/md.c: revision 1.7
usr.sbin/sysinst/disklabel.c: revision 1.36
usr.sbin/sysinst/disklabel.c: revision 1.37
usr.sbin/sysinst/disklabel.c: revision 1.38
usr.sbin/sysinst/disklabel.c: revision 1.39
usr.sbin/sysinst/arch/bebox/md.c: revision 1.9
usr.sbin/sysinst/mbr.c: revision 1.32
usr.sbin/sysinst/disks.c: revision 1.66
usr.sbin/sysinst/mbr.c: revision 1.33
usr.sbin/sysinst/disks.c: revision 1.67
usr.sbin/sysinst/mbr.c: revision 1.34
usr.sbin/sysinst/arch/emips/md.c: revision 1.9
usr.sbin/sysinst/disks.c: revision 1.68
usr.sbin/sysinst/partitions.c: revision 1.11
usr.sbin/sysinst/mbr.c: revision 1.35
usr.sbin/sysinst/disks.c: revision 1.69
usr.sbin/sysinst/mbr.c: revision 1.36
usr.sbin/sysinst/arch/hppa/md.c: revision 1.8
usr.sbin/sysinst/arch/prep/md.c: revision 1.13
usr.sbin/sysinst/label.c: revision 1.30
usr.sbin/sysinst/arch/ews4800mips/md.c: revision 1.7
usr.sbin/sysinst/main.c: revision 1.21
usr.sbin/sysinst/main.c: revision 1.22
usr.sbin/sysinst/main.c: revision 1.23
usr.sbin/sysinst/bsddisklabel.c: revision 1.40
usr.sbin/sysinst/main.c: revision 1.24
usr.sbin/sysinst/arch/cobalt/md.h: revision 1.6
usr.sbin/sysinst/bsddisklabel.c: revision 1.41
usr.sbin/sysinst/main.c: revision 1.25
usr.sbin/sysinst/arch/news68k/md.c: revision 1.7
usr.sbin/sysinst/bsddisklabel.c: revision 1.42
usr.sbin/sysinst/bsddisklabel.c: revision 1.43
usr.sbin/sysinst/bsddisklabel.c: revision 1.44
usr.sbin/sysinst/bsddisklabel.c: revision 1.45
Use strlcpy in a few places to guarnatee 0-terminated strings
Rever previous: the d_packname in struct disklabel is not NUL terminated.
Disable the warning instead.
Do not force -Os optimization (unless SMALLPROG)
Remove unused "rel" global variable and make the -r option a no-op.
PR 55045: strlcpy(NULL, ..., 0) considered harmfull in some implementations.
PR misc/54886: bump threshold for automatic/default creation of a tmpfs /tmp
up slightly (to 384 MB ram). This will make sure the default install has
a > 64 MB /tmp available (number pulled out of thin air, 64 MB is the minimum
required by the ZFS tests).
Don't depend on common symbol definitions.
boardype should not be common.
Redo the root-size-limit check again after we grew the root partition
for kernel dumps. Auto-enable the /usr partition if it overflows.
For all non-root partitions, default to FFSv2.
When extending a partition (to fill the total disk size) do respect
size limits.
Do not suggest a size limited partition for extension by default.
Minor tweak to previous: when forcing a /usr partition just to have an
arbitrary extendable partition, still use its default size initially.
At the end of a new installation save entropy.
Ooops, backout previous - twice the entropy saving is not needed.
Instead slightly improve the (slightly) hidden other code that already
did it.
PR 55202: disable swapping if we started it due to low ram
it's "its"
Remove "If you booted from a floppy" message
Set HAVE_INSTALL_IMAGE for evbarm
Change mountpoint of boot ext2fs from /stand to /ext2 to avoid conflict.
Should be pulled up to netbsd-9, with fixes of PR/55060.
MBR type for Ext2 should be MBR_PTYPE_LNXEXT2, not MBR_PTYPE_FAT12.
Silence -Wstringop-truncation for ``name'' in disp_selected_part().
This variable is used only for display, and truncation seems harmless.
PR 55572: avoid crash when answering the mount point prompt for a previously
empty mount point with an emptry sting.
When adding a new partition in the concrete partition editor, make sure
to set a pointer to the partition table interface in the new entry.
Otherwise we may end up not writing back the partitions at all, leading
to further fallout later.
Receipe to reproduce the issue from Frederic Fauberteau, thanks!
In the concrete partitions editor, after deleting the last partition move
the menu selection to the "add a partition" entry (instead of the sentinel
line which is not an active menu entry).
Typo in comment
Keep a list of all partition tables from which we have deleted partitions
and make sure we update those partition tables when writing partitions,
even if no install related partition remains on them.
Fix display of timezone selection menu
If there is no current partitioning manager assume we are editing the
current system and make target_already_root() return true.
Fixes various fallout when using sysinst post installation.
PR 55377: mark boot partitions in the partition size display, as suggested
by Izumi Tsutsui (minor modifications + all bugs by me)
PR 55378: do not assume RAW_PART to be either 2 or 3
PR 55379: avoid creating bogus /etc/fstab lines for /dev/cd* if no
cdrom is available.
PR 55381: try to deal with moved (but not yet saved) partitions when
calculating free space
Apply patch provided by Izumi Tsutsui in PR 55382: make ext2 partitions
show up in the outer (MBR) partition table, needed for example on Cobalt
where firmware boots from that partition.
PR 55384: detangle pm->ptstart from the "install" flag (selecting a
target partition). Instead introduce a new PTI_INSTALL_TARGET per partition
flag and deal with it in the partitioning backends.
Honour pm->ptstart when allocating new partitions - it is supposed to be
the first sector usable by NetBSD.
If we have no explicitly marke target root partition, make sure to set
the proper flag on the implicit one.
When merging existing partitions with desired target system layout
information, only force the "mount" flag if the existing partitions
has a valid mount point.
Add a heuristic to detect and properly mark EFI system partitions
when re-using pre-existing partitions.
When MD code requests a reserved area (at the start of the disk)
make sure to properly account for the "lost" space during all calculations
and especially when expanding the main partition to fill the disk.
Avoid using the global "pm" or a passed device descriptons when we are
passing disk limits explicitly anyway.
Simplify/fix a few rounding calculations.
When creating new partitions for "full disk" use, pass a install target
hint to the partitioning backend (for the outer NetBSD partition).
Use an install target hint to mark a new partition active.
When compiled with BOOTSEL support, also name the new partition "NetBSD".
Remove more pm->ptstart abuse - calculate values localy where needed
instead.
Fix editing start and size of not yet existing outer partitions.
Previously we abused pm->ptstart / pm->ptsize to pass the bounds of the
NetBSD outer partition to the inner partition editor - but now this is
not a valid assumption any more, so explicitly fix the bounds if an
outer partition exists.
Remove very strange code that special-cased MSDOS file systems and refused
to newfs the partition (despite explicit request to do so) if it was
mountable.
Accidently carried over from a dim and distant past, before we had
fsck_newfs.
PR 55536: when we find existing partition tables and have alternative
formats available, offer to delete partitions and create new ones from
scratch (in some other or the same on-disk format).
Minor fix to previous: fix condition when we offer the partition type
switch - it makes sense even if the disk is partitioned but has no valid
partitions.
Before forcing MBR partitions into our disklabel, make sure they are not
there yet - could happen in various paths when reusing existing partitions
(or parts of that) - previously we would blindly duplicate identical
partitions.
Ooops, part of previous was not meant to be included yet
When renumbering partitions (after deletions) be slightly more lax
in matching, to cope with differences between MBR EFI partitions and
disklabel MSDOS partitions.
PR 55142: on popular demand bring back expert options to adjust the
number of free inodes, block size and fragment size for FFS and LFS.
Fix copy & pasto noticed by Jason Mitchell: change the type of a GPT
partition via "gpt type" - not "gpt label".
Fix copy & pasto (missing "again" label)
Remove dead code
Move MBR writing (if any) post disklabel writing, otherwise strange
interactions happen.
Properly convert partition default sizes in MB to number of sectors
 1.8.2.3 28-Jan-2020  msaitoh Pull up following revision(s) (requested by martin in ticket #668):
usr.sbin/sysinst/arch/cobalt/md.c: revision 1.11
usr.sbin/sysinst/arch/cobalt/md.c: revision 1.12
usr.sbin/sysinst/arch/arc/md.c: revision 1.11
usr.sbin/sysinst/arch/arc/md.c: revision 1.12
usr.sbin/sysinst/partman.c: revision 1.43
usr.sbin/sysinst/partman.c: revision 1.46
usr.sbin/sysinst/partman.c: revision 1.47
usr.sbin/sysinst/partman.c: revision 1.48
usr.sbin/sysinst/partman.c: revision 1.49
usr.sbin/sysinst/msg.pm.fr: revision 1.2
usr.sbin/sysinst/upgrade.c: revision 1.14
usr.sbin/sysinst/arch/i386/md.c: revision 1.28
usr.sbin/sysinst/arch/i386/md.c: revision 1.29
usr.sbin/sysinst/arch/ofppc/md.c: revision 1.9
usr.sbin/sysinst/arch/sandpoint/md.c: revision 1.7
usr.sbin/sysinst/arch/sandpoint/md.c: revision 1.8
usr.sbin/sysinst/gpt.c: revision 1.14
usr.sbin/sysinst/gpt.c: revision 1.15
usr.sbin/sysinst/arch/luna68k/md.c: revision 1.8
usr.sbin/sysinst/gpt.c: revision 1.16
usr.sbin/sysinst/msg.pm.de: revision 1.2
usr.sbin/sysinst/arch/evbarm/md.c: revision 1.11
usr.sbin/sysinst/arch/evbarm/md.c: revision 1.12
usr.sbin/sysinst/arch/evbarm/md.c: revision 1.13
usr.sbin/sysinst/arch/evbarm/md.c: revision 1.14
usr.sbin/sysinst/sizemultname.c: revision 1.4
usr.sbin/sysinst/msg.pm.en: revision 1.2
usr.sbin/sysinst/arch/landisk/md.c: revision 1.12
usr.sbin/sysinst/util.c: revision 1.41
usr.sbin/sysinst/arch/landisk/md.c: revision 1.13
usr.sbin/sysinst/util.c: revision 1.42
usr.sbin/sysinst/arch/ofppc/md.c: revision 1.10
usr.sbin/sysinst/partitions.c: revision 1.9
usr.sbin/sysinst/arch/evbarm/md.h: revision 1.4
usr.sbin/sysinst/arch/evbarm/md.h: revision 1.5
usr.sbin/sysinst/arch/evbmips/md.c: revision 1.7
usr.sbin/sysinst/arch/evbmips/md.c: revision 1.8
usr.sbin/sysinst/msg.mi.fr: revision 1.25
usr.sbin/sysinst/msg.mi.de: revision 1.20
usr.sbin/sysinst/install.c: revision 1.14
usr.sbin/sysinst/partitions.h: revision 1.13
usr.sbin/sysinst/partitions.h: revision 1.14
usr.sbin/sysinst/arch/evbppc/md.c: revision 1.7
usr.sbin/sysinst/arch/playstation2/md.c: revision 1.7
usr.sbin/sysinst/msg.mi.en: revision 1.27
usr.sbin/sysinst/partitions.h: revision 1.15
usr.sbin/sysinst/arch/evbppc/md.c: revision 1.8
usr.sbin/sysinst/arch/hpcarm/md.c: revision 1.7
usr.sbin/sysinst/arch/playstation2/md.c: revision 1.8
usr.sbin/sysinst/msg.pm.pl: revision 1.2
usr.sbin/sysinst/arch/hpcarm/md.c: revision 1.8
usr.sbin/sysinst/msg.mi.es: revision 1.21
usr.sbin/sysinst/arch/zaurus/md.c: revision 1.7
usr.sbin/sysinst/target.c: revision 1.11
usr.sbin/sysinst/arch/zaurus/md.c: revision 1.8
usr.sbin/sysinst/part_edit.c: revision 1.14
usr.sbin/sysinst/part_edit.c: revision 1.15
usr.sbin/sysinst/part_edit.c: revision 1.16
usr.sbin/sysinst/defs.h: revision 1.50
usr.sbin/sysinst/defs.h: revision 1.51
usr.sbin/sysinst/defs.h: revision 1.52
usr.sbin/sysinst/defs.h: revision 1.53
usr.sbin/sysinst/defs.h: revision 1.54
usr.sbin/sysinst/arch/hpcmips/md.c: revision 1.7
usr.sbin/sysinst/arch/hpcmips/md.c: revision 1.8
usr.sbin/sysinst/arch/hpcsh/md.c: revision 1.8
usr.sbin/sysinst/msg.pm.es: revision 1.2
usr.sbin/sysinst/arch/hpcsh/md.c: revision 1.9
usr.sbin/sysinst/label.c: revision 1.18
usr.sbin/sysinst/label.c: revision 1.19
usr.sbin/sysinst/net.c: revision 1.35
usr.sbin/sysinst/msg.mi.pl: revision 1.28
usr.sbin/sysinst/disklabel.c: revision 1.28
usr.sbin/sysinst/disklabel.c: revision 1.29
usr.sbin/sysinst/mbr.c: revision 1.24
usr.sbin/sysinst/disks.c: revision 1.59
usr.sbin/sysinst/mbr.c: revision 1.25
usr.sbin/sysinst/mbr.c: revision 1.26
usr.sbin/sysinst/mbr.c: revision 1.27
usr.sbin/sysinst/mbr.c: revision 1.28
usr.sbin/sysinst/label.c: revision 1.20
usr.sbin/sysinst/mbr.c: revision 1.29
usr.sbin/sysinst/bsddisklabel.c: revision 1.34
usr.sbin/sysinst/bsddisklabel.c: revision 1.35
usr.sbin/sysinst/bsddisklabel.c: revision 1.36
usr.sbin/sysinst/bsddisklabel.c: revision 1.37
usr.sbin/sysinst/disklabel.c: revision 1.30
usr.sbin/sysinst/bsddisklabel.c: revision 1.38
usr.sbin/sysinst/disklabel.c: revision 1.31
usr.sbin/sysinst/disklabel.c: revision 1.32
usr.sbin/sysinst/disklabel.c: revision 1.33
usr.sbin/sysinst/disklabel.c: revision 1.34
usr.sbin/sysinst/disks.c: revision 1.60
usr.sbin/sysinst/disks.c: revision 1.61
usr.sbin/sysinst/arch/bebox/md.c: revision 1.7
usr.sbin/sysinst/disks.c: revision 1.62
usr.sbin/sysinst/arch/bebox/md.c: revision 1.8
usr.sbin/sysinst/mbr.c: revision 1.30
usr.sbin/sysinst/partitions.c: revision 1.10
usr.sbin/sysinst/arch/prep/md.c: revision 1.11
usr.sbin/sysinst/arch/prep/md.c: revision 1.12
usr.sbin/sysinst/menus.pm: revision 1.3
usr.sbin/sysinst/main.c: revision 1.20
usr.sbin/sysinst/menus.mi: revision 1.20
usr.sbin/sysinst/menus.mi: revision 1.21
avoid calling snprintf/strlcat with an input parameter the same
as the output. from martin@. fixes gcc 8 restrict warnings.
Finish conversion of extended partitioning parts to new abstract
backend interface. XXX still could use a lot of polishing.
Instead of a (bogus) attempt to query the model via ofctl, use the (now
fixed) sysctl hw.model instead.
When reading the secondary disklabel partitions from an existing disklabel
set the mbr partitions as parent.
Move the LABELSECTOR check and make it FS type specific - some partition
types (FFS, RAID) are allowed to overlap with the LABELSECTOR.
When asked to create a whole-disk partition for unknown usage, do not only
assert(false), but actually return an error (in case "assert" is a nop).
PR install/54787: when trying to derive proper alignement and first offset
from exisiting partitions, use the first partition offset if it is already
closer to the start of the disk than the prefered alignment - we can not
move existing partitions around.
Fix handling of inner/outer partitions (e.g. MBR and disklabel) in
extended partitioning:
- when editing a disk with such a schme, offer both partitions in two
steps
- when commiting changes save the inner partitions after the outer ones
Add a method to query the partitioning schemes "internal idea" of a
cylinder size - whatever that means in the real world.
Avoid using the global "pm" variable in utility functions - during
extended partitioning they may point to a different device.
Remove useless calls to get_ramsize() - return value is ignored and
the function has no side effects.
Fix /tmp tmpfs handling and on machines with enough RAM default to
creating a /tmp tmpfs with 25% of ram size limit. Suggested by ad@.
PR install/54872: fix printf argument order, sectors and heads were
swapped in the bios geometry display.
First try to bring evbarm installation closer to current reality.
hide disklabel_non_bootable() under NO_DISKLABEL_BOOT like the usage.
should fix most builds.
Deal with even stranger fictious empty disklabels (PR kern/54882).
Factor out all RAM size thresholds as defines to avoid magic numbers.
To work around PR misc/54886 bump the threshold for a tmpfs /tmp mount
up to 256 MB.
When retrying sets during extraction, reset the relevant statistics
to avoid counting retried sets multiple times.
Reported by kim.
Fix support for non-512-byte/sector disks again after I broke it when
introducing the abstract partition backends.
Use a few strlcpy() instead of strncpy() for network ioctl structs.
We seem to have no formal documentation stating the various
char if*_name[IFNAMSIZ]; /* if name, e.g. "en0" */
elements in ioctls are nul terminated, but the peanut gallery claims
it is so - and at least half of the code in-tree touching them agrees.
Too much disklabel magic happening in the kernel - to compensate force
MBR first when trying to identify the existing partitioning scheme of
a disk.
 1.8.2.2 17-Dec-2019  msaitoh Pull up following revision(s) (requested by martin in ticket #560):
usr.sbin/sysinst/partitions.h: revision 1.11
usr.sbin/sysinst/defs.h: revision 1.49
usr.sbin/sysinst/mbr.c: revision 1.23
usr.sbin/sysinst/msg.mi.en: revision 1.26
usr.sbin/sysinst/disks.c: revision 1.58
usr.sbin/sysinst/arch/evbarm/menus.md.pl: revision 1.2
usr.sbin/sysinst/msg.mi.es: revision 1.20
usr.sbin/sysinst/arch/mvme68k/md.c: revision 1.9
usr.sbin/sysinst/gpt.c: revision 1.13
usr.sbin/sysinst/arch/evbarm/md.c: revision 1.10
usr.sbin/sysinst/arch/arc/md.c: revision 1.10
usr.sbin/sysinst/disklabel.c: revision 1.18
usr.sbin/sysinst/bsddisklabel.c: revision 1.33
usr.sbin/sysinst/disklabel.c: revision 1.19
usr.sbin/sysinst/main.c: revision 1.19
usr.sbin/sysinst/partman.c: revision 1.45
usr.sbin/sysinst/arch/alpha/md.c: revision 1.7
usr.sbin/sysinst/msg.mi.de: revision 1.19
usr.sbin/sysinst/arch/evbarm/menus.md.en: revision 1.2
usr.sbin/sysinst/arch/x68k/md.h: revision 1.4
usr.sbin/sysinst/arch/x68k/md.c: revision 1.9
usr.sbin/sysinst/arch/evbarm/menus.md.es: revision 1.2
usr.sbin/sysinst/wskbd.c: revision 1.4
usr.sbin/sysinst/label.c: revision 1.15
usr.sbin/sysinst/arch/amiga/md.h: revision 1.5
usr.sbin/sysinst/label.c: revision 1.16
usr.sbin/sysinst/arch/hp300/md.c: revision 1.9
usr.sbin/sysinst/arch/emips/md.c: revision 1.8
usr.sbin/sysinst/label.c: revision 1.17
usr.sbin/sysinst/arch/pmax/md.c: revision 1.7
usr.sbin/sysinst/partitions.c: revision 1.6
usr.sbin/sysinst/arch/prep/md.c: revision 1.10
usr.sbin/sysinst/arch/mipsco/md.c: revision 1.7
usr.sbin/sysinst/partitions.c: revision 1.7
usr.sbin/sysinst/partitions.c: revision 1.8
usr.sbin/sysinst/arch/ews4800mips/md.c: revision 1.5
usr.sbin/sysinst/disklabel.c: revision 1.20
usr.sbin/sysinst/arch/evbarm/menus.md.fr: revision 1.2
usr.sbin/sysinst/msg.mi.fr: revision 1.24
usr.sbin/sysinst/disklabel.c: revision 1.21
usr.sbin/sysinst/partitions.h: revision 1.9
usr.sbin/sysinst/msg.mi.pl: revision 1.27
usr.sbin/sysinst/disklabel.c: revision 1.22
usr.sbin/sysinst/disklabel.c: revision 1.23
usr.sbin/sysinst/arch/i386/md.c: revision 1.27
usr.sbin/sysinst/disklabel.c: revision 1.24
usr.sbin/sysinst/disklabel.c: revision 1.25
usr.sbin/sysinst/arch/cobalt/md.h: revision 1.5
usr.sbin/sysinst/disklabel.c: revision 1.26
usr.sbin/sysinst/disklabel.c: revision 1.27
usr.sbin/sysinst/partitions.h: revision 1.10
usr.sbin/sysinst/arch/cobalt/md.c: revision 1.10
PR install/54582: allow MD code to disable on-disk presence verification
of "real" disklabels. Auto-enable this (at run time) when there is no other
partitioning scheme but disklabel configured.
Hard-coded enable this for x68k to allow using kernel based translations
for native Human68k partitions.
Get rid of the evbarm preliminary menu: do not bother to ask the user
whether this is a RPi - query the FDT instead.
PR 54065: add optional "old compat" variant of ext2fs in file system
type selection and use that as default for the cobalt boot file system.
For now rely on the kernel mapping native RDB partitions.
Fix detection of existing disklabels in the case when we only have
the disklabel partitioning scheme available.
Fix DISKLABEL_NO_ONDISK_VERIFY (accidently disabled in previous)
Fix inverted comparison
Do not try to change the keyboard layout if we are not running on the
console.
When trying to tell a fictious but empty label from a real one, skip
partition a if it has the same start and size as the raw partition.
Remove bogus assert.
When finding (paritioning scheme native) partition types for file systems
from our install description, pass the partition type (not only the file
system type). Sometimes (e.g. EFI boot partition on GPT) the filesystem
type (MSDOS) is not a unique selector.
Adapt MD parts to changes in get_fs_part_type (pass partition type).
If a fictious label has no RAW_PART assume there is no valid disk label.
Pass proper track size when initializing the default alignment - this is
important with sunlabels.
Fix overlapping partitions display
Reject (what we consider) empty/invalid fake disklabels no matter whether
we have other partitioning schemes available or not.
Do not show disklabel command invocation by default (only if there are
errors).
After installing boot blocks with RUN_NO_CLEAR (and handling the
potential errors) make sure to clear the stdscreen.
 1.8.2.1 18-Aug-2019  msaitoh Pull up following revision(s) (requested by martin in ticket #77):
usr.sbin/sysinst/arch/sandpoint/md.c: revision 1.6
usr.sbin/sysinst/arch/playstation2/md.c: revision 1.6
usr.sbin/sysinst/arch/evbppc/md.c: revision 1.6
usr.sbin/sysinst/arch/hpcarm/md.c: revision 1.6
usr.sbin/sysinst/arch/zaurus/md.c: revision 1.6
usr.sbin/sysinst/arch/arc/md.c: revision 1.9
usr.sbin/sysinst/arch/hpcmips/md.c: revision 1.6
usr.sbin/sysinst/arch/bebox/md.c: revision 1.6
usr.sbin/sysinst/arch/hpcsh/md.c: revision 1.7
usr.sbin/sysinst/arch/landisk/md.c: revision 1.11
usr.sbin/sysinst/arch/prep/md.c: revision 1.9
usr.sbin/sysinst/arch/i386/md.c: revision 1.21
usr.sbin/sysinst/arch/evbmips/md.c: revision 1.6
usr.sbin/sysinst/arch/evbarm/md.c: revision 1.9
usr.sbin/sysinst/arch/cobalt/md.c: revision 1.9
usr.sbin/sysinst/arch/ofppc/md.c: revision 1.8
When we ask the user to select a partitioning scheme and they refuse
(that is: select "Exit" in the menu), abort installation.
 1.5 16-Jun-2022  tsutsui Define DEFSWAPSIZE properly. DEFSWAPRAM seems obsolete.
 1.4 02-Oct-2019  maya Split out /rescue to its own set and adapt installers/images to add it.

This is meant to make updates safer: if something goes wrong with updating
base, we still have the old, standalone /rescue to recover from.
 1.3 12-Jun-2019  martin branches: 1.3.2;
Rework internal data structures and "interfaces to user interface" functions
to get rid of all disklabel assumptions.

Previously (even for GPT partitioning) struct disklabel was used, which
obviously breaks large disk setups. Also many MD parts and parts of the
user interface assumed (a) a struct disklabel is used internally to
store partitioning information and (b) partitions are named 'a' ... $MAXPART.

Get rid of this and replace it with a quite abstract interface that should
be able to deal with all variants in partition storage:

- partitions are stored in a (partly abstract) struct disk_partitions
and most parts of it are only accessed via accessor functions provided
by a "partitioning scheme".

- implement partitioning schemes for MBR, disklabel and GPT (with likely
RDB [amiga] and Apple Partition Map [mac*] to follow soon)

- partitioning schemes may be cascaded, e.g. on x86 when using MBR as
"outer partitions", we have disklabel as "inner partitions".

- all user interface goes via accessor functions in the partitioning scheme,
some of which return pointers to special user interface descriptors
(e.g. to allow editing partition flags, which are scheme specific)

Overall the user interface changes (in this initial step) are minimal but
noticable. A new Anita is needed for automatic test setups - many thanks
to Andreas Gustafsson for lots of early testing and a new Anita version,
and to Manuel Bouyer for cooperation and tests of the Anita release.

This work was sponsored by The NetBSD Foundation, Inc.
 1.2 16-Nov-2018  martin Sync install size estimates with current reality
 1.1 26-Jul-2014  dholland branches: 1.1.2; 1.1.6; 1.1.26; 1.1.28;
Move sysinst sources to usr.sbin.

This commit only physically moves the sources - there are no other
changes, to maximize the probability that this will be treated as a
rename if we ever do manage to migrate away from CVS.

Moving sysinst has been discussed on and off for years and has two
goals: making it easier to work on sysinst, and also making sysinst
available on running systems for use installing chroots and VM images
and other such things. None of the latter is possible yet, but as they
say, one thing at a time.

Doing this now was approved in an impromptu fashion by mrg, riz,
riastradh, me, and groo.
 1.1.28.2 13-Apr-2020  martin Mostly merge changes from HEAD upto 20200411
 1.1.28.1 10-Jun-2019  christos Sync with HEAD
 1.1.26.1 26-Nov-2018  pgoyette Sync with HEAD, resolve a couple of conflicts
 1.1.6.2 20-Aug-2014  tls Rebase to HEAD as of a few days ago.
 1.1.6.1 26-Jul-2014  tls file md.h was added on branch tls-maxphys on 2014-08-20 00:05:14 +0000
 1.1.2.2 10-Aug-2014  tls Rebase.
 1.1.2.1 26-Jul-2014  tls file md.h was added on branch tls-earlyentropy on 2014-08-10 07:00:25 +0000
 1.3.2.1 17-Nov-2019  martin Pull up following revision(s) (requested by maya in ticket #435):

distrib/sets/maketars: revision 1.90
usr.sbin/sysinst/arch/playstation2/md.h: revision 1.2
usr.sbin/sysinst/arch/sandpoint/md.h: revision 1.3
usr.sbin/sysinst/arch/evbppc/md.h: revision 1.3
usr.sbin/sysinst/arch/hpcarm/md.h: revision 1.3
usr.sbin/sysinst/arch/mvme68k/md.h: revision 1.3
distrib/sun3/MakeInstTape: revision 1.3
usr.sbin/sysinst/util.c: revision 1.33
distrib/sets/lists/rescue/mi: revision 1.1
distrib/sets/lists/base/rescue.sun2: file removal
usr.sbin/sysinst/arch/zaurus/md.h: revision 1.3
distrib/sets/lists/base/rescue.ad.m68k.shl: file removal
distrib/sets/regpkgset: revision 1.13
usr.sbin/sysinst/arch/i386/md.h: revision 1.7
distrib/sets/lists/base/rescue.sparc: file removal
distrib/notes/mvme68k/xfer: revision 1.19
distrib/sets/sets.subr: revision 1.187
distrib/common/bootimage/Makefile.bootimage: revision 1.22
usr.sbin/sysinst/msg.mi.de: revision 1.16
usr.sbin/sysinst/arch/atari/md.h: revision 1.3
rescue/Makefile: revision 1.38
distrib/sets/lists/base/rescue.macppc: file removal
usr.sbin/sysinst/arch/arc/md.h: revision 1.4
distrib/miniroot/install.sub: revision 1.49
usr.sbin/sysinst/arch/acorn32/md.h: revision 1.3
usr.sbin/sysinst/arch/x68k/md.h: revision 1.3
usr.sbin/sysinst/arch/hpcmips/md.h: revision 1.3
usr.sbin/sysinst/arch/bebox/md.h: revision 1.3
usr.sbin/sysinst/arch/hpcsh/md.h: revision 1.2
distrib/sets/lists/base/rescue.shark: file removal
usr.sbin/sysinst/arch/emips/md.h: revision 1.5
distrib/utils/embedded/mkimage: revision 1.70
usr.sbin/sysinst/arch/shark/md.h: revision 1.3
usr.sbin/sysinst/arch/pmax/md.h: revision 1.4
usr.sbin/sysinst/arch/amiga/md.h: revision 1.4
usr.sbin/sysinst/arch/hp300/md.h: revision 1.5
rescue/list.ldconfig: file removal
distrib/sets/lists/base/rescue.ad.m68k: file removal
usr.sbin/sysinst/arch/prep/md.h: revision 1.4
usr.sbin/sysinst/arch/cats/md.h: revision 1.4
usr.sbin/sysinst/arch/amd64/md.h: revision 1.7
usr.sbin/sysinst/msg.mi.es: revision 1.17
usr.sbin/sysinst/msg.mi.fr: revision 1.20
usr.sbin/sysinst/msg.mi.pl: revision 1.23
distrib/sets/lists/base/rescue.i386: file removal
usr.sbin/sysinst/arch/evbarm/md.h: revision 1.3
distrib/sets/lists/base/rescue.vax: file removal
distrib/amd64/uefi-installimage/Makefile.bootimage: revision 1.12
usr.sbin/sysinst/arch/evbmips/md.h: revision 1.3
distrib/sets/lists/base/rescue.mi: file removal
distrib/sets/README: revision 1.14
usr.sbin/sysinst/arch/sgimips/md.h: revision 1.4
distrib/sets/lists/base/rescue.sparc64: file removal
distrib/sets/lists/base/rescue.mi: revision 1.45
distrib/sets/lists/base/rescue.mi: revision 1.46
usr.sbin/sysinst/arch/ofppc/md.h: revision 1.4
usr.sbin/sysinst/arch/cobalt/md.h: revision 1.4
distrib/sets/lists/base/rescue.ad.arm: file removal
distrib/sets/lists/base/rescue.mac68k: file removal
usr.sbin/sysinst/defs.h: revision 1.45
usr.sbin/sysinst/arch/landisk/md.h: revision 1.2
distrib/notes/atari/xfer: revision 1.17
etc/Makefile: revision 1.441
usr.sbin/sysinst/msg.mi.en: revision 1.22
distrib/sun2/MakeInstTape: revision 1.2

Remove ldconfig from /rescue, and mark it MI obsolete.
- ldconfig in netbsd refers to a.out binaries only. We've been ELF-only
since NetBSD 2.0 or so, and having it in /rescue served little purpose
even before that, as /rescue is standalone.
- Using MI obsolete to avoid the need for MD set lists where ldconfig
is the sole entry

Mark /rescue/edlabel as MI-obsolete, so we can remove all remaining MD
rescue set list files.

Split out /rescue to its own set and adapt installers/images to add it.

This is meant to make updates safer: if something goes wrong with updating
base, we still have the old, standalone /rescue to recover from.
 1.1 26-Jul-2014  dholland branches: 1.1.2; 1.1.6;
Move sysinst sources to usr.sbin.

This commit only physically moves the sources - there are no other
changes, to maximize the probability that this will be treated as a
rename if we ever do manage to migrate away from CVS.

Moving sysinst has been discussed on and off for years and has two
goals: making it easier to work on sysinst, and also making sysinst
available on running systems for use installing chroots and VM images
and other such things. None of the latter is possible yet, but as they
say, one thing at a time.

Doing this now was approved in an impromptu fashion by mrg, riz,
riastradh, me, and groo.
 1.1.6.2 20-Aug-2014  tls Rebase to HEAD as of a few days ago.
 1.1.6.1 26-Jul-2014  tls file menus.md.en was added on branch tls-maxphys on 2014-08-20 00:05:14 +0000
 1.1.2.2 10-Aug-2014  tls Rebase.
 1.1.2.1 26-Jul-2014  tls file menus.md.en was added on branch tls-earlyentropy on 2014-08-10 07:00:25 +0000
 1.1 26-Jul-2014  dholland branches: 1.1.2; 1.1.6;
Move sysinst sources to usr.sbin.

This commit only physically moves the sources - there are no other
changes, to maximize the probability that this will be treated as a
rename if we ever do manage to migrate away from CVS.

Moving sysinst has been discussed on and off for years and has two
goals: making it easier to work on sysinst, and also making sysinst
available on running systems for use installing chroots and VM images
and other such things. None of the latter is possible yet, but as they
say, one thing at a time.

Doing this now was approved in an impromptu fashion by mrg, riz,
riastradh, me, and groo.
 1.1.6.2 20-Aug-2014  tls Rebase to HEAD as of a few days ago.
 1.1.6.1 26-Jul-2014  tls file msg.md.en was added on branch tls-maxphys on 2014-08-20 00:05:14 +0000
 1.1.2.2 10-Aug-2014  tls Rebase.
 1.1.2.1 26-Jul-2014  tls file msg.md.en was added on branch tls-earlyentropy on 2014-08-10 07:00:25 +0000
 1.6 11-Jun-2022  tsutsui Pull SMALLPROG stuff to disable unnecessary partitioning methods etc.
 1.5 04-Nov-2020  martin Add (experimental) entropy input support:
Early during new installs or after upgrades we check if entropy is
available. If not (no hardware random number generator available)
we inform the user and ask them to fix it.
 1.4 12-Jun-2019  martin Rework internal data structures and "interfaces to user interface" functions
to get rid of all disklabel assumptions.

Previously (even for GPT partitioning) struct disklabel was used, which
obviously breaks large disk setups. Also many MD parts and parts of the
user interface assumed (a) a struct disklabel is used internally to
store partitioning information and (b) partitions are named 'a' ... $MAXPART.

Get rid of this and replace it with a quite abstract interface that should
be able to deal with all variants in partition storage:

- partitions are stored in a (partly abstract) struct disk_partitions
and most parts of it are only accessed via accessor functions provided
by a "partitioning scheme".

- implement partitioning schemes for MBR, disklabel and GPT (with likely
RDB [amiga] and Apple Partition Map [mac*] to follow soon)

- partitioning schemes may be cascaded, e.g. on x86 when using MBR as
"outer partitions", we have disklabel as "inner partitions".

- all user interface goes via accessor functions in the partitioning scheme,
some of which return pointers to special user interface descriptors
(e.g. to allow editing partition flags, which are scheme specific)

Overall the user interface changes (in this initial step) are minimal but
noticable. A new Anita is needed for automatic test setups - many thanks
to Andreas Gustafsson for lots of early testing and a new Anita version,
and to Manuel Bouyer for cooperation and tests of the Anita release.

This work was sponsored by The NetBSD Foundation, Inc.
 1.3 20-Sep-2018  rin Enable NOPARTMAN for install media.
 1.2 12-Aug-2015  tsutsui branches: 1.2.14; 1.2.16;
Drop ancient AOUT2ELF option. Saves ~280 bytes.
 1.1 26-Jul-2014  dholland branches: 1.1.2; 1.1.6;
Move sysinst sources to usr.sbin.

This commit only physically moves the sources - there are no other
changes, to maximize the probability that this will be treated as a
rename if we ever do manage to migrate away from CVS.

Moving sysinst has been discussed on and off for years and has two
goals: making it easier to work on sysinst, and also making sysinst
available on running systems for use installing chroots and VM images
and other such things. None of the latter is possible yet, but as they
say, one thing at a time.

Doing this now was approved in an impromptu fashion by mrg, riz,
riastradh, me, and groo.
 1.1.6.2 20-Aug-2014  tls Rebase to HEAD as of a few days ago.
 1.1.6.1 26-Jul-2014  tls file Makefile was added on branch tls-maxphys on 2014-08-20 00:05:14 +0000
 1.1.2.2 10-Aug-2014  tls Rebase.
 1.1.2.1 26-Jul-2014  tls file Makefile was added on branch tls-earlyentropy on 2014-08-10 07:00:25 +0000
 1.2.16.2 13-Apr-2020  martin Mostly merge changes from HEAD upto 20200411
 1.2.16.1 10-Jun-2019  christos Sync with HEAD
 1.2.14.1 30-Sep-2018  pgoyette Ssync with HEAD
 1.11 04-Jan-2024  tsutsui Fix a typo of a kernel name on detecting a running machine type.

Should be pulled up to netbsd-10.
 1.10 09-Dec-2022  martin branches: 1.10.2;
Add set_default_sizemult() calls to some architectures obviously
lacking it.
 1.9 28-Aug-2022  tsutsui Choose a proper kernel set per a running kernel during installation.

Mostly taken from sgimips.
This avoids users from overwriting by the default ATARITT kernel on
non TT machines like Falcon, Hades, and Milan etc.
 1.8 29-Jan-2022  martin When upgrading, update the boot code post extraction from
the updated target file system.
 1.7 12-Oct-2020  martin PR 55536: when we find existing partition tables and have alternative
formats available, offer to delete partitions and create new ones from
scratch (in some other or the same on-disk format).
 1.6 13-Jul-2019  martin branches: 1.6.2;
We may call md_pre_mount() multiple times for the same install set,
so pass an additional index argument so MD code knows which part
of the install will be mounted next.
 1.5 20-Jun-2019  christos Use _fmt_ msg_ methods when formats are needed.
 1.4 12-Jun-2019  martin Rework internal data structures and "interfaces to user interface" functions
to get rid of all disklabel assumptions.

Previously (even for GPT partitioning) struct disklabel was used, which
obviously breaks large disk setups. Also many MD parts and parts of the
user interface assumed (a) a struct disklabel is used internally to
store partitioning information and (b) partitions are named 'a' ... $MAXPART.

Get rid of this and replace it with a quite abstract interface that should
be able to deal with all variants in partition storage:

- partitions are stored in a (partly abstract) struct disk_partitions
and most parts of it are only accessed via accessor functions provided
by a "partitioning scheme".

- implement partitioning schemes for MBR, disklabel and GPT (with likely
RDB [amiga] and Apple Partition Map [mac*] to follow soon)

- partitioning schemes may be cascaded, e.g. on x86 when using MBR as
"outer partitions", we have disklabel as "inner partitions".

- all user interface goes via accessor functions in the partitioning scheme,
some of which return pointers to special user interface descriptors
(e.g. to allow editing partition flags, which are scheme specific)

Overall the user interface changes (in this initial step) are minimal but
noticable. A new Anita is needed for automatic test setups - many thanks
to Andreas Gustafsson for lots of early testing and a new Anita version,
and to Manuel Bouyer for cooperation and tests of the Anita release.

This work was sponsored by The NetBSD Foundation, Inc.
 1.3 10-May-2015  martin branches: 1.3.16;
Backout the previous incorrect fix for PR 49440 and redo it more globaly:
get rid of the global "yesno", introduce utility functions "ask_yesno()"
and "ask_noyes()" instead, greatly simplifying a lot of code.
Pass in a pointer to the return value to various "set source" menus.
 1.2 03-Aug-2014  martin branches: 1.2.2; 1.2.4; 1.2.6;
(Finally) merge a slightly modified version of the 2012 GSoC results
from Eugene Lozovoy: add extended partitioning options to sysinst.
Still needs some testing and polishing, but it now is possible to use GPT
or to create a RAID set from scratch and install onto it.
 1.1 26-Jul-2014  dholland Move sysinst sources to usr.sbin.

This commit only physically moves the sources - there are no other
changes, to maximize the probability that this will be treated as a
rename if we ever do manage to migrate away from CVS.

Moving sysinst has been discussed on and off for years and has two
goals: making it easier to work on sysinst, and also making sysinst
available on running systems for use installing chroots and VM images
and other such things. None of the latter is possible yet, but as they
say, one thing at a time.

Doing this now was approved in an impromptu fashion by mrg, riz,
riastradh, me, and groo.
 1.2.6.2 20-Aug-2014  tls Rebase to HEAD as of a few days ago.
 1.2.6.1 03-Aug-2014  tls file md.c was added on branch tls-maxphys on 2014-08-20 00:05:14 +0000
 1.2.4.1 14-May-2015  snj Pull up following revision(s) (requested by martin in ticket #756):
usr.sbin/sysinst/arch/arc/md.c: revision 1.4
usr.sbin/sysinst/arch/atari/md.c: revision 1.3
usr.sbin/sysinst/arch/cobalt/md.c: revision 1.4
usr.sbin/sysinst/arch/emips/md.c: revision 1.3
usr.sbin/sysinst/arch/evbarm/md.c: revision 1.4
usr.sbin/sysinst/arch/evbarm64/md.c: revision 1.2
usr.sbin/sysinst/arch/hp300/md.c: revision 1.4
usr.sbin/sysinst/arch/i386/md.c: revision 1.6
usr.sbin/sysinst/arch/mac68k/md.c: revision 1.3
usr.sbin/sysinst/arch/mac68k/md.c: revision 1.4
usr.sbin/sysinst/arch/mac68k/menus.md.de: revisions 1.3, 1.4
usr.sbin/sysinst/arch/mac68k/menus.md.en: revisions 1.3, 1.4
usr.sbin/sysinst/arch/mac68k/menus.md.es: revisions 1.3, 1.4
usr.sbin/sysinst/arch/mac68k/menus.md.pl: revisions 1.3, 1.4
usr.sbin/sysinst/arch/mvme68k/md.c: revision 1.4
usr.sbin/sysinst/arch/ofppc/md.c: revision 1.3
usr.sbin/sysinst/arch/prep/md.c: revisions 1.3, 1.4
usr.sbin/sysinst/arch/prep/menus.md.en: revision 1.2
usr.sbin/sysinst/arch/x68k/md.c: revision 1.4
usr.sbin/sysinst/configmenu.c: revisions 1.4, 1.5
usr.sbin/sysinst/defs.h: revisions 1.8, 1.9
usr.sbin/sysinst/disks.c: revision 1.9
usr.sbin/sysinst/install.c: revision 1.4
usr.sbin/sysinst/label.c: revision 1.3
usr.sbin/sysinst/mbr.c: revision 1.5
usr.sbin/sysinst/menus.mi: revisions 1.9, 1.10
usr.sbin/sysinst/net.c: revisions 1.18-1.20
usr.sbin/sysinst/partman.c: revision 1.10
usr.sbin/sysinst/upgrade.c: revision 1.4
usr.sbin/sysinst/util.c: revisions 1.6, 1.7
Backout the previous incorrect fix for PR 49440 and redo it more globaly:
get rid of the global "yesno", introduce utility functions "ask_yesno()"
and "ask_noyes()" instead, greatly simplifying a lot of code.
Pass in a pointer to the return value to various "set source" menus.
--
Make it compile on architectures that do not support INET6 in sysinst
--
Remove a few more (ab-)usages of "yesno".
--
More (ab-)usages of "yesno"
--
Make "ask_yesno" and "ask_noyes" take a const char * as argument, moving
the deconst() dance into the utility functions and simplifying all callers.
--
Missed a few more "yesno" in previous
 1.2.2.2 10-Aug-2014  tls Rebase.
 1.2.2.1 03-Aug-2014  tls file md.c was added on branch tls-earlyentropy on 2014-08-10 07:00:25 +0000
 1.3.16.1 13-Apr-2020  martin Mostly merge changes from HEAD upto 20200411
 1.6.2.3 14-Dec-2022  snj Pull up following revision(s) (requested by martin in ticket #1554):

usr.sbin/sysinst/arch/amiga/md.c: revision 1.10
usr.sbin/sysinst/arch/atari/md.c: revision 1.10
usr.sbin/sysinst/arch/dummy/md.c: revision 1.8
usr.sbin/sysinst/arch/sparc/md.c: revision 1.8
usr.sbin/sysinst/arch/sparc64/md.c: revision 1.8

Add set_default_sizemult() calls to some architectures obviously
lacking it.
 1.6.2.2 02-Feb-2022  msaitoh Pull up following revision(s) (requested by martin in ticket #1422):
usr.sbin/sysinst/util.c: revision 1.64
usr.sbin/sysinst/arch/hpcsh/md.c: revision 1.11
usr.sbin/sysinst/arch/alpha/md.c: revision 1.10
usr.sbin/sysinst/arch/sparc64/md.c: revision 1.7
usr.sbin/sysinst/arch/emips/md.c: revision 1.10
usr.sbin/sysinst/arch/cobalt/md.c: revision 1.15
usr.sbin/sysinst/arch/x68k/md.c: revision 1.12
usr.sbin/sysinst/arch/sandpoint/md.c: revision 1.10
usr.sbin/sysinst/arch/luna68k/md.c: revision 1.10
usr.sbin/sysinst/arch/hp300/md.c: revision 1.12
usr.sbin/sysinst/arch/vax/md.c: revision 1.8
usr.sbin/sysinst/arch/hpcmips/md.c: revision 1.10
usr.sbin/sysinst/target.c: revision 1.16
usr.sbin/sysinst/arch/mvme68k/md.c: revision 1.12
usr.sbin/sysinst/arch/arc/md.c: revision 1.14
usr.sbin/sysinst/target.c: revision 1.17
usr.sbin/sysinst/arch/i386/md.c: revision 1.34
usr.sbin/sysinst/arch/mac68k/md.c: revision 1.11
usr.sbin/sysinst/arch/atari/md.c: revision 1.8
usr.sbin/sysinst/arch/sgimips/md.c: revision 1.10
usr.sbin/sysinst/arch/acorn32/md.c: revision 1.8
usr.sbin/sysinst/install.c: revision 1.22
usr.sbin/sysinst/arch/amiga/md.c: revision 1.7
usr.sbin/sysinst/arch/cats/md.c: revision 1.6
usr.sbin/sysinst/arch/dummy/md.c: revision 1.7
usr.sbin/sysinst/arch/shark/md.c: revision 1.7
usr.sbin/sysinst/arch/pmax/md.c: revision 1.9
usr.sbin/sysinst/arch/newsmips/md.c: revision 1.7
usr.sbin/sysinst/arch/mipsco/md.c: revision 1.9
usr.sbin/sysinst/arch/landisk/md.c: revision 1.15
usr.sbin/sysinst/arch/hppa/md.c: revision 1.9
usr.sbin/sysinst/arch/prep/md.c: revision 1.14
usr.sbin/sysinst/defs.h: revision 1.77
usr.sbin/sysinst/arch/ofppc/md.c: revision 1.13
usr.sbin/sysinst/arch/ews4800mips/md.c: revision 1.8
usr.sbin/sysinst/defs.h: revision 1.78
usr.sbin/sysinst/arch/macppc/md.c: revision 1.7
usr.sbin/sysinst/arch/evbppc/md.c: revision 1.10
usr.sbin/sysinst/defs.h: revision 1.79
usr.sbin/sysinst/gpt.c: revision 1.27
usr.sbin/sysinst/arch/bebox/md.c: revision 1.10
usr.sbin/sysinst/gpt.c: revision 1.28
usr.sbin/sysinst/arch/sparc/md.c: revision 1.7
usr.sbin/sysinst/arch/evbsh3/md.c: revision 1.7
usr.sbin/sysinst/arch/evbarm/md.c: revision 1.22
usr.sbin/sysinst/arch/news68k/md.c: revision 1.8
usr.sbin/sysinst/upgrade.c: revision 1.19
usr.sbin/sysinst/arch/zaurus/md.c: revision 1.12
usr.sbin/sysinst/arch/playstation2/md.c: revision 1.10
usr.sbin/sysinst/arch/hpcarm/md.c: revision 1.11
usr.sbin/sysinst/arch/evbmips/md.c: revision 1.10
usr.sbin/sysinst/main.c: revision 1.28
Add an option to set the directory where we look for message catalogs.
Try to get rid of all wedges we created (after unmounting).
When upgrading, update the boot code post extraction from
the updated target file system.
Do not defer wedge deletions when we have nothing mounted.
Define and use a constant for maximum disk name length.
 1.6.2.1 15-Oct-2020  bouyer Pull up following revision(s) (requested by martin in ticket #1113):
usr.sbin/sysinst/bsddisklabel.c: revision 1.46
usr.sbin/sysinst/bsddisklabel.c: revision 1.47
usr.sbin/sysinst/disklabel.c: revision 1.40
usr.sbin/sysinst/arch/cobalt/md.c: revision 1.13
usr.sbin/sysinst/bsddisklabel.c: revision 1.48
usr.sbin/sysinst/disklabel.c: revision 1.41
usr.sbin/sysinst/arch/cobalt/md.c: revision 1.14
usr.sbin/sysinst/bsddisklabel.c: revision 1.49
usr.sbin/sysinst/disklabel.c: revision 1.42
usr.sbin/sysinst/Makefile.inc: revision 1.34
usr.sbin/sysinst/disks.c: revision 1.70
usr.sbin/sysinst/arch/hp300/md.c: revision 1.11
usr.sbin/sysinst/disks.c: revision 1.71
usr.sbin/sysinst/arch/i386/md.h: revision 1.8
usr.sbin/sysinst/arch/arc/md.c: revision 1.13
usr.sbin/sysinst/mbr.h: revision 1.5
usr.sbin/sysinst/mbr.h: revision 1.6
usr.sbin/sysinst/arch/mac68k/md.c: revision 1.10
usr.sbin/sysinst/bsddisklabel.c: revision 1.50
usr.sbin/sysinst/arch/acorn32/md.c: revision 1.7
usr.sbin/sysinst/bsddisklabel.c: revision 1.51
usr.sbin/sysinst/bsddisklabel.c: revision 1.52
usr.sbin/sysinst/bsddisklabel.c: revision 1.53
usr.sbin/sysinst/bsddisklabel.c: revision 1.54
usr.sbin/sysinst/bsddisklabel.c: revision 1.55
usr.sbin/sysinst/bsddisklabel.c: revision 1.56
usr.sbin/sysinst/arch/dummy/md.c: revision 1.6
usr.sbin/sysinst/arch/amd64/md.h: revision 1.9
usr.sbin/sysinst/arch/evbsh3/md.c: revision 1.6
usr.sbin/sysinst/arch/sparc/md.c: revision 1.6
usr.sbin/sysinst/arch/zaurus/md.c: revision 1.10
usr.sbin/sysinst/arch/x68k/md.c: revision 1.11
usr.sbin/sysinst/arch/sandpoint/md.c: revision 1.9
usr.sbin/sysinst/arch/vax/md.c: revision 1.7
usr.sbin/sysinst/arch/luna68k/md.c: revision 1.9
usr.sbin/sysinst/gpt.c: revision 1.19
usr.sbin/sysinst/arch/i386/md.c: revision 1.31
usr.sbin/sysinst/arch/i386/md.c: revision 1.32
usr.sbin/sysinst/arch/evbarm/md.c: revision 1.17
usr.sbin/sysinst/arch/evbarm/md.c: revision 1.18
usr.sbin/sysinst/arch/evbarm/md.c: revision 1.19
usr.sbin/sysinst/arch/shark/md.c: revision 1.6
usr.sbin/sysinst/arch/landisk/md.c: revision 1.14
usr.sbin/sysinst/util.c: revision 1.43
usr.sbin/sysinst/gpt.c: revision 1.20
usr.sbin/sysinst/util.c: revision 1.44
usr.sbin/sysinst/gpt.c: revision 1.21
usr.sbin/sysinst/gpt.c: revision 1.22
usr.sbin/sysinst/arch/evbarm/msg.md.en: revision 1.2
usr.sbin/sysinst/arch/ofppc/md.c: revision 1.11
usr.sbin/sysinst/util.c: revision 1.46
usr.sbin/sysinst/arch/ofppc/md.c: revision 1.12
usr.sbin/sysinst/util.c: revision 1.47
usr.sbin/sysinst/arch/evbarm/md.h: revision 1.6
usr.sbin/sysinst/util.c: revision 1.48
usr.sbin/sysinst/arch/evbarm/md.h: revision 1.7
usr.sbin/sysinst/arch/evbmips/md.c: revision 1.9
usr.sbin/sysinst/msg.mi.fr: revision 1.28
usr.sbin/sysinst/msg.mi.fr: revision 1.29
usr.sbin/sysinst/arch/sgimips/md.c: revision 1.9
usr.sbin/sysinst/arch/evbarm/Makefile: revision 1.3
usr.sbin/sysinst/msg.mi.de: revision 1.23
usr.sbin/sysinst/arch/hpcsh/md.c: revision 1.10
usr.sbin/sysinst/msg.mi.de: revision 1.24
usr.sbin/sysinst/install.c: revision 1.15
usr.sbin/sysinst/install.c: revision 1.16
usr.sbin/sysinst/arch/sparc64/md.c: revision 1.6
usr.sbin/sysinst/install.c: revision 1.17
usr.sbin/sysinst/install.c: revision 1.18
usr.sbin/sysinst/partitions.h: revision 1.16
usr.sbin/sysinst/install.c: revision 1.19
usr.sbin/sysinst/partitions.h: revision 1.17
usr.sbin/sysinst/arch/evbppc/md.c: revision 1.9
usr.sbin/sysinst/arch/playstation2/md.c: revision 1.9
usr.sbin/sysinst/partitions.h: revision 1.18
usr.sbin/sysinst/arch/hpcarm/md.c: revision 1.9
usr.sbin/sysinst/partitions.h: revision 1.19
usr.sbin/sysinst/msg.mi.es: revision 1.24
usr.sbin/sysinst/msg.mi.es: revision 1.25
usr.sbin/sysinst/msg.mi.es: revision 1.26
usr.sbin/sysinst/arch/zaurus/md.c: revision 1.9
usr.sbin/sysinst/target.c: revision 1.13
usr.sbin/sysinst/target.c: revision 1.14
usr.sbin/sysinst/part_edit.c: revision 1.17
usr.sbin/sysinst/part_edit.c: revision 1.18
usr.sbin/sysinst/msg.mi.fr: revision 1.30
usr.sbin/sysinst/arch/mvme68k/md.c: revision 1.11
usr.sbin/sysinst/part_edit.c: revision 1.19
usr.sbin/sysinst/msg.mi.fr: revision 1.31
usr.sbin/sysinst/arch/alpha/md.c: revision 1.9
usr.sbin/sysinst/msg.mi.en: revision 1.30
usr.sbin/sysinst/defs.h: revision 1.56
usr.sbin/sysinst/msg.mi.en: revision 1.31
usr.sbin/sysinst/defs.h: revision 1.57
usr.sbin/sysinst/msg.mi.en: revision 1.32
usr.sbin/sysinst/arch/amiga/md.c: revision 1.6
usr.sbin/sysinst/arch/hpcmips/md.c: revision 1.9
usr.sbin/sysinst/defs.h: revision 1.58
usr.sbin/sysinst/arch/cats/md.c: revision 1.5
usr.sbin/sysinst/defs.h: revision 1.59
usr.sbin/sysinst/arch/newsmips/md.c: revision 1.6
usr.sbin/sysinst/arch/pmax/md.c: revision 1.8
usr.sbin/sysinst/arch/mipsco/md.c: revision 1.8
usr.sbin/sysinst/part_edit.c: revision 1.20
usr.sbin/sysinst/part_edit.c: revision 1.21
usr.sbin/sysinst/arch/macppc/md.c: revision 1.6
usr.sbin/sysinst/part_edit.c: revision 1.22
usr.sbin/sysinst/part_edit.c: revision 1.23
usr.sbin/sysinst/part_edit.c: revision 1.24
usr.sbin/sysinst/defs.h: revision 1.60
usr.sbin/sysinst/arch/mac68k/Makefile: revision 1.3
usr.sbin/sysinst/defs.h: revision 1.61
usr.sbin/sysinst/defs.h: revision 1.63
usr.sbin/sysinst/defs.h: revision 1.64
usr.sbin/sysinst/defs.h: revision 1.65
usr.sbin/sysinst/label.c: revision 1.21
usr.sbin/sysinst/defs.h: revision 1.66
usr.sbin/sysinst/label.c: revision 1.22
usr.sbin/sysinst/defs.h: revision 1.67
usr.sbin/sysinst/label.c: revision 1.23
usr.sbin/sysinst/label.c: revision 1.24
usr.sbin/sysinst/label.c: revision 1.25
usr.sbin/sysinst/label.c: revision 1.26
usr.sbin/sysinst/label.c: revision 1.27
usr.sbin/sysinst/msg.mi.pl: revision 1.31
usr.sbin/sysinst/label.c: revision 1.28
usr.sbin/sysinst/msg.mi.pl: revision 1.32
usr.sbin/sysinst/label.c: revision 1.29
usr.sbin/sysinst/arch/atari/md.c: revision 1.7
usr.sbin/sysinst/disklabel.c: revision 1.36
usr.sbin/sysinst/disklabel.c: revision 1.37
usr.sbin/sysinst/disklabel.c: revision 1.38
usr.sbin/sysinst/disklabel.c: revision 1.39
usr.sbin/sysinst/arch/bebox/md.c: revision 1.9
usr.sbin/sysinst/mbr.c: revision 1.32
usr.sbin/sysinst/disks.c: revision 1.66
usr.sbin/sysinst/mbr.c: revision 1.33
usr.sbin/sysinst/disks.c: revision 1.67
usr.sbin/sysinst/mbr.c: revision 1.34
usr.sbin/sysinst/arch/emips/md.c: revision 1.9
usr.sbin/sysinst/disks.c: revision 1.68
usr.sbin/sysinst/partitions.c: revision 1.11
usr.sbin/sysinst/mbr.c: revision 1.35
usr.sbin/sysinst/disks.c: revision 1.69
usr.sbin/sysinst/mbr.c: revision 1.36
usr.sbin/sysinst/arch/hppa/md.c: revision 1.8
usr.sbin/sysinst/arch/prep/md.c: revision 1.13
usr.sbin/sysinst/label.c: revision 1.30
usr.sbin/sysinst/arch/ews4800mips/md.c: revision 1.7
usr.sbin/sysinst/main.c: revision 1.21
usr.sbin/sysinst/main.c: revision 1.22
usr.sbin/sysinst/main.c: revision 1.23
usr.sbin/sysinst/bsddisklabel.c: revision 1.40
usr.sbin/sysinst/main.c: revision 1.24
usr.sbin/sysinst/arch/cobalt/md.h: revision 1.6
usr.sbin/sysinst/bsddisklabel.c: revision 1.41
usr.sbin/sysinst/main.c: revision 1.25
usr.sbin/sysinst/arch/news68k/md.c: revision 1.7
usr.sbin/sysinst/bsddisklabel.c: revision 1.42
usr.sbin/sysinst/bsddisklabel.c: revision 1.43
usr.sbin/sysinst/bsddisklabel.c: revision 1.44
usr.sbin/sysinst/bsddisklabel.c: revision 1.45
Use strlcpy in a few places to guarnatee 0-terminated strings
Rever previous: the d_packname in struct disklabel is not NUL terminated.
Disable the warning instead.
Do not force -Os optimization (unless SMALLPROG)
Remove unused "rel" global variable and make the -r option a no-op.
PR 55045: strlcpy(NULL, ..., 0) considered harmfull in some implementations.
PR misc/54886: bump threshold for automatic/default creation of a tmpfs /tmp
up slightly (to 384 MB ram). This will make sure the default install has
a > 64 MB /tmp available (number pulled out of thin air, 64 MB is the minimum
required by the ZFS tests).
Don't depend on common symbol definitions.
boardype should not be common.
Redo the root-size-limit check again after we grew the root partition
for kernel dumps. Auto-enable the /usr partition if it overflows.
For all non-root partitions, default to FFSv2.
When extending a partition (to fill the total disk size) do respect
size limits.
Do not suggest a size limited partition for extension by default.
Minor tweak to previous: when forcing a /usr partition just to have an
arbitrary extendable partition, still use its default size initially.
At the end of a new installation save entropy.
Ooops, backout previous - twice the entropy saving is not needed.
Instead slightly improve the (slightly) hidden other code that already
did it.
PR 55202: disable swapping if we started it due to low ram
it's "its"
Remove "If you booted from a floppy" message
Set HAVE_INSTALL_IMAGE for evbarm
Change mountpoint of boot ext2fs from /stand to /ext2 to avoid conflict.
Should be pulled up to netbsd-9, with fixes of PR/55060.
MBR type for Ext2 should be MBR_PTYPE_LNXEXT2, not MBR_PTYPE_FAT12.
Silence -Wstringop-truncation for ``name'' in disp_selected_part().
This variable is used only for display, and truncation seems harmless.
PR 55572: avoid crash when answering the mount point prompt for a previously
empty mount point with an emptry sting.
When adding a new partition in the concrete partition editor, make sure
to set a pointer to the partition table interface in the new entry.
Otherwise we may end up not writing back the partitions at all, leading
to further fallout later.
Receipe to reproduce the issue from Frederic Fauberteau, thanks!
In the concrete partitions editor, after deleting the last partition move
the menu selection to the "add a partition" entry (instead of the sentinel
line which is not an active menu entry).
Typo in comment
Keep a list of all partition tables from which we have deleted partitions
and make sure we update those partition tables when writing partitions,
even if no install related partition remains on them.
Fix display of timezone selection menu
If there is no current partitioning manager assume we are editing the
current system and make target_already_root() return true.
Fixes various fallout when using sysinst post installation.
PR 55377: mark boot partitions in the partition size display, as suggested
by Izumi Tsutsui (minor modifications + all bugs by me)
PR 55378: do not assume RAW_PART to be either 2 or 3
PR 55379: avoid creating bogus /etc/fstab lines for /dev/cd* if no
cdrom is available.
PR 55381: try to deal with moved (but not yet saved) partitions when
calculating free space
Apply patch provided by Izumi Tsutsui in PR 55382: make ext2 partitions
show up in the outer (MBR) partition table, needed for example on Cobalt
where firmware boots from that partition.
PR 55384: detangle pm->ptstart from the "install" flag (selecting a
target partition). Instead introduce a new PTI_INSTALL_TARGET per partition
flag and deal with it in the partitioning backends.
Honour pm->ptstart when allocating new partitions - it is supposed to be
the first sector usable by NetBSD.
If we have no explicitly marke target root partition, make sure to set
the proper flag on the implicit one.
When merging existing partitions with desired target system layout
information, only force the "mount" flag if the existing partitions
has a valid mount point.
Add a heuristic to detect and properly mark EFI system partitions
when re-using pre-existing partitions.
When MD code requests a reserved area (at the start of the disk)
make sure to properly account for the "lost" space during all calculations
and especially when expanding the main partition to fill the disk.
Avoid using the global "pm" or a passed device descriptons when we are
passing disk limits explicitly anyway.
Simplify/fix a few rounding calculations.
When creating new partitions for "full disk" use, pass a install target
hint to the partitioning backend (for the outer NetBSD partition).
Use an install target hint to mark a new partition active.
When compiled with BOOTSEL support, also name the new partition "NetBSD".
Remove more pm->ptstart abuse - calculate values localy where needed
instead.
Fix editing start and size of not yet existing outer partitions.
Previously we abused pm->ptstart / pm->ptsize to pass the bounds of the
NetBSD outer partition to the inner partition editor - but now this is
not a valid assumption any more, so explicitly fix the bounds if an
outer partition exists.
Remove very strange code that special-cased MSDOS file systems and refused
to newfs the partition (despite explicit request to do so) if it was
mountable.
Accidently carried over from a dim and distant past, before we had
fsck_newfs.
PR 55536: when we find existing partition tables and have alternative
formats available, offer to delete partitions and create new ones from
scratch (in some other or the same on-disk format).
Minor fix to previous: fix condition when we offer the partition type
switch - it makes sense even if the disk is partitioned but has no valid
partitions.
Before forcing MBR partitions into our disklabel, make sure they are not
there yet - could happen in various paths when reusing existing partitions
(or parts of that) - previously we would blindly duplicate identical
partitions.
Ooops, part of previous was not meant to be included yet
When renumbering partitions (after deletions) be slightly more lax
in matching, to cope with differences between MBR EFI partitions and
disklabel MSDOS partitions.
PR 55142: on popular demand bring back expert options to adjust the
number of free inodes, block size and fragment size for FFS and LFS.
Fix copy & pasto noticed by Jason Mitchell: change the type of a GPT
partition via "gpt type" - not "gpt label".
Fix copy & pasto (missing "again" label)
Remove dead code
Move MBR writing (if any) post disklabel writing, otherwise strange
interactions happen.
Properly convert partition default sizes in MB to number of sectors
 1.10.2.1 14-Jan-2024  martin Pull up following revision(s) (requested by tsutsui in ticket #537):

usr.sbin/sysinst/arch/atari/md.c: revision 1.11

Fix a typo of a kernel name on detecting a running machine type.
 1.6 26-Apr-2025  tsutsui Remove obsolete MD 'PART_(ROOT|SWAP|BSD|RAW|USR|REST|FIRST_FREE)' defines.

Patch from Miod Vallat.
 1.5 17-Jun-2022  tsutsui branches: 1.5.4;
Use consistent default partition sizes for similar ports.
 1.4 16-Jun-2022  tsutsui Define DEFSWAPSIZE properly. DEFSWAPRAM seems obsolete.
 1.3 02-Oct-2019  maya Split out /rescue to its own set and adapt installers/images to add it.

This is meant to make updates safer: if something goes wrong with updating
base, we still have the old, standalone /rescue to recover from.
 1.2 16-Nov-2018  martin branches: 1.2.2;
Sync install size estimates with current reality
 1.1 26-Jul-2014  dholland branches: 1.1.2; 1.1.6; 1.1.26; 1.1.28;
Move sysinst sources to usr.sbin.

This commit only physically moves the sources - there are no other
changes, to maximize the probability that this will be treated as a
rename if we ever do manage to migrate away from CVS.

Moving sysinst has been discussed on and off for years and has two
goals: making it easier to work on sysinst, and also making sysinst
available on running systems for use installing chroots and VM images
and other such things. None of the latter is possible yet, but as they
say, one thing at a time.

Doing this now was approved in an impromptu fashion by mrg, riz,
riastradh, me, and groo.
 1.1.28.2 13-Apr-2020  martin Mostly merge changes from HEAD upto 20200411
 1.1.28.1 10-Jun-2019  christos Sync with HEAD
 1.1.26.1 26-Nov-2018  pgoyette Sync with HEAD, resolve a couple of conflicts
 1.1.6.2 20-Aug-2014  tls Rebase to HEAD as of a few days ago.
 1.1.6.1 26-Jul-2014  tls file md.h was added on branch tls-maxphys on 2014-08-20 00:05:14 +0000
 1.1.2.2 10-Aug-2014  tls Rebase.
 1.1.2.1 26-Jul-2014  tls file md.h was added on branch tls-earlyentropy on 2014-08-10 07:00:25 +0000
 1.2.2.1 17-Nov-2019  martin Pull up following revision(s) (requested by maya in ticket #435):

distrib/sets/maketars: revision 1.90
usr.sbin/sysinst/arch/playstation2/md.h: revision 1.2
usr.sbin/sysinst/arch/sandpoint/md.h: revision 1.3
usr.sbin/sysinst/arch/evbppc/md.h: revision 1.3
usr.sbin/sysinst/arch/hpcarm/md.h: revision 1.3
usr.sbin/sysinst/arch/mvme68k/md.h: revision 1.3
distrib/sun3/MakeInstTape: revision 1.3
usr.sbin/sysinst/util.c: revision 1.33
distrib/sets/lists/rescue/mi: revision 1.1
distrib/sets/lists/base/rescue.sun2: file removal
usr.sbin/sysinst/arch/zaurus/md.h: revision 1.3
distrib/sets/lists/base/rescue.ad.m68k.shl: file removal
distrib/sets/regpkgset: revision 1.13
usr.sbin/sysinst/arch/i386/md.h: revision 1.7
distrib/sets/lists/base/rescue.sparc: file removal
distrib/notes/mvme68k/xfer: revision 1.19
distrib/sets/sets.subr: revision 1.187
distrib/common/bootimage/Makefile.bootimage: revision 1.22
usr.sbin/sysinst/msg.mi.de: revision 1.16
usr.sbin/sysinst/arch/atari/md.h: revision 1.3
rescue/Makefile: revision 1.38
distrib/sets/lists/base/rescue.macppc: file removal
usr.sbin/sysinst/arch/arc/md.h: revision 1.4
distrib/miniroot/install.sub: revision 1.49
usr.sbin/sysinst/arch/acorn32/md.h: revision 1.3
usr.sbin/sysinst/arch/x68k/md.h: revision 1.3
usr.sbin/sysinst/arch/hpcmips/md.h: revision 1.3
usr.sbin/sysinst/arch/bebox/md.h: revision 1.3
usr.sbin/sysinst/arch/hpcsh/md.h: revision 1.2
distrib/sets/lists/base/rescue.shark: file removal
usr.sbin/sysinst/arch/emips/md.h: revision 1.5
distrib/utils/embedded/mkimage: revision 1.70
usr.sbin/sysinst/arch/shark/md.h: revision 1.3
usr.sbin/sysinst/arch/pmax/md.h: revision 1.4
usr.sbin/sysinst/arch/amiga/md.h: revision 1.4
usr.sbin/sysinst/arch/hp300/md.h: revision 1.5
rescue/list.ldconfig: file removal
distrib/sets/lists/base/rescue.ad.m68k: file removal
usr.sbin/sysinst/arch/prep/md.h: revision 1.4
usr.sbin/sysinst/arch/cats/md.h: revision 1.4
usr.sbin/sysinst/arch/amd64/md.h: revision 1.7
usr.sbin/sysinst/msg.mi.es: revision 1.17
usr.sbin/sysinst/msg.mi.fr: revision 1.20
usr.sbin/sysinst/msg.mi.pl: revision 1.23
distrib/sets/lists/base/rescue.i386: file removal
usr.sbin/sysinst/arch/evbarm/md.h: revision 1.3
distrib/sets/lists/base/rescue.vax: file removal
distrib/amd64/uefi-installimage/Makefile.bootimage: revision 1.12
usr.sbin/sysinst/arch/evbmips/md.h: revision 1.3
distrib/sets/lists/base/rescue.mi: file removal
distrib/sets/README: revision 1.14
usr.sbin/sysinst/arch/sgimips/md.h: revision 1.4
distrib/sets/lists/base/rescue.sparc64: file removal
distrib/sets/lists/base/rescue.mi: revision 1.45
distrib/sets/lists/base/rescue.mi: revision 1.46
usr.sbin/sysinst/arch/ofppc/md.h: revision 1.4
usr.sbin/sysinst/arch/cobalt/md.h: revision 1.4
distrib/sets/lists/base/rescue.ad.arm: file removal
distrib/sets/lists/base/rescue.mac68k: file removal
usr.sbin/sysinst/defs.h: revision 1.45
usr.sbin/sysinst/arch/landisk/md.h: revision 1.2
distrib/notes/atari/xfer: revision 1.17
etc/Makefile: revision 1.441
usr.sbin/sysinst/msg.mi.en: revision 1.22
distrib/sun2/MakeInstTape: revision 1.2

Remove ldconfig from /rescue, and mark it MI obsolete.
- ldconfig in netbsd refers to a.out binaries only. We've been ELF-only
since NetBSD 2.0 or so, and having it in /rescue served little purpose
even before that, as /rescue is standalone.
- Using MI obsolete to avoid the need for MD set lists where ldconfig
is the sole entry

Mark /rescue/edlabel as MI-obsolete, so we can remove all remaining MD
rescue set list files.

Split out /rescue to its own set and adapt installers/images to add it.

This is meant to make updates safer: if something goes wrong with updating
base, we still have the old, standalone /rescue to recover from.
 1.5.4.1 02-Aug-2025  perseant Sync with HEAD
 1.1 26-Jul-2014  dholland branches: 1.1.2; 1.1.6;
Move sysinst sources to usr.sbin.

This commit only physically moves the sources - there are no other
changes, to maximize the probability that this will be treated as a
rename if we ever do manage to migrate away from CVS.

Moving sysinst has been discussed on and off for years and has two
goals: making it easier to work on sysinst, and also making sysinst
available on running systems for use installing chroots and VM images
and other such things. None of the latter is possible yet, but as they
say, one thing at a time.

Doing this now was approved in an impromptu fashion by mrg, riz,
riastradh, me, and groo.
 1.1.6.2 20-Aug-2014  tls Rebase to HEAD as of a few days ago.
 1.1.6.1 26-Jul-2014  tls file menus.md.en was added on branch tls-maxphys on 2014-08-20 00:05:14 +0000
 1.1.2.2 10-Aug-2014  tls Rebase.
 1.1.2.1 26-Jul-2014  tls file menus.md.en was added on branch tls-earlyentropy on 2014-08-10 07:00:25 +0000
 1.2 12-Aug-2015  tsutsui Remove unused es message files.
 1.1 26-Jul-2014  dholland branches: 1.1.2; 1.1.6;
Move sysinst sources to usr.sbin.

This commit only physically moves the sources - there are no other
changes, to maximize the probability that this will be treated as a
rename if we ever do manage to migrate away from CVS.

Moving sysinst has been discussed on and off for years and has two
goals: making it easier to work on sysinst, and also making sysinst
available on running systems for use installing chroots and VM images
and other such things. None of the latter is possible yet, but as they
say, one thing at a time.

Doing this now was approved in an impromptu fashion by mrg, riz,
riastradh, me, and groo.
 1.1.6.2 20-Aug-2014  tls Rebase to HEAD as of a few days ago.
 1.1.6.1 26-Jul-2014  tls file menus.md.es was added on branch tls-maxphys on 2014-08-20 00:05:14 +0000
 1.1.2.2 10-Aug-2014  tls Rebase.
 1.1.2.1 26-Jul-2014  tls file menus.md.es was added on branch tls-earlyentropy on 2014-08-10 07:00:25 +0000
 1.2 24-Nov-2014  tsutsui Terminate messages with a newline so that dialog box won't overwrite messages.

Should be pulled up to netbsd-7 (and netbsd-6) branches.
 1.1 26-Jul-2014  dholland branches: 1.1.2; 1.1.4; 1.1.6;
Move sysinst sources to usr.sbin.

This commit only physically moves the sources - there are no other
changes, to maximize the probability that this will be treated as a
rename if we ever do manage to migrate away from CVS.

Moving sysinst has been discussed on and off for years and has two
goals: making it easier to work on sysinst, and also making sysinst
available on running systems for use installing chroots and VM images
and other such things. None of the latter is possible yet, but as they
say, one thing at a time.

Doing this now was approved in an impromptu fashion by mrg, riz,
riastradh, me, and groo.
 1.1.6.2 20-Aug-2014  tls Rebase to HEAD as of a few days ago.
 1.1.6.1 26-Jul-2014  tls file msg.md.de was added on branch tls-maxphys on 2014-08-20 00:05:14 +0000
 1.1.4.1 14-Dec-2014  martin Pull up following revision(s) (requested by tsutsui in ticket #320):
usr.sbin/sysinst/arch/atari/msg.md.de: revision 1.2
usr.sbin/sysinst/arch/atari/msg.md.en: revision 1.2
usr.sbin/sysinst/arch/atari/msg.md.es: revision 1.2
Terminate messages with a newline so that dialog box won't overwrite messages.
 1.1.2.2 10-Aug-2014  tls Rebase.
 1.1.2.1 26-Jul-2014  tls file msg.md.de was added on branch tls-earlyentropy on 2014-08-10 07:00:25 +0000
 1.2 24-Nov-2014  tsutsui Terminate messages with a newline so that dialog box won't overwrite messages.

Should be pulled up to netbsd-7 (and netbsd-6) branches.
 1.1 26-Jul-2014  dholland branches: 1.1.2; 1.1.4; 1.1.6;
Move sysinst sources to usr.sbin.

This commit only physically moves the sources - there are no other
changes, to maximize the probability that this will be treated as a
rename if we ever do manage to migrate away from CVS.

Moving sysinst has been discussed on and off for years and has two
goals: making it easier to work on sysinst, and also making sysinst
available on running systems for use installing chroots and VM images
and other such things. None of the latter is possible yet, but as they
say, one thing at a time.

Doing this now was approved in an impromptu fashion by mrg, riz,
riastradh, me, and groo.
 1.1.6.2 20-Aug-2014  tls Rebase to HEAD as of a few days ago.
 1.1.6.1 26-Jul-2014  tls file msg.md.en was added on branch tls-maxphys on 2014-08-20 00:05:14 +0000
 1.1.4.1 14-Dec-2014  martin Pull up following revision(s) (requested by tsutsui in ticket #320):
usr.sbin/sysinst/arch/atari/msg.md.de: revision 1.2
usr.sbin/sysinst/arch/atari/msg.md.en: revision 1.2
usr.sbin/sysinst/arch/atari/msg.md.es: revision 1.2
Terminate messages with a newline so that dialog box won't overwrite messages.
 1.1.2.2 10-Aug-2014  tls Rebase.
 1.1.2.1 26-Jul-2014  tls file msg.md.en was added on branch tls-earlyentropy on 2014-08-10 07:00:25 +0000
 1.3 12-Aug-2015  tsutsui Remove unused es message files.
 1.2 24-Nov-2014  tsutsui Terminate messages with a newline so that dialog box won't overwrite messages.

Should be pulled up to netbsd-7 (and netbsd-6) branches.
 1.1 26-Jul-2014  dholland branches: 1.1.2; 1.1.4; 1.1.6;
Move sysinst sources to usr.sbin.

This commit only physically moves the sources - there are no other
changes, to maximize the probability that this will be treated as a
rename if we ever do manage to migrate away from CVS.

Moving sysinst has been discussed on and off for years and has two
goals: making it easier to work on sysinst, and also making sysinst
available on running systems for use installing chroots and VM images
and other such things. None of the latter is possible yet, but as they
say, one thing at a time.

Doing this now was approved in an impromptu fashion by mrg, riz,
riastradh, me, and groo.
 1.1.6.2 20-Aug-2014  tls Rebase to HEAD as of a few days ago.
 1.1.6.1 26-Jul-2014  tls file msg.md.es was added on branch tls-maxphys on 2014-08-20 00:05:14 +0000
 1.1.4.1 14-Dec-2014  martin Pull up following revision(s) (requested by tsutsui in ticket #320):
usr.sbin/sysinst/arch/atari/msg.md.de: revision 1.2
usr.sbin/sysinst/arch/atari/msg.md.en: revision 1.2
usr.sbin/sysinst/arch/atari/msg.md.es: revision 1.2
Terminate messages with a newline so that dialog box won't overwrite messages.
 1.1.2.2 10-Aug-2014  tls Rebase.
 1.1.2.1 26-Jul-2014  tls file msg.md.es was added on branch tls-earlyentropy on 2014-08-10 07:00:25 +0000
 1.2 12-Jun-2019  martin Rework internal data structures and "interfaces to user interface" functions
to get rid of all disklabel assumptions.

Previously (even for GPT partitioning) struct disklabel was used, which
obviously breaks large disk setups. Also many MD parts and parts of the
user interface assumed (a) a struct disklabel is used internally to
store partitioning information and (b) partitions are named 'a' ... $MAXPART.

Get rid of this and replace it with a quite abstract interface that should
be able to deal with all variants in partition storage:

- partitions are stored in a (partly abstract) struct disk_partitions
and most parts of it are only accessed via accessor functions provided
by a "partitioning scheme".

- implement partitioning schemes for MBR, disklabel and GPT (with likely
RDB [amiga] and Apple Partition Map [mac*] to follow soon)

- partitioning schemes may be cascaded, e.g. on x86 when using MBR as
"outer partitions", we have disklabel as "inner partitions".

- all user interface goes via accessor functions in the partitioning scheme,
some of which return pointers to special user interface descriptors
(e.g. to allow editing partition flags, which are scheme specific)

Overall the user interface changes (in this initial step) are minimal but
noticable. A new Anita is needed for automatic test setups - many thanks
to Andreas Gustafsson for lots of early testing and a new Anita version,
and to Manuel Bouyer for cooperation and tests of the Anita release.

This work was sponsored by The NetBSD Foundation, Inc.
 1.1 26-Jul-2014  dholland branches: 1.1.2; 1.1.6; 1.1.28;
Move sysinst sources to usr.sbin.

This commit only physically moves the sources - there are no other
changes, to maximize the probability that this will be treated as a
rename if we ever do manage to migrate away from CVS.

Moving sysinst has been discussed on and off for years and has two
goals: making it easier to work on sysinst, and also making sysinst
available on running systems for use installing chroots and VM images
and other such things. None of the latter is possible yet, but as they
say, one thing at a time.

Doing this now was approved in an impromptu fashion by mrg, riz,
riastradh, me, and groo.
 1.1.28.1 13-Apr-2020  martin Mostly merge changes from HEAD upto 20200411
 1.1.6.2 20-Aug-2014  tls Rebase to HEAD as of a few days ago.
 1.1.6.1 26-Jul-2014  tls file Makefile was added on branch tls-maxphys on 2014-08-20 00:05:14 +0000
 1.1.2.2 10-Aug-2014  tls Rebase.
 1.1.2.1 26-Jul-2014  tls file Makefile was added on branch tls-earlyentropy on 2014-08-10 07:00:25 +0000
 1.10 29-Jan-2022  martin When upgrading, update the boot code post extraction from
the updated target file system.
 1.9 12-Oct-2020  martin PR 55536: when we find existing partition tables and have alternative
formats available, offer to delete partitions and create new ones from
scratch (in some other or the same on-disk format).
 1.8 27-Jan-2020  martin Fix support for non-512-byte/sector disks again after I broke it when
introducing the abstract partition backends.
 1.7 09-Jan-2020  martin Finish conversion of extended partitioning parts to new abstract
backend interface. XXX still could use a lot of polishing.
 1.6 14-Aug-2019  martin When we ask the user to select a partitioning scheme and they refuse
(that is: select "Exit" in the menu), abort installation.
 1.5 13-Jul-2019  martin branches: 1.5.2;
We may call md_pre_mount() multiple times for the same install set,
so pass an additional index argument so MD code knows which part
of the install will be mounted next.
 1.4 13-Jun-2019  martin In the new world order disks may come without any partitioning scheme
attached - so the user may have to select one.
 1.3 12-Jun-2019  martin Rework internal data structures and "interfaces to user interface" functions
to get rid of all disklabel assumptions.

Previously (even for GPT partitioning) struct disklabel was used, which
obviously breaks large disk setups. Also many MD parts and parts of the
user interface assumed (a) a struct disklabel is used internally to
store partitioning information and (b) partitions are named 'a' ... $MAXPART.

Get rid of this and replace it with a quite abstract interface that should
be able to deal with all variants in partition storage:

- partitions are stored in a (partly abstract) struct disk_partitions
and most parts of it are only accessed via accessor functions provided
by a "partitioning scheme".

- implement partitioning schemes for MBR, disklabel and GPT (with likely
RDB [amiga] and Apple Partition Map [mac*] to follow soon)

- partitioning schemes may be cascaded, e.g. on x86 when using MBR as
"outer partitions", we have disklabel as "inner partitions".

- all user interface goes via accessor functions in the partitioning scheme,
some of which return pointers to special user interface descriptors
(e.g. to allow editing partition flags, which are scheme specific)

Overall the user interface changes (in this initial step) are minimal but
noticable. A new Anita is needed for automatic test setups - many thanks
to Andreas Gustafsson for lots of early testing and a new Anita version,
and to Manuel Bouyer for cooperation and tests of the Anita release.

This work was sponsored by The NetBSD Foundation, Inc.
 1.2 03-Aug-2014  martin branches: 1.2.2; 1.2.6; 1.2.28;
(Finally) merge a slightly modified version of the 2012 GSoC results
from Eugene Lozovoy: add extended partitioning options to sysinst.
Still needs some testing and polishing, but it now is possible to use GPT
or to create a RAID set from scratch and install onto it.
 1.1 26-Jul-2014  dholland Move sysinst sources to usr.sbin.

This commit only physically moves the sources - there are no other
changes, to maximize the probability that this will be treated as a
rename if we ever do manage to migrate away from CVS.

Moving sysinst has been discussed on and off for years and has two
goals: making it easier to work on sysinst, and also making sysinst
available on running systems for use installing chroots and VM images
and other such things. None of the latter is possible yet, but as they
say, one thing at a time.

Doing this now was approved in an impromptu fashion by mrg, riz,
riastradh, me, and groo.
 1.2.28.1 13-Apr-2020  martin Mostly merge changes from HEAD upto 20200411
 1.2.6.2 20-Aug-2014  tls Rebase to HEAD as of a few days ago.
 1.2.6.1 03-Aug-2014  tls file md.c was added on branch tls-maxphys on 2014-08-20 00:05:14 +0000
 1.2.2.2 10-Aug-2014  tls Rebase.
 1.2.2.1 03-Aug-2014  tls file md.c was added on branch tls-earlyentropy on 2014-08-10 07:00:25 +0000
 1.5.2.4 02-Feb-2022  msaitoh Pull up following revision(s) (requested by martin in ticket #1422):
usr.sbin/sysinst/util.c: revision 1.64
usr.sbin/sysinst/arch/hpcsh/md.c: revision 1.11
usr.sbin/sysinst/arch/alpha/md.c: revision 1.10
usr.sbin/sysinst/arch/sparc64/md.c: revision 1.7
usr.sbin/sysinst/arch/emips/md.c: revision 1.10
usr.sbin/sysinst/arch/cobalt/md.c: revision 1.15
usr.sbin/sysinst/arch/x68k/md.c: revision 1.12
usr.sbin/sysinst/arch/sandpoint/md.c: revision 1.10
usr.sbin/sysinst/arch/luna68k/md.c: revision 1.10
usr.sbin/sysinst/arch/hp300/md.c: revision 1.12
usr.sbin/sysinst/arch/vax/md.c: revision 1.8
usr.sbin/sysinst/arch/hpcmips/md.c: revision 1.10
usr.sbin/sysinst/target.c: revision 1.16
usr.sbin/sysinst/arch/mvme68k/md.c: revision 1.12
usr.sbin/sysinst/arch/arc/md.c: revision 1.14
usr.sbin/sysinst/target.c: revision 1.17
usr.sbin/sysinst/arch/i386/md.c: revision 1.34
usr.sbin/sysinst/arch/mac68k/md.c: revision 1.11
usr.sbin/sysinst/arch/atari/md.c: revision 1.8
usr.sbin/sysinst/arch/sgimips/md.c: revision 1.10
usr.sbin/sysinst/arch/acorn32/md.c: revision 1.8
usr.sbin/sysinst/install.c: revision 1.22
usr.sbin/sysinst/arch/amiga/md.c: revision 1.7
usr.sbin/sysinst/arch/cats/md.c: revision 1.6
usr.sbin/sysinst/arch/dummy/md.c: revision 1.7
usr.sbin/sysinst/arch/shark/md.c: revision 1.7
usr.sbin/sysinst/arch/pmax/md.c: revision 1.9
usr.sbin/sysinst/arch/newsmips/md.c: revision 1.7
usr.sbin/sysinst/arch/mipsco/md.c: revision 1.9
usr.sbin/sysinst/arch/landisk/md.c: revision 1.15
usr.sbin/sysinst/arch/hppa/md.c: revision 1.9
usr.sbin/sysinst/arch/prep/md.c: revision 1.14
usr.sbin/sysinst/defs.h: revision 1.77
usr.sbin/sysinst/arch/ofppc/md.c: revision 1.13
usr.sbin/sysinst/arch/ews4800mips/md.c: revision 1.8
usr.sbin/sysinst/defs.h: revision 1.78
usr.sbin/sysinst/arch/macppc/md.c: revision 1.7
usr.sbin/sysinst/arch/evbppc/md.c: revision 1.10
usr.sbin/sysinst/defs.h: revision 1.79
usr.sbin/sysinst/gpt.c: revision 1.27
usr.sbin/sysinst/arch/bebox/md.c: revision 1.10
usr.sbin/sysinst/gpt.c: revision 1.28
usr.sbin/sysinst/arch/sparc/md.c: revision 1.7
usr.sbin/sysinst/arch/evbsh3/md.c: revision 1.7
usr.sbin/sysinst/arch/evbarm/md.c: revision 1.22
usr.sbin/sysinst/arch/news68k/md.c: revision 1.8
usr.sbin/sysinst/upgrade.c: revision 1.19
usr.sbin/sysinst/arch/zaurus/md.c: revision 1.12
usr.sbin/sysinst/arch/playstation2/md.c: revision 1.10
usr.sbin/sysinst/arch/hpcarm/md.c: revision 1.11
usr.sbin/sysinst/arch/evbmips/md.c: revision 1.10
usr.sbin/sysinst/main.c: revision 1.28
Add an option to set the directory where we look for message catalogs.
Try to get rid of all wedges we created (after unmounting).
When upgrading, update the boot code post extraction from
the updated target file system.
Do not defer wedge deletions when we have nothing mounted.
Define and use a constant for maximum disk name length.
 1.5.2.3 15-Oct-2020  bouyer Pull up following revision(s) (requested by martin in ticket #1113):
usr.sbin/sysinst/bsddisklabel.c: revision 1.46
usr.sbin/sysinst/bsddisklabel.c: revision 1.47
usr.sbin/sysinst/disklabel.c: revision 1.40
usr.sbin/sysinst/arch/cobalt/md.c: revision 1.13
usr.sbin/sysinst/bsddisklabel.c: revision 1.48
usr.sbin/sysinst/disklabel.c: revision 1.41
usr.sbin/sysinst/arch/cobalt/md.c: revision 1.14
usr.sbin/sysinst/bsddisklabel.c: revision 1.49
usr.sbin/sysinst/disklabel.c: revision 1.42
usr.sbin/sysinst/Makefile.inc: revision 1.34
usr.sbin/sysinst/disks.c: revision 1.70
usr.sbin/sysinst/arch/hp300/md.c: revision 1.11
usr.sbin/sysinst/disks.c: revision 1.71
usr.sbin/sysinst/arch/i386/md.h: revision 1.8
usr.sbin/sysinst/arch/arc/md.c: revision 1.13
usr.sbin/sysinst/mbr.h: revision 1.5
usr.sbin/sysinst/mbr.h: revision 1.6
usr.sbin/sysinst/arch/mac68k/md.c: revision 1.10
usr.sbin/sysinst/bsddisklabel.c: revision 1.50
usr.sbin/sysinst/arch/acorn32/md.c: revision 1.7
usr.sbin/sysinst/bsddisklabel.c: revision 1.51
usr.sbin/sysinst/bsddisklabel.c: revision 1.52
usr.sbin/sysinst/bsddisklabel.c: revision 1.53
usr.sbin/sysinst/bsddisklabel.c: revision 1.54
usr.sbin/sysinst/bsddisklabel.c: revision 1.55
usr.sbin/sysinst/bsddisklabel.c: revision 1.56
usr.sbin/sysinst/arch/dummy/md.c: revision 1.6
usr.sbin/sysinst/arch/amd64/md.h: revision 1.9
usr.sbin/sysinst/arch/evbsh3/md.c: revision 1.6
usr.sbin/sysinst/arch/sparc/md.c: revision 1.6
usr.sbin/sysinst/arch/zaurus/md.c: revision 1.10
usr.sbin/sysinst/arch/x68k/md.c: revision 1.11
usr.sbin/sysinst/arch/sandpoint/md.c: revision 1.9
usr.sbin/sysinst/arch/vax/md.c: revision 1.7
usr.sbin/sysinst/arch/luna68k/md.c: revision 1.9
usr.sbin/sysinst/gpt.c: revision 1.19
usr.sbin/sysinst/arch/i386/md.c: revision 1.31
usr.sbin/sysinst/arch/i386/md.c: revision 1.32
usr.sbin/sysinst/arch/evbarm/md.c: revision 1.17
usr.sbin/sysinst/arch/evbarm/md.c: revision 1.18
usr.sbin/sysinst/arch/evbarm/md.c: revision 1.19
usr.sbin/sysinst/arch/shark/md.c: revision 1.6
usr.sbin/sysinst/arch/landisk/md.c: revision 1.14
usr.sbin/sysinst/util.c: revision 1.43
usr.sbin/sysinst/gpt.c: revision 1.20
usr.sbin/sysinst/util.c: revision 1.44
usr.sbin/sysinst/gpt.c: revision 1.21
usr.sbin/sysinst/gpt.c: revision 1.22
usr.sbin/sysinst/arch/evbarm/msg.md.en: revision 1.2
usr.sbin/sysinst/arch/ofppc/md.c: revision 1.11
usr.sbin/sysinst/util.c: revision 1.46
usr.sbin/sysinst/arch/ofppc/md.c: revision 1.12
usr.sbin/sysinst/util.c: revision 1.47
usr.sbin/sysinst/arch/evbarm/md.h: revision 1.6
usr.sbin/sysinst/util.c: revision 1.48
usr.sbin/sysinst/arch/evbarm/md.h: revision 1.7
usr.sbin/sysinst/arch/evbmips/md.c: revision 1.9
usr.sbin/sysinst/msg.mi.fr: revision 1.28
usr.sbin/sysinst/msg.mi.fr: revision 1.29
usr.sbin/sysinst/arch/sgimips/md.c: revision 1.9
usr.sbin/sysinst/arch/evbarm/Makefile: revision 1.3
usr.sbin/sysinst/msg.mi.de: revision 1.23
usr.sbin/sysinst/arch/hpcsh/md.c: revision 1.10
usr.sbin/sysinst/msg.mi.de: revision 1.24
usr.sbin/sysinst/install.c: revision 1.15
usr.sbin/sysinst/install.c: revision 1.16
usr.sbin/sysinst/arch/sparc64/md.c: revision 1.6
usr.sbin/sysinst/install.c: revision 1.17
usr.sbin/sysinst/install.c: revision 1.18
usr.sbin/sysinst/partitions.h: revision 1.16
usr.sbin/sysinst/install.c: revision 1.19
usr.sbin/sysinst/partitions.h: revision 1.17
usr.sbin/sysinst/arch/evbppc/md.c: revision 1.9
usr.sbin/sysinst/arch/playstation2/md.c: revision 1.9
usr.sbin/sysinst/partitions.h: revision 1.18
usr.sbin/sysinst/arch/hpcarm/md.c: revision 1.9
usr.sbin/sysinst/partitions.h: revision 1.19
usr.sbin/sysinst/msg.mi.es: revision 1.24
usr.sbin/sysinst/msg.mi.es: revision 1.25
usr.sbin/sysinst/msg.mi.es: revision 1.26
usr.sbin/sysinst/arch/zaurus/md.c: revision 1.9
usr.sbin/sysinst/target.c: revision 1.13
usr.sbin/sysinst/target.c: revision 1.14
usr.sbin/sysinst/part_edit.c: revision 1.17
usr.sbin/sysinst/part_edit.c: revision 1.18
usr.sbin/sysinst/msg.mi.fr: revision 1.30
usr.sbin/sysinst/arch/mvme68k/md.c: revision 1.11
usr.sbin/sysinst/part_edit.c: revision 1.19
usr.sbin/sysinst/msg.mi.fr: revision 1.31
usr.sbin/sysinst/arch/alpha/md.c: revision 1.9
usr.sbin/sysinst/msg.mi.en: revision 1.30
usr.sbin/sysinst/defs.h: revision 1.56
usr.sbin/sysinst/msg.mi.en: revision 1.31
usr.sbin/sysinst/defs.h: revision 1.57
usr.sbin/sysinst/msg.mi.en: revision 1.32
usr.sbin/sysinst/arch/amiga/md.c: revision 1.6
usr.sbin/sysinst/arch/hpcmips/md.c: revision 1.9
usr.sbin/sysinst/defs.h: revision 1.58
usr.sbin/sysinst/arch/cats/md.c: revision 1.5
usr.sbin/sysinst/defs.h: revision 1.59
usr.sbin/sysinst/arch/newsmips/md.c: revision 1.6
usr.sbin/sysinst/arch/pmax/md.c: revision 1.8
usr.sbin/sysinst/arch/mipsco/md.c: revision 1.8
usr.sbin/sysinst/part_edit.c: revision 1.20
usr.sbin/sysinst/part_edit.c: revision 1.21
usr.sbin/sysinst/arch/macppc/md.c: revision 1.6
usr.sbin/sysinst/part_edit.c: revision 1.22
usr.sbin/sysinst/part_edit.c: revision 1.23
usr.sbin/sysinst/part_edit.c: revision 1.24
usr.sbin/sysinst/defs.h: revision 1.60
usr.sbin/sysinst/arch/mac68k/Makefile: revision 1.3
usr.sbin/sysinst/defs.h: revision 1.61
usr.sbin/sysinst/defs.h: revision 1.63
usr.sbin/sysinst/defs.h: revision 1.64
usr.sbin/sysinst/defs.h: revision 1.65
usr.sbin/sysinst/label.c: revision 1.21
usr.sbin/sysinst/defs.h: revision 1.66
usr.sbin/sysinst/label.c: revision 1.22
usr.sbin/sysinst/defs.h: revision 1.67
usr.sbin/sysinst/label.c: revision 1.23
usr.sbin/sysinst/label.c: revision 1.24
usr.sbin/sysinst/label.c: revision 1.25
usr.sbin/sysinst/label.c: revision 1.26
usr.sbin/sysinst/label.c: revision 1.27
usr.sbin/sysinst/msg.mi.pl: revision 1.31
usr.sbin/sysinst/label.c: revision 1.28
usr.sbin/sysinst/msg.mi.pl: revision 1.32
usr.sbin/sysinst/label.c: revision 1.29
usr.sbin/sysinst/arch/atari/md.c: revision 1.7
usr.sbin/sysinst/disklabel.c: revision 1.36
usr.sbin/sysinst/disklabel.c: revision 1.37
usr.sbin/sysinst/disklabel.c: revision 1.38
usr.sbin/sysinst/disklabel.c: revision 1.39
usr.sbin/sysinst/arch/bebox/md.c: revision 1.9
usr.sbin/sysinst/mbr.c: revision 1.32
usr.sbin/sysinst/disks.c: revision 1.66
usr.sbin/sysinst/mbr.c: revision 1.33
usr.sbin/sysinst/disks.c: revision 1.67
usr.sbin/sysinst/mbr.c: revision 1.34
usr.sbin/sysinst/arch/emips/md.c: revision 1.9
usr.sbin/sysinst/disks.c: revision 1.68
usr.sbin/sysinst/partitions.c: revision 1.11
usr.sbin/sysinst/mbr.c: revision 1.35
usr.sbin/sysinst/disks.c: revision 1.69
usr.sbin/sysinst/mbr.c: revision 1.36
usr.sbin/sysinst/arch/hppa/md.c: revision 1.8
usr.sbin/sysinst/arch/prep/md.c: revision 1.13
usr.sbin/sysinst/label.c: revision 1.30
usr.sbin/sysinst/arch/ews4800mips/md.c: revision 1.7
usr.sbin/sysinst/main.c: revision 1.21
usr.sbin/sysinst/main.c: revision 1.22
usr.sbin/sysinst/main.c: revision 1.23
usr.sbin/sysinst/bsddisklabel.c: revision 1.40
usr.sbin/sysinst/main.c: revision 1.24
usr.sbin/sysinst/arch/cobalt/md.h: revision 1.6
usr.sbin/sysinst/bsddisklabel.c: revision 1.41
usr.sbin/sysinst/main.c: revision 1.25
usr.sbin/sysinst/arch/news68k/md.c: revision 1.7
usr.sbin/sysinst/bsddisklabel.c: revision 1.42
usr.sbin/sysinst/bsddisklabel.c: revision 1.43
usr.sbin/sysinst/bsddisklabel.c: revision 1.44
usr.sbin/sysinst/bsddisklabel.c: revision 1.45
Use strlcpy in a few places to guarnatee 0-terminated strings
Rever previous: the d_packname in struct disklabel is not NUL terminated.
Disable the warning instead.
Do not force -Os optimization (unless SMALLPROG)
Remove unused "rel" global variable and make the -r option a no-op.
PR 55045: strlcpy(NULL, ..., 0) considered harmfull in some implementations.
PR misc/54886: bump threshold for automatic/default creation of a tmpfs /tmp
up slightly (to 384 MB ram). This will make sure the default install has
a > 64 MB /tmp available (number pulled out of thin air, 64 MB is the minimum
required by the ZFS tests).
Don't depend on common symbol definitions.
boardype should not be common.
Redo the root-size-limit check again after we grew the root partition
for kernel dumps. Auto-enable the /usr partition if it overflows.
For all non-root partitions, default to FFSv2.
When extending a partition (to fill the total disk size) do respect
size limits.
Do not suggest a size limited partition for extension by default.
Minor tweak to previous: when forcing a /usr partition just to have an
arbitrary extendable partition, still use its default size initially.
At the end of a new installation save entropy.
Ooops, backout previous - twice the entropy saving is not needed.
Instead slightly improve the (slightly) hidden other code that already
did it.
PR 55202: disable swapping if we started it due to low ram
it's "its"
Remove "If you booted from a floppy" message
Set HAVE_INSTALL_IMAGE for evbarm
Change mountpoint of boot ext2fs from /stand to /ext2 to avoid conflict.
Should be pulled up to netbsd-9, with fixes of PR/55060.
MBR type for Ext2 should be MBR_PTYPE_LNXEXT2, not MBR_PTYPE_FAT12.
Silence -Wstringop-truncation for ``name'' in disp_selected_part().
This variable is used only for display, and truncation seems harmless.
PR 55572: avoid crash when answering the mount point prompt for a previously
empty mount point with an emptry sting.
When adding a new partition in the concrete partition editor, make sure
to set a pointer to the partition table interface in the new entry.
Otherwise we may end up not writing back the partitions at all, leading
to further fallout later.
Receipe to reproduce the issue from Frederic Fauberteau, thanks!
In the concrete partitions editor, after deleting the last partition move
the menu selection to the "add a partition" entry (instead of the sentinel
line which is not an active menu entry).
Typo in comment
Keep a list of all partition tables from which we have deleted partitions
and make sure we update those partition tables when writing partitions,
even if no install related partition remains on them.
Fix display of timezone selection menu
If there is no current partitioning manager assume we are editing the
current system and make target_already_root() return true.
Fixes various fallout when using sysinst post installation.
PR 55377: mark boot partitions in the partition size display, as suggested
by Izumi Tsutsui (minor modifications + all bugs by me)
PR 55378: do not assume RAW_PART to be either 2 or 3
PR 55379: avoid creating bogus /etc/fstab lines for /dev/cd* if no
cdrom is available.
PR 55381: try to deal with moved (but not yet saved) partitions when
calculating free space
Apply patch provided by Izumi Tsutsui in PR 55382: make ext2 partitions
show up in the outer (MBR) partition table, needed for example on Cobalt
where firmware boots from that partition.
PR 55384: detangle pm->ptstart from the "install" flag (selecting a
target partition). Instead introduce a new PTI_INSTALL_TARGET per partition
flag and deal with it in the partitioning backends.
Honour pm->ptstart when allocating new partitions - it is supposed to be
the first sector usable by NetBSD.
If we have no explicitly marke target root partition, make sure to set
the proper flag on the implicit one.
When merging existing partitions with desired target system layout
information, only force the "mount" flag if the existing partitions
has a valid mount point.
Add a heuristic to detect and properly mark EFI system partitions
when re-using pre-existing partitions.
When MD code requests a reserved area (at the start of the disk)
make sure to properly account for the "lost" space during all calculations
and especially when expanding the main partition to fill the disk.
Avoid using the global "pm" or a passed device descriptons when we are
passing disk limits explicitly anyway.
Simplify/fix a few rounding calculations.
When creating new partitions for "full disk" use, pass a install target
hint to the partitioning backend (for the outer NetBSD partition).
Use an install target hint to mark a new partition active.
When compiled with BOOTSEL support, also name the new partition "NetBSD".
Remove more pm->ptstart abuse - calculate values localy where needed
instead.
Fix editing start and size of not yet existing outer partitions.
Previously we abused pm->ptstart / pm->ptsize to pass the bounds of the
NetBSD outer partition to the inner partition editor - but now this is
not a valid assumption any more, so explicitly fix the bounds if an
outer partition exists.
Remove very strange code that special-cased MSDOS file systems and refused
to newfs the partition (despite explicit request to do so) if it was
mountable.
Accidently carried over from a dim and distant past, before we had
fsck_newfs.
PR 55536: when we find existing partition tables and have alternative
formats available, offer to delete partitions and create new ones from
scratch (in some other or the same on-disk format).
Minor fix to previous: fix condition when we offer the partition type
switch - it makes sense even if the disk is partitioned but has no valid
partitions.
Before forcing MBR partitions into our disklabel, make sure they are not
there yet - could happen in various paths when reusing existing partitions
(or parts of that) - previously we would blindly duplicate identical
partitions.
Ooops, part of previous was not meant to be included yet
When renumbering partitions (after deletions) be slightly more lax
in matching, to cope with differences between MBR EFI partitions and
disklabel MSDOS partitions.
PR 55142: on popular demand bring back expert options to adjust the
number of free inodes, block size and fragment size for FFS and LFS.
Fix copy & pasto noticed by Jason Mitchell: change the type of a GPT
partition via "gpt type" - not "gpt label".
Fix copy & pasto (missing "again" label)
Remove dead code
Move MBR writing (if any) post disklabel writing, otherwise strange
interactions happen.
Properly convert partition default sizes in MB to number of sectors
 1.5.2.2 28-Jan-2020  msaitoh Pull up following revision(s) (requested by martin in ticket #668):
usr.sbin/sysinst/arch/cobalt/md.c: revision 1.11
usr.sbin/sysinst/arch/cobalt/md.c: revision 1.12
usr.sbin/sysinst/arch/arc/md.c: revision 1.11
usr.sbin/sysinst/arch/arc/md.c: revision 1.12
usr.sbin/sysinst/partman.c: revision 1.43
usr.sbin/sysinst/partman.c: revision 1.46
usr.sbin/sysinst/partman.c: revision 1.47
usr.sbin/sysinst/partman.c: revision 1.48
usr.sbin/sysinst/partman.c: revision 1.49
usr.sbin/sysinst/msg.pm.fr: revision 1.2
usr.sbin/sysinst/upgrade.c: revision 1.14
usr.sbin/sysinst/arch/i386/md.c: revision 1.28
usr.sbin/sysinst/arch/i386/md.c: revision 1.29
usr.sbin/sysinst/arch/ofppc/md.c: revision 1.9
usr.sbin/sysinst/arch/sandpoint/md.c: revision 1.7
usr.sbin/sysinst/arch/sandpoint/md.c: revision 1.8
usr.sbin/sysinst/gpt.c: revision 1.14
usr.sbin/sysinst/gpt.c: revision 1.15
usr.sbin/sysinst/arch/luna68k/md.c: revision 1.8
usr.sbin/sysinst/gpt.c: revision 1.16
usr.sbin/sysinst/msg.pm.de: revision 1.2
usr.sbin/sysinst/arch/evbarm/md.c: revision 1.11
usr.sbin/sysinst/arch/evbarm/md.c: revision 1.12
usr.sbin/sysinst/arch/evbarm/md.c: revision 1.13
usr.sbin/sysinst/arch/evbarm/md.c: revision 1.14
usr.sbin/sysinst/sizemultname.c: revision 1.4
usr.sbin/sysinst/msg.pm.en: revision 1.2
usr.sbin/sysinst/arch/landisk/md.c: revision 1.12
usr.sbin/sysinst/util.c: revision 1.41
usr.sbin/sysinst/arch/landisk/md.c: revision 1.13
usr.sbin/sysinst/util.c: revision 1.42
usr.sbin/sysinst/arch/ofppc/md.c: revision 1.10
usr.sbin/sysinst/partitions.c: revision 1.9
usr.sbin/sysinst/arch/evbarm/md.h: revision 1.4
usr.sbin/sysinst/arch/evbarm/md.h: revision 1.5
usr.sbin/sysinst/arch/evbmips/md.c: revision 1.7
usr.sbin/sysinst/arch/evbmips/md.c: revision 1.8
usr.sbin/sysinst/msg.mi.fr: revision 1.25
usr.sbin/sysinst/msg.mi.de: revision 1.20
usr.sbin/sysinst/install.c: revision 1.14
usr.sbin/sysinst/partitions.h: revision 1.13
usr.sbin/sysinst/partitions.h: revision 1.14
usr.sbin/sysinst/arch/evbppc/md.c: revision 1.7
usr.sbin/sysinst/arch/playstation2/md.c: revision 1.7
usr.sbin/sysinst/msg.mi.en: revision 1.27
usr.sbin/sysinst/partitions.h: revision 1.15
usr.sbin/sysinst/arch/evbppc/md.c: revision 1.8
usr.sbin/sysinst/arch/hpcarm/md.c: revision 1.7
usr.sbin/sysinst/arch/playstation2/md.c: revision 1.8
usr.sbin/sysinst/msg.pm.pl: revision 1.2
usr.sbin/sysinst/arch/hpcarm/md.c: revision 1.8
usr.sbin/sysinst/msg.mi.es: revision 1.21
usr.sbin/sysinst/arch/zaurus/md.c: revision 1.7
usr.sbin/sysinst/target.c: revision 1.11
usr.sbin/sysinst/arch/zaurus/md.c: revision 1.8
usr.sbin/sysinst/part_edit.c: revision 1.14
usr.sbin/sysinst/part_edit.c: revision 1.15
usr.sbin/sysinst/part_edit.c: revision 1.16
usr.sbin/sysinst/defs.h: revision 1.50
usr.sbin/sysinst/defs.h: revision 1.51
usr.sbin/sysinst/defs.h: revision 1.52
usr.sbin/sysinst/defs.h: revision 1.53
usr.sbin/sysinst/defs.h: revision 1.54
usr.sbin/sysinst/arch/hpcmips/md.c: revision 1.7
usr.sbin/sysinst/arch/hpcmips/md.c: revision 1.8
usr.sbin/sysinst/arch/hpcsh/md.c: revision 1.8
usr.sbin/sysinst/msg.pm.es: revision 1.2
usr.sbin/sysinst/arch/hpcsh/md.c: revision 1.9
usr.sbin/sysinst/label.c: revision 1.18
usr.sbin/sysinst/label.c: revision 1.19
usr.sbin/sysinst/net.c: revision 1.35
usr.sbin/sysinst/msg.mi.pl: revision 1.28
usr.sbin/sysinst/disklabel.c: revision 1.28
usr.sbin/sysinst/disklabel.c: revision 1.29
usr.sbin/sysinst/mbr.c: revision 1.24
usr.sbin/sysinst/disks.c: revision 1.59
usr.sbin/sysinst/mbr.c: revision 1.25
usr.sbin/sysinst/mbr.c: revision 1.26
usr.sbin/sysinst/mbr.c: revision 1.27
usr.sbin/sysinst/mbr.c: revision 1.28
usr.sbin/sysinst/label.c: revision 1.20
usr.sbin/sysinst/mbr.c: revision 1.29
usr.sbin/sysinst/bsddisklabel.c: revision 1.34
usr.sbin/sysinst/bsddisklabel.c: revision 1.35
usr.sbin/sysinst/bsddisklabel.c: revision 1.36
usr.sbin/sysinst/bsddisklabel.c: revision 1.37
usr.sbin/sysinst/disklabel.c: revision 1.30
usr.sbin/sysinst/bsddisklabel.c: revision 1.38
usr.sbin/sysinst/disklabel.c: revision 1.31
usr.sbin/sysinst/disklabel.c: revision 1.32
usr.sbin/sysinst/disklabel.c: revision 1.33
usr.sbin/sysinst/disklabel.c: revision 1.34
usr.sbin/sysinst/disks.c: revision 1.60
usr.sbin/sysinst/disks.c: revision 1.61
usr.sbin/sysinst/arch/bebox/md.c: revision 1.7
usr.sbin/sysinst/disks.c: revision 1.62
usr.sbin/sysinst/arch/bebox/md.c: revision 1.8
usr.sbin/sysinst/mbr.c: revision 1.30
usr.sbin/sysinst/partitions.c: revision 1.10
usr.sbin/sysinst/arch/prep/md.c: revision 1.11
usr.sbin/sysinst/arch/prep/md.c: revision 1.12
usr.sbin/sysinst/menus.pm: revision 1.3
usr.sbin/sysinst/main.c: revision 1.20
usr.sbin/sysinst/menus.mi: revision 1.20
usr.sbin/sysinst/menus.mi: revision 1.21
avoid calling snprintf/strlcat with an input parameter the same
as the output. from martin@. fixes gcc 8 restrict warnings.
Finish conversion of extended partitioning parts to new abstract
backend interface. XXX still could use a lot of polishing.
Instead of a (bogus) attempt to query the model via ofctl, use the (now
fixed) sysctl hw.model instead.
When reading the secondary disklabel partitions from an existing disklabel
set the mbr partitions as parent.
Move the LABELSECTOR check and make it FS type specific - some partition
types (FFS, RAID) are allowed to overlap with the LABELSECTOR.
When asked to create a whole-disk partition for unknown usage, do not only
assert(false), but actually return an error (in case "assert" is a nop).
PR install/54787: when trying to derive proper alignement and first offset
from exisiting partitions, use the first partition offset if it is already
closer to the start of the disk than the prefered alignment - we can not
move existing partitions around.
Fix handling of inner/outer partitions (e.g. MBR and disklabel) in
extended partitioning:
- when editing a disk with such a schme, offer both partitions in two
steps
- when commiting changes save the inner partitions after the outer ones
Add a method to query the partitioning schemes "internal idea" of a
cylinder size - whatever that means in the real world.
Avoid using the global "pm" variable in utility functions - during
extended partitioning they may point to a different device.
Remove useless calls to get_ramsize() - return value is ignored and
the function has no side effects.
Fix /tmp tmpfs handling and on machines with enough RAM default to
creating a /tmp tmpfs with 25% of ram size limit. Suggested by ad@.
PR install/54872: fix printf argument order, sectors and heads were
swapped in the bios geometry display.
First try to bring evbarm installation closer to current reality.
hide disklabel_non_bootable() under NO_DISKLABEL_BOOT like the usage.
should fix most builds.
Deal with even stranger fictious empty disklabels (PR kern/54882).
Factor out all RAM size thresholds as defines to avoid magic numbers.
To work around PR misc/54886 bump the threshold for a tmpfs /tmp mount
up to 256 MB.
When retrying sets during extraction, reset the relevant statistics
to avoid counting retried sets multiple times.
Reported by kim.
Fix support for non-512-byte/sector disks again after I broke it when
introducing the abstract partition backends.
Use a few strlcpy() instead of strncpy() for network ioctl structs.
We seem to have no formal documentation stating the various
char if*_name[IFNAMSIZ]; /* if name, e.g. "en0" */
elements in ioctls are nul terminated, but the peanut gallery claims
it is so - and at least half of the code in-tree touching them agrees.
Too much disklabel magic happening in the kernel - to compensate force
MBR first when trying to identify the existing partitioning scheme of
a disk.
 1.5.2.1 18-Aug-2019  msaitoh Pull up following revision(s) (requested by martin in ticket #77):
usr.sbin/sysinst/arch/sandpoint/md.c: revision 1.6
usr.sbin/sysinst/arch/playstation2/md.c: revision 1.6
usr.sbin/sysinst/arch/evbppc/md.c: revision 1.6
usr.sbin/sysinst/arch/hpcarm/md.c: revision 1.6
usr.sbin/sysinst/arch/zaurus/md.c: revision 1.6
usr.sbin/sysinst/arch/arc/md.c: revision 1.9
usr.sbin/sysinst/arch/hpcmips/md.c: revision 1.6
usr.sbin/sysinst/arch/bebox/md.c: revision 1.6
usr.sbin/sysinst/arch/hpcsh/md.c: revision 1.7
usr.sbin/sysinst/arch/landisk/md.c: revision 1.11
usr.sbin/sysinst/arch/prep/md.c: revision 1.9
usr.sbin/sysinst/arch/i386/md.c: revision 1.21
usr.sbin/sysinst/arch/evbmips/md.c: revision 1.6
usr.sbin/sysinst/arch/evbarm/md.c: revision 1.9
usr.sbin/sysinst/arch/cobalt/md.c: revision 1.9
usr.sbin/sysinst/arch/ofppc/md.c: revision 1.8
When we ask the user to select a partitioning scheme and they refuse
(that is: select "Exit" in the menu), abort installation.
 1.3 02-Oct-2019  maya Split out /rescue to its own set and adapt installers/images to add it.

This is meant to make updates safer: if something goes wrong with updating
base, we still have the old, standalone /rescue to recover from.
 1.2 18-Nov-2018  martin branches: 1.2.2;
More size estimate fixes
 1.1 26-Jul-2014  dholland branches: 1.1.2; 1.1.6; 1.1.26; 1.1.28;
Move sysinst sources to usr.sbin.

This commit only physically moves the sources - there are no other
changes, to maximize the probability that this will be treated as a
rename if we ever do manage to migrate away from CVS.

Moving sysinst has been discussed on and off for years and has two
goals: making it easier to work on sysinst, and also making sysinst
available on running systems for use installing chroots and VM images
and other such things. None of the latter is possible yet, but as they
say, one thing at a time.

Doing this now was approved in an impromptu fashion by mrg, riz,
riastradh, me, and groo.
 1.1.28.2 13-Apr-2020  martin Mostly merge changes from HEAD upto 20200411
 1.1.28.1 10-Jun-2019  christos Sync with HEAD
 1.1.26.1 26-Nov-2018  pgoyette Sync with HEAD, resolve a couple of conflicts
 1.1.6.2 20-Aug-2014  tls Rebase to HEAD as of a few days ago.
 1.1.6.1 26-Jul-2014  tls file md.h was added on branch tls-maxphys on 2014-08-20 00:05:14 +0000
 1.1.2.2 10-Aug-2014  tls Rebase.
 1.1.2.1 26-Jul-2014  tls file md.h was added on branch tls-earlyentropy on 2014-08-10 07:00:25 +0000
 1.2.2.1 17-Nov-2019  martin Pull up following revision(s) (requested by maya in ticket #435):

distrib/sets/maketars: revision 1.90
usr.sbin/sysinst/arch/playstation2/md.h: revision 1.2
usr.sbin/sysinst/arch/sandpoint/md.h: revision 1.3
usr.sbin/sysinst/arch/evbppc/md.h: revision 1.3
usr.sbin/sysinst/arch/hpcarm/md.h: revision 1.3
usr.sbin/sysinst/arch/mvme68k/md.h: revision 1.3
distrib/sun3/MakeInstTape: revision 1.3
usr.sbin/sysinst/util.c: revision 1.33
distrib/sets/lists/rescue/mi: revision 1.1
distrib/sets/lists/base/rescue.sun2: file removal
usr.sbin/sysinst/arch/zaurus/md.h: revision 1.3
distrib/sets/lists/base/rescue.ad.m68k.shl: file removal
distrib/sets/regpkgset: revision 1.13
usr.sbin/sysinst/arch/i386/md.h: revision 1.7
distrib/sets/lists/base/rescue.sparc: file removal
distrib/notes/mvme68k/xfer: revision 1.19
distrib/sets/sets.subr: revision 1.187
distrib/common/bootimage/Makefile.bootimage: revision 1.22
usr.sbin/sysinst/msg.mi.de: revision 1.16
usr.sbin/sysinst/arch/atari/md.h: revision 1.3
rescue/Makefile: revision 1.38
distrib/sets/lists/base/rescue.macppc: file removal
usr.sbin/sysinst/arch/arc/md.h: revision 1.4
distrib/miniroot/install.sub: revision 1.49
usr.sbin/sysinst/arch/acorn32/md.h: revision 1.3
usr.sbin/sysinst/arch/x68k/md.h: revision 1.3
usr.sbin/sysinst/arch/hpcmips/md.h: revision 1.3
usr.sbin/sysinst/arch/bebox/md.h: revision 1.3
usr.sbin/sysinst/arch/hpcsh/md.h: revision 1.2
distrib/sets/lists/base/rescue.shark: file removal
usr.sbin/sysinst/arch/emips/md.h: revision 1.5
distrib/utils/embedded/mkimage: revision 1.70
usr.sbin/sysinst/arch/shark/md.h: revision 1.3
usr.sbin/sysinst/arch/pmax/md.h: revision 1.4
usr.sbin/sysinst/arch/amiga/md.h: revision 1.4
usr.sbin/sysinst/arch/hp300/md.h: revision 1.5
rescue/list.ldconfig: file removal
distrib/sets/lists/base/rescue.ad.m68k: file removal
usr.sbin/sysinst/arch/prep/md.h: revision 1.4
usr.sbin/sysinst/arch/cats/md.h: revision 1.4
usr.sbin/sysinst/arch/amd64/md.h: revision 1.7
usr.sbin/sysinst/msg.mi.es: revision 1.17
usr.sbin/sysinst/msg.mi.fr: revision 1.20
usr.sbin/sysinst/msg.mi.pl: revision 1.23
distrib/sets/lists/base/rescue.i386: file removal
usr.sbin/sysinst/arch/evbarm/md.h: revision 1.3
distrib/sets/lists/base/rescue.vax: file removal
distrib/amd64/uefi-installimage/Makefile.bootimage: revision 1.12
usr.sbin/sysinst/arch/evbmips/md.h: revision 1.3
distrib/sets/lists/base/rescue.mi: file removal
distrib/sets/README: revision 1.14
usr.sbin/sysinst/arch/sgimips/md.h: revision 1.4
distrib/sets/lists/base/rescue.sparc64: file removal
distrib/sets/lists/base/rescue.mi: revision 1.45
distrib/sets/lists/base/rescue.mi: revision 1.46
usr.sbin/sysinst/arch/ofppc/md.h: revision 1.4
usr.sbin/sysinst/arch/cobalt/md.h: revision 1.4
distrib/sets/lists/base/rescue.ad.arm: file removal
distrib/sets/lists/base/rescue.mac68k: file removal
usr.sbin/sysinst/defs.h: revision 1.45
usr.sbin/sysinst/arch/landisk/md.h: revision 1.2
distrib/notes/atari/xfer: revision 1.17
etc/Makefile: revision 1.441
usr.sbin/sysinst/msg.mi.en: revision 1.22
distrib/sun2/MakeInstTape: revision 1.2

Remove ldconfig from /rescue, and mark it MI obsolete.
- ldconfig in netbsd refers to a.out binaries only. We've been ELF-only
since NetBSD 2.0 or so, and having it in /rescue served little purpose
even before that, as /rescue is standalone.
- Using MI obsolete to avoid the need for MD set lists where ldconfig
is the sole entry

Mark /rescue/edlabel as MI-obsolete, so we can remove all remaining MD
rescue set list files.

Split out /rescue to its own set and adapt installers/images to add it.

This is meant to make updates safer: if something goes wrong with updating
base, we still have the old, standalone /rescue to recover from.
 1.1 26-Jul-2014  dholland branches: 1.1.2; 1.1.6;
Move sysinst sources to usr.sbin.

This commit only physically moves the sources - there are no other
changes, to maximize the probability that this will be treated as a
rename if we ever do manage to migrate away from CVS.

Moving sysinst has been discussed on and off for years and has two
goals: making it easier to work on sysinst, and also making sysinst
available on running systems for use installing chroots and VM images
and other such things. None of the latter is possible yet, but as they
say, one thing at a time.

Doing this now was approved in an impromptu fashion by mrg, riz,
riastradh, me, and groo.
 1.1.6.2 20-Aug-2014  tls Rebase to HEAD as of a few days ago.
 1.1.6.1 26-Jul-2014  tls file menus.md.en was added on branch tls-maxphys on 2014-08-20 00:05:14 +0000
 1.1.2.2 10-Aug-2014  tls Rebase.
 1.1.2.1 26-Jul-2014  tls file menus.md.en was added on branch tls-earlyentropy on 2014-08-10 07:00:25 +0000
 1.1 26-Jul-2014  dholland branches: 1.1.2; 1.1.6;
Move sysinst sources to usr.sbin.

This commit only physically moves the sources - there are no other
changes, to maximize the probability that this will be treated as a
rename if we ever do manage to migrate away from CVS.

Moving sysinst has been discussed on and off for years and has two
goals: making it easier to work on sysinst, and also making sysinst
available on running systems for use installing chroots and VM images
and other such things. None of the latter is possible yet, but as they
say, one thing at a time.

Doing this now was approved in an impromptu fashion by mrg, riz,
riastradh, me, and groo.
 1.1.6.2 20-Aug-2014  tls Rebase to HEAD as of a few days ago.
 1.1.6.1 26-Jul-2014  tls file menus.md.es was added on branch tls-maxphys on 2014-08-20 00:05:14 +0000
 1.1.2.2 10-Aug-2014  tls Rebase.
 1.1.2.1 26-Jul-2014  tls file menus.md.es was added on branch tls-earlyentropy on 2014-08-10 07:00:25 +0000
 1.1 26-Jul-2014  dholland branches: 1.1.2; 1.1.6;
Move sysinst sources to usr.sbin.

This commit only physically moves the sources - there are no other
changes, to maximize the probability that this will be treated as a
rename if we ever do manage to migrate away from CVS.

Moving sysinst has been discussed on and off for years and has two
goals: making it easier to work on sysinst, and also making sysinst
available on running systems for use installing chroots and VM images
and other such things. None of the latter is possible yet, but as they
say, one thing at a time.

Doing this now was approved in an impromptu fashion by mrg, riz,
riastradh, me, and groo.
 1.1.6.2 20-Aug-2014  tls Rebase to HEAD as of a few days ago.
 1.1.6.1 26-Jul-2014  tls file menus.md.fr was added on branch tls-maxphys on 2014-08-20 00:05:14 +0000
 1.1.2.2 10-Aug-2014  tls Rebase.
 1.1.2.1 26-Jul-2014  tls file menus.md.fr was added on branch tls-earlyentropy on 2014-08-10 07:00:25 +0000
 1.1 26-Jul-2014  dholland branches: 1.1.2; 1.1.6;
Move sysinst sources to usr.sbin.

This commit only physically moves the sources - there are no other
changes, to maximize the probability that this will be treated as a
rename if we ever do manage to migrate away from CVS.

Moving sysinst has been discussed on and off for years and has two
goals: making it easier to work on sysinst, and also making sysinst
available on running systems for use installing chroots and VM images
and other such things. None of the latter is possible yet, but as they
say, one thing at a time.

Doing this now was approved in an impromptu fashion by mrg, riz,
riastradh, me, and groo.
 1.1.6.2 20-Aug-2014  tls Rebase to HEAD as of a few days ago.
 1.1.6.1 26-Jul-2014  tls file menus.md.pl was added on branch tls-maxphys on 2014-08-20 00:05:14 +0000
 1.1.2.2 10-Aug-2014  tls Rebase.
 1.1.2.1 26-Jul-2014  tls file menus.md.pl was added on branch tls-earlyentropy on 2014-08-10 07:00:25 +0000
 1.1 26-Jul-2014  dholland branches: 1.1.2; 1.1.6;
Move sysinst sources to usr.sbin.

This commit only physically moves the sources - there are no other
changes, to maximize the probability that this will be treated as a
rename if we ever do manage to migrate away from CVS.

Moving sysinst has been discussed on and off for years and has two
goals: making it easier to work on sysinst, and also making sysinst
available on running systems for use installing chroots and VM images
and other such things. None of the latter is possible yet, but as they
say, one thing at a time.

Doing this now was approved in an impromptu fashion by mrg, riz,
riastradh, me, and groo.
 1.1.6.2 20-Aug-2014  tls Rebase to HEAD as of a few days ago.
 1.1.6.1 26-Jul-2014  tls file msg.md.de was added on branch tls-maxphys on 2014-08-20 00:05:14 +0000
 1.1.2.2 10-Aug-2014  tls Rebase.
 1.1.2.1 26-Jul-2014  tls file msg.md.de was added on branch tls-earlyentropy on 2014-08-10 07:00:25 +0000
 1.1 26-Jul-2014  dholland branches: 1.1.2; 1.1.6;
Move sysinst sources to usr.sbin.

This commit only physically moves the sources - there are no other
changes, to maximize the probability that this will be treated as a
rename if we ever do manage to migrate away from CVS.

Moving sysinst has been discussed on and off for years and has two
goals: making it easier to work on sysinst, and also making sysinst
available on running systems for use installing chroots and VM images
and other such things. None of the latter is possible yet, but as they
say, one thing at a time.

Doing this now was approved in an impromptu fashion by mrg, riz,
riastradh, me, and groo.
 1.1.6.2 20-Aug-2014  tls Rebase to HEAD as of a few days ago.
 1.1.6.1 26-Jul-2014  tls file msg.md.en was added on branch tls-maxphys on 2014-08-20 00:05:14 +0000
 1.1.2.2 10-Aug-2014  tls Rebase.
 1.1.2.1 26-Jul-2014  tls file msg.md.en was added on branch tls-earlyentropy on 2014-08-10 07:00:25 +0000
 1.1 26-Jul-2014  dholland branches: 1.1.2; 1.1.6;
Move sysinst sources to usr.sbin.

This commit only physically moves the sources - there are no other
changes, to maximize the probability that this will be treated as a
rename if we ever do manage to migrate away from CVS.

Moving sysinst has been discussed on and off for years and has two
goals: making it easier to work on sysinst, and also making sysinst
available on running systems for use installing chroots and VM images
and other such things. None of the latter is possible yet, but as they
say, one thing at a time.

Doing this now was approved in an impromptu fashion by mrg, riz,
riastradh, me, and groo.
 1.1.6.2 20-Aug-2014  tls Rebase to HEAD as of a few days ago.
 1.1.6.1 26-Jul-2014  tls file msg.md.es was added on branch tls-maxphys on 2014-08-20 00:05:14 +0000
 1.1.2.2 10-Aug-2014  tls Rebase.
 1.1.2.1 26-Jul-2014  tls file msg.md.es was added on branch tls-earlyentropy on 2014-08-10 07:00:25 +0000
 1.1 26-Jul-2014  dholland branches: 1.1.2; 1.1.6;
Move sysinst sources to usr.sbin.

This commit only physically moves the sources - there are no other
changes, to maximize the probability that this will be treated as a
rename if we ever do manage to migrate away from CVS.

Moving sysinst has been discussed on and off for years and has two
goals: making it easier to work on sysinst, and also making sysinst
available on running systems for use installing chroots and VM images
and other such things. None of the latter is possible yet, but as they
say, one thing at a time.

Doing this now was approved in an impromptu fashion by mrg, riz,
riastradh, me, and groo.
 1.1.6.2 20-Aug-2014  tls Rebase to HEAD as of a few days ago.
 1.1.6.1 26-Jul-2014  tls file msg.md.fr was added on branch tls-maxphys on 2014-08-20 00:05:14 +0000
 1.1.2.2 10-Aug-2014  tls Rebase.
 1.1.2.1 26-Jul-2014  tls file msg.md.fr was added on branch tls-earlyentropy on 2014-08-10 07:00:25 +0000
 1.1 26-Jul-2014  dholland branches: 1.1.2; 1.1.6;
Move sysinst sources to usr.sbin.

This commit only physically moves the sources - there are no other
changes, to maximize the probability that this will be treated as a
rename if we ever do manage to migrate away from CVS.

Moving sysinst has been discussed on and off for years and has two
goals: making it easier to work on sysinst, and also making sysinst
available on running systems for use installing chroots and VM images
and other such things. None of the latter is possible yet, but as they
say, one thing at a time.

Doing this now was approved in an impromptu fashion by mrg, riz,
riastradh, me, and groo.
 1.1.6.2 20-Aug-2014  tls Rebase to HEAD as of a few days ago.
 1.1.6.1 26-Jul-2014  tls file msg.md.pl was added on branch tls-maxphys on 2014-08-20 00:05:14 +0000
 1.1.2.2 10-Aug-2014  tls Rebase.
 1.1.2.1 26-Jul-2014  tls file msg.md.pl was added on branch tls-earlyentropy on 2014-08-10 07:00:25 +0000
 1.1 26-Jul-2014  dholland branches: 1.1.2; 1.1.6;
Move sysinst sources to usr.sbin.

This commit only physically moves the sources - there are no other
changes, to maximize the probability that this will be treated as a
rename if we ever do manage to migrate away from CVS.

Moving sysinst has been discussed on and off for years and has two
goals: making it easier to work on sysinst, and also making sysinst
available on running systems for use installing chroots and VM images
and other such things. None of the latter is possible yet, but as they
say, one thing at a time.

Doing this now was approved in an impromptu fashion by mrg, riz,
riastradh, me, and groo.
 1.1.6.2 20-Aug-2014  tls Rebase to HEAD as of a few days ago.
 1.1.6.1 26-Jul-2014  tls file Makefile was added on branch tls-maxphys on 2014-08-20 00:05:14 +0000
 1.1.2.2 10-Aug-2014  tls Rebase.
 1.1.2.1 26-Jul-2014  tls file Makefile was added on branch tls-earlyentropy on 2014-08-10 07:00:25 +0000
 1.6 29-Jan-2022  martin When upgrading, update the boot code post extraction from
the updated target file system.
 1.5 12-Oct-2020  martin PR 55536: when we find existing partition tables and have alternative
formats available, offer to delete partitions and create new ones from
scratch (in some other or the same on-disk format).
 1.4 13-Jul-2019  martin branches: 1.4.2;
We may call md_pre_mount() multiple times for the same install set,
so pass an additional index argument so MD code knows which part
of the install will be mounted next.
 1.3 12-Jun-2019  martin Rework internal data structures and "interfaces to user interface" functions
to get rid of all disklabel assumptions.

Previously (even for GPT partitioning) struct disklabel was used, which
obviously breaks large disk setups. Also many MD parts and parts of the
user interface assumed (a) a struct disklabel is used internally to
store partitioning information and (b) partitions are named 'a' ... $MAXPART.

Get rid of this and replace it with a quite abstract interface that should
be able to deal with all variants in partition storage:

- partitions are stored in a (partly abstract) struct disk_partitions
and most parts of it are only accessed via accessor functions provided
by a "partitioning scheme".

- implement partitioning schemes for MBR, disklabel and GPT (with likely
RDB [amiga] and Apple Partition Map [mac*] to follow soon)

- partitioning schemes may be cascaded, e.g. on x86 when using MBR as
"outer partitions", we have disklabel as "inner partitions".

- all user interface goes via accessor functions in the partitioning scheme,
some of which return pointers to special user interface descriptors
(e.g. to allow editing partition flags, which are scheme specific)

Overall the user interface changes (in this initial step) are minimal but
noticable. A new Anita is needed for automatic test setups - many thanks
to Andreas Gustafsson for lots of early testing and a new Anita version,
and to Manuel Bouyer for cooperation and tests of the Anita release.

This work was sponsored by The NetBSD Foundation, Inc.
 1.2 03-Aug-2014  martin branches: 1.2.2; 1.2.6; 1.2.28;
(Finally) merge a slightly modified version of the 2012 GSoC results
from Eugene Lozovoy: add extended partitioning options to sysinst.
Still needs some testing and polishing, but it now is possible to use GPT
or to create a RAID set from scratch and install onto it.
 1.1 26-Jul-2014  dholland Move sysinst sources to usr.sbin.

This commit only physically moves the sources - there are no other
changes, to maximize the probability that this will be treated as a
rename if we ever do manage to migrate away from CVS.

Moving sysinst has been discussed on and off for years and has two
goals: making it easier to work on sysinst, and also making sysinst
available on running systems for use installing chroots and VM images
and other such things. None of the latter is possible yet, but as they
say, one thing at a time.

Doing this now was approved in an impromptu fashion by mrg, riz,
riastradh, me, and groo.
 1.2.28.1 13-Apr-2020  martin Mostly merge changes from HEAD upto 20200411
 1.2.6.2 20-Aug-2014  tls Rebase to HEAD as of a few days ago.
 1.2.6.1 03-Aug-2014  tls file md.c was added on branch tls-maxphys on 2014-08-20 00:05:14 +0000
 1.2.2.2 10-Aug-2014  tls Rebase.
 1.2.2.1 03-Aug-2014  tls file md.c was added on branch tls-earlyentropy on 2014-08-10 07:00:25 +0000
 1.4.2.2 02-Feb-2022  msaitoh Pull up following revision(s) (requested by martin in ticket #1422):
usr.sbin/sysinst/util.c: revision 1.64
usr.sbin/sysinst/arch/hpcsh/md.c: revision 1.11
usr.sbin/sysinst/arch/alpha/md.c: revision 1.10
usr.sbin/sysinst/arch/sparc64/md.c: revision 1.7
usr.sbin/sysinst/arch/emips/md.c: revision 1.10
usr.sbin/sysinst/arch/cobalt/md.c: revision 1.15
usr.sbin/sysinst/arch/x68k/md.c: revision 1.12
usr.sbin/sysinst/arch/sandpoint/md.c: revision 1.10
usr.sbin/sysinst/arch/luna68k/md.c: revision 1.10
usr.sbin/sysinst/arch/hp300/md.c: revision 1.12
usr.sbin/sysinst/arch/vax/md.c: revision 1.8
usr.sbin/sysinst/arch/hpcmips/md.c: revision 1.10
usr.sbin/sysinst/target.c: revision 1.16
usr.sbin/sysinst/arch/mvme68k/md.c: revision 1.12
usr.sbin/sysinst/arch/arc/md.c: revision 1.14
usr.sbin/sysinst/target.c: revision 1.17
usr.sbin/sysinst/arch/i386/md.c: revision 1.34
usr.sbin/sysinst/arch/mac68k/md.c: revision 1.11
usr.sbin/sysinst/arch/atari/md.c: revision 1.8
usr.sbin/sysinst/arch/sgimips/md.c: revision 1.10
usr.sbin/sysinst/arch/acorn32/md.c: revision 1.8
usr.sbin/sysinst/install.c: revision 1.22
usr.sbin/sysinst/arch/amiga/md.c: revision 1.7
usr.sbin/sysinst/arch/cats/md.c: revision 1.6
usr.sbin/sysinst/arch/dummy/md.c: revision 1.7
usr.sbin/sysinst/arch/shark/md.c: revision 1.7
usr.sbin/sysinst/arch/pmax/md.c: revision 1.9
usr.sbin/sysinst/arch/newsmips/md.c: revision 1.7
usr.sbin/sysinst/arch/mipsco/md.c: revision 1.9
usr.sbin/sysinst/arch/landisk/md.c: revision 1.15
usr.sbin/sysinst/arch/hppa/md.c: revision 1.9
usr.sbin/sysinst/arch/prep/md.c: revision 1.14
usr.sbin/sysinst/defs.h: revision 1.77
usr.sbin/sysinst/arch/ofppc/md.c: revision 1.13
usr.sbin/sysinst/arch/ews4800mips/md.c: revision 1.8
usr.sbin/sysinst/defs.h: revision 1.78
usr.sbin/sysinst/arch/macppc/md.c: revision 1.7
usr.sbin/sysinst/arch/evbppc/md.c: revision 1.10
usr.sbin/sysinst/defs.h: revision 1.79
usr.sbin/sysinst/gpt.c: revision 1.27
usr.sbin/sysinst/arch/bebox/md.c: revision 1.10
usr.sbin/sysinst/gpt.c: revision 1.28
usr.sbin/sysinst/arch/sparc/md.c: revision 1.7
usr.sbin/sysinst/arch/evbsh3/md.c: revision 1.7
usr.sbin/sysinst/arch/evbarm/md.c: revision 1.22
usr.sbin/sysinst/arch/news68k/md.c: revision 1.8
usr.sbin/sysinst/upgrade.c: revision 1.19
usr.sbin/sysinst/arch/zaurus/md.c: revision 1.12
usr.sbin/sysinst/arch/playstation2/md.c: revision 1.10
usr.sbin/sysinst/arch/hpcarm/md.c: revision 1.11
usr.sbin/sysinst/arch/evbmips/md.c: revision 1.10
usr.sbin/sysinst/main.c: revision 1.28
Add an option to set the directory where we look for message catalogs.
Try to get rid of all wedges we created (after unmounting).
When upgrading, update the boot code post extraction from
the updated target file system.
Do not defer wedge deletions when we have nothing mounted.
Define and use a constant for maximum disk name length.
 1.4.2.1 15-Oct-2020  bouyer Pull up following revision(s) (requested by martin in ticket #1113):
usr.sbin/sysinst/bsddisklabel.c: revision 1.46
usr.sbin/sysinst/bsddisklabel.c: revision 1.47
usr.sbin/sysinst/disklabel.c: revision 1.40
usr.sbin/sysinst/arch/cobalt/md.c: revision 1.13
usr.sbin/sysinst/bsddisklabel.c: revision 1.48
usr.sbin/sysinst/disklabel.c: revision 1.41
usr.sbin/sysinst/arch/cobalt/md.c: revision 1.14
usr.sbin/sysinst/bsddisklabel.c: revision 1.49
usr.sbin/sysinst/disklabel.c: revision 1.42
usr.sbin/sysinst/Makefile.inc: revision 1.34
usr.sbin/sysinst/disks.c: revision 1.70
usr.sbin/sysinst/arch/hp300/md.c: revision 1.11
usr.sbin/sysinst/disks.c: revision 1.71
usr.sbin/sysinst/arch/i386/md.h: revision 1.8
usr.sbin/sysinst/arch/arc/md.c: revision 1.13
usr.sbin/sysinst/mbr.h: revision 1.5
usr.sbin/sysinst/mbr.h: revision 1.6
usr.sbin/sysinst/arch/mac68k/md.c: revision 1.10
usr.sbin/sysinst/bsddisklabel.c: revision 1.50
usr.sbin/sysinst/arch/acorn32/md.c: revision 1.7
usr.sbin/sysinst/bsddisklabel.c: revision 1.51
usr.sbin/sysinst/bsddisklabel.c: revision 1.52
usr.sbin/sysinst/bsddisklabel.c: revision 1.53
usr.sbin/sysinst/bsddisklabel.c: revision 1.54
usr.sbin/sysinst/bsddisklabel.c: revision 1.55
usr.sbin/sysinst/bsddisklabel.c: revision 1.56
usr.sbin/sysinst/arch/dummy/md.c: revision 1.6
usr.sbin/sysinst/arch/amd64/md.h: revision 1.9
usr.sbin/sysinst/arch/evbsh3/md.c: revision 1.6
usr.sbin/sysinst/arch/sparc/md.c: revision 1.6
usr.sbin/sysinst/arch/zaurus/md.c: revision 1.10
usr.sbin/sysinst/arch/x68k/md.c: revision 1.11
usr.sbin/sysinst/arch/sandpoint/md.c: revision 1.9
usr.sbin/sysinst/arch/vax/md.c: revision 1.7
usr.sbin/sysinst/arch/luna68k/md.c: revision 1.9
usr.sbin/sysinst/gpt.c: revision 1.19
usr.sbin/sysinst/arch/i386/md.c: revision 1.31
usr.sbin/sysinst/arch/i386/md.c: revision 1.32
usr.sbin/sysinst/arch/evbarm/md.c: revision 1.17
usr.sbin/sysinst/arch/evbarm/md.c: revision 1.18
usr.sbin/sysinst/arch/evbarm/md.c: revision 1.19
usr.sbin/sysinst/arch/shark/md.c: revision 1.6
usr.sbin/sysinst/arch/landisk/md.c: revision 1.14
usr.sbin/sysinst/util.c: revision 1.43
usr.sbin/sysinst/gpt.c: revision 1.20
usr.sbin/sysinst/util.c: revision 1.44
usr.sbin/sysinst/gpt.c: revision 1.21
usr.sbin/sysinst/gpt.c: revision 1.22
usr.sbin/sysinst/arch/evbarm/msg.md.en: revision 1.2
usr.sbin/sysinst/arch/ofppc/md.c: revision 1.11
usr.sbin/sysinst/util.c: revision 1.46
usr.sbin/sysinst/arch/ofppc/md.c: revision 1.12
usr.sbin/sysinst/util.c: revision 1.47
usr.sbin/sysinst/arch/evbarm/md.h: revision 1.6
usr.sbin/sysinst/util.c: revision 1.48
usr.sbin/sysinst/arch/evbarm/md.h: revision 1.7
usr.sbin/sysinst/arch/evbmips/md.c: revision 1.9
usr.sbin/sysinst/msg.mi.fr: revision 1.28
usr.sbin/sysinst/msg.mi.fr: revision 1.29
usr.sbin/sysinst/arch/sgimips/md.c: revision 1.9
usr.sbin/sysinst/arch/evbarm/Makefile: revision 1.3
usr.sbin/sysinst/msg.mi.de: revision 1.23
usr.sbin/sysinst/arch/hpcsh/md.c: revision 1.10
usr.sbin/sysinst/msg.mi.de: revision 1.24
usr.sbin/sysinst/install.c: revision 1.15
usr.sbin/sysinst/install.c: revision 1.16
usr.sbin/sysinst/arch/sparc64/md.c: revision 1.6
usr.sbin/sysinst/install.c: revision 1.17
usr.sbin/sysinst/install.c: revision 1.18
usr.sbin/sysinst/partitions.h: revision 1.16
usr.sbin/sysinst/install.c: revision 1.19
usr.sbin/sysinst/partitions.h: revision 1.17
usr.sbin/sysinst/arch/evbppc/md.c: revision 1.9
usr.sbin/sysinst/arch/playstation2/md.c: revision 1.9
usr.sbin/sysinst/partitions.h: revision 1.18
usr.sbin/sysinst/arch/hpcarm/md.c: revision 1.9
usr.sbin/sysinst/partitions.h: revision 1.19
usr.sbin/sysinst/msg.mi.es: revision 1.24
usr.sbin/sysinst/msg.mi.es: revision 1.25
usr.sbin/sysinst/msg.mi.es: revision 1.26
usr.sbin/sysinst/arch/zaurus/md.c: revision 1.9
usr.sbin/sysinst/target.c: revision 1.13
usr.sbin/sysinst/target.c: revision 1.14
usr.sbin/sysinst/part_edit.c: revision 1.17
usr.sbin/sysinst/part_edit.c: revision 1.18
usr.sbin/sysinst/msg.mi.fr: revision 1.30
usr.sbin/sysinst/arch/mvme68k/md.c: revision 1.11
usr.sbin/sysinst/part_edit.c: revision 1.19
usr.sbin/sysinst/msg.mi.fr: revision 1.31
usr.sbin/sysinst/arch/alpha/md.c: revision 1.9
usr.sbin/sysinst/msg.mi.en: revision 1.30
usr.sbin/sysinst/defs.h: revision 1.56
usr.sbin/sysinst/msg.mi.en: revision 1.31
usr.sbin/sysinst/defs.h: revision 1.57
usr.sbin/sysinst/msg.mi.en: revision 1.32
usr.sbin/sysinst/arch/amiga/md.c: revision 1.6
usr.sbin/sysinst/arch/hpcmips/md.c: revision 1.9
usr.sbin/sysinst/defs.h: revision 1.58
usr.sbin/sysinst/arch/cats/md.c: revision 1.5
usr.sbin/sysinst/defs.h: revision 1.59
usr.sbin/sysinst/arch/newsmips/md.c: revision 1.6
usr.sbin/sysinst/arch/pmax/md.c: revision 1.8
usr.sbin/sysinst/arch/mipsco/md.c: revision 1.8
usr.sbin/sysinst/part_edit.c: revision 1.20
usr.sbin/sysinst/part_edit.c: revision 1.21
usr.sbin/sysinst/arch/macppc/md.c: revision 1.6
usr.sbin/sysinst/part_edit.c: revision 1.22
usr.sbin/sysinst/part_edit.c: revision 1.23
usr.sbin/sysinst/part_edit.c: revision 1.24
usr.sbin/sysinst/defs.h: revision 1.60
usr.sbin/sysinst/arch/mac68k/Makefile: revision 1.3
usr.sbin/sysinst/defs.h: revision 1.61
usr.sbin/sysinst/defs.h: revision 1.63
usr.sbin/sysinst/defs.h: revision 1.64
usr.sbin/sysinst/defs.h: revision 1.65
usr.sbin/sysinst/label.c: revision 1.21
usr.sbin/sysinst/defs.h: revision 1.66
usr.sbin/sysinst/label.c: revision 1.22
usr.sbin/sysinst/defs.h: revision 1.67
usr.sbin/sysinst/label.c: revision 1.23
usr.sbin/sysinst/label.c: revision 1.24
usr.sbin/sysinst/label.c: revision 1.25
usr.sbin/sysinst/label.c: revision 1.26
usr.sbin/sysinst/label.c: revision 1.27
usr.sbin/sysinst/msg.mi.pl: revision 1.31
usr.sbin/sysinst/label.c: revision 1.28
usr.sbin/sysinst/msg.mi.pl: revision 1.32
usr.sbin/sysinst/label.c: revision 1.29
usr.sbin/sysinst/arch/atari/md.c: revision 1.7
usr.sbin/sysinst/disklabel.c: revision 1.36
usr.sbin/sysinst/disklabel.c: revision 1.37
usr.sbin/sysinst/disklabel.c: revision 1.38
usr.sbin/sysinst/disklabel.c: revision 1.39
usr.sbin/sysinst/arch/bebox/md.c: revision 1.9
usr.sbin/sysinst/mbr.c: revision 1.32
usr.sbin/sysinst/disks.c: revision 1.66
usr.sbin/sysinst/mbr.c: revision 1.33
usr.sbin/sysinst/disks.c: revision 1.67
usr.sbin/sysinst/mbr.c: revision 1.34
usr.sbin/sysinst/arch/emips/md.c: revision 1.9
usr.sbin/sysinst/disks.c: revision 1.68
usr.sbin/sysinst/partitions.c: revision 1.11
usr.sbin/sysinst/mbr.c: revision 1.35
usr.sbin/sysinst/disks.c: revision 1.69
usr.sbin/sysinst/mbr.c: revision 1.36
usr.sbin/sysinst/arch/hppa/md.c: revision 1.8
usr.sbin/sysinst/arch/prep/md.c: revision 1.13
usr.sbin/sysinst/label.c: revision 1.30
usr.sbin/sysinst/arch/ews4800mips/md.c: revision 1.7
usr.sbin/sysinst/main.c: revision 1.21
usr.sbin/sysinst/main.c: revision 1.22
usr.sbin/sysinst/main.c: revision 1.23
usr.sbin/sysinst/bsddisklabel.c: revision 1.40
usr.sbin/sysinst/main.c: revision 1.24
usr.sbin/sysinst/arch/cobalt/md.h: revision 1.6
usr.sbin/sysinst/bsddisklabel.c: revision 1.41
usr.sbin/sysinst/main.c: revision 1.25
usr.sbin/sysinst/arch/news68k/md.c: revision 1.7
usr.sbin/sysinst/bsddisklabel.c: revision 1.42
usr.sbin/sysinst/bsddisklabel.c: revision 1.43
usr.sbin/sysinst/bsddisklabel.c: revision 1.44
usr.sbin/sysinst/bsddisklabel.c: revision 1.45
Use strlcpy in a few places to guarnatee 0-terminated strings
Rever previous: the d_packname in struct disklabel is not NUL terminated.
Disable the warning instead.
Do not force -Os optimization (unless SMALLPROG)
Remove unused "rel" global variable and make the -r option a no-op.
PR 55045: strlcpy(NULL, ..., 0) considered harmfull in some implementations.
PR misc/54886: bump threshold for automatic/default creation of a tmpfs /tmp
up slightly (to 384 MB ram). This will make sure the default install has
a > 64 MB /tmp available (number pulled out of thin air, 64 MB is the minimum
required by the ZFS tests).
Don't depend on common symbol definitions.
boardype should not be common.
Redo the root-size-limit check again after we grew the root partition
for kernel dumps. Auto-enable the /usr partition if it overflows.
For all non-root partitions, default to FFSv2.
When extending a partition (to fill the total disk size) do respect
size limits.
Do not suggest a size limited partition for extension by default.
Minor tweak to previous: when forcing a /usr partition just to have an
arbitrary extendable partition, still use its default size initially.
At the end of a new installation save entropy.
Ooops, backout previous - twice the entropy saving is not needed.
Instead slightly improve the (slightly) hidden other code that already
did it.
PR 55202: disable swapping if we started it due to low ram
it's "its"
Remove "If you booted from a floppy" message
Set HAVE_INSTALL_IMAGE for evbarm
Change mountpoint of boot ext2fs from /stand to /ext2 to avoid conflict.
Should be pulled up to netbsd-9, with fixes of PR/55060.
MBR type for Ext2 should be MBR_PTYPE_LNXEXT2, not MBR_PTYPE_FAT12.
Silence -Wstringop-truncation for ``name'' in disp_selected_part().
This variable is used only for display, and truncation seems harmless.
PR 55572: avoid crash when answering the mount point prompt for a previously
empty mount point with an emptry sting.
When adding a new partition in the concrete partition editor, make sure
to set a pointer to the partition table interface in the new entry.
Otherwise we may end up not writing back the partitions at all, leading
to further fallout later.
Receipe to reproduce the issue from Frederic Fauberteau, thanks!
In the concrete partitions editor, after deleting the last partition move
the menu selection to the "add a partition" entry (instead of the sentinel
line which is not an active menu entry).
Typo in comment
Keep a list of all partition tables from which we have deleted partitions
and make sure we update those partition tables when writing partitions,
even if no install related partition remains on them.
Fix display of timezone selection menu
If there is no current partitioning manager assume we are editing the
current system and make target_already_root() return true.
Fixes various fallout when using sysinst post installation.
PR 55377: mark boot partitions in the partition size display, as suggested
by Izumi Tsutsui (minor modifications + all bugs by me)
PR 55378: do not assume RAW_PART to be either 2 or 3
PR 55379: avoid creating bogus /etc/fstab lines for /dev/cd* if no
cdrom is available.
PR 55381: try to deal with moved (but not yet saved) partitions when
calculating free space
Apply patch provided by Izumi Tsutsui in PR 55382: make ext2 partitions
show up in the outer (MBR) partition table, needed for example on Cobalt
where firmware boots from that partition.
PR 55384: detangle pm->ptstart from the "install" flag (selecting a
target partition). Instead introduce a new PTI_INSTALL_TARGET per partition
flag and deal with it in the partitioning backends.
Honour pm->ptstart when allocating new partitions - it is supposed to be
the first sector usable by NetBSD.
If we have no explicitly marke target root partition, make sure to set
the proper flag on the implicit one.
When merging existing partitions with desired target system layout
information, only force the "mount" flag if the existing partitions
has a valid mount point.
Add a heuristic to detect and properly mark EFI system partitions
when re-using pre-existing partitions.
When MD code requests a reserved area (at the start of the disk)
make sure to properly account for the "lost" space during all calculations
and especially when expanding the main partition to fill the disk.
Avoid using the global "pm" or a passed device descriptons when we are
passing disk limits explicitly anyway.
Simplify/fix a few rounding calculations.
When creating new partitions for "full disk" use, pass a install target
hint to the partitioning backend (for the outer NetBSD partition).
Use an install target hint to mark a new partition active.
When compiled with BOOTSEL support, also name the new partition "NetBSD".
Remove more pm->ptstart abuse - calculate values localy where needed
instead.
Fix editing start and size of not yet existing outer partitions.
Previously we abused pm->ptstart / pm->ptsize to pass the bounds of the
NetBSD outer partition to the inner partition editor - but now this is
not a valid assumption any more, so explicitly fix the bounds if an
outer partition exists.
Remove very strange code that special-cased MSDOS file systems and refused
to newfs the partition (despite explicit request to do so) if it was
mountable.
Accidently carried over from a dim and distant past, before we had
fsck_newfs.
PR 55536: when we find existing partition tables and have alternative
formats available, offer to delete partitions and create new ones from
scratch (in some other or the same on-disk format).
Minor fix to previous: fix condition when we offer the partition type
switch - it makes sense even if the disk is partitioned but has no valid
partitions.
Before forcing MBR partitions into our disklabel, make sure they are not
there yet - could happen in various paths when reusing existing partitions
(or parts of that) - previously we would blindly duplicate identical
partitions.
Ooops, part of previous was not meant to be included yet
When renumbering partitions (after deletions) be slightly more lax
in matching, to cope with differences between MBR EFI partitions and
disklabel MSDOS partitions.
PR 55142: on popular demand bring back expert options to adjust the
number of free inodes, block size and fragment size for FFS and LFS.
Fix copy & pasto noticed by Jason Mitchell: change the type of a GPT
partition via "gpt type" - not "gpt label".
Fix copy & pasto (missing "again" label)
Remove dead code
Move MBR writing (if any) post disklabel writing, otherwise strange
interactions happen.
Properly convert partition default sizes in MB to number of sectors
 1.4 02-Oct-2019  maya Split out /rescue to its own set and adapt installers/images to add it.

This is meant to make updates safer: if something goes wrong with updating
base, we still have the old, standalone /rescue to recover from.
 1.3 18-Nov-2018  martin branches: 1.3.2;
Yet another size estimate
 1.2 18-Nov-2018  martin More size estimate fixes
 1.1 26-Jul-2014  dholland branches: 1.1.2; 1.1.6; 1.1.26; 1.1.28;
Move sysinst sources to usr.sbin.

This commit only physically moves the sources - there are no other
changes, to maximize the probability that this will be treated as a
rename if we ever do manage to migrate away from CVS.

Moving sysinst has been discussed on and off for years and has two
goals: making it easier to work on sysinst, and also making sysinst
available on running systems for use installing chroots and VM images
and other such things. None of the latter is possible yet, but as they
say, one thing at a time.

Doing this now was approved in an impromptu fashion by mrg, riz,
riastradh, me, and groo.
 1.1.28.2 13-Apr-2020  martin Mostly merge changes from HEAD upto 20200411
 1.1.28.1 10-Jun-2019  christos Sync with HEAD
 1.1.26.1 26-Nov-2018  pgoyette Sync with HEAD, resolve a couple of conflicts
 1.1.6.2 20-Aug-2014  tls Rebase to HEAD as of a few days ago.
 1.1.6.1 26-Jul-2014  tls file md.h was added on branch tls-maxphys on 2014-08-20 00:05:14 +0000
 1.1.2.2 10-Aug-2014  tls Rebase.
 1.1.2.1 26-Jul-2014  tls file md.h was added on branch tls-earlyentropy on 2014-08-10 07:00:25 +0000
 1.3.2.1 17-Nov-2019  martin Pull up following revision(s) (requested by maya in ticket #435):

distrib/sets/maketars: revision 1.90
usr.sbin/sysinst/arch/playstation2/md.h: revision 1.2
usr.sbin/sysinst/arch/sandpoint/md.h: revision 1.3
usr.sbin/sysinst/arch/evbppc/md.h: revision 1.3
usr.sbin/sysinst/arch/hpcarm/md.h: revision 1.3
usr.sbin/sysinst/arch/mvme68k/md.h: revision 1.3
distrib/sun3/MakeInstTape: revision 1.3
usr.sbin/sysinst/util.c: revision 1.33
distrib/sets/lists/rescue/mi: revision 1.1
distrib/sets/lists/base/rescue.sun2: file removal
usr.sbin/sysinst/arch/zaurus/md.h: revision 1.3
distrib/sets/lists/base/rescue.ad.m68k.shl: file removal
distrib/sets/regpkgset: revision 1.13
usr.sbin/sysinst/arch/i386/md.h: revision 1.7
distrib/sets/lists/base/rescue.sparc: file removal
distrib/notes/mvme68k/xfer: revision 1.19
distrib/sets/sets.subr: revision 1.187
distrib/common/bootimage/Makefile.bootimage: revision 1.22
usr.sbin/sysinst/msg.mi.de: revision 1.16
usr.sbin/sysinst/arch/atari/md.h: revision 1.3
rescue/Makefile: revision 1.38
distrib/sets/lists/base/rescue.macppc: file removal
usr.sbin/sysinst/arch/arc/md.h: revision 1.4
distrib/miniroot/install.sub: revision 1.49
usr.sbin/sysinst/arch/acorn32/md.h: revision 1.3
usr.sbin/sysinst/arch/x68k/md.h: revision 1.3
usr.sbin/sysinst/arch/hpcmips/md.h: revision 1.3
usr.sbin/sysinst/arch/bebox/md.h: revision 1.3
usr.sbin/sysinst/arch/hpcsh/md.h: revision 1.2
distrib/sets/lists/base/rescue.shark: file removal
usr.sbin/sysinst/arch/emips/md.h: revision 1.5
distrib/utils/embedded/mkimage: revision 1.70
usr.sbin/sysinst/arch/shark/md.h: revision 1.3
usr.sbin/sysinst/arch/pmax/md.h: revision 1.4
usr.sbin/sysinst/arch/amiga/md.h: revision 1.4
usr.sbin/sysinst/arch/hp300/md.h: revision 1.5
rescue/list.ldconfig: file removal
distrib/sets/lists/base/rescue.ad.m68k: file removal
usr.sbin/sysinst/arch/prep/md.h: revision 1.4
usr.sbin/sysinst/arch/cats/md.h: revision 1.4
usr.sbin/sysinst/arch/amd64/md.h: revision 1.7
usr.sbin/sysinst/msg.mi.es: revision 1.17
usr.sbin/sysinst/msg.mi.fr: revision 1.20
usr.sbin/sysinst/msg.mi.pl: revision 1.23
distrib/sets/lists/base/rescue.i386: file removal
usr.sbin/sysinst/arch/evbarm/md.h: revision 1.3
distrib/sets/lists/base/rescue.vax: file removal
distrib/amd64/uefi-installimage/Makefile.bootimage: revision 1.12
usr.sbin/sysinst/arch/evbmips/md.h: revision 1.3
distrib/sets/lists/base/rescue.mi: file removal
distrib/sets/README: revision 1.14
usr.sbin/sysinst/arch/sgimips/md.h: revision 1.4
distrib/sets/lists/base/rescue.sparc64: file removal
distrib/sets/lists/base/rescue.mi: revision 1.45
distrib/sets/lists/base/rescue.mi: revision 1.46
usr.sbin/sysinst/arch/ofppc/md.h: revision 1.4
usr.sbin/sysinst/arch/cobalt/md.h: revision 1.4
distrib/sets/lists/base/rescue.ad.arm: file removal
distrib/sets/lists/base/rescue.mac68k: file removal
usr.sbin/sysinst/defs.h: revision 1.45
usr.sbin/sysinst/arch/landisk/md.h: revision 1.2
distrib/notes/atari/xfer: revision 1.17
etc/Makefile: revision 1.441
usr.sbin/sysinst/msg.mi.en: revision 1.22
distrib/sun2/MakeInstTape: revision 1.2

Remove ldconfig from /rescue, and mark it MI obsolete.
- ldconfig in netbsd refers to a.out binaries only. We've been ELF-only
since NetBSD 2.0 or so, and having it in /rescue served little purpose
even before that, as /rescue is standalone.
- Using MI obsolete to avoid the need for MD set lists where ldconfig
is the sole entry

Mark /rescue/edlabel as MI-obsolete, so we can remove all remaining MD
rescue set list files.

Split out /rescue to its own set and adapt installers/images to add it.

This is meant to make updates safer: if something goes wrong with updating
base, we still have the old, standalone /rescue to recover from.
 1.1 26-Jul-2014  dholland branches: 1.1.2; 1.1.6;
Move sysinst sources to usr.sbin.

This commit only physically moves the sources - there are no other
changes, to maximize the probability that this will be treated as a
rename if we ever do manage to migrate away from CVS.

Moving sysinst has been discussed on and off for years and has two
goals: making it easier to work on sysinst, and also making sysinst
available on running systems for use installing chroots and VM images
and other such things. None of the latter is possible yet, but as they
say, one thing at a time.

Doing this now was approved in an impromptu fashion by mrg, riz,
riastradh, me, and groo.
 1.1.6.2 20-Aug-2014  tls Rebase to HEAD as of a few days ago.
 1.1.6.1 26-Jul-2014  tls file menus.md.en was added on branch tls-maxphys on 2014-08-20 00:05:14 +0000
 1.1.2.2 10-Aug-2014  tls Rebase.
 1.1.2.1 26-Jul-2014  tls file menus.md.en was added on branch tls-earlyentropy on 2014-08-10 07:00:25 +0000
 1.1 26-Jul-2014  dholland branches: 1.1.2; 1.1.6;
Move sysinst sources to usr.sbin.

This commit only physically moves the sources - there are no other
changes, to maximize the probability that this will be treated as a
rename if we ever do manage to migrate away from CVS.

Moving sysinst has been discussed on and off for years and has two
goals: making it easier to work on sysinst, and also making sysinst
available on running systems for use installing chroots and VM images
and other such things. None of the latter is possible yet, but as they
say, one thing at a time.

Doing this now was approved in an impromptu fashion by mrg, riz,
riastradh, me, and groo.
 1.1.6.2 20-Aug-2014  tls Rebase to HEAD as of a few days ago.
 1.1.6.1 26-Jul-2014  tls file menus.md.es was added on branch tls-maxphys on 2014-08-20 00:05:14 +0000
 1.1.2.2 10-Aug-2014  tls Rebase.
 1.1.2.1 26-Jul-2014  tls file menus.md.es was added on branch tls-earlyentropy on 2014-08-10 07:00:25 +0000
 1.1 26-Jul-2014  dholland branches: 1.1.2; 1.1.6;
Move sysinst sources to usr.sbin.

This commit only physically moves the sources - there are no other
changes, to maximize the probability that this will be treated as a
rename if we ever do manage to migrate away from CVS.

Moving sysinst has been discussed on and off for years and has two
goals: making it easier to work on sysinst, and also making sysinst
available on running systems for use installing chroots and VM images
and other such things. None of the latter is possible yet, but as they
say, one thing at a time.

Doing this now was approved in an impromptu fashion by mrg, riz,
riastradh, me, and groo.
 1.1.6.2 20-Aug-2014  tls Rebase to HEAD as of a few days ago.
 1.1.6.1 26-Jul-2014  tls file menus.md.fr was added on branch tls-maxphys on 2014-08-20 00:05:14 +0000
 1.1.2.2 10-Aug-2014  tls Rebase.
 1.1.2.1 26-Jul-2014  tls file menus.md.fr was added on branch tls-earlyentropy on 2014-08-10 07:00:25 +0000
 1.1 26-Jul-2014  dholland branches: 1.1.2; 1.1.6;
Move sysinst sources to usr.sbin.

This commit only physically moves the sources - there are no other
changes, to maximize the probability that this will be treated as a
rename if we ever do manage to migrate away from CVS.

Moving sysinst has been discussed on and off for years and has two
goals: making it easier to work on sysinst, and also making sysinst
available on running systems for use installing chroots and VM images
and other such things. None of the latter is possible yet, but as they
say, one thing at a time.

Doing this now was approved in an impromptu fashion by mrg, riz,
riastradh, me, and groo.
 1.1.6.2 20-Aug-2014  tls Rebase to HEAD as of a few days ago.
 1.1.6.1 26-Jul-2014  tls file menus.md.pl was added on branch tls-maxphys on 2014-08-20 00:05:14 +0000
 1.1.2.2 10-Aug-2014  tls Rebase.
 1.1.2.1 26-Jul-2014  tls file menus.md.pl was added on branch tls-earlyentropy on 2014-08-10 07:00:25 +0000
 1.1 26-Jul-2014  dholland branches: 1.1.2; 1.1.6;
Move sysinst sources to usr.sbin.

This commit only physically moves the sources - there are no other
changes, to maximize the probability that this will be treated as a
rename if we ever do manage to migrate away from CVS.

Moving sysinst has been discussed on and off for years and has two
goals: making it easier to work on sysinst, and also making sysinst
available on running systems for use installing chroots and VM images
and other such things. None of the latter is possible yet, but as they
say, one thing at a time.

Doing this now was approved in an impromptu fashion by mrg, riz,
riastradh, me, and groo.
 1.1.6.2 20-Aug-2014  tls Rebase to HEAD as of a few days ago.
 1.1.6.1 26-Jul-2014  tls file msg.md.de was added on branch tls-maxphys on 2014-08-20 00:05:14 +0000
 1.1.2.2 10-Aug-2014  tls Rebase.
 1.1.2.1 26-Jul-2014  tls file msg.md.de was added on branch tls-earlyentropy on 2014-08-10 07:00:25 +0000
 1.1 26-Jul-2014  dholland branches: 1.1.2; 1.1.6;
Move sysinst sources to usr.sbin.

This commit only physically moves the sources - there are no other
changes, to maximize the probability that this will be treated as a
rename if we ever do manage to migrate away from CVS.

Moving sysinst has been discussed on and off for years and has two
goals: making it easier to work on sysinst, and also making sysinst
available on running systems for use installing chroots and VM images
and other such things. None of the latter is possible yet, but as they
say, one thing at a time.

Doing this now was approved in an impromptu fashion by mrg, riz,
riastradh, me, and groo.
 1.1.6.2 20-Aug-2014  tls Rebase to HEAD as of a few days ago.
 1.1.6.1 26-Jul-2014  tls file msg.md.en was added on branch tls-maxphys on 2014-08-20 00:05:14 +0000
 1.1.2.2 10-Aug-2014  tls Rebase.
 1.1.2.1 26-Jul-2014  tls file msg.md.en was added on branch tls-earlyentropy on 2014-08-10 07:00:25 +0000
 1.1 26-Jul-2014  dholland branches: 1.1.2; 1.1.6;
Move sysinst sources to usr.sbin.

This commit only physically moves the sources - there are no other
changes, to maximize the probability that this will be treated as a
rename if we ever do manage to migrate away from CVS.

Moving sysinst has been discussed on and off for years and has two
goals: making it easier to work on sysinst, and also making sysinst
available on running systems for use installing chroots and VM images
and other such things. None of the latter is possible yet, but as they
say, one thing at a time.

Doing this now was approved in an impromptu fashion by mrg, riz,
riastradh, me, and groo.
 1.1.6.2 20-Aug-2014  tls Rebase to HEAD as of a few days ago.
 1.1.6.1 26-Jul-2014  tls file msg.md.es was added on branch tls-maxphys on 2014-08-20 00:05:14 +0000
 1.1.2.2 10-Aug-2014  tls Rebase.
 1.1.2.1 26-Jul-2014  tls file msg.md.es was added on branch tls-earlyentropy on 2014-08-10 07:00:25 +0000
 1.1 26-Jul-2014  dholland branches: 1.1.2; 1.1.6;
Move sysinst sources to usr.sbin.

This commit only physically moves the sources - there are no other
changes, to maximize the probability that this will be treated as a
rename if we ever do manage to migrate away from CVS.

Moving sysinst has been discussed on and off for years and has two
goals: making it easier to work on sysinst, and also making sysinst
available on running systems for use installing chroots and VM images
and other such things. None of the latter is possible yet, but as they
say, one thing at a time.

Doing this now was approved in an impromptu fashion by mrg, riz,
riastradh, me, and groo.
 1.1.6.2 20-Aug-2014  tls Rebase to HEAD as of a few days ago.
 1.1.6.1 26-Jul-2014  tls file msg.md.fr was added on branch tls-maxphys on 2014-08-20 00:05:14 +0000
 1.1.2.2 10-Aug-2014  tls Rebase.
 1.1.2.1 26-Jul-2014  tls file msg.md.fr was added on branch tls-earlyentropy on 2014-08-10 07:00:25 +0000
 1.1 26-Jul-2014  dholland branches: 1.1.2; 1.1.6;
Move sysinst sources to usr.sbin.

This commit only physically moves the sources - there are no other
changes, to maximize the probability that this will be treated as a
rename if we ever do manage to migrate away from CVS.

Moving sysinst has been discussed on and off for years and has two
goals: making it easier to work on sysinst, and also making sysinst
available on running systems for use installing chroots and VM images
and other such things. None of the latter is possible yet, but as they
say, one thing at a time.

Doing this now was approved in an impromptu fashion by mrg, riz,
riastradh, me, and groo.
 1.1.6.2 20-Aug-2014  tls Rebase to HEAD as of a few days ago.
 1.1.6.1 26-Jul-2014  tls file msg.md.pl was added on branch tls-maxphys on 2014-08-20 00:05:14 +0000
 1.1.2.2 10-Aug-2014  tls Rebase.
 1.1.2.1 26-Jul-2014  tls file msg.md.pl was added on branch tls-earlyentropy on 2014-08-10 07:00:25 +0000
 1.2 12-Jun-2019  martin Rework internal data structures and "interfaces to user interface" functions
to get rid of all disklabel assumptions.

Previously (even for GPT partitioning) struct disklabel was used, which
obviously breaks large disk setups. Also many MD parts and parts of the
user interface assumed (a) a struct disklabel is used internally to
store partitioning information and (b) partitions are named 'a' ... $MAXPART.

Get rid of this and replace it with a quite abstract interface that should
be able to deal with all variants in partition storage:

- partitions are stored in a (partly abstract) struct disk_partitions
and most parts of it are only accessed via accessor functions provided
by a "partitioning scheme".

- implement partitioning schemes for MBR, disklabel and GPT (with likely
RDB [amiga] and Apple Partition Map [mac*] to follow soon)

- partitioning schemes may be cascaded, e.g. on x86 when using MBR as
"outer partitions", we have disklabel as "inner partitions".

- all user interface goes via accessor functions in the partitioning scheme,
some of which return pointers to special user interface descriptors
(e.g. to allow editing partition flags, which are scheme specific)

Overall the user interface changes (in this initial step) are minimal but
noticable. A new Anita is needed for automatic test setups - many thanks
to Andreas Gustafsson for lots of early testing and a new Anita version,
and to Manuel Bouyer for cooperation and tests of the Anita release.

This work was sponsored by The NetBSD Foundation, Inc.
 1.1 26-Jul-2014  dholland branches: 1.1.2; 1.1.6; 1.1.28;
Move sysinst sources to usr.sbin.

This commit only physically moves the sources - there are no other
changes, to maximize the probability that this will be treated as a
rename if we ever do manage to migrate away from CVS.

Moving sysinst has been discussed on and off for years and has two
goals: making it easier to work on sysinst, and also making sysinst
available on running systems for use installing chroots and VM images
and other such things. None of the latter is possible yet, but as they
say, one thing at a time.

Doing this now was approved in an impromptu fashion by mrg, riz,
riastradh, me, and groo.
 1.1.28.1 13-Apr-2020  martin Mostly merge changes from HEAD upto 20200411
 1.1.6.2 20-Aug-2014  tls Rebase to HEAD as of a few days ago.
 1.1.6.1 26-Jul-2014  tls file Makefile was added on branch tls-maxphys on 2014-08-20 00:05:14 +0000
 1.1.2.2 10-Aug-2014  tls Rebase.
 1.1.2.1 26-Jul-2014  tls file Makefile was added on branch tls-earlyentropy on 2014-08-10 07:00:25 +0000
 1.16 11-Jun-2022  tsutsui Use proper part_type for the boot partition (while it looks unused).
 1.15 29-Jan-2022  martin When upgrading, update the boot code post extraction from
the updated target file system.
 1.14 12-Oct-2020  martin PR 55536: when we find existing partition tables and have alternative
formats available, offer to delete partitions and create new ones from
scratch (in some other or the same on-disk format).
 1.13 10-Jun-2020  tsutsui MBR type for Ext2 should be MBR_PTYPE_LNXEXT2, not MBR_PTYPE_FAT12.
 1.12 27-Jan-2020  martin Fix support for non-512-byte/sector disks again after I broke it when
introducing the abstract partition backends.
 1.11 09-Jan-2020  martin Finish conversion of extended partitioning parts to new abstract
backend interface. XXX still could use a lot of polishing.
 1.10 14-Dec-2019  martin Adapt MD parts to changes in get_fs_part_type (pass partition type).
 1.9 14-Aug-2019  martin When we ask the user to select a partitioning scheme and they refuse
(that is: select "Exit" in the menu), abort installation.
 1.8 13-Jul-2019  martin branches: 1.8.2;
We may call md_pre_mount() multiple times for the same install set,
so pass an additional index argument so MD code knows which part
of the install will be mounted next.
 1.7 20-Jun-2019  christos Use _fmt_ msg_ methods when formats are needed.
 1.6 13-Jun-2019  martin In the new world order disks may come without any partitioning scheme
attached - so the user may have to select one.
 1.5 12-Jun-2019  martin Rework internal data structures and "interfaces to user interface" functions
to get rid of all disklabel assumptions.

Previously (even for GPT partitioning) struct disklabel was used, which
obviously breaks large disk setups. Also many MD parts and parts of the
user interface assumed (a) a struct disklabel is used internally to
store partitioning information and (b) partitions are named 'a' ... $MAXPART.

Get rid of this and replace it with a quite abstract interface that should
be able to deal with all variants in partition storage:

- partitions are stored in a (partly abstract) struct disk_partitions
and most parts of it are only accessed via accessor functions provided
by a "partitioning scheme".

- implement partitioning schemes for MBR, disklabel and GPT (with likely
RDB [amiga] and Apple Partition Map [mac*] to follow soon)

- partitioning schemes may be cascaded, e.g. on x86 when using MBR as
"outer partitions", we have disklabel as "inner partitions".

- all user interface goes via accessor functions in the partitioning scheme,
some of which return pointers to special user interface descriptors
(e.g. to allow editing partition flags, which are scheme specific)

Overall the user interface changes (in this initial step) are minimal but
noticable. A new Anita is needed for automatic test setups - many thanks
to Andreas Gustafsson for lots of early testing and a new Anita version,
and to Manuel Bouyer for cooperation and tests of the Anita release.

This work was sponsored by The NetBSD Foundation, Inc.
 1.4 10-May-2015  martin branches: 1.4.16;
Backout the previous incorrect fix for PR 49440 and redo it more globaly:
get rid of the global "yesno", introduce utility functions "ask_yesno()"
and "ask_noyes()" instead, greatly simplifying a lot of code.
Pass in a pointer to the return value to various "set source" menus.
 1.3 02-Jan-2015  abs Rather than scatter set_swap() calls wrapped in ram size checks through
md_post_disklabel() and md_pre_update(), abstract them out to an MI
set_swap_if_low_ram() and call from the appropriate MI places.
Now all platforms add swap if the system has <= 32M of RAM.
 1.2 03-Aug-2014  martin branches: 1.2.2; 1.2.4; 1.2.6;
(Finally) merge a slightly modified version of the 2012 GSoC results
from Eugene Lozovoy: add extended partitioning options to sysinst.
Still needs some testing and polishing, but it now is possible to use GPT
or to create a RAID set from scratch and install onto it.
 1.1 26-Jul-2014  dholland Move sysinst sources to usr.sbin.

This commit only physically moves the sources - there are no other
changes, to maximize the probability that this will be treated as a
rename if we ever do manage to migrate away from CVS.

Moving sysinst has been discussed on and off for years and has two
goals: making it easier to work on sysinst, and also making sysinst
available on running systems for use installing chroots and VM images
and other such things. None of the latter is possible yet, but as they
say, one thing at a time.

Doing this now was approved in an impromptu fashion by mrg, riz,
riastradh, me, and groo.
 1.2.6.2 20-Aug-2014  tls Rebase to HEAD as of a few days ago.
 1.2.6.1 03-Aug-2014  tls file md.c was added on branch tls-maxphys on 2014-08-20 00:05:14 +0000
 1.2.4.2 14-May-2015  snj Pull up following revision(s) (requested by martin in ticket #756):
usr.sbin/sysinst/arch/arc/md.c: revision 1.4
usr.sbin/sysinst/arch/atari/md.c: revision 1.3
usr.sbin/sysinst/arch/cobalt/md.c: revision 1.4
usr.sbin/sysinst/arch/emips/md.c: revision 1.3
usr.sbin/sysinst/arch/evbarm/md.c: revision 1.4
usr.sbin/sysinst/arch/evbarm64/md.c: revision 1.2
usr.sbin/sysinst/arch/hp300/md.c: revision 1.4
usr.sbin/sysinst/arch/i386/md.c: revision 1.6
usr.sbin/sysinst/arch/mac68k/md.c: revision 1.3
usr.sbin/sysinst/arch/mac68k/md.c: revision 1.4
usr.sbin/sysinst/arch/mac68k/menus.md.de: revisions 1.3, 1.4
usr.sbin/sysinst/arch/mac68k/menus.md.en: revisions 1.3, 1.4
usr.sbin/sysinst/arch/mac68k/menus.md.es: revisions 1.3, 1.4
usr.sbin/sysinst/arch/mac68k/menus.md.pl: revisions 1.3, 1.4
usr.sbin/sysinst/arch/mvme68k/md.c: revision 1.4
usr.sbin/sysinst/arch/ofppc/md.c: revision 1.3
usr.sbin/sysinst/arch/prep/md.c: revisions 1.3, 1.4
usr.sbin/sysinst/arch/prep/menus.md.en: revision 1.2
usr.sbin/sysinst/arch/x68k/md.c: revision 1.4
usr.sbin/sysinst/configmenu.c: revisions 1.4, 1.5
usr.sbin/sysinst/defs.h: revisions 1.8, 1.9
usr.sbin/sysinst/disks.c: revision 1.9
usr.sbin/sysinst/install.c: revision 1.4
usr.sbin/sysinst/label.c: revision 1.3
usr.sbin/sysinst/mbr.c: revision 1.5
usr.sbin/sysinst/menus.mi: revisions 1.9, 1.10
usr.sbin/sysinst/net.c: revisions 1.18-1.20
usr.sbin/sysinst/partman.c: revision 1.10
usr.sbin/sysinst/upgrade.c: revision 1.4
usr.sbin/sysinst/util.c: revisions 1.6, 1.7
Backout the previous incorrect fix for PR 49440 and redo it more globaly:
get rid of the global "yesno", introduce utility functions "ask_yesno()"
and "ask_noyes()" instead, greatly simplifying a lot of code.
Pass in a pointer to the return value to various "set source" menus.
--
Make it compile on architectures that do not support INET6 in sysinst
--
Remove a few more (ab-)usages of "yesno".
--
More (ab-)usages of "yesno"
--
Make "ask_yesno" and "ask_noyes" take a const char * as argument, moving
the deconst() dance into the utility functions and simplifying all callers.
--
Missed a few more "yesno" in previous
 1.2.4.1 11-Jan-2015  snj Pull up following revision(s) (requested by abs in ticket #400):
usr.sbin/sysinst/arch/arc/md.c: revision 1.3
usr.sbin/sysinst/arch/cobalt/md.c: revision 1.3
usr.sbin/sysinst/arch/evbsh3/md.c: revision 1.3
usr.sbin/sysinst/arch/hp300/md.c: revision 1.3
usr.sbin/sysinst/arch/hpcsh/md.c: revision 1.3
usr.sbin/sysinst/arch/i386/md.c: revision 1.5
usr.sbin/sysinst/arch/luna68k/md.c: revision 1.4
usr.sbin/sysinst/arch/mvme68k/md.c: revision 1.3
usr.sbin/sysinst/arch/news68k/md.c: revision 1.3
usr.sbin/sysinst/arch/sgimips/md.c: revision 1.3
usr.sbin/sysinst/arch/vax/md.c: revision 1.3
usr.sbin/sysinst/arch/x68k/md.c: revision 1.3
usr.sbin/sysinst/defs.h: revision 1.6
usr.sbin/sysinst/disks.c: revision 1.7
usr.sbin/sysinst/install.c: revision 1.3
usr.sbin/sysinst/partman.c: revision 1.8
usr.sbin/sysinst/upgrade.c: revision 1.3
Rather than scatter set_swap() calls wrapped in ram size checks through
md_post_disklabel() and md_pre_update(), abstract them out to an MI
set_swap_if_low_ram() and call from the appropriate MI places.
Now all platforms add swap if the system has <= 32M of RAM.
 1.2.2.2 10-Aug-2014  tls Rebase.
 1.2.2.1 03-Aug-2014  tls file md.c was added on branch tls-earlyentropy on 2014-08-10 07:00:25 +0000
 1.4.16.1 13-Apr-2020  martin Mostly merge changes from HEAD upto 20200411
 1.8.2.5 02-Feb-2022  msaitoh Pull up following revision(s) (requested by martin in ticket #1422):
usr.sbin/sysinst/util.c: revision 1.64
usr.sbin/sysinst/arch/hpcsh/md.c: revision 1.11
usr.sbin/sysinst/arch/alpha/md.c: revision 1.10
usr.sbin/sysinst/arch/sparc64/md.c: revision 1.7
usr.sbin/sysinst/arch/emips/md.c: revision 1.10
usr.sbin/sysinst/arch/cobalt/md.c: revision 1.15
usr.sbin/sysinst/arch/x68k/md.c: revision 1.12
usr.sbin/sysinst/arch/sandpoint/md.c: revision 1.10
usr.sbin/sysinst/arch/luna68k/md.c: revision 1.10
usr.sbin/sysinst/arch/hp300/md.c: revision 1.12
usr.sbin/sysinst/arch/vax/md.c: revision 1.8
usr.sbin/sysinst/arch/hpcmips/md.c: revision 1.10
usr.sbin/sysinst/target.c: revision 1.16
usr.sbin/sysinst/arch/mvme68k/md.c: revision 1.12
usr.sbin/sysinst/arch/arc/md.c: revision 1.14
usr.sbin/sysinst/target.c: revision 1.17
usr.sbin/sysinst/arch/i386/md.c: revision 1.34
usr.sbin/sysinst/arch/mac68k/md.c: revision 1.11
usr.sbin/sysinst/arch/atari/md.c: revision 1.8
usr.sbin/sysinst/arch/sgimips/md.c: revision 1.10
usr.sbin/sysinst/arch/acorn32/md.c: revision 1.8
usr.sbin/sysinst/install.c: revision 1.22
usr.sbin/sysinst/arch/amiga/md.c: revision 1.7
usr.sbin/sysinst/arch/cats/md.c: revision 1.6
usr.sbin/sysinst/arch/dummy/md.c: revision 1.7
usr.sbin/sysinst/arch/shark/md.c: revision 1.7
usr.sbin/sysinst/arch/pmax/md.c: revision 1.9
usr.sbin/sysinst/arch/newsmips/md.c: revision 1.7
usr.sbin/sysinst/arch/mipsco/md.c: revision 1.9
usr.sbin/sysinst/arch/landisk/md.c: revision 1.15
usr.sbin/sysinst/arch/hppa/md.c: revision 1.9
usr.sbin/sysinst/arch/prep/md.c: revision 1.14
usr.sbin/sysinst/defs.h: revision 1.77
usr.sbin/sysinst/arch/ofppc/md.c: revision 1.13
usr.sbin/sysinst/arch/ews4800mips/md.c: revision 1.8
usr.sbin/sysinst/defs.h: revision 1.78
usr.sbin/sysinst/arch/macppc/md.c: revision 1.7
usr.sbin/sysinst/arch/evbppc/md.c: revision 1.10
usr.sbin/sysinst/defs.h: revision 1.79
usr.sbin/sysinst/gpt.c: revision 1.27
usr.sbin/sysinst/arch/bebox/md.c: revision 1.10
usr.sbin/sysinst/gpt.c: revision 1.28
usr.sbin/sysinst/arch/sparc/md.c: revision 1.7
usr.sbin/sysinst/arch/evbsh3/md.c: revision 1.7
usr.sbin/sysinst/arch/evbarm/md.c: revision 1.22
usr.sbin/sysinst/arch/news68k/md.c: revision 1.8
usr.sbin/sysinst/upgrade.c: revision 1.19
usr.sbin/sysinst/arch/zaurus/md.c: revision 1.12
usr.sbin/sysinst/arch/playstation2/md.c: revision 1.10
usr.sbin/sysinst/arch/hpcarm/md.c: revision 1.11
usr.sbin/sysinst/arch/evbmips/md.c: revision 1.10
usr.sbin/sysinst/main.c: revision 1.28
Add an option to set the directory where we look for message catalogs.
Try to get rid of all wedges we created (after unmounting).
When upgrading, update the boot code post extraction from
the updated target file system.
Do not defer wedge deletions when we have nothing mounted.
Define and use a constant for maximum disk name length.
 1.8.2.4 15-Oct-2020  bouyer Pull up following revision(s) (requested by martin in ticket #1113):
usr.sbin/sysinst/bsddisklabel.c: revision 1.46
usr.sbin/sysinst/bsddisklabel.c: revision 1.47
usr.sbin/sysinst/disklabel.c: revision 1.40
usr.sbin/sysinst/arch/cobalt/md.c: revision 1.13
usr.sbin/sysinst/bsddisklabel.c: revision 1.48
usr.sbin/sysinst/disklabel.c: revision 1.41
usr.sbin/sysinst/arch/cobalt/md.c: revision 1.14
usr.sbin/sysinst/bsddisklabel.c: revision 1.49
usr.sbin/sysinst/disklabel.c: revision 1.42
usr.sbin/sysinst/Makefile.inc: revision 1.34
usr.sbin/sysinst/disks.c: revision 1.70
usr.sbin/sysinst/arch/hp300/md.c: revision 1.11
usr.sbin/sysinst/disks.c: revision 1.71
usr.sbin/sysinst/arch/i386/md.h: revision 1.8
usr.sbin/sysinst/arch/arc/md.c: revision 1.13
usr.sbin/sysinst/mbr.h: revision 1.5
usr.sbin/sysinst/mbr.h: revision 1.6
usr.sbin/sysinst/arch/mac68k/md.c: revision 1.10
usr.sbin/sysinst/bsddisklabel.c: revision 1.50
usr.sbin/sysinst/arch/acorn32/md.c: revision 1.7
usr.sbin/sysinst/bsddisklabel.c: revision 1.51
usr.sbin/sysinst/bsddisklabel.c: revision 1.52
usr.sbin/sysinst/bsddisklabel.c: revision 1.53
usr.sbin/sysinst/bsddisklabel.c: revision 1.54
usr.sbin/sysinst/bsddisklabel.c: revision 1.55
usr.sbin/sysinst/bsddisklabel.c: revision 1.56
usr.sbin/sysinst/arch/dummy/md.c: revision 1.6
usr.sbin/sysinst/arch/amd64/md.h: revision 1.9
usr.sbin/sysinst/arch/evbsh3/md.c: revision 1.6
usr.sbin/sysinst/arch/sparc/md.c: revision 1.6
usr.sbin/sysinst/arch/zaurus/md.c: revision 1.10
usr.sbin/sysinst/arch/x68k/md.c: revision 1.11
usr.sbin/sysinst/arch/sandpoint/md.c: revision 1.9
usr.sbin/sysinst/arch/vax/md.c: revision 1.7
usr.sbin/sysinst/arch/luna68k/md.c: revision 1.9
usr.sbin/sysinst/gpt.c: revision 1.19
usr.sbin/sysinst/arch/i386/md.c: revision 1.31
usr.sbin/sysinst/arch/i386/md.c: revision 1.32
usr.sbin/sysinst/arch/evbarm/md.c: revision 1.17
usr.sbin/sysinst/arch/evbarm/md.c: revision 1.18
usr.sbin/sysinst/arch/evbarm/md.c: revision 1.19
usr.sbin/sysinst/arch/shark/md.c: revision 1.6
usr.sbin/sysinst/arch/landisk/md.c: revision 1.14
usr.sbin/sysinst/util.c: revision 1.43
usr.sbin/sysinst/gpt.c: revision 1.20
usr.sbin/sysinst/util.c: revision 1.44
usr.sbin/sysinst/gpt.c: revision 1.21
usr.sbin/sysinst/gpt.c: revision 1.22
usr.sbin/sysinst/arch/evbarm/msg.md.en: revision 1.2
usr.sbin/sysinst/arch/ofppc/md.c: revision 1.11
usr.sbin/sysinst/util.c: revision 1.46
usr.sbin/sysinst/arch/ofppc/md.c: revision 1.12
usr.sbin/sysinst/util.c: revision 1.47
usr.sbin/sysinst/arch/evbarm/md.h: revision 1.6
usr.sbin/sysinst/util.c: revision 1.48
usr.sbin/sysinst/arch/evbarm/md.h: revision 1.7
usr.sbin/sysinst/arch/evbmips/md.c: revision 1.9
usr.sbin/sysinst/msg.mi.fr: revision 1.28
usr.sbin/sysinst/msg.mi.fr: revision 1.29
usr.sbin/sysinst/arch/sgimips/md.c: revision 1.9
usr.sbin/sysinst/arch/evbarm/Makefile: revision 1.3
usr.sbin/sysinst/msg.mi.de: revision 1.23
usr.sbin/sysinst/arch/hpcsh/md.c: revision 1.10
usr.sbin/sysinst/msg.mi.de: revision 1.24
usr.sbin/sysinst/install.c: revision 1.15
usr.sbin/sysinst/install.c: revision 1.16
usr.sbin/sysinst/arch/sparc64/md.c: revision 1.6
usr.sbin/sysinst/install.c: revision 1.17
usr.sbin/sysinst/install.c: revision 1.18
usr.sbin/sysinst/partitions.h: revision 1.16
usr.sbin/sysinst/install.c: revision 1.19
usr.sbin/sysinst/partitions.h: revision 1.17
usr.sbin/sysinst/arch/evbppc/md.c: revision 1.9
usr.sbin/sysinst/arch/playstation2/md.c: revision 1.9
usr.sbin/sysinst/partitions.h: revision 1.18
usr.sbin/sysinst/arch/hpcarm/md.c: revision 1.9
usr.sbin/sysinst/partitions.h: revision 1.19
usr.sbin/sysinst/msg.mi.es: revision 1.24
usr.sbin/sysinst/msg.mi.es: revision 1.25
usr.sbin/sysinst/msg.mi.es: revision 1.26
usr.sbin/sysinst/arch/zaurus/md.c: revision 1.9
usr.sbin/sysinst/target.c: revision 1.13
usr.sbin/sysinst/target.c: revision 1.14
usr.sbin/sysinst/part_edit.c: revision 1.17
usr.sbin/sysinst/part_edit.c: revision 1.18
usr.sbin/sysinst/msg.mi.fr: revision 1.30
usr.sbin/sysinst/arch/mvme68k/md.c: revision 1.11
usr.sbin/sysinst/part_edit.c: revision 1.19
usr.sbin/sysinst/msg.mi.fr: revision 1.31
usr.sbin/sysinst/arch/alpha/md.c: revision 1.9
usr.sbin/sysinst/msg.mi.en: revision 1.30
usr.sbin/sysinst/defs.h: revision 1.56
usr.sbin/sysinst/msg.mi.en: revision 1.31
usr.sbin/sysinst/defs.h: revision 1.57
usr.sbin/sysinst/msg.mi.en: revision 1.32
usr.sbin/sysinst/arch/amiga/md.c: revision 1.6
usr.sbin/sysinst/arch/hpcmips/md.c: revision 1.9
usr.sbin/sysinst/defs.h: revision 1.58
usr.sbin/sysinst/arch/cats/md.c: revision 1.5
usr.sbin/sysinst/defs.h: revision 1.59
usr.sbin/sysinst/arch/newsmips/md.c: revision 1.6
usr.sbin/sysinst/arch/pmax/md.c: revision 1.8
usr.sbin/sysinst/arch/mipsco/md.c: revision 1.8
usr.sbin/sysinst/part_edit.c: revision 1.20
usr.sbin/sysinst/part_edit.c: revision 1.21
usr.sbin/sysinst/arch/macppc/md.c: revision 1.6
usr.sbin/sysinst/part_edit.c: revision 1.22
usr.sbin/sysinst/part_edit.c: revision 1.23
usr.sbin/sysinst/part_edit.c: revision 1.24
usr.sbin/sysinst/defs.h: revision 1.60
usr.sbin/sysinst/arch/mac68k/Makefile: revision 1.3
usr.sbin/sysinst/defs.h: revision 1.61
usr.sbin/sysinst/defs.h: revision 1.63
usr.sbin/sysinst/defs.h: revision 1.64
usr.sbin/sysinst/defs.h: revision 1.65
usr.sbin/sysinst/label.c: revision 1.21
usr.sbin/sysinst/defs.h: revision 1.66
usr.sbin/sysinst/label.c: revision 1.22
usr.sbin/sysinst/defs.h: revision 1.67
usr.sbin/sysinst/label.c: revision 1.23
usr.sbin/sysinst/label.c: revision 1.24
usr.sbin/sysinst/label.c: revision 1.25
usr.sbin/sysinst/label.c: revision 1.26
usr.sbin/sysinst/label.c: revision 1.27
usr.sbin/sysinst/msg.mi.pl: revision 1.31
usr.sbin/sysinst/label.c: revision 1.28
usr.sbin/sysinst/msg.mi.pl: revision 1.32
usr.sbin/sysinst/label.c: revision 1.29
usr.sbin/sysinst/arch/atari/md.c: revision 1.7
usr.sbin/sysinst/disklabel.c: revision 1.36
usr.sbin/sysinst/disklabel.c: revision 1.37
usr.sbin/sysinst/disklabel.c: revision 1.38
usr.sbin/sysinst/disklabel.c: revision 1.39
usr.sbin/sysinst/arch/bebox/md.c: revision 1.9
usr.sbin/sysinst/mbr.c: revision 1.32
usr.sbin/sysinst/disks.c: revision 1.66
usr.sbin/sysinst/mbr.c: revision 1.33
usr.sbin/sysinst/disks.c: revision 1.67
usr.sbin/sysinst/mbr.c: revision 1.34
usr.sbin/sysinst/arch/emips/md.c: revision 1.9
usr.sbin/sysinst/disks.c: revision 1.68
usr.sbin/sysinst/partitions.c: revision 1.11
usr.sbin/sysinst/mbr.c: revision 1.35
usr.sbin/sysinst/disks.c: revision 1.69
usr.sbin/sysinst/mbr.c: revision 1.36
usr.sbin/sysinst/arch/hppa/md.c: revision 1.8
usr.sbin/sysinst/arch/prep/md.c: revision 1.13
usr.sbin/sysinst/label.c: revision 1.30
usr.sbin/sysinst/arch/ews4800mips/md.c: revision 1.7
usr.sbin/sysinst/main.c: revision 1.21
usr.sbin/sysinst/main.c: revision 1.22
usr.sbin/sysinst/main.c: revision 1.23
usr.sbin/sysinst/bsddisklabel.c: revision 1.40
usr.sbin/sysinst/main.c: revision 1.24
usr.sbin/sysinst/arch/cobalt/md.h: revision 1.6
usr.sbin/sysinst/bsddisklabel.c: revision 1.41
usr.sbin/sysinst/main.c: revision 1.25
usr.sbin/sysinst/arch/news68k/md.c: revision 1.7
usr.sbin/sysinst/bsddisklabel.c: revision 1.42
usr.sbin/sysinst/bsddisklabel.c: revision 1.43
usr.sbin/sysinst/bsddisklabel.c: revision 1.44
usr.sbin/sysinst/bsddisklabel.c: revision 1.45
Use strlcpy in a few places to guarnatee 0-terminated strings
Rever previous: the d_packname in struct disklabel is not NUL terminated.
Disable the warning instead.
Do not force -Os optimization (unless SMALLPROG)
Remove unused "rel" global variable and make the -r option a no-op.
PR 55045: strlcpy(NULL, ..., 0) considered harmfull in some implementations.
PR misc/54886: bump threshold for automatic/default creation of a tmpfs /tmp
up slightly (to 384 MB ram). This will make sure the default install has
a > 64 MB /tmp available (number pulled out of thin air, 64 MB is the minimum
required by the ZFS tests).
Don't depend on common symbol definitions.
boardype should not be common.
Redo the root-size-limit check again after we grew the root partition
for kernel dumps. Auto-enable the /usr partition if it overflows.
For all non-root partitions, default to FFSv2.
When extending a partition (to fill the total disk size) do respect
size limits.
Do not suggest a size limited partition for extension by default.
Minor tweak to previous: when forcing a /usr partition just to have an
arbitrary extendable partition, still use its default size initially.
At the end of a new installation save entropy.
Ooops, backout previous - twice the entropy saving is not needed.
Instead slightly improve the (slightly) hidden other code that already
did it.
PR 55202: disable swapping if we started it due to low ram
it's "its"
Remove "If you booted from a floppy" message
Set HAVE_INSTALL_IMAGE for evbarm
Change mountpoint of boot ext2fs from /stand to /ext2 to avoid conflict.
Should be pulled up to netbsd-9, with fixes of PR/55060.
MBR type for Ext2 should be MBR_PTYPE_LNXEXT2, not MBR_PTYPE_FAT12.
Silence -Wstringop-truncation for ``name'' in disp_selected_part().
This variable is used only for display, and truncation seems harmless.
PR 55572: avoid crash when answering the mount point prompt for a previously
empty mount point with an emptry sting.
When adding a new partition in the concrete partition editor, make sure
to set a pointer to the partition table interface in the new entry.
Otherwise we may end up not writing back the partitions at all, leading
to further fallout later.
Receipe to reproduce the issue from Frederic Fauberteau, thanks!
In the concrete partitions editor, after deleting the last partition move
the menu selection to the "add a partition" entry (instead of the sentinel
line which is not an active menu entry).
Typo in comment
Keep a list of all partition tables from which we have deleted partitions
and make sure we update those partition tables when writing partitions,
even if no install related partition remains on them.
Fix display of timezone selection menu
If there is no current partitioning manager assume we are editing the
current system and make target_already_root() return true.
Fixes various fallout when using sysinst post installation.
PR 55377: mark boot partitions in the partition size display, as suggested
by Izumi Tsutsui (minor modifications + all bugs by me)
PR 55378: do not assume RAW_PART to be either 2 or 3
PR 55379: avoid creating bogus /etc/fstab lines for /dev/cd* if no
cdrom is available.
PR 55381: try to deal with moved (but not yet saved) partitions when
calculating free space
Apply patch provided by Izumi Tsutsui in PR 55382: make ext2 partitions
show up in the outer (MBR) partition table, needed for example on Cobalt
where firmware boots from that partition.
PR 55384: detangle pm->ptstart from the "install" flag (selecting a
target partition). Instead introduce a new PTI_INSTALL_TARGET per partition
flag and deal with it in the partitioning backends.
Honour pm->ptstart when allocating new partitions - it is supposed to be
the first sector usable by NetBSD.
If we have no explicitly marke target root partition, make sure to set
the proper flag on the implicit one.
When merging existing partitions with desired target system layout
information, only force the "mount" flag if the existing partitions
has a valid mount point.
Add a heuristic to detect and properly mark EFI system partitions
when re-using pre-existing partitions.
When MD code requests a reserved area (at the start of the disk)
make sure to properly account for the "lost" space during all calculations
and especially when expanding the main partition to fill the disk.
Avoid using the global "pm" or a passed device descriptons when we are
passing disk limits explicitly anyway.
Simplify/fix a few rounding calculations.
When creating new partitions for "full disk" use, pass a install target
hint to the partitioning backend (for the outer NetBSD partition).
Use an install target hint to mark a new partition active.
When compiled with BOOTSEL support, also name the new partition "NetBSD".
Remove more pm->ptstart abuse - calculate values localy where needed
instead.
Fix editing start and size of not yet existing outer partitions.
Previously we abused pm->ptstart / pm->ptsize to pass the bounds of the
NetBSD outer partition to the inner partition editor - but now this is
not a valid assumption any more, so explicitly fix the bounds if an
outer partition exists.
Remove very strange code that special-cased MSDOS file systems and refused
to newfs the partition (despite explicit request to do so) if it was
mountable.
Accidently carried over from a dim and distant past, before we had
fsck_newfs.
PR 55536: when we find existing partition tables and have alternative
formats available, offer to delete partitions and create new ones from
scratch (in some other or the same on-disk format).
Minor fix to previous: fix condition when we offer the partition type
switch - it makes sense even if the disk is partitioned but has no valid
partitions.
Before forcing MBR partitions into our disklabel, make sure they are not
there yet - could happen in various paths when reusing existing partitions
(or parts of that) - previously we would blindly duplicate identical
partitions.
Ooops, part of previous was not meant to be included yet
When renumbering partitions (after deletions) be slightly more lax
in matching, to cope with differences between MBR EFI partitions and
disklabel MSDOS partitions.
PR 55142: on popular demand bring back expert options to adjust the
number of free inodes, block size and fragment size for FFS and LFS.
Fix copy & pasto noticed by Jason Mitchell: change the type of a GPT
partition via "gpt type" - not "gpt label".
Fix copy & pasto (missing "again" label)
Remove dead code
Move MBR writing (if any) post disklabel writing, otherwise strange
interactions happen.
Properly convert partition default sizes in MB to number of sectors
 1.8.2.3 28-Jan-2020  msaitoh Pull up following revision(s) (requested by martin in ticket #668):
usr.sbin/sysinst/arch/cobalt/md.c: revision 1.11
usr.sbin/sysinst/arch/cobalt/md.c: revision 1.12
usr.sbin/sysinst/arch/arc/md.c: revision 1.11
usr.sbin/sysinst/arch/arc/md.c: revision 1.12
usr.sbin/sysinst/partman.c: revision 1.43
usr.sbin/sysinst/partman.c: revision 1.46
usr.sbin/sysinst/partman.c: revision 1.47
usr.sbin/sysinst/partman.c: revision 1.48
usr.sbin/sysinst/partman.c: revision 1.49
usr.sbin/sysinst/msg.pm.fr: revision 1.2
usr.sbin/sysinst/upgrade.c: revision 1.14
usr.sbin/sysinst/arch/i386/md.c: revision 1.28
usr.sbin/sysinst/arch/i386/md.c: revision 1.29
usr.sbin/sysinst/arch/ofppc/md.c: revision 1.9
usr.sbin/sysinst/arch/sandpoint/md.c: revision 1.7
usr.sbin/sysinst/arch/sandpoint/md.c: revision 1.8
usr.sbin/sysinst/gpt.c: revision 1.14
usr.sbin/sysinst/gpt.c: revision 1.15
usr.sbin/sysinst/arch/luna68k/md.c: revision 1.8
usr.sbin/sysinst/gpt.c: revision 1.16
usr.sbin/sysinst/msg.pm.de: revision 1.2
usr.sbin/sysinst/arch/evbarm/md.c: revision 1.11
usr.sbin/sysinst/arch/evbarm/md.c: revision 1.12
usr.sbin/sysinst/arch/evbarm/md.c: revision 1.13
usr.sbin/sysinst/arch/evbarm/md.c: revision 1.14
usr.sbin/sysinst/sizemultname.c: revision 1.4
usr.sbin/sysinst/msg.pm.en: revision 1.2
usr.sbin/sysinst/arch/landisk/md.c: revision 1.12
usr.sbin/sysinst/util.c: revision 1.41
usr.sbin/sysinst/arch/landisk/md.c: revision 1.13
usr.sbin/sysinst/util.c: revision 1.42
usr.sbin/sysinst/arch/ofppc/md.c: revision 1.10
usr.sbin/sysinst/partitions.c: revision 1.9
usr.sbin/sysinst/arch/evbarm/md.h: revision 1.4
usr.sbin/sysinst/arch/evbarm/md.h: revision 1.5
usr.sbin/sysinst/arch/evbmips/md.c: revision 1.7
usr.sbin/sysinst/arch/evbmips/md.c: revision 1.8
usr.sbin/sysinst/msg.mi.fr: revision 1.25
usr.sbin/sysinst/msg.mi.de: revision 1.20
usr.sbin/sysinst/install.c: revision 1.14
usr.sbin/sysinst/partitions.h: revision 1.13
usr.sbin/sysinst/partitions.h: revision 1.14
usr.sbin/sysinst/arch/evbppc/md.c: revision 1.7
usr.sbin/sysinst/arch/playstation2/md.c: revision 1.7
usr.sbin/sysinst/msg.mi.en: revision 1.27
usr.sbin/sysinst/partitions.h: revision 1.15
usr.sbin/sysinst/arch/evbppc/md.c: revision 1.8
usr.sbin/sysinst/arch/hpcarm/md.c: revision 1.7
usr.sbin/sysinst/arch/playstation2/md.c: revision 1.8
usr.sbin/sysinst/msg.pm.pl: revision 1.2
usr.sbin/sysinst/arch/hpcarm/md.c: revision 1.8
usr.sbin/sysinst/msg.mi.es: revision 1.21
usr.sbin/sysinst/arch/zaurus/md.c: revision 1.7
usr.sbin/sysinst/target.c: revision 1.11
usr.sbin/sysinst/arch/zaurus/md.c: revision 1.8
usr.sbin/sysinst/part_edit.c: revision 1.14
usr.sbin/sysinst/part_edit.c: revision 1.15
usr.sbin/sysinst/part_edit.c: revision 1.16
usr.sbin/sysinst/defs.h: revision 1.50
usr.sbin/sysinst/defs.h: revision 1.51
usr.sbin/sysinst/defs.h: revision 1.52
usr.sbin/sysinst/defs.h: revision 1.53
usr.sbin/sysinst/defs.h: revision 1.54
usr.sbin/sysinst/arch/hpcmips/md.c: revision 1.7
usr.sbin/sysinst/arch/hpcmips/md.c: revision 1.8
usr.sbin/sysinst/arch/hpcsh/md.c: revision 1.8
usr.sbin/sysinst/msg.pm.es: revision 1.2
usr.sbin/sysinst/arch/hpcsh/md.c: revision 1.9
usr.sbin/sysinst/label.c: revision 1.18
usr.sbin/sysinst/label.c: revision 1.19
usr.sbin/sysinst/net.c: revision 1.35
usr.sbin/sysinst/msg.mi.pl: revision 1.28
usr.sbin/sysinst/disklabel.c: revision 1.28
usr.sbin/sysinst/disklabel.c: revision 1.29
usr.sbin/sysinst/mbr.c: revision 1.24
usr.sbin/sysinst/disks.c: revision 1.59
usr.sbin/sysinst/mbr.c: revision 1.25
usr.sbin/sysinst/mbr.c: revision 1.26
usr.sbin/sysinst/mbr.c: revision 1.27
usr.sbin/sysinst/mbr.c: revision 1.28
usr.sbin/sysinst/label.c: revision 1.20
usr.sbin/sysinst/mbr.c: revision 1.29
usr.sbin/sysinst/bsddisklabel.c: revision 1.34
usr.sbin/sysinst/bsddisklabel.c: revision 1.35
usr.sbin/sysinst/bsddisklabel.c: revision 1.36
usr.sbin/sysinst/bsddisklabel.c: revision 1.37
usr.sbin/sysinst/disklabel.c: revision 1.30
usr.sbin/sysinst/bsddisklabel.c: revision 1.38
usr.sbin/sysinst/disklabel.c: revision 1.31
usr.sbin/sysinst/disklabel.c: revision 1.32
usr.sbin/sysinst/disklabel.c: revision 1.33
usr.sbin/sysinst/disklabel.c: revision 1.34
usr.sbin/sysinst/disks.c: revision 1.60
usr.sbin/sysinst/disks.c: revision 1.61
usr.sbin/sysinst/arch/bebox/md.c: revision 1.7
usr.sbin/sysinst/disks.c: revision 1.62
usr.sbin/sysinst/arch/bebox/md.c: revision 1.8
usr.sbin/sysinst/mbr.c: revision 1.30
usr.sbin/sysinst/partitions.c: revision 1.10
usr.sbin/sysinst/arch/prep/md.c: revision 1.11
usr.sbin/sysinst/arch/prep/md.c: revision 1.12
usr.sbin/sysinst/menus.pm: revision 1.3
usr.sbin/sysinst/main.c: revision 1.20
usr.sbin/sysinst/menus.mi: revision 1.20
usr.sbin/sysinst/menus.mi: revision 1.21
avoid calling snprintf/strlcat with an input parameter the same
as the output. from martin@. fixes gcc 8 restrict warnings.
Finish conversion of extended partitioning parts to new abstract
backend interface. XXX still could use a lot of polishing.
Instead of a (bogus) attempt to query the model via ofctl, use the (now
fixed) sysctl hw.model instead.
When reading the secondary disklabel partitions from an existing disklabel
set the mbr partitions as parent.
Move the LABELSECTOR check and make it FS type specific - some partition
types (FFS, RAID) are allowed to overlap with the LABELSECTOR.
When asked to create a whole-disk partition for unknown usage, do not only
assert(false), but actually return an error (in case "assert" is a nop).
PR install/54787: when trying to derive proper alignement and first offset
from exisiting partitions, use the first partition offset if it is already
closer to the start of the disk than the prefered alignment - we can not
move existing partitions around.
Fix handling of inner/outer partitions (e.g. MBR and disklabel) in
extended partitioning:
- when editing a disk with such a schme, offer both partitions in two
steps
- when commiting changes save the inner partitions after the outer ones
Add a method to query the partitioning schemes "internal idea" of a
cylinder size - whatever that means in the real world.
Avoid using the global "pm" variable in utility functions - during
extended partitioning they may point to a different device.
Remove useless calls to get_ramsize() - return value is ignored and
the function has no side effects.
Fix /tmp tmpfs handling and on machines with enough RAM default to
creating a /tmp tmpfs with 25% of ram size limit. Suggested by ad@.
PR install/54872: fix printf argument order, sectors and heads were
swapped in the bios geometry display.
First try to bring evbarm installation closer to current reality.
hide disklabel_non_bootable() under NO_DISKLABEL_BOOT like the usage.
should fix most builds.
Deal with even stranger fictious empty disklabels (PR kern/54882).
Factor out all RAM size thresholds as defines to avoid magic numbers.
To work around PR misc/54886 bump the threshold for a tmpfs /tmp mount
up to 256 MB.
When retrying sets during extraction, reset the relevant statistics
to avoid counting retried sets multiple times.
Reported by kim.
Fix support for non-512-byte/sector disks again after I broke it when
introducing the abstract partition backends.
Use a few strlcpy() instead of strncpy() for network ioctl structs.
We seem to have no formal documentation stating the various
char if*_name[IFNAMSIZ]; /* if name, e.g. "en0" */
elements in ioctls are nul terminated, but the peanut gallery claims
it is so - and at least half of the code in-tree touching them agrees.
Too much disklabel magic happening in the kernel - to compensate force
MBR first when trying to identify the existing partitioning scheme of
a disk.
 1.8.2.2 17-Dec-2019  msaitoh Pull up following revision(s) (requested by martin in ticket #560):
usr.sbin/sysinst/partitions.h: revision 1.11
usr.sbin/sysinst/defs.h: revision 1.49
usr.sbin/sysinst/mbr.c: revision 1.23
usr.sbin/sysinst/msg.mi.en: revision 1.26
usr.sbin/sysinst/disks.c: revision 1.58
usr.sbin/sysinst/arch/evbarm/menus.md.pl: revision 1.2
usr.sbin/sysinst/msg.mi.es: revision 1.20
usr.sbin/sysinst/arch/mvme68k/md.c: revision 1.9
usr.sbin/sysinst/gpt.c: revision 1.13
usr.sbin/sysinst/arch/evbarm/md.c: revision 1.10
usr.sbin/sysinst/arch/arc/md.c: revision 1.10
usr.sbin/sysinst/disklabel.c: revision 1.18
usr.sbin/sysinst/bsddisklabel.c: revision 1.33
usr.sbin/sysinst/disklabel.c: revision 1.19
usr.sbin/sysinst/main.c: revision 1.19
usr.sbin/sysinst/partman.c: revision 1.45
usr.sbin/sysinst/arch/alpha/md.c: revision 1.7
usr.sbin/sysinst/msg.mi.de: revision 1.19
usr.sbin/sysinst/arch/evbarm/menus.md.en: revision 1.2
usr.sbin/sysinst/arch/x68k/md.h: revision 1.4
usr.sbin/sysinst/arch/x68k/md.c: revision 1.9
usr.sbin/sysinst/arch/evbarm/menus.md.es: revision 1.2
usr.sbin/sysinst/wskbd.c: revision 1.4
usr.sbin/sysinst/label.c: revision 1.15
usr.sbin/sysinst/arch/amiga/md.h: revision 1.5
usr.sbin/sysinst/label.c: revision 1.16
usr.sbin/sysinst/arch/hp300/md.c: revision 1.9
usr.sbin/sysinst/arch/emips/md.c: revision 1.8
usr.sbin/sysinst/label.c: revision 1.17
usr.sbin/sysinst/arch/pmax/md.c: revision 1.7
usr.sbin/sysinst/partitions.c: revision 1.6
usr.sbin/sysinst/arch/prep/md.c: revision 1.10
usr.sbin/sysinst/arch/mipsco/md.c: revision 1.7
usr.sbin/sysinst/partitions.c: revision 1.7
usr.sbin/sysinst/partitions.c: revision 1.8
usr.sbin/sysinst/arch/ews4800mips/md.c: revision 1.5
usr.sbin/sysinst/disklabel.c: revision 1.20
usr.sbin/sysinst/arch/evbarm/menus.md.fr: revision 1.2
usr.sbin/sysinst/msg.mi.fr: revision 1.24
usr.sbin/sysinst/disklabel.c: revision 1.21
usr.sbin/sysinst/partitions.h: revision 1.9
usr.sbin/sysinst/msg.mi.pl: revision 1.27
usr.sbin/sysinst/disklabel.c: revision 1.22
usr.sbin/sysinst/disklabel.c: revision 1.23
usr.sbin/sysinst/arch/i386/md.c: revision 1.27
usr.sbin/sysinst/disklabel.c: revision 1.24
usr.sbin/sysinst/disklabel.c: revision 1.25
usr.sbin/sysinst/arch/cobalt/md.h: revision 1.5
usr.sbin/sysinst/disklabel.c: revision 1.26
usr.sbin/sysinst/disklabel.c: revision 1.27
usr.sbin/sysinst/partitions.h: revision 1.10
usr.sbin/sysinst/arch/cobalt/md.c: revision 1.10
PR install/54582: allow MD code to disable on-disk presence verification
of "real" disklabels. Auto-enable this (at run time) when there is no other
partitioning scheme but disklabel configured.
Hard-coded enable this for x68k to allow using kernel based translations
for native Human68k partitions.
Get rid of the evbarm preliminary menu: do not bother to ask the user
whether this is a RPi - query the FDT instead.
PR 54065: add optional "old compat" variant of ext2fs in file system
type selection and use that as default for the cobalt boot file system.
For now rely on the kernel mapping native RDB partitions.
Fix detection of existing disklabels in the case when we only have
the disklabel partitioning scheme available.
Fix DISKLABEL_NO_ONDISK_VERIFY (accidently disabled in previous)
Fix inverted comparison
Do not try to change the keyboard layout if we are not running on the
console.
When trying to tell a fictious but empty label from a real one, skip
partition a if it has the same start and size as the raw partition.
Remove bogus assert.
When finding (paritioning scheme native) partition types for file systems
from our install description, pass the partition type (not only the file
system type). Sometimes (e.g. EFI boot partition on GPT) the filesystem
type (MSDOS) is not a unique selector.
Adapt MD parts to changes in get_fs_part_type (pass partition type).
If a fictious label has no RAW_PART assume there is no valid disk label.
Pass proper track size when initializing the default alignment - this is
important with sunlabels.
Fix overlapping partitions display
Reject (what we consider) empty/invalid fake disklabels no matter whether
we have other partitioning schemes available or not.
Do not show disklabel command invocation by default (only if there are
errors).
After installing boot blocks with RUN_NO_CLEAR (and handling the
potential errors) make sure to clear the stdscreen.
 1.8.2.1 18-Aug-2019  msaitoh Pull up following revision(s) (requested by martin in ticket #77):
usr.sbin/sysinst/arch/sandpoint/md.c: revision 1.6
usr.sbin/sysinst/arch/playstation2/md.c: revision 1.6
usr.sbin/sysinst/arch/evbppc/md.c: revision 1.6
usr.sbin/sysinst/arch/hpcarm/md.c: revision 1.6
usr.sbin/sysinst/arch/zaurus/md.c: revision 1.6
usr.sbin/sysinst/arch/arc/md.c: revision 1.9
usr.sbin/sysinst/arch/hpcmips/md.c: revision 1.6
usr.sbin/sysinst/arch/bebox/md.c: revision 1.6
usr.sbin/sysinst/arch/hpcsh/md.c: revision 1.7
usr.sbin/sysinst/arch/landisk/md.c: revision 1.11
usr.sbin/sysinst/arch/prep/md.c: revision 1.9
usr.sbin/sysinst/arch/i386/md.c: revision 1.21
usr.sbin/sysinst/arch/evbmips/md.c: revision 1.6
usr.sbin/sysinst/arch/evbarm/md.c: revision 1.9
usr.sbin/sysinst/arch/cobalt/md.c: revision 1.9
usr.sbin/sysinst/arch/ofppc/md.c: revision 1.8
When we ask the user to select a partitioning scheme and they refuse
(that is: select "Exit" in the menu), abort installation.
 1.7 16-Jun-2022  tsutsui Define DEFSWAPSIZE properly. DEFSWAPRAM seems obsolete.
 1.6 10-Jun-2020  tsutsui Change mountpoint of boot ext2fs from /stand to /ext2 to avoid conflict.

Should be pulled up to netbsd-9, with fixes of PR/55060.
 1.5 11-Dec-2019  martin PR 54065: add optional "old compat" variant of ext2fs in file system
type selection and use that as default for the cobalt boot file system.
 1.4 02-Oct-2019  maya Split out /rescue to its own set and adapt installers/images to add it.

This is meant to make updates safer: if something goes wrong with updating
base, we still have the old, standalone /rescue to recover from.
 1.3 12-Jun-2019  martin branches: 1.3.2;
Rework internal data structures and "interfaces to user interface" functions
to get rid of all disklabel assumptions.

Previously (even for GPT partitioning) struct disklabel was used, which
obviously breaks large disk setups. Also many MD parts and parts of the
user interface assumed (a) a struct disklabel is used internally to
store partitioning information and (b) partitions are named 'a' ... $MAXPART.

Get rid of this and replace it with a quite abstract interface that should
be able to deal with all variants in partition storage:

- partitions are stored in a (partly abstract) struct disk_partitions
and most parts of it are only accessed via accessor functions provided
by a "partitioning scheme".

- implement partitioning schemes for MBR, disklabel and GPT (with likely
RDB [amiga] and Apple Partition Map [mac*] to follow soon)

- partitioning schemes may be cascaded, e.g. on x86 when using MBR as
"outer partitions", we have disklabel as "inner partitions".

- all user interface goes via accessor functions in the partitioning scheme,
some of which return pointers to special user interface descriptors
(e.g. to allow editing partition flags, which are scheme specific)

Overall the user interface changes (in this initial step) are minimal but
noticable. A new Anita is needed for automatic test setups - many thanks
to Andreas Gustafsson for lots of early testing and a new Anita version,
and to Manuel Bouyer for cooperation and tests of the Anita release.

This work was sponsored by The NetBSD Foundation, Inc.
 1.2 16-Nov-2018  martin Sync install size estimates with current reality
 1.1 26-Jul-2014  dholland branches: 1.1.2; 1.1.6; 1.1.26; 1.1.28;
Move sysinst sources to usr.sbin.

This commit only physically moves the sources - there are no other
changes, to maximize the probability that this will be treated as a
rename if we ever do manage to migrate away from CVS.

Moving sysinst has been discussed on and off for years and has two
goals: making it easier to work on sysinst, and also making sysinst
available on running systems for use installing chroots and VM images
and other such things. None of the latter is possible yet, but as they
say, one thing at a time.

Doing this now was approved in an impromptu fashion by mrg, riz,
riastradh, me, and groo.
 1.1.28.2 13-Apr-2020  martin Mostly merge changes from HEAD upto 20200411
 1.1.28.1 10-Jun-2019  christos Sync with HEAD
 1.1.26.1 26-Nov-2018  pgoyette Sync with HEAD, resolve a couple of conflicts
 1.1.6.2 20-Aug-2014  tls Rebase to HEAD as of a few days ago.
 1.1.6.1 26-Jul-2014  tls file md.h was added on branch tls-maxphys on 2014-08-20 00:05:14 +0000
 1.1.2.2 10-Aug-2014  tls Rebase.
 1.1.2.1 26-Jul-2014  tls file md.h was added on branch tls-earlyentropy on 2014-08-10 07:00:25 +0000
 1.3.2.3 15-Oct-2020  bouyer Pull up following revision(s) (requested by martin in ticket #1113):
usr.sbin/sysinst/bsddisklabel.c: revision 1.46
usr.sbin/sysinst/bsddisklabel.c: revision 1.47
usr.sbin/sysinst/disklabel.c: revision 1.40
usr.sbin/sysinst/arch/cobalt/md.c: revision 1.13
usr.sbin/sysinst/bsddisklabel.c: revision 1.48
usr.sbin/sysinst/disklabel.c: revision 1.41
usr.sbin/sysinst/arch/cobalt/md.c: revision 1.14
usr.sbin/sysinst/bsddisklabel.c: revision 1.49
usr.sbin/sysinst/disklabel.c: revision 1.42
usr.sbin/sysinst/Makefile.inc: revision 1.34
usr.sbin/sysinst/disks.c: revision 1.70
usr.sbin/sysinst/arch/hp300/md.c: revision 1.11
usr.sbin/sysinst/disks.c: revision 1.71
usr.sbin/sysinst/arch/i386/md.h: revision 1.8
usr.sbin/sysinst/arch/arc/md.c: revision 1.13
usr.sbin/sysinst/mbr.h: revision 1.5
usr.sbin/sysinst/mbr.h: revision 1.6
usr.sbin/sysinst/arch/mac68k/md.c: revision 1.10
usr.sbin/sysinst/bsddisklabel.c: revision 1.50
usr.sbin/sysinst/arch/acorn32/md.c: revision 1.7
usr.sbin/sysinst/bsddisklabel.c: revision 1.51
usr.sbin/sysinst/bsddisklabel.c: revision 1.52
usr.sbin/sysinst/bsddisklabel.c: revision 1.53
usr.sbin/sysinst/bsddisklabel.c: revision 1.54
usr.sbin/sysinst/bsddisklabel.c: revision 1.55
usr.sbin/sysinst/bsddisklabel.c: revision 1.56
usr.sbin/sysinst/arch/dummy/md.c: revision 1.6
usr.sbin/sysinst/arch/amd64/md.h: revision 1.9
usr.sbin/sysinst/arch/evbsh3/md.c: revision 1.6
usr.sbin/sysinst/arch/sparc/md.c: revision 1.6
usr.sbin/sysinst/arch/zaurus/md.c: revision 1.10
usr.sbin/sysinst/arch/x68k/md.c: revision 1.11
usr.sbin/sysinst/arch/sandpoint/md.c: revision 1.9
usr.sbin/sysinst/arch/vax/md.c: revision 1.7
usr.sbin/sysinst/arch/luna68k/md.c: revision 1.9
usr.sbin/sysinst/gpt.c: revision 1.19
usr.sbin/sysinst/arch/i386/md.c: revision 1.31
usr.sbin/sysinst/arch/i386/md.c: revision 1.32
usr.sbin/sysinst/arch/evbarm/md.c: revision 1.17
usr.sbin/sysinst/arch/evbarm/md.c: revision 1.18
usr.sbin/sysinst/arch/evbarm/md.c: revision 1.19
usr.sbin/sysinst/arch/shark/md.c: revision 1.6
usr.sbin/sysinst/arch/landisk/md.c: revision 1.14
usr.sbin/sysinst/util.c: revision 1.43
usr.sbin/sysinst/gpt.c: revision 1.20
usr.sbin/sysinst/util.c: revision 1.44
usr.sbin/sysinst/gpt.c: revision 1.21
usr.sbin/sysinst/gpt.c: revision 1.22
usr.sbin/sysinst/arch/evbarm/msg.md.en: revision 1.2
usr.sbin/sysinst/arch/ofppc/md.c: revision 1.11
usr.sbin/sysinst/util.c: revision 1.46
usr.sbin/sysinst/arch/ofppc/md.c: revision 1.12
usr.sbin/sysinst/util.c: revision 1.47
usr.sbin/sysinst/arch/evbarm/md.h: revision 1.6
usr.sbin/sysinst/util.c: revision 1.48
usr.sbin/sysinst/arch/evbarm/md.h: revision 1.7
usr.sbin/sysinst/arch/evbmips/md.c: revision 1.9
usr.sbin/sysinst/msg.mi.fr: revision 1.28
usr.sbin/sysinst/msg.mi.fr: revision 1.29
usr.sbin/sysinst/arch/sgimips/md.c: revision 1.9
usr.sbin/sysinst/arch/evbarm/Makefile: revision 1.3
usr.sbin/sysinst/msg.mi.de: revision 1.23
usr.sbin/sysinst/arch/hpcsh/md.c: revision 1.10
usr.sbin/sysinst/msg.mi.de: revision 1.24
usr.sbin/sysinst/install.c: revision 1.15
usr.sbin/sysinst/install.c: revision 1.16
usr.sbin/sysinst/arch/sparc64/md.c: revision 1.6
usr.sbin/sysinst/install.c: revision 1.17
usr.sbin/sysinst/install.c: revision 1.18
usr.sbin/sysinst/partitions.h: revision 1.16
usr.sbin/sysinst/install.c: revision 1.19
usr.sbin/sysinst/partitions.h: revision 1.17
usr.sbin/sysinst/arch/evbppc/md.c: revision 1.9
usr.sbin/sysinst/arch/playstation2/md.c: revision 1.9
usr.sbin/sysinst/partitions.h: revision 1.18
usr.sbin/sysinst/arch/hpcarm/md.c: revision 1.9
usr.sbin/sysinst/partitions.h: revision 1.19
usr.sbin/sysinst/msg.mi.es: revision 1.24
usr.sbin/sysinst/msg.mi.es: revision 1.25
usr.sbin/sysinst/msg.mi.es: revision 1.26
usr.sbin/sysinst/arch/zaurus/md.c: revision 1.9
usr.sbin/sysinst/target.c: revision 1.13
usr.sbin/sysinst/target.c: revision 1.14
usr.sbin/sysinst/part_edit.c: revision 1.17
usr.sbin/sysinst/part_edit.c: revision 1.18
usr.sbin/sysinst/msg.mi.fr: revision 1.30
usr.sbin/sysinst/arch/mvme68k/md.c: revision 1.11
usr.sbin/sysinst/part_edit.c: revision 1.19
usr.sbin/sysinst/msg.mi.fr: revision 1.31
usr.sbin/sysinst/arch/alpha/md.c: revision 1.9
usr.sbin/sysinst/msg.mi.en: revision 1.30
usr.sbin/sysinst/defs.h: revision 1.56
usr.sbin/sysinst/msg.mi.en: revision 1.31
usr.sbin/sysinst/defs.h: revision 1.57
usr.sbin/sysinst/msg.mi.en: revision 1.32
usr.sbin/sysinst/arch/amiga/md.c: revision 1.6
usr.sbin/sysinst/arch/hpcmips/md.c: revision 1.9
usr.sbin/sysinst/defs.h: revision 1.58
usr.sbin/sysinst/arch/cats/md.c: revision 1.5
usr.sbin/sysinst/defs.h: revision 1.59
usr.sbin/sysinst/arch/newsmips/md.c: revision 1.6
usr.sbin/sysinst/arch/pmax/md.c: revision 1.8
usr.sbin/sysinst/arch/mipsco/md.c: revision 1.8
usr.sbin/sysinst/part_edit.c: revision 1.20
usr.sbin/sysinst/part_edit.c: revision 1.21
usr.sbin/sysinst/arch/macppc/md.c: revision 1.6
usr.sbin/sysinst/part_edit.c: revision 1.22
usr.sbin/sysinst/part_edit.c: revision 1.23
usr.sbin/sysinst/part_edit.c: revision 1.24
usr.sbin/sysinst/defs.h: revision 1.60
usr.sbin/sysinst/arch/mac68k/Makefile: revision 1.3
usr.sbin/sysinst/defs.h: revision 1.61
usr.sbin/sysinst/defs.h: revision 1.63
usr.sbin/sysinst/defs.h: revision 1.64
usr.sbin/sysinst/defs.h: revision 1.65
usr.sbin/sysinst/label.c: revision 1.21
usr.sbin/sysinst/defs.h: revision 1.66
usr.sbin/sysinst/label.c: revision 1.22
usr.sbin/sysinst/defs.h: revision 1.67
usr.sbin/sysinst/label.c: revision 1.23
usr.sbin/sysinst/label.c: revision 1.24
usr.sbin/sysinst/label.c: revision 1.25
usr.sbin/sysinst/label.c: revision 1.26
usr.sbin/sysinst/label.c: revision 1.27
usr.sbin/sysinst/msg.mi.pl: revision 1.31
usr.sbin/sysinst/label.c: revision 1.28
usr.sbin/sysinst/msg.mi.pl: revision 1.32
usr.sbin/sysinst/label.c: revision 1.29
usr.sbin/sysinst/arch/atari/md.c: revision 1.7
usr.sbin/sysinst/disklabel.c: revision 1.36
usr.sbin/sysinst/disklabel.c: revision 1.37
usr.sbin/sysinst/disklabel.c: revision 1.38
usr.sbin/sysinst/disklabel.c: revision 1.39
usr.sbin/sysinst/arch/bebox/md.c: revision 1.9
usr.sbin/sysinst/mbr.c: revision 1.32
usr.sbin/sysinst/disks.c: revision 1.66
usr.sbin/sysinst/mbr.c: revision 1.33
usr.sbin/sysinst/disks.c: revision 1.67
usr.sbin/sysinst/mbr.c: revision 1.34
usr.sbin/sysinst/arch/emips/md.c: revision 1.9
usr.sbin/sysinst/disks.c: revision 1.68
usr.sbin/sysinst/partitions.c: revision 1.11
usr.sbin/sysinst/mbr.c: revision 1.35
usr.sbin/sysinst/disks.c: revision 1.69
usr.sbin/sysinst/mbr.c: revision 1.36
usr.sbin/sysinst/arch/hppa/md.c: revision 1.8
usr.sbin/sysinst/arch/prep/md.c: revision 1.13
usr.sbin/sysinst/label.c: revision 1.30
usr.sbin/sysinst/arch/ews4800mips/md.c: revision 1.7
usr.sbin/sysinst/main.c: revision 1.21
usr.sbin/sysinst/main.c: revision 1.22
usr.sbin/sysinst/main.c: revision 1.23
usr.sbin/sysinst/bsddisklabel.c: revision 1.40
usr.sbin/sysinst/main.c: revision 1.24
usr.sbin/sysinst/arch/cobalt/md.h: revision 1.6
usr.sbin/sysinst/bsddisklabel.c: revision 1.41
usr.sbin/sysinst/main.c: revision 1.25
usr.sbin/sysinst/arch/news68k/md.c: revision 1.7
usr.sbin/sysinst/bsddisklabel.c: revision 1.42
usr.sbin/sysinst/bsddisklabel.c: revision 1.43
usr.sbin/sysinst/bsddisklabel.c: revision 1.44
usr.sbin/sysinst/bsddisklabel.c: revision 1.45
Use strlcpy in a few places to guarnatee 0-terminated strings
Rever previous: the d_packname in struct disklabel is not NUL terminated.
Disable the warning instead.
Do not force -Os optimization (unless SMALLPROG)
Remove unused "rel" global variable and make the -r option a no-op.
PR 55045: strlcpy(NULL, ..., 0) considered harmfull in some implementations.
PR misc/54886: bump threshold for automatic/default creation of a tmpfs /tmp
up slightly (to 384 MB ram). This will make sure the default install has
a > 64 MB /tmp available (number pulled out of thin air, 64 MB is the minimum
required by the ZFS tests).
Don't depend on common symbol definitions.
boardype should not be common.
Redo the root-size-limit check again after we grew the root partition
for kernel dumps. Auto-enable the /usr partition if it overflows.
For all non-root partitions, default to FFSv2.
When extending a partition (to fill the total disk size) do respect
size limits.
Do not suggest a size limited partition for extension by default.
Minor tweak to previous: when forcing a /usr partition just to have an
arbitrary extendable partition, still use its default size initially.
At the end of a new installation save entropy.
Ooops, backout previous - twice the entropy saving is not needed.
Instead slightly improve the (slightly) hidden other code that already
did it.
PR 55202: disable swapping if we started it due to low ram
it's "its"
Remove "If you booted from a floppy" message
Set HAVE_INSTALL_IMAGE for evbarm
Change mountpoint of boot ext2fs from /stand to /ext2 to avoid conflict.
Should be pulled up to netbsd-9, with fixes of PR/55060.
MBR type for Ext2 should be MBR_PTYPE_LNXEXT2, not MBR_PTYPE_FAT12.
Silence -Wstringop-truncation for ``name'' in disp_selected_part().
This variable is used only for display, and truncation seems harmless.
PR 55572: avoid crash when answering the mount point prompt for a previously
empty mount point with an emptry sting.
When adding a new partition in the concrete partition editor, make sure
to set a pointer to the partition table interface in the new entry.
Otherwise we may end up not writing back the partitions at all, leading
to further fallout later.
Receipe to reproduce the issue from Frederic Fauberteau, thanks!
In the concrete partitions editor, after deleting the last partition move
the menu selection to the "add a partition" entry (instead of the sentinel
line which is not an active menu entry).
Typo in comment
Keep a list of all partition tables from which we have deleted partitions
and make sure we update those partition tables when writing partitions,
even if no install related partition remains on them.
Fix display of timezone selection menu
If there is no current partitioning manager assume we are editing the
current system and make target_already_root() return true.
Fixes various fallout when using sysinst post installation.
PR 55377: mark boot partitions in the partition size display, as suggested
by Izumi Tsutsui (minor modifications + all bugs by me)
PR 55378: do not assume RAW_PART to be either 2 or 3
PR 55379: avoid creating bogus /etc/fstab lines for /dev/cd* if no
cdrom is available.
PR 55381: try to deal with moved (but not yet saved) partitions when
calculating free space
Apply patch provided by Izumi Tsutsui in PR 55382: make ext2 partitions
show up in the outer (MBR) partition table, needed for example on Cobalt
where firmware boots from that partition.
PR 55384: detangle pm->ptstart from the "install" flag (selecting a
target partition). Instead introduce a new PTI_INSTALL_TARGET per partition
flag and deal with it in the partitioning backends.
Honour pm->ptstart when allocating new partitions - it is supposed to be
the first sector usable by NetBSD.
If we have no explicitly marke target root partition, make sure to set
the proper flag on the implicit one.
When merging existing partitions with desired target system layout
information, only force the "mount" flag if the existing partitions
has a valid mount point.
Add a heuristic to detect and properly mark EFI system partitions
when re-using pre-existing partitions.
When MD code requests a reserved area (at the start of the disk)
make sure to properly account for the "lost" space during all calculations
and especially when expanding the main partition to fill the disk.
Avoid using the global "pm" or a passed device descriptons when we are
passing disk limits explicitly anyway.
Simplify/fix a few rounding calculations.
When creating new partitions for "full disk" use, pass a install target
hint to the partitioning backend (for the outer NetBSD partition).
Use an install target hint to mark a new partition active.
When compiled with BOOTSEL support, also name the new partition "NetBSD".
Remove more pm->ptstart abuse - calculate values localy where needed
instead.
Fix editing start and size of not yet existing outer partitions.
Previously we abused pm->ptstart / pm->ptsize to pass the bounds of the
NetBSD outer partition to the inner partition editor - but now this is
not a valid assumption any more, so explicitly fix the bounds if an
outer partition exists.
Remove very strange code that special-cased MSDOS file systems and refused
to newfs the partition (despite explicit request to do so) if it was
mountable.
Accidently carried over from a dim and distant past, before we had
fsck_newfs.
PR 55536: when we find existing partition tables and have alternative
formats available, offer to delete partitions and create new ones from
scratch (in some other or the same on-disk format).
Minor fix to previous: fix condition when we offer the partition type
switch - it makes sense even if the disk is partitioned but has no valid
partitions.
Before forcing MBR partitions into our disklabel, make sure they are not
there yet - could happen in various paths when reusing existing partitions
(or parts of that) - previously we would blindly duplicate identical
partitions.
Ooops, part of previous was not meant to be included yet
When renumbering partitions (after deletions) be slightly more lax
in matching, to cope with differences between MBR EFI partitions and
disklabel MSDOS partitions.
PR 55142: on popular demand bring back expert options to adjust the
number of free inodes, block size and fragment size for FFS and LFS.
Fix copy & pasto noticed by Jason Mitchell: change the type of a GPT
partition via "gpt type" - not "gpt label".
Fix copy & pasto (missing "again" label)
Remove dead code
Move MBR writing (if any) post disklabel writing, otherwise strange
interactions happen.
Properly convert partition default sizes in MB to number of sectors
 1.3.2.2 17-Dec-2019  msaitoh Pull up following revision(s) (requested by martin in ticket #560):
usr.sbin/sysinst/partitions.h: revision 1.11
usr.sbin/sysinst/defs.h: revision 1.49
usr.sbin/sysinst/mbr.c: revision 1.23
usr.sbin/sysinst/msg.mi.en: revision 1.26
usr.sbin/sysinst/disks.c: revision 1.58
usr.sbin/sysinst/arch/evbarm/menus.md.pl: revision 1.2
usr.sbin/sysinst/msg.mi.es: revision 1.20
usr.sbin/sysinst/arch/mvme68k/md.c: revision 1.9
usr.sbin/sysinst/gpt.c: revision 1.13
usr.sbin/sysinst/arch/evbarm/md.c: revision 1.10
usr.sbin/sysinst/arch/arc/md.c: revision 1.10
usr.sbin/sysinst/disklabel.c: revision 1.18
usr.sbin/sysinst/bsddisklabel.c: revision 1.33
usr.sbin/sysinst/disklabel.c: revision 1.19
usr.sbin/sysinst/main.c: revision 1.19
usr.sbin/sysinst/partman.c: revision 1.45
usr.sbin/sysinst/arch/alpha/md.c: revision 1.7
usr.sbin/sysinst/msg.mi.de: revision 1.19
usr.sbin/sysinst/arch/evbarm/menus.md.en: revision 1.2
usr.sbin/sysinst/arch/x68k/md.h: revision 1.4
usr.sbin/sysinst/arch/x68k/md.c: revision 1.9
usr.sbin/sysinst/arch/evbarm/menus.md.es: revision 1.2
usr.sbin/sysinst/wskbd.c: revision 1.4
usr.sbin/sysinst/label.c: revision 1.15
usr.sbin/sysinst/arch/amiga/md.h: revision 1.5
usr.sbin/sysinst/label.c: revision 1.16
usr.sbin/sysinst/arch/hp300/md.c: revision 1.9
usr.sbin/sysinst/arch/emips/md.c: revision 1.8
usr.sbin/sysinst/label.c: revision 1.17
usr.sbin/sysinst/arch/pmax/md.c: revision 1.7
usr.sbin/sysinst/partitions.c: revision 1.6
usr.sbin/sysinst/arch/prep/md.c: revision 1.10
usr.sbin/sysinst/arch/mipsco/md.c: revision 1.7
usr.sbin/sysinst/partitions.c: revision 1.7
usr.sbin/sysinst/partitions.c: revision 1.8
usr.sbin/sysinst/arch/ews4800mips/md.c: revision 1.5
usr.sbin/sysinst/disklabel.c: revision 1.20
usr.sbin/sysinst/arch/evbarm/menus.md.fr: revision 1.2
usr.sbin/sysinst/msg.mi.fr: revision 1.24
usr.sbin/sysinst/disklabel.c: revision 1.21
usr.sbin/sysinst/partitions.h: revision 1.9
usr.sbin/sysinst/msg.mi.pl: revision 1.27
usr.sbin/sysinst/disklabel.c: revision 1.22
usr.sbin/sysinst/disklabel.c: revision 1.23
usr.sbin/sysinst/arch/i386/md.c: revision 1.27
usr.sbin/sysinst/disklabel.c: revision 1.24
usr.sbin/sysinst/disklabel.c: revision 1.25
usr.sbin/sysinst/arch/cobalt/md.h: revision 1.5
usr.sbin/sysinst/disklabel.c: revision 1.26
usr.sbin/sysinst/disklabel.c: revision 1.27
usr.sbin/sysinst/partitions.h: revision 1.10
usr.sbin/sysinst/arch/cobalt/md.c: revision 1.10
PR install/54582: allow MD code to disable on-disk presence verification
of "real" disklabels. Auto-enable this (at run time) when there is no other
partitioning scheme but disklabel configured.
Hard-coded enable this for x68k to allow using kernel based translations
for native Human68k partitions.
Get rid of the evbarm preliminary menu: do not bother to ask the user
whether this is a RPi - query the FDT instead.
PR 54065: add optional "old compat" variant of ext2fs in file system
type selection and use that as default for the cobalt boot file system.
For now rely on the kernel mapping native RDB partitions.
Fix detection of existing disklabels in the case when we only have
the disklabel partitioning scheme available.
Fix DISKLABEL_NO_ONDISK_VERIFY (accidently disabled in previous)
Fix inverted comparison
Do not try to change the keyboard layout if we are not running on the
console.
When trying to tell a fictious but empty label from a real one, skip
partition a if it has the same start and size as the raw partition.
Remove bogus assert.
When finding (paritioning scheme native) partition types for file systems
from our install description, pass the partition type (not only the file
system type). Sometimes (e.g. EFI boot partition on GPT) the filesystem
type (MSDOS) is not a unique selector.
Adapt MD parts to changes in get_fs_part_type (pass partition type).
If a fictious label has no RAW_PART assume there is no valid disk label.
Pass proper track size when initializing the default alignment - this is
important with sunlabels.
Fix overlapping partitions display
Reject (what we consider) empty/invalid fake disklabels no matter whether
we have other partitioning schemes available or not.
Do not show disklabel command invocation by default (only if there are
errors).
After installing boot blocks with RUN_NO_CLEAR (and handling the
potential errors) make sure to clear the stdscreen.
 1.3.2.1 17-Nov-2019  martin Pull up following revision(s) (requested by maya in ticket #435):

distrib/sets/maketars: revision 1.90
usr.sbin/sysinst/arch/playstation2/md.h: revision 1.2
usr.sbin/sysinst/arch/sandpoint/md.h: revision 1.3
usr.sbin/sysinst/arch/evbppc/md.h: revision 1.3
usr.sbin/sysinst/arch/hpcarm/md.h: revision 1.3
usr.sbin/sysinst/arch/mvme68k/md.h: revision 1.3
distrib/sun3/MakeInstTape: revision 1.3
usr.sbin/sysinst/util.c: revision 1.33
distrib/sets/lists/rescue/mi: revision 1.1
distrib/sets/lists/base/rescue.sun2: file removal
usr.sbin/sysinst/arch/zaurus/md.h: revision 1.3
distrib/sets/lists/base/rescue.ad.m68k.shl: file removal
distrib/sets/regpkgset: revision 1.13
usr.sbin/sysinst/arch/i386/md.h: revision 1.7
distrib/sets/lists/base/rescue.sparc: file removal
distrib/notes/mvme68k/xfer: revision 1.19
distrib/sets/sets.subr: revision 1.187
distrib/common/bootimage/Makefile.bootimage: revision 1.22
usr.sbin/sysinst/msg.mi.de: revision 1.16
usr.sbin/sysinst/arch/atari/md.h: revision 1.3
rescue/Makefile: revision 1.38
distrib/sets/lists/base/rescue.macppc: file removal
usr.sbin/sysinst/arch/arc/md.h: revision 1.4
distrib/miniroot/install.sub: revision 1.49
usr.sbin/sysinst/arch/acorn32/md.h: revision 1.3
usr.sbin/sysinst/arch/x68k/md.h: revision 1.3
usr.sbin/sysinst/arch/hpcmips/md.h: revision 1.3
usr.sbin/sysinst/arch/bebox/md.h: revision 1.3
usr.sbin/sysinst/arch/hpcsh/md.h: revision 1.2
distrib/sets/lists/base/rescue.shark: file removal
usr.sbin/sysinst/arch/emips/md.h: revision 1.5
distrib/utils/embedded/mkimage: revision 1.70
usr.sbin/sysinst/arch/shark/md.h: revision 1.3
usr.sbin/sysinst/arch/pmax/md.h: revision 1.4
usr.sbin/sysinst/arch/amiga/md.h: revision 1.4
usr.sbin/sysinst/arch/hp300/md.h: revision 1.5
rescue/list.ldconfig: file removal
distrib/sets/lists/base/rescue.ad.m68k: file removal
usr.sbin/sysinst/arch/prep/md.h: revision 1.4
usr.sbin/sysinst/arch/cats/md.h: revision 1.4
usr.sbin/sysinst/arch/amd64/md.h: revision 1.7
usr.sbin/sysinst/msg.mi.es: revision 1.17
usr.sbin/sysinst/msg.mi.fr: revision 1.20
usr.sbin/sysinst/msg.mi.pl: revision 1.23
distrib/sets/lists/base/rescue.i386: file removal
usr.sbin/sysinst/arch/evbarm/md.h: revision 1.3
distrib/sets/lists/base/rescue.vax: file removal
distrib/amd64/uefi-installimage/Makefile.bootimage: revision 1.12
usr.sbin/sysinst/arch/evbmips/md.h: revision 1.3
distrib/sets/lists/base/rescue.mi: file removal
distrib/sets/README: revision 1.14
usr.sbin/sysinst/arch/sgimips/md.h: revision 1.4
distrib/sets/lists/base/rescue.sparc64: file removal
distrib/sets/lists/base/rescue.mi: revision 1.45
distrib/sets/lists/base/rescue.mi: revision 1.46
usr.sbin/sysinst/arch/ofppc/md.h: revision 1.4
usr.sbin/sysinst/arch/cobalt/md.h: revision 1.4
distrib/sets/lists/base/rescue.ad.arm: file removal
distrib/sets/lists/base/rescue.mac68k: file removal
usr.sbin/sysinst/defs.h: revision 1.45
usr.sbin/sysinst/arch/landisk/md.h: revision 1.2
distrib/notes/atari/xfer: revision 1.17
etc/Makefile: revision 1.441
usr.sbin/sysinst/msg.mi.en: revision 1.22
distrib/sun2/MakeInstTape: revision 1.2

Remove ldconfig from /rescue, and mark it MI obsolete.
- ldconfig in netbsd refers to a.out binaries only. We've been ELF-only
since NetBSD 2.0 or so, and having it in /rescue served little purpose
even before that, as /rescue is standalone.
- Using MI obsolete to avoid the need for MD set lists where ldconfig
is the sole entry

Mark /rescue/edlabel as MI-obsolete, so we can remove all remaining MD
rescue set list files.

Split out /rescue to its own set and adapt installers/images to add it.

This is meant to make updates safer: if something goes wrong with updating
base, we still have the old, standalone /rescue to recover from.
 1.1 26-Jul-2014  dholland branches: 1.1.2; 1.1.6;
Move sysinst sources to usr.sbin.

This commit only physically moves the sources - there are no other
changes, to maximize the probability that this will be treated as a
rename if we ever do manage to migrate away from CVS.

Moving sysinst has been discussed on and off for years and has two
goals: making it easier to work on sysinst, and also making sysinst
available on running systems for use installing chroots and VM images
and other such things. None of the latter is possible yet, but as they
say, one thing at a time.

Doing this now was approved in an impromptu fashion by mrg, riz,
riastradh, me, and groo.
 1.1.6.2 20-Aug-2014  tls Rebase to HEAD as of a few days ago.
 1.1.6.1 26-Jul-2014  tls file menus.md.en was added on branch tls-maxphys on 2014-08-20 00:05:14 +0000
 1.1.2.2 10-Aug-2014  tls Rebase.
 1.1.2.1 26-Jul-2014  tls file menus.md.en was added on branch tls-earlyentropy on 2014-08-10 07:00:25 +0000
 1.1 26-Jul-2014  dholland branches: 1.1.2; 1.1.6;
Move sysinst sources to usr.sbin.

This commit only physically moves the sources - there are no other
changes, to maximize the probability that this will be treated as a
rename if we ever do manage to migrate away from CVS.

Moving sysinst has been discussed on and off for years and has two
goals: making it easier to work on sysinst, and also making sysinst
available on running systems for use installing chroots and VM images
and other such things. None of the latter is possible yet, but as they
say, one thing at a time.

Doing this now was approved in an impromptu fashion by mrg, riz,
riastradh, me, and groo.
 1.1.6.2 20-Aug-2014  tls Rebase to HEAD as of a few days ago.
 1.1.6.1 26-Jul-2014  tls file msg.md.en was added on branch tls-maxphys on 2014-08-20 00:05:14 +0000
 1.1.2.2 10-Aug-2014  tls Rebase.
 1.1.2.1 26-Jul-2014  tls file msg.md.en was added on branch tls-earlyentropy on 2014-08-10 07:00:25 +0000
 1.1 26-Jul-2014  dholland branches: 1.1.2; 1.1.6;
Add a dummy sysinst architecture for ports that don't have their own yet.

This makes the presence of sysinst in /usr/sbin MI (as intended) --
remember that one of the goals is for sysinst to be able to install
chroots, and installing a chroot is a sensible operation on all ports,
even those for which an installer per se might not make sense.

Currently this dummy architecture fails instead of doing anything, but
as they say, one thing at a time.
 1.1.6.2 20-Aug-2014  tls Rebase to HEAD as of a few days ago.
 1.1.6.1 26-Jul-2014  tls file Makefile was added on branch tls-maxphys on 2014-08-20 00:05:15 +0000
 1.1.2.2 10-Aug-2014  tls Rebase.
 1.1.2.1 26-Jul-2014  tls file Makefile was added on branch tls-earlyentropy on 2014-08-10 07:00:25 +0000
 1.8 09-Dec-2022  martin Add set_default_sizemult() calls to some architectures obviously
lacking it.
 1.7 29-Jan-2022  martin When upgrading, update the boot code post extraction from
the updated target file system.
 1.6 12-Oct-2020  martin PR 55536: when we find existing partition tables and have alternative
formats available, offer to delete partitions and create new ones from
scratch (in some other or the same on-disk format).
 1.5 13-Jul-2019  martin branches: 1.5.2;
We may call md_pre_mount() multiple times for the same install set,
so pass an additional index argument so MD code knows which part
of the install will be mounted next.
 1.4 13-Jun-2019  mrg make this build and likely work with the new sysinst world order.
 1.3 12-Jun-2019  martin Rework internal data structures and "interfaces to user interface" functions
to get rid of all disklabel assumptions.

Previously (even for GPT partitioning) struct disklabel was used, which
obviously breaks large disk setups. Also many MD parts and parts of the
user interface assumed (a) a struct disklabel is used internally to
store partitioning information and (b) partitions are named 'a' ... $MAXPART.

Get rid of this and replace it with a quite abstract interface that should
be able to deal with all variants in partition storage:

- partitions are stored in a (partly abstract) struct disk_partitions
and most parts of it are only accessed via accessor functions provided
by a "partitioning scheme".

- implement partitioning schemes for MBR, disklabel and GPT (with likely
RDB [amiga] and Apple Partition Map [mac*] to follow soon)

- partitioning schemes may be cascaded, e.g. on x86 when using MBR as
"outer partitions", we have disklabel as "inner partitions".

- all user interface goes via accessor functions in the partitioning scheme,
some of which return pointers to special user interface descriptors
(e.g. to allow editing partition flags, which are scheme specific)

Overall the user interface changes (in this initial step) are minimal but
noticable. A new Anita is needed for automatic test setups - many thanks
to Andreas Gustafsson for lots of early testing and a new Anita version,
and to Manuel Bouyer for cooperation and tests of the Anita release.

This work was sponsored by The NetBSD Foundation, Inc.
 1.2 06-Aug-2014  joerg branches: 1.2.2; 1.2.6; 1.2.28;
Make it a warning, otherwise the missing noreturn will fail the build.
 1.1 26-Jul-2014  dholland Add a dummy sysinst architecture for ports that don't have their own yet.

This makes the presence of sysinst in /usr/sbin MI (as intended) --
remember that one of the goals is for sysinst to be able to install
chroots, and installing a chroot is a sensible operation on all ports,
even those for which an installer per se might not make sense.

Currently this dummy architecture fails instead of doing anything, but
as they say, one thing at a time.
 1.2.28.1 13-Apr-2020  martin Mostly merge changes from HEAD upto 20200411
 1.2.6.2 20-Aug-2014  tls Rebase to HEAD as of a few days ago.
 1.2.6.1 06-Aug-2014  tls file md.c was added on branch tls-maxphys on 2014-08-20 00:05:15 +0000
 1.2.2.2 10-Aug-2014  tls Rebase.
 1.2.2.1 06-Aug-2014  tls file md.c was added on branch tls-earlyentropy on 2014-08-10 07:00:25 +0000
 1.5.2.3 14-Dec-2022  snj Pull up following revision(s) (requested by martin in ticket #1554):

usr.sbin/sysinst/arch/amiga/md.c: revision 1.10
usr.sbin/sysinst/arch/atari/md.c: revision 1.10
usr.sbin/sysinst/arch/dummy/md.c: revision 1.8
usr.sbin/sysinst/arch/sparc/md.c: revision 1.8
usr.sbin/sysinst/arch/sparc64/md.c: revision 1.8

Add set_default_sizemult() calls to some architectures obviously
lacking it.
 1.5.2.2 02-Feb-2022  msaitoh Pull up following revision(s) (requested by martin in ticket #1422):
usr.sbin/sysinst/util.c: revision 1.64
usr.sbin/sysinst/arch/hpcsh/md.c: revision 1.11
usr.sbin/sysinst/arch/alpha/md.c: revision 1.10
usr.sbin/sysinst/arch/sparc64/md.c: revision 1.7
usr.sbin/sysinst/arch/emips/md.c: revision 1.10
usr.sbin/sysinst/arch/cobalt/md.c: revision 1.15
usr.sbin/sysinst/arch/x68k/md.c: revision 1.12
usr.sbin/sysinst/arch/sandpoint/md.c: revision 1.10
usr.sbin/sysinst/arch/luna68k/md.c: revision 1.10
usr.sbin/sysinst/arch/hp300/md.c: revision 1.12
usr.sbin/sysinst/arch/vax/md.c: revision 1.8
usr.sbin/sysinst/arch/hpcmips/md.c: revision 1.10
usr.sbin/sysinst/target.c: revision 1.16
usr.sbin/sysinst/arch/mvme68k/md.c: revision 1.12
usr.sbin/sysinst/arch/arc/md.c: revision 1.14
usr.sbin/sysinst/target.c: revision 1.17
usr.sbin/sysinst/arch/i386/md.c: revision 1.34
usr.sbin/sysinst/arch/mac68k/md.c: revision 1.11
usr.sbin/sysinst/arch/atari/md.c: revision 1.8
usr.sbin/sysinst/arch/sgimips/md.c: revision 1.10
usr.sbin/sysinst/arch/acorn32/md.c: revision 1.8
usr.sbin/sysinst/install.c: revision 1.22
usr.sbin/sysinst/arch/amiga/md.c: revision 1.7
usr.sbin/sysinst/arch/cats/md.c: revision 1.6
usr.sbin/sysinst/arch/dummy/md.c: revision 1.7
usr.sbin/sysinst/arch/shark/md.c: revision 1.7
usr.sbin/sysinst/arch/pmax/md.c: revision 1.9
usr.sbin/sysinst/arch/newsmips/md.c: revision 1.7
usr.sbin/sysinst/arch/mipsco/md.c: revision 1.9
usr.sbin/sysinst/arch/landisk/md.c: revision 1.15
usr.sbin/sysinst/arch/hppa/md.c: revision 1.9
usr.sbin/sysinst/arch/prep/md.c: revision 1.14
usr.sbin/sysinst/defs.h: revision 1.77
usr.sbin/sysinst/arch/ofppc/md.c: revision 1.13
usr.sbin/sysinst/arch/ews4800mips/md.c: revision 1.8
usr.sbin/sysinst/defs.h: revision 1.78
usr.sbin/sysinst/arch/macppc/md.c: revision 1.7
usr.sbin/sysinst/arch/evbppc/md.c: revision 1.10
usr.sbin/sysinst/defs.h: revision 1.79
usr.sbin/sysinst/gpt.c: revision 1.27
usr.sbin/sysinst/arch/bebox/md.c: revision 1.10
usr.sbin/sysinst/gpt.c: revision 1.28
usr.sbin/sysinst/arch/sparc/md.c: revision 1.7
usr.sbin/sysinst/arch/evbsh3/md.c: revision 1.7
usr.sbin/sysinst/arch/evbarm/md.c: revision 1.22
usr.sbin/sysinst/arch/news68k/md.c: revision 1.8
usr.sbin/sysinst/upgrade.c: revision 1.19
usr.sbin/sysinst/arch/zaurus/md.c: revision 1.12
usr.sbin/sysinst/arch/playstation2/md.c: revision 1.10
usr.sbin/sysinst/arch/hpcarm/md.c: revision 1.11
usr.sbin/sysinst/arch/evbmips/md.c: revision 1.10
usr.sbin/sysinst/main.c: revision 1.28
Add an option to set the directory where we look for message catalogs.
Try to get rid of all wedges we created (after unmounting).
When upgrading, update the boot code post extraction from
the updated target file system.
Do not defer wedge deletions when we have nothing mounted.
Define and use a constant for maximum disk name length.
 1.5.2.1 15-Oct-2020  bouyer Pull up following revision(s) (requested by martin in ticket #1113):
usr.sbin/sysinst/bsddisklabel.c: revision 1.46
usr.sbin/sysinst/bsddisklabel.c: revision 1.47
usr.sbin/sysinst/disklabel.c: revision 1.40
usr.sbin/sysinst/arch/cobalt/md.c: revision 1.13
usr.sbin/sysinst/bsddisklabel.c: revision 1.48
usr.sbin/sysinst/disklabel.c: revision 1.41
usr.sbin/sysinst/arch/cobalt/md.c: revision 1.14
usr.sbin/sysinst/bsddisklabel.c: revision 1.49
usr.sbin/sysinst/disklabel.c: revision 1.42
usr.sbin/sysinst/Makefile.inc: revision 1.34
usr.sbin/sysinst/disks.c: revision 1.70
usr.sbin/sysinst/arch/hp300/md.c: revision 1.11
usr.sbin/sysinst/disks.c: revision 1.71
usr.sbin/sysinst/arch/i386/md.h: revision 1.8
usr.sbin/sysinst/arch/arc/md.c: revision 1.13
usr.sbin/sysinst/mbr.h: revision 1.5
usr.sbin/sysinst/mbr.h: revision 1.6
usr.sbin/sysinst/arch/mac68k/md.c: revision 1.10
usr.sbin/sysinst/bsddisklabel.c: revision 1.50
usr.sbin/sysinst/arch/acorn32/md.c: revision 1.7
usr.sbin/sysinst/bsddisklabel.c: revision 1.51
usr.sbin/sysinst/bsddisklabel.c: revision 1.52
usr.sbin/sysinst/bsddisklabel.c: revision 1.53
usr.sbin/sysinst/bsddisklabel.c: revision 1.54
usr.sbin/sysinst/bsddisklabel.c: revision 1.55
usr.sbin/sysinst/bsddisklabel.c: revision 1.56
usr.sbin/sysinst/arch/dummy/md.c: revision 1.6
usr.sbin/sysinst/arch/amd64/md.h: revision 1.9
usr.sbin/sysinst/arch/evbsh3/md.c: revision 1.6
usr.sbin/sysinst/arch/sparc/md.c: revision 1.6
usr.sbin/sysinst/arch/zaurus/md.c: revision 1.10
usr.sbin/sysinst/arch/x68k/md.c: revision 1.11
usr.sbin/sysinst/arch/sandpoint/md.c: revision 1.9
usr.sbin/sysinst/arch/vax/md.c: revision 1.7
usr.sbin/sysinst/arch/luna68k/md.c: revision 1.9
usr.sbin/sysinst/gpt.c: revision 1.19
usr.sbin/sysinst/arch/i386/md.c: revision 1.31
usr.sbin/sysinst/arch/i386/md.c: revision 1.32
usr.sbin/sysinst/arch/evbarm/md.c: revision 1.17
usr.sbin/sysinst/arch/evbarm/md.c: revision 1.18
usr.sbin/sysinst/arch/evbarm/md.c: revision 1.19
usr.sbin/sysinst/arch/shark/md.c: revision 1.6
usr.sbin/sysinst/arch/landisk/md.c: revision 1.14
usr.sbin/sysinst/util.c: revision 1.43
usr.sbin/sysinst/gpt.c: revision 1.20
usr.sbin/sysinst/util.c: revision 1.44
usr.sbin/sysinst/gpt.c: revision 1.21
usr.sbin/sysinst/gpt.c: revision 1.22
usr.sbin/sysinst/arch/evbarm/msg.md.en: revision 1.2
usr.sbin/sysinst/arch/ofppc/md.c: revision 1.11
usr.sbin/sysinst/util.c: revision 1.46
usr.sbin/sysinst/arch/ofppc/md.c: revision 1.12
usr.sbin/sysinst/util.c: revision 1.47
usr.sbin/sysinst/arch/evbarm/md.h: revision 1.6
usr.sbin/sysinst/util.c: revision 1.48
usr.sbin/sysinst/arch/evbarm/md.h: revision 1.7
usr.sbin/sysinst/arch/evbmips/md.c: revision 1.9
usr.sbin/sysinst/msg.mi.fr: revision 1.28
usr.sbin/sysinst/msg.mi.fr: revision 1.29
usr.sbin/sysinst/arch/sgimips/md.c: revision 1.9
usr.sbin/sysinst/arch/evbarm/Makefile: revision 1.3
usr.sbin/sysinst/msg.mi.de: revision 1.23
usr.sbin/sysinst/arch/hpcsh/md.c: revision 1.10
usr.sbin/sysinst/msg.mi.de: revision 1.24
usr.sbin/sysinst/install.c: revision 1.15
usr.sbin/sysinst/install.c: revision 1.16
usr.sbin/sysinst/arch/sparc64/md.c: revision 1.6
usr.sbin/sysinst/install.c: revision 1.17
usr.sbin/sysinst/install.c: revision 1.18
usr.sbin/sysinst/partitions.h: revision 1.16
usr.sbin/sysinst/install.c: revision 1.19
usr.sbin/sysinst/partitions.h: revision 1.17
usr.sbin/sysinst/arch/evbppc/md.c: revision 1.9
usr.sbin/sysinst/arch/playstation2/md.c: revision 1.9
usr.sbin/sysinst/partitions.h: revision 1.18
usr.sbin/sysinst/arch/hpcarm/md.c: revision 1.9
usr.sbin/sysinst/partitions.h: revision 1.19
usr.sbin/sysinst/msg.mi.es: revision 1.24
usr.sbin/sysinst/msg.mi.es: revision 1.25
usr.sbin/sysinst/msg.mi.es: revision 1.26
usr.sbin/sysinst/arch/zaurus/md.c: revision 1.9
usr.sbin/sysinst/target.c: revision 1.13
usr.sbin/sysinst/target.c: revision 1.14
usr.sbin/sysinst/part_edit.c: revision 1.17
usr.sbin/sysinst/part_edit.c: revision 1.18
usr.sbin/sysinst/msg.mi.fr: revision 1.30
usr.sbin/sysinst/arch/mvme68k/md.c: revision 1.11
usr.sbin/sysinst/part_edit.c: revision 1.19
usr.sbin/sysinst/msg.mi.fr: revision 1.31
usr.sbin/sysinst/arch/alpha/md.c: revision 1.9
usr.sbin/sysinst/msg.mi.en: revision 1.30
usr.sbin/sysinst/defs.h: revision 1.56
usr.sbin/sysinst/msg.mi.en: revision 1.31
usr.sbin/sysinst/defs.h: revision 1.57
usr.sbin/sysinst/msg.mi.en: revision 1.32
usr.sbin/sysinst/arch/amiga/md.c: revision 1.6
usr.sbin/sysinst/arch/hpcmips/md.c: revision 1.9
usr.sbin/sysinst/defs.h: revision 1.58
usr.sbin/sysinst/arch/cats/md.c: revision 1.5
usr.sbin/sysinst/defs.h: revision 1.59
usr.sbin/sysinst/arch/newsmips/md.c: revision 1.6
usr.sbin/sysinst/arch/pmax/md.c: revision 1.8
usr.sbin/sysinst/arch/mipsco/md.c: revision 1.8
usr.sbin/sysinst/part_edit.c: revision 1.20
usr.sbin/sysinst/part_edit.c: revision 1.21
usr.sbin/sysinst/arch/macppc/md.c: revision 1.6
usr.sbin/sysinst/part_edit.c: revision 1.22
usr.sbin/sysinst/part_edit.c: revision 1.23
usr.sbin/sysinst/part_edit.c: revision 1.24
usr.sbin/sysinst/defs.h: revision 1.60
usr.sbin/sysinst/arch/mac68k/Makefile: revision 1.3
usr.sbin/sysinst/defs.h: revision 1.61
usr.sbin/sysinst/defs.h: revision 1.63
usr.sbin/sysinst/defs.h: revision 1.64
usr.sbin/sysinst/defs.h: revision 1.65
usr.sbin/sysinst/label.c: revision 1.21
usr.sbin/sysinst/defs.h: revision 1.66
usr.sbin/sysinst/label.c: revision 1.22
usr.sbin/sysinst/defs.h: revision 1.67
usr.sbin/sysinst/label.c: revision 1.23
usr.sbin/sysinst/label.c: revision 1.24
usr.sbin/sysinst/label.c: revision 1.25
usr.sbin/sysinst/label.c: revision 1.26
usr.sbin/sysinst/label.c: revision 1.27
usr.sbin/sysinst/msg.mi.pl: revision 1.31
usr.sbin/sysinst/label.c: revision 1.28
usr.sbin/sysinst/msg.mi.pl: revision 1.32
usr.sbin/sysinst/label.c: revision 1.29
usr.sbin/sysinst/arch/atari/md.c: revision 1.7
usr.sbin/sysinst/disklabel.c: revision 1.36
usr.sbin/sysinst/disklabel.c: revision 1.37
usr.sbin/sysinst/disklabel.c: revision 1.38
usr.sbin/sysinst/disklabel.c: revision 1.39
usr.sbin/sysinst/arch/bebox/md.c: revision 1.9
usr.sbin/sysinst/mbr.c: revision 1.32
usr.sbin/sysinst/disks.c: revision 1.66
usr.sbin/sysinst/mbr.c: revision 1.33
usr.sbin/sysinst/disks.c: revision 1.67
usr.sbin/sysinst/mbr.c: revision 1.34
usr.sbin/sysinst/arch/emips/md.c: revision 1.9
usr.sbin/sysinst/disks.c: revision 1.68
usr.sbin/sysinst/partitions.c: revision 1.11
usr.sbin/sysinst/mbr.c: revision 1.35
usr.sbin/sysinst/disks.c: revision 1.69
usr.sbin/sysinst/mbr.c: revision 1.36
usr.sbin/sysinst/arch/hppa/md.c: revision 1.8
usr.sbin/sysinst/arch/prep/md.c: revision 1.13
usr.sbin/sysinst/label.c: revision 1.30
usr.sbin/sysinst/arch/ews4800mips/md.c: revision 1.7
usr.sbin/sysinst/main.c: revision 1.21
usr.sbin/sysinst/main.c: revision 1.22
usr.sbin/sysinst/main.c: revision 1.23
usr.sbin/sysinst/bsddisklabel.c: revision 1.40
usr.sbin/sysinst/main.c: revision 1.24
usr.sbin/sysinst/arch/cobalt/md.h: revision 1.6
usr.sbin/sysinst/bsddisklabel.c: revision 1.41
usr.sbin/sysinst/main.c: revision 1.25
usr.sbin/sysinst/arch/news68k/md.c: revision 1.7
usr.sbin/sysinst/bsddisklabel.c: revision 1.42
usr.sbin/sysinst/bsddisklabel.c: revision 1.43
usr.sbin/sysinst/bsddisklabel.c: revision 1.44
usr.sbin/sysinst/bsddisklabel.c: revision 1.45
Use strlcpy in a few places to guarnatee 0-terminated strings
Rever previous: the d_packname in struct disklabel is not NUL terminated.
Disable the warning instead.
Do not force -Os optimization (unless SMALLPROG)
Remove unused "rel" global variable and make the -r option a no-op.
PR 55045: strlcpy(NULL, ..., 0) considered harmfull in some implementations.
PR misc/54886: bump threshold for automatic/default creation of a tmpfs /tmp
up slightly (to 384 MB ram). This will make sure the default install has
a > 64 MB /tmp available (number pulled out of thin air, 64 MB is the minimum
required by the ZFS tests).
Don't depend on common symbol definitions.
boardype should not be common.
Redo the root-size-limit check again after we grew the root partition
for kernel dumps. Auto-enable the /usr partition if it overflows.
For all non-root partitions, default to FFSv2.
When extending a partition (to fill the total disk size) do respect
size limits.
Do not suggest a size limited partition for extension by default.
Minor tweak to previous: when forcing a /usr partition just to have an
arbitrary extendable partition, still use its default size initially.
At the end of a new installation save entropy.
Ooops, backout previous - twice the entropy saving is not needed.
Instead slightly improve the (slightly) hidden other code that already
did it.
PR 55202: disable swapping if we started it due to low ram
it's "its"
Remove "If you booted from a floppy" message
Set HAVE_INSTALL_IMAGE for evbarm
Change mountpoint of boot ext2fs from /stand to /ext2 to avoid conflict.
Should be pulled up to netbsd-9, with fixes of PR/55060.
MBR type for Ext2 should be MBR_PTYPE_LNXEXT2, not MBR_PTYPE_FAT12.
Silence -Wstringop-truncation for ``name'' in disp_selected_part().
This variable is used only for display, and truncation seems harmless.
PR 55572: avoid crash when answering the mount point prompt for a previously
empty mount point with an emptry sting.
When adding a new partition in the concrete partition editor, make sure
to set a pointer to the partition table interface in the new entry.
Otherwise we may end up not writing back the partitions at all, leading
to further fallout later.
Receipe to reproduce the issue from Frederic Fauberteau, thanks!
In the concrete partitions editor, after deleting the last partition move
the menu selection to the "add a partition" entry (instead of the sentinel
line which is not an active menu entry).
Typo in comment
Keep a list of all partition tables from which we have deleted partitions
and make sure we update those partition tables when writing partitions,
even if no install related partition remains on them.
Fix display of timezone selection menu
If there is no current partitioning manager assume we are editing the
current system and make target_already_root() return true.
Fixes various fallout when using sysinst post installation.
PR 55377: mark boot partitions in the partition size display, as suggested
by Izumi Tsutsui (minor modifications + all bugs by me)
PR 55378: do not assume RAW_PART to be either 2 or 3
PR 55379: avoid creating bogus /etc/fstab lines for /dev/cd* if no
cdrom is available.
PR 55381: try to deal with moved (but not yet saved) partitions when
calculating free space
Apply patch provided by Izumi Tsutsui in PR 55382: make ext2 partitions
show up in the outer (MBR) partition table, needed for example on Cobalt
where firmware boots from that partition.
PR 55384: detangle pm->ptstart from the "install" flag (selecting a
target partition). Instead introduce a new PTI_INSTALL_TARGET per partition
flag and deal with it in the partitioning backends.
Honour pm->ptstart when allocating new partitions - it is supposed to be
the first sector usable by NetBSD.
If we have no explicitly marke target root partition, make sure to set
the proper flag on the implicit one.
When merging existing partitions with desired target system layout
information, only force the "mount" flag if the existing partitions
has a valid mount point.
Add a heuristic to detect and properly mark EFI system partitions
when re-using pre-existing partitions.
When MD code requests a reserved area (at the start of the disk)
make sure to properly account for the "lost" space during all calculations
and especially when expanding the main partition to fill the disk.
Avoid using the global "pm" or a passed device descriptons when we are
passing disk limits explicitly anyway.
Simplify/fix a few rounding calculations.
When creating new partitions for "full disk" use, pass a install target
hint to the partitioning backend (for the outer NetBSD partition).
Use an install target hint to mark a new partition active.
When compiled with BOOTSEL support, also name the new partition "NetBSD".
Remove more pm->ptstart abuse - calculate values localy where needed
instead.
Fix editing start and size of not yet existing outer partitions.
Previously we abused pm->ptstart / pm->ptsize to pass the bounds of the
NetBSD outer partition to the inner partition editor - but now this is
not a valid assumption any more, so explicitly fix the bounds if an
outer partition exists.
Remove very strange code that special-cased MSDOS file systems and refused
to newfs the partition (despite explicit request to do so) if it was
mountable.
Accidently carried over from a dim and distant past, before we had
fsck_newfs.
PR 55536: when we find existing partition tables and have alternative
formats available, offer to delete partitions and create new ones from
scratch (in some other or the same on-disk format).
Minor fix to previous: fix condition when we offer the partition type
switch - it makes sense even if the disk is partitioned but has no valid
partitions.
Before forcing MBR partitions into our disklabel, make sure they are not
there yet - could happen in various paths when reusing existing partitions
(or parts of that) - previously we would blindly duplicate identical
partitions.
Ooops, part of previous was not meant to be included yet
When renumbering partitions (after deletions) be slightly more lax
in matching, to cope with differences between MBR EFI partitions and
disklabel MSDOS partitions.
PR 55142: on popular demand bring back expert options to adjust the
number of free inodes, block size and fragment size for FFS and LFS.
Fix copy & pasto noticed by Jason Mitchell: change the type of a GPT
partition via "gpt type" - not "gpt label".
Fix copy & pasto (missing "again" label)
Remove dead code
Move MBR writing (if any) post disklabel writing, otherwise strange
interactions happen.
Properly convert partition default sizes in MB to number of sectors
 1.2 20-Jun-2019  martin Avoid architecture specific ifdefs in main code, move to MD macros.
 1.1 26-Jul-2014  dholland branches: 1.1.2; 1.1.6; 1.1.28;
Add a dummy sysinst architecture for ports that don't have their own yet.

This makes the presence of sysinst in /usr/sbin MI (as intended) --
remember that one of the goals is for sysinst to be able to install
chroots, and installing a chroot is a sensible operation on all ports,
even those for which an installer per se might not make sense.

Currently this dummy architecture fails instead of doing anything, but
as they say, one thing at a time.
 1.1.28.1 13-Apr-2020  martin Mostly merge changes from HEAD upto 20200411
 1.1.6.2 20-Aug-2014  tls Rebase to HEAD as of a few days ago.
 1.1.6.1 26-Jul-2014  tls file md.h was added on branch tls-maxphys on 2014-08-20 00:05:15 +0000
 1.1.2.2 10-Aug-2014  tls Rebase.
 1.1.2.1 26-Jul-2014  tls file md.h was added on branch tls-earlyentropy on 2014-08-10 07:00:25 +0000
 1.1 26-Jul-2014  dholland branches: 1.1.2; 1.1.6;
Add a dummy sysinst architecture for ports that don't have their own yet.

This makes the presence of sysinst in /usr/sbin MI (as intended) --
remember that one of the goals is for sysinst to be able to install
chroots, and installing a chroot is a sensible operation on all ports,
even those for which an installer per se might not make sense.

Currently this dummy architecture fails instead of doing anything, but
as they say, one thing at a time.
 1.1.6.2 20-Aug-2014  tls Rebase to HEAD as of a few days ago.
 1.1.6.1 26-Jul-2014  tls file msg.md.de was added on branch tls-maxphys on 2014-08-20 00:05:15 +0000
 1.1.2.2 10-Aug-2014  tls Rebase.
 1.1.2.1 26-Jul-2014  tls file msg.md.de was added on branch tls-earlyentropy on 2014-08-10 07:00:25 +0000
 1.1 26-Jul-2014  dholland branches: 1.1.2; 1.1.6;
Add a dummy sysinst architecture for ports that don't have their own yet.

This makes the presence of sysinst in /usr/sbin MI (as intended) --
remember that one of the goals is for sysinst to be able to install
chroots, and installing a chroot is a sensible operation on all ports,
even those for which an installer per se might not make sense.

Currently this dummy architecture fails instead of doing anything, but
as they say, one thing at a time.
 1.1.6.2 20-Aug-2014  tls Rebase to HEAD as of a few days ago.
 1.1.6.1 26-Jul-2014  tls file msg.md.en was added on branch tls-maxphys on 2014-08-20 00:05:15 +0000
 1.1.2.2 10-Aug-2014  tls Rebase.
 1.1.2.1 26-Jul-2014  tls file msg.md.en was added on branch tls-earlyentropy on 2014-08-10 07:00:25 +0000
 1.1 26-Jul-2014  dholland branches: 1.1.2; 1.1.6;
Add a dummy sysinst architecture for ports that don't have their own yet.

This makes the presence of sysinst in /usr/sbin MI (as intended) --
remember that one of the goals is for sysinst to be able to install
chroots, and installing a chroot is a sensible operation on all ports,
even those for which an installer per se might not make sense.

Currently this dummy architecture fails instead of doing anything, but
as they say, one thing at a time.
 1.1.6.2 20-Aug-2014  tls Rebase to HEAD as of a few days ago.
 1.1.6.1 26-Jul-2014  tls file msg.md.es was added on branch tls-maxphys on 2014-08-20 00:05:15 +0000
 1.1.2.2 10-Aug-2014  tls Rebase.
 1.1.2.1 26-Jul-2014  tls file msg.md.es was added on branch tls-earlyentropy on 2014-08-10 07:00:25 +0000
 1.1 26-Jul-2014  dholland branches: 1.1.2; 1.1.6;
Add a dummy sysinst architecture for ports that don't have their own yet.

This makes the presence of sysinst in /usr/sbin MI (as intended) --
remember that one of the goals is for sysinst to be able to install
chroots, and installing a chroot is a sensible operation on all ports,
even those for which an installer per se might not make sense.

Currently this dummy architecture fails instead of doing anything, but
as they say, one thing at a time.
 1.1.6.2 20-Aug-2014  tls Rebase to HEAD as of a few days ago.
 1.1.6.1 26-Jul-2014  tls file msg.md.fr was added on branch tls-maxphys on 2014-08-20 00:05:15 +0000
 1.1.2.2 10-Aug-2014  tls Rebase.
 1.1.2.1 26-Jul-2014  tls file msg.md.fr was added on branch tls-earlyentropy on 2014-08-10 07:00:25 +0000
 1.1 26-Jul-2014  dholland branches: 1.1.2; 1.1.6;
Add a dummy sysinst architecture for ports that don't have their own yet.

This makes the presence of sysinst in /usr/sbin MI (as intended) --
remember that one of the goals is for sysinst to be able to install
chroots, and installing a chroot is a sensible operation on all ports,
even those for which an installer per se might not make sense.

Currently this dummy architecture fails instead of doing anything, but
as they say, one thing at a time.
 1.1.6.2 20-Aug-2014  tls Rebase to HEAD as of a few days ago.
 1.1.6.1 26-Jul-2014  tls file msg.md.pl was added on branch tls-maxphys on 2014-08-20 00:05:15 +0000
 1.1.2.2 10-Aug-2014  tls Rebase.
 1.1.2.1 26-Jul-2014  tls file msg.md.pl was added on branch tls-earlyentropy on 2014-08-10 07:00:25 +0000
 1.2 13-Jun-2019  martin Remove GPT and extended partitioning support on size restrained install
media.
 1.1 26-Jul-2014  dholland branches: 1.1.2; 1.1.6; 1.1.28;
Move sysinst sources to usr.sbin.

This commit only physically moves the sources - there are no other
changes, to maximize the probability that this will be treated as a
rename if we ever do manage to migrate away from CVS.

Moving sysinst has been discussed on and off for years and has two
goals: making it easier to work on sysinst, and also making sysinst
available on running systems for use installing chroots and VM images
and other such things. None of the latter is possible yet, but as they
say, one thing at a time.

Doing this now was approved in an impromptu fashion by mrg, riz,
riastradh, me, and groo.
 1.1.28.1 13-Apr-2020  martin Mostly merge changes from HEAD upto 20200411
 1.1.6.2 20-Aug-2014  tls Rebase to HEAD as of a few days ago.
 1.1.6.1 26-Jul-2014  tls file Makefile was added on branch tls-maxphys on 2014-08-20 00:05:15 +0000
 1.1.2.2 10-Aug-2014  tls Rebase.
 1.1.2.1 26-Jul-2014  tls file Makefile was added on branch tls-earlyentropy on 2014-08-10 07:00:25 +0000
 1.10 29-Jan-2022  martin When upgrading, update the boot code post extraction from
the updated target file system.
 1.9 12-Oct-2020  martin PR 55536: when we find existing partition tables and have alternative
formats available, offer to delete partitions and create new ones from
scratch (in some other or the same on-disk format).
 1.8 15-Dec-2019  martin After installing boot blocks with RUN_NO_CLEAR (and handling the
potential errors) make sure to clear the stdscreen.
 1.7 13-Jul-2019  martin branches: 1.7.2;
We may call md_pre_mount() multiple times for the same install set,
so pass an additional index argument so MD code knows which part
of the install will be mounted next.
 1.6 20-Jun-2019  christos Use _fmt_ msg_ methods when formats are needed.
 1.5 12-Jun-2019  martin Rework internal data structures and "interfaces to user interface" functions
to get rid of all disklabel assumptions.

Previously (even for GPT partitioning) struct disklabel was used, which
obviously breaks large disk setups. Also many MD parts and parts of the
user interface assumed (a) a struct disklabel is used internally to
store partitioning information and (b) partitions are named 'a' ... $MAXPART.

Get rid of this and replace it with a quite abstract interface that should
be able to deal with all variants in partition storage:

- partitions are stored in a (partly abstract) struct disk_partitions
and most parts of it are only accessed via accessor functions provided
by a "partitioning scheme".

- implement partitioning schemes for MBR, disklabel and GPT (with likely
RDB [amiga] and Apple Partition Map [mac*] to follow soon)

- partitioning schemes may be cascaded, e.g. on x86 when using MBR as
"outer partitions", we have disklabel as "inner partitions".

- all user interface goes via accessor functions in the partitioning scheme,
some of which return pointers to special user interface descriptors
(e.g. to allow editing partition flags, which are scheme specific)

Overall the user interface changes (in this initial step) are minimal but
noticable. A new Anita is needed for automatic test setups - many thanks
to Andreas Gustafsson for lots of early testing and a new Anita version,
and to Manuel Bouyer for cooperation and tests of the Anita release.

This work was sponsored by The NetBSD Foundation, Inc.
 1.4 18-May-2018  joerg branches: 1.4.2;
deconst -> __UNCONST, the former involves UB with NULL arithmetic.
 1.3 10-May-2015  martin branches: 1.3.8; 1.3.14;
Backout the previous incorrect fix for PR 49440 and redo it more globaly:
get rid of the global "yesno", introduce utility functions "ask_yesno()"
and "ask_noyes()" instead, greatly simplifying a lot of code.
Pass in a pointer to the return value to various "set source" menus.
 1.2 03-Aug-2014  martin branches: 1.2.2; 1.2.4; 1.2.6;
(Finally) merge a slightly modified version of the 2012 GSoC results
from Eugene Lozovoy: add extended partitioning options to sysinst.
Still needs some testing and polishing, but it now is possible to use GPT
or to create a RAID set from scratch and install onto it.
 1.1 26-Jul-2014  dholland Move sysinst sources to usr.sbin.

This commit only physically moves the sources - there are no other
changes, to maximize the probability that this will be treated as a
rename if we ever do manage to migrate away from CVS.

Moving sysinst has been discussed on and off for years and has two
goals: making it easier to work on sysinst, and also making sysinst
available on running systems for use installing chroots and VM images
and other such things. None of the latter is possible yet, but as they
say, one thing at a time.

Doing this now was approved in an impromptu fashion by mrg, riz,
riastradh, me, and groo.
 1.2.6.2 20-Aug-2014  tls Rebase to HEAD as of a few days ago.
 1.2.6.1 03-Aug-2014  tls file md.c was added on branch tls-maxphys on 2014-08-20 00:05:15 +0000
 1.2.4.1 14-May-2015  snj Pull up following revision(s) (requested by martin in ticket #756):
usr.sbin/sysinst/arch/arc/md.c: revision 1.4
usr.sbin/sysinst/arch/atari/md.c: revision 1.3
usr.sbin/sysinst/arch/cobalt/md.c: revision 1.4
usr.sbin/sysinst/arch/emips/md.c: revision 1.3
usr.sbin/sysinst/arch/evbarm/md.c: revision 1.4
usr.sbin/sysinst/arch/evbarm64/md.c: revision 1.2
usr.sbin/sysinst/arch/hp300/md.c: revision 1.4
usr.sbin/sysinst/arch/i386/md.c: revision 1.6
usr.sbin/sysinst/arch/mac68k/md.c: revision 1.3
usr.sbin/sysinst/arch/mac68k/md.c: revision 1.4
usr.sbin/sysinst/arch/mac68k/menus.md.de: revisions 1.3, 1.4
usr.sbin/sysinst/arch/mac68k/menus.md.en: revisions 1.3, 1.4
usr.sbin/sysinst/arch/mac68k/menus.md.es: revisions 1.3, 1.4
usr.sbin/sysinst/arch/mac68k/menus.md.pl: revisions 1.3, 1.4
usr.sbin/sysinst/arch/mvme68k/md.c: revision 1.4
usr.sbin/sysinst/arch/ofppc/md.c: revision 1.3
usr.sbin/sysinst/arch/prep/md.c: revisions 1.3, 1.4
usr.sbin/sysinst/arch/prep/menus.md.en: revision 1.2
usr.sbin/sysinst/arch/x68k/md.c: revision 1.4
usr.sbin/sysinst/configmenu.c: revisions 1.4, 1.5
usr.sbin/sysinst/defs.h: revisions 1.8, 1.9
usr.sbin/sysinst/disks.c: revision 1.9
usr.sbin/sysinst/install.c: revision 1.4
usr.sbin/sysinst/label.c: revision 1.3
usr.sbin/sysinst/mbr.c: revision 1.5
usr.sbin/sysinst/menus.mi: revisions 1.9, 1.10
usr.sbin/sysinst/net.c: revisions 1.18-1.20
usr.sbin/sysinst/partman.c: revision 1.10
usr.sbin/sysinst/upgrade.c: revision 1.4
usr.sbin/sysinst/util.c: revisions 1.6, 1.7
Backout the previous incorrect fix for PR 49440 and redo it more globaly:
get rid of the global "yesno", introduce utility functions "ask_yesno()"
and "ask_noyes()" instead, greatly simplifying a lot of code.
Pass in a pointer to the return value to various "set source" menus.
--
Make it compile on architectures that do not support INET6 in sysinst
--
Remove a few more (ab-)usages of "yesno".
--
More (ab-)usages of "yesno"
--
Make "ask_yesno" and "ask_noyes" take a const char * as argument, moving
the deconst() dance into the utility functions and simplifying all callers.
--
Missed a few more "yesno" in previous
 1.2.2.2 10-Aug-2014  tls Rebase.
 1.2.2.1 03-Aug-2014  tls file md.c was added on branch tls-earlyentropy on 2014-08-10 07:00:25 +0000
 1.3.14.1 21-May-2018  pgoyette Sync with HEAD
 1.3.8.1 09-Jun-2018  martin Pull up following revision(s) (requested by joerg in ticket #869):

usr.sbin/sysinst/arch/mvme68k/md.c: revision 1.5
usr.sbin/sysinst/net.c: revision 1.24
usr.sbin/sysinst/partman.c: revision 1.22
usr.sbin/sysinst/menus.mi: revision 1.12
usr.sbin/sysinst/arch/i386/md.c: revision 1.8
usr.sbin/sysinst/arch/alpha/md.c: revision 1.3
usr.sbin/sysinst/bsddisklabel.c: revision 1.3
usr.sbin/sysinst/arch/x68k/md.c: revision 1.5
usr.sbin/sysinst/arch/hp300/md.c: revision 1.5
usr.sbin/sysinst/arch/emips/md.c: revision 1.4
usr.sbin/sysinst/arch/pmax/md.c: revision 1.3
usr.sbin/sysinst/arch/mipsco/md.c: revision 1.3
usr.sbin/sysinst/arch/hppa/md.c: revision 1.3
usr.sbin/sysinst/util.c: revision 1.8
usr.sbin/sysinst/defs.h: revision 1.10
usr.sbin/sysinst/arch/landisk/md.c: revision 1.4

deconst -> __UNCONST, the former involves UB with NULL arithmetic.
 1.4.2.2 13-Apr-2020  martin Mostly merge changes from HEAD upto 20200411
 1.4.2.1 08-Apr-2020  martin Merge changes from current as of 20200406
 1.7.2.3 02-Feb-2022  msaitoh Pull up following revision(s) (requested by martin in ticket #1422):
usr.sbin/sysinst/util.c: revision 1.64
usr.sbin/sysinst/arch/hpcsh/md.c: revision 1.11
usr.sbin/sysinst/arch/alpha/md.c: revision 1.10
usr.sbin/sysinst/arch/sparc64/md.c: revision 1.7
usr.sbin/sysinst/arch/emips/md.c: revision 1.10
usr.sbin/sysinst/arch/cobalt/md.c: revision 1.15
usr.sbin/sysinst/arch/x68k/md.c: revision 1.12
usr.sbin/sysinst/arch/sandpoint/md.c: revision 1.10
usr.sbin/sysinst/arch/luna68k/md.c: revision 1.10
usr.sbin/sysinst/arch/hp300/md.c: revision 1.12
usr.sbin/sysinst/arch/vax/md.c: revision 1.8
usr.sbin/sysinst/arch/hpcmips/md.c: revision 1.10
usr.sbin/sysinst/target.c: revision 1.16
usr.sbin/sysinst/arch/mvme68k/md.c: revision 1.12
usr.sbin/sysinst/arch/arc/md.c: revision 1.14
usr.sbin/sysinst/target.c: revision 1.17
usr.sbin/sysinst/arch/i386/md.c: revision 1.34
usr.sbin/sysinst/arch/mac68k/md.c: revision 1.11
usr.sbin/sysinst/arch/atari/md.c: revision 1.8
usr.sbin/sysinst/arch/sgimips/md.c: revision 1.10
usr.sbin/sysinst/arch/acorn32/md.c: revision 1.8
usr.sbin/sysinst/install.c: revision 1.22
usr.sbin/sysinst/arch/amiga/md.c: revision 1.7
usr.sbin/sysinst/arch/cats/md.c: revision 1.6
usr.sbin/sysinst/arch/dummy/md.c: revision 1.7
usr.sbin/sysinst/arch/shark/md.c: revision 1.7
usr.sbin/sysinst/arch/pmax/md.c: revision 1.9
usr.sbin/sysinst/arch/newsmips/md.c: revision 1.7
usr.sbin/sysinst/arch/mipsco/md.c: revision 1.9
usr.sbin/sysinst/arch/landisk/md.c: revision 1.15
usr.sbin/sysinst/arch/hppa/md.c: revision 1.9
usr.sbin/sysinst/arch/prep/md.c: revision 1.14
usr.sbin/sysinst/defs.h: revision 1.77
usr.sbin/sysinst/arch/ofppc/md.c: revision 1.13
usr.sbin/sysinst/arch/ews4800mips/md.c: revision 1.8
usr.sbin/sysinst/defs.h: revision 1.78
usr.sbin/sysinst/arch/macppc/md.c: revision 1.7
usr.sbin/sysinst/arch/evbppc/md.c: revision 1.10
usr.sbin/sysinst/defs.h: revision 1.79
usr.sbin/sysinst/gpt.c: revision 1.27
usr.sbin/sysinst/arch/bebox/md.c: revision 1.10
usr.sbin/sysinst/gpt.c: revision 1.28
usr.sbin/sysinst/arch/sparc/md.c: revision 1.7
usr.sbin/sysinst/arch/evbsh3/md.c: revision 1.7
usr.sbin/sysinst/arch/evbarm/md.c: revision 1.22
usr.sbin/sysinst/arch/news68k/md.c: revision 1.8
usr.sbin/sysinst/upgrade.c: revision 1.19
usr.sbin/sysinst/arch/zaurus/md.c: revision 1.12
usr.sbin/sysinst/arch/playstation2/md.c: revision 1.10
usr.sbin/sysinst/arch/hpcarm/md.c: revision 1.11
usr.sbin/sysinst/arch/evbmips/md.c: revision 1.10
usr.sbin/sysinst/main.c: revision 1.28
Add an option to set the directory where we look for message catalogs.
Try to get rid of all wedges we created (after unmounting).
When upgrading, update the boot code post extraction from
the updated target file system.
Do not defer wedge deletions when we have nothing mounted.
Define and use a constant for maximum disk name length.
 1.7.2.2 15-Oct-2020  bouyer Pull up following revision(s) (requested by martin in ticket #1113):
usr.sbin/sysinst/bsddisklabel.c: revision 1.46
usr.sbin/sysinst/bsddisklabel.c: revision 1.47
usr.sbin/sysinst/disklabel.c: revision 1.40
usr.sbin/sysinst/arch/cobalt/md.c: revision 1.13
usr.sbin/sysinst/bsddisklabel.c: revision 1.48
usr.sbin/sysinst/disklabel.c: revision 1.41
usr.sbin/sysinst/arch/cobalt/md.c: revision 1.14
usr.sbin/sysinst/bsddisklabel.c: revision 1.49
usr.sbin/sysinst/disklabel.c: revision 1.42
usr.sbin/sysinst/Makefile.inc: revision 1.34
usr.sbin/sysinst/disks.c: revision 1.70
usr.sbin/sysinst/arch/hp300/md.c: revision 1.11
usr.sbin/sysinst/disks.c: revision 1.71
usr.sbin/sysinst/arch/i386/md.h: revision 1.8
usr.sbin/sysinst/arch/arc/md.c: revision 1.13
usr.sbin/sysinst/mbr.h: revision 1.5
usr.sbin/sysinst/mbr.h: revision 1.6
usr.sbin/sysinst/arch/mac68k/md.c: revision 1.10
usr.sbin/sysinst/bsddisklabel.c: revision 1.50
usr.sbin/sysinst/arch/acorn32/md.c: revision 1.7
usr.sbin/sysinst/bsddisklabel.c: revision 1.51
usr.sbin/sysinst/bsddisklabel.c: revision 1.52
usr.sbin/sysinst/bsddisklabel.c: revision 1.53
usr.sbin/sysinst/bsddisklabel.c: revision 1.54
usr.sbin/sysinst/bsddisklabel.c: revision 1.55
usr.sbin/sysinst/bsddisklabel.c: revision 1.56
usr.sbin/sysinst/arch/dummy/md.c: revision 1.6
usr.sbin/sysinst/arch/amd64/md.h: revision 1.9
usr.sbin/sysinst/arch/evbsh3/md.c: revision 1.6
usr.sbin/sysinst/arch/sparc/md.c: revision 1.6
usr.sbin/sysinst/arch/zaurus/md.c: revision 1.10
usr.sbin/sysinst/arch/x68k/md.c: revision 1.11
usr.sbin/sysinst/arch/sandpoint/md.c: revision 1.9
usr.sbin/sysinst/arch/vax/md.c: revision 1.7
usr.sbin/sysinst/arch/luna68k/md.c: revision 1.9
usr.sbin/sysinst/gpt.c: revision 1.19
usr.sbin/sysinst/arch/i386/md.c: revision 1.31
usr.sbin/sysinst/arch/i386/md.c: revision 1.32
usr.sbin/sysinst/arch/evbarm/md.c: revision 1.17
usr.sbin/sysinst/arch/evbarm/md.c: revision 1.18
usr.sbin/sysinst/arch/evbarm/md.c: revision 1.19
usr.sbin/sysinst/arch/shark/md.c: revision 1.6
usr.sbin/sysinst/arch/landisk/md.c: revision 1.14
usr.sbin/sysinst/util.c: revision 1.43
usr.sbin/sysinst/gpt.c: revision 1.20
usr.sbin/sysinst/util.c: revision 1.44
usr.sbin/sysinst/gpt.c: revision 1.21
usr.sbin/sysinst/gpt.c: revision 1.22
usr.sbin/sysinst/arch/evbarm/msg.md.en: revision 1.2
usr.sbin/sysinst/arch/ofppc/md.c: revision 1.11
usr.sbin/sysinst/util.c: revision 1.46
usr.sbin/sysinst/arch/ofppc/md.c: revision 1.12
usr.sbin/sysinst/util.c: revision 1.47
usr.sbin/sysinst/arch/evbarm/md.h: revision 1.6
usr.sbin/sysinst/util.c: revision 1.48
usr.sbin/sysinst/arch/evbarm/md.h: revision 1.7
usr.sbin/sysinst/arch/evbmips/md.c: revision 1.9
usr.sbin/sysinst/msg.mi.fr: revision 1.28
usr.sbin/sysinst/msg.mi.fr: revision 1.29
usr.sbin/sysinst/arch/sgimips/md.c: revision 1.9
usr.sbin/sysinst/arch/evbarm/Makefile: revision 1.3
usr.sbin/sysinst/msg.mi.de: revision 1.23
usr.sbin/sysinst/arch/hpcsh/md.c: revision 1.10
usr.sbin/sysinst/msg.mi.de: revision 1.24
usr.sbin/sysinst/install.c: revision 1.15
usr.sbin/sysinst/install.c: revision 1.16
usr.sbin/sysinst/arch/sparc64/md.c: revision 1.6
usr.sbin/sysinst/install.c: revision 1.17
usr.sbin/sysinst/install.c: revision 1.18
usr.sbin/sysinst/partitions.h: revision 1.16
usr.sbin/sysinst/install.c: revision 1.19
usr.sbin/sysinst/partitions.h: revision 1.17
usr.sbin/sysinst/arch/evbppc/md.c: revision 1.9
usr.sbin/sysinst/arch/playstation2/md.c: revision 1.9
usr.sbin/sysinst/partitions.h: revision 1.18
usr.sbin/sysinst/arch/hpcarm/md.c: revision 1.9
usr.sbin/sysinst/partitions.h: revision 1.19
usr.sbin/sysinst/msg.mi.es: revision 1.24
usr.sbin/sysinst/msg.mi.es: revision 1.25
usr.sbin/sysinst/msg.mi.es: revision 1.26
usr.sbin/sysinst/arch/zaurus/md.c: revision 1.9
usr.sbin/sysinst/target.c: revision 1.13
usr.sbin/sysinst/target.c: revision 1.14
usr.sbin/sysinst/part_edit.c: revision 1.17
usr.sbin/sysinst/part_edit.c: revision 1.18
usr.sbin/sysinst/msg.mi.fr: revision 1.30
usr.sbin/sysinst/arch/mvme68k/md.c: revision 1.11
usr.sbin/sysinst/part_edit.c: revision 1.19
usr.sbin/sysinst/msg.mi.fr: revision 1.31
usr.sbin/sysinst/arch/alpha/md.c: revision 1.9
usr.sbin/sysinst/msg.mi.en: revision 1.30
usr.sbin/sysinst/defs.h: revision 1.56
usr.sbin/sysinst/msg.mi.en: revision 1.31
usr.sbin/sysinst/defs.h: revision 1.57
usr.sbin/sysinst/msg.mi.en: revision 1.32
usr.sbin/sysinst/arch/amiga/md.c: revision 1.6
usr.sbin/sysinst/arch/hpcmips/md.c: revision 1.9
usr.sbin/sysinst/defs.h: revision 1.58
usr.sbin/sysinst/arch/cats/md.c: revision 1.5
usr.sbin/sysinst/defs.h: revision 1.59
usr.sbin/sysinst/arch/newsmips/md.c: revision 1.6
usr.sbin/sysinst/arch/pmax/md.c: revision 1.8
usr.sbin/sysinst/arch/mipsco/md.c: revision 1.8
usr.sbin/sysinst/part_edit.c: revision 1.20
usr.sbin/sysinst/part_edit.c: revision 1.21
usr.sbin/sysinst/arch/macppc/md.c: revision 1.6
usr.sbin/sysinst/part_edit.c: revision 1.22
usr.sbin/sysinst/part_edit.c: revision 1.23
usr.sbin/sysinst/part_edit.c: revision 1.24
usr.sbin/sysinst/defs.h: revision 1.60
usr.sbin/sysinst/arch/mac68k/Makefile: revision 1.3
usr.sbin/sysinst/defs.h: revision 1.61
usr.sbin/sysinst/defs.h: revision 1.63
usr.sbin/sysinst/defs.h: revision 1.64
usr.sbin/sysinst/defs.h: revision 1.65
usr.sbin/sysinst/label.c: revision 1.21
usr.sbin/sysinst/defs.h: revision 1.66
usr.sbin/sysinst/label.c: revision 1.22
usr.sbin/sysinst/defs.h: revision 1.67
usr.sbin/sysinst/label.c: revision 1.23
usr.sbin/sysinst/label.c: revision 1.24
usr.sbin/sysinst/label.c: revision 1.25
usr.sbin/sysinst/label.c: revision 1.26
usr.sbin/sysinst/label.c: revision 1.27
usr.sbin/sysinst/msg.mi.pl: revision 1.31
usr.sbin/sysinst/label.c: revision 1.28
usr.sbin/sysinst/msg.mi.pl: revision 1.32
usr.sbin/sysinst/label.c: revision 1.29
usr.sbin/sysinst/arch/atari/md.c: revision 1.7
usr.sbin/sysinst/disklabel.c: revision 1.36
usr.sbin/sysinst/disklabel.c: revision 1.37
usr.sbin/sysinst/disklabel.c: revision 1.38
usr.sbin/sysinst/disklabel.c: revision 1.39
usr.sbin/sysinst/arch/bebox/md.c: revision 1.9
usr.sbin/sysinst/mbr.c: revision 1.32
usr.sbin/sysinst/disks.c: revision 1.66
usr.sbin/sysinst/mbr.c: revision 1.33
usr.sbin/sysinst/disks.c: revision 1.67
usr.sbin/sysinst/mbr.c: revision 1.34
usr.sbin/sysinst/arch/emips/md.c: revision 1.9
usr.sbin/sysinst/disks.c: revision 1.68
usr.sbin/sysinst/partitions.c: revision 1.11
usr.sbin/sysinst/mbr.c: revision 1.35
usr.sbin/sysinst/disks.c: revision 1.69
usr.sbin/sysinst/mbr.c: revision 1.36
usr.sbin/sysinst/arch/hppa/md.c: revision 1.8
usr.sbin/sysinst/arch/prep/md.c: revision 1.13
usr.sbin/sysinst/label.c: revision 1.30
usr.sbin/sysinst/arch/ews4800mips/md.c: revision 1.7
usr.sbin/sysinst/main.c: revision 1.21
usr.sbin/sysinst/main.c: revision 1.22
usr.sbin/sysinst/main.c: revision 1.23
usr.sbin/sysinst/bsddisklabel.c: revision 1.40
usr.sbin/sysinst/main.c: revision 1.24
usr.sbin/sysinst/arch/cobalt/md.h: revision 1.6
usr.sbin/sysinst/bsddisklabel.c: revision 1.41
usr.sbin/sysinst/main.c: revision 1.25
usr.sbin/sysinst/arch/news68k/md.c: revision 1.7
usr.sbin/sysinst/bsddisklabel.c: revision 1.42
usr.sbin/sysinst/bsddisklabel.c: revision 1.43
usr.sbin/sysinst/bsddisklabel.c: revision 1.44
usr.sbin/sysinst/bsddisklabel.c: revision 1.45
Use strlcpy in a few places to guarnatee 0-terminated strings
Rever previous: the d_packname in struct disklabel is not NUL terminated.
Disable the warning instead.
Do not force -Os optimization (unless SMALLPROG)
Remove unused "rel" global variable and make the -r option a no-op.
PR 55045: strlcpy(NULL, ..., 0) considered harmfull in some implementations.
PR misc/54886: bump threshold for automatic/default creation of a tmpfs /tmp
up slightly (to 384 MB ram). This will make sure the default install has
a > 64 MB /tmp available (number pulled out of thin air, 64 MB is the minimum
required by the ZFS tests).
Don't depend on common symbol definitions.
boardype should not be common.
Redo the root-size-limit check again after we grew the root partition
for kernel dumps. Auto-enable the /usr partition if it overflows.
For all non-root partitions, default to FFSv2.
When extending a partition (to fill the total disk size) do respect
size limits.
Do not suggest a size limited partition for extension by default.
Minor tweak to previous: when forcing a /usr partition just to have an
arbitrary extendable partition, still use its default size initially.
At the end of a new installation save entropy.
Ooops, backout previous - twice the entropy saving is not needed.
Instead slightly improve the (slightly) hidden other code that already
did it.
PR 55202: disable swapping if we started it due to low ram
it's "its"
Remove "If you booted from a floppy" message
Set HAVE_INSTALL_IMAGE for evbarm
Change mountpoint of boot ext2fs from /stand to /ext2 to avoid conflict.
Should be pulled up to netbsd-9, with fixes of PR/55060.
MBR type for Ext2 should be MBR_PTYPE_LNXEXT2, not MBR_PTYPE_FAT12.
Silence -Wstringop-truncation for ``name'' in disp_selected_part().
This variable is used only for display, and truncation seems harmless.
PR 55572: avoid crash when answering the mount point prompt for a previously
empty mount point with an emptry sting.
When adding a new partition in the concrete partition editor, make sure
to set a pointer to the partition table interface in the new entry.
Otherwise we may end up not writing back the partitions at all, leading
to further fallout later.
Receipe to reproduce the issue from Frederic Fauberteau, thanks!
In the concrete partitions editor, after deleting the last partition move
the menu selection to the "add a partition" entry (instead of the sentinel
line which is not an active menu entry).
Typo in comment
Keep a list of all partition tables from which we have deleted partitions
and make sure we update those partition tables when writing partitions,
even if no install related partition remains on them.
Fix display of timezone selection menu
If there is no current partitioning manager assume we are editing the
current system and make target_already_root() return true.
Fixes various fallout when using sysinst post installation.
PR 55377: mark boot partitions in the partition size display, as suggested
by Izumi Tsutsui (minor modifications + all bugs by me)
PR 55378: do not assume RAW_PART to be either 2 or 3
PR 55379: avoid creating bogus /etc/fstab lines for /dev/cd* if no
cdrom is available.
PR 55381: try to deal with moved (but not yet saved) partitions when
calculating free space
Apply patch provided by Izumi Tsutsui in PR 55382: make ext2 partitions
show up in the outer (MBR) partition table, needed for example on Cobalt
where firmware boots from that partition.
PR 55384: detangle pm->ptstart from the "install" flag (selecting a
target partition). Instead introduce a new PTI_INSTALL_TARGET per partition
flag and deal with it in the partitioning backends.
Honour pm->ptstart when allocating new partitions - it is supposed to be
the first sector usable by NetBSD.
If we have no explicitly marke target root partition, make sure to set
the proper flag on the implicit one.
When merging existing partitions with desired target system layout
information, only force the "mount" flag if the existing partitions
has a valid mount point.
Add a heuristic to detect and properly mark EFI system partitions
when re-using pre-existing partitions.
When MD code requests a reserved area (at the start of the disk)
make sure to properly account for the "lost" space during all calculations
and especially when expanding the main partition to fill the disk.
Avoid using the global "pm" or a passed device descriptons when we are
passing disk limits explicitly anyway.
Simplify/fix a few rounding calculations.
When creating new partitions for "full disk" use, pass a install target
hint to the partitioning backend (for the outer NetBSD partition).
Use an install target hint to mark a new partition active.
When compiled with BOOTSEL support, also name the new partition "NetBSD".
Remove more pm->ptstart abuse - calculate values localy where needed
instead.
Fix editing start and size of not yet existing outer partitions.
Previously we abused pm->ptstart / pm->ptsize to pass the bounds of the
NetBSD outer partition to the inner partition editor - but now this is
not a valid assumption any more, so explicitly fix the bounds if an
outer partition exists.
Remove very strange code that special-cased MSDOS file systems and refused
to newfs the partition (despite explicit request to do so) if it was
mountable.
Accidently carried over from a dim and distant past, before we had
fsck_newfs.
PR 55536: when we find existing partition tables and have alternative
formats available, offer to delete partitions and create new ones from
scratch (in some other or the same on-disk format).
Minor fix to previous: fix condition when we offer the partition type
switch - it makes sense even if the disk is partitioned but has no valid
partitions.
Before forcing MBR partitions into our disklabel, make sure they are not
there yet - could happen in various paths when reusing existing partitions
(or parts of that) - previously we would blindly duplicate identical
partitions.
Ooops, part of previous was not meant to be included yet
When renumbering partitions (after deletions) be slightly more lax
in matching, to cope with differences between MBR EFI partitions and
disklabel MSDOS partitions.
PR 55142: on popular demand bring back expert options to adjust the
number of free inodes, block size and fragment size for FFS and LFS.
Fix copy & pasto noticed by Jason Mitchell: change the type of a GPT
partition via "gpt type" - not "gpt label".
Fix copy & pasto (missing "again" label)
Remove dead code
Move MBR writing (if any) post disklabel writing, otherwise strange
interactions happen.
Properly convert partition default sizes in MB to number of sectors
 1.7.2.1 17-Dec-2019  msaitoh Pull up following revision(s) (requested by martin in ticket #560):
usr.sbin/sysinst/partitions.h: revision 1.11
usr.sbin/sysinst/defs.h: revision 1.49
usr.sbin/sysinst/mbr.c: revision 1.23
usr.sbin/sysinst/msg.mi.en: revision 1.26
usr.sbin/sysinst/disks.c: revision 1.58
usr.sbin/sysinst/arch/evbarm/menus.md.pl: revision 1.2
usr.sbin/sysinst/msg.mi.es: revision 1.20
usr.sbin/sysinst/arch/mvme68k/md.c: revision 1.9
usr.sbin/sysinst/gpt.c: revision 1.13
usr.sbin/sysinst/arch/evbarm/md.c: revision 1.10
usr.sbin/sysinst/arch/arc/md.c: revision 1.10
usr.sbin/sysinst/disklabel.c: revision 1.18
usr.sbin/sysinst/bsddisklabel.c: revision 1.33
usr.sbin/sysinst/disklabel.c: revision 1.19
usr.sbin/sysinst/main.c: revision 1.19
usr.sbin/sysinst/partman.c: revision 1.45
usr.sbin/sysinst/arch/alpha/md.c: revision 1.7
usr.sbin/sysinst/msg.mi.de: revision 1.19
usr.sbin/sysinst/arch/evbarm/menus.md.en: revision 1.2
usr.sbin/sysinst/arch/x68k/md.h: revision 1.4
usr.sbin/sysinst/arch/x68k/md.c: revision 1.9
usr.sbin/sysinst/arch/evbarm/menus.md.es: revision 1.2
usr.sbin/sysinst/wskbd.c: revision 1.4
usr.sbin/sysinst/label.c: revision 1.15
usr.sbin/sysinst/arch/amiga/md.h: revision 1.5
usr.sbin/sysinst/label.c: revision 1.16
usr.sbin/sysinst/arch/hp300/md.c: revision 1.9
usr.sbin/sysinst/arch/emips/md.c: revision 1.8
usr.sbin/sysinst/label.c: revision 1.17
usr.sbin/sysinst/arch/pmax/md.c: revision 1.7
usr.sbin/sysinst/partitions.c: revision 1.6
usr.sbin/sysinst/arch/prep/md.c: revision 1.10
usr.sbin/sysinst/arch/mipsco/md.c: revision 1.7
usr.sbin/sysinst/partitions.c: revision 1.7
usr.sbin/sysinst/partitions.c: revision 1.8
usr.sbin/sysinst/arch/ews4800mips/md.c: revision 1.5
usr.sbin/sysinst/disklabel.c: revision 1.20
usr.sbin/sysinst/arch/evbarm/menus.md.fr: revision 1.2
usr.sbin/sysinst/msg.mi.fr: revision 1.24
usr.sbin/sysinst/disklabel.c: revision 1.21
usr.sbin/sysinst/partitions.h: revision 1.9
usr.sbin/sysinst/msg.mi.pl: revision 1.27
usr.sbin/sysinst/disklabel.c: revision 1.22
usr.sbin/sysinst/disklabel.c: revision 1.23
usr.sbin/sysinst/arch/i386/md.c: revision 1.27
usr.sbin/sysinst/disklabel.c: revision 1.24
usr.sbin/sysinst/disklabel.c: revision 1.25
usr.sbin/sysinst/arch/cobalt/md.h: revision 1.5
usr.sbin/sysinst/disklabel.c: revision 1.26
usr.sbin/sysinst/disklabel.c: revision 1.27
usr.sbin/sysinst/partitions.h: revision 1.10
usr.sbin/sysinst/arch/cobalt/md.c: revision 1.10
PR install/54582: allow MD code to disable on-disk presence verification
of "real" disklabels. Auto-enable this (at run time) when there is no other
partitioning scheme but disklabel configured.
Hard-coded enable this for x68k to allow using kernel based translations
for native Human68k partitions.
Get rid of the evbarm preliminary menu: do not bother to ask the user
whether this is a RPi - query the FDT instead.
PR 54065: add optional "old compat" variant of ext2fs in file system
type selection and use that as default for the cobalt boot file system.
For now rely on the kernel mapping native RDB partitions.
Fix detection of existing disklabels in the case when we only have
the disklabel partitioning scheme available.
Fix DISKLABEL_NO_ONDISK_VERIFY (accidently disabled in previous)
Fix inverted comparison
Do not try to change the keyboard layout if we are not running on the
console.
When trying to tell a fictious but empty label from a real one, skip
partition a if it has the same start and size as the raw partition.
Remove bogus assert.
When finding (paritioning scheme native) partition types for file systems
from our install description, pass the partition type (not only the file
system type). Sometimes (e.g. EFI boot partition on GPT) the filesystem
type (MSDOS) is not a unique selector.
Adapt MD parts to changes in get_fs_part_type (pass partition type).
If a fictious label has no RAW_PART assume there is no valid disk label.
Pass proper track size when initializing the default alignment - this is
important with sunlabels.
Fix overlapping partitions display
Reject (what we consider) empty/invalid fake disklabels no matter whether
we have other partitioning schemes available or not.
Do not show disklabel command invocation by default (only if there are
errors).
After installing boot blocks with RUN_NO_CLEAR (and handling the
potential errors) make sure to clear the stdscreen.
 1.7 26-Apr-2025  tsutsui Remove obsolete MD 'PART_(ROOT|SWAP|BSD|RAW|USR|REST|FIRST_FREE)' defines.

Patch from Miod Vallat.
 1.6 16-Jun-2022  tsutsui branches: 1.6.4;
Define DEFSWAPSIZE properly. DEFSWAPRAM seems obsolete.
 1.5 02-Oct-2019  maya Split out /rescue to its own set and adapt installers/images to add it.

This is meant to make updates safer: if something goes wrong with updating
base, we still have the old, standalone /rescue to recover from.
 1.4 16-Nov-2018  martin branches: 1.4.2;
Sync install size estimates with current reality
 1.3 07-Nov-2018  martin Unify handling of CDROM device names.
Skip CDs when looking for install targets (we do not support installing
onto a blueray with UDF).

Fix search for the default CDROM device and the CD we booted from
for ports with nonstandard CDROM device names.
 1.2 05-Nov-2018  martin Get rid of hard coded disk names and use sysctl hw.disknames
instead.
 1.1 26-Jul-2014  dholland branches: 1.1.2; 1.1.6; 1.1.26; 1.1.28;
Move sysinst sources to usr.sbin.

This commit only physically moves the sources - there are no other
changes, to maximize the probability that this will be treated as a
rename if we ever do manage to migrate away from CVS.

Moving sysinst has been discussed on and off for years and has two
goals: making it easier to work on sysinst, and also making sysinst
available on running systems for use installing chroots and VM images
and other such things. None of the latter is possible yet, but as they
say, one thing at a time.

Doing this now was approved in an impromptu fashion by mrg, riz,
riastradh, me, and groo.
 1.1.28.2 13-Apr-2020  martin Mostly merge changes from HEAD upto 20200411
 1.1.28.1 10-Jun-2019  christos Sync with HEAD
 1.1.26.1 26-Nov-2018  pgoyette Sync with HEAD, resolve a couple of conflicts
 1.1.6.2 20-Aug-2014  tls Rebase to HEAD as of a few days ago.
 1.1.6.1 26-Jul-2014  tls file md.h was added on branch tls-maxphys on 2014-08-20 00:05:15 +0000
 1.1.2.2 10-Aug-2014  tls Rebase.
 1.1.2.1 26-Jul-2014  tls file md.h was added on branch tls-earlyentropy on 2014-08-10 07:00:25 +0000
 1.4.2.1 17-Nov-2019  martin Pull up following revision(s) (requested by maya in ticket #435):

distrib/sets/maketars: revision 1.90
usr.sbin/sysinst/arch/playstation2/md.h: revision 1.2
usr.sbin/sysinst/arch/sandpoint/md.h: revision 1.3
usr.sbin/sysinst/arch/evbppc/md.h: revision 1.3
usr.sbin/sysinst/arch/hpcarm/md.h: revision 1.3
usr.sbin/sysinst/arch/mvme68k/md.h: revision 1.3
distrib/sun3/MakeInstTape: revision 1.3
usr.sbin/sysinst/util.c: revision 1.33
distrib/sets/lists/rescue/mi: revision 1.1
distrib/sets/lists/base/rescue.sun2: file removal
usr.sbin/sysinst/arch/zaurus/md.h: revision 1.3
distrib/sets/lists/base/rescue.ad.m68k.shl: file removal
distrib/sets/regpkgset: revision 1.13
usr.sbin/sysinst/arch/i386/md.h: revision 1.7
distrib/sets/lists/base/rescue.sparc: file removal
distrib/notes/mvme68k/xfer: revision 1.19
distrib/sets/sets.subr: revision 1.187
distrib/common/bootimage/Makefile.bootimage: revision 1.22
usr.sbin/sysinst/msg.mi.de: revision 1.16
usr.sbin/sysinst/arch/atari/md.h: revision 1.3
rescue/Makefile: revision 1.38
distrib/sets/lists/base/rescue.macppc: file removal
usr.sbin/sysinst/arch/arc/md.h: revision 1.4
distrib/miniroot/install.sub: revision 1.49
usr.sbin/sysinst/arch/acorn32/md.h: revision 1.3
usr.sbin/sysinst/arch/x68k/md.h: revision 1.3
usr.sbin/sysinst/arch/hpcmips/md.h: revision 1.3
usr.sbin/sysinst/arch/bebox/md.h: revision 1.3
usr.sbin/sysinst/arch/hpcsh/md.h: revision 1.2
distrib/sets/lists/base/rescue.shark: file removal
usr.sbin/sysinst/arch/emips/md.h: revision 1.5
distrib/utils/embedded/mkimage: revision 1.70
usr.sbin/sysinst/arch/shark/md.h: revision 1.3
usr.sbin/sysinst/arch/pmax/md.h: revision 1.4
usr.sbin/sysinst/arch/amiga/md.h: revision 1.4
usr.sbin/sysinst/arch/hp300/md.h: revision 1.5
rescue/list.ldconfig: file removal
distrib/sets/lists/base/rescue.ad.m68k: file removal
usr.sbin/sysinst/arch/prep/md.h: revision 1.4
usr.sbin/sysinst/arch/cats/md.h: revision 1.4
usr.sbin/sysinst/arch/amd64/md.h: revision 1.7
usr.sbin/sysinst/msg.mi.es: revision 1.17
usr.sbin/sysinst/msg.mi.fr: revision 1.20
usr.sbin/sysinst/msg.mi.pl: revision 1.23
distrib/sets/lists/base/rescue.i386: file removal
usr.sbin/sysinst/arch/evbarm/md.h: revision 1.3
distrib/sets/lists/base/rescue.vax: file removal
distrib/amd64/uefi-installimage/Makefile.bootimage: revision 1.12
usr.sbin/sysinst/arch/evbmips/md.h: revision 1.3
distrib/sets/lists/base/rescue.mi: file removal
distrib/sets/README: revision 1.14
usr.sbin/sysinst/arch/sgimips/md.h: revision 1.4
distrib/sets/lists/base/rescue.sparc64: file removal
distrib/sets/lists/base/rescue.mi: revision 1.45
distrib/sets/lists/base/rescue.mi: revision 1.46
usr.sbin/sysinst/arch/ofppc/md.h: revision 1.4
usr.sbin/sysinst/arch/cobalt/md.h: revision 1.4
distrib/sets/lists/base/rescue.ad.arm: file removal
distrib/sets/lists/base/rescue.mac68k: file removal
usr.sbin/sysinst/defs.h: revision 1.45
usr.sbin/sysinst/arch/landisk/md.h: revision 1.2
distrib/notes/atari/xfer: revision 1.17
etc/Makefile: revision 1.441
usr.sbin/sysinst/msg.mi.en: revision 1.22
distrib/sun2/MakeInstTape: revision 1.2

Remove ldconfig from /rescue, and mark it MI obsolete.
- ldconfig in netbsd refers to a.out binaries only. We've been ELF-only
since NetBSD 2.0 or so, and having it in /rescue served little purpose
even before that, as /rescue is standalone.
- Using MI obsolete to avoid the need for MD set lists where ldconfig
is the sole entry

Mark /rescue/edlabel as MI-obsolete, so we can remove all remaining MD
rescue set list files.

Split out /rescue to its own set and adapt installers/images to add it.

This is meant to make updates safer: if something goes wrong with updating
base, we still have the old, standalone /rescue to recover from.
 1.6.4.1 02-Aug-2025  perseant Sync with HEAD
 1.1 26-Jul-2014  dholland branches: 1.1.2; 1.1.6;
Move sysinst sources to usr.sbin.

This commit only physically moves the sources - there are no other
changes, to maximize the probability that this will be treated as a
rename if we ever do manage to migrate away from CVS.

Moving sysinst has been discussed on and off for years and has two
goals: making it easier to work on sysinst, and also making sysinst
available on running systems for use installing chroots and VM images
and other such things. None of the latter is possible yet, but as they
say, one thing at a time.

Doing this now was approved in an impromptu fashion by mrg, riz,
riastradh, me, and groo.
 1.1.6.2 20-Aug-2014  tls Rebase to HEAD as of a few days ago.
 1.1.6.1 26-Jul-2014  tls file menus.md.en was added on branch tls-maxphys on 2014-08-20 00:05:15 +0000
 1.1.2.2 10-Aug-2014  tls Rebase.
 1.1.2.1 26-Jul-2014  tls file menus.md.en was added on branch tls-earlyentropy on 2014-08-10 07:00:25 +0000
 1.1 26-Jul-2014  dholland branches: 1.1.2; 1.1.6;
Move sysinst sources to usr.sbin.

This commit only physically moves the sources - there are no other
changes, to maximize the probability that this will be treated as a
rename if we ever do manage to migrate away from CVS.

Moving sysinst has been discussed on and off for years and has two
goals: making it easier to work on sysinst, and also making sysinst
available on running systems for use installing chroots and VM images
and other such things. None of the latter is possible yet, but as they
say, one thing at a time.

Doing this now was approved in an impromptu fashion by mrg, riz,
riastradh, me, and groo.
 1.1.6.2 20-Aug-2014  tls Rebase to HEAD as of a few days ago.
 1.1.6.1 26-Jul-2014  tls file menus.md.es was added on branch tls-maxphys on 2014-08-20 00:05:15 +0000
 1.1.2.2 10-Aug-2014  tls Rebase.
 1.1.2.1 26-Jul-2014  tls file menus.md.es was added on branch tls-earlyentropy on 2014-08-10 07:00:25 +0000
 1.1 26-Jul-2014  dholland branches: 1.1.2; 1.1.6;
Move sysinst sources to usr.sbin.

This commit only physically moves the sources - there are no other
changes, to maximize the probability that this will be treated as a
rename if we ever do manage to migrate away from CVS.

Moving sysinst has been discussed on and off for years and has two
goals: making it easier to work on sysinst, and also making sysinst
available on running systems for use installing chroots and VM images
and other such things. None of the latter is possible yet, but as they
say, one thing at a time.

Doing this now was approved in an impromptu fashion by mrg, riz,
riastradh, me, and groo.
 1.1.6.2 20-Aug-2014  tls Rebase to HEAD as of a few days ago.
 1.1.6.1 26-Jul-2014  tls file menus.md.fr was added on branch tls-maxphys on 2014-08-20 00:05:15 +0000
 1.1.2.2 10-Aug-2014  tls Rebase.
 1.1.2.1 26-Jul-2014  tls file menus.md.fr was added on branch tls-earlyentropy on 2014-08-10 07:00:25 +0000
 1.1 26-Jul-2014  dholland branches: 1.1.2; 1.1.6;
Move sysinst sources to usr.sbin.

This commit only physically moves the sources - there are no other
changes, to maximize the probability that this will be treated as a
rename if we ever do manage to migrate away from CVS.

Moving sysinst has been discussed on and off for years and has two
goals: making it easier to work on sysinst, and also making sysinst
available on running systems for use installing chroots and VM images
and other such things. None of the latter is possible yet, but as they
say, one thing at a time.

Doing this now was approved in an impromptu fashion by mrg, riz,
riastradh, me, and groo.
 1.1.6.2 20-Aug-2014  tls Rebase to HEAD as of a few days ago.
 1.1.6.1 26-Jul-2014  tls file menus.md.pl was added on branch tls-maxphys on 2014-08-20 00:05:15 +0000
 1.1.2.2 10-Aug-2014  tls Rebase.
 1.1.2.1 26-Jul-2014  tls file menus.md.pl was added on branch tls-earlyentropy on 2014-08-10 07:00:25 +0000
 1.1 26-Jul-2014  dholland branches: 1.1.2; 1.1.6;
Move sysinst sources to usr.sbin.

This commit only physically moves the sources - there are no other
changes, to maximize the probability that this will be treated as a
rename if we ever do manage to migrate away from CVS.

Moving sysinst has been discussed on and off for years and has two
goals: making it easier to work on sysinst, and also making sysinst
available on running systems for use installing chroots and VM images
and other such things. None of the latter is possible yet, but as they
say, one thing at a time.

Doing this now was approved in an impromptu fashion by mrg, riz,
riastradh, me, and groo.
 1.1.6.2 20-Aug-2014  tls Rebase to HEAD as of a few days ago.
 1.1.6.1 26-Jul-2014  tls file msg.md.de was added on branch tls-maxphys on 2014-08-20 00:05:15 +0000
 1.1.2.2 10-Aug-2014  tls Rebase.
 1.1.2.1 26-Jul-2014  tls file msg.md.de was added on branch tls-earlyentropy on 2014-08-10 07:00:25 +0000
 1.1 26-Jul-2014  dholland branches: 1.1.2; 1.1.6;
Move sysinst sources to usr.sbin.

This commit only physically moves the sources - there are no other
changes, to maximize the probability that this will be treated as a
rename if we ever do manage to migrate away from CVS.

Moving sysinst has been discussed on and off for years and has two
goals: making it easier to work on sysinst, and also making sysinst
available on running systems for use installing chroots and VM images
and other such things. None of the latter is possible yet, but as they
say, one thing at a time.

Doing this now was approved in an impromptu fashion by mrg, riz,
riastradh, me, and groo.
 1.1.6.2 20-Aug-2014  tls Rebase to HEAD as of a few days ago.
 1.1.6.1 26-Jul-2014  tls file msg.md.en was added on branch tls-maxphys on 2014-08-20 00:05:15 +0000
 1.1.2.2 10-Aug-2014  tls Rebase.
 1.1.2.1 26-Jul-2014  tls file msg.md.en was added on branch tls-earlyentropy on 2014-08-10 07:00:25 +0000
 1.1 26-Jul-2014  dholland branches: 1.1.2; 1.1.6;
Move sysinst sources to usr.sbin.

This commit only physically moves the sources - there are no other
changes, to maximize the probability that this will be treated as a
rename if we ever do manage to migrate away from CVS.

Moving sysinst has been discussed on and off for years and has two
goals: making it easier to work on sysinst, and also making sysinst
available on running systems for use installing chroots and VM images
and other such things. None of the latter is possible yet, but as they
say, one thing at a time.

Doing this now was approved in an impromptu fashion by mrg, riz,
riastradh, me, and groo.
 1.1.6.2 20-Aug-2014  tls Rebase to HEAD as of a few days ago.
 1.1.6.1 26-Jul-2014  tls file msg.md.es was added on branch tls-maxphys on 2014-08-20 00:05:15 +0000
 1.1.2.2 10-Aug-2014  tls Rebase.
 1.1.2.1 26-Jul-2014  tls file msg.md.es was added on branch tls-earlyentropy on 2014-08-10 07:00:25 +0000
 1.1 26-Jul-2014  dholland branches: 1.1.2; 1.1.6;
Move sysinst sources to usr.sbin.

This commit only physically moves the sources - there are no other
changes, to maximize the probability that this will be treated as a
rename if we ever do manage to migrate away from CVS.

Moving sysinst has been discussed on and off for years and has two
goals: making it easier to work on sysinst, and also making sysinst
available on running systems for use installing chroots and VM images
and other such things. None of the latter is possible yet, but as they
say, one thing at a time.

Doing this now was approved in an impromptu fashion by mrg, riz,
riastradh, me, and groo.
 1.1.6.2 20-Aug-2014  tls Rebase to HEAD as of a few days ago.
 1.1.6.1 26-Jul-2014  tls file msg.md.fr was added on branch tls-maxphys on 2014-08-20 00:05:15 +0000
 1.1.2.2 10-Aug-2014  tls Rebase.
 1.1.2.1 26-Jul-2014  tls file msg.md.fr was added on branch tls-earlyentropy on 2014-08-10 07:00:25 +0000
 1.1 26-Jul-2014  dholland branches: 1.1.2; 1.1.6;
Move sysinst sources to usr.sbin.

This commit only physically moves the sources - there are no other
changes, to maximize the probability that this will be treated as a
rename if we ever do manage to migrate away from CVS.

Moving sysinst has been discussed on and off for years and has two
goals: making it easier to work on sysinst, and also making sysinst
available on running systems for use installing chroots and VM images
and other such things. None of the latter is possible yet, but as they
say, one thing at a time.

Doing this now was approved in an impromptu fashion by mrg, riz,
riastradh, me, and groo.
 1.1.6.2 20-Aug-2014  tls Rebase to HEAD as of a few days ago.
 1.1.6.1 26-Jul-2014  tls file msg.md.pl was added on branch tls-maxphys on 2014-08-20 00:05:15 +0000
 1.1.2.2 10-Aug-2014  tls Rebase.
 1.1.2.1 26-Jul-2014  tls file msg.md.pl was added on branch tls-earlyentropy on 2014-08-10 07:00:25 +0000
 1.3 28-May-2020  jmcneill Set HAVE_INSTALL_IMAGE for evbarm
 1.2 12-Jun-2019  martin branches: 1.2.2;
Rework internal data structures and "interfaces to user interface" functions
to get rid of all disklabel assumptions.

Previously (even for GPT partitioning) struct disklabel was used, which
obviously breaks large disk setups. Also many MD parts and parts of the
user interface assumed (a) a struct disklabel is used internally to
store partitioning information and (b) partitions are named 'a' ... $MAXPART.

Get rid of this and replace it with a quite abstract interface that should
be able to deal with all variants in partition storage:

- partitions are stored in a (partly abstract) struct disk_partitions
and most parts of it are only accessed via accessor functions provided
by a "partitioning scheme".

- implement partitioning schemes for MBR, disklabel and GPT (with likely
RDB [amiga] and Apple Partition Map [mac*] to follow soon)

- partitioning schemes may be cascaded, e.g. on x86 when using MBR as
"outer partitions", we have disklabel as "inner partitions".

- all user interface goes via accessor functions in the partitioning scheme,
some of which return pointers to special user interface descriptors
(e.g. to allow editing partition flags, which are scheme specific)

Overall the user interface changes (in this initial step) are minimal but
noticable. A new Anita is needed for automatic test setups - many thanks
to Andreas Gustafsson for lots of early testing and a new Anita version,
and to Manuel Bouyer for cooperation and tests of the Anita release.

This work was sponsored by The NetBSD Foundation, Inc.
 1.1 26-Jul-2014  dholland branches: 1.1.2; 1.1.6; 1.1.28;
Move sysinst sources to usr.sbin.

This commit only physically moves the sources - there are no other
changes, to maximize the probability that this will be treated as a
rename if we ever do manage to migrate away from CVS.

Moving sysinst has been discussed on and off for years and has two
goals: making it easier to work on sysinst, and also making sysinst
available on running systems for use installing chroots and VM images
and other such things. None of the latter is possible yet, but as they
say, one thing at a time.

Doing this now was approved in an impromptu fashion by mrg, riz,
riastradh, me, and groo.
 1.1.28.1 13-Apr-2020  martin Mostly merge changes from HEAD upto 20200411
 1.1.6.2 20-Aug-2014  tls Rebase to HEAD as of a few days ago.
 1.1.6.1 26-Jul-2014  tls file Makefile was added on branch tls-maxphys on 2014-08-20 00:05:15 +0000
 1.1.2.2 10-Aug-2014  tls Rebase.
 1.1.2.1 26-Jul-2014  tls file Makefile was added on branch tls-earlyentropy on 2014-08-10 07:00:25 +0000
 1.2.2.1 15-Oct-2020  bouyer Pull up following revision(s) (requested by martin in ticket #1113):
usr.sbin/sysinst/bsddisklabel.c: revision 1.46
usr.sbin/sysinst/bsddisklabel.c: revision 1.47
usr.sbin/sysinst/disklabel.c: revision 1.40
usr.sbin/sysinst/arch/cobalt/md.c: revision 1.13
usr.sbin/sysinst/bsddisklabel.c: revision 1.48
usr.sbin/sysinst/disklabel.c: revision 1.41
usr.sbin/sysinst/arch/cobalt/md.c: revision 1.14
usr.sbin/sysinst/bsddisklabel.c: revision 1.49
usr.sbin/sysinst/disklabel.c: revision 1.42
usr.sbin/sysinst/Makefile.inc: revision 1.34
usr.sbin/sysinst/disks.c: revision 1.70
usr.sbin/sysinst/arch/hp300/md.c: revision 1.11
usr.sbin/sysinst/disks.c: revision 1.71
usr.sbin/sysinst/arch/i386/md.h: revision 1.8
usr.sbin/sysinst/arch/arc/md.c: revision 1.13
usr.sbin/sysinst/mbr.h: revision 1.5
usr.sbin/sysinst/mbr.h: revision 1.6
usr.sbin/sysinst/arch/mac68k/md.c: revision 1.10
usr.sbin/sysinst/bsddisklabel.c: revision 1.50
usr.sbin/sysinst/arch/acorn32/md.c: revision 1.7
usr.sbin/sysinst/bsddisklabel.c: revision 1.51
usr.sbin/sysinst/bsddisklabel.c: revision 1.52
usr.sbin/sysinst/bsddisklabel.c: revision 1.53
usr.sbin/sysinst/bsddisklabel.c: revision 1.54
usr.sbin/sysinst/bsddisklabel.c: revision 1.55
usr.sbin/sysinst/bsddisklabel.c: revision 1.56
usr.sbin/sysinst/arch/dummy/md.c: revision 1.6
usr.sbin/sysinst/arch/amd64/md.h: revision 1.9
usr.sbin/sysinst/arch/evbsh3/md.c: revision 1.6
usr.sbin/sysinst/arch/sparc/md.c: revision 1.6
usr.sbin/sysinst/arch/zaurus/md.c: revision 1.10
usr.sbin/sysinst/arch/x68k/md.c: revision 1.11
usr.sbin/sysinst/arch/sandpoint/md.c: revision 1.9
usr.sbin/sysinst/arch/vax/md.c: revision 1.7
usr.sbin/sysinst/arch/luna68k/md.c: revision 1.9
usr.sbin/sysinst/gpt.c: revision 1.19
usr.sbin/sysinst/arch/i386/md.c: revision 1.31
usr.sbin/sysinst/arch/i386/md.c: revision 1.32
usr.sbin/sysinst/arch/evbarm/md.c: revision 1.17
usr.sbin/sysinst/arch/evbarm/md.c: revision 1.18
usr.sbin/sysinst/arch/evbarm/md.c: revision 1.19
usr.sbin/sysinst/arch/shark/md.c: revision 1.6
usr.sbin/sysinst/arch/landisk/md.c: revision 1.14
usr.sbin/sysinst/util.c: revision 1.43
usr.sbin/sysinst/gpt.c: revision 1.20
usr.sbin/sysinst/util.c: revision 1.44
usr.sbin/sysinst/gpt.c: revision 1.21
usr.sbin/sysinst/gpt.c: revision 1.22
usr.sbin/sysinst/arch/evbarm/msg.md.en: revision 1.2
usr.sbin/sysinst/arch/ofppc/md.c: revision 1.11
usr.sbin/sysinst/util.c: revision 1.46
usr.sbin/sysinst/arch/ofppc/md.c: revision 1.12
usr.sbin/sysinst/util.c: revision 1.47
usr.sbin/sysinst/arch/evbarm/md.h: revision 1.6
usr.sbin/sysinst/util.c: revision 1.48
usr.sbin/sysinst/arch/evbarm/md.h: revision 1.7
usr.sbin/sysinst/arch/evbmips/md.c: revision 1.9
usr.sbin/sysinst/msg.mi.fr: revision 1.28
usr.sbin/sysinst/msg.mi.fr: revision 1.29
usr.sbin/sysinst/arch/sgimips/md.c: revision 1.9
usr.sbin/sysinst/arch/evbarm/Makefile: revision 1.3
usr.sbin/sysinst/msg.mi.de: revision 1.23
usr.sbin/sysinst/arch/hpcsh/md.c: revision 1.10
usr.sbin/sysinst/msg.mi.de: revision 1.24
usr.sbin/sysinst/install.c: revision 1.15
usr.sbin/sysinst/install.c: revision 1.16
usr.sbin/sysinst/arch/sparc64/md.c: revision 1.6
usr.sbin/sysinst/install.c: revision 1.17
usr.sbin/sysinst/install.c: revision 1.18
usr.sbin/sysinst/partitions.h: revision 1.16
usr.sbin/sysinst/install.c: revision 1.19
usr.sbin/sysinst/partitions.h: revision 1.17
usr.sbin/sysinst/arch/evbppc/md.c: revision 1.9
usr.sbin/sysinst/arch/playstation2/md.c: revision 1.9
usr.sbin/sysinst/partitions.h: revision 1.18
usr.sbin/sysinst/arch/hpcarm/md.c: revision 1.9
usr.sbin/sysinst/partitions.h: revision 1.19
usr.sbin/sysinst/msg.mi.es: revision 1.24
usr.sbin/sysinst/msg.mi.es: revision 1.25
usr.sbin/sysinst/msg.mi.es: revision 1.26
usr.sbin/sysinst/arch/zaurus/md.c: revision 1.9
usr.sbin/sysinst/target.c: revision 1.13
usr.sbin/sysinst/target.c: revision 1.14
usr.sbin/sysinst/part_edit.c: revision 1.17
usr.sbin/sysinst/part_edit.c: revision 1.18
usr.sbin/sysinst/msg.mi.fr: revision 1.30
usr.sbin/sysinst/arch/mvme68k/md.c: revision 1.11
usr.sbin/sysinst/part_edit.c: revision 1.19
usr.sbin/sysinst/msg.mi.fr: revision 1.31
usr.sbin/sysinst/arch/alpha/md.c: revision 1.9
usr.sbin/sysinst/msg.mi.en: revision 1.30
usr.sbin/sysinst/defs.h: revision 1.56
usr.sbin/sysinst/msg.mi.en: revision 1.31
usr.sbin/sysinst/defs.h: revision 1.57
usr.sbin/sysinst/msg.mi.en: revision 1.32
usr.sbin/sysinst/arch/amiga/md.c: revision 1.6
usr.sbin/sysinst/arch/hpcmips/md.c: revision 1.9
usr.sbin/sysinst/defs.h: revision 1.58
usr.sbin/sysinst/arch/cats/md.c: revision 1.5
usr.sbin/sysinst/defs.h: revision 1.59
usr.sbin/sysinst/arch/newsmips/md.c: revision 1.6
usr.sbin/sysinst/arch/pmax/md.c: revision 1.8
usr.sbin/sysinst/arch/mipsco/md.c: revision 1.8
usr.sbin/sysinst/part_edit.c: revision 1.20
usr.sbin/sysinst/part_edit.c: revision 1.21
usr.sbin/sysinst/arch/macppc/md.c: revision 1.6
usr.sbin/sysinst/part_edit.c: revision 1.22
usr.sbin/sysinst/part_edit.c: revision 1.23
usr.sbin/sysinst/part_edit.c: revision 1.24
usr.sbin/sysinst/defs.h: revision 1.60
usr.sbin/sysinst/arch/mac68k/Makefile: revision 1.3
usr.sbin/sysinst/defs.h: revision 1.61
usr.sbin/sysinst/defs.h: revision 1.63
usr.sbin/sysinst/defs.h: revision 1.64
usr.sbin/sysinst/defs.h: revision 1.65
usr.sbin/sysinst/label.c: revision 1.21
usr.sbin/sysinst/defs.h: revision 1.66
usr.sbin/sysinst/label.c: revision 1.22
usr.sbin/sysinst/defs.h: revision 1.67
usr.sbin/sysinst/label.c: revision 1.23
usr.sbin/sysinst/label.c: revision 1.24
usr.sbin/sysinst/label.c: revision 1.25
usr.sbin/sysinst/label.c: revision 1.26
usr.sbin/sysinst/label.c: revision 1.27
usr.sbin/sysinst/msg.mi.pl: revision 1.31
usr.sbin/sysinst/label.c: revision 1.28
usr.sbin/sysinst/msg.mi.pl: revision 1.32
usr.sbin/sysinst/label.c: revision 1.29
usr.sbin/sysinst/arch/atari/md.c: revision 1.7
usr.sbin/sysinst/disklabel.c: revision 1.36
usr.sbin/sysinst/disklabel.c: revision 1.37
usr.sbin/sysinst/disklabel.c: revision 1.38
usr.sbin/sysinst/disklabel.c: revision 1.39
usr.sbin/sysinst/arch/bebox/md.c: revision 1.9
usr.sbin/sysinst/mbr.c: revision 1.32
usr.sbin/sysinst/disks.c: revision 1.66
usr.sbin/sysinst/mbr.c: revision 1.33
usr.sbin/sysinst/disks.c: revision 1.67
usr.sbin/sysinst/mbr.c: revision 1.34
usr.sbin/sysinst/arch/emips/md.c: revision 1.9
usr.sbin/sysinst/disks.c: revision 1.68
usr.sbin/sysinst/partitions.c: revision 1.11
usr.sbin/sysinst/mbr.c: revision 1.35
usr.sbin/sysinst/disks.c: revision 1.69
usr.sbin/sysinst/mbr.c: revision 1.36
usr.sbin/sysinst/arch/hppa/md.c: revision 1.8
usr.sbin/sysinst/arch/prep/md.c: revision 1.13
usr.sbin/sysinst/label.c: revision 1.30
usr.sbin/sysinst/arch/ews4800mips/md.c: revision 1.7
usr.sbin/sysinst/main.c: revision 1.21
usr.sbin/sysinst/main.c: revision 1.22
usr.sbin/sysinst/main.c: revision 1.23
usr.sbin/sysinst/bsddisklabel.c: revision 1.40
usr.sbin/sysinst/main.c: revision 1.24
usr.sbin/sysinst/arch/cobalt/md.h: revision 1.6
usr.sbin/sysinst/bsddisklabel.c: revision 1.41
usr.sbin/sysinst/main.c: revision 1.25
usr.sbin/sysinst/arch/news68k/md.c: revision 1.7
usr.sbin/sysinst/bsddisklabel.c: revision 1.42
usr.sbin/sysinst/bsddisklabel.c: revision 1.43
usr.sbin/sysinst/bsddisklabel.c: revision 1.44
usr.sbin/sysinst/bsddisklabel.c: revision 1.45
Use strlcpy in a few places to guarnatee 0-terminated strings
Rever previous: the d_packname in struct disklabel is not NUL terminated.
Disable the warning instead.
Do not force -Os optimization (unless SMALLPROG)
Remove unused "rel" global variable and make the -r option a no-op.
PR 55045: strlcpy(NULL, ..., 0) considered harmfull in some implementations.
PR misc/54886: bump threshold for automatic/default creation of a tmpfs /tmp
up slightly (to 384 MB ram). This will make sure the default install has
a > 64 MB /tmp available (number pulled out of thin air, 64 MB is the minimum
required by the ZFS tests).
Don't depend on common symbol definitions.
boardype should not be common.
Redo the root-size-limit check again after we grew the root partition
for kernel dumps. Auto-enable the /usr partition if it overflows.
For all non-root partitions, default to FFSv2.
When extending a partition (to fill the total disk size) do respect
size limits.
Do not suggest a size limited partition for extension by default.
Minor tweak to previous: when forcing a /usr partition just to have an
arbitrary extendable partition, still use its default size initially.
At the end of a new installation save entropy.
Ooops, backout previous - twice the entropy saving is not needed.
Instead slightly improve the (slightly) hidden other code that already
did it.
PR 55202: disable swapping if we started it due to low ram
it's "its"
Remove "If you booted from a floppy" message
Set HAVE_INSTALL_IMAGE for evbarm
Change mountpoint of boot ext2fs from /stand to /ext2 to avoid conflict.
Should be pulled up to netbsd-9, with fixes of PR/55060.
MBR type for Ext2 should be MBR_PTYPE_LNXEXT2, not MBR_PTYPE_FAT12.
Silence -Wstringop-truncation for ``name'' in disp_selected_part().
This variable is used only for display, and truncation seems harmless.
PR 55572: avoid crash when answering the mount point prompt for a previously
empty mount point with an emptry sting.
When adding a new partition in the concrete partition editor, make sure
to set a pointer to the partition table interface in the new entry.
Otherwise we may end up not writing back the partitions at all, leading
to further fallout later.
Receipe to reproduce the issue from Frederic Fauberteau, thanks!
In the concrete partitions editor, after deleting the last partition move
the menu selection to the "add a partition" entry (instead of the sentinel
line which is not an active menu entry).
Typo in comment
Keep a list of all partition tables from which we have deleted partitions
and make sure we update those partition tables when writing partitions,
even if no install related partition remains on them.
Fix display of timezone selection menu
If there is no current partitioning manager assume we are editing the
current system and make target_already_root() return true.
Fixes various fallout when using sysinst post installation.
PR 55377: mark boot partitions in the partition size display, as suggested
by Izumi Tsutsui (minor modifications + all bugs by me)
PR 55378: do not assume RAW_PART to be either 2 or 3
PR 55379: avoid creating bogus /etc/fstab lines for /dev/cd* if no
cdrom is available.
PR 55381: try to deal with moved (but not yet saved) partitions when
calculating free space
Apply patch provided by Izumi Tsutsui in PR 55382: make ext2 partitions
show up in the outer (MBR) partition table, needed for example on Cobalt
where firmware boots from that partition.
PR 55384: detangle pm->ptstart from the "install" flag (selecting a
target partition). Instead introduce a new PTI_INSTALL_TARGET per partition
flag and deal with it in the partitioning backends.
Honour pm->ptstart when allocating new partitions - it is supposed to be
the first sector usable by NetBSD.
If we have no explicitly marke target root partition, make sure to set
the proper flag on the implicit one.
When merging existing partitions with desired target system layout
information, only force the "mount" flag if the existing partitions
has a valid mount point.
Add a heuristic to detect and properly mark EFI system partitions
when re-using pre-existing partitions.
When MD code requests a reserved area (at the start of the disk)
make sure to properly account for the "lost" space during all calculations
and especially when expanding the main partition to fill the disk.
Avoid using the global "pm" or a passed device descriptons when we are
passing disk limits explicitly anyway.
Simplify/fix a few rounding calculations.
When creating new partitions for "full disk" use, pass a install target
hint to the partitioning backend (for the outer NetBSD partition).
Use an install target hint to mark a new partition active.
When compiled with BOOTSEL support, also name the new partition "NetBSD".
Remove more pm->ptstart abuse - calculate values localy where needed
instead.
Fix editing start and size of not yet existing outer partitions.
Previously we abused pm->ptstart / pm->ptsize to pass the bounds of the
NetBSD outer partition to the inner partition editor - but now this is
not a valid assumption any more, so explicitly fix the bounds if an
outer partition exists.
Remove very strange code that special-cased MSDOS file systems and refused
to newfs the partition (despite explicit request to do so) if it was
mountable.
Accidently carried over from a dim and distant past, before we had
fsck_newfs.
PR 55536: when we find existing partition tables and have alternative
formats available, offer to delete partitions and create new ones from
scratch (in some other or the same on-disk format).
Minor fix to previous: fix condition when we offer the partition type
switch - it makes sense even if the disk is partitioned but has no valid
partitions.
Before forcing MBR partitions into our disklabel, make sure they are not
there yet - could happen in various paths when reusing existing partitions
(or parts of that) - previously we would blindly duplicate identical
partitions.
Ooops, part of previous was not meant to be included yet
When renumbering partitions (after deletions) be slightly more lax
in matching, to cope with differences between MBR EFI partitions and
disklabel MSDOS partitions.
PR 55142: on popular demand bring back expert options to adjust the
number of free inodes, block size and fragment size for FFS and LFS.
Fix copy & pasto noticed by Jason Mitchell: change the type of a GPT
partition via "gpt type" - not "gpt label".
Fix copy & pasto (missing "again" label)
Remove dead code
Move MBR writing (if any) post disklabel writing, otherwise strange
interactions happen.
Properly convert partition default sizes in MB to number of sectors
 1.23 24-Feb-2025  andvar s/architecure/architecture/ and few other typos in comments.
 1.22 29-Jan-2022  martin branches: 1.22.4;
When upgrading, update the boot code post extraction from
the updated target file system.
 1.21 09-May-2021  martin Keep MSDOS partition size and subtype consistent - some u-boot are picky.
 1.20 28-Nov-2020  jmcneill branches: 1.20.2;
Make sure the kernel set is selected, even if extracting parts of it
manually.
 1.19 14-Oct-2020  martin Properly convert partition default sizes in MB to number of sectors
 1.18 14-Oct-2020  martin Move MBR writing (if any) post disklabel writing, otherwise strange
interactions happen.
 1.17 12-Oct-2020  martin PR 55536: when we find existing partition tables and have alternative
formats available, offer to delete partitions and create new ones from
scratch (in some other or the same on-disk format).
 1.16 29-May-2020  jmcneill DTB are no longer part of kernel set
 1.15 29-Jan-2020  martin Do not compare a char array to NULL, test for empty string instead.
 1.14 27-Jan-2020  martin Fix support for non-512-byte/sector disks again after I broke it when
introducing the abstract partition backends.
 1.13 20-Jan-2020  martin First try to bring evbarm installation closer to current reality.
 1.12 09-Jan-2020  martin Instead of a (bogus) attempt to query the model via ofctl, use the (now
fixed) sysctl hw.model instead.
 1.11 09-Jan-2020  martin Finish conversion of extended partitioning parts to new abstract
backend interface. XXX still could use a lot of polishing.
 1.10 11-Dec-2019  martin Get rid of the evbarm preliminary menu: do not bother to ask the user
whether this is a RPi - query the FDT instead.
 1.9 14-Aug-2019  martin When we ask the user to select a partitioning scheme and they refuse
(that is: select "Exit" in the menu), abort installation.
 1.8 13-Jul-2019  martin branches: 1.8.2;
We may call md_pre_mount() multiple times for the same install set,
so pass an additional index argument so MD code knows which part
of the install will be mounted next.
 1.7 13-Jun-2019  martin In the new world order disks may come without any partitioning scheme
attached - so the user may have to select one.
 1.6 12-Jun-2019  martin Rework internal data structures and "interfaces to user interface" functions
to get rid of all disklabel assumptions.

Previously (even for GPT partitioning) struct disklabel was used, which
obviously breaks large disk setups. Also many MD parts and parts of the
user interface assumed (a) a struct disklabel is used internally to
store partitioning information and (b) partitions are named 'a' ... $MAXPART.

Get rid of this and replace it with a quite abstract interface that should
be able to deal with all variants in partition storage:

- partitions are stored in a (partly abstract) struct disk_partitions
and most parts of it are only accessed via accessor functions provided
by a "partitioning scheme".

- implement partitioning schemes for MBR, disklabel and GPT (with likely
RDB [amiga] and Apple Partition Map [mac*] to follow soon)

- partitioning schemes may be cascaded, e.g. on x86 when using MBR as
"outer partitions", we have disklabel as "inner partitions".

- all user interface goes via accessor functions in the partitioning scheme,
some of which return pointers to special user interface descriptors
(e.g. to allow editing partition flags, which are scheme specific)

Overall the user interface changes (in this initial step) are minimal but
noticable. A new Anita is needed for automatic test setups - many thanks
to Andreas Gustafsson for lots of early testing and a new Anita version,
and to Manuel Bouyer for cooperation and tests of the Anita release.

This work was sponsored by The NetBSD Foundation, Inc.
 1.5 14-Dec-2017  skrll branches: 1.5.4;
Fix RPI kernel file after FDTisation.

From Harold Gutch
 1.4 10-May-2015  martin Backout the previous incorrect fix for PR 49440 and redo it more globaly:
get rid of the global "yesno", introduce utility functions "ask_yesno()"
and "ask_noyes()" instead, greatly simplifying a lot of code.
Pass in a pointer to the return value to various "set source" menus.
 1.3 12-Mar-2015  joerg Boot partition as FAT32 doesn't really make sense, so don't force
the MBR to lie and allow FAT16 too.
 1.2 03-Aug-2014  martin branches: 1.2.2; 1.2.4; 1.2.6;
(Finally) merge a slightly modified version of the 2012 GSoC results
from Eugene Lozovoy: add extended partitioning options to sysinst.
Still needs some testing and polishing, but it now is possible to use GPT
or to create a RAID set from scratch and install onto it.
 1.1 26-Jul-2014  dholland Move sysinst sources to usr.sbin.

This commit only physically moves the sources - there are no other
changes, to maximize the probability that this will be treated as a
rename if we ever do manage to migrate away from CVS.

Moving sysinst has been discussed on and off for years and has two
goals: making it easier to work on sysinst, and also making sysinst
available on running systems for use installing chroots and VM images
and other such things. None of the latter is possible yet, but as they
say, one thing at a time.

Doing this now was approved in an impromptu fashion by mrg, riz,
riastradh, me, and groo.
 1.2.6.2 20-Aug-2014  tls Rebase to HEAD as of a few days ago.
 1.2.6.1 03-Aug-2014  tls file md.c was added on branch tls-maxphys on 2014-08-20 00:05:15 +0000
 1.2.4.1 14-May-2015  snj Pull up following revision(s) (requested by martin in ticket #756):
usr.sbin/sysinst/arch/arc/md.c: revision 1.4
usr.sbin/sysinst/arch/atari/md.c: revision 1.3
usr.sbin/sysinst/arch/cobalt/md.c: revision 1.4
usr.sbin/sysinst/arch/emips/md.c: revision 1.3
usr.sbin/sysinst/arch/evbarm/md.c: revision 1.4
usr.sbin/sysinst/arch/evbarm64/md.c: revision 1.2
usr.sbin/sysinst/arch/hp300/md.c: revision 1.4
usr.sbin/sysinst/arch/i386/md.c: revision 1.6
usr.sbin/sysinst/arch/mac68k/md.c: revision 1.3
usr.sbin/sysinst/arch/mac68k/md.c: revision 1.4
usr.sbin/sysinst/arch/mac68k/menus.md.de: revisions 1.3, 1.4
usr.sbin/sysinst/arch/mac68k/menus.md.en: revisions 1.3, 1.4
usr.sbin/sysinst/arch/mac68k/menus.md.es: revisions 1.3, 1.4
usr.sbin/sysinst/arch/mac68k/menus.md.pl: revisions 1.3, 1.4
usr.sbin/sysinst/arch/mvme68k/md.c: revision 1.4
usr.sbin/sysinst/arch/ofppc/md.c: revision 1.3
usr.sbin/sysinst/arch/prep/md.c: revisions 1.3, 1.4
usr.sbin/sysinst/arch/prep/menus.md.en: revision 1.2
usr.sbin/sysinst/arch/x68k/md.c: revision 1.4
usr.sbin/sysinst/configmenu.c: revisions 1.4, 1.5
usr.sbin/sysinst/defs.h: revisions 1.8, 1.9
usr.sbin/sysinst/disks.c: revision 1.9
usr.sbin/sysinst/install.c: revision 1.4
usr.sbin/sysinst/label.c: revision 1.3
usr.sbin/sysinst/mbr.c: revision 1.5
usr.sbin/sysinst/menus.mi: revisions 1.9, 1.10
usr.sbin/sysinst/net.c: revisions 1.18-1.20
usr.sbin/sysinst/partman.c: revision 1.10
usr.sbin/sysinst/upgrade.c: revision 1.4
usr.sbin/sysinst/util.c: revisions 1.6, 1.7
Backout the previous incorrect fix for PR 49440 and redo it more globaly:
get rid of the global "yesno", introduce utility functions "ask_yesno()"
and "ask_noyes()" instead, greatly simplifying a lot of code.
Pass in a pointer to the return value to various "set source" menus.
--
Make it compile on architectures that do not support INET6 in sysinst
--
Remove a few more (ab-)usages of "yesno".
--
More (ab-)usages of "yesno"
--
Make "ask_yesno" and "ask_noyes" take a const char * as argument, moving
the deconst() dance into the utility functions and simplifying all callers.
--
Missed a few more "yesno" in previous
 1.2.2.2 10-Aug-2014  tls Rebase.
 1.2.2.1 03-Aug-2014  tls file md.c was added on branch tls-earlyentropy on 2014-08-10 07:00:25 +0000
 1.5.4.1 13-Apr-2020  martin Mostly merge changes from HEAD upto 20200411
 1.8.2.8 02-Feb-2022  msaitoh Pull up following revision(s) (requested by martin in ticket #1422):
usr.sbin/sysinst/util.c: revision 1.64
usr.sbin/sysinst/arch/hpcsh/md.c: revision 1.11
usr.sbin/sysinst/arch/alpha/md.c: revision 1.10
usr.sbin/sysinst/arch/sparc64/md.c: revision 1.7
usr.sbin/sysinst/arch/emips/md.c: revision 1.10
usr.sbin/sysinst/arch/cobalt/md.c: revision 1.15
usr.sbin/sysinst/arch/x68k/md.c: revision 1.12
usr.sbin/sysinst/arch/sandpoint/md.c: revision 1.10
usr.sbin/sysinst/arch/luna68k/md.c: revision 1.10
usr.sbin/sysinst/arch/hp300/md.c: revision 1.12
usr.sbin/sysinst/arch/vax/md.c: revision 1.8
usr.sbin/sysinst/arch/hpcmips/md.c: revision 1.10
usr.sbin/sysinst/target.c: revision 1.16
usr.sbin/sysinst/arch/mvme68k/md.c: revision 1.12
usr.sbin/sysinst/arch/arc/md.c: revision 1.14
usr.sbin/sysinst/target.c: revision 1.17
usr.sbin/sysinst/arch/i386/md.c: revision 1.34
usr.sbin/sysinst/arch/mac68k/md.c: revision 1.11
usr.sbin/sysinst/arch/atari/md.c: revision 1.8
usr.sbin/sysinst/arch/sgimips/md.c: revision 1.10
usr.sbin/sysinst/arch/acorn32/md.c: revision 1.8
usr.sbin/sysinst/install.c: revision 1.22
usr.sbin/sysinst/arch/amiga/md.c: revision 1.7
usr.sbin/sysinst/arch/cats/md.c: revision 1.6
usr.sbin/sysinst/arch/dummy/md.c: revision 1.7
usr.sbin/sysinst/arch/shark/md.c: revision 1.7
usr.sbin/sysinst/arch/pmax/md.c: revision 1.9
usr.sbin/sysinst/arch/newsmips/md.c: revision 1.7
usr.sbin/sysinst/arch/mipsco/md.c: revision 1.9
usr.sbin/sysinst/arch/landisk/md.c: revision 1.15
usr.sbin/sysinst/arch/hppa/md.c: revision 1.9
usr.sbin/sysinst/arch/prep/md.c: revision 1.14
usr.sbin/sysinst/defs.h: revision 1.77
usr.sbin/sysinst/arch/ofppc/md.c: revision 1.13
usr.sbin/sysinst/arch/ews4800mips/md.c: revision 1.8
usr.sbin/sysinst/defs.h: revision 1.78
usr.sbin/sysinst/arch/macppc/md.c: revision 1.7
usr.sbin/sysinst/arch/evbppc/md.c: revision 1.10
usr.sbin/sysinst/defs.h: revision 1.79
usr.sbin/sysinst/gpt.c: revision 1.27
usr.sbin/sysinst/arch/bebox/md.c: revision 1.10
usr.sbin/sysinst/gpt.c: revision 1.28
usr.sbin/sysinst/arch/sparc/md.c: revision 1.7
usr.sbin/sysinst/arch/evbsh3/md.c: revision 1.7
usr.sbin/sysinst/arch/evbarm/md.c: revision 1.22
usr.sbin/sysinst/arch/news68k/md.c: revision 1.8
usr.sbin/sysinst/upgrade.c: revision 1.19
usr.sbin/sysinst/arch/zaurus/md.c: revision 1.12
usr.sbin/sysinst/arch/playstation2/md.c: revision 1.10
usr.sbin/sysinst/arch/hpcarm/md.c: revision 1.11
usr.sbin/sysinst/arch/evbmips/md.c: revision 1.10
usr.sbin/sysinst/main.c: revision 1.28
Add an option to set the directory where we look for message catalogs.
Try to get rid of all wedges we created (after unmounting).
When upgrading, update the boot code post extraction from
the updated target file system.
Do not defer wedge deletions when we have nothing mounted.
Define and use a constant for maximum disk name length.
 1.8.2.7 12-May-2021  msaitoh Pull up following revision(s) (requested by martin in ticket #1271):
usr.sbin/sysinst/mbr.c: revision 1.39
usr.sbin/sysinst/label.c: revision 1.33
usr.sbin/sysinst/arch/evbarm/md.c: revision 1.21
For FS_MSDOS report the MBR type as fs_sub_type.
Keep MSDOS partition size and subtype consistent - some u-boot are picky.
Do not allow editing of start/size/fs-type for partitions that
are already carved in stone (e.g. defined in an outer MBR while we are
editing the inner disklabel).
 1.8.2.6 29-Nov-2020  martin Pull up following revision(s) (requested by jmcneill in ticket #1137):

usr.sbin/sysinst/arch/evbarm/md.c: revision 1.20

Make sure the kernel set is selected, even if extracting parts of it
manually.
 1.8.2.5 15-Oct-2020  bouyer Pull up following revision(s) (requested by martin in ticket #1113):
usr.sbin/sysinst/bsddisklabel.c: revision 1.46
usr.sbin/sysinst/bsddisklabel.c: revision 1.47
usr.sbin/sysinst/disklabel.c: revision 1.40
usr.sbin/sysinst/arch/cobalt/md.c: revision 1.13
usr.sbin/sysinst/bsddisklabel.c: revision 1.48
usr.sbin/sysinst/disklabel.c: revision 1.41
usr.sbin/sysinst/arch/cobalt/md.c: revision 1.14
usr.sbin/sysinst/bsddisklabel.c: revision 1.49
usr.sbin/sysinst/disklabel.c: revision 1.42
usr.sbin/sysinst/Makefile.inc: revision 1.34
usr.sbin/sysinst/disks.c: revision 1.70
usr.sbin/sysinst/arch/hp300/md.c: revision 1.11
usr.sbin/sysinst/disks.c: revision 1.71
usr.sbin/sysinst/arch/i386/md.h: revision 1.8
usr.sbin/sysinst/arch/arc/md.c: revision 1.13
usr.sbin/sysinst/mbr.h: revision 1.5
usr.sbin/sysinst/mbr.h: revision 1.6
usr.sbin/sysinst/arch/mac68k/md.c: revision 1.10
usr.sbin/sysinst/bsddisklabel.c: revision 1.50
usr.sbin/sysinst/arch/acorn32/md.c: revision 1.7
usr.sbin/sysinst/bsddisklabel.c: revision 1.51
usr.sbin/sysinst/bsddisklabel.c: revision 1.52
usr.sbin/sysinst/bsddisklabel.c: revision 1.53
usr.sbin/sysinst/bsddisklabel.c: revision 1.54
usr.sbin/sysinst/bsddisklabel.c: revision 1.55
usr.sbin/sysinst/bsddisklabel.c: revision 1.56
usr.sbin/sysinst/arch/dummy/md.c: revision 1.6
usr.sbin/sysinst/arch/amd64/md.h: revision 1.9
usr.sbin/sysinst/arch/evbsh3/md.c: revision 1.6
usr.sbin/sysinst/arch/sparc/md.c: revision 1.6
usr.sbin/sysinst/arch/zaurus/md.c: revision 1.10
usr.sbin/sysinst/arch/x68k/md.c: revision 1.11
usr.sbin/sysinst/arch/sandpoint/md.c: revision 1.9
usr.sbin/sysinst/arch/vax/md.c: revision 1.7
usr.sbin/sysinst/arch/luna68k/md.c: revision 1.9
usr.sbin/sysinst/gpt.c: revision 1.19
usr.sbin/sysinst/arch/i386/md.c: revision 1.31
usr.sbin/sysinst/arch/i386/md.c: revision 1.32
usr.sbin/sysinst/arch/evbarm/md.c: revision 1.17
usr.sbin/sysinst/arch/evbarm/md.c: revision 1.18
usr.sbin/sysinst/arch/evbarm/md.c: revision 1.19
usr.sbin/sysinst/arch/shark/md.c: revision 1.6
usr.sbin/sysinst/arch/landisk/md.c: revision 1.14
usr.sbin/sysinst/util.c: revision 1.43
usr.sbin/sysinst/gpt.c: revision 1.20
usr.sbin/sysinst/util.c: revision 1.44
usr.sbin/sysinst/gpt.c: revision 1.21
usr.sbin/sysinst/gpt.c: revision 1.22
usr.sbin/sysinst/arch/evbarm/msg.md.en: revision 1.2
usr.sbin/sysinst/arch/ofppc/md.c: revision 1.11
usr.sbin/sysinst/util.c: revision 1.46
usr.sbin/sysinst/arch/ofppc/md.c: revision 1.12
usr.sbin/sysinst/util.c: revision 1.47
usr.sbin/sysinst/arch/evbarm/md.h: revision 1.6
usr.sbin/sysinst/util.c: revision 1.48
usr.sbin/sysinst/arch/evbarm/md.h: revision 1.7
usr.sbin/sysinst/arch/evbmips/md.c: revision 1.9
usr.sbin/sysinst/msg.mi.fr: revision 1.28
usr.sbin/sysinst/msg.mi.fr: revision 1.29
usr.sbin/sysinst/arch/sgimips/md.c: revision 1.9
usr.sbin/sysinst/arch/evbarm/Makefile: revision 1.3
usr.sbin/sysinst/msg.mi.de: revision 1.23
usr.sbin/sysinst/arch/hpcsh/md.c: revision 1.10
usr.sbin/sysinst/msg.mi.de: revision 1.24
usr.sbin/sysinst/install.c: revision 1.15
usr.sbin/sysinst/install.c: revision 1.16
usr.sbin/sysinst/arch/sparc64/md.c: revision 1.6
usr.sbin/sysinst/install.c: revision 1.17
usr.sbin/sysinst/install.c: revision 1.18
usr.sbin/sysinst/partitions.h: revision 1.16
usr.sbin/sysinst/install.c: revision 1.19
usr.sbin/sysinst/partitions.h: revision 1.17
usr.sbin/sysinst/arch/evbppc/md.c: revision 1.9
usr.sbin/sysinst/arch/playstation2/md.c: revision 1.9
usr.sbin/sysinst/partitions.h: revision 1.18
usr.sbin/sysinst/arch/hpcarm/md.c: revision 1.9
usr.sbin/sysinst/partitions.h: revision 1.19
usr.sbin/sysinst/msg.mi.es: revision 1.24
usr.sbin/sysinst/msg.mi.es: revision 1.25
usr.sbin/sysinst/msg.mi.es: revision 1.26
usr.sbin/sysinst/arch/zaurus/md.c: revision 1.9
usr.sbin/sysinst/target.c: revision 1.13
usr.sbin/sysinst/target.c: revision 1.14
usr.sbin/sysinst/part_edit.c: revision 1.17
usr.sbin/sysinst/part_edit.c: revision 1.18
usr.sbin/sysinst/msg.mi.fr: revision 1.30
usr.sbin/sysinst/arch/mvme68k/md.c: revision 1.11
usr.sbin/sysinst/part_edit.c: revision 1.19
usr.sbin/sysinst/msg.mi.fr: revision 1.31
usr.sbin/sysinst/arch/alpha/md.c: revision 1.9
usr.sbin/sysinst/msg.mi.en: revision 1.30
usr.sbin/sysinst/defs.h: revision 1.56
usr.sbin/sysinst/msg.mi.en: revision 1.31
usr.sbin/sysinst/defs.h: revision 1.57
usr.sbin/sysinst/msg.mi.en: revision 1.32
usr.sbin/sysinst/arch/amiga/md.c: revision 1.6
usr.sbin/sysinst/arch/hpcmips/md.c: revision 1.9
usr.sbin/sysinst/defs.h: revision 1.58
usr.sbin/sysinst/arch/cats/md.c: revision 1.5
usr.sbin/sysinst/defs.h: revision 1.59
usr.sbin/sysinst/arch/newsmips/md.c: revision 1.6
usr.sbin/sysinst/arch/pmax/md.c: revision 1.8
usr.sbin/sysinst/arch/mipsco/md.c: revision 1.8
usr.sbin/sysinst/part_edit.c: revision 1.20
usr.sbin/sysinst/part_edit.c: revision 1.21
usr.sbin/sysinst/arch/macppc/md.c: revision 1.6
usr.sbin/sysinst/part_edit.c: revision 1.22
usr.sbin/sysinst/part_edit.c: revision 1.23
usr.sbin/sysinst/part_edit.c: revision 1.24
usr.sbin/sysinst/defs.h: revision 1.60
usr.sbin/sysinst/arch/mac68k/Makefile: revision 1.3
usr.sbin/sysinst/defs.h: revision 1.61
usr.sbin/sysinst/defs.h: revision 1.63
usr.sbin/sysinst/defs.h: revision 1.64
usr.sbin/sysinst/defs.h: revision 1.65
usr.sbin/sysinst/label.c: revision 1.21
usr.sbin/sysinst/defs.h: revision 1.66
usr.sbin/sysinst/label.c: revision 1.22
usr.sbin/sysinst/defs.h: revision 1.67
usr.sbin/sysinst/label.c: revision 1.23
usr.sbin/sysinst/label.c: revision 1.24
usr.sbin/sysinst/label.c: revision 1.25
usr.sbin/sysinst/label.c: revision 1.26
usr.sbin/sysinst/label.c: revision 1.27
usr.sbin/sysinst/msg.mi.pl: revision 1.31
usr.sbin/sysinst/label.c: revision 1.28
usr.sbin/sysinst/msg.mi.pl: revision 1.32
usr.sbin/sysinst/label.c: revision 1.29
usr.sbin/sysinst/arch/atari/md.c: revision 1.7
usr.sbin/sysinst/disklabel.c: revision 1.36
usr.sbin/sysinst/disklabel.c: revision 1.37
usr.sbin/sysinst/disklabel.c: revision 1.38
usr.sbin/sysinst/disklabel.c: revision 1.39
usr.sbin/sysinst/arch/bebox/md.c: revision 1.9
usr.sbin/sysinst/mbr.c: revision 1.32
usr.sbin/sysinst/disks.c: revision 1.66
usr.sbin/sysinst/mbr.c: revision 1.33
usr.sbin/sysinst/disks.c: revision 1.67
usr.sbin/sysinst/mbr.c: revision 1.34
usr.sbin/sysinst/arch/emips/md.c: revision 1.9
usr.sbin/sysinst/disks.c: revision 1.68
usr.sbin/sysinst/partitions.c: revision 1.11
usr.sbin/sysinst/mbr.c: revision 1.35
usr.sbin/sysinst/disks.c: revision 1.69
usr.sbin/sysinst/mbr.c: revision 1.36
usr.sbin/sysinst/arch/hppa/md.c: revision 1.8
usr.sbin/sysinst/arch/prep/md.c: revision 1.13
usr.sbin/sysinst/label.c: revision 1.30
usr.sbin/sysinst/arch/ews4800mips/md.c: revision 1.7
usr.sbin/sysinst/main.c: revision 1.21
usr.sbin/sysinst/main.c: revision 1.22
usr.sbin/sysinst/main.c: revision 1.23
usr.sbin/sysinst/bsddisklabel.c: revision 1.40
usr.sbin/sysinst/main.c: revision 1.24
usr.sbin/sysinst/arch/cobalt/md.h: revision 1.6
usr.sbin/sysinst/bsddisklabel.c: revision 1.41
usr.sbin/sysinst/main.c: revision 1.25
usr.sbin/sysinst/arch/news68k/md.c: revision 1.7
usr.sbin/sysinst/bsddisklabel.c: revision 1.42
usr.sbin/sysinst/bsddisklabel.c: revision 1.43
usr.sbin/sysinst/bsddisklabel.c: revision 1.44
usr.sbin/sysinst/bsddisklabel.c: revision 1.45
Use strlcpy in a few places to guarnatee 0-terminated strings
Rever previous: the d_packname in struct disklabel is not NUL terminated.
Disable the warning instead.
Do not force -Os optimization (unless SMALLPROG)
Remove unused "rel" global variable and make the -r option a no-op.
PR 55045: strlcpy(NULL, ..., 0) considered harmfull in some implementations.
PR misc/54886: bump threshold for automatic/default creation of a tmpfs /tmp
up slightly (to 384 MB ram). This will make sure the default install has
a > 64 MB /tmp available (number pulled out of thin air, 64 MB is the minimum
required by the ZFS tests).
Don't depend on common symbol definitions.
boardype should not be common.
Redo the root-size-limit check again after we grew the root partition
for kernel dumps. Auto-enable the /usr partition if it overflows.
For all non-root partitions, default to FFSv2.
When extending a partition (to fill the total disk size) do respect
size limits.
Do not suggest a size limited partition for extension by default.
Minor tweak to previous: when forcing a /usr partition just to have an
arbitrary extendable partition, still use its default size initially.
At the end of a new installation save entropy.
Ooops, backout previous - twice the entropy saving is not needed.
Instead slightly improve the (slightly) hidden other code that already
did it.
PR 55202: disable swapping if we started it due to low ram
it's "its"
Remove "If you booted from a floppy" message
Set HAVE_INSTALL_IMAGE for evbarm
Change mountpoint of boot ext2fs from /stand to /ext2 to avoid conflict.
Should be pulled up to netbsd-9, with fixes of PR/55060.
MBR type for Ext2 should be MBR_PTYPE_LNXEXT2, not MBR_PTYPE_FAT12.
Silence -Wstringop-truncation for ``name'' in disp_selected_part().
This variable is used only for display, and truncation seems harmless.
PR 55572: avoid crash when answering the mount point prompt for a previously
empty mount point with an emptry sting.
When adding a new partition in the concrete partition editor, make sure
to set a pointer to the partition table interface in the new entry.
Otherwise we may end up not writing back the partitions at all, leading
to further fallout later.
Receipe to reproduce the issue from Frederic Fauberteau, thanks!
In the concrete partitions editor, after deleting the last partition move
the menu selection to the "add a partition" entry (instead of the sentinel
line which is not an active menu entry).
Typo in comment
Keep a list of all partition tables from which we have deleted partitions
and make sure we update those partition tables when writing partitions,
even if no install related partition remains on them.
Fix display of timezone selection menu
If there is no current partitioning manager assume we are editing the
current system and make target_already_root() return true.
Fixes various fallout when using sysinst post installation.
PR 55377: mark boot partitions in the partition size display, as suggested
by Izumi Tsutsui (minor modifications + all bugs by me)
PR 55378: do not assume RAW_PART to be either 2 or 3
PR 55379: avoid creating bogus /etc/fstab lines for /dev/cd* if no
cdrom is available.
PR 55381: try to deal with moved (but not yet saved) partitions when
calculating free space
Apply patch provided by Izumi Tsutsui in PR 55382: make ext2 partitions
show up in the outer (MBR) partition table, needed for example on Cobalt
where firmware boots from that partition.
PR 55384: detangle pm->ptstart from the "install" flag (selecting a
target partition). Instead introduce a new PTI_INSTALL_TARGET per partition
flag and deal with it in the partitioning backends.
Honour pm->ptstart when allocating new partitions - it is supposed to be
the first sector usable by NetBSD.
If we have no explicitly marke target root partition, make sure to set
the proper flag on the implicit one.
When merging existing partitions with desired target system layout
information, only force the "mount" flag if the existing partitions
has a valid mount point.
Add a heuristic to detect and properly mark EFI system partitions
when re-using pre-existing partitions.
When MD code requests a reserved area (at the start of the disk)
make sure to properly account for the "lost" space during all calculations
and especially when expanding the main partition to fill the disk.
Avoid using the global "pm" or a passed device descriptons when we are
passing disk limits explicitly anyway.
Simplify/fix a few rounding calculations.
When creating new partitions for "full disk" use, pass a install target
hint to the partitioning backend (for the outer NetBSD partition).
Use an install target hint to mark a new partition active.
When compiled with BOOTSEL support, also name the new partition "NetBSD".
Remove more pm->ptstart abuse - calculate values localy where needed
instead.
Fix editing start and size of not yet existing outer partitions.
Previously we abused pm->ptstart / pm->ptsize to pass the bounds of the
NetBSD outer partition to the inner partition editor - but now this is
not a valid assumption any more, so explicitly fix the bounds if an
outer partition exists.
Remove very strange code that special-cased MSDOS file systems and refused
to newfs the partition (despite explicit request to do so) if it was
mountable.
Accidently carried over from a dim and distant past, before we had
fsck_newfs.
PR 55536: when we find existing partition tables and have alternative
formats available, offer to delete partitions and create new ones from
scratch (in some other or the same on-disk format).
Minor fix to previous: fix condition when we offer the partition type
switch - it makes sense even if the disk is partitioned but has no valid
partitions.
Before forcing MBR partitions into our disklabel, make sure they are not
there yet - could happen in various paths when reusing existing partitions
(or parts of that) - previously we would blindly duplicate identical
partitions.
Ooops, part of previous was not meant to be included yet
When renumbering partitions (after deletions) be slightly more lax
in matching, to cope with differences between MBR EFI partitions and
disklabel MSDOS partitions.
PR 55142: on popular demand bring back expert options to adjust the
number of free inodes, block size and fragment size for FFS and LFS.
Fix copy & pasto noticed by Jason Mitchell: change the type of a GPT
partition via "gpt type" - not "gpt label".
Fix copy & pasto (missing "again" label)
Remove dead code
Move MBR writing (if any) post disklabel writing, otherwise strange
interactions happen.
Properly convert partition default sizes in MB to number of sectors
 1.8.2.4 29-Jan-2020  msaitoh Pull up following revision(s) (requested by martin in ticket #673):
usr.sbin/sysinst/arch/evbarm/md.c: revision 1.15
Do not compare a char array to NULL, test for empty string instead.
 1.8.2.3 28-Jan-2020  msaitoh Pull up following revision(s) (requested by martin in ticket #668):
usr.sbin/sysinst/arch/cobalt/md.c: revision 1.11
usr.sbin/sysinst/arch/cobalt/md.c: revision 1.12
usr.sbin/sysinst/arch/arc/md.c: revision 1.11
usr.sbin/sysinst/arch/arc/md.c: revision 1.12
usr.sbin/sysinst/partman.c: revision 1.43
usr.sbin/sysinst/partman.c: revision 1.46
usr.sbin/sysinst/partman.c: revision 1.47
usr.sbin/sysinst/partman.c: revision 1.48
usr.sbin/sysinst/partman.c: revision 1.49
usr.sbin/sysinst/msg.pm.fr: revision 1.2
usr.sbin/sysinst/upgrade.c: revision 1.14
usr.sbin/sysinst/arch/i386/md.c: revision 1.28
usr.sbin/sysinst/arch/i386/md.c: revision 1.29
usr.sbin/sysinst/arch/ofppc/md.c: revision 1.9
usr.sbin/sysinst/arch/sandpoint/md.c: revision 1.7
usr.sbin/sysinst/arch/sandpoint/md.c: revision 1.8
usr.sbin/sysinst/gpt.c: revision 1.14
usr.sbin/sysinst/gpt.c: revision 1.15
usr.sbin/sysinst/arch/luna68k/md.c: revision 1.8
usr.sbin/sysinst/gpt.c: revision 1.16
usr.sbin/sysinst/msg.pm.de: revision 1.2
usr.sbin/sysinst/arch/evbarm/md.c: revision 1.11
usr.sbin/sysinst/arch/evbarm/md.c: revision 1.12
usr.sbin/sysinst/arch/evbarm/md.c: revision 1.13
usr.sbin/sysinst/arch/evbarm/md.c: revision 1.14
usr.sbin/sysinst/sizemultname.c: revision 1.4
usr.sbin/sysinst/msg.pm.en: revision 1.2
usr.sbin/sysinst/arch/landisk/md.c: revision 1.12
usr.sbin/sysinst/util.c: revision 1.41
usr.sbin/sysinst/arch/landisk/md.c: revision 1.13
usr.sbin/sysinst/util.c: revision 1.42
usr.sbin/sysinst/arch/ofppc/md.c: revision 1.10
usr.sbin/sysinst/partitions.c: revision 1.9
usr.sbin/sysinst/arch/evbarm/md.h: revision 1.4
usr.sbin/sysinst/arch/evbarm/md.h: revision 1.5
usr.sbin/sysinst/arch/evbmips/md.c: revision 1.7
usr.sbin/sysinst/arch/evbmips/md.c: revision 1.8
usr.sbin/sysinst/msg.mi.fr: revision 1.25
usr.sbin/sysinst/msg.mi.de: revision 1.20
usr.sbin/sysinst/install.c: revision 1.14
usr.sbin/sysinst/partitions.h: revision 1.13
usr.sbin/sysinst/partitions.h: revision 1.14
usr.sbin/sysinst/arch/evbppc/md.c: revision 1.7
usr.sbin/sysinst/arch/playstation2/md.c: revision 1.7
usr.sbin/sysinst/msg.mi.en: revision 1.27
usr.sbin/sysinst/partitions.h: revision 1.15
usr.sbin/sysinst/arch/evbppc/md.c: revision 1.8
usr.sbin/sysinst/arch/hpcarm/md.c: revision 1.7
usr.sbin/sysinst/arch/playstation2/md.c: revision 1.8
usr.sbin/sysinst/msg.pm.pl: revision 1.2
usr.sbin/sysinst/arch/hpcarm/md.c: revision 1.8
usr.sbin/sysinst/msg.mi.es: revision 1.21
usr.sbin/sysinst/arch/zaurus/md.c: revision 1.7
usr.sbin/sysinst/target.c: revision 1.11
usr.sbin/sysinst/arch/zaurus/md.c: revision 1.8
usr.sbin/sysinst/part_edit.c: revision 1.14
usr.sbin/sysinst/part_edit.c: revision 1.15
usr.sbin/sysinst/part_edit.c: revision 1.16
usr.sbin/sysinst/defs.h: revision 1.50
usr.sbin/sysinst/defs.h: revision 1.51
usr.sbin/sysinst/defs.h: revision 1.52
usr.sbin/sysinst/defs.h: revision 1.53
usr.sbin/sysinst/defs.h: revision 1.54
usr.sbin/sysinst/arch/hpcmips/md.c: revision 1.7
usr.sbin/sysinst/arch/hpcmips/md.c: revision 1.8
usr.sbin/sysinst/arch/hpcsh/md.c: revision 1.8
usr.sbin/sysinst/msg.pm.es: revision 1.2
usr.sbin/sysinst/arch/hpcsh/md.c: revision 1.9
usr.sbin/sysinst/label.c: revision 1.18
usr.sbin/sysinst/label.c: revision 1.19
usr.sbin/sysinst/net.c: revision 1.35
usr.sbin/sysinst/msg.mi.pl: revision 1.28
usr.sbin/sysinst/disklabel.c: revision 1.28
usr.sbin/sysinst/disklabel.c: revision 1.29
usr.sbin/sysinst/mbr.c: revision 1.24
usr.sbin/sysinst/disks.c: revision 1.59
usr.sbin/sysinst/mbr.c: revision 1.25
usr.sbin/sysinst/mbr.c: revision 1.26
usr.sbin/sysinst/mbr.c: revision 1.27
usr.sbin/sysinst/mbr.c: revision 1.28
usr.sbin/sysinst/label.c: revision 1.20
usr.sbin/sysinst/mbr.c: revision 1.29
usr.sbin/sysinst/bsddisklabel.c: revision 1.34
usr.sbin/sysinst/bsddisklabel.c: revision 1.35
usr.sbin/sysinst/bsddisklabel.c: revision 1.36
usr.sbin/sysinst/bsddisklabel.c: revision 1.37
usr.sbin/sysinst/disklabel.c: revision 1.30
usr.sbin/sysinst/bsddisklabel.c: revision 1.38
usr.sbin/sysinst/disklabel.c: revision 1.31
usr.sbin/sysinst/disklabel.c: revision 1.32
usr.sbin/sysinst/disklabel.c: revision 1.33
usr.sbin/sysinst/disklabel.c: revision 1.34
usr.sbin/sysinst/disks.c: revision 1.60
usr.sbin/sysinst/disks.c: revision 1.61
usr.sbin/sysinst/arch/bebox/md.c: revision 1.7
usr.sbin/sysinst/disks.c: revision 1.62
usr.sbin/sysinst/arch/bebox/md.c: revision 1.8
usr.sbin/sysinst/mbr.c: revision 1.30
usr.sbin/sysinst/partitions.c: revision 1.10
usr.sbin/sysinst/arch/prep/md.c: revision 1.11
usr.sbin/sysinst/arch/prep/md.c: revision 1.12
usr.sbin/sysinst/menus.pm: revision 1.3
usr.sbin/sysinst/main.c: revision 1.20
usr.sbin/sysinst/menus.mi: revision 1.20
usr.sbin/sysinst/menus.mi: revision 1.21
avoid calling snprintf/strlcat with an input parameter the same
as the output. from martin@. fixes gcc 8 restrict warnings.
Finish conversion of extended partitioning parts to new abstract
backend interface. XXX still could use a lot of polishing.
Instead of a (bogus) attempt to query the model via ofctl, use the (now
fixed) sysctl hw.model instead.
When reading the secondary disklabel partitions from an existing disklabel
set the mbr partitions as parent.
Move the LABELSECTOR check and make it FS type specific - some partition
types (FFS, RAID) are allowed to overlap with the LABELSECTOR.
When asked to create a whole-disk partition for unknown usage, do not only
assert(false), but actually return an error (in case "assert" is a nop).
PR install/54787: when trying to derive proper alignement and first offset
from exisiting partitions, use the first partition offset if it is already
closer to the start of the disk than the prefered alignment - we can not
move existing partitions around.
Fix handling of inner/outer partitions (e.g. MBR and disklabel) in
extended partitioning:
- when editing a disk with such a schme, offer both partitions in two
steps
- when commiting changes save the inner partitions after the outer ones
Add a method to query the partitioning schemes "internal idea" of a
cylinder size - whatever that means in the real world.
Avoid using the global "pm" variable in utility functions - during
extended partitioning they may point to a different device.
Remove useless calls to get_ramsize() - return value is ignored and
the function has no side effects.
Fix /tmp tmpfs handling and on machines with enough RAM default to
creating a /tmp tmpfs with 25% of ram size limit. Suggested by ad@.
PR install/54872: fix printf argument order, sectors and heads were
swapped in the bios geometry display.
First try to bring evbarm installation closer to current reality.
hide disklabel_non_bootable() under NO_DISKLABEL_BOOT like the usage.
should fix most builds.
Deal with even stranger fictious empty disklabels (PR kern/54882).
Factor out all RAM size thresholds as defines to avoid magic numbers.
To work around PR misc/54886 bump the threshold for a tmpfs /tmp mount
up to 256 MB.
When retrying sets during extraction, reset the relevant statistics
to avoid counting retried sets multiple times.
Reported by kim.
Fix support for non-512-byte/sector disks again after I broke it when
introducing the abstract partition backends.
Use a few strlcpy() instead of strncpy() for network ioctl structs.
We seem to have no formal documentation stating the various
char if*_name[IFNAMSIZ]; /* if name, e.g. "en0" */
elements in ioctls are nul terminated, but the peanut gallery claims
it is so - and at least half of the code in-tree touching them agrees.
Too much disklabel magic happening in the kernel - to compensate force
MBR first when trying to identify the existing partitioning scheme of
a disk.
 1.8.2.2 17-Dec-2019  msaitoh Pull up following revision(s) (requested by martin in ticket #560):
usr.sbin/sysinst/partitions.h: revision 1.11
usr.sbin/sysinst/defs.h: revision 1.49
usr.sbin/sysinst/mbr.c: revision 1.23
usr.sbin/sysinst/msg.mi.en: revision 1.26
usr.sbin/sysinst/disks.c: revision 1.58
usr.sbin/sysinst/arch/evbarm/menus.md.pl: revision 1.2
usr.sbin/sysinst/msg.mi.es: revision 1.20
usr.sbin/sysinst/arch/mvme68k/md.c: revision 1.9
usr.sbin/sysinst/gpt.c: revision 1.13
usr.sbin/sysinst/arch/evbarm/md.c: revision 1.10
usr.sbin/sysinst/arch/arc/md.c: revision 1.10
usr.sbin/sysinst/disklabel.c: revision 1.18
usr.sbin/sysinst/bsddisklabel.c: revision 1.33
usr.sbin/sysinst/disklabel.c: revision 1.19
usr.sbin/sysinst/main.c: revision 1.19
usr.sbin/sysinst/partman.c: revision 1.45
usr.sbin/sysinst/arch/alpha/md.c: revision 1.7
usr.sbin/sysinst/msg.mi.de: revision 1.19
usr.sbin/sysinst/arch/evbarm/menus.md.en: revision 1.2
usr.sbin/sysinst/arch/x68k/md.h: revision 1.4
usr.sbin/sysinst/arch/x68k/md.c: revision 1.9
usr.sbin/sysinst/arch/evbarm/menus.md.es: revision 1.2
usr.sbin/sysinst/wskbd.c: revision 1.4
usr.sbin/sysinst/label.c: revision 1.15
usr.sbin/sysinst/arch/amiga/md.h: revision 1.5
usr.sbin/sysinst/label.c: revision 1.16
usr.sbin/sysinst/arch/hp300/md.c: revision 1.9
usr.sbin/sysinst/arch/emips/md.c: revision 1.8
usr.sbin/sysinst/label.c: revision 1.17
usr.sbin/sysinst/arch/pmax/md.c: revision 1.7
usr.sbin/sysinst/partitions.c: revision 1.6
usr.sbin/sysinst/arch/prep/md.c: revision 1.10
usr.sbin/sysinst/arch/mipsco/md.c: revision 1.7
usr.sbin/sysinst/partitions.c: revision 1.7
usr.sbin/sysinst/partitions.c: revision 1.8
usr.sbin/sysinst/arch/ews4800mips/md.c: revision 1.5
usr.sbin/sysinst/disklabel.c: revision 1.20
usr.sbin/sysinst/arch/evbarm/menus.md.fr: revision 1.2
usr.sbin/sysinst/msg.mi.fr: revision 1.24
usr.sbin/sysinst/disklabel.c: revision 1.21
usr.sbin/sysinst/partitions.h: revision 1.9
usr.sbin/sysinst/msg.mi.pl: revision 1.27
usr.sbin/sysinst/disklabel.c: revision 1.22
usr.sbin/sysinst/disklabel.c: revision 1.23
usr.sbin/sysinst/arch/i386/md.c: revision 1.27
usr.sbin/sysinst/disklabel.c: revision 1.24
usr.sbin/sysinst/disklabel.c: revision 1.25
usr.sbin/sysinst/arch/cobalt/md.h: revision 1.5
usr.sbin/sysinst/disklabel.c: revision 1.26
usr.sbin/sysinst/disklabel.c: revision 1.27
usr.sbin/sysinst/partitions.h: revision 1.10
usr.sbin/sysinst/arch/cobalt/md.c: revision 1.10
PR install/54582: allow MD code to disable on-disk presence verification
of "real" disklabels. Auto-enable this (at run time) when there is no other
partitioning scheme but disklabel configured.
Hard-coded enable this for x68k to allow using kernel based translations
for native Human68k partitions.
Get rid of the evbarm preliminary menu: do not bother to ask the user
whether this is a RPi - query the FDT instead.
PR 54065: add optional "old compat" variant of ext2fs in file system
type selection and use that as default for the cobalt boot file system.
For now rely on the kernel mapping native RDB partitions.
Fix detection of existing disklabels in the case when we only have
the disklabel partitioning scheme available.
Fix DISKLABEL_NO_ONDISK_VERIFY (accidently disabled in previous)
Fix inverted comparison
Do not try to change the keyboard layout if we are not running on the
console.
When trying to tell a fictious but empty label from a real one, skip
partition a if it has the same start and size as the raw partition.
Remove bogus assert.
When finding (paritioning scheme native) partition types for file systems
from our install description, pass the partition type (not only the file
system type). Sometimes (e.g. EFI boot partition on GPT) the filesystem
type (MSDOS) is not a unique selector.
Adapt MD parts to changes in get_fs_part_type (pass partition type).
If a fictious label has no RAW_PART assume there is no valid disk label.
Pass proper track size when initializing the default alignment - this is
important with sunlabels.
Fix overlapping partitions display
Reject (what we consider) empty/invalid fake disklabels no matter whether
we have other partitioning schemes available or not.
Do not show disklabel command invocation by default (only if there are
errors).
After installing boot blocks with RUN_NO_CLEAR (and handling the
potential errors) make sure to clear the stdscreen.
 1.8.2.1 18-Aug-2019  msaitoh Pull up following revision(s) (requested by martin in ticket #77):
usr.sbin/sysinst/arch/sandpoint/md.c: revision 1.6
usr.sbin/sysinst/arch/playstation2/md.c: revision 1.6
usr.sbin/sysinst/arch/evbppc/md.c: revision 1.6
usr.sbin/sysinst/arch/hpcarm/md.c: revision 1.6
usr.sbin/sysinst/arch/zaurus/md.c: revision 1.6
usr.sbin/sysinst/arch/arc/md.c: revision 1.9
usr.sbin/sysinst/arch/hpcmips/md.c: revision 1.6
usr.sbin/sysinst/arch/bebox/md.c: revision 1.6
usr.sbin/sysinst/arch/hpcsh/md.c: revision 1.7
usr.sbin/sysinst/arch/landisk/md.c: revision 1.11
usr.sbin/sysinst/arch/prep/md.c: revision 1.9
usr.sbin/sysinst/arch/i386/md.c: revision 1.21
usr.sbin/sysinst/arch/evbmips/md.c: revision 1.6
usr.sbin/sysinst/arch/evbarm/md.c: revision 1.9
usr.sbin/sysinst/arch/cobalt/md.c: revision 1.9
usr.sbin/sysinst/arch/ofppc/md.c: revision 1.8
When we ask the user to select a partitioning scheme and they refuse
(that is: select "Exit" in the menu), abort installation.
 1.20.2.1 31-May-2021  cjep sync with head
 1.22.4.1 02-Aug-2025  perseant Sync with HEAD
 1.9 09-Apr-2024  nia Add new sets: base32, debug32, manhtml

- base32 contains (when MKCOMPAT=yes) shared libraries for 32-bit
compatibility, previously included in base

- debug32 contains (when MKCOMPAT=yes) debug symbols and static libraries
containing debug symbols for 32-bit compatiblity, previously included
in debug

- manhtml contains (when MKHTML=yes) the HTML files previously included
in 'man', which are of limited utility without third-party software.

The motivation for this change is to be able to easily exclude sets
from CD-ROM images that go over the size limit without xz compression
(which many NetBSD platforms struggle to extract at acceptable speeds).
 1.8 25-Sep-2021  maya Move DRM-driver firmware from base to its own set, gpufw

This set is only installed on amd64,i386,evbarm.
This set is installed on minimal installs and on install media, in
case someone needs it for basic driver functionality.

Comments:
Switched to a single MK tunable for it - that is probably unneeded.

An upcoming DRM update will include even fatter firmware, and we'd
like to minimize the impact of it.
 1.7 05-Oct-2020  martin Add a heuristic to detect and properly mark EFI system partitions
when re-using pre-existing partitions.
 1.6 04-May-2020  joerg boardype should not be common.
 1.5 20-Jan-2020  martin First try to bring evbarm installation closer to current reality.
 1.4 09-Jan-2020  martin Instead of a (bogus) attempt to query the model via ofctl, use the (now
fixed) sysctl hw.model instead.
 1.3 02-Oct-2019  maya Split out /rescue to its own set and adapt installers/images to add it.

This is meant to make updates safer: if something goes wrong with updating
base, we still have the old, standalone /rescue to recover from.
 1.2 12-Jun-2019  martin branches: 1.2.2;
Rework internal data structures and "interfaces to user interface" functions
to get rid of all disklabel assumptions.

Previously (even for GPT partitioning) struct disklabel was used, which
obviously breaks large disk setups. Also many MD parts and parts of the
user interface assumed (a) a struct disklabel is used internally to
store partitioning information and (b) partitions are named 'a' ... $MAXPART.

Get rid of this and replace it with a quite abstract interface that should
be able to deal with all variants in partition storage:

- partitions are stored in a (partly abstract) struct disk_partitions
and most parts of it are only accessed via accessor functions provided
by a "partitioning scheme".

- implement partitioning schemes for MBR, disklabel and GPT (with likely
RDB [amiga] and Apple Partition Map [mac*] to follow soon)

- partitioning schemes may be cascaded, e.g. on x86 when using MBR as
"outer partitions", we have disklabel as "inner partitions".

- all user interface goes via accessor functions in the partitioning scheme,
some of which return pointers to special user interface descriptors
(e.g. to allow editing partition flags, which are scheme specific)

Overall the user interface changes (in this initial step) are minimal but
noticable. A new Anita is needed for automatic test setups - many thanks
to Andreas Gustafsson for lots of early testing and a new Anita version,
and to Manuel Bouyer for cooperation and tests of the Anita release.

This work was sponsored by The NetBSD Foundation, Inc.
 1.1 26-Jul-2014  dholland branches: 1.1.2; 1.1.6; 1.1.28;
Move sysinst sources to usr.sbin.

This commit only physically moves the sources - there are no other
changes, to maximize the probability that this will be treated as a
rename if we ever do manage to migrate away from CVS.

Moving sysinst has been discussed on and off for years and has two
goals: making it easier to work on sysinst, and also making sysinst
available on running systems for use installing chroots and VM images
and other such things. None of the latter is possible yet, but as they
say, one thing at a time.

Doing this now was approved in an impromptu fashion by mrg, riz,
riastradh, me, and groo.
 1.1.28.1 13-Apr-2020  martin Mostly merge changes from HEAD upto 20200411
 1.1.6.2 20-Aug-2014  tls Rebase to HEAD as of a few days ago.
 1.1.6.1 26-Jul-2014  tls file md.h was added on branch tls-maxphys on 2014-08-20 00:05:15 +0000
 1.1.2.2 10-Aug-2014  tls Rebase.
 1.1.2.1 26-Jul-2014  tls file md.h was added on branch tls-earlyentropy on 2014-08-10 07:00:25 +0000
 1.2.2.3 15-Oct-2020  bouyer Pull up following revision(s) (requested by martin in ticket #1113):
usr.sbin/sysinst/bsddisklabel.c: revision 1.46
usr.sbin/sysinst/bsddisklabel.c: revision 1.47
usr.sbin/sysinst/disklabel.c: revision 1.40
usr.sbin/sysinst/arch/cobalt/md.c: revision 1.13
usr.sbin/sysinst/bsddisklabel.c: revision 1.48
usr.sbin/sysinst/disklabel.c: revision 1.41
usr.sbin/sysinst/arch/cobalt/md.c: revision 1.14
usr.sbin/sysinst/bsddisklabel.c: revision 1.49
usr.sbin/sysinst/disklabel.c: revision 1.42
usr.sbin/sysinst/Makefile.inc: revision 1.34
usr.sbin/sysinst/disks.c: revision 1.70
usr.sbin/sysinst/arch/hp300/md.c: revision 1.11
usr.sbin/sysinst/disks.c: revision 1.71
usr.sbin/sysinst/arch/i386/md.h: revision 1.8
usr.sbin/sysinst/arch/arc/md.c: revision 1.13
usr.sbin/sysinst/mbr.h: revision 1.5
usr.sbin/sysinst/mbr.h: revision 1.6
usr.sbin/sysinst/arch/mac68k/md.c: revision 1.10
usr.sbin/sysinst/bsddisklabel.c: revision 1.50
usr.sbin/sysinst/arch/acorn32/md.c: revision 1.7
usr.sbin/sysinst/bsddisklabel.c: revision 1.51
usr.sbin/sysinst/bsddisklabel.c: revision 1.52
usr.sbin/sysinst/bsddisklabel.c: revision 1.53
usr.sbin/sysinst/bsddisklabel.c: revision 1.54
usr.sbin/sysinst/bsddisklabel.c: revision 1.55
usr.sbin/sysinst/bsddisklabel.c: revision 1.56
usr.sbin/sysinst/arch/dummy/md.c: revision 1.6
usr.sbin/sysinst/arch/amd64/md.h: revision 1.9
usr.sbin/sysinst/arch/evbsh3/md.c: revision 1.6
usr.sbin/sysinst/arch/sparc/md.c: revision 1.6
usr.sbin/sysinst/arch/zaurus/md.c: revision 1.10
usr.sbin/sysinst/arch/x68k/md.c: revision 1.11
usr.sbin/sysinst/arch/sandpoint/md.c: revision 1.9
usr.sbin/sysinst/arch/vax/md.c: revision 1.7
usr.sbin/sysinst/arch/luna68k/md.c: revision 1.9
usr.sbin/sysinst/gpt.c: revision 1.19
usr.sbin/sysinst/arch/i386/md.c: revision 1.31
usr.sbin/sysinst/arch/i386/md.c: revision 1.32
usr.sbin/sysinst/arch/evbarm/md.c: revision 1.17
usr.sbin/sysinst/arch/evbarm/md.c: revision 1.18
usr.sbin/sysinst/arch/evbarm/md.c: revision 1.19
usr.sbin/sysinst/arch/shark/md.c: revision 1.6
usr.sbin/sysinst/arch/landisk/md.c: revision 1.14
usr.sbin/sysinst/util.c: revision 1.43
usr.sbin/sysinst/gpt.c: revision 1.20
usr.sbin/sysinst/util.c: revision 1.44
usr.sbin/sysinst/gpt.c: revision 1.21
usr.sbin/sysinst/gpt.c: revision 1.22
usr.sbin/sysinst/arch/evbarm/msg.md.en: revision 1.2
usr.sbin/sysinst/arch/ofppc/md.c: revision 1.11
usr.sbin/sysinst/util.c: revision 1.46
usr.sbin/sysinst/arch/ofppc/md.c: revision 1.12
usr.sbin/sysinst/util.c: revision 1.47
usr.sbin/sysinst/arch/evbarm/md.h: revision 1.6
usr.sbin/sysinst/util.c: revision 1.48
usr.sbin/sysinst/arch/evbarm/md.h: revision 1.7
usr.sbin/sysinst/arch/evbmips/md.c: revision 1.9
usr.sbin/sysinst/msg.mi.fr: revision 1.28
usr.sbin/sysinst/msg.mi.fr: revision 1.29
usr.sbin/sysinst/arch/sgimips/md.c: revision 1.9
usr.sbin/sysinst/arch/evbarm/Makefile: revision 1.3
usr.sbin/sysinst/msg.mi.de: revision 1.23
usr.sbin/sysinst/arch/hpcsh/md.c: revision 1.10
usr.sbin/sysinst/msg.mi.de: revision 1.24
usr.sbin/sysinst/install.c: revision 1.15
usr.sbin/sysinst/install.c: revision 1.16
usr.sbin/sysinst/arch/sparc64/md.c: revision 1.6
usr.sbin/sysinst/install.c: revision 1.17
usr.sbin/sysinst/install.c: revision 1.18
usr.sbin/sysinst/partitions.h: revision 1.16
usr.sbin/sysinst/install.c: revision 1.19
usr.sbin/sysinst/partitions.h: revision 1.17
usr.sbin/sysinst/arch/evbppc/md.c: revision 1.9
usr.sbin/sysinst/arch/playstation2/md.c: revision 1.9
usr.sbin/sysinst/partitions.h: revision 1.18
usr.sbin/sysinst/arch/hpcarm/md.c: revision 1.9
usr.sbin/sysinst/partitions.h: revision 1.19
usr.sbin/sysinst/msg.mi.es: revision 1.24
usr.sbin/sysinst/msg.mi.es: revision 1.25
usr.sbin/sysinst/msg.mi.es: revision 1.26
usr.sbin/sysinst/arch/zaurus/md.c: revision 1.9
usr.sbin/sysinst/target.c: revision 1.13
usr.sbin/sysinst/target.c: revision 1.14
usr.sbin/sysinst/part_edit.c: revision 1.17
usr.sbin/sysinst/part_edit.c: revision 1.18
usr.sbin/sysinst/msg.mi.fr: revision 1.30
usr.sbin/sysinst/arch/mvme68k/md.c: revision 1.11
usr.sbin/sysinst/part_edit.c: revision 1.19
usr.sbin/sysinst/msg.mi.fr: revision 1.31
usr.sbin/sysinst/arch/alpha/md.c: revision 1.9
usr.sbin/sysinst/msg.mi.en: revision 1.30
usr.sbin/sysinst/defs.h: revision 1.56
usr.sbin/sysinst/msg.mi.en: revision 1.31
usr.sbin/sysinst/defs.h: revision 1.57
usr.sbin/sysinst/msg.mi.en: revision 1.32
usr.sbin/sysinst/arch/amiga/md.c: revision 1.6
usr.sbin/sysinst/arch/hpcmips/md.c: revision 1.9
usr.sbin/sysinst/defs.h: revision 1.58
usr.sbin/sysinst/arch/cats/md.c: revision 1.5
usr.sbin/sysinst/defs.h: revision 1.59
usr.sbin/sysinst/arch/newsmips/md.c: revision 1.6
usr.sbin/sysinst/arch/pmax/md.c: revision 1.8
usr.sbin/sysinst/arch/mipsco/md.c: revision 1.8
usr.sbin/sysinst/part_edit.c: revision 1.20
usr.sbin/sysinst/part_edit.c: revision 1.21
usr.sbin/sysinst/arch/macppc/md.c: revision 1.6
usr.sbin/sysinst/part_edit.c: revision 1.22
usr.sbin/sysinst/part_edit.c: revision 1.23
usr.sbin/sysinst/part_edit.c: revision 1.24
usr.sbin/sysinst/defs.h: revision 1.60
usr.sbin/sysinst/arch/mac68k/Makefile: revision 1.3
usr.sbin/sysinst/defs.h: revision 1.61
usr.sbin/sysinst/defs.h: revision 1.63
usr.sbin/sysinst/defs.h: revision 1.64
usr.sbin/sysinst/defs.h: revision 1.65
usr.sbin/sysinst/label.c: revision 1.21
usr.sbin/sysinst/defs.h: revision 1.66
usr.sbin/sysinst/label.c: revision 1.22
usr.sbin/sysinst/defs.h: revision 1.67
usr.sbin/sysinst/label.c: revision 1.23
usr.sbin/sysinst/label.c: revision 1.24
usr.sbin/sysinst/label.c: revision 1.25
usr.sbin/sysinst/label.c: revision 1.26
usr.sbin/sysinst/label.c: revision 1.27
usr.sbin/sysinst/msg.mi.pl: revision 1.31
usr.sbin/sysinst/label.c: revision 1.28
usr.sbin/sysinst/msg.mi.pl: revision 1.32
usr.sbin/sysinst/label.c: revision 1.29
usr.sbin/sysinst/arch/atari/md.c: revision 1.7
usr.sbin/sysinst/disklabel.c: revision 1.36
usr.sbin/sysinst/disklabel.c: revision 1.37
usr.sbin/sysinst/disklabel.c: revision 1.38
usr.sbin/sysinst/disklabel.c: revision 1.39
usr.sbin/sysinst/arch/bebox/md.c: revision 1.9
usr.sbin/sysinst/mbr.c: revision 1.32
usr.sbin/sysinst/disks.c: revision 1.66
usr.sbin/sysinst/mbr.c: revision 1.33
usr.sbin/sysinst/disks.c: revision 1.67
usr.sbin/sysinst/mbr.c: revision 1.34
usr.sbin/sysinst/arch/emips/md.c: revision 1.9
usr.sbin/sysinst/disks.c: revision 1.68
usr.sbin/sysinst/partitions.c: revision 1.11
usr.sbin/sysinst/mbr.c: revision 1.35
usr.sbin/sysinst/disks.c: revision 1.69
usr.sbin/sysinst/mbr.c: revision 1.36
usr.sbin/sysinst/arch/hppa/md.c: revision 1.8
usr.sbin/sysinst/arch/prep/md.c: revision 1.13
usr.sbin/sysinst/label.c: revision 1.30
usr.sbin/sysinst/arch/ews4800mips/md.c: revision 1.7
usr.sbin/sysinst/main.c: revision 1.21
usr.sbin/sysinst/main.c: revision 1.22
usr.sbin/sysinst/main.c: revision 1.23
usr.sbin/sysinst/bsddisklabel.c: revision 1.40
usr.sbin/sysinst/main.c: revision 1.24
usr.sbin/sysinst/arch/cobalt/md.h: revision 1.6
usr.sbin/sysinst/bsddisklabel.c: revision 1.41
usr.sbin/sysinst/main.c: revision 1.25
usr.sbin/sysinst/arch/news68k/md.c: revision 1.7
usr.sbin/sysinst/bsddisklabel.c: revision 1.42
usr.sbin/sysinst/bsddisklabel.c: revision 1.43
usr.sbin/sysinst/bsddisklabel.c: revision 1.44
usr.sbin/sysinst/bsddisklabel.c: revision 1.45
Use strlcpy in a few places to guarnatee 0-terminated strings
Rever previous: the d_packname in struct disklabel is not NUL terminated.
Disable the warning instead.
Do not force -Os optimization (unless SMALLPROG)
Remove unused "rel" global variable and make the -r option a no-op.
PR 55045: strlcpy(NULL, ..., 0) considered harmfull in some implementations.
PR misc/54886: bump threshold for automatic/default creation of a tmpfs /tmp
up slightly (to 384 MB ram). This will make sure the default install has
a > 64 MB /tmp available (number pulled out of thin air, 64 MB is the minimum
required by the ZFS tests).
Don't depend on common symbol definitions.
boardype should not be common.
Redo the root-size-limit check again after we grew the root partition
for kernel dumps. Auto-enable the /usr partition if it overflows.
For all non-root partitions, default to FFSv2.
When extending a partition (to fill the total disk size) do respect
size limits.
Do not suggest a size limited partition for extension by default.
Minor tweak to previous: when forcing a /usr partition just to have an
arbitrary extendable partition, still use its default size initially.
At the end of a new installation save entropy.
Ooops, backout previous - twice the entropy saving is not needed.
Instead slightly improve the (slightly) hidden other code that already
did it.
PR 55202: disable swapping if we started it due to low ram
it's "its"
Remove "If you booted from a floppy" message
Set HAVE_INSTALL_IMAGE for evbarm
Change mountpoint of boot ext2fs from /stand to /ext2 to avoid conflict.
Should be pulled up to netbsd-9, with fixes of PR/55060.
MBR type for Ext2 should be MBR_PTYPE_LNXEXT2, not MBR_PTYPE_FAT12.
Silence -Wstringop-truncation for ``name'' in disp_selected_part().
This variable is used only for display, and truncation seems harmless.
PR 55572: avoid crash when answering the mount point prompt for a previously
empty mount point with an emptry sting.
When adding a new partition in the concrete partition editor, make sure
to set a pointer to the partition table interface in the new entry.
Otherwise we may end up not writing back the partitions at all, leading
to further fallout later.
Receipe to reproduce the issue from Frederic Fauberteau, thanks!
In the concrete partitions editor, after deleting the last partition move
the menu selection to the "add a partition" entry (instead of the sentinel
line which is not an active menu entry).
Typo in comment
Keep a list of all partition tables from which we have deleted partitions
and make sure we update those partition tables when writing partitions,
even if no install related partition remains on them.
Fix display of timezone selection menu
If there is no current partitioning manager assume we are editing the
current system and make target_already_root() return true.
Fixes various fallout when using sysinst post installation.
PR 55377: mark boot partitions in the partition size display, as suggested
by Izumi Tsutsui (minor modifications + all bugs by me)
PR 55378: do not assume RAW_PART to be either 2 or 3
PR 55379: avoid creating bogus /etc/fstab lines for /dev/cd* if no
cdrom is available.
PR 55381: try to deal with moved (but not yet saved) partitions when
calculating free space
Apply patch provided by Izumi Tsutsui in PR 55382: make ext2 partitions
show up in the outer (MBR) partition table, needed for example on Cobalt
where firmware boots from that partition.
PR 55384: detangle pm->ptstart from the "install" flag (selecting a
target partition). Instead introduce a new PTI_INSTALL_TARGET per partition
flag and deal with it in the partitioning backends.
Honour pm->ptstart when allocating new partitions - it is supposed to be
the first sector usable by NetBSD.
If we have no explicitly marke target root partition, make sure to set
the proper flag on the implicit one.
When merging existing partitions with desired target system layout
information, only force the "mount" flag if the existing partitions
has a valid mount point.
Add a heuristic to detect and properly mark EFI system partitions
when re-using pre-existing partitions.
When MD code requests a reserved area (at the start of the disk)
make sure to properly account for the "lost" space during all calculations
and especially when expanding the main partition to fill the disk.
Avoid using the global "pm" or a passed device descriptons when we are
passing disk limits explicitly anyway.
Simplify/fix a few rounding calculations.
When creating new partitions for "full disk" use, pass a install target
hint to the partitioning backend (for the outer NetBSD partition).
Use an install target hint to mark a new partition active.
When compiled with BOOTSEL support, also name the new partition "NetBSD".
Remove more pm->ptstart abuse - calculate values localy where needed
instead.
Fix editing start and size of not yet existing outer partitions.
Previously we abused pm->ptstart / pm->ptsize to pass the bounds of the
NetBSD outer partition to the inner partition editor - but now this is
not a valid assumption any more, so explicitly fix the bounds if an
outer partition exists.
Remove very strange code that special-cased MSDOS file systems and refused
to newfs the partition (despite explicit request to do so) if it was
mountable.
Accidently carried over from a dim and distant past, before we had
fsck_newfs.
PR 55536: when we find existing partition tables and have alternative
formats available, offer to delete partitions and create new ones from
scratch (in some other or the same on-disk format).
Minor fix to previous: fix condition when we offer the partition type
switch - it makes sense even if the disk is partitioned but has no valid
partitions.
Before forcing MBR partitions into our disklabel, make sure they are not
there yet - could happen in various paths when reusing existing partitions
(or parts of that) - previously we would blindly duplicate identical
partitions.
Ooops, part of previous was not meant to be included yet
When renumbering partitions (after deletions) be slightly more lax
in matching, to cope with differences between MBR EFI partitions and
disklabel MSDOS partitions.
PR 55142: on popular demand bring back expert options to adjust the
number of free inodes, block size and fragment size for FFS and LFS.
Fix copy & pasto noticed by Jason Mitchell: change the type of a GPT
partition via "gpt type" - not "gpt label".
Fix copy & pasto (missing "again" label)
Remove dead code
Move MBR writing (if any) post disklabel writing, otherwise strange
interactions happen.
Properly convert partition default sizes in MB to number of sectors
 1.2.2.2 28-Jan-2020  msaitoh Pull up following revision(s) (requested by martin in ticket #668):
usr.sbin/sysinst/arch/cobalt/md.c: revision 1.11
usr.sbin/sysinst/arch/cobalt/md.c: revision 1.12
usr.sbin/sysinst/arch/arc/md.c: revision 1.11
usr.sbin/sysinst/arch/arc/md.c: revision 1.12
usr.sbin/sysinst/partman.c: revision 1.43
usr.sbin/sysinst/partman.c: revision 1.46
usr.sbin/sysinst/partman.c: revision 1.47
usr.sbin/sysinst/partman.c: revision 1.48
usr.sbin/sysinst/partman.c: revision 1.49
usr.sbin/sysinst/msg.pm.fr: revision 1.2
usr.sbin/sysinst/upgrade.c: revision 1.14
usr.sbin/sysinst/arch/i386/md.c: revision 1.28
usr.sbin/sysinst/arch/i386/md.c: revision 1.29
usr.sbin/sysinst/arch/ofppc/md.c: revision 1.9
usr.sbin/sysinst/arch/sandpoint/md.c: revision 1.7
usr.sbin/sysinst/arch/sandpoint/md.c: revision 1.8
usr.sbin/sysinst/gpt.c: revision 1.14
usr.sbin/sysinst/gpt.c: revision 1.15
usr.sbin/sysinst/arch/luna68k/md.c: revision 1.8
usr.sbin/sysinst/gpt.c: revision 1.16
usr.sbin/sysinst/msg.pm.de: revision 1.2
usr.sbin/sysinst/arch/evbarm/md.c: revision 1.11
usr.sbin/sysinst/arch/evbarm/md.c: revision 1.12
usr.sbin/sysinst/arch/evbarm/md.c: revision 1.13
usr.sbin/sysinst/arch/evbarm/md.c: revision 1.14
usr.sbin/sysinst/sizemultname.c: revision 1.4
usr.sbin/sysinst/msg.pm.en: revision 1.2
usr.sbin/sysinst/arch/landisk/md.c: revision 1.12
usr.sbin/sysinst/util.c: revision 1.41
usr.sbin/sysinst/arch/landisk/md.c: revision 1.13
usr.sbin/sysinst/util.c: revision 1.42
usr.sbin/sysinst/arch/ofppc/md.c: revision 1.10
usr.sbin/sysinst/partitions.c: revision 1.9
usr.sbin/sysinst/arch/evbarm/md.h: revision 1.4
usr.sbin/sysinst/arch/evbarm/md.h: revision 1.5
usr.sbin/sysinst/arch/evbmips/md.c: revision 1.7
usr.sbin/sysinst/arch/evbmips/md.c: revision 1.8
usr.sbin/sysinst/msg.mi.fr: revision 1.25
usr.sbin/sysinst/msg.mi.de: revision 1.20
usr.sbin/sysinst/install.c: revision 1.14
usr.sbin/sysinst/partitions.h: revision 1.13
usr.sbin/sysinst/partitions.h: revision 1.14
usr.sbin/sysinst/arch/evbppc/md.c: revision 1.7
usr.sbin/sysinst/arch/playstation2/md.c: revision 1.7
usr.sbin/sysinst/msg.mi.en: revision 1.27
usr.sbin/sysinst/partitions.h: revision 1.15
usr.sbin/sysinst/arch/evbppc/md.c: revision 1.8
usr.sbin/sysinst/arch/hpcarm/md.c: revision 1.7
usr.sbin/sysinst/arch/playstation2/md.c: revision 1.8
usr.sbin/sysinst/msg.pm.pl: revision 1.2
usr.sbin/sysinst/arch/hpcarm/md.c: revision 1.8
usr.sbin/sysinst/msg.mi.es: revision 1.21
usr.sbin/sysinst/arch/zaurus/md.c: revision 1.7
usr.sbin/sysinst/target.c: revision 1.11
usr.sbin/sysinst/arch/zaurus/md.c: revision 1.8
usr.sbin/sysinst/part_edit.c: revision 1.14
usr.sbin/sysinst/part_edit.c: revision 1.15
usr.sbin/sysinst/part_edit.c: revision 1.16
usr.sbin/sysinst/defs.h: revision 1.50
usr.sbin/sysinst/defs.h: revision 1.51
usr.sbin/sysinst/defs.h: revision 1.52
usr.sbin/sysinst/defs.h: revision 1.53
usr.sbin/sysinst/defs.h: revision 1.54
usr.sbin/sysinst/arch/hpcmips/md.c: revision 1.7
usr.sbin/sysinst/arch/hpcmips/md.c: revision 1.8
usr.sbin/sysinst/arch/hpcsh/md.c: revision 1.8
usr.sbin/sysinst/msg.pm.es: revision 1.2
usr.sbin/sysinst/arch/hpcsh/md.c: revision 1.9
usr.sbin/sysinst/label.c: revision 1.18
usr.sbin/sysinst/label.c: revision 1.19
usr.sbin/sysinst/net.c: revision 1.35
usr.sbin/sysinst/msg.mi.pl: revision 1.28
usr.sbin/sysinst/disklabel.c: revision 1.28
usr.sbin/sysinst/disklabel.c: revision 1.29
usr.sbin/sysinst/mbr.c: revision 1.24
usr.sbin/sysinst/disks.c: revision 1.59
usr.sbin/sysinst/mbr.c: revision 1.25
usr.sbin/sysinst/mbr.c: revision 1.26
usr.sbin/sysinst/mbr.c: revision 1.27
usr.sbin/sysinst/mbr.c: revision 1.28
usr.sbin/sysinst/label.c: revision 1.20
usr.sbin/sysinst/mbr.c: revision 1.29
usr.sbin/sysinst/bsddisklabel.c: revision 1.34
usr.sbin/sysinst/bsddisklabel.c: revision 1.35
usr.sbin/sysinst/bsddisklabel.c: revision 1.36
usr.sbin/sysinst/bsddisklabel.c: revision 1.37
usr.sbin/sysinst/disklabel.c: revision 1.30
usr.sbin/sysinst/bsddisklabel.c: revision 1.38
usr.sbin/sysinst/disklabel.c: revision 1.31
usr.sbin/sysinst/disklabel.c: revision 1.32
usr.sbin/sysinst/disklabel.c: revision 1.33
usr.sbin/sysinst/disklabel.c: revision 1.34
usr.sbin/sysinst/disks.c: revision 1.60
usr.sbin/sysinst/disks.c: revision 1.61
usr.sbin/sysinst/arch/bebox/md.c: revision 1.7
usr.sbin/sysinst/disks.c: revision 1.62
usr.sbin/sysinst/arch/bebox/md.c: revision 1.8
usr.sbin/sysinst/mbr.c: revision 1.30
usr.sbin/sysinst/partitions.c: revision 1.10
usr.sbin/sysinst/arch/prep/md.c: revision 1.11
usr.sbin/sysinst/arch/prep/md.c: revision 1.12
usr.sbin/sysinst/menus.pm: revision 1.3
usr.sbin/sysinst/main.c: revision 1.20
usr.sbin/sysinst/menus.mi: revision 1.20
usr.sbin/sysinst/menus.mi: revision 1.21
avoid calling snprintf/strlcat with an input parameter the same
as the output. from martin@. fixes gcc 8 restrict warnings.
Finish conversion of extended partitioning parts to new abstract
backend interface. XXX still could use a lot of polishing.
Instead of a (bogus) attempt to query the model via ofctl, use the (now
fixed) sysctl hw.model instead.
When reading the secondary disklabel partitions from an existing disklabel
set the mbr partitions as parent.
Move the LABELSECTOR check and make it FS type specific - some partition
types (FFS, RAID) are allowed to overlap with the LABELSECTOR.
When asked to create a whole-disk partition for unknown usage, do not only
assert(false), but actually return an error (in case "assert" is a nop).
PR install/54787: when trying to derive proper alignement and first offset
from exisiting partitions, use the first partition offset if it is already
closer to the start of the disk than the prefered alignment - we can not
move existing partitions around.
Fix handling of inner/outer partitions (e.g. MBR and disklabel) in
extended partitioning:
- when editing a disk with such a schme, offer both partitions in two
steps
- when commiting changes save the inner partitions after the outer ones
Add a method to query the partitioning schemes "internal idea" of a
cylinder size - whatever that means in the real world.
Avoid using the global "pm" variable in utility functions - during
extended partitioning they may point to a different device.
Remove useless calls to get_ramsize() - return value is ignored and
the function has no side effects.
Fix /tmp tmpfs handling and on machines with enough RAM default to
creating a /tmp tmpfs with 25% of ram size limit. Suggested by ad@.
PR install/54872: fix printf argument order, sectors and heads were
swapped in the bios geometry display.
First try to bring evbarm installation closer to current reality.
hide disklabel_non_bootable() under NO_DISKLABEL_BOOT like the usage.
should fix most builds.
Deal with even stranger fictious empty disklabels (PR kern/54882).
Factor out all RAM size thresholds as defines to avoid magic numbers.
To work around PR misc/54886 bump the threshold for a tmpfs /tmp mount
up to 256 MB.
When retrying sets during extraction, reset the relevant statistics
to avoid counting retried sets multiple times.
Reported by kim.
Fix support for non-512-byte/sector disks again after I broke it when
introducing the abstract partition backends.
Use a few strlcpy() instead of strncpy() for network ioctl structs.
We seem to have no formal documentation stating the various
char if*_name[IFNAMSIZ]; /* if name, e.g. "en0" */
elements in ioctls are nul terminated, but the peanut gallery claims
it is so - and at least half of the code in-tree touching them agrees.
Too much disklabel magic happening in the kernel - to compensate force
MBR first when trying to identify the existing partitioning scheme of
a disk.
 1.2.2.1 17-Nov-2019  martin Pull up following revision(s) (requested by maya in ticket #435):

distrib/sets/maketars: revision 1.90
usr.sbin/sysinst/arch/playstation2/md.h: revision 1.2
usr.sbin/sysinst/arch/sandpoint/md.h: revision 1.3
usr.sbin/sysinst/arch/evbppc/md.h: revision 1.3
usr.sbin/sysinst/arch/hpcarm/md.h: revision 1.3
usr.sbin/sysinst/arch/mvme68k/md.h: revision 1.3
distrib/sun3/MakeInstTape: revision 1.3
usr.sbin/sysinst/util.c: revision 1.33
distrib/sets/lists/rescue/mi: revision 1.1
distrib/sets/lists/base/rescue.sun2: file removal
usr.sbin/sysinst/arch/zaurus/md.h: revision 1.3
distrib/sets/lists/base/rescue.ad.m68k.shl: file removal
distrib/sets/regpkgset: revision 1.13
usr.sbin/sysinst/arch/i386/md.h: revision 1.7
distrib/sets/lists/base/rescue.sparc: file removal
distrib/notes/mvme68k/xfer: revision 1.19
distrib/sets/sets.subr: revision 1.187
distrib/common/bootimage/Makefile.bootimage: revision 1.22
usr.sbin/sysinst/msg.mi.de: revision 1.16
usr.sbin/sysinst/arch/atari/md.h: revision 1.3
rescue/Makefile: revision 1.38
distrib/sets/lists/base/rescue.macppc: file removal
usr.sbin/sysinst/arch/arc/md.h: revision 1.4
distrib/miniroot/install.sub: revision 1.49
usr.sbin/sysinst/arch/acorn32/md.h: revision 1.3
usr.sbin/sysinst/arch/x68k/md.h: revision 1.3
usr.sbin/sysinst/arch/hpcmips/md.h: revision 1.3
usr.sbin/sysinst/arch/bebox/md.h: revision 1.3
usr.sbin/sysinst/arch/hpcsh/md.h: revision 1.2
distrib/sets/lists/base/rescue.shark: file removal
usr.sbin/sysinst/arch/emips/md.h: revision 1.5
distrib/utils/embedded/mkimage: revision 1.70
usr.sbin/sysinst/arch/shark/md.h: revision 1.3
usr.sbin/sysinst/arch/pmax/md.h: revision 1.4
usr.sbin/sysinst/arch/amiga/md.h: revision 1.4
usr.sbin/sysinst/arch/hp300/md.h: revision 1.5
rescue/list.ldconfig: file removal
distrib/sets/lists/base/rescue.ad.m68k: file removal
usr.sbin/sysinst/arch/prep/md.h: revision 1.4
usr.sbin/sysinst/arch/cats/md.h: revision 1.4
usr.sbin/sysinst/arch/amd64/md.h: revision 1.7
usr.sbin/sysinst/msg.mi.es: revision 1.17
usr.sbin/sysinst/msg.mi.fr: revision 1.20
usr.sbin/sysinst/msg.mi.pl: revision 1.23
distrib/sets/lists/base/rescue.i386: file removal
usr.sbin/sysinst/arch/evbarm/md.h: revision 1.3
distrib/sets/lists/base/rescue.vax: file removal
distrib/amd64/uefi-installimage/Makefile.bootimage: revision 1.12
usr.sbin/sysinst/arch/evbmips/md.h: revision 1.3
distrib/sets/lists/base/rescue.mi: file removal
distrib/sets/README: revision 1.14
usr.sbin/sysinst/arch/sgimips/md.h: revision 1.4
distrib/sets/lists/base/rescue.sparc64: file removal
distrib/sets/lists/base/rescue.mi: revision 1.45
distrib/sets/lists/base/rescue.mi: revision 1.46
usr.sbin/sysinst/arch/ofppc/md.h: revision 1.4
usr.sbin/sysinst/arch/cobalt/md.h: revision 1.4
distrib/sets/lists/base/rescue.ad.arm: file removal
distrib/sets/lists/base/rescue.mac68k: file removal
usr.sbin/sysinst/defs.h: revision 1.45
usr.sbin/sysinst/arch/landisk/md.h: revision 1.2
distrib/notes/atari/xfer: revision 1.17
etc/Makefile: revision 1.441
usr.sbin/sysinst/msg.mi.en: revision 1.22
distrib/sun2/MakeInstTape: revision 1.2

Remove ldconfig from /rescue, and mark it MI obsolete.
- ldconfig in netbsd refers to a.out binaries only. We've been ELF-only
since NetBSD 2.0 or so, and having it in /rescue served little purpose
even before that, as /rescue is standalone.
- Using MI obsolete to avoid the need for MD set lists where ldconfig
is the sole entry

Mark /rescue/edlabel as MI-obsolete, so we can remove all remaining MD
rescue set list files.

Split out /rescue to its own set and adapt installers/images to add it.

This is meant to make updates safer: if something goes wrong with updating
base, we still have the old, standalone /rescue to recover from.
 1.2 11-Dec-2019  martin Get rid of the evbarm preliminary menu: do not bother to ask the user
whether this is a RPi - query the FDT instead.
 1.1 26-Jul-2014  dholland branches: 1.1.2; 1.1.6; 1.1.28; 1.1.30;
Move sysinst sources to usr.sbin.

This commit only physically moves the sources - there are no other
changes, to maximize the probability that this will be treated as a
rename if we ever do manage to migrate away from CVS.

Moving sysinst has been discussed on and off for years and has two
goals: making it easier to work on sysinst, and also making sysinst
available on running systems for use installing chroots and VM images
and other such things. None of the latter is possible yet, but as they
say, one thing at a time.

Doing this now was approved in an impromptu fashion by mrg, riz,
riastradh, me, and groo.
 1.1.30.1 17-Dec-2019  msaitoh Pull up following revision(s) (requested by martin in ticket #560):
usr.sbin/sysinst/partitions.h: revision 1.11
usr.sbin/sysinst/defs.h: revision 1.49
usr.sbin/sysinst/mbr.c: revision 1.23
usr.sbin/sysinst/msg.mi.en: revision 1.26
usr.sbin/sysinst/disks.c: revision 1.58
usr.sbin/sysinst/arch/evbarm/menus.md.pl: revision 1.2
usr.sbin/sysinst/msg.mi.es: revision 1.20
usr.sbin/sysinst/arch/mvme68k/md.c: revision 1.9
usr.sbin/sysinst/gpt.c: revision 1.13
usr.sbin/sysinst/arch/evbarm/md.c: revision 1.10
usr.sbin/sysinst/arch/arc/md.c: revision 1.10
usr.sbin/sysinst/disklabel.c: revision 1.18
usr.sbin/sysinst/bsddisklabel.c: revision 1.33
usr.sbin/sysinst/disklabel.c: revision 1.19
usr.sbin/sysinst/main.c: revision 1.19
usr.sbin/sysinst/partman.c: revision 1.45
usr.sbin/sysinst/arch/alpha/md.c: revision 1.7
usr.sbin/sysinst/msg.mi.de: revision 1.19
usr.sbin/sysinst/arch/evbarm/menus.md.en: revision 1.2
usr.sbin/sysinst/arch/x68k/md.h: revision 1.4
usr.sbin/sysinst/arch/x68k/md.c: revision 1.9
usr.sbin/sysinst/arch/evbarm/menus.md.es: revision 1.2
usr.sbin/sysinst/wskbd.c: revision 1.4
usr.sbin/sysinst/label.c: revision 1.15
usr.sbin/sysinst/arch/amiga/md.h: revision 1.5
usr.sbin/sysinst/label.c: revision 1.16
usr.sbin/sysinst/arch/hp300/md.c: revision 1.9
usr.sbin/sysinst/arch/emips/md.c: revision 1.8
usr.sbin/sysinst/label.c: revision 1.17
usr.sbin/sysinst/arch/pmax/md.c: revision 1.7
usr.sbin/sysinst/partitions.c: revision 1.6
usr.sbin/sysinst/arch/prep/md.c: revision 1.10
usr.sbin/sysinst/arch/mipsco/md.c: revision 1.7
usr.sbin/sysinst/partitions.c: revision 1.7
usr.sbin/sysinst/partitions.c: revision 1.8
usr.sbin/sysinst/arch/ews4800mips/md.c: revision 1.5
usr.sbin/sysinst/disklabel.c: revision 1.20
usr.sbin/sysinst/arch/evbarm/menus.md.fr: revision 1.2
usr.sbin/sysinst/msg.mi.fr: revision 1.24
usr.sbin/sysinst/disklabel.c: revision 1.21
usr.sbin/sysinst/partitions.h: revision 1.9
usr.sbin/sysinst/msg.mi.pl: revision 1.27
usr.sbin/sysinst/disklabel.c: revision 1.22
usr.sbin/sysinst/disklabel.c: revision 1.23
usr.sbin/sysinst/arch/i386/md.c: revision 1.27
usr.sbin/sysinst/disklabel.c: revision 1.24
usr.sbin/sysinst/disklabel.c: revision 1.25
usr.sbin/sysinst/arch/cobalt/md.h: revision 1.5
usr.sbin/sysinst/disklabel.c: revision 1.26
usr.sbin/sysinst/disklabel.c: revision 1.27
usr.sbin/sysinst/partitions.h: revision 1.10
usr.sbin/sysinst/arch/cobalt/md.c: revision 1.10
PR install/54582: allow MD code to disable on-disk presence verification
of "real" disklabels. Auto-enable this (at run time) when there is no other
partitioning scheme but disklabel configured.
Hard-coded enable this for x68k to allow using kernel based translations
for native Human68k partitions.
Get rid of the evbarm preliminary menu: do not bother to ask the user
whether this is a RPi - query the FDT instead.
PR 54065: add optional "old compat" variant of ext2fs in file system
type selection and use that as default for the cobalt boot file system.
For now rely on the kernel mapping native RDB partitions.
Fix detection of existing disklabels in the case when we only have
the disklabel partitioning scheme available.
Fix DISKLABEL_NO_ONDISK_VERIFY (accidently disabled in previous)
Fix inverted comparison
Do not try to change the keyboard layout if we are not running on the
console.
When trying to tell a fictious but empty label from a real one, skip
partition a if it has the same start and size as the raw partition.
Remove bogus assert.
When finding (paritioning scheme native) partition types for file systems
from our install description, pass the partition type (not only the file
system type). Sometimes (e.g. EFI boot partition on GPT) the filesystem
type (MSDOS) is not a unique selector.
Adapt MD parts to changes in get_fs_part_type (pass partition type).
If a fictious label has no RAW_PART assume there is no valid disk label.
Pass proper track size when initializing the default alignment - this is
important with sunlabels.
Fix overlapping partitions display
Reject (what we consider) empty/invalid fake disklabels no matter whether
we have other partitioning schemes available or not.
Do not show disklabel command invocation by default (only if there are
errors).
After installing boot blocks with RUN_NO_CLEAR (and handling the
potential errors) make sure to clear the stdscreen.
 1.1.28.1 08-Apr-2020  martin Merge changes from current as of 20200406
 1.1.6.2 20-Aug-2014  tls Rebase to HEAD as of a few days ago.
 1.1.6.1 26-Jul-2014  tls file menus.md.en was added on branch tls-maxphys on 2014-08-20 00:05:15 +0000
 1.1.2.2 10-Aug-2014  tls Rebase.
 1.1.2.1 26-Jul-2014  tls file menus.md.en was added on branch tls-earlyentropy on 2014-08-10 07:00:25 +0000
 1.2 11-Dec-2019  martin Get rid of the evbarm preliminary menu: do not bother to ask the user
whether this is a RPi - query the FDT instead.
 1.1 26-Jul-2014  dholland branches: 1.1.2; 1.1.6; 1.1.28; 1.1.30;
Move sysinst sources to usr.sbin.

This commit only physically moves the sources - there are no other
changes, to maximize the probability that this will be treated as a
rename if we ever do manage to migrate away from CVS.

Moving sysinst has been discussed on and off for years and has two
goals: making it easier to work on sysinst, and also making sysinst
available on running systems for use installing chroots and VM images
and other such things. None of the latter is possible yet, but as they
say, one thing at a time.

Doing this now was approved in an impromptu fashion by mrg, riz,
riastradh, me, and groo.
 1.1.30.1 17-Dec-2019  msaitoh Pull up following revision(s) (requested by martin in ticket #560):
usr.sbin/sysinst/partitions.h: revision 1.11
usr.sbin/sysinst/defs.h: revision 1.49
usr.sbin/sysinst/mbr.c: revision 1.23
usr.sbin/sysinst/msg.mi.en: revision 1.26
usr.sbin/sysinst/disks.c: revision 1.58
usr.sbin/sysinst/arch/evbarm/menus.md.pl: revision 1.2
usr.sbin/sysinst/msg.mi.es: revision 1.20
usr.sbin/sysinst/arch/mvme68k/md.c: revision 1.9
usr.sbin/sysinst/gpt.c: revision 1.13
usr.sbin/sysinst/arch/evbarm/md.c: revision 1.10
usr.sbin/sysinst/arch/arc/md.c: revision 1.10
usr.sbin/sysinst/disklabel.c: revision 1.18
usr.sbin/sysinst/bsddisklabel.c: revision 1.33
usr.sbin/sysinst/disklabel.c: revision 1.19
usr.sbin/sysinst/main.c: revision 1.19
usr.sbin/sysinst/partman.c: revision 1.45
usr.sbin/sysinst/arch/alpha/md.c: revision 1.7
usr.sbin/sysinst/msg.mi.de: revision 1.19
usr.sbin/sysinst/arch/evbarm/menus.md.en: revision 1.2
usr.sbin/sysinst/arch/x68k/md.h: revision 1.4
usr.sbin/sysinst/arch/x68k/md.c: revision 1.9
usr.sbin/sysinst/arch/evbarm/menus.md.es: revision 1.2
usr.sbin/sysinst/wskbd.c: revision 1.4
usr.sbin/sysinst/label.c: revision 1.15
usr.sbin/sysinst/arch/amiga/md.h: revision 1.5
usr.sbin/sysinst/label.c: revision 1.16
usr.sbin/sysinst/arch/hp300/md.c: revision 1.9
usr.sbin/sysinst/arch/emips/md.c: revision 1.8
usr.sbin/sysinst/label.c: revision 1.17
usr.sbin/sysinst/arch/pmax/md.c: revision 1.7
usr.sbin/sysinst/partitions.c: revision 1.6
usr.sbin/sysinst/arch/prep/md.c: revision 1.10
usr.sbin/sysinst/arch/mipsco/md.c: revision 1.7
usr.sbin/sysinst/partitions.c: revision 1.7
usr.sbin/sysinst/partitions.c: revision 1.8
usr.sbin/sysinst/arch/ews4800mips/md.c: revision 1.5
usr.sbin/sysinst/disklabel.c: revision 1.20
usr.sbin/sysinst/arch/evbarm/menus.md.fr: revision 1.2
usr.sbin/sysinst/msg.mi.fr: revision 1.24
usr.sbin/sysinst/disklabel.c: revision 1.21
usr.sbin/sysinst/partitions.h: revision 1.9
usr.sbin/sysinst/msg.mi.pl: revision 1.27
usr.sbin/sysinst/disklabel.c: revision 1.22
usr.sbin/sysinst/disklabel.c: revision 1.23
usr.sbin/sysinst/arch/i386/md.c: revision 1.27
usr.sbin/sysinst/disklabel.c: revision 1.24
usr.sbin/sysinst/disklabel.c: revision 1.25
usr.sbin/sysinst/arch/cobalt/md.h: revision 1.5
usr.sbin/sysinst/disklabel.c: revision 1.26
usr.sbin/sysinst/disklabel.c: revision 1.27
usr.sbin/sysinst/partitions.h: revision 1.10
usr.sbin/sysinst/arch/cobalt/md.c: revision 1.10
PR install/54582: allow MD code to disable on-disk presence verification
of "real" disklabels. Auto-enable this (at run time) when there is no other
partitioning scheme but disklabel configured.
Hard-coded enable this for x68k to allow using kernel based translations
for native Human68k partitions.
Get rid of the evbarm preliminary menu: do not bother to ask the user
whether this is a RPi - query the FDT instead.
PR 54065: add optional "old compat" variant of ext2fs in file system
type selection and use that as default for the cobalt boot file system.
For now rely on the kernel mapping native RDB partitions.
Fix detection of existing disklabels in the case when we only have
the disklabel partitioning scheme available.
Fix DISKLABEL_NO_ONDISK_VERIFY (accidently disabled in previous)
Fix inverted comparison
Do not try to change the keyboard layout if we are not running on the
console.
When trying to tell a fictious but empty label from a real one, skip
partition a if it has the same start and size as the raw partition.
Remove bogus assert.
When finding (paritioning scheme native) partition types for file systems
from our install description, pass the partition type (not only the file
system type). Sometimes (e.g. EFI boot partition on GPT) the filesystem
type (MSDOS) is not a unique selector.
Adapt MD parts to changes in get_fs_part_type (pass partition type).
If a fictious label has no RAW_PART assume there is no valid disk label.
Pass proper track size when initializing the default alignment - this is
important with sunlabels.
Fix overlapping partitions display
Reject (what we consider) empty/invalid fake disklabels no matter whether
we have other partitioning schemes available or not.
Do not show disklabel command invocation by default (only if there are
errors).
After installing boot blocks with RUN_NO_CLEAR (and handling the
potential errors) make sure to clear the stdscreen.
 1.1.28.1 08-Apr-2020  martin Merge changes from current as of 20200406
 1.1.6.2 20-Aug-2014  tls Rebase to HEAD as of a few days ago.
 1.1.6.1 26-Jul-2014  tls file menus.md.es was added on branch tls-maxphys on 2014-08-20 00:05:15 +0000
 1.1.2.2 10-Aug-2014  tls Rebase.
 1.1.2.1 26-Jul-2014  tls file menus.md.es was added on branch tls-earlyentropy on 2014-08-10 07:00:25 +0000
 1.2 11-Dec-2019  martin Get rid of the evbarm preliminary menu: do not bother to ask the user
whether this is a RPi - query the FDT instead.
 1.1 26-Jul-2014  dholland branches: 1.1.2; 1.1.6; 1.1.28; 1.1.30;
Move sysinst sources to usr.sbin.

This commit only physically moves the sources - there are no other
changes, to maximize the probability that this will be treated as a
rename if we ever do manage to migrate away from CVS.

Moving sysinst has been discussed on and off for years and has two
goals: making it easier to work on sysinst, and also making sysinst
available on running systems for use installing chroots and VM images
and other such things. None of the latter is possible yet, but as they
say, one thing at a time.

Doing this now was approved in an impromptu fashion by mrg, riz,
riastradh, me, and groo.
 1.1.30.1 17-Dec-2019  msaitoh Pull up following revision(s) (requested by martin in ticket #560):
usr.sbin/sysinst/partitions.h: revision 1.11
usr.sbin/sysinst/defs.h: revision 1.49
usr.sbin/sysinst/mbr.c: revision 1.23
usr.sbin/sysinst/msg.mi.en: revision 1.26
usr.sbin/sysinst/disks.c: revision 1.58
usr.sbin/sysinst/arch/evbarm/menus.md.pl: revision 1.2
usr.sbin/sysinst/msg.mi.es: revision 1.20
usr.sbin/sysinst/arch/mvme68k/md.c: revision 1.9
usr.sbin/sysinst/gpt.c: revision 1.13
usr.sbin/sysinst/arch/evbarm/md.c: revision 1.10
usr.sbin/sysinst/arch/arc/md.c: revision 1.10
usr.sbin/sysinst/disklabel.c: revision 1.18
usr.sbin/sysinst/bsddisklabel.c: revision 1.33
usr.sbin/sysinst/disklabel.c: revision 1.19
usr.sbin/sysinst/main.c: revision 1.19
usr.sbin/sysinst/partman.c: revision 1.45
usr.sbin/sysinst/arch/alpha/md.c: revision 1.7
usr.sbin/sysinst/msg.mi.de: revision 1.19
usr.sbin/sysinst/arch/evbarm/menus.md.en: revision 1.2
usr.sbin/sysinst/arch/x68k/md.h: revision 1.4
usr.sbin/sysinst/arch/x68k/md.c: revision 1.9
usr.sbin/sysinst/arch/evbarm/menus.md.es: revision 1.2
usr.sbin/sysinst/wskbd.c: revision 1.4
usr.sbin/sysinst/label.c: revision 1.15
usr.sbin/sysinst/arch/amiga/md.h: revision 1.5
usr.sbin/sysinst/label.c: revision 1.16
usr.sbin/sysinst/arch/hp300/md.c: revision 1.9
usr.sbin/sysinst/arch/emips/md.c: revision 1.8
usr.sbin/sysinst/label.c: revision 1.17
usr.sbin/sysinst/arch/pmax/md.c: revision 1.7
usr.sbin/sysinst/partitions.c: revision 1.6
usr.sbin/sysinst/arch/prep/md.c: revision 1.10
usr.sbin/sysinst/arch/mipsco/md.c: revision 1.7
usr.sbin/sysinst/partitions.c: revision 1.7
usr.sbin/sysinst/partitions.c: revision 1.8
usr.sbin/sysinst/arch/ews4800mips/md.c: revision 1.5
usr.sbin/sysinst/disklabel.c: revision 1.20
usr.sbin/sysinst/arch/evbarm/menus.md.fr: revision 1.2
usr.sbin/sysinst/msg.mi.fr: revision 1.24
usr.sbin/sysinst/disklabel.c: revision 1.21
usr.sbin/sysinst/partitions.h: revision 1.9
usr.sbin/sysinst/msg.mi.pl: revision 1.27
usr.sbin/sysinst/disklabel.c: revision 1.22
usr.sbin/sysinst/disklabel.c: revision 1.23
usr.sbin/sysinst/arch/i386/md.c: revision 1.27
usr.sbin/sysinst/disklabel.c: revision 1.24
usr.sbin/sysinst/disklabel.c: revision 1.25
usr.sbin/sysinst/arch/cobalt/md.h: revision 1.5
usr.sbin/sysinst/disklabel.c: revision 1.26
usr.sbin/sysinst/disklabel.c: revision 1.27
usr.sbin/sysinst/partitions.h: revision 1.10
usr.sbin/sysinst/arch/cobalt/md.c: revision 1.10
PR install/54582: allow MD code to disable on-disk presence verification
of "real" disklabels. Auto-enable this (at run time) when there is no other
partitioning scheme but disklabel configured.
Hard-coded enable this for x68k to allow using kernel based translations
for native Human68k partitions.
Get rid of the evbarm preliminary menu: do not bother to ask the user
whether this is a RPi - query the FDT instead.
PR 54065: add optional "old compat" variant of ext2fs in file system
type selection and use that as default for the cobalt boot file system.
For now rely on the kernel mapping native RDB partitions.
Fix detection of existing disklabels in the case when we only have
the disklabel partitioning scheme available.
Fix DISKLABEL_NO_ONDISK_VERIFY (accidently disabled in previous)
Fix inverted comparison
Do not try to change the keyboard layout if we are not running on the
console.
When trying to tell a fictious but empty label from a real one, skip
partition a if it has the same start and size as the raw partition.
Remove bogus assert.
When finding (paritioning scheme native) partition types for file systems
from our install description, pass the partition type (not only the file
system type). Sometimes (e.g. EFI boot partition on GPT) the filesystem
type (MSDOS) is not a unique selector.
Adapt MD parts to changes in get_fs_part_type (pass partition type).
If a fictious label has no RAW_PART assume there is no valid disk label.
Pass proper track size when initializing the default alignment - this is
important with sunlabels.
Fix overlapping partitions display
Reject (what we consider) empty/invalid fake disklabels no matter whether
we have other partitioning schemes available or not.
Do not show disklabel command invocation by default (only if there are
errors).
After installing boot blocks with RUN_NO_CLEAR (and handling the
potential errors) make sure to clear the stdscreen.
 1.1.28.1 08-Apr-2020  martin Merge changes from current as of 20200406
 1.1.6.2 20-Aug-2014  tls Rebase to HEAD as of a few days ago.
 1.1.6.1 26-Jul-2014  tls file menus.md.fr was added on branch tls-maxphys on 2014-08-20 00:05:15 +0000
 1.1.2.2 10-Aug-2014  tls Rebase.
 1.1.2.1 26-Jul-2014  tls file menus.md.fr was added on branch tls-earlyentropy on 2014-08-10 07:00:25 +0000
 1.2 11-Dec-2019  martin Get rid of the evbarm preliminary menu: do not bother to ask the user
whether this is a RPi - query the FDT instead.
 1.1 26-Jul-2014  dholland branches: 1.1.2; 1.1.6; 1.1.28; 1.1.30;
Move sysinst sources to usr.sbin.

This commit only physically moves the sources - there are no other
changes, to maximize the probability that this will be treated as a
rename if we ever do manage to migrate away from CVS.

Moving sysinst has been discussed on and off for years and has two
goals: making it easier to work on sysinst, and also making sysinst
available on running systems for use installing chroots and VM images
and other such things. None of the latter is possible yet, but as they
say, one thing at a time.

Doing this now was approved in an impromptu fashion by mrg, riz,
riastradh, me, and groo.
 1.1.30.1 17-Dec-2019  msaitoh Pull up following revision(s) (requested by martin in ticket #560):
usr.sbin/sysinst/partitions.h: revision 1.11
usr.sbin/sysinst/defs.h: revision 1.49
usr.sbin/sysinst/mbr.c: revision 1.23
usr.sbin/sysinst/msg.mi.en: revision 1.26
usr.sbin/sysinst/disks.c: revision 1.58
usr.sbin/sysinst/arch/evbarm/menus.md.pl: revision 1.2
usr.sbin/sysinst/msg.mi.es: revision 1.20
usr.sbin/sysinst/arch/mvme68k/md.c: revision 1.9
usr.sbin/sysinst/gpt.c: revision 1.13
usr.sbin/sysinst/arch/evbarm/md.c: revision 1.10
usr.sbin/sysinst/arch/arc/md.c: revision 1.10
usr.sbin/sysinst/disklabel.c: revision 1.18
usr.sbin/sysinst/bsddisklabel.c: revision 1.33
usr.sbin/sysinst/disklabel.c: revision 1.19
usr.sbin/sysinst/main.c: revision 1.19
usr.sbin/sysinst/partman.c: revision 1.45
usr.sbin/sysinst/arch/alpha/md.c: revision 1.7
usr.sbin/sysinst/msg.mi.de: revision 1.19
usr.sbin/sysinst/arch/evbarm/menus.md.en: revision 1.2
usr.sbin/sysinst/arch/x68k/md.h: revision 1.4
usr.sbin/sysinst/arch/x68k/md.c: revision 1.9
usr.sbin/sysinst/arch/evbarm/menus.md.es: revision 1.2
usr.sbin/sysinst/wskbd.c: revision 1.4
usr.sbin/sysinst/label.c: revision 1.15
usr.sbin/sysinst/arch/amiga/md.h: revision 1.5
usr.sbin/sysinst/label.c: revision 1.16
usr.sbin/sysinst/arch/hp300/md.c: revision 1.9
usr.sbin/sysinst/arch/emips/md.c: revision 1.8
usr.sbin/sysinst/label.c: revision 1.17
usr.sbin/sysinst/arch/pmax/md.c: revision 1.7
usr.sbin/sysinst/partitions.c: revision 1.6
usr.sbin/sysinst/arch/prep/md.c: revision 1.10
usr.sbin/sysinst/arch/mipsco/md.c: revision 1.7
usr.sbin/sysinst/partitions.c: revision 1.7
usr.sbin/sysinst/partitions.c: revision 1.8
usr.sbin/sysinst/arch/ews4800mips/md.c: revision 1.5
usr.sbin/sysinst/disklabel.c: revision 1.20
usr.sbin/sysinst/arch/evbarm/menus.md.fr: revision 1.2
usr.sbin/sysinst/msg.mi.fr: revision 1.24
usr.sbin/sysinst/disklabel.c: revision 1.21
usr.sbin/sysinst/partitions.h: revision 1.9
usr.sbin/sysinst/msg.mi.pl: revision 1.27
usr.sbin/sysinst/disklabel.c: revision 1.22
usr.sbin/sysinst/disklabel.c: revision 1.23
usr.sbin/sysinst/arch/i386/md.c: revision 1.27
usr.sbin/sysinst/disklabel.c: revision 1.24
usr.sbin/sysinst/disklabel.c: revision 1.25
usr.sbin/sysinst/arch/cobalt/md.h: revision 1.5
usr.sbin/sysinst/disklabel.c: revision 1.26
usr.sbin/sysinst/disklabel.c: revision 1.27
usr.sbin/sysinst/partitions.h: revision 1.10
usr.sbin/sysinst/arch/cobalt/md.c: revision 1.10
PR install/54582: allow MD code to disable on-disk presence verification
of "real" disklabels. Auto-enable this (at run time) when there is no other
partitioning scheme but disklabel configured.
Hard-coded enable this for x68k to allow using kernel based translations
for native Human68k partitions.
Get rid of the evbarm preliminary menu: do not bother to ask the user
whether this is a RPi - query the FDT instead.
PR 54065: add optional "old compat" variant of ext2fs in file system
type selection and use that as default for the cobalt boot file system.
For now rely on the kernel mapping native RDB partitions.
Fix detection of existing disklabels in the case when we only have
the disklabel partitioning scheme available.
Fix DISKLABEL_NO_ONDISK_VERIFY (accidently disabled in previous)
Fix inverted comparison
Do not try to change the keyboard layout if we are not running on the
console.
When trying to tell a fictious but empty label from a real one, skip
partition a if it has the same start and size as the raw partition.
Remove bogus assert.
When finding (paritioning scheme native) partition types for file systems
from our install description, pass the partition type (not only the file
system type). Sometimes (e.g. EFI boot partition on GPT) the filesystem
type (MSDOS) is not a unique selector.
Adapt MD parts to changes in get_fs_part_type (pass partition type).
If a fictious label has no RAW_PART assume there is no valid disk label.
Pass proper track size when initializing the default alignment - this is
important with sunlabels.
Fix overlapping partitions display
Reject (what we consider) empty/invalid fake disklabels no matter whether
we have other partitioning schemes available or not.
Do not show disklabel command invocation by default (only if there are
errors).
After installing boot blocks with RUN_NO_CLEAR (and handling the
potential errors) make sure to clear the stdscreen.
 1.1.28.1 08-Apr-2020  martin Merge changes from current as of 20200406
 1.1.6.2 20-Aug-2014  tls Rebase to HEAD as of a few days ago.
 1.1.6.1 26-Jul-2014  tls file menus.md.pl was added on branch tls-maxphys on 2014-08-20 00:05:15 +0000
 1.1.2.2 10-Aug-2014  tls Rebase.
 1.1.2.1 26-Jul-2014  tls file menus.md.pl was added on branch tls-earlyentropy on 2014-08-10 07:00:25 +0000
 1.2 19-Dec-2023  martin Fix kernel set names (the code has been changed to only offer GENERIC
or GENERIC64 kernel sets, but the UI messages and translations have not
been adapted back then)
 1.1 26-Jul-2014  dholland branches: 1.1.2; 1.1.6; 1.1.38;
Move sysinst sources to usr.sbin.

This commit only physically moves the sources - there are no other
changes, to maximize the probability that this will be treated as a
rename if we ever do manage to migrate away from CVS.

Moving sysinst has been discussed on and off for years and has two
goals: making it easier to work on sysinst, and also making sysinst
available on running systems for use installing chroots and VM images
and other such things. None of the latter is possible yet, but as they
say, one thing at a time.

Doing this now was approved in an impromptu fashion by mrg, riz,
riastradh, me, and groo.
 1.1.38.1 26-Dec-2023  snj Pull up following revision(s) (requested by martin in ticket #512):
usr.sbin/sysinst/arch/evbarm/msg.md.de: revision 1.2
usr.sbin/sysinst/arch/evbarm/msg.md.en: revision 1.3
usr.sbin/sysinst/arch/evbarm/msg.md.es: revision 1.2
usr.sbin/sysinst/arch/evbarm/msg.md.fr: revision 1.2
usr.sbin/sysinst/arch/evbarm/msg.md.pl: revision 1.2
Fix kernel set names (the code has been changed to only offer GENERIC
or GENERIC64 kernel sets, but the UI messages and translations have not
been adapted back then)
 1.1.6.2 20-Aug-2014  tls Rebase to HEAD as of a few days ago.
 1.1.6.1 26-Jul-2014  tls file msg.md.de was added on branch tls-maxphys on 2014-08-20 00:05:15 +0000
 1.1.2.2 10-Aug-2014  tls Rebase.
 1.1.2.1 26-Jul-2014  tls file msg.md.de was added on branch tls-earlyentropy on 2014-08-10 07:00:25 +0000
 1.3 19-Dec-2023  martin Fix kernel set names (the code has been changed to only offer GENERIC
or GENERIC64 kernel sets, but the UI messages and translations have not
been adapted back then)
 1.2 28-May-2020  jmcneill branches: 1.2.6;
Remove "If you booted from a floppy" message
 1.1 26-Jul-2014  dholland branches: 1.1.2; 1.1.6; 1.1.30;
Move sysinst sources to usr.sbin.

This commit only physically moves the sources - there are no other
changes, to maximize the probability that this will be treated as a
rename if we ever do manage to migrate away from CVS.

Moving sysinst has been discussed on and off for years and has two
goals: making it easier to work on sysinst, and also making sysinst
available on running systems for use installing chroots and VM images
and other such things. None of the latter is possible yet, but as they
say, one thing at a time.

Doing this now was approved in an impromptu fashion by mrg, riz,
riastradh, me, and groo.
 1.1.30.1 15-Oct-2020  bouyer Pull up following revision(s) (requested by martin in ticket #1113):
usr.sbin/sysinst/bsddisklabel.c: revision 1.46
usr.sbin/sysinst/bsddisklabel.c: revision 1.47
usr.sbin/sysinst/disklabel.c: revision 1.40
usr.sbin/sysinst/arch/cobalt/md.c: revision 1.13
usr.sbin/sysinst/bsddisklabel.c: revision 1.48
usr.sbin/sysinst/disklabel.c: revision 1.41
usr.sbin/sysinst/arch/cobalt/md.c: revision 1.14
usr.sbin/sysinst/bsddisklabel.c: revision 1.49
usr.sbin/sysinst/disklabel.c: revision 1.42
usr.sbin/sysinst/Makefile.inc: revision 1.34
usr.sbin/sysinst/disks.c: revision 1.70
usr.sbin/sysinst/arch/hp300/md.c: revision 1.11
usr.sbin/sysinst/disks.c: revision 1.71
usr.sbin/sysinst/arch/i386/md.h: revision 1.8
usr.sbin/sysinst/arch/arc/md.c: revision 1.13
usr.sbin/sysinst/mbr.h: revision 1.5
usr.sbin/sysinst/mbr.h: revision 1.6
usr.sbin/sysinst/arch/mac68k/md.c: revision 1.10
usr.sbin/sysinst/bsddisklabel.c: revision 1.50
usr.sbin/sysinst/arch/acorn32/md.c: revision 1.7
usr.sbin/sysinst/bsddisklabel.c: revision 1.51
usr.sbin/sysinst/bsddisklabel.c: revision 1.52
usr.sbin/sysinst/bsddisklabel.c: revision 1.53
usr.sbin/sysinst/bsddisklabel.c: revision 1.54
usr.sbin/sysinst/bsddisklabel.c: revision 1.55
usr.sbin/sysinst/bsddisklabel.c: revision 1.56
usr.sbin/sysinst/arch/dummy/md.c: revision 1.6
usr.sbin/sysinst/arch/amd64/md.h: revision 1.9
usr.sbin/sysinst/arch/evbsh3/md.c: revision 1.6
usr.sbin/sysinst/arch/sparc/md.c: revision 1.6
usr.sbin/sysinst/arch/zaurus/md.c: revision 1.10
usr.sbin/sysinst/arch/x68k/md.c: revision 1.11
usr.sbin/sysinst/arch/sandpoint/md.c: revision 1.9
usr.sbin/sysinst/arch/vax/md.c: revision 1.7
usr.sbin/sysinst/arch/luna68k/md.c: revision 1.9
usr.sbin/sysinst/gpt.c: revision 1.19
usr.sbin/sysinst/arch/i386/md.c: revision 1.31
usr.sbin/sysinst/arch/i386/md.c: revision 1.32
usr.sbin/sysinst/arch/evbarm/md.c: revision 1.17
usr.sbin/sysinst/arch/evbarm/md.c: revision 1.18
usr.sbin/sysinst/arch/evbarm/md.c: revision 1.19
usr.sbin/sysinst/arch/shark/md.c: revision 1.6
usr.sbin/sysinst/arch/landisk/md.c: revision 1.14
usr.sbin/sysinst/util.c: revision 1.43
usr.sbin/sysinst/gpt.c: revision 1.20
usr.sbin/sysinst/util.c: revision 1.44
usr.sbin/sysinst/gpt.c: revision 1.21
usr.sbin/sysinst/gpt.c: revision 1.22
usr.sbin/sysinst/arch/evbarm/msg.md.en: revision 1.2
usr.sbin/sysinst/arch/ofppc/md.c: revision 1.11
usr.sbin/sysinst/util.c: revision 1.46
usr.sbin/sysinst/arch/ofppc/md.c: revision 1.12
usr.sbin/sysinst/util.c: revision 1.47
usr.sbin/sysinst/arch/evbarm/md.h: revision 1.6
usr.sbin/sysinst/util.c: revision 1.48
usr.sbin/sysinst/arch/evbarm/md.h: revision 1.7
usr.sbin/sysinst/arch/evbmips/md.c: revision 1.9
usr.sbin/sysinst/msg.mi.fr: revision 1.28
usr.sbin/sysinst/msg.mi.fr: revision 1.29
usr.sbin/sysinst/arch/sgimips/md.c: revision 1.9
usr.sbin/sysinst/arch/evbarm/Makefile: revision 1.3
usr.sbin/sysinst/msg.mi.de: revision 1.23
usr.sbin/sysinst/arch/hpcsh/md.c: revision 1.10
usr.sbin/sysinst/msg.mi.de: revision 1.24
usr.sbin/sysinst/install.c: revision 1.15
usr.sbin/sysinst/install.c: revision 1.16
usr.sbin/sysinst/arch/sparc64/md.c: revision 1.6
usr.sbin/sysinst/install.c: revision 1.17
usr.sbin/sysinst/install.c: revision 1.18
usr.sbin/sysinst/partitions.h: revision 1.16
usr.sbin/sysinst/install.c: revision 1.19
usr.sbin/sysinst/partitions.h: revision 1.17
usr.sbin/sysinst/arch/evbppc/md.c: revision 1.9
usr.sbin/sysinst/arch/playstation2/md.c: revision 1.9
usr.sbin/sysinst/partitions.h: revision 1.18
usr.sbin/sysinst/arch/hpcarm/md.c: revision 1.9
usr.sbin/sysinst/partitions.h: revision 1.19
usr.sbin/sysinst/msg.mi.es: revision 1.24
usr.sbin/sysinst/msg.mi.es: revision 1.25
usr.sbin/sysinst/msg.mi.es: revision 1.26
usr.sbin/sysinst/arch/zaurus/md.c: revision 1.9
usr.sbin/sysinst/target.c: revision 1.13
usr.sbin/sysinst/target.c: revision 1.14
usr.sbin/sysinst/part_edit.c: revision 1.17
usr.sbin/sysinst/part_edit.c: revision 1.18
usr.sbin/sysinst/msg.mi.fr: revision 1.30
usr.sbin/sysinst/arch/mvme68k/md.c: revision 1.11
usr.sbin/sysinst/part_edit.c: revision 1.19
usr.sbin/sysinst/msg.mi.fr: revision 1.31
usr.sbin/sysinst/arch/alpha/md.c: revision 1.9
usr.sbin/sysinst/msg.mi.en: revision 1.30
usr.sbin/sysinst/defs.h: revision 1.56
usr.sbin/sysinst/msg.mi.en: revision 1.31
usr.sbin/sysinst/defs.h: revision 1.57
usr.sbin/sysinst/msg.mi.en: revision 1.32
usr.sbin/sysinst/arch/amiga/md.c: revision 1.6
usr.sbin/sysinst/arch/hpcmips/md.c: revision 1.9
usr.sbin/sysinst/defs.h: revision 1.58
usr.sbin/sysinst/arch/cats/md.c: revision 1.5
usr.sbin/sysinst/defs.h: revision 1.59
usr.sbin/sysinst/arch/newsmips/md.c: revision 1.6
usr.sbin/sysinst/arch/pmax/md.c: revision 1.8
usr.sbin/sysinst/arch/mipsco/md.c: revision 1.8
usr.sbin/sysinst/part_edit.c: revision 1.20
usr.sbin/sysinst/part_edit.c: revision 1.21
usr.sbin/sysinst/arch/macppc/md.c: revision 1.6
usr.sbin/sysinst/part_edit.c: revision 1.22
usr.sbin/sysinst/part_edit.c: revision 1.23
usr.sbin/sysinst/part_edit.c: revision 1.24
usr.sbin/sysinst/defs.h: revision 1.60
usr.sbin/sysinst/arch/mac68k/Makefile: revision 1.3
usr.sbin/sysinst/defs.h: revision 1.61
usr.sbin/sysinst/defs.h: revision 1.63
usr.sbin/sysinst/defs.h: revision 1.64
usr.sbin/sysinst/defs.h: revision 1.65
usr.sbin/sysinst/label.c: revision 1.21
usr.sbin/sysinst/defs.h: revision 1.66
usr.sbin/sysinst/label.c: revision 1.22
usr.sbin/sysinst/defs.h: revision 1.67
usr.sbin/sysinst/label.c: revision 1.23
usr.sbin/sysinst/label.c: revision 1.24
usr.sbin/sysinst/label.c: revision 1.25
usr.sbin/sysinst/label.c: revision 1.26
usr.sbin/sysinst/label.c: revision 1.27
usr.sbin/sysinst/msg.mi.pl: revision 1.31
usr.sbin/sysinst/label.c: revision 1.28
usr.sbin/sysinst/msg.mi.pl: revision 1.32
usr.sbin/sysinst/label.c: revision 1.29
usr.sbin/sysinst/arch/atari/md.c: revision 1.7
usr.sbin/sysinst/disklabel.c: revision 1.36
usr.sbin/sysinst/disklabel.c: revision 1.37
usr.sbin/sysinst/disklabel.c: revision 1.38
usr.sbin/sysinst/disklabel.c: revision 1.39
usr.sbin/sysinst/arch/bebox/md.c: revision 1.9
usr.sbin/sysinst/mbr.c: revision 1.32
usr.sbin/sysinst/disks.c: revision 1.66
usr.sbin/sysinst/mbr.c: revision 1.33
usr.sbin/sysinst/disks.c: revision 1.67
usr.sbin/sysinst/mbr.c: revision 1.34
usr.sbin/sysinst/arch/emips/md.c: revision 1.9
usr.sbin/sysinst/disks.c: revision 1.68
usr.sbin/sysinst/partitions.c: revision 1.11
usr.sbin/sysinst/mbr.c: revision 1.35
usr.sbin/sysinst/disks.c: revision 1.69
usr.sbin/sysinst/mbr.c: revision 1.36
usr.sbin/sysinst/arch/hppa/md.c: revision 1.8
usr.sbin/sysinst/arch/prep/md.c: revision 1.13
usr.sbin/sysinst/label.c: revision 1.30
usr.sbin/sysinst/arch/ews4800mips/md.c: revision 1.7
usr.sbin/sysinst/main.c: revision 1.21
usr.sbin/sysinst/main.c: revision 1.22
usr.sbin/sysinst/main.c: revision 1.23
usr.sbin/sysinst/bsddisklabel.c: revision 1.40
usr.sbin/sysinst/main.c: revision 1.24
usr.sbin/sysinst/arch/cobalt/md.h: revision 1.6
usr.sbin/sysinst/bsddisklabel.c: revision 1.41
usr.sbin/sysinst/main.c: revision 1.25
usr.sbin/sysinst/arch/news68k/md.c: revision 1.7
usr.sbin/sysinst/bsddisklabel.c: revision 1.42
usr.sbin/sysinst/bsddisklabel.c: revision 1.43
usr.sbin/sysinst/bsddisklabel.c: revision 1.44
usr.sbin/sysinst/bsddisklabel.c: revision 1.45
Use strlcpy in a few places to guarnatee 0-terminated strings
Rever previous: the d_packname in struct disklabel is not NUL terminated.
Disable the warning instead.
Do not force -Os optimization (unless SMALLPROG)
Remove unused "rel" global variable and make the -r option a no-op.
PR 55045: strlcpy(NULL, ..., 0) considered harmfull in some implementations.
PR misc/54886: bump threshold for automatic/default creation of a tmpfs /tmp
up slightly (to 384 MB ram). This will make sure the default install has
a > 64 MB /tmp available (number pulled out of thin air, 64 MB is the minimum
required by the ZFS tests).
Don't depend on common symbol definitions.
boardype should not be common.
Redo the root-size-limit check again after we grew the root partition
for kernel dumps. Auto-enable the /usr partition if it overflows.
For all non-root partitions, default to FFSv2.
When extending a partition (to fill the total disk size) do respect
size limits.
Do not suggest a size limited partition for extension by default.
Minor tweak to previous: when forcing a /usr partition just to have an
arbitrary extendable partition, still use its default size initially.
At the end of a new installation save entropy.
Ooops, backout previous - twice the entropy saving is not needed.
Instead slightly improve the (slightly) hidden other code that already
did it.
PR 55202: disable swapping if we started it due to low ram
it's "its"
Remove "If you booted from a floppy" message
Set HAVE_INSTALL_IMAGE for evbarm
Change mountpoint of boot ext2fs from /stand to /ext2 to avoid conflict.
Should be pulled up to netbsd-9, with fixes of PR/55060.
MBR type for Ext2 should be MBR_PTYPE_LNXEXT2, not MBR_PTYPE_FAT12.
Silence -Wstringop-truncation for ``name'' in disp_selected_part().
This variable is used only for display, and truncation seems harmless.
PR 55572: avoid crash when answering the mount point prompt for a previously
empty mount point with an emptry sting.
When adding a new partition in the concrete partition editor, make sure
to set a pointer to the partition table interface in the new entry.
Otherwise we may end up not writing back the partitions at all, leading
to further fallout later.
Receipe to reproduce the issue from Frederic Fauberteau, thanks!
In the concrete partitions editor, after deleting the last partition move
the menu selection to the "add a partition" entry (instead of the sentinel
line which is not an active menu entry).
Typo in comment
Keep a list of all partition tables from which we have deleted partitions
and make sure we update those partition tables when writing partitions,
even if no install related partition remains on them.
Fix display of timezone selection menu
If there is no current partitioning manager assume we are editing the
current system and make target_already_root() return true.
Fixes various fallout when using sysinst post installation.
PR 55377: mark boot partitions in the partition size display, as suggested
by Izumi Tsutsui (minor modifications + all bugs by me)
PR 55378: do not assume RAW_PART to be either 2 or 3
PR 55379: avoid creating bogus /etc/fstab lines for /dev/cd* if no
cdrom is available.
PR 55381: try to deal with moved (but not yet saved) partitions when
calculating free space
Apply patch provided by Izumi Tsutsui in PR 55382: make ext2 partitions
show up in the outer (MBR) partition table, needed for example on Cobalt
where firmware boots from that partition.
PR 55384: detangle pm->ptstart from the "install" flag (selecting a
target partition). Instead introduce a new PTI_INSTALL_TARGET per partition
flag and deal with it in the partitioning backends.
Honour pm->ptstart when allocating new partitions - it is supposed to be
the first sector usable by NetBSD.
If we have no explicitly marke target root partition, make sure to set
the proper flag on the implicit one.
When merging existing partitions with desired target system layout
information, only force the "mount" flag if the existing partitions
has a valid mount point.
Add a heuristic to detect and properly mark EFI system partitions
when re-using pre-existing partitions.
When MD code requests a reserved area (at the start of the disk)
make sure to properly account for the "lost" space during all calculations
and especially when expanding the main partition to fill the disk.
Avoid using the global "pm" or a passed device descriptons when we are
passing disk limits explicitly anyway.
Simplify/fix a few rounding calculations.
When creating new partitions for "full disk" use, pass a install target
hint to the partitioning backend (for the outer NetBSD partition).
Use an install target hint to mark a new partition active.
When compiled with BOOTSEL support, also name the new partition "NetBSD".
Remove more pm->ptstart abuse - calculate values localy where needed
instead.
Fix editing start and size of not yet existing outer partitions.
Previously we abused pm->ptstart / pm->ptsize to pass the bounds of the
NetBSD outer partition to the inner partition editor - but now this is
not a valid assumption any more, so explicitly fix the bounds if an
outer partition exists.
Remove very strange code that special-cased MSDOS file systems and refused
to newfs the partition (despite explicit request to do so) if it was
mountable.
Accidently carried over from a dim and distant past, before we had
fsck_newfs.
PR 55536: when we find existing partition tables and have alternative
formats available, offer to delete partitions and create new ones from
scratch (in some other or the same on-disk format).
Minor fix to previous: fix condition when we offer the partition type
switch - it makes sense even if the disk is partitioned but has no valid
partitions.
Before forcing MBR partitions into our disklabel, make sure they are not
there yet - could happen in various paths when reusing existing partitions
(or parts of that) - previously we would blindly duplicate identical
partitions.
Ooops, part of previous was not meant to be included yet
When renumbering partitions (after deletions) be slightly more lax
in matching, to cope with differences between MBR EFI partitions and
disklabel MSDOS partitions.
PR 55142: on popular demand bring back expert options to adjust the
number of free inodes, block size and fragment size for FFS and LFS.
Fix copy & pasto noticed by Jason Mitchell: change the type of a GPT
partition via "gpt type" - not "gpt label".
Fix copy & pasto (missing "again" label)
Remove dead code
Move MBR writing (if any) post disklabel writing, otherwise strange
interactions happen.
Properly convert partition default sizes in MB to number of sectors
 1.1.6.2 20-Aug-2014  tls Rebase to HEAD as of a few days ago.
 1.1.6.1 26-Jul-2014  tls file msg.md.en was added on branch tls-maxphys on 2014-08-20 00:05:15 +0000
 1.1.2.2 10-Aug-2014  tls Rebase.
 1.1.2.1 26-Jul-2014  tls file msg.md.en was added on branch tls-earlyentropy on 2014-08-10 07:00:25 +0000
 1.2.6.1 26-Dec-2023  snj Pull up following revision(s) (requested by martin in ticket #512):
usr.sbin/sysinst/arch/evbarm/msg.md.de: revision 1.2
usr.sbin/sysinst/arch/evbarm/msg.md.en: revision 1.3
usr.sbin/sysinst/arch/evbarm/msg.md.es: revision 1.2
usr.sbin/sysinst/arch/evbarm/msg.md.fr: revision 1.2
usr.sbin/sysinst/arch/evbarm/msg.md.pl: revision 1.2
Fix kernel set names (the code has been changed to only offer GENERIC
or GENERIC64 kernel sets, but the UI messages and translations have not
been adapted back then)
 1.2 19-Dec-2023  martin Fix kernel set names (the code has been changed to only offer GENERIC
or GENERIC64 kernel sets, but the UI messages and translations have not
been adapted back then)
 1.1 26-Jul-2014  dholland branches: 1.1.2; 1.1.6; 1.1.38;
Move sysinst sources to usr.sbin.

This commit only physically moves the sources - there are no other
changes, to maximize the probability that this will be treated as a
rename if we ever do manage to migrate away from CVS.

Moving sysinst has been discussed on and off for years and has two
goals: making it easier to work on sysinst, and also making sysinst
available on running systems for use installing chroots and VM images
and other such things. None of the latter is possible yet, but as they
say, one thing at a time.

Doing this now was approved in an impromptu fashion by mrg, riz,
riastradh, me, and groo.
 1.1.38.1 26-Dec-2023  snj Pull up following revision(s) (requested by martin in ticket #512):
usr.sbin/sysinst/arch/evbarm/msg.md.de: revision 1.2
usr.sbin/sysinst/arch/evbarm/msg.md.en: revision 1.3
usr.sbin/sysinst/arch/evbarm/msg.md.es: revision 1.2
usr.sbin/sysinst/arch/evbarm/msg.md.fr: revision 1.2
usr.sbin/sysinst/arch/evbarm/msg.md.pl: revision 1.2
Fix kernel set names (the code has been changed to only offer GENERIC
or GENERIC64 kernel sets, but the UI messages and translations have not
been adapted back then)
 1.1.6.2 20-Aug-2014  tls Rebase to HEAD as of a few days ago.
 1.1.6.1 26-Jul-2014  tls file msg.md.es was added on branch tls-maxphys on 2014-08-20 00:05:15 +0000
 1.1.2.2 10-Aug-2014  tls Rebase.
 1.1.2.1 26-Jul-2014  tls file msg.md.es was added on branch tls-earlyentropy on 2014-08-10 07:00:25 +0000
 1.2 19-Dec-2023  martin Fix kernel set names (the code has been changed to only offer GENERIC
or GENERIC64 kernel sets, but the UI messages and translations have not
been adapted back then)
 1.1 26-Jul-2014  dholland branches: 1.1.2; 1.1.6; 1.1.38;
Move sysinst sources to usr.sbin.

This commit only physically moves the sources - there are no other
changes, to maximize the probability that this will be treated as a
rename if we ever do manage to migrate away from CVS.

Moving sysinst has been discussed on and off for years and has two
goals: making it easier to work on sysinst, and also making sysinst
available on running systems for use installing chroots and VM images
and other such things. None of the latter is possible yet, but as they
say, one thing at a time.

Doing this now was approved in an impromptu fashion by mrg, riz,
riastradh, me, and groo.
 1.1.38.1 26-Dec-2023  snj Pull up following revision(s) (requested by martin in ticket #512):
usr.sbin/sysinst/arch/evbarm/msg.md.de: revision 1.2
usr.sbin/sysinst/arch/evbarm/msg.md.en: revision 1.3
usr.sbin/sysinst/arch/evbarm/msg.md.es: revision 1.2
usr.sbin/sysinst/arch/evbarm/msg.md.fr: revision 1.2
usr.sbin/sysinst/arch/evbarm/msg.md.pl: revision 1.2
Fix kernel set names (the code has been changed to only offer GENERIC
or GENERIC64 kernel sets, but the UI messages and translations have not
been adapted back then)
 1.1.6.2 20-Aug-2014  tls Rebase to HEAD as of a few days ago.
 1.1.6.1 26-Jul-2014  tls file msg.md.fr was added on branch tls-maxphys on 2014-08-20 00:05:15 +0000
 1.1.2.2 10-Aug-2014  tls Rebase.
 1.1.2.1 26-Jul-2014  tls file msg.md.fr was added on branch tls-earlyentropy on 2014-08-10 07:00:25 +0000
 1.2 19-Dec-2023  martin Fix kernel set names (the code has been changed to only offer GENERIC
or GENERIC64 kernel sets, but the UI messages and translations have not
been adapted back then)
 1.1 26-Jul-2014  dholland branches: 1.1.2; 1.1.6; 1.1.38;
Move sysinst sources to usr.sbin.

This commit only physically moves the sources - there are no other
changes, to maximize the probability that this will be treated as a
rename if we ever do manage to migrate away from CVS.

Moving sysinst has been discussed on and off for years and has two
goals: making it easier to work on sysinst, and also making sysinst
available on running systems for use installing chroots and VM images
and other such things. None of the latter is possible yet, but as they
say, one thing at a time.

Doing this now was approved in an impromptu fashion by mrg, riz,
riastradh, me, and groo.
 1.1.38.1 26-Dec-2023  snj Pull up following revision(s) (requested by martin in ticket #512):
usr.sbin/sysinst/arch/evbarm/msg.md.de: revision 1.2
usr.sbin/sysinst/arch/evbarm/msg.md.en: revision 1.3
usr.sbin/sysinst/arch/evbarm/msg.md.es: revision 1.2
usr.sbin/sysinst/arch/evbarm/msg.md.fr: revision 1.2
usr.sbin/sysinst/arch/evbarm/msg.md.pl: revision 1.2
Fix kernel set names (the code has been changed to only offer GENERIC
or GENERIC64 kernel sets, but the UI messages and translations have not
been adapted back then)
 1.1.6.2 20-Aug-2014  tls Rebase to HEAD as of a few days ago.
 1.1.6.1 26-Jul-2014  tls file msg.md.pl was added on branch tls-maxphys on 2014-08-20 00:05:15 +0000
 1.1.2.2 10-Aug-2014  tls Rebase.
 1.1.2.1 26-Jul-2014  tls file msg.md.pl was added on branch tls-earlyentropy on 2014-08-10 07:00:25 +0000
 1.2 12-Jun-2019  martin Rework internal data structures and "interfaces to user interface" functions
to get rid of all disklabel assumptions.

Previously (even for GPT partitioning) struct disklabel was used, which
obviously breaks large disk setups. Also many MD parts and parts of the
user interface assumed (a) a struct disklabel is used internally to
store partitioning information and (b) partitions are named 'a' ... $MAXPART.

Get rid of this and replace it with a quite abstract interface that should
be able to deal with all variants in partition storage:

- partitions are stored in a (partly abstract) struct disk_partitions
and most parts of it are only accessed via accessor functions provided
by a "partitioning scheme".

- implement partitioning schemes for MBR, disklabel and GPT (with likely
RDB [amiga] and Apple Partition Map [mac*] to follow soon)

- partitioning schemes may be cascaded, e.g. on x86 when using MBR as
"outer partitions", we have disklabel as "inner partitions".

- all user interface goes via accessor functions in the partitioning scheme,
some of which return pointers to special user interface descriptors
(e.g. to allow editing partition flags, which are scheme specific)

Overall the user interface changes (in this initial step) are minimal but
noticable. A new Anita is needed for automatic test setups - many thanks
to Andreas Gustafsson for lots of early testing and a new Anita version,
and to Manuel Bouyer for cooperation and tests of the Anita release.

This work was sponsored by The NetBSD Foundation, Inc.
 1.1 26-Jul-2014  dholland branches: 1.1.2; 1.1.6; 1.1.28;
Move sysinst sources to usr.sbin.

This commit only physically moves the sources - there are no other
changes, to maximize the probability that this will be treated as a
rename if we ever do manage to migrate away from CVS.

Moving sysinst has been discussed on and off for years and has two
goals: making it easier to work on sysinst, and also making sysinst
available on running systems for use installing chroots and VM images
and other such things. None of the latter is possible yet, but as they
say, one thing at a time.

Doing this now was approved in an impromptu fashion by mrg, riz,
riastradh, me, and groo.
 1.1.28.1 13-Apr-2020  martin Mostly merge changes from HEAD upto 20200411
 1.1.6.2 20-Aug-2014  tls Rebase to HEAD as of a few days ago.
 1.1.6.1 26-Jul-2014  tls file Makefile was added on branch tls-maxphys on 2014-08-20 00:05:15 +0000
 1.1.2.2 10-Aug-2014  tls Rebase.
 1.1.2.1 26-Jul-2014  tls file Makefile was added on branch tls-earlyentropy on 2014-08-10 07:00:25 +0000
 1.10 29-Jan-2022  martin When upgrading, update the boot code post extraction from
the updated target file system.
 1.9 12-Oct-2020  martin PR 55536: when we find existing partition tables and have alternative
formats available, offer to delete partitions and create new ones from
scratch (in some other or the same on-disk format).
 1.8 27-Jan-2020  martin Fix support for non-512-byte/sector disks again after I broke it when
introducing the abstract partition backends.
 1.7 09-Jan-2020  martin Finish conversion of extended partitioning parts to new abstract
backend interface. XXX still could use a lot of polishing.
 1.6 14-Aug-2019  martin When we ask the user to select a partitioning scheme and they refuse
(that is: select "Exit" in the menu), abort installation.
 1.5 13-Jul-2019  martin branches: 1.5.2;
We may call md_pre_mount() multiple times for the same install set,
so pass an additional index argument so MD code knows which part
of the install will be mounted next.
 1.4 13-Jun-2019  martin In the new world order disks may come without any partitioning scheme
attached - so the user may have to select one.
 1.3 12-Jun-2019  martin Rework internal data structures and "interfaces to user interface" functions
to get rid of all disklabel assumptions.

Previously (even for GPT partitioning) struct disklabel was used, which
obviously breaks large disk setups. Also many MD parts and parts of the
user interface assumed (a) a struct disklabel is used internally to
store partitioning information and (b) partitions are named 'a' ... $MAXPART.

Get rid of this and replace it with a quite abstract interface that should
be able to deal with all variants in partition storage:

- partitions are stored in a (partly abstract) struct disk_partitions
and most parts of it are only accessed via accessor functions provided
by a "partitioning scheme".

- implement partitioning schemes for MBR, disklabel and GPT (with likely
RDB [amiga] and Apple Partition Map [mac*] to follow soon)

- partitioning schemes may be cascaded, e.g. on x86 when using MBR as
"outer partitions", we have disklabel as "inner partitions".

- all user interface goes via accessor functions in the partitioning scheme,
some of which return pointers to special user interface descriptors
(e.g. to allow editing partition flags, which are scheme specific)

Overall the user interface changes (in this initial step) are minimal but
noticable. A new Anita is needed for automatic test setups - many thanks
to Andreas Gustafsson for lots of early testing and a new Anita version,
and to Manuel Bouyer for cooperation and tests of the Anita release.

This work was sponsored by The NetBSD Foundation, Inc.
 1.2 03-Aug-2014  martin branches: 1.2.2; 1.2.6; 1.2.28;
(Finally) merge a slightly modified version of the 2012 GSoC results
from Eugene Lozovoy: add extended partitioning options to sysinst.
Still needs some testing and polishing, but it now is possible to use GPT
or to create a RAID set from scratch and install onto it.
 1.1 26-Jul-2014  dholland Move sysinst sources to usr.sbin.

This commit only physically moves the sources - there are no other
changes, to maximize the probability that this will be treated as a
rename if we ever do manage to migrate away from CVS.

Moving sysinst has been discussed on and off for years and has two
goals: making it easier to work on sysinst, and also making sysinst
available on running systems for use installing chroots and VM images
and other such things. None of the latter is possible yet, but as they
say, one thing at a time.

Doing this now was approved in an impromptu fashion by mrg, riz,
riastradh, me, and groo.
 1.2.28.1 13-Apr-2020  martin Mostly merge changes from HEAD upto 20200411
 1.2.6.2 20-Aug-2014  tls Rebase to HEAD as of a few days ago.
 1.2.6.1 03-Aug-2014  tls file md.c was added on branch tls-maxphys on 2014-08-20 00:05:15 +0000
 1.2.2.2 10-Aug-2014  tls Rebase.
 1.2.2.1 03-Aug-2014  tls file md.c was added on branch tls-earlyentropy on 2014-08-10 07:00:25 +0000
 1.5.2.4 02-Feb-2022  msaitoh Pull up following revision(s) (requested by martin in ticket #1422):
usr.sbin/sysinst/util.c: revision 1.64
usr.sbin/sysinst/arch/hpcsh/md.c: revision 1.11
usr.sbin/sysinst/arch/alpha/md.c: revision 1.10
usr.sbin/sysinst/arch/sparc64/md.c: revision 1.7
usr.sbin/sysinst/arch/emips/md.c: revision 1.10
usr.sbin/sysinst/arch/cobalt/md.c: revision 1.15
usr.sbin/sysinst/arch/x68k/md.c: revision 1.12
usr.sbin/sysinst/arch/sandpoint/md.c: revision 1.10
usr.sbin/sysinst/arch/luna68k/md.c: revision 1.10
usr.sbin/sysinst/arch/hp300/md.c: revision 1.12
usr.sbin/sysinst/arch/vax/md.c: revision 1.8
usr.sbin/sysinst/arch/hpcmips/md.c: revision 1.10
usr.sbin/sysinst/target.c: revision 1.16
usr.sbin/sysinst/arch/mvme68k/md.c: revision 1.12
usr.sbin/sysinst/arch/arc/md.c: revision 1.14
usr.sbin/sysinst/target.c: revision 1.17
usr.sbin/sysinst/arch/i386/md.c: revision 1.34
usr.sbin/sysinst/arch/mac68k/md.c: revision 1.11
usr.sbin/sysinst/arch/atari/md.c: revision 1.8
usr.sbin/sysinst/arch/sgimips/md.c: revision 1.10
usr.sbin/sysinst/arch/acorn32/md.c: revision 1.8
usr.sbin/sysinst/install.c: revision 1.22
usr.sbin/sysinst/arch/amiga/md.c: revision 1.7
usr.sbin/sysinst/arch/cats/md.c: revision 1.6
usr.sbin/sysinst/arch/dummy/md.c: revision 1.7
usr.sbin/sysinst/arch/shark/md.c: revision 1.7
usr.sbin/sysinst/arch/pmax/md.c: revision 1.9
usr.sbin/sysinst/arch/newsmips/md.c: revision 1.7
usr.sbin/sysinst/arch/mipsco/md.c: revision 1.9
usr.sbin/sysinst/arch/landisk/md.c: revision 1.15
usr.sbin/sysinst/arch/hppa/md.c: revision 1.9
usr.sbin/sysinst/arch/prep/md.c: revision 1.14
usr.sbin/sysinst/defs.h: revision 1.77
usr.sbin/sysinst/arch/ofppc/md.c: revision 1.13
usr.sbin/sysinst/arch/ews4800mips/md.c: revision 1.8
usr.sbin/sysinst/defs.h: revision 1.78
usr.sbin/sysinst/arch/macppc/md.c: revision 1.7
usr.sbin/sysinst/arch/evbppc/md.c: revision 1.10
usr.sbin/sysinst/defs.h: revision 1.79
usr.sbin/sysinst/gpt.c: revision 1.27
usr.sbin/sysinst/arch/bebox/md.c: revision 1.10
usr.sbin/sysinst/gpt.c: revision 1.28
usr.sbin/sysinst/arch/sparc/md.c: revision 1.7
usr.sbin/sysinst/arch/evbsh3/md.c: revision 1.7
usr.sbin/sysinst/arch/evbarm/md.c: revision 1.22
usr.sbin/sysinst/arch/news68k/md.c: revision 1.8
usr.sbin/sysinst/upgrade.c: revision 1.19
usr.sbin/sysinst/arch/zaurus/md.c: revision 1.12
usr.sbin/sysinst/arch/playstation2/md.c: revision 1.10
usr.sbin/sysinst/arch/hpcarm/md.c: revision 1.11
usr.sbin/sysinst/arch/evbmips/md.c: revision 1.10
usr.sbin/sysinst/main.c: revision 1.28
Add an option to set the directory where we look for message catalogs.
Try to get rid of all wedges we created (after unmounting).
When upgrading, update the boot code post extraction from
the updated target file system.
Do not defer wedge deletions when we have nothing mounted.
Define and use a constant for maximum disk name length.
 1.5.2.3 15-Oct-2020  bouyer Pull up following revision(s) (requested by martin in ticket #1113):
usr.sbin/sysinst/bsddisklabel.c: revision 1.46
usr.sbin/sysinst/bsddisklabel.c: revision 1.47
usr.sbin/sysinst/disklabel.c: revision 1.40
usr.sbin/sysinst/arch/cobalt/md.c: revision 1.13
usr.sbin/sysinst/bsddisklabel.c: revision 1.48
usr.sbin/sysinst/disklabel.c: revision 1.41
usr.sbin/sysinst/arch/cobalt/md.c: revision 1.14
usr.sbin/sysinst/bsddisklabel.c: revision 1.49
usr.sbin/sysinst/disklabel.c: revision 1.42
usr.sbin/sysinst/Makefile.inc: revision 1.34
usr.sbin/sysinst/disks.c: revision 1.70
usr.sbin/sysinst/arch/hp300/md.c: revision 1.11
usr.sbin/sysinst/disks.c: revision 1.71
usr.sbin/sysinst/arch/i386/md.h: revision 1.8
usr.sbin/sysinst/arch/arc/md.c: revision 1.13
usr.sbin/sysinst/mbr.h: revision 1.5
usr.sbin/sysinst/mbr.h: revision 1.6
usr.sbin/sysinst/arch/mac68k/md.c: revision 1.10
usr.sbin/sysinst/bsddisklabel.c: revision 1.50
usr.sbin/sysinst/arch/acorn32/md.c: revision 1.7
usr.sbin/sysinst/bsddisklabel.c: revision 1.51
usr.sbin/sysinst/bsddisklabel.c: revision 1.52
usr.sbin/sysinst/bsddisklabel.c: revision 1.53
usr.sbin/sysinst/bsddisklabel.c: revision 1.54
usr.sbin/sysinst/bsddisklabel.c: revision 1.55
usr.sbin/sysinst/bsddisklabel.c: revision 1.56
usr.sbin/sysinst/arch/dummy/md.c: revision 1.6
usr.sbin/sysinst/arch/amd64/md.h: revision 1.9
usr.sbin/sysinst/arch/evbsh3/md.c: revision 1.6
usr.sbin/sysinst/arch/sparc/md.c: revision 1.6
usr.sbin/sysinst/arch/zaurus/md.c: revision 1.10
usr.sbin/sysinst/arch/x68k/md.c: revision 1.11
usr.sbin/sysinst/arch/sandpoint/md.c: revision 1.9
usr.sbin/sysinst/arch/vax/md.c: revision 1.7
usr.sbin/sysinst/arch/luna68k/md.c: revision 1.9
usr.sbin/sysinst/gpt.c: revision 1.19
usr.sbin/sysinst/arch/i386/md.c: revision 1.31
usr.sbin/sysinst/arch/i386/md.c: revision 1.32
usr.sbin/sysinst/arch/evbarm/md.c: revision 1.17
usr.sbin/sysinst/arch/evbarm/md.c: revision 1.18
usr.sbin/sysinst/arch/evbarm/md.c: revision 1.19
usr.sbin/sysinst/arch/shark/md.c: revision 1.6
usr.sbin/sysinst/arch/landisk/md.c: revision 1.14
usr.sbin/sysinst/util.c: revision 1.43
usr.sbin/sysinst/gpt.c: revision 1.20
usr.sbin/sysinst/util.c: revision 1.44
usr.sbin/sysinst/gpt.c: revision 1.21
usr.sbin/sysinst/gpt.c: revision 1.22
usr.sbin/sysinst/arch/evbarm/msg.md.en: revision 1.2
usr.sbin/sysinst/arch/ofppc/md.c: revision 1.11
usr.sbin/sysinst/util.c: revision 1.46
usr.sbin/sysinst/arch/ofppc/md.c: revision 1.12
usr.sbin/sysinst/util.c: revision 1.47
usr.sbin/sysinst/arch/evbarm/md.h: revision 1.6
usr.sbin/sysinst/util.c: revision 1.48
usr.sbin/sysinst/arch/evbarm/md.h: revision 1.7
usr.sbin/sysinst/arch/evbmips/md.c: revision 1.9
usr.sbin/sysinst/msg.mi.fr: revision 1.28
usr.sbin/sysinst/msg.mi.fr: revision 1.29
usr.sbin/sysinst/arch/sgimips/md.c: revision 1.9
usr.sbin/sysinst/arch/evbarm/Makefile: revision 1.3
usr.sbin/sysinst/msg.mi.de: revision 1.23
usr.sbin/sysinst/arch/hpcsh/md.c: revision 1.10
usr.sbin/sysinst/msg.mi.de: revision 1.24
usr.sbin/sysinst/install.c: revision 1.15
usr.sbin/sysinst/install.c: revision 1.16
usr.sbin/sysinst/arch/sparc64/md.c: revision 1.6
usr.sbin/sysinst/install.c: revision 1.17
usr.sbin/sysinst/install.c: revision 1.18
usr.sbin/sysinst/partitions.h: revision 1.16
usr.sbin/sysinst/install.c: revision 1.19
usr.sbin/sysinst/partitions.h: revision 1.17
usr.sbin/sysinst/arch/evbppc/md.c: revision 1.9
usr.sbin/sysinst/arch/playstation2/md.c: revision 1.9
usr.sbin/sysinst/partitions.h: revision 1.18
usr.sbin/sysinst/arch/hpcarm/md.c: revision 1.9
usr.sbin/sysinst/partitions.h: revision 1.19
usr.sbin/sysinst/msg.mi.es: revision 1.24
usr.sbin/sysinst/msg.mi.es: revision 1.25
usr.sbin/sysinst/msg.mi.es: revision 1.26
usr.sbin/sysinst/arch/zaurus/md.c: revision 1.9
usr.sbin/sysinst/target.c: revision 1.13
usr.sbin/sysinst/target.c: revision 1.14
usr.sbin/sysinst/part_edit.c: revision 1.17
usr.sbin/sysinst/part_edit.c: revision 1.18
usr.sbin/sysinst/msg.mi.fr: revision 1.30
usr.sbin/sysinst/arch/mvme68k/md.c: revision 1.11
usr.sbin/sysinst/part_edit.c: revision 1.19
usr.sbin/sysinst/msg.mi.fr: revision 1.31
usr.sbin/sysinst/arch/alpha/md.c: revision 1.9
usr.sbin/sysinst/msg.mi.en: revision 1.30
usr.sbin/sysinst/defs.h: revision 1.56
usr.sbin/sysinst/msg.mi.en: revision 1.31
usr.sbin/sysinst/defs.h: revision 1.57
usr.sbin/sysinst/msg.mi.en: revision 1.32
usr.sbin/sysinst/arch/amiga/md.c: revision 1.6
usr.sbin/sysinst/arch/hpcmips/md.c: revision 1.9
usr.sbin/sysinst/defs.h: revision 1.58
usr.sbin/sysinst/arch/cats/md.c: revision 1.5
usr.sbin/sysinst/defs.h: revision 1.59
usr.sbin/sysinst/arch/newsmips/md.c: revision 1.6
usr.sbin/sysinst/arch/pmax/md.c: revision 1.8
usr.sbin/sysinst/arch/mipsco/md.c: revision 1.8
usr.sbin/sysinst/part_edit.c: revision 1.20
usr.sbin/sysinst/part_edit.c: revision 1.21
usr.sbin/sysinst/arch/macppc/md.c: revision 1.6
usr.sbin/sysinst/part_edit.c: revision 1.22
usr.sbin/sysinst/part_edit.c: revision 1.23
usr.sbin/sysinst/part_edit.c: revision 1.24
usr.sbin/sysinst/defs.h: revision 1.60
usr.sbin/sysinst/arch/mac68k/Makefile: revision 1.3
usr.sbin/sysinst/defs.h: revision 1.61
usr.sbin/sysinst/defs.h: revision 1.63
usr.sbin/sysinst/defs.h: revision 1.64
usr.sbin/sysinst/defs.h: revision 1.65
usr.sbin/sysinst/label.c: revision 1.21
usr.sbin/sysinst/defs.h: revision 1.66
usr.sbin/sysinst/label.c: revision 1.22
usr.sbin/sysinst/defs.h: revision 1.67
usr.sbin/sysinst/label.c: revision 1.23
usr.sbin/sysinst/label.c: revision 1.24
usr.sbin/sysinst/label.c: revision 1.25
usr.sbin/sysinst/label.c: revision 1.26
usr.sbin/sysinst/label.c: revision 1.27
usr.sbin/sysinst/msg.mi.pl: revision 1.31
usr.sbin/sysinst/label.c: revision 1.28
usr.sbin/sysinst/msg.mi.pl: revision 1.32
usr.sbin/sysinst/label.c: revision 1.29
usr.sbin/sysinst/arch/atari/md.c: revision 1.7
usr.sbin/sysinst/disklabel.c: revision 1.36
usr.sbin/sysinst/disklabel.c: revision 1.37
usr.sbin/sysinst/disklabel.c: revision 1.38
usr.sbin/sysinst/disklabel.c: revision 1.39
usr.sbin/sysinst/arch/bebox/md.c: revision 1.9
usr.sbin/sysinst/mbr.c: revision 1.32
usr.sbin/sysinst/disks.c: revision 1.66
usr.sbin/sysinst/mbr.c: revision 1.33
usr.sbin/sysinst/disks.c: revision 1.67
usr.sbin/sysinst/mbr.c: revision 1.34
usr.sbin/sysinst/arch/emips/md.c: revision 1.9
usr.sbin/sysinst/disks.c: revision 1.68
usr.sbin/sysinst/partitions.c: revision 1.11
usr.sbin/sysinst/mbr.c: revision 1.35
usr.sbin/sysinst/disks.c: revision 1.69
usr.sbin/sysinst/mbr.c: revision 1.36
usr.sbin/sysinst/arch/hppa/md.c: revision 1.8
usr.sbin/sysinst/arch/prep/md.c: revision 1.13
usr.sbin/sysinst/label.c: revision 1.30
usr.sbin/sysinst/arch/ews4800mips/md.c: revision 1.7
usr.sbin/sysinst/main.c: revision 1.21
usr.sbin/sysinst/main.c: revision 1.22
usr.sbin/sysinst/main.c: revision 1.23
usr.sbin/sysinst/bsddisklabel.c: revision 1.40
usr.sbin/sysinst/main.c: revision 1.24
usr.sbin/sysinst/arch/cobalt/md.h: revision 1.6
usr.sbin/sysinst/bsddisklabel.c: revision 1.41
usr.sbin/sysinst/main.c: revision 1.25
usr.sbin/sysinst/arch/news68k/md.c: revision 1.7
usr.sbin/sysinst/bsddisklabel.c: revision 1.42
usr.sbin/sysinst/bsddisklabel.c: revision 1.43
usr.sbin/sysinst/bsddisklabel.c: revision 1.44
usr.sbin/sysinst/bsddisklabel.c: revision 1.45
Use strlcpy in a few places to guarnatee 0-terminated strings
Rever previous: the d_packname in struct disklabel is not NUL terminated.
Disable the warning instead.
Do not force -Os optimization (unless SMALLPROG)
Remove unused "rel" global variable and make the -r option a no-op.
PR 55045: strlcpy(NULL, ..., 0) considered harmfull in some implementations.
PR misc/54886: bump threshold for automatic/default creation of a tmpfs /tmp
up slightly (to 384 MB ram). This will make sure the default install has
a > 64 MB /tmp available (number pulled out of thin air, 64 MB is the minimum
required by the ZFS tests).
Don't depend on common symbol definitions.
boardype should not be common.
Redo the root-size-limit check again after we grew the root partition
for kernel dumps. Auto-enable the /usr partition if it overflows.
For all non-root partitions, default to FFSv2.
When extending a partition (to fill the total disk size) do respect
size limits.
Do not suggest a size limited partition for extension by default.
Minor tweak to previous: when forcing a /usr partition just to have an
arbitrary extendable partition, still use its default size initially.
At the end of a new installation save entropy.
Ooops, backout previous - twice the entropy saving is not needed.
Instead slightly improve the (slightly) hidden other code that already
did it.
PR 55202: disable swapping if we started it due to low ram
it's "its"
Remove "If you booted from a floppy" message
Set HAVE_INSTALL_IMAGE for evbarm
Change mountpoint of boot ext2fs from /stand to /ext2 to avoid conflict.
Should be pulled up to netbsd-9, with fixes of PR/55060.
MBR type for Ext2 should be MBR_PTYPE_LNXEXT2, not MBR_PTYPE_FAT12.
Silence -Wstringop-truncation for ``name'' in disp_selected_part().
This variable is used only for display, and truncation seems harmless.
PR 55572: avoid crash when answering the mount point prompt for a previously
empty mount point with an emptry sting.
When adding a new partition in the concrete partition editor, make sure
to set a pointer to the partition table interface in the new entry.
Otherwise we may end up not writing back the partitions at all, leading
to further fallout later.
Receipe to reproduce the issue from Frederic Fauberteau, thanks!
In the concrete partitions editor, after deleting the last partition move
the menu selection to the "add a partition" entry (instead of the sentinel
line which is not an active menu entry).
Typo in comment
Keep a list of all partition tables from which we have deleted partitions
and make sure we update those partition tables when writing partitions,
even if no install related partition remains on them.
Fix display of timezone selection menu
If there is no current partitioning manager assume we are editing the
current system and make target_already_root() return true.
Fixes various fallout when using sysinst post installation.
PR 55377: mark boot partitions in the partition size display, as suggested
by Izumi Tsutsui (minor modifications + all bugs by me)
PR 55378: do not assume RAW_PART to be either 2 or 3
PR 55379: avoid creating bogus /etc/fstab lines for /dev/cd* if no
cdrom is available.
PR 55381: try to deal with moved (but not yet saved) partitions when
calculating free space
Apply patch provided by Izumi Tsutsui in PR 55382: make ext2 partitions
show up in the outer (MBR) partition table, needed for example on Cobalt
where firmware boots from that partition.
PR 55384: detangle pm->ptstart from the "install" flag (selecting a
target partition). Instead introduce a new PTI_INSTALL_TARGET per partition
flag and deal with it in the partitioning backends.
Honour pm->ptstart when allocating new partitions - it is supposed to be
the first sector usable by NetBSD.
If we have no explicitly marke target root partition, make sure to set
the proper flag on the implicit one.
When merging existing partitions with desired target system layout
information, only force the "mount" flag if the existing partitions
has a valid mount point.
Add a heuristic to detect and properly mark EFI system partitions
when re-using pre-existing partitions.
When MD code requests a reserved area (at the start of the disk)
make sure to properly account for the "lost" space during all calculations
and especially when expanding the main partition to fill the disk.
Avoid using the global "pm" or a passed device descriptons when we are
passing disk limits explicitly anyway.
Simplify/fix a few rounding calculations.
When creating new partitions for "full disk" use, pass a install target
hint to the partitioning backend (for the outer NetBSD partition).
Use an install target hint to mark a new partition active.
When compiled with BOOTSEL support, also name the new partition "NetBSD".
Remove more pm->ptstart abuse - calculate values localy where needed
instead.
Fix editing start and size of not yet existing outer partitions.
Previously we abused pm->ptstart / pm->ptsize to pass the bounds of the
NetBSD outer partition to the inner partition editor - but now this is
not a valid assumption any more, so explicitly fix the bounds if an
outer partition exists.
Remove very strange code that special-cased MSDOS file systems and refused
to newfs the partition (despite explicit request to do so) if it was
mountable.
Accidently carried over from a dim and distant past, before we had
fsck_newfs.
PR 55536: when we find existing partition tables and have alternative
formats available, offer to delete partitions and create new ones from
scratch (in some other or the same on-disk format).
Minor fix to previous: fix condition when we offer the partition type
switch - it makes sense even if the disk is partitioned but has no valid
partitions.
Before forcing MBR partitions into our disklabel, make sure they are not
there yet - could happen in various paths when reusing existing partitions
(or parts of that) - previously we would blindly duplicate identical
partitions.
Ooops, part of previous was not meant to be included yet
When renumbering partitions (after deletions) be slightly more lax
in matching, to cope with differences between MBR EFI partitions and
disklabel MSDOS partitions.
PR 55142: on popular demand bring back expert options to adjust the
number of free inodes, block size and fragment size for FFS and LFS.
Fix copy & pasto noticed by Jason Mitchell: change the type of a GPT
partition via "gpt type" - not "gpt label".
Fix copy & pasto (missing "again" label)
Remove dead code
Move MBR writing (if any) post disklabel writing, otherwise strange
interactions happen.
Properly convert partition default sizes in MB to number of sectors
 1.5.2.2 28-Jan-2020  msaitoh Pull up following revision(s) (requested by martin in ticket #668):
usr.sbin/sysinst/arch/cobalt/md.c: revision 1.11
usr.sbin/sysinst/arch/cobalt/md.c: revision 1.12
usr.sbin/sysinst/arch/arc/md.c: revision 1.11
usr.sbin/sysinst/arch/arc/md.c: revision 1.12
usr.sbin/sysinst/partman.c: revision 1.43
usr.sbin/sysinst/partman.c: revision 1.46
usr.sbin/sysinst/partman.c: revision 1.47
usr.sbin/sysinst/partman.c: revision 1.48
usr.sbin/sysinst/partman.c: revision 1.49
usr.sbin/sysinst/msg.pm.fr: revision 1.2
usr.sbin/sysinst/upgrade.c: revision 1.14
usr.sbin/sysinst/arch/i386/md.c: revision 1.28
usr.sbin/sysinst/arch/i386/md.c: revision 1.29
usr.sbin/sysinst/arch/ofppc/md.c: revision 1.9
usr.sbin/sysinst/arch/sandpoint/md.c: revision 1.7
usr.sbin/sysinst/arch/sandpoint/md.c: revision 1.8
usr.sbin/sysinst/gpt.c: revision 1.14
usr.sbin/sysinst/gpt.c: revision 1.15
usr.sbin/sysinst/arch/luna68k/md.c: revision 1.8
usr.sbin/sysinst/gpt.c: revision 1.16
usr.sbin/sysinst/msg.pm.de: revision 1.2
usr.sbin/sysinst/arch/evbarm/md.c: revision 1.11
usr.sbin/sysinst/arch/evbarm/md.c: revision 1.12
usr.sbin/sysinst/arch/evbarm/md.c: revision 1.13
usr.sbin/sysinst/arch/evbarm/md.c: revision 1.14
usr.sbin/sysinst/sizemultname.c: revision 1.4
usr.sbin/sysinst/msg.pm.en: revision 1.2
usr.sbin/sysinst/arch/landisk/md.c: revision 1.12
usr.sbin/sysinst/util.c: revision 1.41
usr.sbin/sysinst/arch/landisk/md.c: revision 1.13
usr.sbin/sysinst/util.c: revision 1.42
usr.sbin/sysinst/arch/ofppc/md.c: revision 1.10
usr.sbin/sysinst/partitions.c: revision 1.9
usr.sbin/sysinst/arch/evbarm/md.h: revision 1.4
usr.sbin/sysinst/arch/evbarm/md.h: revision 1.5
usr.sbin/sysinst/arch/evbmips/md.c: revision 1.7
usr.sbin/sysinst/arch/evbmips/md.c: revision 1.8
usr.sbin/sysinst/msg.mi.fr: revision 1.25
usr.sbin/sysinst/msg.mi.de: revision 1.20
usr.sbin/sysinst/install.c: revision 1.14
usr.sbin/sysinst/partitions.h: revision 1.13
usr.sbin/sysinst/partitions.h: revision 1.14
usr.sbin/sysinst/arch/evbppc/md.c: revision 1.7
usr.sbin/sysinst/arch/playstation2/md.c: revision 1.7
usr.sbin/sysinst/msg.mi.en: revision 1.27
usr.sbin/sysinst/partitions.h: revision 1.15
usr.sbin/sysinst/arch/evbppc/md.c: revision 1.8
usr.sbin/sysinst/arch/hpcarm/md.c: revision 1.7
usr.sbin/sysinst/arch/playstation2/md.c: revision 1.8
usr.sbin/sysinst/msg.pm.pl: revision 1.2
usr.sbin/sysinst/arch/hpcarm/md.c: revision 1.8
usr.sbin/sysinst/msg.mi.es: revision 1.21
usr.sbin/sysinst/arch/zaurus/md.c: revision 1.7
usr.sbin/sysinst/target.c: revision 1.11
usr.sbin/sysinst/arch/zaurus/md.c: revision 1.8
usr.sbin/sysinst/part_edit.c: revision 1.14
usr.sbin/sysinst/part_edit.c: revision 1.15
usr.sbin/sysinst/part_edit.c: revision 1.16
usr.sbin/sysinst/defs.h: revision 1.50
usr.sbin/sysinst/defs.h: revision 1.51
usr.sbin/sysinst/defs.h: revision 1.52
usr.sbin/sysinst/defs.h: revision 1.53
usr.sbin/sysinst/defs.h: revision 1.54
usr.sbin/sysinst/arch/hpcmips/md.c: revision 1.7
usr.sbin/sysinst/arch/hpcmips/md.c: revision 1.8
usr.sbin/sysinst/arch/hpcsh/md.c: revision 1.8
usr.sbin/sysinst/msg.pm.es: revision 1.2
usr.sbin/sysinst/arch/hpcsh/md.c: revision 1.9
usr.sbin/sysinst/label.c: revision 1.18
usr.sbin/sysinst/label.c: revision 1.19
usr.sbin/sysinst/net.c: revision 1.35
usr.sbin/sysinst/msg.mi.pl: revision 1.28
usr.sbin/sysinst/disklabel.c: revision 1.28
usr.sbin/sysinst/disklabel.c: revision 1.29
usr.sbin/sysinst/mbr.c: revision 1.24
usr.sbin/sysinst/disks.c: revision 1.59
usr.sbin/sysinst/mbr.c: revision 1.25
usr.sbin/sysinst/mbr.c: revision 1.26
usr.sbin/sysinst/mbr.c: revision 1.27
usr.sbin/sysinst/mbr.c: revision 1.28
usr.sbin/sysinst/label.c: revision 1.20
usr.sbin/sysinst/mbr.c: revision 1.29
usr.sbin/sysinst/bsddisklabel.c: revision 1.34
usr.sbin/sysinst/bsddisklabel.c: revision 1.35
usr.sbin/sysinst/bsddisklabel.c: revision 1.36
usr.sbin/sysinst/bsddisklabel.c: revision 1.37
usr.sbin/sysinst/disklabel.c: revision 1.30
usr.sbin/sysinst/bsddisklabel.c: revision 1.38
usr.sbin/sysinst/disklabel.c: revision 1.31
usr.sbin/sysinst/disklabel.c: revision 1.32
usr.sbin/sysinst/disklabel.c: revision 1.33
usr.sbin/sysinst/disklabel.c: revision 1.34
usr.sbin/sysinst/disks.c: revision 1.60
usr.sbin/sysinst/disks.c: revision 1.61
usr.sbin/sysinst/arch/bebox/md.c: revision 1.7
usr.sbin/sysinst/disks.c: revision 1.62
usr.sbin/sysinst/arch/bebox/md.c: revision 1.8
usr.sbin/sysinst/mbr.c: revision 1.30
usr.sbin/sysinst/partitions.c: revision 1.10
usr.sbin/sysinst/arch/prep/md.c: revision 1.11
usr.sbin/sysinst/arch/prep/md.c: revision 1.12
usr.sbin/sysinst/menus.pm: revision 1.3
usr.sbin/sysinst/main.c: revision 1.20
usr.sbin/sysinst/menus.mi: revision 1.20
usr.sbin/sysinst/menus.mi: revision 1.21
avoid calling snprintf/strlcat with an input parameter the same
as the output. from martin@. fixes gcc 8 restrict warnings.
Finish conversion of extended partitioning parts to new abstract
backend interface. XXX still could use a lot of polishing.
Instead of a (bogus) attempt to query the model via ofctl, use the (now
fixed) sysctl hw.model instead.
When reading the secondary disklabel partitions from an existing disklabel
set the mbr partitions as parent.
Move the LABELSECTOR check and make it FS type specific - some partition
types (FFS, RAID) are allowed to overlap with the LABELSECTOR.
When asked to create a whole-disk partition for unknown usage, do not only
assert(false), but actually return an error (in case "assert" is a nop).
PR install/54787: when trying to derive proper alignement and first offset
from exisiting partitions, use the first partition offset if it is already
closer to the start of the disk than the prefered alignment - we can not
move existing partitions around.
Fix handling of inner/outer partitions (e.g. MBR and disklabel) in
extended partitioning:
- when editing a disk with such a schme, offer both partitions in two
steps
- when commiting changes save the inner partitions after the outer ones
Add a method to query the partitioning schemes "internal idea" of a
cylinder size - whatever that means in the real world.
Avoid using the global "pm" variable in utility functions - during
extended partitioning they may point to a different device.
Remove useless calls to get_ramsize() - return value is ignored and
the function has no side effects.
Fix /tmp tmpfs handling and on machines with enough RAM default to
creating a /tmp tmpfs with 25% of ram size limit. Suggested by ad@.
PR install/54872: fix printf argument order, sectors and heads were
swapped in the bios geometry display.
First try to bring evbarm installation closer to current reality.
hide disklabel_non_bootable() under NO_DISKLABEL_BOOT like the usage.
should fix most builds.
Deal with even stranger fictious empty disklabels (PR kern/54882).
Factor out all RAM size thresholds as defines to avoid magic numbers.
To work around PR misc/54886 bump the threshold for a tmpfs /tmp mount
up to 256 MB.
When retrying sets during extraction, reset the relevant statistics
to avoid counting retried sets multiple times.
Reported by kim.
Fix support for non-512-byte/sector disks again after I broke it when
introducing the abstract partition backends.
Use a few strlcpy() instead of strncpy() for network ioctl structs.
We seem to have no formal documentation stating the various
char if*_name[IFNAMSIZ]; /* if name, e.g. "en0" */
elements in ioctls are nul terminated, but the peanut gallery claims
it is so - and at least half of the code in-tree touching them agrees.
Too much disklabel magic happening in the kernel - to compensate force
MBR first when trying to identify the existing partitioning scheme of
a disk.
 1.5.2.1 18-Aug-2019  msaitoh Pull up following revision(s) (requested by martin in ticket #77):
usr.sbin/sysinst/arch/sandpoint/md.c: revision 1.6
usr.sbin/sysinst/arch/playstation2/md.c: revision 1.6
usr.sbin/sysinst/arch/evbppc/md.c: revision 1.6
usr.sbin/sysinst/arch/hpcarm/md.c: revision 1.6
usr.sbin/sysinst/arch/zaurus/md.c: revision 1.6
usr.sbin/sysinst/arch/arc/md.c: revision 1.9
usr.sbin/sysinst/arch/hpcmips/md.c: revision 1.6
usr.sbin/sysinst/arch/bebox/md.c: revision 1.6
usr.sbin/sysinst/arch/hpcsh/md.c: revision 1.7
usr.sbin/sysinst/arch/landisk/md.c: revision 1.11
usr.sbin/sysinst/arch/prep/md.c: revision 1.9
usr.sbin/sysinst/arch/i386/md.c: revision 1.21
usr.sbin/sysinst/arch/evbmips/md.c: revision 1.6
usr.sbin/sysinst/arch/evbarm/md.c: revision 1.9
usr.sbin/sysinst/arch/cobalt/md.c: revision 1.9
usr.sbin/sysinst/arch/ofppc/md.c: revision 1.8
When we ask the user to select a partitioning scheme and they refuse
(that is: select "Exit" in the menu), abort installation.
 1.3 02-Oct-2019  maya Split out /rescue to its own set and adapt installers/images to add it.

This is meant to make updates safer: if something goes wrong with updating
base, we still have the old, standalone /rescue to recover from.
 1.2 09-Aug-2017  maya branches: 1.2.4; 1.2.6;
evbmips can "boot root FFSv2"

It typically uses a non-NetBSD bootloader (PMON, u-boot...) and those
don't differentiate from v1 from v2 - both are unsupported and it requires
a separate boot partition.
 1.1 26-Jul-2014  dholland branches: 1.1.2; 1.1.6; 1.1.20;
Move sysinst sources to usr.sbin.

This commit only physically moves the sources - there are no other
changes, to maximize the probability that this will be treated as a
rename if we ever do manage to migrate away from CVS.

Moving sysinst has been discussed on and off for years and has two
goals: making it easier to work on sysinst, and also making sysinst
available on running systems for use installing chroots and VM images
and other such things. None of the latter is possible yet, but as they
say, one thing at a time.

Doing this now was approved in an impromptu fashion by mrg, riz,
riastradh, me, and groo.
 1.1.20.1 29-Aug-2017  martin Pull up following revision(s) (requested by maya in ticket #246):
sys/arch/evbmips/conf/std.loongson: revision 1.2
usr.sbin/sysinst/arch/evbmips/md.h: revision 1.2
sys/arch/mips/mips/mipsX_subr.S: revision 1.101
sys/arch/mips/mips/mipsX_subr.S: revision 1.102
sys/arch/mips/mips/mipsX_subr.S: revision 1.103
sys/arch/mips/mips/mipsX_subr.S: revision 1.104
In working around loongson errata clear BTB and RAS, same as
other operating systems.
15 Errata: Issue of Out-of-order in loongson (translated)
In loongson 2F, because of the branch prediction, sometimes the CPU
may fetch the instructions from some unexpected area (for example I/O
space). It is an invalid operation. There are two ways for the CPU to
choose the branch target. The first one is predicting the branch
target according to the branch target history. The second one is
calculating the branch target by the ALU. There are most 8
instructions in the instruction window at the same time in loongson2f
(Remember the loongson 2f is superscalar, right?). Hence, the
branch target of an indirect branch(such as jr) could be got(may be
predicted by the branch target history) earlier and the instrctions of
the branch target could be prefetched even if there are branch
instructions before it. As a result, it is possible to fetch the
instructions from I/O region( say out-of the physical address range of
[0- 0x100000]) in kernel model because of the instruction prefetch of
the branch target.
There are some suggestions to prevent prefetching instructions from
the I/O region in kernel mode.
(1) When switching from user model to kernel model, you should flush
the branch target history such as BTB and RAS.
(2) Doing some tricks to the indirect branch target to make sure that
the indirect branch target can not be in the I/O region.
Remove whitespace I just introduced
Build the loongson kernels with all the binutils loongson2f errata workarounds
From Zhang Fuxin via <a rel="nofollow" href="https://sourceware.org/ml/binutils/2009-11/msg00387.html">https://sourceware.org/ml/binutils/2009-11/msg00387.html</a>
- The NOP issue
"The nature of the erratum is deeply related to the microarchitecture of
Loongson-2. It uses roughly a 4-way superscalar dynamically scheduled core,
instructions are excuted as much as possible in parallel with technics like
branch prediction etc. We use a 8-entry internal branch prediction queue to
keep track of each predicted branches, if some branches are proved to be
wrongly predicted, all the instructions following it will be cancelled,together
with the resources used by them, including the registers used for renaming, and
the queue entry will be freeed. There is a bug that might cause a hang when the
queue is full(some resources might been leaked due to conflict branch entries),
the workaround is to reduce the possiblity of branch queue full by using
renaming registers(they are also limited, can prevent too many simutaneos
branches). In theory this is still not enough to fully eliminate possible
hangs, but the possiblity is extremely low now and hard to be hit in real
code."
- The JUMP instructions issue
"The Loongson-2 series processors have quite complex micro-architecture, it will
try to execute instructions from the predicated branch of coming instruction
stream before they are confirmed to be run, if the predication of branch
direction is proved wrong later, the instructions will be cancelled, but if the
instructions is a read from memory, the read action might not be cancelled(but
the changes to register will) to enable some prefetch. This will lead to some
problems when compining with some chipsets. E.g. the AMD CS5536 used in
Yeeloong/Fuloong will hang if it gets an address in the physical address range
of 0x100000-0x200000(might be more other ranges). Speculative reads can perform
read at any address in theory(due to wrong prediction of branch directions and
the use of branch target buffer), thus in very few occasions they might cause a
hard lock of the machine.
To prevent this, we need to prevent some addresses from entering branch
target buffers. A way to do this is that to modify all jump targets, e.g.,
calulations of t9
...
jalr t9 =>
calculations of t9
or t9, t9, 0x80000000; // to make sure t9 is in kseg0
jalr t9
Of course, we have to consider 64/32bit, and modules addresses etc.
This only need to be performed on kernel code, because only there we can have
accesses not translated/limited by TLB. For user code, it is impossible to
generate accesses to unwanted physical address. So it is safe.
Also, to prevent addresses generated by user mode code to be used by the
kernel, we add a few empty jumps to flush the BTB upon entrance to kernel."
evbmips can "boot root FFSv2"
It typically uses a non-NetBSD bootloader (PMON, u-boot...) and those
don't differentiate from v1 from v2 - both are unsupported and it requires
a separate boot partition.
Don't need the errata workaround on user return
It's reported that the MMU will block such invalid reads in userland,
and it's only needed on entry.
use meaningful name for errata hack, dedup
 1.1.6.2 20-Aug-2014  tls Rebase to HEAD as of a few days ago.
 1.1.6.1 26-Jul-2014  tls file md.h was added on branch tls-maxphys on 2014-08-20 00:05:15 +0000
 1.1.2.2 10-Aug-2014  tls Rebase.
 1.1.2.1 26-Jul-2014  tls file md.h was added on branch tls-earlyentropy on 2014-08-10 07:00:25 +0000
 1.2.6.1 17-Nov-2019  martin Pull up following revision(s) (requested by maya in ticket #435):

distrib/sets/maketars: revision 1.90
usr.sbin/sysinst/arch/playstation2/md.h: revision 1.2
usr.sbin/sysinst/arch/sandpoint/md.h: revision 1.3
usr.sbin/sysinst/arch/evbppc/md.h: revision 1.3
usr.sbin/sysinst/arch/hpcarm/md.h: revision 1.3
usr.sbin/sysinst/arch/mvme68k/md.h: revision 1.3
distrib/sun3/MakeInstTape: revision 1.3
usr.sbin/sysinst/util.c: revision 1.33
distrib/sets/lists/rescue/mi: revision 1.1
distrib/sets/lists/base/rescue.sun2: file removal
usr.sbin/sysinst/arch/zaurus/md.h: revision 1.3
distrib/sets/lists/base/rescue.ad.m68k.shl: file removal
distrib/sets/regpkgset: revision 1.13
usr.sbin/sysinst/arch/i386/md.h: revision 1.7
distrib/sets/lists/base/rescue.sparc: file removal
distrib/notes/mvme68k/xfer: revision 1.19
distrib/sets/sets.subr: revision 1.187
distrib/common/bootimage/Makefile.bootimage: revision 1.22
usr.sbin/sysinst/msg.mi.de: revision 1.16
usr.sbin/sysinst/arch/atari/md.h: revision 1.3
rescue/Makefile: revision 1.38
distrib/sets/lists/base/rescue.macppc: file removal
usr.sbin/sysinst/arch/arc/md.h: revision 1.4
distrib/miniroot/install.sub: revision 1.49
usr.sbin/sysinst/arch/acorn32/md.h: revision 1.3
usr.sbin/sysinst/arch/x68k/md.h: revision 1.3
usr.sbin/sysinst/arch/hpcmips/md.h: revision 1.3
usr.sbin/sysinst/arch/bebox/md.h: revision 1.3
usr.sbin/sysinst/arch/hpcsh/md.h: revision 1.2
distrib/sets/lists/base/rescue.shark: file removal
usr.sbin/sysinst/arch/emips/md.h: revision 1.5
distrib/utils/embedded/mkimage: revision 1.70
usr.sbin/sysinst/arch/shark/md.h: revision 1.3
usr.sbin/sysinst/arch/pmax/md.h: revision 1.4
usr.sbin/sysinst/arch/amiga/md.h: revision 1.4
usr.sbin/sysinst/arch/hp300/md.h: revision 1.5
rescue/list.ldconfig: file removal
distrib/sets/lists/base/rescue.ad.m68k: file removal
usr.sbin/sysinst/arch/prep/md.h: revision 1.4
usr.sbin/sysinst/arch/cats/md.h: revision 1.4
usr.sbin/sysinst/arch/amd64/md.h: revision 1.7
usr.sbin/sysinst/msg.mi.es: revision 1.17
usr.sbin/sysinst/msg.mi.fr: revision 1.20
usr.sbin/sysinst/msg.mi.pl: revision 1.23
distrib/sets/lists/base/rescue.i386: file removal
usr.sbin/sysinst/arch/evbarm/md.h: revision 1.3
distrib/sets/lists/base/rescue.vax: file removal
distrib/amd64/uefi-installimage/Makefile.bootimage: revision 1.12
usr.sbin/sysinst/arch/evbmips/md.h: revision 1.3
distrib/sets/lists/base/rescue.mi: file removal
distrib/sets/README: revision 1.14
usr.sbin/sysinst/arch/sgimips/md.h: revision 1.4
distrib/sets/lists/base/rescue.sparc64: file removal
distrib/sets/lists/base/rescue.mi: revision 1.45
distrib/sets/lists/base/rescue.mi: revision 1.46
usr.sbin/sysinst/arch/ofppc/md.h: revision 1.4
usr.sbin/sysinst/arch/cobalt/md.h: revision 1.4
distrib/sets/lists/base/rescue.ad.arm: file removal
distrib/sets/lists/base/rescue.mac68k: file removal
usr.sbin/sysinst/defs.h: revision 1.45
usr.sbin/sysinst/arch/landisk/md.h: revision 1.2
distrib/notes/atari/xfer: revision 1.17
etc/Makefile: revision 1.441
usr.sbin/sysinst/msg.mi.en: revision 1.22
distrib/sun2/MakeInstTape: revision 1.2

Remove ldconfig from /rescue, and mark it MI obsolete.
- ldconfig in netbsd refers to a.out binaries only. We've been ELF-only
since NetBSD 2.0 or so, and having it in /rescue served little purpose
even before that, as /rescue is standalone.
- Using MI obsolete to avoid the need for MD set lists where ldconfig
is the sole entry

Mark /rescue/edlabel as MI-obsolete, so we can remove all remaining MD
rescue set list files.

Split out /rescue to its own set and adapt installers/images to add it.

This is meant to make updates safer: if something goes wrong with updating
base, we still have the old, standalone /rescue to recover from.
 1.2.4.1 13-Apr-2020  martin Mostly merge changes from HEAD upto 20200411
 1.1 26-Jul-2014  dholland branches: 1.1.2; 1.1.6;
Move sysinst sources to usr.sbin.

This commit only physically moves the sources - there are no other
changes, to maximize the probability that this will be treated as a
rename if we ever do manage to migrate away from CVS.

Moving sysinst has been discussed on and off for years and has two
goals: making it easier to work on sysinst, and also making sysinst
available on running systems for use installing chroots and VM images
and other such things. None of the latter is possible yet, but as they
say, one thing at a time.

Doing this now was approved in an impromptu fashion by mrg, riz,
riastradh, me, and groo.
 1.1.6.2 20-Aug-2014  tls Rebase to HEAD as of a few days ago.
 1.1.6.1 26-Jul-2014  tls file menus.md.en was added on branch tls-maxphys on 2014-08-20 00:05:15 +0000
 1.1.2.2 10-Aug-2014  tls Rebase.
 1.1.2.1 26-Jul-2014  tls file menus.md.en was added on branch tls-earlyentropy on 2014-08-10 07:00:25 +0000
 1.1 26-Jul-2014  dholland branches: 1.1.2; 1.1.6;
Move sysinst sources to usr.sbin.

This commit only physically moves the sources - there are no other
changes, to maximize the probability that this will be treated as a
rename if we ever do manage to migrate away from CVS.

Moving sysinst has been discussed on and off for years and has two
goals: making it easier to work on sysinst, and also making sysinst
available on running systems for use installing chroots and VM images
and other such things. None of the latter is possible yet, but as they
say, one thing at a time.

Doing this now was approved in an impromptu fashion by mrg, riz,
riastradh, me, and groo.
 1.1.6.2 20-Aug-2014  tls Rebase to HEAD as of a few days ago.
 1.1.6.1 26-Jul-2014  tls file menus.md.es was added on branch tls-maxphys on 2014-08-20 00:05:15 +0000
 1.1.2.2 10-Aug-2014  tls Rebase.
 1.1.2.1 26-Jul-2014  tls file menus.md.es was added on branch tls-earlyentropy on 2014-08-10 07:00:25 +0000
 1.1 26-Jul-2014  dholland branches: 1.1.2; 1.1.6;
Move sysinst sources to usr.sbin.

This commit only physically moves the sources - there are no other
changes, to maximize the probability that this will be treated as a
rename if we ever do manage to migrate away from CVS.

Moving sysinst has been discussed on and off for years and has two
goals: making it easier to work on sysinst, and also making sysinst
available on running systems for use installing chroots and VM images
and other such things. None of the latter is possible yet, but as they
say, one thing at a time.

Doing this now was approved in an impromptu fashion by mrg, riz,
riastradh, me, and groo.
 1.1.6.2 20-Aug-2014  tls Rebase to HEAD as of a few days ago.
 1.1.6.1 26-Jul-2014  tls file menus.md.fr was added on branch tls-maxphys on 2014-08-20 00:05:15 +0000
 1.1.2.2 10-Aug-2014  tls Rebase.
 1.1.2.1 26-Jul-2014  tls file menus.md.fr was added on branch tls-earlyentropy on 2014-08-10 07:00:25 +0000
 1.1 26-Jul-2014  dholland branches: 1.1.2; 1.1.6;
Move sysinst sources to usr.sbin.

This commit only physically moves the sources - there are no other
changes, to maximize the probability that this will be treated as a
rename if we ever do manage to migrate away from CVS.

Moving sysinst has been discussed on and off for years and has two
goals: making it easier to work on sysinst, and also making sysinst
available on running systems for use installing chroots and VM images
and other such things. None of the latter is possible yet, but as they
say, one thing at a time.

Doing this now was approved in an impromptu fashion by mrg, riz,
riastradh, me, and groo.
 1.1.6.2 20-Aug-2014  tls Rebase to HEAD as of a few days ago.
 1.1.6.1 26-Jul-2014  tls file menus.md.pl was added on branch tls-maxphys on 2014-08-20 00:05:15 +0000
 1.1.2.2 10-Aug-2014  tls Rebase.
 1.1.2.1 26-Jul-2014  tls file menus.md.pl was added on branch tls-earlyentropy on 2014-08-10 07:00:25 +0000
 1.1 26-Jul-2014  dholland branches: 1.1.2; 1.1.6;
Move sysinst sources to usr.sbin.

This commit only physically moves the sources - there are no other
changes, to maximize the probability that this will be treated as a
rename if we ever do manage to migrate away from CVS.

Moving sysinst has been discussed on and off for years and has two
goals: making it easier to work on sysinst, and also making sysinst
available on running systems for use installing chroots and VM images
and other such things. None of the latter is possible yet, but as they
say, one thing at a time.

Doing this now was approved in an impromptu fashion by mrg, riz,
riastradh, me, and groo.
 1.1.6.2 20-Aug-2014  tls Rebase to HEAD as of a few days ago.
 1.1.6.1 26-Jul-2014  tls file msg.md.de was added on branch tls-maxphys on 2014-08-20 00:05:15 +0000
 1.1.2.2 10-Aug-2014  tls Rebase.
 1.1.2.1 26-Jul-2014  tls file msg.md.de was added on branch tls-earlyentropy on 2014-08-10 07:00:26 +0000
 1.1 26-Jul-2014  dholland branches: 1.1.2; 1.1.6;
Move sysinst sources to usr.sbin.

This commit only physically moves the sources - there are no other
changes, to maximize the probability that this will be treated as a
rename if we ever do manage to migrate away from CVS.

Moving sysinst has been discussed on and off for years and has two
goals: making it easier to work on sysinst, and also making sysinst
available on running systems for use installing chroots and VM images
and other such things. None of the latter is possible yet, but as they
say, one thing at a time.

Doing this now was approved in an impromptu fashion by mrg, riz,
riastradh, me, and groo.
 1.1.6.2 20-Aug-2014  tls Rebase to HEAD as of a few days ago.
 1.1.6.1 26-Jul-2014  tls file msg.md.en was added on branch tls-maxphys on 2014-08-20 00:05:15 +0000
 1.1.2.2 10-Aug-2014  tls Rebase.
 1.1.2.1 26-Jul-2014  tls file msg.md.en was added on branch tls-earlyentropy on 2014-08-10 07:00:26 +0000
 1.1 26-Jul-2014  dholland branches: 1.1.2; 1.1.6;
Move sysinst sources to usr.sbin.

This commit only physically moves the sources - there are no other
changes, to maximize the probability that this will be treated as a
rename if we ever do manage to migrate away from CVS.

Moving sysinst has been discussed on and off for years and has two
goals: making it easier to work on sysinst, and also making sysinst
available on running systems for use installing chroots and VM images
and other such things. None of the latter is possible yet, but as they
say, one thing at a time.

Doing this now was approved in an impromptu fashion by mrg, riz,
riastradh, me, and groo.
 1.1.6.2 20-Aug-2014  tls Rebase to HEAD as of a few days ago.
 1.1.6.1 26-Jul-2014  tls file msg.md.es was added on branch tls-maxphys on 2014-08-20 00:05:15 +0000
 1.1.2.2 10-Aug-2014  tls Rebase.
 1.1.2.1 26-Jul-2014  tls file msg.md.es was added on branch tls-earlyentropy on 2014-08-10 07:00:26 +0000
 1.1 26-Jul-2014  dholland branches: 1.1.2; 1.1.6;
Move sysinst sources to usr.sbin.

This commit only physically moves the sources - there are no other
changes, to maximize the probability that this will be treated as a
rename if we ever do manage to migrate away from CVS.

Moving sysinst has been discussed on and off for years and has two
goals: making it easier to work on sysinst, and also making sysinst
available on running systems for use installing chroots and VM images
and other such things. None of the latter is possible yet, but as they
say, one thing at a time.

Doing this now was approved in an impromptu fashion by mrg, riz,
riastradh, me, and groo.
 1.1.6.2 20-Aug-2014  tls Rebase to HEAD as of a few days ago.
 1.1.6.1 26-Jul-2014  tls file msg.md.fr was added on branch tls-maxphys on 2014-08-20 00:05:15 +0000
 1.1.2.2 10-Aug-2014  tls Rebase.
 1.1.2.1 26-Jul-2014  tls file msg.md.fr was added on branch tls-earlyentropy on 2014-08-10 07:00:26 +0000
 1.1 26-Jul-2014  dholland branches: 1.1.2; 1.1.6;
Move sysinst sources to usr.sbin.

This commit only physically moves the sources - there are no other
changes, to maximize the probability that this will be treated as a
rename if we ever do manage to migrate away from CVS.

Moving sysinst has been discussed on and off for years and has two
goals: making it easier to work on sysinst, and also making sysinst
available on running systems for use installing chroots and VM images
and other such things. None of the latter is possible yet, but as they
say, one thing at a time.

Doing this now was approved in an impromptu fashion by mrg, riz,
riastradh, me, and groo.
 1.1.6.2 20-Aug-2014  tls Rebase to HEAD as of a few days ago.
 1.1.6.1 26-Jul-2014  tls file msg.md.pl was added on branch tls-maxphys on 2014-08-20 00:05:15 +0000
 1.1.2.2 10-Aug-2014  tls Rebase.
 1.1.2.1 26-Jul-2014  tls file msg.md.pl was added on branch tls-earlyentropy on 2014-08-10 07:00:26 +0000
 1.2 12-Jun-2019  martin Rework internal data structures and "interfaces to user interface" functions
to get rid of all disklabel assumptions.

Previously (even for GPT partitioning) struct disklabel was used, which
obviously breaks large disk setups. Also many MD parts and parts of the
user interface assumed (a) a struct disklabel is used internally to
store partitioning information and (b) partitions are named 'a' ... $MAXPART.

Get rid of this and replace it with a quite abstract interface that should
be able to deal with all variants in partition storage:

- partitions are stored in a (partly abstract) struct disk_partitions
and most parts of it are only accessed via accessor functions provided
by a "partitioning scheme".

- implement partitioning schemes for MBR, disklabel and GPT (with likely
RDB [amiga] and Apple Partition Map [mac*] to follow soon)

- partitioning schemes may be cascaded, e.g. on x86 when using MBR as
"outer partitions", we have disklabel as "inner partitions".

- all user interface goes via accessor functions in the partitioning scheme,
some of which return pointers to special user interface descriptors
(e.g. to allow editing partition flags, which are scheme specific)

Overall the user interface changes (in this initial step) are minimal but
noticable. A new Anita is needed for automatic test setups - many thanks
to Andreas Gustafsson for lots of early testing and a new Anita version,
and to Manuel Bouyer for cooperation and tests of the Anita release.

This work was sponsored by The NetBSD Foundation, Inc.
 1.1 26-Jul-2014  dholland branches: 1.1.2; 1.1.6; 1.1.28;
Move sysinst sources to usr.sbin.

This commit only physically moves the sources - there are no other
changes, to maximize the probability that this will be treated as a
rename if we ever do manage to migrate away from CVS.

Moving sysinst has been discussed on and off for years and has two
goals: making it easier to work on sysinst, and also making sysinst
available on running systems for use installing chroots and VM images
and other such things. None of the latter is possible yet, but as they
say, one thing at a time.

Doing this now was approved in an impromptu fashion by mrg, riz,
riastradh, me, and groo.
 1.1.28.1 13-Apr-2020  martin Mostly merge changes from HEAD upto 20200411
 1.1.6.2 20-Aug-2014  tls Rebase to HEAD as of a few days ago.
 1.1.6.1 26-Jul-2014  tls file Makefile was added on branch tls-maxphys on 2014-08-20 00:05:15 +0000
 1.1.2.2 10-Aug-2014  tls Rebase.
 1.1.2.1 26-Jul-2014  tls file Makefile was added on branch tls-earlyentropy on 2014-08-10 07:00:26 +0000
 1.11 20-Jan-2024  jmcneill evbppc: Add initial support for the Nintendo Wii
 1.10 29-Jan-2022  martin branches: 1.10.2;
When upgrading, update the boot code post extraction from
the updated target file system.
 1.9 12-Oct-2020  martin PR 55536: when we find existing partition tables and have alternative
formats available, offer to delete partitions and create new ones from
scratch (in some other or the same on-disk format).
 1.8 27-Jan-2020  martin Fix support for non-512-byte/sector disks again after I broke it when
introducing the abstract partition backends.
 1.7 09-Jan-2020  martin Finish conversion of extended partitioning parts to new abstract
backend interface. XXX still could use a lot of polishing.
 1.6 14-Aug-2019  martin When we ask the user to select a partitioning scheme and they refuse
(that is: select "Exit" in the menu), abort installation.
 1.5 13-Jul-2019  martin branches: 1.5.2;
We may call md_pre_mount() multiple times for the same install set,
so pass an additional index argument so MD code knows which part
of the install will be mounted next.
 1.4 13-Jun-2019  martin In the new world order disks may come without any partitioning scheme
attached - so the user may have to select one.
 1.3 12-Jun-2019  martin Rework internal data structures and "interfaces to user interface" functions
to get rid of all disklabel assumptions.

Previously (even for GPT partitioning) struct disklabel was used, which
obviously breaks large disk setups. Also many MD parts and parts of the
user interface assumed (a) a struct disklabel is used internally to
store partitioning information and (b) partitions are named 'a' ... $MAXPART.

Get rid of this and replace it with a quite abstract interface that should
be able to deal with all variants in partition storage:

- partitions are stored in a (partly abstract) struct disk_partitions
and most parts of it are only accessed via accessor functions provided
by a "partitioning scheme".

- implement partitioning schemes for MBR, disklabel and GPT (with likely
RDB [amiga] and Apple Partition Map [mac*] to follow soon)

- partitioning schemes may be cascaded, e.g. on x86 when using MBR as
"outer partitions", we have disklabel as "inner partitions".

- all user interface goes via accessor functions in the partitioning scheme,
some of which return pointers to special user interface descriptors
(e.g. to allow editing partition flags, which are scheme specific)

Overall the user interface changes (in this initial step) are minimal but
noticable. A new Anita is needed for automatic test setups - many thanks
to Andreas Gustafsson for lots of early testing and a new Anita version,
and to Manuel Bouyer for cooperation and tests of the Anita release.

This work was sponsored by The NetBSD Foundation, Inc.
 1.2 03-Aug-2014  martin branches: 1.2.2; 1.2.6; 1.2.28;
(Finally) merge a slightly modified version of the 2012 GSoC results
from Eugene Lozovoy: add extended partitioning options to sysinst.
Still needs some testing and polishing, but it now is possible to use GPT
or to create a RAID set from scratch and install onto it.
 1.1 26-Jul-2014  dholland Move sysinst sources to usr.sbin.

This commit only physically moves the sources - there are no other
changes, to maximize the probability that this will be treated as a
rename if we ever do manage to migrate away from CVS.

Moving sysinst has been discussed on and off for years and has two
goals: making it easier to work on sysinst, and also making sysinst
available on running systems for use installing chroots and VM images
and other such things. None of the latter is possible yet, but as they
say, one thing at a time.

Doing this now was approved in an impromptu fashion by mrg, riz,
riastradh, me, and groo.
 1.2.28.1 13-Apr-2020  martin Mostly merge changes from HEAD upto 20200411
 1.2.6.2 20-Aug-2014  tls Rebase to HEAD as of a few days ago.
 1.2.6.1 03-Aug-2014  tls file md.c was added on branch tls-maxphys on 2014-08-20 00:05:15 +0000
 1.2.2.2 10-Aug-2014  tls Rebase.
 1.2.2.1 03-Aug-2014  tls file md.c was added on branch tls-earlyentropy on 2014-08-10 07:00:26 +0000
 1.5.2.4 02-Feb-2022  msaitoh Pull up following revision(s) (requested by martin in ticket #1422):
usr.sbin/sysinst/util.c: revision 1.64
usr.sbin/sysinst/arch/hpcsh/md.c: revision 1.11
usr.sbin/sysinst/arch/alpha/md.c: revision 1.10
usr.sbin/sysinst/arch/sparc64/md.c: revision 1.7
usr.sbin/sysinst/arch/emips/md.c: revision 1.10
usr.sbin/sysinst/arch/cobalt/md.c: revision 1.15
usr.sbin/sysinst/arch/x68k/md.c: revision 1.12
usr.sbin/sysinst/arch/sandpoint/md.c: revision 1.10
usr.sbin/sysinst/arch/luna68k/md.c: revision 1.10
usr.sbin/sysinst/arch/hp300/md.c: revision 1.12
usr.sbin/sysinst/arch/vax/md.c: revision 1.8
usr.sbin/sysinst/arch/hpcmips/md.c: revision 1.10
usr.sbin/sysinst/target.c: revision 1.16
usr.sbin/sysinst/arch/mvme68k/md.c: revision 1.12
usr.sbin/sysinst/arch/arc/md.c: revision 1.14
usr.sbin/sysinst/target.c: revision 1.17
usr.sbin/sysinst/arch/i386/md.c: revision 1.34
usr.sbin/sysinst/arch/mac68k/md.c: revision 1.11
usr.sbin/sysinst/arch/atari/md.c: revision 1.8
usr.sbin/sysinst/arch/sgimips/md.c: revision 1.10
usr.sbin/sysinst/arch/acorn32/md.c: revision 1.8
usr.sbin/sysinst/install.c: revision 1.22
usr.sbin/sysinst/arch/amiga/md.c: revision 1.7
usr.sbin/sysinst/arch/cats/md.c: revision 1.6
usr.sbin/sysinst/arch/dummy/md.c: revision 1.7
usr.sbin/sysinst/arch/shark/md.c: revision 1.7
usr.sbin/sysinst/arch/pmax/md.c: revision 1.9
usr.sbin/sysinst/arch/newsmips/md.c: revision 1.7
usr.sbin/sysinst/arch/mipsco/md.c: revision 1.9
usr.sbin/sysinst/arch/landisk/md.c: revision 1.15
usr.sbin/sysinst/arch/hppa/md.c: revision 1.9
usr.sbin/sysinst/arch/prep/md.c: revision 1.14
usr.sbin/sysinst/defs.h: revision 1.77
usr.sbin/sysinst/arch/ofppc/md.c: revision 1.13
usr.sbin/sysinst/arch/ews4800mips/md.c: revision 1.8
usr.sbin/sysinst/defs.h: revision 1.78
usr.sbin/sysinst/arch/macppc/md.c: revision 1.7
usr.sbin/sysinst/arch/evbppc/md.c: revision 1.10
usr.sbin/sysinst/defs.h: revision 1.79
usr.sbin/sysinst/gpt.c: revision 1.27
usr.sbin/sysinst/arch/bebox/md.c: revision 1.10
usr.sbin/sysinst/gpt.c: revision 1.28
usr.sbin/sysinst/arch/sparc/md.c: revision 1.7
usr.sbin/sysinst/arch/evbsh3/md.c: revision 1.7
usr.sbin/sysinst/arch/evbarm/md.c: revision 1.22
usr.sbin/sysinst/arch/news68k/md.c: revision 1.8
usr.sbin/sysinst/upgrade.c: revision 1.19
usr.sbin/sysinst/arch/zaurus/md.c: revision 1.12
usr.sbin/sysinst/arch/playstation2/md.c: revision 1.10
usr.sbin/sysinst/arch/hpcarm/md.c: revision 1.11
usr.sbin/sysinst/arch/evbmips/md.c: revision 1.10
usr.sbin/sysinst/main.c: revision 1.28
Add an option to set the directory where we look for message catalogs.
Try to get rid of all wedges we created (after unmounting).
When upgrading, update the boot code post extraction from
the updated target file system.
Do not defer wedge deletions when we have nothing mounted.
Define and use a constant for maximum disk name length.
 1.5.2.3 15-Oct-2020  bouyer Pull up following revision(s) (requested by martin in ticket #1113):
usr.sbin/sysinst/bsddisklabel.c: revision 1.46
usr.sbin/sysinst/bsddisklabel.c: revision 1.47
usr.sbin/sysinst/disklabel.c: revision 1.40
usr.sbin/sysinst/arch/cobalt/md.c: revision 1.13
usr.sbin/sysinst/bsddisklabel.c: revision 1.48
usr.sbin/sysinst/disklabel.c: revision 1.41
usr.sbin/sysinst/arch/cobalt/md.c: revision 1.14
usr.sbin/sysinst/bsddisklabel.c: revision 1.49
usr.sbin/sysinst/disklabel.c: revision 1.42
usr.sbin/sysinst/Makefile.inc: revision 1.34
usr.sbin/sysinst/disks.c: revision 1.70
usr.sbin/sysinst/arch/hp300/md.c: revision 1.11
usr.sbin/sysinst/disks.c: revision 1.71
usr.sbin/sysinst/arch/i386/md.h: revision 1.8
usr.sbin/sysinst/arch/arc/md.c: revision 1.13
usr.sbin/sysinst/mbr.h: revision 1.5
usr.sbin/sysinst/mbr.h: revision 1.6
usr.sbin/sysinst/arch/mac68k/md.c: revision 1.10
usr.sbin/sysinst/bsddisklabel.c: revision 1.50
usr.sbin/sysinst/arch/acorn32/md.c: revision 1.7
usr.sbin/sysinst/bsddisklabel.c: revision 1.51
usr.sbin/sysinst/bsddisklabel.c: revision 1.52
usr.sbin/sysinst/bsddisklabel.c: revision 1.53
usr.sbin/sysinst/bsddisklabel.c: revision 1.54
usr.sbin/sysinst/bsddisklabel.c: revision 1.55
usr.sbin/sysinst/bsddisklabel.c: revision 1.56
usr.sbin/sysinst/arch/dummy/md.c: revision 1.6
usr.sbin/sysinst/arch/amd64/md.h: revision 1.9
usr.sbin/sysinst/arch/evbsh3/md.c: revision 1.6
usr.sbin/sysinst/arch/sparc/md.c: revision 1.6
usr.sbin/sysinst/arch/zaurus/md.c: revision 1.10
usr.sbin/sysinst/arch/x68k/md.c: revision 1.11
usr.sbin/sysinst/arch/sandpoint/md.c: revision 1.9
usr.sbin/sysinst/arch/vax/md.c: revision 1.7
usr.sbin/sysinst/arch/luna68k/md.c: revision 1.9
usr.sbin/sysinst/gpt.c: revision 1.19
usr.sbin/sysinst/arch/i386/md.c: revision 1.31
usr.sbin/sysinst/arch/i386/md.c: revision 1.32
usr.sbin/sysinst/arch/evbarm/md.c: revision 1.17
usr.sbin/sysinst/arch/evbarm/md.c: revision 1.18
usr.sbin/sysinst/arch/evbarm/md.c: revision 1.19
usr.sbin/sysinst/arch/shark/md.c: revision 1.6
usr.sbin/sysinst/arch/landisk/md.c: revision 1.14
usr.sbin/sysinst/util.c: revision 1.43
usr.sbin/sysinst/gpt.c: revision 1.20
usr.sbin/sysinst/util.c: revision 1.44
usr.sbin/sysinst/gpt.c: revision 1.21
usr.sbin/sysinst/gpt.c: revision 1.22
usr.sbin/sysinst/arch/evbarm/msg.md.en: revision 1.2
usr.sbin/sysinst/arch/ofppc/md.c: revision 1.11
usr.sbin/sysinst/util.c: revision 1.46
usr.sbin/sysinst/arch/ofppc/md.c: revision 1.12
usr.sbin/sysinst/util.c: revision 1.47
usr.sbin/sysinst/arch/evbarm/md.h: revision 1.6
usr.sbin/sysinst/util.c: revision 1.48
usr.sbin/sysinst/arch/evbarm/md.h: revision 1.7
usr.sbin/sysinst/arch/evbmips/md.c: revision 1.9
usr.sbin/sysinst/msg.mi.fr: revision 1.28
usr.sbin/sysinst/msg.mi.fr: revision 1.29
usr.sbin/sysinst/arch/sgimips/md.c: revision 1.9
usr.sbin/sysinst/arch/evbarm/Makefile: revision 1.3
usr.sbin/sysinst/msg.mi.de: revision 1.23
usr.sbin/sysinst/arch/hpcsh/md.c: revision 1.10
usr.sbin/sysinst/msg.mi.de: revision 1.24
usr.sbin/sysinst/install.c: revision 1.15
usr.sbin/sysinst/install.c: revision 1.16
usr.sbin/sysinst/arch/sparc64/md.c: revision 1.6
usr.sbin/sysinst/install.c: revision 1.17
usr.sbin/sysinst/install.c: revision 1.18
usr.sbin/sysinst/partitions.h: revision 1.16
usr.sbin/sysinst/install.c: revision 1.19
usr.sbin/sysinst/partitions.h: revision 1.17
usr.sbin/sysinst/arch/evbppc/md.c: revision 1.9
usr.sbin/sysinst/arch/playstation2/md.c: revision 1.9
usr.sbin/sysinst/partitions.h: revision 1.18
usr.sbin/sysinst/arch/hpcarm/md.c: revision 1.9
usr.sbin/sysinst/partitions.h: revision 1.19
usr.sbin/sysinst/msg.mi.es: revision 1.24
usr.sbin/sysinst/msg.mi.es: revision 1.25
usr.sbin/sysinst/msg.mi.es: revision 1.26
usr.sbin/sysinst/arch/zaurus/md.c: revision 1.9
usr.sbin/sysinst/target.c: revision 1.13
usr.sbin/sysinst/target.c: revision 1.14
usr.sbin/sysinst/part_edit.c: revision 1.17
usr.sbin/sysinst/part_edit.c: revision 1.18
usr.sbin/sysinst/msg.mi.fr: revision 1.30
usr.sbin/sysinst/arch/mvme68k/md.c: revision 1.11
usr.sbin/sysinst/part_edit.c: revision 1.19
usr.sbin/sysinst/msg.mi.fr: revision 1.31
usr.sbin/sysinst/arch/alpha/md.c: revision 1.9
usr.sbin/sysinst/msg.mi.en: revision 1.30
usr.sbin/sysinst/defs.h: revision 1.56
usr.sbin/sysinst/msg.mi.en: revision 1.31
usr.sbin/sysinst/defs.h: revision 1.57
usr.sbin/sysinst/msg.mi.en: revision 1.32
usr.sbin/sysinst/arch/amiga/md.c: revision 1.6
usr.sbin/sysinst/arch/hpcmips/md.c: revision 1.9
usr.sbin/sysinst/defs.h: revision 1.58
usr.sbin/sysinst/arch/cats/md.c: revision 1.5
usr.sbin/sysinst/defs.h: revision 1.59
usr.sbin/sysinst/arch/newsmips/md.c: revision 1.6
usr.sbin/sysinst/arch/pmax/md.c: revision 1.8
usr.sbin/sysinst/arch/mipsco/md.c: revision 1.8
usr.sbin/sysinst/part_edit.c: revision 1.20
usr.sbin/sysinst/part_edit.c: revision 1.21
usr.sbin/sysinst/arch/macppc/md.c: revision 1.6
usr.sbin/sysinst/part_edit.c: revision 1.22
usr.sbin/sysinst/part_edit.c: revision 1.23
usr.sbin/sysinst/part_edit.c: revision 1.24
usr.sbin/sysinst/defs.h: revision 1.60
usr.sbin/sysinst/arch/mac68k/Makefile: revision 1.3
usr.sbin/sysinst/defs.h: revision 1.61
usr.sbin/sysinst/defs.h: revision 1.63
usr.sbin/sysinst/defs.h: revision 1.64
usr.sbin/sysinst/defs.h: revision 1.65
usr.sbin/sysinst/label.c: revision 1.21
usr.sbin/sysinst/defs.h: revision 1.66
usr.sbin/sysinst/label.c: revision 1.22
usr.sbin/sysinst/defs.h: revision 1.67
usr.sbin/sysinst/label.c: revision 1.23
usr.sbin/sysinst/label.c: revision 1.24
usr.sbin/sysinst/label.c: revision 1.25
usr.sbin/sysinst/label.c: revision 1.26
usr.sbin/sysinst/label.c: revision 1.27
usr.sbin/sysinst/msg.mi.pl: revision 1.31
usr.sbin/sysinst/label.c: revision 1.28
usr.sbin/sysinst/msg.mi.pl: revision 1.32
usr.sbin/sysinst/label.c: revision 1.29
usr.sbin/sysinst/arch/atari/md.c: revision 1.7
usr.sbin/sysinst/disklabel.c: revision 1.36
usr.sbin/sysinst/disklabel.c: revision 1.37
usr.sbin/sysinst/disklabel.c: revision 1.38
usr.sbin/sysinst/disklabel.c: revision 1.39
usr.sbin/sysinst/arch/bebox/md.c: revision 1.9
usr.sbin/sysinst/mbr.c: revision 1.32
usr.sbin/sysinst/disks.c: revision 1.66
usr.sbin/sysinst/mbr.c: revision 1.33
usr.sbin/sysinst/disks.c: revision 1.67
usr.sbin/sysinst/mbr.c: revision 1.34
usr.sbin/sysinst/arch/emips/md.c: revision 1.9
usr.sbin/sysinst/disks.c: revision 1.68
usr.sbin/sysinst/partitions.c: revision 1.11
usr.sbin/sysinst/mbr.c: revision 1.35
usr.sbin/sysinst/disks.c: revision 1.69
usr.sbin/sysinst/mbr.c: revision 1.36
usr.sbin/sysinst/arch/hppa/md.c: revision 1.8
usr.sbin/sysinst/arch/prep/md.c: revision 1.13
usr.sbin/sysinst/label.c: revision 1.30
usr.sbin/sysinst/arch/ews4800mips/md.c: revision 1.7
usr.sbin/sysinst/main.c: revision 1.21
usr.sbin/sysinst/main.c: revision 1.22
usr.sbin/sysinst/main.c: revision 1.23
usr.sbin/sysinst/bsddisklabel.c: revision 1.40
usr.sbin/sysinst/main.c: revision 1.24
usr.sbin/sysinst/arch/cobalt/md.h: revision 1.6
usr.sbin/sysinst/bsddisklabel.c: revision 1.41
usr.sbin/sysinst/main.c: revision 1.25
usr.sbin/sysinst/arch/news68k/md.c: revision 1.7
usr.sbin/sysinst/bsddisklabel.c: revision 1.42
usr.sbin/sysinst/bsddisklabel.c: revision 1.43
usr.sbin/sysinst/bsddisklabel.c: revision 1.44
usr.sbin/sysinst/bsddisklabel.c: revision 1.45
Use strlcpy in a few places to guarnatee 0-terminated strings
Rever previous: the d_packname in struct disklabel is not NUL terminated.
Disable the warning instead.
Do not force -Os optimization (unless SMALLPROG)
Remove unused "rel" global variable and make the -r option a no-op.
PR 55045: strlcpy(NULL, ..., 0) considered harmfull in some implementations.
PR misc/54886: bump threshold for automatic/default creation of a tmpfs /tmp
up slightly (to 384 MB ram). This will make sure the default install has
a > 64 MB /tmp available (number pulled out of thin air, 64 MB is the minimum
required by the ZFS tests).
Don't depend on common symbol definitions.
boardype should not be common.
Redo the root-size-limit check again after we grew the root partition
for kernel dumps. Auto-enable the /usr partition if it overflows.
For all non-root partitions, default to FFSv2.
When extending a partition (to fill the total disk size) do respect
size limits.
Do not suggest a size limited partition for extension by default.
Minor tweak to previous: when forcing a /usr partition just to have an
arbitrary extendable partition, still use its default size initially.
At the end of a new installation save entropy.
Ooops, backout previous - twice the entropy saving is not needed.
Instead slightly improve the (slightly) hidden other code that already
did it.
PR 55202: disable swapping if we started it due to low ram
it's "its"
Remove "If you booted from a floppy" message
Set HAVE_INSTALL_IMAGE for evbarm
Change mountpoint of boot ext2fs from /stand to /ext2 to avoid conflict.
Should be pulled up to netbsd-9, with fixes of PR/55060.
MBR type for Ext2 should be MBR_PTYPE_LNXEXT2, not MBR_PTYPE_FAT12.
Silence -Wstringop-truncation for ``name'' in disp_selected_part().
This variable is used only for display, and truncation seems harmless.
PR 55572: avoid crash when answering the mount point prompt for a previously
empty mount point with an emptry sting.
When adding a new partition in the concrete partition editor, make sure
to set a pointer to the partition table interface in the new entry.
Otherwise we may end up not writing back the partitions at all, leading
to further fallout later.
Receipe to reproduce the issue from Frederic Fauberteau, thanks!
In the concrete partitions editor, after deleting the last partition move
the menu selection to the "add a partition" entry (instead of the sentinel
line which is not an active menu entry).
Typo in comment
Keep a list of all partition tables from which we have deleted partitions
and make sure we update those partition tables when writing partitions,
even if no install related partition remains on them.
Fix display of timezone selection menu
If there is no current partitioning manager assume we are editing the
current system and make target_already_root() return true.
Fixes various fallout when using sysinst post installation.
PR 55377: mark boot partitions in the partition size display, as suggested
by Izumi Tsutsui (minor modifications + all bugs by me)
PR 55378: do not assume RAW_PART to be either 2 or 3
PR 55379: avoid creating bogus /etc/fstab lines for /dev/cd* if no
cdrom is available.
PR 55381: try to deal with moved (but not yet saved) partitions when
calculating free space
Apply patch provided by Izumi Tsutsui in PR 55382: make ext2 partitions
show up in the outer (MBR) partition table, needed for example on Cobalt
where firmware boots from that partition.
PR 55384: detangle pm->ptstart from the "install" flag (selecting a
target partition). Instead introduce a new PTI_INSTALL_TARGET per partition
flag and deal with it in the partitioning backends.
Honour pm->ptstart when allocating new partitions - it is supposed to be
the first sector usable by NetBSD.
If we have no explicitly marke target root partition, make sure to set
the proper flag on the implicit one.
When merging existing partitions with desired target system layout
information, only force the "mount" flag if the existing partitions
has a valid mount point.
Add a heuristic to detect and properly mark EFI system partitions
when re-using pre-existing partitions.
When MD code requests a reserved area (at the start of the disk)
make sure to properly account for the "lost" space during all calculations
and especially when expanding the main partition to fill the disk.
Avoid using the global "pm" or a passed device descriptons when we are
passing disk limits explicitly anyway.
Simplify/fix a few rounding calculations.
When creating new partitions for "full disk" use, pass a install target
hint to the partitioning backend (for the outer NetBSD partition).
Use an install target hint to mark a new partition active.
When compiled with BOOTSEL support, also name the new partition "NetBSD".
Remove more pm->ptstart abuse - calculate values localy where needed
instead.
Fix editing start and size of not yet existing outer partitions.
Previously we abused pm->ptstart / pm->ptsize to pass the bounds of the
NetBSD outer partition to the inner partition editor - but now this is
not a valid assumption any more, so explicitly fix the bounds if an
outer partition exists.
Remove very strange code that special-cased MSDOS file systems and refused
to newfs the partition (despite explicit request to do so) if it was
mountable.
Accidently carried over from a dim and distant past, before we had
fsck_newfs.
PR 55536: when we find existing partition tables and have alternative
formats available, offer to delete partitions and create new ones from
scratch (in some other or the same on-disk format).
Minor fix to previous: fix condition when we offer the partition type
switch - it makes sense even if the disk is partitioned but has no valid
partitions.
Before forcing MBR partitions into our disklabel, make sure they are not
there yet - could happen in various paths when reusing existing partitions
(or parts of that) - previously we would blindly duplicate identical
partitions.
Ooops, part of previous was not meant to be included yet
When renumbering partitions (after deletions) be slightly more lax
in matching, to cope with differences between MBR EFI partitions and
disklabel MSDOS partitions.
PR 55142: on popular demand bring back expert options to adjust the
number of free inodes, block size and fragment size for FFS and LFS.
Fix copy & pasto noticed by Jason Mitchell: change the type of a GPT
partition via "gpt type" - not "gpt label".
Fix copy & pasto (missing "again" label)
Remove dead code
Move MBR writing (if any) post disklabel writing, otherwise strange
interactions happen.
Properly convert partition default sizes in MB to number of sectors
 1.5.2.2 28-Jan-2020  msaitoh Pull up following revision(s) (requested by martin in ticket #668):
usr.sbin/sysinst/arch/cobalt/md.c: revision 1.11
usr.sbin/sysinst/arch/cobalt/md.c: revision 1.12
usr.sbin/sysinst/arch/arc/md.c: revision 1.11
usr.sbin/sysinst/arch/arc/md.c: revision 1.12
usr.sbin/sysinst/partman.c: revision 1.43
usr.sbin/sysinst/partman.c: revision 1.46
usr.sbin/sysinst/partman.c: revision 1.47
usr.sbin/sysinst/partman.c: revision 1.48
usr.sbin/sysinst/partman.c: revision 1.49
usr.sbin/sysinst/msg.pm.fr: revision 1.2
usr.sbin/sysinst/upgrade.c: revision 1.14
usr.sbin/sysinst/arch/i386/md.c: revision 1.28
usr.sbin/sysinst/arch/i386/md.c: revision 1.29
usr.sbin/sysinst/arch/ofppc/md.c: revision 1.9
usr.sbin/sysinst/arch/sandpoint/md.c: revision 1.7
usr.sbin/sysinst/arch/sandpoint/md.c: revision 1.8
usr.sbin/sysinst/gpt.c: revision 1.14
usr.sbin/sysinst/gpt.c: revision 1.15
usr.sbin/sysinst/arch/luna68k/md.c: revision 1.8
usr.sbin/sysinst/gpt.c: revision 1.16
usr.sbin/sysinst/msg.pm.de: revision 1.2
usr.sbin/sysinst/arch/evbarm/md.c: revision 1.11
usr.sbin/sysinst/arch/evbarm/md.c: revision 1.12
usr.sbin/sysinst/arch/evbarm/md.c: revision 1.13
usr.sbin/sysinst/arch/evbarm/md.c: revision 1.14
usr.sbin/sysinst/sizemultname.c: revision 1.4
usr.sbin/sysinst/msg.pm.en: revision 1.2
usr.sbin/sysinst/arch/landisk/md.c: revision 1.12
usr.sbin/sysinst/util.c: revision 1.41
usr.sbin/sysinst/arch/landisk/md.c: revision 1.13
usr.sbin/sysinst/util.c: revision 1.42
usr.sbin/sysinst/arch/ofppc/md.c: revision 1.10
usr.sbin/sysinst/partitions.c: revision 1.9
usr.sbin/sysinst/arch/evbarm/md.h: revision 1.4
usr.sbin/sysinst/arch/evbarm/md.h: revision 1.5
usr.sbin/sysinst/arch/evbmips/md.c: revision 1.7
usr.sbin/sysinst/arch/evbmips/md.c: revision 1.8
usr.sbin/sysinst/msg.mi.fr: revision 1.25
usr.sbin/sysinst/msg.mi.de: revision 1.20
usr.sbin/sysinst/install.c: revision 1.14
usr.sbin/sysinst/partitions.h: revision 1.13
usr.sbin/sysinst/partitions.h: revision 1.14
usr.sbin/sysinst/arch/evbppc/md.c: revision 1.7
usr.sbin/sysinst/arch/playstation2/md.c: revision 1.7
usr.sbin/sysinst/msg.mi.en: revision 1.27
usr.sbin/sysinst/partitions.h: revision 1.15
usr.sbin/sysinst/arch/evbppc/md.c: revision 1.8
usr.sbin/sysinst/arch/hpcarm/md.c: revision 1.7
usr.sbin/sysinst/arch/playstation2/md.c: revision 1.8
usr.sbin/sysinst/msg.pm.pl: revision 1.2
usr.sbin/sysinst/arch/hpcarm/md.c: revision 1.8
usr.sbin/sysinst/msg.mi.es: revision 1.21
usr.sbin/sysinst/arch/zaurus/md.c: revision 1.7
usr.sbin/sysinst/target.c: revision 1.11
usr.sbin/sysinst/arch/zaurus/md.c: revision 1.8
usr.sbin/sysinst/part_edit.c: revision 1.14
usr.sbin/sysinst/part_edit.c: revision 1.15
usr.sbin/sysinst/part_edit.c: revision 1.16
usr.sbin/sysinst/defs.h: revision 1.50
usr.sbin/sysinst/defs.h: revision 1.51
usr.sbin/sysinst/defs.h: revision 1.52
usr.sbin/sysinst/defs.h: revision 1.53
usr.sbin/sysinst/defs.h: revision 1.54
usr.sbin/sysinst/arch/hpcmips/md.c: revision 1.7
usr.sbin/sysinst/arch/hpcmips/md.c: revision 1.8
usr.sbin/sysinst/arch/hpcsh/md.c: revision 1.8
usr.sbin/sysinst/msg.pm.es: revision 1.2
usr.sbin/sysinst/arch/hpcsh/md.c: revision 1.9
usr.sbin/sysinst/label.c: revision 1.18
usr.sbin/sysinst/label.c: revision 1.19
usr.sbin/sysinst/net.c: revision 1.35
usr.sbin/sysinst/msg.mi.pl: revision 1.28
usr.sbin/sysinst/disklabel.c: revision 1.28
usr.sbin/sysinst/disklabel.c: revision 1.29
usr.sbin/sysinst/mbr.c: revision 1.24
usr.sbin/sysinst/disks.c: revision 1.59
usr.sbin/sysinst/mbr.c: revision 1.25
usr.sbin/sysinst/mbr.c: revision 1.26
usr.sbin/sysinst/mbr.c: revision 1.27
usr.sbin/sysinst/mbr.c: revision 1.28
usr.sbin/sysinst/label.c: revision 1.20
usr.sbin/sysinst/mbr.c: revision 1.29
usr.sbin/sysinst/bsddisklabel.c: revision 1.34
usr.sbin/sysinst/bsddisklabel.c: revision 1.35
usr.sbin/sysinst/bsddisklabel.c: revision 1.36
usr.sbin/sysinst/bsddisklabel.c: revision 1.37
usr.sbin/sysinst/disklabel.c: revision 1.30
usr.sbin/sysinst/bsddisklabel.c: revision 1.38
usr.sbin/sysinst/disklabel.c: revision 1.31
usr.sbin/sysinst/disklabel.c: revision 1.32
usr.sbin/sysinst/disklabel.c: revision 1.33
usr.sbin/sysinst/disklabel.c: revision 1.34
usr.sbin/sysinst/disks.c: revision 1.60
usr.sbin/sysinst/disks.c: revision 1.61
usr.sbin/sysinst/arch/bebox/md.c: revision 1.7
usr.sbin/sysinst/disks.c: revision 1.62
usr.sbin/sysinst/arch/bebox/md.c: revision 1.8
usr.sbin/sysinst/mbr.c: revision 1.30
usr.sbin/sysinst/partitions.c: revision 1.10
usr.sbin/sysinst/arch/prep/md.c: revision 1.11
usr.sbin/sysinst/arch/prep/md.c: revision 1.12
usr.sbin/sysinst/menus.pm: revision 1.3
usr.sbin/sysinst/main.c: revision 1.20
usr.sbin/sysinst/menus.mi: revision 1.20
usr.sbin/sysinst/menus.mi: revision 1.21
avoid calling snprintf/strlcat with an input parameter the same
as the output. from martin@. fixes gcc 8 restrict warnings.
Finish conversion of extended partitioning parts to new abstract
backend interface. XXX still could use a lot of polishing.
Instead of a (bogus) attempt to query the model via ofctl, use the (now
fixed) sysctl hw.model instead.
When reading the secondary disklabel partitions from an existing disklabel
set the mbr partitions as parent.
Move the LABELSECTOR check and make it FS type specific - some partition
types (FFS, RAID) are allowed to overlap with the LABELSECTOR.
When asked to create a whole-disk partition for unknown usage, do not only
assert(false), but actually return an error (in case "assert" is a nop).
PR install/54787: when trying to derive proper alignement and first offset
from exisiting partitions, use the first partition offset if it is already
closer to the start of the disk than the prefered alignment - we can not
move existing partitions around.
Fix handling of inner/outer partitions (e.g. MBR and disklabel) in
extended partitioning:
- when editing a disk with such a schme, offer both partitions in two
steps
- when commiting changes save the inner partitions after the outer ones
Add a method to query the partitioning schemes "internal idea" of a
cylinder size - whatever that means in the real world.
Avoid using the global "pm" variable in utility functions - during
extended partitioning they may point to a different device.
Remove useless calls to get_ramsize() - return value is ignored and
the function has no side effects.
Fix /tmp tmpfs handling and on machines with enough RAM default to
creating a /tmp tmpfs with 25% of ram size limit. Suggested by ad@.
PR install/54872: fix printf argument order, sectors and heads were
swapped in the bios geometry display.
First try to bring evbarm installation closer to current reality.
hide disklabel_non_bootable() under NO_DISKLABEL_BOOT like the usage.
should fix most builds.
Deal with even stranger fictious empty disklabels (PR kern/54882).
Factor out all RAM size thresholds as defines to avoid magic numbers.
To work around PR misc/54886 bump the threshold for a tmpfs /tmp mount
up to 256 MB.
When retrying sets during extraction, reset the relevant statistics
to avoid counting retried sets multiple times.
Reported by kim.
Fix support for non-512-byte/sector disks again after I broke it when
introducing the abstract partition backends.
Use a few strlcpy() instead of strncpy() for network ioctl structs.
We seem to have no formal documentation stating the various
char if*_name[IFNAMSIZ]; /* if name, e.g. "en0" */
elements in ioctls are nul terminated, but the peanut gallery claims
it is so - and at least half of the code in-tree touching them agrees.
Too much disklabel magic happening in the kernel - to compensate force
MBR first when trying to identify the existing partitioning scheme of
a disk.
 1.5.2.1 18-Aug-2019  msaitoh Pull up following revision(s) (requested by martin in ticket #77):
usr.sbin/sysinst/arch/sandpoint/md.c: revision 1.6
usr.sbin/sysinst/arch/playstation2/md.c: revision 1.6
usr.sbin/sysinst/arch/evbppc/md.c: revision 1.6
usr.sbin/sysinst/arch/hpcarm/md.c: revision 1.6
usr.sbin/sysinst/arch/zaurus/md.c: revision 1.6
usr.sbin/sysinst/arch/arc/md.c: revision 1.9
usr.sbin/sysinst/arch/hpcmips/md.c: revision 1.6
usr.sbin/sysinst/arch/bebox/md.c: revision 1.6
usr.sbin/sysinst/arch/hpcsh/md.c: revision 1.7
usr.sbin/sysinst/arch/landisk/md.c: revision 1.11
usr.sbin/sysinst/arch/prep/md.c: revision 1.9
usr.sbin/sysinst/arch/i386/md.c: revision 1.21
usr.sbin/sysinst/arch/evbmips/md.c: revision 1.6
usr.sbin/sysinst/arch/evbarm/md.c: revision 1.9
usr.sbin/sysinst/arch/cobalt/md.c: revision 1.9
usr.sbin/sysinst/arch/ofppc/md.c: revision 1.8
When we ask the user to select a partitioning scheme and they refuse
(that is: select "Exit" in the menu), abort installation.
 1.10.2.1 03-Feb-2024  martin Pull up following revision(s) (requested by jmcneill in ticket #561):

etc/etc.evbppc/Makefile.inc: revision 1.15
sys/arch/evbppc/wii/dev/wiifb.c: revision 1.1
sys/arch/evbppc/wii/dev/wiifb.c: revision 1.2
sys/arch/evbppc/wii/dev/bwdsp.c: revision 1.1
sys/arch/evbppc/wii/dev/wiifb.c: revision 1.3
sys/arch/evbppc/wii/dev/bwdsp.c: revision 1.2
distrib/utils/embedded/files/evbppc_wii_icon.png: revision 1.1
usr.sbin/sysinst/arch/evbppc/md.h: revision 1.4
sys/arch/evbppc/wii/dev/wiifb.c: revision 1.4
sys/arch/evbppc/wii/dev/viio.h: revision 1.1
sys/arch/evbppc/wii/dev/wiifb.c: revision 1.5
sys/arch/evbppc/wii/dev/mainbus.h: revision 1.1
distrib/utils/embedded/conf/wii.conf: revision 1.1
distrib/utils/embedded/conf/wii.conf: revision 1.2
distrib/utils/embedded/conf/wii.conf: revision 1.3
sys/dev/sdmmc/sdhcvar.h: revision 1.34
sys/dev/sdmmc/sdhc.c: revision 1.118
sys/arch/evbppc/wii/dev/resetbtn.c: revision 1.1
distrib/utils/embedded/conf/evbppc.conf: revision 1.1
sys/dev/wsfb/genfb.c: revision 1.91
sys/arch/evbppc/wii/dev/resetbtn.c: revision 1.2
sys/dev/wscons/wsconsio.h: revision 1.127
sys/arch/powerpc/oea/oea_machdep.c: revision 1.85
sys/arch/evbppc/wii/dev/hollywood.h: revision 1.1
sys/arch/evbppc/conf/std.wii: revision 1.1
sys/arch/evbppc/wii/dev/hollywood.h: revision 1.2
sys/arch/evbppc/wii/dev/hollywood.c: revision 1.1
sys/arch/evbppc/conf/std.wii: revision 1.2
sys/arch/evbppc/wii/dev/hollywood.c: revision 1.2
sys/arch/evbppc/conf/std.wii: revision 1.3
sys/arch/powerpc/oea/cpu_subr.c: revision 1.109
sys/arch/evbppc/wii/wii_mmuinit.S: revision 1.1
sys/dev/usb/usb.h: revision 1.124
sys/arch/evbppc/wii/machdep.c: revision 1.1
sys/arch/evbppc/wii/dev/rtcsram.c: revision 1.1
sys/arch/powerpc/include/oea/hid.h: revision 1.14
sys/arch/evbppc/wii/mainbus.c: revision 1.1
sys/arch/evbppc/wii/machdep.c: revision 1.2
sys/arch/evbppc/wii/dev/ehci_hollywood.c: revision 1.1
sys/arch/evbppc/wii/mainbus.c: revision 1.2
sys/arch/evbppc/wii/machdep.c: revision 1.3
sys/arch/evbppc/wii/dev/ehci_hollywood.c: revision 1.2
sys/arch/evbppc/wii/mainbus.c: revision 1.3
sys/arch/evbppc/wii/machdep.c: revision 1.4
sys/arch/evbppc/wii/dev/hwgpio.c: revision 1.1
sys/arch/evbppc/wii/dev/sdhc_hollywood.c: revision 1.1
sys/arch/evbppc/wii/dev/sdhc_hollywood.c: revision 1.2
sys/arch/evbppc/wii/wii_locore.S: revision 1.1
sys/arch/evbppc/conf/files.wii: revision 1.1
sys/arch/evbppc/wii/wii_locore.S: revision 1.2
sys/arch/evbppc/include/wii.h: revision 1.1
sys/arch/evbppc/conf/files.wii: revision 1.2
sys/arch/evbppc/wii/dev/exi.c: revision 1.1
sys/arch/evbppc/include/wii.h: revision 1.2
sys/arch/evbppc/conf/files.wii: revision 1.3
sys/arch/powerpc/powerpc/clock.c: revision 1.18
sys/arch/evbppc/include/wii.h: revision 1.3
sys/arch/evbppc/conf/files.wii: revision 1.4
sys/arch/evbppc/include/wii.h: revision 1.4
sys/arch/evbppc/wii/dev/exi.h: revision 1.1
sys/arch/evbppc/wii/dev/avenc.c: revision 1.1
sys/arch/evbppc/include/wii.h: revision 1.5
sys/arch/evbppc/include/wii.h: revision 1.6
sys/arch/evbppc/include/wii.h: revision 1.7
sys/arch/evbppc/wii/dev/avenc.h: revision 1.1
distrib/utils/embedded/mkimage: revision 1.79
sys/arch/evbppc/conf/WII: revision 1.1
sys/arch/evbppc/conf/INSTALL_WII: revision 1.1
distrib/utils/embedded/files/evbppc_wii_meta.xml: revision 1.1
sys/arch/evbppc/wii/dev/vireg.h: revision 1.1
sys/arch/evbppc/conf/WII: revision 1.2
distrib/utils/embedded/files/evbppc_wii_meta.xml: revision 1.2
sys/arch/evbppc/wii/dev/vireg.h: revision 1.2
sys/arch/evbppc/conf/WII: revision 1.3
sys/arch/evbppc/conf/WII: revision 1.4
usr.sbin/sysinst/arch/evbppc/md.c: revision 1.11
sys/arch/evbppc/wii/dev/ohci_hollywood.c: revision 1.1
sys/dev/usb/ehcivar.h: revision 1.52
sys/arch/evbppc/wii/pic_pi.c: revision 1.1
sys/arch/evbppc/wii/dev/ohci_hollywood.c: revision 1.2
etc/etc.evbppc/ttys: revision 1.8
sys/arch/evbppc/wii/dev/bwai.c: revision 1.1
sys/arch/evbppc/wii/dev/bwai.c: revision 1.2
sys/arch/evbppc/wii/dev/bwai.c: revision 1.3
sys/arch/evbppc/wii/autoconf.c: revision 1.1
sys/arch/evbppc/conf/Makefile.wii.inc: revision 1.1
sys/arch/evbppc/wii/dev/bwai.h: revision 1.1
sys/arch/evbppc/wii/autoconf.c: revision 1.2
sys/arch/evbppc/conf/Makefile.wii.inc: revision 1.2

powerpc: oea: Fix prefetchable mappings
Prefetchable mappings need PMAP_NOCACHE to get write-combine semantics.
powerpc: oea: Decode IBM750CL L2 cache information.
sdmmc: add support for optional delay after register write
wscons: Add HOLLYWOOD display and YUY2 pixel format types
wsfb: add support for optional "devcmap" property
A hardware driver can supply a pointer to a 16x 32-bit array to override
the default rasops device colour map in the "devcmap" property.
ehci: add EHCIF_32BIT_ACCESS flag to force 32-bit MMIO
fix comments: HID0 ICFI/DCFI are "flash invalidate", not "flush invalidate"
powerpc: fix delay for large (> ~5sec) values
When calculating the target timebase, promote '1000' on the RHS to ULL
to force 64-bit calculation, otherwise 'n * 1000' will overflow.
usb: increase USB_PORT_RESET_RECOVERY from 10ms to 20ms
I changed this from 250ms to 10ms back in 2021 based on a similar FreeBSD
change, but it seems to be a bit too aggressive for some platforms.
evbppc: Add initial support for the Nintendo Wii
wii: support RB_POWERDOWN
build fix: use dd with count=1 for compat with NetBSD dd(1)
wii: Add NTSC 480p support.
In addition to this, add VIIO_{GET,SET}REGS ioctl support to allow for
poking at video interface registers from userland. This is helpful for
debugging display issues.
wii: Add 128x48 icon to SD card image
wii: Fix a comment
wii: Add drivers for Broadway DSP and Audio interface.
0: [*] audio0 @ bwdsp0: Broadway DSP
playback: 16, 2ch, 48000Hz
record: unavailable
(P-) slinear_be 16/16, 2ch, { 48000 }
wii: Add screenblank support.
wii: Use screen dimming register for screen blanking.
wii: Add GPIO, I2C, and basic A/V encoder driver.
wii: Use A/V encoder volume controls instead of using a software filter.
wii: Simply DSP driver - no interrupt handler required.
wii: provide device names to intr_establish
wii$ intrctl list
interrupt id CPU0 device name(s)
pi irq 14 64769* hollywood0
hollywood irq 36 5872* ehci0
hollywood irq 39 58907* sdhc0
hollywood irq 40 4* sdhc1
hollywood irq 49 0* resetbtn0
pi irq 5 0* bwai0
wii: Add support for passing boot options to the kernel.
wii: Add External interface bus and RTC support
wii: Remove objcopy after kernel build.
HBC will do the right thing.
Add wsvt25 entries (off by default) for ttyE0-ttyE3.
Add support for "PAL" (576i) mode on Wii.
 1.4 20-Jan-2024  jmcneill evbppc: Add initial support for the Nintendo Wii
 1.3 02-Oct-2019  maya branches: 1.3.8;
Split out /rescue to its own set and adapt installers/images to add it.

This is meant to make updates safer: if something goes wrong with updating
base, we still have the old, standalone /rescue to recover from.
 1.2 18-Nov-2018  martin branches: 1.2.2;
More size estimate fixes
 1.1 26-Jul-2014  dholland branches: 1.1.2; 1.1.6; 1.1.26; 1.1.28;
Move sysinst sources to usr.sbin.

This commit only physically moves the sources - there are no other
changes, to maximize the probability that this will be treated as a
rename if we ever do manage to migrate away from CVS.

Moving sysinst has been discussed on and off for years and has two
goals: making it easier to work on sysinst, and also making sysinst
available on running systems for use installing chroots and VM images
and other such things. None of the latter is possible yet, but as they
say, one thing at a time.

Doing this now was approved in an impromptu fashion by mrg, riz,
riastradh, me, and groo.
 1.1.28.2 13-Apr-2020  martin Mostly merge changes from HEAD upto 20200411
 1.1.28.1 10-Jun-2019  christos Sync with HEAD
 1.1.26.1 26-Nov-2018  pgoyette Sync with HEAD, resolve a couple of conflicts
 1.1.6.2 20-Aug-2014  tls Rebase to HEAD as of a few days ago.
 1.1.6.1 26-Jul-2014  tls file md.h was added on branch tls-maxphys on 2014-08-20 00:05:15 +0000
 1.1.2.2 10-Aug-2014  tls Rebase.
 1.1.2.1 26-Jul-2014  tls file md.h was added on branch tls-earlyentropy on 2014-08-10 07:00:26 +0000
 1.2.2.1 17-Nov-2019  martin Pull up following revision(s) (requested by maya in ticket #435):

distrib/sets/maketars: revision 1.90
usr.sbin/sysinst/arch/playstation2/md.h: revision 1.2
usr.sbin/sysinst/arch/sandpoint/md.h: revision 1.3
usr.sbin/sysinst/arch/evbppc/md.h: revision 1.3
usr.sbin/sysinst/arch/hpcarm/md.h: revision 1.3
usr.sbin/sysinst/arch/mvme68k/md.h: revision 1.3
distrib/sun3/MakeInstTape: revision 1.3
usr.sbin/sysinst/util.c: revision 1.33
distrib/sets/lists/rescue/mi: revision 1.1
distrib/sets/lists/base/rescue.sun2: file removal
usr.sbin/sysinst/arch/zaurus/md.h: revision 1.3
distrib/sets/lists/base/rescue.ad.m68k.shl: file removal
distrib/sets/regpkgset: revision 1.13
usr.sbin/sysinst/arch/i386/md.h: revision 1.7
distrib/sets/lists/base/rescue.sparc: file removal
distrib/notes/mvme68k/xfer: revision 1.19
distrib/sets/sets.subr: revision 1.187
distrib/common/bootimage/Makefile.bootimage: revision 1.22
usr.sbin/sysinst/msg.mi.de: revision 1.16
usr.sbin/sysinst/arch/atari/md.h: revision 1.3
rescue/Makefile: revision 1.38
distrib/sets/lists/base/rescue.macppc: file removal
usr.sbin/sysinst/arch/arc/md.h: revision 1.4
distrib/miniroot/install.sub: revision 1.49
usr.sbin/sysinst/arch/acorn32/md.h: revision 1.3
usr.sbin/sysinst/arch/x68k/md.h: revision 1.3
usr.sbin/sysinst/arch/hpcmips/md.h: revision 1.3
usr.sbin/sysinst/arch/bebox/md.h: revision 1.3
usr.sbin/sysinst/arch/hpcsh/md.h: revision 1.2
distrib/sets/lists/base/rescue.shark: file removal
usr.sbin/sysinst/arch/emips/md.h: revision 1.5
distrib/utils/embedded/mkimage: revision 1.70
usr.sbin/sysinst/arch/shark/md.h: revision 1.3
usr.sbin/sysinst/arch/pmax/md.h: revision 1.4
usr.sbin/sysinst/arch/amiga/md.h: revision 1.4
usr.sbin/sysinst/arch/hp300/md.h: revision 1.5
rescue/list.ldconfig: file removal
distrib/sets/lists/base/rescue.ad.m68k: file removal
usr.sbin/sysinst/arch/prep/md.h: revision 1.4
usr.sbin/sysinst/arch/cats/md.h: revision 1.4
usr.sbin/sysinst/arch/amd64/md.h: revision 1.7
usr.sbin/sysinst/msg.mi.es: revision 1.17
usr.sbin/sysinst/msg.mi.fr: revision 1.20
usr.sbin/sysinst/msg.mi.pl: revision 1.23
distrib/sets/lists/base/rescue.i386: file removal
usr.sbin/sysinst/arch/evbarm/md.h: revision 1.3
distrib/sets/lists/base/rescue.vax: file removal
distrib/amd64/uefi-installimage/Makefile.bootimage: revision 1.12
usr.sbin/sysinst/arch/evbmips/md.h: revision 1.3
distrib/sets/lists/base/rescue.mi: file removal
distrib/sets/README: revision 1.14
usr.sbin/sysinst/arch/sgimips/md.h: revision 1.4
distrib/sets/lists/base/rescue.sparc64: file removal
distrib/sets/lists/base/rescue.mi: revision 1.45
distrib/sets/lists/base/rescue.mi: revision 1.46
usr.sbin/sysinst/arch/ofppc/md.h: revision 1.4
usr.sbin/sysinst/arch/cobalt/md.h: revision 1.4
distrib/sets/lists/base/rescue.ad.arm: file removal
distrib/sets/lists/base/rescue.mac68k: file removal
usr.sbin/sysinst/defs.h: revision 1.45
usr.sbin/sysinst/arch/landisk/md.h: revision 1.2
distrib/notes/atari/xfer: revision 1.17
etc/Makefile: revision 1.441
usr.sbin/sysinst/msg.mi.en: revision 1.22
distrib/sun2/MakeInstTape: revision 1.2

Remove ldconfig from /rescue, and mark it MI obsolete.
- ldconfig in netbsd refers to a.out binaries only. We've been ELF-only
since NetBSD 2.0 or so, and having it in /rescue served little purpose
even before that, as /rescue is standalone.
- Using MI obsolete to avoid the need for MD set lists where ldconfig
is the sole entry

Mark /rescue/edlabel as MI-obsolete, so we can remove all remaining MD
rescue set list files.

Split out /rescue to its own set and adapt installers/images to add it.

This is meant to make updates safer: if something goes wrong with updating
base, we still have the old, standalone /rescue to recover from.
 1.3.8.1 03-Feb-2024  martin Pull up following revision(s) (requested by jmcneill in ticket #561):

etc/etc.evbppc/Makefile.inc: revision 1.15
sys/arch/evbppc/wii/dev/wiifb.c: revision 1.1
sys/arch/evbppc/wii/dev/wiifb.c: revision 1.2
sys/arch/evbppc/wii/dev/bwdsp.c: revision 1.1
sys/arch/evbppc/wii/dev/wiifb.c: revision 1.3
sys/arch/evbppc/wii/dev/bwdsp.c: revision 1.2
distrib/utils/embedded/files/evbppc_wii_icon.png: revision 1.1
usr.sbin/sysinst/arch/evbppc/md.h: revision 1.4
sys/arch/evbppc/wii/dev/wiifb.c: revision 1.4
sys/arch/evbppc/wii/dev/viio.h: revision 1.1
sys/arch/evbppc/wii/dev/wiifb.c: revision 1.5
sys/arch/evbppc/wii/dev/mainbus.h: revision 1.1
distrib/utils/embedded/conf/wii.conf: revision 1.1
distrib/utils/embedded/conf/wii.conf: revision 1.2
distrib/utils/embedded/conf/wii.conf: revision 1.3
sys/dev/sdmmc/sdhcvar.h: revision 1.34
sys/dev/sdmmc/sdhc.c: revision 1.118
sys/arch/evbppc/wii/dev/resetbtn.c: revision 1.1
distrib/utils/embedded/conf/evbppc.conf: revision 1.1
sys/dev/wsfb/genfb.c: revision 1.91
sys/arch/evbppc/wii/dev/resetbtn.c: revision 1.2
sys/dev/wscons/wsconsio.h: revision 1.127
sys/arch/powerpc/oea/oea_machdep.c: revision 1.85
sys/arch/evbppc/wii/dev/hollywood.h: revision 1.1
sys/arch/evbppc/conf/std.wii: revision 1.1
sys/arch/evbppc/wii/dev/hollywood.h: revision 1.2
sys/arch/evbppc/wii/dev/hollywood.c: revision 1.1
sys/arch/evbppc/conf/std.wii: revision 1.2
sys/arch/evbppc/wii/dev/hollywood.c: revision 1.2
sys/arch/evbppc/conf/std.wii: revision 1.3
sys/arch/powerpc/oea/cpu_subr.c: revision 1.109
sys/arch/evbppc/wii/wii_mmuinit.S: revision 1.1
sys/dev/usb/usb.h: revision 1.124
sys/arch/evbppc/wii/machdep.c: revision 1.1
sys/arch/evbppc/wii/dev/rtcsram.c: revision 1.1
sys/arch/powerpc/include/oea/hid.h: revision 1.14
sys/arch/evbppc/wii/mainbus.c: revision 1.1
sys/arch/evbppc/wii/machdep.c: revision 1.2
sys/arch/evbppc/wii/dev/ehci_hollywood.c: revision 1.1
sys/arch/evbppc/wii/mainbus.c: revision 1.2
sys/arch/evbppc/wii/machdep.c: revision 1.3
sys/arch/evbppc/wii/dev/ehci_hollywood.c: revision 1.2
sys/arch/evbppc/wii/mainbus.c: revision 1.3
sys/arch/evbppc/wii/machdep.c: revision 1.4
sys/arch/evbppc/wii/dev/hwgpio.c: revision 1.1
sys/arch/evbppc/wii/dev/sdhc_hollywood.c: revision 1.1
sys/arch/evbppc/wii/dev/sdhc_hollywood.c: revision 1.2
sys/arch/evbppc/wii/wii_locore.S: revision 1.1
sys/arch/evbppc/conf/files.wii: revision 1.1
sys/arch/evbppc/wii/wii_locore.S: revision 1.2
sys/arch/evbppc/include/wii.h: revision 1.1
sys/arch/evbppc/conf/files.wii: revision 1.2
sys/arch/evbppc/wii/dev/exi.c: revision 1.1
sys/arch/evbppc/include/wii.h: revision 1.2
sys/arch/evbppc/conf/files.wii: revision 1.3
sys/arch/powerpc/powerpc/clock.c: revision 1.18
sys/arch/evbppc/include/wii.h: revision 1.3
sys/arch/evbppc/conf/files.wii: revision 1.4
sys/arch/evbppc/include/wii.h: revision 1.4
sys/arch/evbppc/wii/dev/exi.h: revision 1.1
sys/arch/evbppc/wii/dev/avenc.c: revision 1.1
sys/arch/evbppc/include/wii.h: revision 1.5
sys/arch/evbppc/include/wii.h: revision 1.6
sys/arch/evbppc/include/wii.h: revision 1.7
sys/arch/evbppc/wii/dev/avenc.h: revision 1.1
distrib/utils/embedded/mkimage: revision 1.79
sys/arch/evbppc/conf/WII: revision 1.1
sys/arch/evbppc/conf/INSTALL_WII: revision 1.1
distrib/utils/embedded/files/evbppc_wii_meta.xml: revision 1.1
sys/arch/evbppc/wii/dev/vireg.h: revision 1.1
sys/arch/evbppc/conf/WII: revision 1.2
distrib/utils/embedded/files/evbppc_wii_meta.xml: revision 1.2
sys/arch/evbppc/wii/dev/vireg.h: revision 1.2
sys/arch/evbppc/conf/WII: revision 1.3
sys/arch/evbppc/conf/WII: revision 1.4
usr.sbin/sysinst/arch/evbppc/md.c: revision 1.11
sys/arch/evbppc/wii/dev/ohci_hollywood.c: revision 1.1
sys/dev/usb/ehcivar.h: revision 1.52
sys/arch/evbppc/wii/pic_pi.c: revision 1.1
sys/arch/evbppc/wii/dev/ohci_hollywood.c: revision 1.2
etc/etc.evbppc/ttys: revision 1.8
sys/arch/evbppc/wii/dev/bwai.c: revision 1.1
sys/arch/evbppc/wii/dev/bwai.c: revision 1.2
sys/arch/evbppc/wii/dev/bwai.c: revision 1.3
sys/arch/evbppc/wii/autoconf.c: revision 1.1
sys/arch/evbppc/conf/Makefile.wii.inc: revision 1.1
sys/arch/evbppc/wii/dev/bwai.h: revision 1.1
sys/arch/evbppc/wii/autoconf.c: revision 1.2
sys/arch/evbppc/conf/Makefile.wii.inc: revision 1.2

powerpc: oea: Fix prefetchable mappings
Prefetchable mappings need PMAP_NOCACHE to get write-combine semantics.
powerpc: oea: Decode IBM750CL L2 cache information.
sdmmc: add support for optional delay after register write
wscons: Add HOLLYWOOD display and YUY2 pixel format types
wsfb: add support for optional "devcmap" property
A hardware driver can supply a pointer to a 16x 32-bit array to override
the default rasops device colour map in the "devcmap" property.
ehci: add EHCIF_32BIT_ACCESS flag to force 32-bit MMIO
fix comments: HID0 ICFI/DCFI are "flash invalidate", not "flush invalidate"
powerpc: fix delay for large (> ~5sec) values
When calculating the target timebase, promote '1000' on the RHS to ULL
to force 64-bit calculation, otherwise 'n * 1000' will overflow.
usb: increase USB_PORT_RESET_RECOVERY from 10ms to 20ms
I changed this from 250ms to 10ms back in 2021 based on a similar FreeBSD
change, but it seems to be a bit too aggressive for some platforms.
evbppc: Add initial support for the Nintendo Wii
wii: support RB_POWERDOWN
build fix: use dd with count=1 for compat with NetBSD dd(1)
wii: Add NTSC 480p support.
In addition to this, add VIIO_{GET,SET}REGS ioctl support to allow for
poking at video interface registers from userland. This is helpful for
debugging display issues.
wii: Add 128x48 icon to SD card image
wii: Fix a comment
wii: Add drivers for Broadway DSP and Audio interface.
0: [*] audio0 @ bwdsp0: Broadway DSP
playback: 16, 2ch, 48000Hz
record: unavailable
(P-) slinear_be 16/16, 2ch, { 48000 }
wii: Add screenblank support.
wii: Use screen dimming register for screen blanking.
wii: Add GPIO, I2C, and basic A/V encoder driver.
wii: Use A/V encoder volume controls instead of using a software filter.
wii: Simply DSP driver - no interrupt handler required.
wii: provide device names to intr_establish
wii$ intrctl list
interrupt id CPU0 device name(s)
pi irq 14 64769* hollywood0
hollywood irq 36 5872* ehci0
hollywood irq 39 58907* sdhc0
hollywood irq 40 4* sdhc1
hollywood irq 49 0* resetbtn0
pi irq 5 0* bwai0
wii: Add support for passing boot options to the kernel.
wii: Add External interface bus and RTC support
wii: Remove objcopy after kernel build.
HBC will do the right thing.
Add wsvt25 entries (off by default) for ttyE0-ttyE3.
Add support for "PAL" (576i) mode on Wii.
 1.1 26-Jul-2014  dholland branches: 1.1.2; 1.1.6;
Move sysinst sources to usr.sbin.

This commit only physically moves the sources - there are no other
changes, to maximize the probability that this will be treated as a
rename if we ever do manage to migrate away from CVS.

Moving sysinst has been discussed on and off for years and has two
goals: making it easier to work on sysinst, and also making sysinst
available on running systems for use installing chroots and VM images
and other such things. None of the latter is possible yet, but as they
say, one thing at a time.

Doing this now was approved in an impromptu fashion by mrg, riz,
riastradh, me, and groo.
 1.1.6.2 20-Aug-2014  tls Rebase to HEAD as of a few days ago.
 1.1.6.1 26-Jul-2014  tls file menus.md.en was added on branch tls-maxphys on 2014-08-20 00:05:15 +0000
 1.1.2.2 10-Aug-2014  tls Rebase.
 1.1.2.1 26-Jul-2014  tls file menus.md.en was added on branch tls-earlyentropy on 2014-08-10 07:00:26 +0000
 1.1 26-Jul-2014  dholland branches: 1.1.2; 1.1.6;
Move sysinst sources to usr.sbin.

This commit only physically moves the sources - there are no other
changes, to maximize the probability that this will be treated as a
rename if we ever do manage to migrate away from CVS.

Moving sysinst has been discussed on and off for years and has two
goals: making it easier to work on sysinst, and also making sysinst
available on running systems for use installing chroots and VM images
and other such things. None of the latter is possible yet, but as they
say, one thing at a time.

Doing this now was approved in an impromptu fashion by mrg, riz,
riastradh, me, and groo.
 1.1.6.2 20-Aug-2014  tls Rebase to HEAD as of a few days ago.
 1.1.6.1 26-Jul-2014  tls file menus.md.es was added on branch tls-maxphys on 2014-08-20 00:05:15 +0000
 1.1.2.2 10-Aug-2014  tls Rebase.
 1.1.2.1 26-Jul-2014  tls file menus.md.es was added on branch tls-earlyentropy on 2014-08-10 07:00:26 +0000
 1.1 26-Jul-2014  dholland branches: 1.1.2; 1.1.6;
Move sysinst sources to usr.sbin.

This commit only physically moves the sources - there are no other
changes, to maximize the probability that this will be treated as a
rename if we ever do manage to migrate away from CVS.

Moving sysinst has been discussed on and off for years and has two
goals: making it easier to work on sysinst, and also making sysinst
available on running systems for use installing chroots and VM images
and other such things. None of the latter is possible yet, but as they
say, one thing at a time.

Doing this now was approved in an impromptu fashion by mrg, riz,
riastradh, me, and groo.
 1.1.6.2 20-Aug-2014  tls Rebase to HEAD as of a few days ago.
 1.1.6.1 26-Jul-2014  tls file menus.md.fr was added on branch tls-maxphys on 2014-08-20 00:05:15 +0000
 1.1.2.2 10-Aug-2014  tls Rebase.
 1.1.2.1 26-Jul-2014  tls file menus.md.fr was added on branch tls-earlyentropy on 2014-08-10 07:00:26 +0000
 1.1 26-Jul-2014  dholland branches: 1.1.2; 1.1.6;
Move sysinst sources to usr.sbin.

This commit only physically moves the sources - there are no other
changes, to maximize the probability that this will be treated as a
rename if we ever do manage to migrate away from CVS.

Moving sysinst has been discussed on and off for years and has two
goals: making it easier to work on sysinst, and also making sysinst
available on running systems for use installing chroots and VM images
and other such things. None of the latter is possible yet, but as they
say, one thing at a time.

Doing this now was approved in an impromptu fashion by mrg, riz,
riastradh, me, and groo.
 1.1.6.2 20-Aug-2014  tls Rebase to HEAD as of a few days ago.
 1.1.6.1 26-Jul-2014  tls file menus.md.pl was added on branch tls-maxphys on 2014-08-20 00:05:15 +0000
 1.1.2.2 10-Aug-2014  tls Rebase.
 1.1.2.1 26-Jul-2014  tls file menus.md.pl was added on branch tls-earlyentropy on 2014-08-10 07:00:26 +0000
 1.1 26-Jul-2014  dholland branches: 1.1.2; 1.1.6;
Move sysinst sources to usr.sbin.

This commit only physically moves the sources - there are no other
changes, to maximize the probability that this will be treated as a
rename if we ever do manage to migrate away from CVS.

Moving sysinst has been discussed on and off for years and has two
goals: making it easier to work on sysinst, and also making sysinst
available on running systems for use installing chroots and VM images
and other such things. None of the latter is possible yet, but as they
say, one thing at a time.

Doing this now was approved in an impromptu fashion by mrg, riz,
riastradh, me, and groo.
 1.1.6.2 20-Aug-2014  tls Rebase to HEAD as of a few days ago.
 1.1.6.1 26-Jul-2014  tls file msg.md.de was added on branch tls-maxphys on 2014-08-20 00:05:15 +0000
 1.1.2.2 10-Aug-2014  tls Rebase.
 1.1.2.1 26-Jul-2014  tls file msg.md.de was added on branch tls-earlyentropy on 2014-08-10 07:00:26 +0000
 1.1 26-Jul-2014  dholland branches: 1.1.2; 1.1.6;
Move sysinst sources to usr.sbin.

This commit only physically moves the sources - there are no other
changes, to maximize the probability that this will be treated as a
rename if we ever do manage to migrate away from CVS.

Moving sysinst has been discussed on and off for years and has two
goals: making it easier to work on sysinst, and also making sysinst
available on running systems for use installing chroots and VM images
and other such things. None of the latter is possible yet, but as they
say, one thing at a time.

Doing this now was approved in an impromptu fashion by mrg, riz,
riastradh, me, and groo.
 1.1.6.2 20-Aug-2014  tls Rebase to HEAD as of a few days ago.
 1.1.6.1 26-Jul-2014  tls file msg.md.en was added on branch tls-maxphys on 2014-08-20 00:05:15 +0000
 1.1.2.2 10-Aug-2014  tls Rebase.
 1.1.2.1 26-Jul-2014  tls file msg.md.en was added on branch tls-earlyentropy on 2014-08-10 07:00:26 +0000
 1.1 26-Jul-2014  dholland branches: 1.1.2; 1.1.6;
Move sysinst sources to usr.sbin.

This commit only physically moves the sources - there are no other
changes, to maximize the probability that this will be treated as a
rename if we ever do manage to migrate away from CVS.

Moving sysinst has been discussed on and off for years and has two
goals: making it easier to work on sysinst, and also making sysinst
available on running systems for use installing chroots and VM images
and other such things. None of the latter is possible yet, but as they
say, one thing at a time.

Doing this now was approved in an impromptu fashion by mrg, riz,
riastradh, me, and groo.
 1.1.6.2 20-Aug-2014  tls Rebase to HEAD as of a few days ago.
 1.1.6.1 26-Jul-2014  tls file msg.md.es was added on branch tls-maxphys on 2014-08-20 00:05:15 +0000
 1.1.2.2 10-Aug-2014  tls Rebase.
 1.1.2.1 26-Jul-2014  tls file msg.md.es was added on branch tls-earlyentropy on 2014-08-10 07:00:26 +0000
 1.1 26-Jul-2014  dholland branches: 1.1.2; 1.1.6;
Move sysinst sources to usr.sbin.

This commit only physically moves the sources - there are no other
changes, to maximize the probability that this will be treated as a
rename if we ever do manage to migrate away from CVS.

Moving sysinst has been discussed on and off for years and has two
goals: making it easier to work on sysinst, and also making sysinst
available on running systems for use installing chroots and VM images
and other such things. None of the latter is possible yet, but as they
say, one thing at a time.

Doing this now was approved in an impromptu fashion by mrg, riz,
riastradh, me, and groo.
 1.1.6.2 20-Aug-2014  tls Rebase to HEAD as of a few days ago.
 1.1.6.1 26-Jul-2014  tls file msg.md.fr was added on branch tls-maxphys on 2014-08-20 00:05:15 +0000
 1.1.2.2 10-Aug-2014  tls Rebase.
 1.1.2.1 26-Jul-2014  tls file msg.md.fr was added on branch tls-earlyentropy on 2014-08-10 07:00:26 +0000
 1.1 26-Jul-2014  dholland branches: 1.1.2; 1.1.6;
Move sysinst sources to usr.sbin.

This commit only physically moves the sources - there are no other
changes, to maximize the probability that this will be treated as a
rename if we ever do manage to migrate away from CVS.

Moving sysinst has been discussed on and off for years and has two
goals: making it easier to work on sysinst, and also making sysinst
available on running systems for use installing chroots and VM images
and other such things. None of the latter is possible yet, but as they
say, one thing at a time.

Doing this now was approved in an impromptu fashion by mrg, riz,
riastradh, me, and groo.
 1.1.6.2 20-Aug-2014  tls Rebase to HEAD as of a few days ago.
 1.1.6.1 26-Jul-2014  tls file msg.md.pl was added on branch tls-maxphys on 2014-08-20 00:05:15 +0000
 1.1.2.2 10-Aug-2014  tls Rebase.
 1.1.2.1 26-Jul-2014  tls file msg.md.pl was added on branch tls-earlyentropy on 2014-08-10 07:00:26 +0000
 1.1 26-Jul-2014  dholland branches: 1.1.2; 1.1.6;
Move sysinst sources to usr.sbin.

This commit only physically moves the sources - there are no other
changes, to maximize the probability that this will be treated as a
rename if we ever do manage to migrate away from CVS.

Moving sysinst has been discussed on and off for years and has two
goals: making it easier to work on sysinst, and also making sysinst
available on running systems for use installing chroots and VM images
and other such things. None of the latter is possible yet, but as they
say, one thing at a time.

Doing this now was approved in an impromptu fashion by mrg, riz,
riastradh, me, and groo.
 1.1.6.2 20-Aug-2014  tls Rebase to HEAD as of a few days ago.
 1.1.6.1 26-Jul-2014  tls file Makefile was added on branch tls-maxphys on 2014-08-20 00:05:15 +0000
 1.1.2.2 10-Aug-2014  tls Rebase.
 1.1.2.1 26-Jul-2014  tls file Makefile was added on branch tls-earlyentropy on 2014-08-10 07:00:26 +0000
 1.8 26-Mar-2023  andvar fix various typos in documentation, comments and sysctl device description.
mainly aion -> ation and inlude -> include.
 1.7 29-Jan-2022  martin When upgrading, update the boot code post extraction from
the updated target file system.
 1.6 12-Oct-2020  martin PR 55536: when we find existing partition tables and have alternative
formats available, offer to delete partitions and create new ones from
scratch (in some other or the same on-disk format).
 1.5 13-Jul-2019  martin branches: 1.5.2;
We may call md_pre_mount() multiple times for the same install set,
so pass an additional index argument so MD code knows which part
of the install will be mounted next.
 1.4 12-Jun-2019  martin Rework internal data structures and "interfaces to user interface" functions
to get rid of all disklabel assumptions.

Previously (even for GPT partitioning) struct disklabel was used, which
obviously breaks large disk setups. Also many MD parts and parts of the
user interface assumed (a) a struct disklabel is used internally to
store partitioning information and (b) partitions are named 'a' ... $MAXPART.

Get rid of this and replace it with a quite abstract interface that should
be able to deal with all variants in partition storage:

- partitions are stored in a (partly abstract) struct disk_partitions
and most parts of it are only accessed via accessor functions provided
by a "partitioning scheme".

- implement partitioning schemes for MBR, disklabel and GPT (with likely
RDB [amiga] and Apple Partition Map [mac*] to follow soon)

- partitioning schemes may be cascaded, e.g. on x86 when using MBR as
"outer partitions", we have disklabel as "inner partitions".

- all user interface goes via accessor functions in the partitioning scheme,
some of which return pointers to special user interface descriptors
(e.g. to allow editing partition flags, which are scheme specific)

Overall the user interface changes (in this initial step) are minimal but
noticable. A new Anita is needed for automatic test setups - many thanks
to Andreas Gustafsson for lots of early testing and a new Anita version,
and to Manuel Bouyer for cooperation and tests of the Anita release.

This work was sponsored by The NetBSD Foundation, Inc.
 1.3 02-Jan-2015  abs branches: 1.3.16;
Rather than scatter set_swap() calls wrapped in ram size checks through
md_post_disklabel() and md_pre_update(), abstract them out to an MI
set_swap_if_low_ram() and call from the appropriate MI places.
Now all platforms add swap if the system has <= 32M of RAM.
 1.2 03-Aug-2014  martin branches: 1.2.2; 1.2.4; 1.2.6;
(Finally) merge a slightly modified version of the 2012 GSoC results
from Eugene Lozovoy: add extended partitioning options to sysinst.
Still needs some testing and polishing, but it now is possible to use GPT
or to create a RAID set from scratch and install onto it.
 1.1 26-Jul-2014  dholland Move sysinst sources to usr.sbin.

This commit only physically moves the sources - there are no other
changes, to maximize the probability that this will be treated as a
rename if we ever do manage to migrate away from CVS.

Moving sysinst has been discussed on and off for years and has two
goals: making it easier to work on sysinst, and also making sysinst
available on running systems for use installing chroots and VM images
and other such things. None of the latter is possible yet, but as they
say, one thing at a time.

Doing this now was approved in an impromptu fashion by mrg, riz,
riastradh, me, and groo.
 1.2.6.2 20-Aug-2014  tls Rebase to HEAD as of a few days ago.
 1.2.6.1 03-Aug-2014  tls file md.c was added on branch tls-maxphys on 2014-08-20 00:05:15 +0000
 1.2.4.1 11-Jan-2015  snj Pull up following revision(s) (requested by abs in ticket #400):
usr.sbin/sysinst/arch/arc/md.c: revision 1.3
usr.sbin/sysinst/arch/cobalt/md.c: revision 1.3
usr.sbin/sysinst/arch/evbsh3/md.c: revision 1.3
usr.sbin/sysinst/arch/hp300/md.c: revision 1.3
usr.sbin/sysinst/arch/hpcsh/md.c: revision 1.3
usr.sbin/sysinst/arch/i386/md.c: revision 1.5
usr.sbin/sysinst/arch/luna68k/md.c: revision 1.4
usr.sbin/sysinst/arch/mvme68k/md.c: revision 1.3
usr.sbin/sysinst/arch/news68k/md.c: revision 1.3
usr.sbin/sysinst/arch/sgimips/md.c: revision 1.3
usr.sbin/sysinst/arch/vax/md.c: revision 1.3
usr.sbin/sysinst/arch/x68k/md.c: revision 1.3
usr.sbin/sysinst/defs.h: revision 1.6
usr.sbin/sysinst/disks.c: revision 1.7
usr.sbin/sysinst/install.c: revision 1.3
usr.sbin/sysinst/partman.c: revision 1.8
usr.sbin/sysinst/upgrade.c: revision 1.3
Rather than scatter set_swap() calls wrapped in ram size checks through
md_post_disklabel() and md_pre_update(), abstract them out to an MI
set_swap_if_low_ram() and call from the appropriate MI places.
Now all platforms add swap if the system has <= 32M of RAM.
 1.2.2.2 10-Aug-2014  tls Rebase.
 1.2.2.1 03-Aug-2014  tls file md.c was added on branch tls-earlyentropy on 2014-08-10 07:00:26 +0000
 1.3.16.1 13-Apr-2020  martin Mostly merge changes from HEAD upto 20200411
 1.5.2.2 02-Feb-2022  msaitoh Pull up following revision(s) (requested by martin in ticket #1422):
usr.sbin/sysinst/util.c: revision 1.64
usr.sbin/sysinst/arch/hpcsh/md.c: revision 1.11
usr.sbin/sysinst/arch/alpha/md.c: revision 1.10
usr.sbin/sysinst/arch/sparc64/md.c: revision 1.7
usr.sbin/sysinst/arch/emips/md.c: revision 1.10
usr.sbin/sysinst/arch/cobalt/md.c: revision 1.15
usr.sbin/sysinst/arch/x68k/md.c: revision 1.12
usr.sbin/sysinst/arch/sandpoint/md.c: revision 1.10
usr.sbin/sysinst/arch/luna68k/md.c: revision 1.10
usr.sbin/sysinst/arch/hp300/md.c: revision 1.12
usr.sbin/sysinst/arch/vax/md.c: revision 1.8
usr.sbin/sysinst/arch/hpcmips/md.c: revision 1.10
usr.sbin/sysinst/target.c: revision 1.16
usr.sbin/sysinst/arch/mvme68k/md.c: revision 1.12
usr.sbin/sysinst/arch/arc/md.c: revision 1.14
usr.sbin/sysinst/target.c: revision 1.17
usr.sbin/sysinst/arch/i386/md.c: revision 1.34
usr.sbin/sysinst/arch/mac68k/md.c: revision 1.11
usr.sbin/sysinst/arch/atari/md.c: revision 1.8
usr.sbin/sysinst/arch/sgimips/md.c: revision 1.10
usr.sbin/sysinst/arch/acorn32/md.c: revision 1.8
usr.sbin/sysinst/install.c: revision 1.22
usr.sbin/sysinst/arch/amiga/md.c: revision 1.7
usr.sbin/sysinst/arch/cats/md.c: revision 1.6
usr.sbin/sysinst/arch/dummy/md.c: revision 1.7
usr.sbin/sysinst/arch/shark/md.c: revision 1.7
usr.sbin/sysinst/arch/pmax/md.c: revision 1.9
usr.sbin/sysinst/arch/newsmips/md.c: revision 1.7
usr.sbin/sysinst/arch/mipsco/md.c: revision 1.9
usr.sbin/sysinst/arch/landisk/md.c: revision 1.15
usr.sbin/sysinst/arch/hppa/md.c: revision 1.9
usr.sbin/sysinst/arch/prep/md.c: revision 1.14
usr.sbin/sysinst/defs.h: revision 1.77
usr.sbin/sysinst/arch/ofppc/md.c: revision 1.13
usr.sbin/sysinst/arch/ews4800mips/md.c: revision 1.8
usr.sbin/sysinst/defs.h: revision 1.78
usr.sbin/sysinst/arch/macppc/md.c: revision 1.7
usr.sbin/sysinst/arch/evbppc/md.c: revision 1.10
usr.sbin/sysinst/defs.h: revision 1.79
usr.sbin/sysinst/gpt.c: revision 1.27
usr.sbin/sysinst/arch/bebox/md.c: revision 1.10
usr.sbin/sysinst/gpt.c: revision 1.28
usr.sbin/sysinst/arch/sparc/md.c: revision 1.7
usr.sbin/sysinst/arch/evbsh3/md.c: revision 1.7
usr.sbin/sysinst/arch/evbarm/md.c: revision 1.22
usr.sbin/sysinst/arch/news68k/md.c: revision 1.8
usr.sbin/sysinst/upgrade.c: revision 1.19
usr.sbin/sysinst/arch/zaurus/md.c: revision 1.12
usr.sbin/sysinst/arch/playstation2/md.c: revision 1.10
usr.sbin/sysinst/arch/hpcarm/md.c: revision 1.11
usr.sbin/sysinst/arch/evbmips/md.c: revision 1.10
usr.sbin/sysinst/main.c: revision 1.28
Add an option to set the directory where we look for message catalogs.
Try to get rid of all wedges we created (after unmounting).
When upgrading, update the boot code post extraction from
the updated target file system.
Do not defer wedge deletions when we have nothing mounted.
Define and use a constant for maximum disk name length.
 1.5.2.1 15-Oct-2020  bouyer Pull up following revision(s) (requested by martin in ticket #1113):
usr.sbin/sysinst/bsddisklabel.c: revision 1.46
usr.sbin/sysinst/bsddisklabel.c: revision 1.47
usr.sbin/sysinst/disklabel.c: revision 1.40
usr.sbin/sysinst/arch/cobalt/md.c: revision 1.13
usr.sbin/sysinst/bsddisklabel.c: revision 1.48
usr.sbin/sysinst/disklabel.c: revision 1.41
usr.sbin/sysinst/arch/cobalt/md.c: revision 1.14
usr.sbin/sysinst/bsddisklabel.c: revision 1.49
usr.sbin/sysinst/disklabel.c: revision 1.42
usr.sbin/sysinst/Makefile.inc: revision 1.34
usr.sbin/sysinst/disks.c: revision 1.70
usr.sbin/sysinst/arch/hp300/md.c: revision 1.11
usr.sbin/sysinst/disks.c: revision 1.71
usr.sbin/sysinst/arch/i386/md.h: revision 1.8
usr.sbin/sysinst/arch/arc/md.c: revision 1.13
usr.sbin/sysinst/mbr.h: revision 1.5
usr.sbin/sysinst/mbr.h: revision 1.6
usr.sbin/sysinst/arch/mac68k/md.c: revision 1.10
usr.sbin/sysinst/bsddisklabel.c: revision 1.50
usr.sbin/sysinst/arch/acorn32/md.c: revision 1.7
usr.sbin/sysinst/bsddisklabel.c: revision 1.51
usr.sbin/sysinst/bsddisklabel.c: revision 1.52
usr.sbin/sysinst/bsddisklabel.c: revision 1.53
usr.sbin/sysinst/bsddisklabel.c: revision 1.54
usr.sbin/sysinst/bsddisklabel.c: revision 1.55
usr.sbin/sysinst/bsddisklabel.c: revision 1.56
usr.sbin/sysinst/arch/dummy/md.c: revision 1.6
usr.sbin/sysinst/arch/amd64/md.h: revision 1.9
usr.sbin/sysinst/arch/evbsh3/md.c: revision 1.6
usr.sbin/sysinst/arch/sparc/md.c: revision 1.6
usr.sbin/sysinst/arch/zaurus/md.c: revision 1.10
usr.sbin/sysinst/arch/x68k/md.c: revision 1.11
usr.sbin/sysinst/arch/sandpoint/md.c: revision 1.9
usr.sbin/sysinst/arch/vax/md.c: revision 1.7
usr.sbin/sysinst/arch/luna68k/md.c: revision 1.9
usr.sbin/sysinst/gpt.c: revision 1.19
usr.sbin/sysinst/arch/i386/md.c: revision 1.31
usr.sbin/sysinst/arch/i386/md.c: revision 1.32
usr.sbin/sysinst/arch/evbarm/md.c: revision 1.17
usr.sbin/sysinst/arch/evbarm/md.c: revision 1.18
usr.sbin/sysinst/arch/evbarm/md.c: revision 1.19
usr.sbin/sysinst/arch/shark/md.c: revision 1.6
usr.sbin/sysinst/arch/landisk/md.c: revision 1.14
usr.sbin/sysinst/util.c: revision 1.43
usr.sbin/sysinst/gpt.c: revision 1.20
usr.sbin/sysinst/util.c: revision 1.44
usr.sbin/sysinst/gpt.c: revision 1.21
usr.sbin/sysinst/gpt.c: revision 1.22
usr.sbin/sysinst/arch/evbarm/msg.md.en: revision 1.2
usr.sbin/sysinst/arch/ofppc/md.c: revision 1.11
usr.sbin/sysinst/util.c: revision 1.46
usr.sbin/sysinst/arch/ofppc/md.c: revision 1.12
usr.sbin/sysinst/util.c: revision 1.47
usr.sbin/sysinst/arch/evbarm/md.h: revision 1.6
usr.sbin/sysinst/util.c: revision 1.48
usr.sbin/sysinst/arch/evbarm/md.h: revision 1.7
usr.sbin/sysinst/arch/evbmips/md.c: revision 1.9
usr.sbin/sysinst/msg.mi.fr: revision 1.28
usr.sbin/sysinst/msg.mi.fr: revision 1.29
usr.sbin/sysinst/arch/sgimips/md.c: revision 1.9
usr.sbin/sysinst/arch/evbarm/Makefile: revision 1.3
usr.sbin/sysinst/msg.mi.de: revision 1.23
usr.sbin/sysinst/arch/hpcsh/md.c: revision 1.10
usr.sbin/sysinst/msg.mi.de: revision 1.24
usr.sbin/sysinst/install.c: revision 1.15
usr.sbin/sysinst/install.c: revision 1.16
usr.sbin/sysinst/arch/sparc64/md.c: revision 1.6
usr.sbin/sysinst/install.c: revision 1.17
usr.sbin/sysinst/install.c: revision 1.18
usr.sbin/sysinst/partitions.h: revision 1.16
usr.sbin/sysinst/install.c: revision 1.19
usr.sbin/sysinst/partitions.h: revision 1.17
usr.sbin/sysinst/arch/evbppc/md.c: revision 1.9
usr.sbin/sysinst/arch/playstation2/md.c: revision 1.9
usr.sbin/sysinst/partitions.h: revision 1.18
usr.sbin/sysinst/arch/hpcarm/md.c: revision 1.9
usr.sbin/sysinst/partitions.h: revision 1.19
usr.sbin/sysinst/msg.mi.es: revision 1.24
usr.sbin/sysinst/msg.mi.es: revision 1.25
usr.sbin/sysinst/msg.mi.es: revision 1.26
usr.sbin/sysinst/arch/zaurus/md.c: revision 1.9
usr.sbin/sysinst/target.c: revision 1.13
usr.sbin/sysinst/target.c: revision 1.14
usr.sbin/sysinst/part_edit.c: revision 1.17
usr.sbin/sysinst/part_edit.c: revision 1.18
usr.sbin/sysinst/msg.mi.fr: revision 1.30
usr.sbin/sysinst/arch/mvme68k/md.c: revision 1.11
usr.sbin/sysinst/part_edit.c: revision 1.19
usr.sbin/sysinst/msg.mi.fr: revision 1.31
usr.sbin/sysinst/arch/alpha/md.c: revision 1.9
usr.sbin/sysinst/msg.mi.en: revision 1.30
usr.sbin/sysinst/defs.h: revision 1.56
usr.sbin/sysinst/msg.mi.en: revision 1.31
usr.sbin/sysinst/defs.h: revision 1.57
usr.sbin/sysinst/msg.mi.en: revision 1.32
usr.sbin/sysinst/arch/amiga/md.c: revision 1.6
usr.sbin/sysinst/arch/hpcmips/md.c: revision 1.9
usr.sbin/sysinst/defs.h: revision 1.58
usr.sbin/sysinst/arch/cats/md.c: revision 1.5
usr.sbin/sysinst/defs.h: revision 1.59
usr.sbin/sysinst/arch/newsmips/md.c: revision 1.6
usr.sbin/sysinst/arch/pmax/md.c: revision 1.8
usr.sbin/sysinst/arch/mipsco/md.c: revision 1.8
usr.sbin/sysinst/part_edit.c: revision 1.20
usr.sbin/sysinst/part_edit.c: revision 1.21
usr.sbin/sysinst/arch/macppc/md.c: revision 1.6
usr.sbin/sysinst/part_edit.c: revision 1.22
usr.sbin/sysinst/part_edit.c: revision 1.23
usr.sbin/sysinst/part_edit.c: revision 1.24
usr.sbin/sysinst/defs.h: revision 1.60
usr.sbin/sysinst/arch/mac68k/Makefile: revision 1.3
usr.sbin/sysinst/defs.h: revision 1.61
usr.sbin/sysinst/defs.h: revision 1.63
usr.sbin/sysinst/defs.h: revision 1.64
usr.sbin/sysinst/defs.h: revision 1.65
usr.sbin/sysinst/label.c: revision 1.21
usr.sbin/sysinst/defs.h: revision 1.66
usr.sbin/sysinst/label.c: revision 1.22
usr.sbin/sysinst/defs.h: revision 1.67
usr.sbin/sysinst/label.c: revision 1.23
usr.sbin/sysinst/label.c: revision 1.24
usr.sbin/sysinst/label.c: revision 1.25
usr.sbin/sysinst/label.c: revision 1.26
usr.sbin/sysinst/label.c: revision 1.27
usr.sbin/sysinst/msg.mi.pl: revision 1.31
usr.sbin/sysinst/label.c: revision 1.28
usr.sbin/sysinst/msg.mi.pl: revision 1.32
usr.sbin/sysinst/label.c: revision 1.29
usr.sbin/sysinst/arch/atari/md.c: revision 1.7
usr.sbin/sysinst/disklabel.c: revision 1.36
usr.sbin/sysinst/disklabel.c: revision 1.37
usr.sbin/sysinst/disklabel.c: revision 1.38
usr.sbin/sysinst/disklabel.c: revision 1.39
usr.sbin/sysinst/arch/bebox/md.c: revision 1.9
usr.sbin/sysinst/mbr.c: revision 1.32
usr.sbin/sysinst/disks.c: revision 1.66
usr.sbin/sysinst/mbr.c: revision 1.33
usr.sbin/sysinst/disks.c: revision 1.67
usr.sbin/sysinst/mbr.c: revision 1.34
usr.sbin/sysinst/arch/emips/md.c: revision 1.9
usr.sbin/sysinst/disks.c: revision 1.68
usr.sbin/sysinst/partitions.c: revision 1.11
usr.sbin/sysinst/mbr.c: revision 1.35
usr.sbin/sysinst/disks.c: revision 1.69
usr.sbin/sysinst/mbr.c: revision 1.36
usr.sbin/sysinst/arch/hppa/md.c: revision 1.8
usr.sbin/sysinst/arch/prep/md.c: revision 1.13
usr.sbin/sysinst/label.c: revision 1.30
usr.sbin/sysinst/arch/ews4800mips/md.c: revision 1.7
usr.sbin/sysinst/main.c: revision 1.21
usr.sbin/sysinst/main.c: revision 1.22
usr.sbin/sysinst/main.c: revision 1.23
usr.sbin/sysinst/bsddisklabel.c: revision 1.40
usr.sbin/sysinst/main.c: revision 1.24
usr.sbin/sysinst/arch/cobalt/md.h: revision 1.6
usr.sbin/sysinst/bsddisklabel.c: revision 1.41
usr.sbin/sysinst/main.c: revision 1.25
usr.sbin/sysinst/arch/news68k/md.c: revision 1.7
usr.sbin/sysinst/bsddisklabel.c: revision 1.42
usr.sbin/sysinst/bsddisklabel.c: revision 1.43
usr.sbin/sysinst/bsddisklabel.c: revision 1.44
usr.sbin/sysinst/bsddisklabel.c: revision 1.45
Use strlcpy in a few places to guarnatee 0-terminated strings
Rever previous: the d_packname in struct disklabel is not NUL terminated.
Disable the warning instead.
Do not force -Os optimization (unless SMALLPROG)
Remove unused "rel" global variable and make the -r option a no-op.
PR 55045: strlcpy(NULL, ..., 0) considered harmfull in some implementations.
PR misc/54886: bump threshold for automatic/default creation of a tmpfs /tmp
up slightly (to 384 MB ram). This will make sure the default install has
a > 64 MB /tmp available (number pulled out of thin air, 64 MB is the minimum
required by the ZFS tests).
Don't depend on common symbol definitions.
boardype should not be common.
Redo the root-size-limit check again after we grew the root partition
for kernel dumps. Auto-enable the /usr partition if it overflows.
For all non-root partitions, default to FFSv2.
When extending a partition (to fill the total disk size) do respect
size limits.
Do not suggest a size limited partition for extension by default.
Minor tweak to previous: when forcing a /usr partition just to have an
arbitrary extendable partition, still use its default size initially.
At the end of a new installation save entropy.
Ooops, backout previous - twice the entropy saving is not needed.
Instead slightly improve the (slightly) hidden other code that already
did it.
PR 55202: disable swapping if we started it due to low ram
it's "its"
Remove "If you booted from a floppy" message
Set HAVE_INSTALL_IMAGE for evbarm
Change mountpoint of boot ext2fs from /stand to /ext2 to avoid conflict.
Should be pulled up to netbsd-9, with fixes of PR/55060.
MBR type for Ext2 should be MBR_PTYPE_LNXEXT2, not MBR_PTYPE_FAT12.
Silence -Wstringop-truncation for ``name'' in disp_selected_part().
This variable is used only for display, and truncation seems harmless.
PR 55572: avoid crash when answering the mount point prompt for a previously
empty mount point with an emptry sting.
When adding a new partition in the concrete partition editor, make sure
to set a pointer to the partition table interface in the new entry.
Otherwise we may end up not writing back the partitions at all, leading
to further fallout later.
Receipe to reproduce the issue from Frederic Fauberteau, thanks!
In the concrete partitions editor, after deleting the last partition move
the menu selection to the "add a partition" entry (instead of the sentinel
line which is not an active menu entry).
Typo in comment
Keep a list of all partition tables from which we have deleted partitions
and make sure we update those partition tables when writing partitions,
even if no install related partition remains on them.
Fix display of timezone selection menu
If there is no current partitioning manager assume we are editing the
current system and make target_already_root() return true.
Fixes various fallout when using sysinst post installation.
PR 55377: mark boot partitions in the partition size display, as suggested
by Izumi Tsutsui (minor modifications + all bugs by me)
PR 55378: do not assume RAW_PART to be either 2 or 3
PR 55379: avoid creating bogus /etc/fstab lines for /dev/cd* if no
cdrom is available.
PR 55381: try to deal with moved (but not yet saved) partitions when
calculating free space
Apply patch provided by Izumi Tsutsui in PR 55382: make ext2 partitions
show up in the outer (MBR) partition table, needed for example on Cobalt
where firmware boots from that partition.
PR 55384: detangle pm->ptstart from the "install" flag (selecting a
target partition). Instead introduce a new PTI_INSTALL_TARGET per partition
flag and deal with it in the partitioning backends.
Honour pm->ptstart when allocating new partitions - it is supposed to be
the first sector usable by NetBSD.
If we have no explicitly marke target root partition, make sure to set
the proper flag on the implicit one.
When merging existing partitions with desired target system layout
information, only force the "mount" flag if the existing partitions
has a valid mount point.
Add a heuristic to detect and properly mark EFI system partitions
when re-using pre-existing partitions.
When MD code requests a reserved area (at the start of the disk)
make sure to properly account for the "lost" space during all calculations
and especially when expanding the main partition to fill the disk.
Avoid using the global "pm" or a passed device descriptons when we are
passing disk limits explicitly anyway.
Simplify/fix a few rounding calculations.
When creating new partitions for "full disk" use, pass a install target
hint to the partitioning backend (for the outer NetBSD partition).
Use an install target hint to mark a new partition active.
When compiled with BOOTSEL support, also name the new partition "NetBSD".
Remove more pm->ptstart abuse - calculate values localy where needed
instead.
Fix editing start and size of not yet existing outer partitions.
Previously we abused pm->ptstart / pm->ptsize to pass the bounds of the
NetBSD outer partition to the inner partition editor - but now this is
not a valid assumption any more, so explicitly fix the bounds if an
outer partition exists.
Remove very strange code that special-cased MSDOS file systems and refused
to newfs the partition (despite explicit request to do so) if it was
mountable.
Accidently carried over from a dim and distant past, before we had
fsck_newfs.
PR 55536: when we find existing partition tables and have alternative
formats available, offer to delete partitions and create new ones from
scratch (in some other or the same on-disk format).
Minor fix to previous: fix condition when we offer the partition type
switch - it makes sense even if the disk is partitioned but has no valid
partitions.
Before forcing MBR partitions into our disklabel, make sure they are not
there yet - could happen in various paths when reusing existing partitions
(or parts of that) - previously we would blindly duplicate identical
partitions.
Ooops, part of previous was not meant to be included yet
When renumbering partitions (after deletions) be slightly more lax
in matching, to cope with differences between MBR EFI partitions and
disklabel MSDOS partitions.
PR 55142: on popular demand bring back expert options to adjust the
number of free inodes, block size and fragment size for FFS and LFS.
Fix copy & pasto noticed by Jason Mitchell: change the type of a GPT
partition via "gpt type" - not "gpt label".
Fix copy & pasto (missing "again" label)
Remove dead code
Move MBR writing (if any) post disklabel writing, otherwise strange
interactions happen.
Properly convert partition default sizes in MB to number of sectors
 1.2 26-Apr-2025  tsutsui Remove obsolete MD 'PART_(ROOT|SWAP|BSD|RAW|USR|REST|FIRST_FREE)' defines.

Patch from Miod Vallat.
 1.1 26-Jul-2014  dholland branches: 1.1.2; 1.1.6; 1.1.40;
Move sysinst sources to usr.sbin.

This commit only physically moves the sources - there are no other
changes, to maximize the probability that this will be treated as a
rename if we ever do manage to migrate away from CVS.

Moving sysinst has been discussed on and off for years and has two
goals: making it easier to work on sysinst, and also making sysinst
available on running systems for use installing chroots and VM images
and other such things. None of the latter is possible yet, but as they
say, one thing at a time.

Doing this now was approved in an impromptu fashion by mrg, riz,
riastradh, me, and groo.
 1.1.40.1 02-Aug-2025  perseant Sync with HEAD
 1.1.6.2 20-Aug-2014  tls Rebase to HEAD as of a few days ago.
 1.1.6.1 26-Jul-2014  tls file md.h was added on branch tls-maxphys on 2014-08-20 00:05:15 +0000
 1.1.2.2 10-Aug-2014  tls Rebase.
 1.1.2.1 26-Jul-2014  tls file md.h was added on branch tls-earlyentropy on 2014-08-10 07:00:26 +0000
 1.1 26-Jul-2014  dholland branches: 1.1.2; 1.1.6;
Move sysinst sources to usr.sbin.

This commit only physically moves the sources - there are no other
changes, to maximize the probability that this will be treated as a
rename if we ever do manage to migrate away from CVS.

Moving sysinst has been discussed on and off for years and has two
goals: making it easier to work on sysinst, and also making sysinst
available on running systems for use installing chroots and VM images
and other such things. None of the latter is possible yet, but as they
say, one thing at a time.

Doing this now was approved in an impromptu fashion by mrg, riz,
riastradh, me, and groo.
 1.1.6.2 20-Aug-2014  tls Rebase to HEAD as of a few days ago.
 1.1.6.1 26-Jul-2014  tls file menus.md.en was added on branch tls-maxphys on 2014-08-20 00:05:15 +0000
 1.1.2.2 10-Aug-2014  tls Rebase.
 1.1.2.1 26-Jul-2014  tls file menus.md.en was added on branch tls-earlyentropy on 2014-08-10 07:00:26 +0000
 1.1 26-Jul-2014  dholland branches: 1.1.2; 1.1.6;
Move sysinst sources to usr.sbin.

This commit only physically moves the sources - there are no other
changes, to maximize the probability that this will be treated as a
rename if we ever do manage to migrate away from CVS.

Moving sysinst has been discussed on and off for years and has two
goals: making it easier to work on sysinst, and also making sysinst
available on running systems for use installing chroots and VM images
and other such things. None of the latter is possible yet, but as they
say, one thing at a time.

Doing this now was approved in an impromptu fashion by mrg, riz,
riastradh, me, and groo.
 1.1.6.2 20-Aug-2014  tls Rebase to HEAD as of a few days ago.
 1.1.6.1 26-Jul-2014  tls file menus.md.fr was added on branch tls-maxphys on 2014-08-20 00:05:15 +0000
 1.1.2.2 10-Aug-2014  tls Rebase.
 1.1.2.1 26-Jul-2014  tls file menus.md.fr was added on branch tls-earlyentropy on 2014-08-10 07:00:26 +0000
 1.1 26-Jul-2014  dholland branches: 1.1.2; 1.1.6;
Move sysinst sources to usr.sbin.

This commit only physically moves the sources - there are no other
changes, to maximize the probability that this will be treated as a
rename if we ever do manage to migrate away from CVS.

Moving sysinst has been discussed on and off for years and has two
goals: making it easier to work on sysinst, and also making sysinst
available on running systems for use installing chroots and VM images
and other such things. None of the latter is possible yet, but as they
say, one thing at a time.

Doing this now was approved in an impromptu fashion by mrg, riz,
riastradh, me, and groo.
 1.1.6.2 20-Aug-2014  tls Rebase to HEAD as of a few days ago.
 1.1.6.1 26-Jul-2014  tls file menus.md.pl was added on branch tls-maxphys on 2014-08-20 00:05:15 +0000
 1.1.2.2 10-Aug-2014  tls Rebase.
 1.1.2.1 26-Jul-2014  tls file menus.md.pl was added on branch tls-earlyentropy on 2014-08-10 07:00:26 +0000
 1.1 26-Jul-2014  dholland branches: 1.1.2; 1.1.6;
Move sysinst sources to usr.sbin.

This commit only physically moves the sources - there are no other
changes, to maximize the probability that this will be treated as a
rename if we ever do manage to migrate away from CVS.

Moving sysinst has been discussed on and off for years and has two
goals: making it easier to work on sysinst, and also making sysinst
available on running systems for use installing chroots and VM images
and other such things. None of the latter is possible yet, but as they
say, one thing at a time.

Doing this now was approved in an impromptu fashion by mrg, riz,
riastradh, me, and groo.
 1.1.6.2 20-Aug-2014  tls Rebase to HEAD as of a few days ago.
 1.1.6.1 26-Jul-2014  tls file msg.md.de was added on branch tls-maxphys on 2014-08-20 00:05:15 +0000
 1.1.2.2 10-Aug-2014  tls Rebase.
 1.1.2.1 26-Jul-2014  tls file msg.md.de was added on branch tls-earlyentropy on 2014-08-10 07:00:26 +0000
 1.1 26-Jul-2014  dholland branches: 1.1.2; 1.1.6;
Move sysinst sources to usr.sbin.

This commit only physically moves the sources - there are no other
changes, to maximize the probability that this will be treated as a
rename if we ever do manage to migrate away from CVS.

Moving sysinst has been discussed on and off for years and has two
goals: making it easier to work on sysinst, and also making sysinst
available on running systems for use installing chroots and VM images
and other such things. None of the latter is possible yet, but as they
say, one thing at a time.

Doing this now was approved in an impromptu fashion by mrg, riz,
riastradh, me, and groo.
 1.1.6.2 20-Aug-2014  tls Rebase to HEAD as of a few days ago.
 1.1.6.1 26-Jul-2014  tls file msg.md.en was added on branch tls-maxphys on 2014-08-20 00:05:15 +0000
 1.1.2.2 10-Aug-2014  tls Rebase.
 1.1.2.1 26-Jul-2014  tls file msg.md.en was added on branch tls-earlyentropy on 2014-08-10 07:00:26 +0000
 1.1 26-Jul-2014  dholland branches: 1.1.2; 1.1.6;
Move sysinst sources to usr.sbin.

This commit only physically moves the sources - there are no other
changes, to maximize the probability that this will be treated as a
rename if we ever do manage to migrate away from CVS.

Moving sysinst has been discussed on and off for years and has two
goals: making it easier to work on sysinst, and also making sysinst
available on running systems for use installing chroots and VM images
and other such things. None of the latter is possible yet, but as they
say, one thing at a time.

Doing this now was approved in an impromptu fashion by mrg, riz,
riastradh, me, and groo.
 1.1.6.2 20-Aug-2014  tls Rebase to HEAD as of a few days ago.
 1.1.6.1 26-Jul-2014  tls file msg.md.es was added on branch tls-maxphys on 2014-08-20 00:05:15 +0000
 1.1.2.2 10-Aug-2014  tls Rebase.
 1.1.2.1 26-Jul-2014  tls file msg.md.es was added on branch tls-earlyentropy on 2014-08-10 07:00:26 +0000
 1.1 26-Jul-2014  dholland branches: 1.1.2; 1.1.6;
Move sysinst sources to usr.sbin.

This commit only physically moves the sources - there are no other
changes, to maximize the probability that this will be treated as a
rename if we ever do manage to migrate away from CVS.

Moving sysinst has been discussed on and off for years and has two
goals: making it easier to work on sysinst, and also making sysinst
available on running systems for use installing chroots and VM images
and other such things. None of the latter is possible yet, but as they
say, one thing at a time.

Doing this now was approved in an impromptu fashion by mrg, riz,
riastradh, me, and groo.
 1.1.6.2 20-Aug-2014  tls Rebase to HEAD as of a few days ago.
 1.1.6.1 26-Jul-2014  tls file msg.md.fr was added on branch tls-maxphys on 2014-08-20 00:05:15 +0000
 1.1.2.2 10-Aug-2014  tls Rebase.
 1.1.2.1 26-Jul-2014  tls file msg.md.fr was added on branch tls-earlyentropy on 2014-08-10 07:00:26 +0000
 1.1 26-Jul-2014  dholland branches: 1.1.2; 1.1.6;
Move sysinst sources to usr.sbin.

This commit only physically moves the sources - there are no other
changes, to maximize the probability that this will be treated as a
rename if we ever do manage to migrate away from CVS.

Moving sysinst has been discussed on and off for years and has two
goals: making it easier to work on sysinst, and also making sysinst
available on running systems for use installing chroots and VM images
and other such things. None of the latter is possible yet, but as they
say, one thing at a time.

Doing this now was approved in an impromptu fashion by mrg, riz,
riastradh, me, and groo.
 1.1.6.2 20-Aug-2014  tls Rebase to HEAD as of a few days ago.
 1.1.6.1 26-Jul-2014  tls file msg.md.pl was added on branch tls-maxphys on 2014-08-20 00:05:15 +0000
 1.1.2.2 10-Aug-2014  tls Rebase.
 1.1.2.1 26-Jul-2014  tls file msg.md.pl was added on branch tls-earlyentropy on 2014-08-10 07:00:26 +0000
 1.4 04-Nov-2020  martin Add (experimental) entropy input support:
Early during new installs or after upgrades we check if entropy is
available. If not (no hardware random number generator available)
we inform the user and ask them to fix it.
 1.3 13-Nov-2019  martin Drop MBR and cloning support on crunched install media.
 1.2 13-Jun-2019  martin branches: 1.2.2;
Remove GPT and extended partitioning support on size restrained install
media.
 1.1 26-Jul-2014  dholland branches: 1.1.2; 1.1.6; 1.1.28;
Move sysinst sources to usr.sbin.

This commit only physically moves the sources - there are no other
changes, to maximize the probability that this will be treated as a
rename if we ever do manage to migrate away from CVS.

Moving sysinst has been discussed on and off for years and has two
goals: making it easier to work on sysinst, and also making sysinst
available on running systems for use installing chroots and VM images
and other such things. None of the latter is possible yet, but as they
say, one thing at a time.

Doing this now was approved in an impromptu fashion by mrg, riz,
riastradh, me, and groo.
 1.1.28.1 13-Apr-2020  martin Mostly merge changes from HEAD upto 20200411
 1.1.6.2 20-Aug-2014  tls Rebase to HEAD as of a few days ago.
 1.1.6.1 26-Jul-2014  tls file Makefile was added on branch tls-maxphys on 2014-08-20 00:05:15 +0000
 1.1.2.2 10-Aug-2014  tls Rebase.
 1.1.2.1 26-Jul-2014  tls file Makefile was added on branch tls-earlyentropy on 2014-08-10 07:00:26 +0000
 1.2.2.1 17-Nov-2019  msaitoh Pull up following revision(s) (requested by martin in ticket #436):
usr.sbin/sysinst/disks.c: revision 1.55
usr.sbin/sysinst/msg.mi.en: revision 1.24
usr.sbin/sysinst/mbr.c: revision 1.22
usr.sbin/sysinst/disks.c: revision 1.56
usr.sbin/sysinst/msg.mi.en: revision 1.25
usr.sbin/sysinst/disks.c: revision 1.57
usr.sbin/sysinst/arch/playstation2/msg.md.pl: revision 1.3
usr.sbin/sysinst/Makefile.inc: revision 1.30
usr.sbin/sysinst/configmenu.c: revision 1.11
usr.sbin/sysinst/util.c: revision 1.35
usr.sbin/sysinst/gpt.c: revision 1.12
usr.sbin/sysinst/util.c: revision 1.36
usr.sbin/sysinst/arch/playstation2/msg.md.de: revision 1.3
usr.sbin/sysinst/arch/i386/menus.md: revision 1.3
usr.sbin/sysinst/util.c: revision 1.37
usr.sbin/sysinst/part_edit.c: revision 1.11
usr.sbin/sysinst/arch/i386/msg.md.en: revision 1.2
usr.sbin/sysinst/util.c: revision 1.38
usr.sbin/sysinst/part_edit.c: revision 1.12
usr.sbin/sysinst/arch/i386/msg.md.en: revision 1.3
usr.sbin/sysinst/util.c: revision 1.39
usr.sbin/sysinst/part_edit.c: revision 1.13
usr.sbin/sysinst/arch/i386/msg.md.en: revision 1.4
usr.sbin/sysinst/disklabel.c: revision 1.15
usr.sbin/sysinst/bsddisklabel.c: revision 1.30
usr.sbin/sysinst/arch/i386/msg.md.es: revision 1.2
usr.sbin/sysinst/bsddisklabel.c: revision 1.31
usr.sbin/sysinst/arch/i386/msg.md.es: revision 1.3
usr.sbin/sysinst/arch/i386/msg.md.es: revision 1.4
usr.sbin/sysinst/mbr.h: revision 1.4
usr.sbin/sysinst/main.c: revision 1.18
usr.sbin/sysinst/partman.c: revision 1.44
usr.sbin/sysinst/msg.mi.de: revision 1.17
usr.sbin/sysinst/arch/i386/msg.md.fr: revision 1.2
usr.sbin/sysinst/msg.mi.de: revision 1.18
usr.sbin/sysinst/arch/i386/msg.md.fr: revision 1.3
usr.sbin/sysinst/arch/playstation2/msg.md.en: revision 1.3
usr.sbin/sysinst/arch/i386/msg.md.fr: revision 1.4
usr.sbin/sysinst/arch/amd64/md.c: revision 1.2
usr.sbin/sysinst/arch/ews4800mips/Makefile: revision 1.3
usr.sbin/sysinst/arch/playstation2/msg.md.es: revision 1.3
usr.sbin/sysinst/label.c: revision 1.13
usr.sbin/sysinst/Makefile.inc: revision 1.29
usr.sbin/sysinst/label.c: revision 1.14
usr.sbin/sysinst/util.c: revision 1.40
usr.sbin/sysinst/partitions.c: revision 1.5
usr.sbin/sysinst/arch/amd64/md.h: revision 1.8
usr.sbin/sysinst/msg.mi.es: revision 1.18
usr.sbin/sysinst/net.c: revision 1.34
usr.sbin/sysinst/msg.mi.es: revision 1.19
usr.sbin/sysinst/arch/i386/msg.md.pl: revision 1.2
usr.sbin/sysinst/arch/i386/md.c: revision 1.22
usr.sbin/sysinst/msg.mi.fr: revision 1.22
usr.sbin/sysinst/arch/playstation2/msg.md.fr: revision 1.3
usr.sbin/sysinst/arch/i386/msg.md.pl: revision 1.3
usr.sbin/sysinst/arch/i386/md.c: revision 1.23
usr.sbin/sysinst/msg.mi.pl: revision 1.25
usr.sbin/sysinst/msg.mi.fr: revision 1.23
usr.sbin/sysinst/arch/i386/msg.md.pl: revision 1.4
usr.sbin/sysinst/arch/i386/md.c: revision 1.24
usr.sbin/sysinst/partitions.h: revision 1.8
usr.sbin/sysinst/msg.mi.pl: revision 1.26
usr.sbin/sysinst/arch/i386/msg.md.de: revision 1.2
usr.sbin/sysinst/arch/i386/msg.md.de: revision 1.3
usr.sbin/sysinst/arch/i386/msg.md.de: revision 1.4
usr.sbin/sysinst/run.c: revision 1.13
usr.sbin/sysinst/defs.h: revision 1.46
usr.sbin/sysinst/install.c: revision 1.12
usr.sbin/sysinst/defs.h: revision 1.47
usr.sbin/sysinst/install.c: revision 1.13
usr.sbin/sysinst/defs.h: revision 1.48
Add options to the various partitioning stages that allow cloning of
alien partitions (optionally including data).
PR 54467: we trust our own sets, extract them with -P to allow symlink
redirection (especially for updates and chroot services - back out
once a better solution for those is implemented)
Make cloning support optional, so we can save some space on very small
install media.
Drop MBR and cloning support on crunched install media.
Make tar extraction flags depend on our usage of pax-as-tar or bsdtar.
Fix missing newlines in bios match display, pointed out by maxv.
Drop unused variable.
Fix table of bios geomatries
knf style adjustments
Make the bootblock selection menu more sane, pointed out by maxv
Make sure all menus have a translatable exit option (or none at all).
On amd64 support installation with a KASLR kernel, via "custom install"
and selecting the GENERIC_KASLR kernel set.
Setup /prekern and boot.cfg accordingly.
 1.8 29-Jan-2022  martin When upgrading, update the boot code post extraction from
the updated target file system.
 1.7 12-Oct-2020  martin PR 55536: when we find existing partition tables and have alternative
formats available, offer to delete partitions and create new ones from
scratch (in some other or the same on-disk format).
 1.6 29-Sep-2020  msaitoh s/parition/partition/
 1.5 14-Dec-2019  martin Adapt MD parts to changes in get_fs_part_type (pass partition type).
 1.4 13-Jul-2019  martin branches: 1.4.2;
We may call md_pre_mount() multiple times for the same install set,
so pass an additional index argument so MD code knows which part
of the install will be mounted next.
 1.3 12-Jun-2019  martin Rework internal data structures and "interfaces to user interface" functions
to get rid of all disklabel assumptions.

Previously (even for GPT partitioning) struct disklabel was used, which
obviously breaks large disk setups. Also many MD parts and parts of the
user interface assumed (a) a struct disklabel is used internally to
store partitioning information and (b) partitions are named 'a' ... $MAXPART.

Get rid of this and replace it with a quite abstract interface that should
be able to deal with all variants in partition storage:

- partitions are stored in a (partly abstract) struct disk_partitions
and most parts of it are only accessed via accessor functions provided
by a "partitioning scheme".

- implement partitioning schemes for MBR, disklabel and GPT (with likely
RDB [amiga] and Apple Partition Map [mac*] to follow soon)

- partitioning schemes may be cascaded, e.g. on x86 when using MBR as
"outer partitions", we have disklabel as "inner partitions".

- all user interface goes via accessor functions in the partitioning scheme,
some of which return pointers to special user interface descriptors
(e.g. to allow editing partition flags, which are scheme specific)

Overall the user interface changes (in this initial step) are minimal but
noticable. A new Anita is needed for automatic test setups - many thanks
to Andreas Gustafsson for lots of early testing and a new Anita version,
and to Manuel Bouyer for cooperation and tests of the Anita release.

This work was sponsored by The NetBSD Foundation, Inc.
 1.2 03-Aug-2014  martin branches: 1.2.2; 1.2.6; 1.2.28;
(Finally) merge a slightly modified version of the 2012 GSoC results
from Eugene Lozovoy: add extended partitioning options to sysinst.
Still needs some testing and polishing, but it now is possible to use GPT
or to create a RAID set from scratch and install onto it.
 1.1 26-Jul-2014  dholland Move sysinst sources to usr.sbin.

This commit only physically moves the sources - there are no other
changes, to maximize the probability that this will be treated as a
rename if we ever do manage to migrate away from CVS.

Moving sysinst has been discussed on and off for years and has two
goals: making it easier to work on sysinst, and also making sysinst
available on running systems for use installing chroots and VM images
and other such things. None of the latter is possible yet, but as they
say, one thing at a time.

Doing this now was approved in an impromptu fashion by mrg, riz,
riastradh, me, and groo.
 1.2.28.1 13-Apr-2020  martin Mostly merge changes from HEAD upto 20200411
 1.2.6.2 20-Aug-2014  tls Rebase to HEAD as of a few days ago.
 1.2.6.1 03-Aug-2014  tls file md.c was added on branch tls-maxphys on 2014-08-20 00:05:15 +0000
 1.2.2.2 10-Aug-2014  tls Rebase.
 1.2.2.1 03-Aug-2014  tls file md.c was added on branch tls-earlyentropy on 2014-08-10 07:00:26 +0000
 1.4.2.3 02-Feb-2022  msaitoh Pull up following revision(s) (requested by martin in ticket #1422):
usr.sbin/sysinst/util.c: revision 1.64
usr.sbin/sysinst/arch/hpcsh/md.c: revision 1.11
usr.sbin/sysinst/arch/alpha/md.c: revision 1.10
usr.sbin/sysinst/arch/sparc64/md.c: revision 1.7
usr.sbin/sysinst/arch/emips/md.c: revision 1.10
usr.sbin/sysinst/arch/cobalt/md.c: revision 1.15
usr.sbin/sysinst/arch/x68k/md.c: revision 1.12
usr.sbin/sysinst/arch/sandpoint/md.c: revision 1.10
usr.sbin/sysinst/arch/luna68k/md.c: revision 1.10
usr.sbin/sysinst/arch/hp300/md.c: revision 1.12
usr.sbin/sysinst/arch/vax/md.c: revision 1.8
usr.sbin/sysinst/arch/hpcmips/md.c: revision 1.10
usr.sbin/sysinst/target.c: revision 1.16
usr.sbin/sysinst/arch/mvme68k/md.c: revision 1.12
usr.sbin/sysinst/arch/arc/md.c: revision 1.14
usr.sbin/sysinst/target.c: revision 1.17
usr.sbin/sysinst/arch/i386/md.c: revision 1.34
usr.sbin/sysinst/arch/mac68k/md.c: revision 1.11
usr.sbin/sysinst/arch/atari/md.c: revision 1.8
usr.sbin/sysinst/arch/sgimips/md.c: revision 1.10
usr.sbin/sysinst/arch/acorn32/md.c: revision 1.8
usr.sbin/sysinst/install.c: revision 1.22
usr.sbin/sysinst/arch/amiga/md.c: revision 1.7
usr.sbin/sysinst/arch/cats/md.c: revision 1.6
usr.sbin/sysinst/arch/dummy/md.c: revision 1.7
usr.sbin/sysinst/arch/shark/md.c: revision 1.7
usr.sbin/sysinst/arch/pmax/md.c: revision 1.9
usr.sbin/sysinst/arch/newsmips/md.c: revision 1.7
usr.sbin/sysinst/arch/mipsco/md.c: revision 1.9
usr.sbin/sysinst/arch/landisk/md.c: revision 1.15
usr.sbin/sysinst/arch/hppa/md.c: revision 1.9
usr.sbin/sysinst/arch/prep/md.c: revision 1.14
usr.sbin/sysinst/defs.h: revision 1.77
usr.sbin/sysinst/arch/ofppc/md.c: revision 1.13
usr.sbin/sysinst/arch/ews4800mips/md.c: revision 1.8
usr.sbin/sysinst/defs.h: revision 1.78
usr.sbin/sysinst/arch/macppc/md.c: revision 1.7
usr.sbin/sysinst/arch/evbppc/md.c: revision 1.10
usr.sbin/sysinst/defs.h: revision 1.79
usr.sbin/sysinst/gpt.c: revision 1.27
usr.sbin/sysinst/arch/bebox/md.c: revision 1.10
usr.sbin/sysinst/gpt.c: revision 1.28
usr.sbin/sysinst/arch/sparc/md.c: revision 1.7
usr.sbin/sysinst/arch/evbsh3/md.c: revision 1.7
usr.sbin/sysinst/arch/evbarm/md.c: revision 1.22
usr.sbin/sysinst/arch/news68k/md.c: revision 1.8
usr.sbin/sysinst/upgrade.c: revision 1.19
usr.sbin/sysinst/arch/zaurus/md.c: revision 1.12
usr.sbin/sysinst/arch/playstation2/md.c: revision 1.10
usr.sbin/sysinst/arch/hpcarm/md.c: revision 1.11
usr.sbin/sysinst/arch/evbmips/md.c: revision 1.10
usr.sbin/sysinst/main.c: revision 1.28
Add an option to set the directory where we look for message catalogs.
Try to get rid of all wedges we created (after unmounting).
When upgrading, update the boot code post extraction from
the updated target file system.
Do not defer wedge deletions when we have nothing mounted.
Define and use a constant for maximum disk name length.
 1.4.2.2 15-Oct-2020  bouyer Pull up following revision(s) (requested by martin in ticket #1113):
usr.sbin/sysinst/bsddisklabel.c: revision 1.46
usr.sbin/sysinst/bsddisklabel.c: revision 1.47
usr.sbin/sysinst/disklabel.c: revision 1.40
usr.sbin/sysinst/arch/cobalt/md.c: revision 1.13
usr.sbin/sysinst/bsddisklabel.c: revision 1.48
usr.sbin/sysinst/disklabel.c: revision 1.41
usr.sbin/sysinst/arch/cobalt/md.c: revision 1.14
usr.sbin/sysinst/bsddisklabel.c: revision 1.49
usr.sbin/sysinst/disklabel.c: revision 1.42
usr.sbin/sysinst/Makefile.inc: revision 1.34
usr.sbin/sysinst/disks.c: revision 1.70
usr.sbin/sysinst/arch/hp300/md.c: revision 1.11
usr.sbin/sysinst/disks.c: revision 1.71
usr.sbin/sysinst/arch/i386/md.h: revision 1.8
usr.sbin/sysinst/arch/arc/md.c: revision 1.13
usr.sbin/sysinst/mbr.h: revision 1.5
usr.sbin/sysinst/mbr.h: revision 1.6
usr.sbin/sysinst/arch/mac68k/md.c: revision 1.10
usr.sbin/sysinst/bsddisklabel.c: revision 1.50
usr.sbin/sysinst/arch/acorn32/md.c: revision 1.7
usr.sbin/sysinst/bsddisklabel.c: revision 1.51
usr.sbin/sysinst/bsddisklabel.c: revision 1.52
usr.sbin/sysinst/bsddisklabel.c: revision 1.53
usr.sbin/sysinst/bsddisklabel.c: revision 1.54
usr.sbin/sysinst/bsddisklabel.c: revision 1.55
usr.sbin/sysinst/bsddisklabel.c: revision 1.56
usr.sbin/sysinst/arch/dummy/md.c: revision 1.6
usr.sbin/sysinst/arch/amd64/md.h: revision 1.9
usr.sbin/sysinst/arch/evbsh3/md.c: revision 1.6
usr.sbin/sysinst/arch/sparc/md.c: revision 1.6
usr.sbin/sysinst/arch/zaurus/md.c: revision 1.10
usr.sbin/sysinst/arch/x68k/md.c: revision 1.11
usr.sbin/sysinst/arch/sandpoint/md.c: revision 1.9
usr.sbin/sysinst/arch/vax/md.c: revision 1.7
usr.sbin/sysinst/arch/luna68k/md.c: revision 1.9
usr.sbin/sysinst/gpt.c: revision 1.19
usr.sbin/sysinst/arch/i386/md.c: revision 1.31
usr.sbin/sysinst/arch/i386/md.c: revision 1.32
usr.sbin/sysinst/arch/evbarm/md.c: revision 1.17
usr.sbin/sysinst/arch/evbarm/md.c: revision 1.18
usr.sbin/sysinst/arch/evbarm/md.c: revision 1.19
usr.sbin/sysinst/arch/shark/md.c: revision 1.6
usr.sbin/sysinst/arch/landisk/md.c: revision 1.14
usr.sbin/sysinst/util.c: revision 1.43
usr.sbin/sysinst/gpt.c: revision 1.20
usr.sbin/sysinst/util.c: revision 1.44
usr.sbin/sysinst/gpt.c: revision 1.21
usr.sbin/sysinst/gpt.c: revision 1.22
usr.sbin/sysinst/arch/evbarm/msg.md.en: revision 1.2
usr.sbin/sysinst/arch/ofppc/md.c: revision 1.11
usr.sbin/sysinst/util.c: revision 1.46
usr.sbin/sysinst/arch/ofppc/md.c: revision 1.12
usr.sbin/sysinst/util.c: revision 1.47
usr.sbin/sysinst/arch/evbarm/md.h: revision 1.6
usr.sbin/sysinst/util.c: revision 1.48
usr.sbin/sysinst/arch/evbarm/md.h: revision 1.7
usr.sbin/sysinst/arch/evbmips/md.c: revision 1.9
usr.sbin/sysinst/msg.mi.fr: revision 1.28
usr.sbin/sysinst/msg.mi.fr: revision 1.29
usr.sbin/sysinst/arch/sgimips/md.c: revision 1.9
usr.sbin/sysinst/arch/evbarm/Makefile: revision 1.3
usr.sbin/sysinst/msg.mi.de: revision 1.23
usr.sbin/sysinst/arch/hpcsh/md.c: revision 1.10
usr.sbin/sysinst/msg.mi.de: revision 1.24
usr.sbin/sysinst/install.c: revision 1.15
usr.sbin/sysinst/install.c: revision 1.16
usr.sbin/sysinst/arch/sparc64/md.c: revision 1.6
usr.sbin/sysinst/install.c: revision 1.17
usr.sbin/sysinst/install.c: revision 1.18
usr.sbin/sysinst/partitions.h: revision 1.16
usr.sbin/sysinst/install.c: revision 1.19
usr.sbin/sysinst/partitions.h: revision 1.17
usr.sbin/sysinst/arch/evbppc/md.c: revision 1.9
usr.sbin/sysinst/arch/playstation2/md.c: revision 1.9
usr.sbin/sysinst/partitions.h: revision 1.18
usr.sbin/sysinst/arch/hpcarm/md.c: revision 1.9
usr.sbin/sysinst/partitions.h: revision 1.19
usr.sbin/sysinst/msg.mi.es: revision 1.24
usr.sbin/sysinst/msg.mi.es: revision 1.25
usr.sbin/sysinst/msg.mi.es: revision 1.26
usr.sbin/sysinst/arch/zaurus/md.c: revision 1.9
usr.sbin/sysinst/target.c: revision 1.13
usr.sbin/sysinst/target.c: revision 1.14
usr.sbin/sysinst/part_edit.c: revision 1.17
usr.sbin/sysinst/part_edit.c: revision 1.18
usr.sbin/sysinst/msg.mi.fr: revision 1.30
usr.sbin/sysinst/arch/mvme68k/md.c: revision 1.11
usr.sbin/sysinst/part_edit.c: revision 1.19
usr.sbin/sysinst/msg.mi.fr: revision 1.31
usr.sbin/sysinst/arch/alpha/md.c: revision 1.9
usr.sbin/sysinst/msg.mi.en: revision 1.30
usr.sbin/sysinst/defs.h: revision 1.56
usr.sbin/sysinst/msg.mi.en: revision 1.31
usr.sbin/sysinst/defs.h: revision 1.57
usr.sbin/sysinst/msg.mi.en: revision 1.32
usr.sbin/sysinst/arch/amiga/md.c: revision 1.6
usr.sbin/sysinst/arch/hpcmips/md.c: revision 1.9
usr.sbin/sysinst/defs.h: revision 1.58
usr.sbin/sysinst/arch/cats/md.c: revision 1.5
usr.sbin/sysinst/defs.h: revision 1.59
usr.sbin/sysinst/arch/newsmips/md.c: revision 1.6
usr.sbin/sysinst/arch/pmax/md.c: revision 1.8
usr.sbin/sysinst/arch/mipsco/md.c: revision 1.8
usr.sbin/sysinst/part_edit.c: revision 1.20
usr.sbin/sysinst/part_edit.c: revision 1.21
usr.sbin/sysinst/arch/macppc/md.c: revision 1.6
usr.sbin/sysinst/part_edit.c: revision 1.22
usr.sbin/sysinst/part_edit.c: revision 1.23
usr.sbin/sysinst/part_edit.c: revision 1.24
usr.sbin/sysinst/defs.h: revision 1.60
usr.sbin/sysinst/arch/mac68k/Makefile: revision 1.3
usr.sbin/sysinst/defs.h: revision 1.61
usr.sbin/sysinst/defs.h: revision 1.63
usr.sbin/sysinst/defs.h: revision 1.64
usr.sbin/sysinst/defs.h: revision 1.65
usr.sbin/sysinst/label.c: revision 1.21
usr.sbin/sysinst/defs.h: revision 1.66
usr.sbin/sysinst/label.c: revision 1.22
usr.sbin/sysinst/defs.h: revision 1.67
usr.sbin/sysinst/label.c: revision 1.23
usr.sbin/sysinst/label.c: revision 1.24
usr.sbin/sysinst/label.c: revision 1.25
usr.sbin/sysinst/label.c: revision 1.26
usr.sbin/sysinst/label.c: revision 1.27
usr.sbin/sysinst/msg.mi.pl: revision 1.31
usr.sbin/sysinst/label.c: revision 1.28
usr.sbin/sysinst/msg.mi.pl: revision 1.32
usr.sbin/sysinst/label.c: revision 1.29
usr.sbin/sysinst/arch/atari/md.c: revision 1.7
usr.sbin/sysinst/disklabel.c: revision 1.36
usr.sbin/sysinst/disklabel.c: revision 1.37
usr.sbin/sysinst/disklabel.c: revision 1.38
usr.sbin/sysinst/disklabel.c: revision 1.39
usr.sbin/sysinst/arch/bebox/md.c: revision 1.9
usr.sbin/sysinst/mbr.c: revision 1.32
usr.sbin/sysinst/disks.c: revision 1.66
usr.sbin/sysinst/mbr.c: revision 1.33
usr.sbin/sysinst/disks.c: revision 1.67
usr.sbin/sysinst/mbr.c: revision 1.34
usr.sbin/sysinst/arch/emips/md.c: revision 1.9
usr.sbin/sysinst/disks.c: revision 1.68
usr.sbin/sysinst/partitions.c: revision 1.11
usr.sbin/sysinst/mbr.c: revision 1.35
usr.sbin/sysinst/disks.c: revision 1.69
usr.sbin/sysinst/mbr.c: revision 1.36
usr.sbin/sysinst/arch/hppa/md.c: revision 1.8
usr.sbin/sysinst/arch/prep/md.c: revision 1.13
usr.sbin/sysinst/label.c: revision 1.30
usr.sbin/sysinst/arch/ews4800mips/md.c: revision 1.7
usr.sbin/sysinst/main.c: revision 1.21
usr.sbin/sysinst/main.c: revision 1.22
usr.sbin/sysinst/main.c: revision 1.23
usr.sbin/sysinst/bsddisklabel.c: revision 1.40
usr.sbin/sysinst/main.c: revision 1.24
usr.sbin/sysinst/arch/cobalt/md.h: revision 1.6
usr.sbin/sysinst/bsddisklabel.c: revision 1.41
usr.sbin/sysinst/main.c: revision 1.25
usr.sbin/sysinst/arch/news68k/md.c: revision 1.7
usr.sbin/sysinst/bsddisklabel.c: revision 1.42
usr.sbin/sysinst/bsddisklabel.c: revision 1.43
usr.sbin/sysinst/bsddisklabel.c: revision 1.44
usr.sbin/sysinst/bsddisklabel.c: revision 1.45
Use strlcpy in a few places to guarnatee 0-terminated strings
Rever previous: the d_packname in struct disklabel is not NUL terminated.
Disable the warning instead.
Do not force -Os optimization (unless SMALLPROG)
Remove unused "rel" global variable and make the -r option a no-op.
PR 55045: strlcpy(NULL, ..., 0) considered harmfull in some implementations.
PR misc/54886: bump threshold for automatic/default creation of a tmpfs /tmp
up slightly (to 384 MB ram). This will make sure the default install has
a > 64 MB /tmp available (number pulled out of thin air, 64 MB is the minimum
required by the ZFS tests).
Don't depend on common symbol definitions.
boardype should not be common.
Redo the root-size-limit check again after we grew the root partition
for kernel dumps. Auto-enable the /usr partition if it overflows.
For all non-root partitions, default to FFSv2.
When extending a partition (to fill the total disk size) do respect
size limits.
Do not suggest a size limited partition for extension by default.
Minor tweak to previous: when forcing a /usr partition just to have an
arbitrary extendable partition, still use its default size initially.
At the end of a new installation save entropy.
Ooops, backout previous - twice the entropy saving is not needed.
Instead slightly improve the (slightly) hidden other code that already
did it.
PR 55202: disable swapping if we started it due to low ram
it's "its"
Remove "If you booted from a floppy" message
Set HAVE_INSTALL_IMAGE for evbarm
Change mountpoint of boot ext2fs from /stand to /ext2 to avoid conflict.
Should be pulled up to netbsd-9, with fixes of PR/55060.
MBR type for Ext2 should be MBR_PTYPE_LNXEXT2, not MBR_PTYPE_FAT12.
Silence -Wstringop-truncation for ``name'' in disp_selected_part().
This variable is used only for display, and truncation seems harmless.
PR 55572: avoid crash when answering the mount point prompt for a previously
empty mount point with an emptry sting.
When adding a new partition in the concrete partition editor, make sure
to set a pointer to the partition table interface in the new entry.
Otherwise we may end up not writing back the partitions at all, leading
to further fallout later.
Receipe to reproduce the issue from Frederic Fauberteau, thanks!
In the concrete partitions editor, after deleting the last partition move
the menu selection to the "add a partition" entry (instead of the sentinel
line which is not an active menu entry).
Typo in comment
Keep a list of all partition tables from which we have deleted partitions
and make sure we update those partition tables when writing partitions,
even if no install related partition remains on them.
Fix display of timezone selection menu
If there is no current partitioning manager assume we are editing the
current system and make target_already_root() return true.
Fixes various fallout when using sysinst post installation.
PR 55377: mark boot partitions in the partition size display, as suggested
by Izumi Tsutsui (minor modifications + all bugs by me)
PR 55378: do not assume RAW_PART to be either 2 or 3
PR 55379: avoid creating bogus /etc/fstab lines for /dev/cd* if no
cdrom is available.
PR 55381: try to deal with moved (but not yet saved) partitions when
calculating free space
Apply patch provided by Izumi Tsutsui in PR 55382: make ext2 partitions
show up in the outer (MBR) partition table, needed for example on Cobalt
where firmware boots from that partition.
PR 55384: detangle pm->ptstart from the "install" flag (selecting a
target partition). Instead introduce a new PTI_INSTALL_TARGET per partition
flag and deal with it in the partitioning backends.
Honour pm->ptstart when allocating new partitions - it is supposed to be
the first sector usable by NetBSD.
If we have no explicitly marke target root partition, make sure to set
the proper flag on the implicit one.
When merging existing partitions with desired target system layout
information, only force the "mount" flag if the existing partitions
has a valid mount point.
Add a heuristic to detect and properly mark EFI system partitions
when re-using pre-existing partitions.
When MD code requests a reserved area (at the start of the disk)
make sure to properly account for the "lost" space during all calculations
and especially when expanding the main partition to fill the disk.
Avoid using the global "pm" or a passed device descriptons when we are
passing disk limits explicitly anyway.
Simplify/fix a few rounding calculations.
When creating new partitions for "full disk" use, pass a install target
hint to the partitioning backend (for the outer NetBSD partition).
Use an install target hint to mark a new partition active.
When compiled with BOOTSEL support, also name the new partition "NetBSD".
Remove more pm->ptstart abuse - calculate values localy where needed
instead.
Fix editing start and size of not yet existing outer partitions.
Previously we abused pm->ptstart / pm->ptsize to pass the bounds of the
NetBSD outer partition to the inner partition editor - but now this is
not a valid assumption any more, so explicitly fix the bounds if an
outer partition exists.
Remove very strange code that special-cased MSDOS file systems and refused
to newfs the partition (despite explicit request to do so) if it was
mountable.
Accidently carried over from a dim and distant past, before we had
fsck_newfs.
PR 55536: when we find existing partition tables and have alternative
formats available, offer to delete partitions and create new ones from
scratch (in some other or the same on-disk format).
Minor fix to previous: fix condition when we offer the partition type
switch - it makes sense even if the disk is partitioned but has no valid
partitions.
Before forcing MBR partitions into our disklabel, make sure they are not
there yet - could happen in various paths when reusing existing partitions
(or parts of that) - previously we would blindly duplicate identical
partitions.
Ooops, part of previous was not meant to be included yet
When renumbering partitions (after deletions) be slightly more lax
in matching, to cope with differences between MBR EFI partitions and
disklabel MSDOS partitions.
PR 55142: on popular demand bring back expert options to adjust the
number of free inodes, block size and fragment size for FFS and LFS.
Fix copy & pasto noticed by Jason Mitchell: change the type of a GPT
partition via "gpt type" - not "gpt label".
Fix copy & pasto (missing "again" label)
Remove dead code
Move MBR writing (if any) post disklabel writing, otherwise strange
interactions happen.
Properly convert partition default sizes in MB to number of sectors
 1.4.2.1 17-Dec-2019  msaitoh Pull up following revision(s) (requested by martin in ticket #560):
usr.sbin/sysinst/partitions.h: revision 1.11
usr.sbin/sysinst/defs.h: revision 1.49
usr.sbin/sysinst/mbr.c: revision 1.23
usr.sbin/sysinst/msg.mi.en: revision 1.26
usr.sbin/sysinst/disks.c: revision 1.58
usr.sbin/sysinst/arch/evbarm/menus.md.pl: revision 1.2
usr.sbin/sysinst/msg.mi.es: revision 1.20
usr.sbin/sysinst/arch/mvme68k/md.c: revision 1.9
usr.sbin/sysinst/gpt.c: revision 1.13
usr.sbin/sysinst/arch/evbarm/md.c: revision 1.10
usr.sbin/sysinst/arch/arc/md.c: revision 1.10
usr.sbin/sysinst/disklabel.c: revision 1.18
usr.sbin/sysinst/bsddisklabel.c: revision 1.33
usr.sbin/sysinst/disklabel.c: revision 1.19
usr.sbin/sysinst/main.c: revision 1.19
usr.sbin/sysinst/partman.c: revision 1.45
usr.sbin/sysinst/arch/alpha/md.c: revision 1.7
usr.sbin/sysinst/msg.mi.de: revision 1.19
usr.sbin/sysinst/arch/evbarm/menus.md.en: revision 1.2
usr.sbin/sysinst/arch/x68k/md.h: revision 1.4
usr.sbin/sysinst/arch/x68k/md.c: revision 1.9
usr.sbin/sysinst/arch/evbarm/menus.md.es: revision 1.2
usr.sbin/sysinst/wskbd.c: revision 1.4
usr.sbin/sysinst/label.c: revision 1.15
usr.sbin/sysinst/arch/amiga/md.h: revision 1.5
usr.sbin/sysinst/label.c: revision 1.16
usr.sbin/sysinst/arch/hp300/md.c: revision 1.9
usr.sbin/sysinst/arch/emips/md.c: revision 1.8
usr.sbin/sysinst/label.c: revision 1.17
usr.sbin/sysinst/arch/pmax/md.c: revision 1.7
usr.sbin/sysinst/partitions.c: revision 1.6
usr.sbin/sysinst/arch/prep/md.c: revision 1.10
usr.sbin/sysinst/arch/mipsco/md.c: revision 1.7
usr.sbin/sysinst/partitions.c: revision 1.7
usr.sbin/sysinst/partitions.c: revision 1.8
usr.sbin/sysinst/arch/ews4800mips/md.c: revision 1.5
usr.sbin/sysinst/disklabel.c: revision 1.20
usr.sbin/sysinst/arch/evbarm/menus.md.fr: revision 1.2
usr.sbin/sysinst/msg.mi.fr: revision 1.24
usr.sbin/sysinst/disklabel.c: revision 1.21
usr.sbin/sysinst/partitions.h: revision 1.9
usr.sbin/sysinst/msg.mi.pl: revision 1.27
usr.sbin/sysinst/disklabel.c: revision 1.22
usr.sbin/sysinst/disklabel.c: revision 1.23
usr.sbin/sysinst/arch/i386/md.c: revision 1.27
usr.sbin/sysinst/disklabel.c: revision 1.24
usr.sbin/sysinst/disklabel.c: revision 1.25
usr.sbin/sysinst/arch/cobalt/md.h: revision 1.5
usr.sbin/sysinst/disklabel.c: revision 1.26
usr.sbin/sysinst/disklabel.c: revision 1.27
usr.sbin/sysinst/partitions.h: revision 1.10
usr.sbin/sysinst/arch/cobalt/md.c: revision 1.10
PR install/54582: allow MD code to disable on-disk presence verification
of "real" disklabels. Auto-enable this (at run time) when there is no other
partitioning scheme but disklabel configured.
Hard-coded enable this for x68k to allow using kernel based translations
for native Human68k partitions.
Get rid of the evbarm preliminary menu: do not bother to ask the user
whether this is a RPi - query the FDT instead.
PR 54065: add optional "old compat" variant of ext2fs in file system
type selection and use that as default for the cobalt boot file system.
For now rely on the kernel mapping native RDB partitions.
Fix detection of existing disklabels in the case when we only have
the disklabel partitioning scheme available.
Fix DISKLABEL_NO_ONDISK_VERIFY (accidently disabled in previous)
Fix inverted comparison
Do not try to change the keyboard layout if we are not running on the
console.
When trying to tell a fictious but empty label from a real one, skip
partition a if it has the same start and size as the raw partition.
Remove bogus assert.
When finding (paritioning scheme native) partition types for file systems
from our install description, pass the partition type (not only the file
system type). Sometimes (e.g. EFI boot partition on GPT) the filesystem
type (MSDOS) is not a unique selector.
Adapt MD parts to changes in get_fs_part_type (pass partition type).
If a fictious label has no RAW_PART assume there is no valid disk label.
Pass proper track size when initializing the default alignment - this is
important with sunlabels.
Fix overlapping partitions display
Reject (what we consider) empty/invalid fake disklabels no matter whether
we have other partitioning schemes available or not.
Do not show disklabel command invocation by default (only if there are
errors).
After installing boot blocks with RUN_NO_CLEAR (and handling the
potential errors) make sure to clear the stdscreen.
 1.5 11-Jun-2022  tsutsui Add explicit PART_BOOT_MOUNT for ews4800mips.

XXX: FS_SYSVBFS stuff for the MD boot partition is untested.
 1.4 07-Aug-2019  martin Support upgrade of systems using NAME= syntax in /etc/fstab.

Make supported file system types dynamic - instead of hardcoding the
available types at compile time, check for available newfs_* helper
binaries in the actual install environment at runtime.
 1.3 12-Jun-2019  martin branches: 1.3.2;
Rework internal data structures and "interfaces to user interface" functions
to get rid of all disklabel assumptions.

Previously (even for GPT partitioning) struct disklabel was used, which
obviously breaks large disk setups. Also many MD parts and parts of the
user interface assumed (a) a struct disklabel is used internally to
store partitioning information and (b) partitions are named 'a' ... $MAXPART.

Get rid of this and replace it with a quite abstract interface that should
be able to deal with all variants in partition storage:

- partitions are stored in a (partly abstract) struct disk_partitions
and most parts of it are only accessed via accessor functions provided
by a "partitioning scheme".

- implement partitioning schemes for MBR, disklabel and GPT (with likely
RDB [amiga] and Apple Partition Map [mac*] to follow soon)

- partitioning schemes may be cascaded, e.g. on x86 when using MBR as
"outer partitions", we have disklabel as "inner partitions".

- all user interface goes via accessor functions in the partitioning scheme,
some of which return pointers to special user interface descriptors
(e.g. to allow editing partition flags, which are scheme specific)

Overall the user interface changes (in this initial step) are minimal but
noticable. A new Anita is needed for automatic test setups - many thanks
to Andreas Gustafsson for lots of early testing and a new Anita version,
and to Manuel Bouyer for cooperation and tests of the Anita release.

This work was sponsored by The NetBSD Foundation, Inc.
 1.2 16-Nov-2018  martin Sync install size estimates with current reality
 1.1 26-Jul-2014  dholland branches: 1.1.2; 1.1.6; 1.1.26; 1.1.28;
Move sysinst sources to usr.sbin.

This commit only physically moves the sources - there are no other
changes, to maximize the probability that this will be treated as a
rename if we ever do manage to migrate away from CVS.

Moving sysinst has been discussed on and off for years and has two
goals: making it easier to work on sysinst, and also making sysinst
available on running systems for use installing chroots and VM images
and other such things. None of the latter is possible yet, but as they
say, one thing at a time.

Doing this now was approved in an impromptu fashion by mrg, riz,
riastradh, me, and groo.
 1.1.28.2 13-Apr-2020  martin Mostly merge changes from HEAD upto 20200411
 1.1.28.1 10-Jun-2019  christos Sync with HEAD
 1.1.26.1 26-Nov-2018  pgoyette Sync with HEAD, resolve a couple of conflicts
 1.1.6.2 20-Aug-2014  tls Rebase to HEAD as of a few days ago.
 1.1.6.1 26-Jul-2014  tls file md.h was added on branch tls-maxphys on 2014-08-20 00:05:15 +0000
 1.1.2.2 10-Aug-2014  tls Rebase.
 1.1.2.1 26-Jul-2014  tls file md.h was added on branch tls-earlyentropy on 2014-08-10 07:00:26 +0000
 1.3.2.1 08-Aug-2019  msaitoh Pull up following revision(s) (requested by martin in ticket #28):
usr.sbin/sysinst/disklabel.c: revision 1.11
usr.sbin/sysinst/target.c: revision 1.10
usr.sbin/sysinst/disks.c: revision 1.47
usr.sbin/sysinst/txtwalk.c: revision 1.2
usr.sbin/sysinst/partitions.h: revision 1.5
usr.sbin/sysinst/txtwalk.h: revision 1.2
usr.sbin/sysinst/arch/ews4800mips/md.h: revision 1.4
usr.sbin/sysinst/gpt.c: revision 1.9
usr.sbin/sysinst/defs.h: revision 1.43
Support upgrade of systems using NAME= syntax in /etc/fstab.
Make supported file system types dynamic - instead of hardcoding the
available types at compile time, check for available newfs_* helper
binaries in the actual install environment at runtime.
 1.1 26-Jul-2014  dholland branches: 1.1.2; 1.1.6;
Move sysinst sources to usr.sbin.

This commit only physically moves the sources - there are no other
changes, to maximize the probability that this will be treated as a
rename if we ever do manage to migrate away from CVS.

Moving sysinst has been discussed on and off for years and has two
goals: making it easier to work on sysinst, and also making sysinst
available on running systems for use installing chroots and VM images
and other such things. None of the latter is possible yet, but as they
say, one thing at a time.

Doing this now was approved in an impromptu fashion by mrg, riz,
riastradh, me, and groo.
 1.1.6.2 20-Aug-2014  tls Rebase to HEAD as of a few days ago.
 1.1.6.1 26-Jul-2014  tls file menus.md.en was added on branch tls-maxphys on 2014-08-20 00:05:15 +0000
 1.1.2.2 10-Aug-2014  tls Rebase.
 1.1.2.1 26-Jul-2014  tls file menus.md.en was added on branch tls-earlyentropy on 2014-08-10 07:00:26 +0000
 1.1 26-Jul-2014  dholland branches: 1.1.2; 1.1.6;
Move sysinst sources to usr.sbin.

This commit only physically moves the sources - there are no other
changes, to maximize the probability that this will be treated as a
rename if we ever do manage to migrate away from CVS.

Moving sysinst has been discussed on and off for years and has two
goals: making it easier to work on sysinst, and also making sysinst
available on running systems for use installing chroots and VM images
and other such things. None of the latter is possible yet, but as they
say, one thing at a time.

Doing this now was approved in an impromptu fashion by mrg, riz,
riastradh, me, and groo.
 1.1.6.2 20-Aug-2014  tls Rebase to HEAD as of a few days ago.
 1.1.6.1 26-Jul-2014  tls file msg.md.en was added on branch tls-maxphys on 2014-08-20 00:05:15 +0000
 1.1.2.2 10-Aug-2014  tls Rebase.
 1.1.2.1 26-Jul-2014  tls file msg.md.en was added on branch tls-earlyentropy on 2014-08-10 07:00:26 +0000
 1.2 11-Jun-2022  tsutsui Pull SMALLPROG stuff to disable unnecessary partitioning methods etc.
 1.1 26-Jul-2014  dholland branches: 1.1.2; 1.1.6;
Move sysinst sources to usr.sbin.

This commit only physically moves the sources - there are no other
changes, to maximize the probability that this will be treated as a
rename if we ever do manage to migrate away from CVS.

Moving sysinst has been discussed on and off for years and has two
goals: making it easier to work on sysinst, and also making sysinst
available on running systems for use installing chroots and VM images
and other such things. None of the latter is possible yet, but as they
say, one thing at a time.

Doing this now was approved in an impromptu fashion by mrg, riz,
riastradh, me, and groo.
 1.1.6.2 20-Aug-2014  tls Rebase to HEAD as of a few days ago.
 1.1.6.1 26-Jul-2014  tls file Makefile was added on branch tls-maxphys on 2014-08-20 00:05:15 +0000
 1.1.2.2 10-Aug-2014  tls Rebase.
 1.1.2.1 26-Jul-2014  tls file Makefile was added on branch tls-earlyentropy on 2014-08-10 07:00:26 +0000
 1.12 29-Jan-2022  martin When upgrading, update the boot code post extraction from
the updated target file system.
 1.11 12-Oct-2020  martin PR 55536: when we find existing partition tables and have alternative
formats available, offer to delete partitions and create new ones from
scratch (in some other or the same on-disk format).
 1.10 03-Feb-2020  martin PR install/54921: skip non-user partitions when checking for overlaps
 1.9 15-Dec-2019  martin After installing boot blocks with RUN_NO_CLEAR (and handling the
potential errors) make sure to clear the stdscreen.
 1.8 13-Jul-2019  martin branches: 1.8.2;
We may call md_pre_mount() multiple times for the same install set,
so pass an additional index argument so MD code knows which part
of the install will be mounted next.
 1.7 20-Jun-2019  christos Use _fmt_ msg_ methods when formats are needed.
 1.6 12-Jun-2019  martin Rework internal data structures and "interfaces to user interface" functions
to get rid of all disklabel assumptions.

Previously (even for GPT partitioning) struct disklabel was used, which
obviously breaks large disk setups. Also many MD parts and parts of the
user interface assumed (a) a struct disklabel is used internally to
store partitioning information and (b) partitions are named 'a' ... $MAXPART.

Get rid of this and replace it with a quite abstract interface that should
be able to deal with all variants in partition storage:

- partitions are stored in a (partly abstract) struct disk_partitions
and most parts of it are only accessed via accessor functions provided
by a "partitioning scheme".

- implement partitioning schemes for MBR, disklabel and GPT (with likely
RDB [amiga] and Apple Partition Map [mac*] to follow soon)

- partitioning schemes may be cascaded, e.g. on x86 when using MBR as
"outer partitions", we have disklabel as "inner partitions".

- all user interface goes via accessor functions in the partitioning scheme,
some of which return pointers to special user interface descriptors
(e.g. to allow editing partition flags, which are scheme specific)

Overall the user interface changes (in this initial step) are minimal but
noticable. A new Anita is needed for automatic test setups - many thanks
to Andreas Gustafsson for lots of early testing and a new Anita version,
and to Manuel Bouyer for cooperation and tests of the Anita release.

This work was sponsored by The NetBSD Foundation, Inc.
 1.5 18-May-2018  joerg branches: 1.5.2;
deconst -> __UNCONST, the former involves UB with NULL arithmetic.
 1.4 10-May-2015  martin branches: 1.4.8; 1.4.14;
Backout the previous incorrect fix for PR 49440 and redo it more globaly:
get rid of the global "yesno", introduce utility functions "ask_yesno()"
and "ask_noyes()" instead, greatly simplifying a lot of code.
Pass in a pointer to the return value to various "set source" menus.
 1.3 02-Jan-2015  abs Rather than scatter set_swap() calls wrapped in ram size checks through
md_post_disklabel() and md_pre_update(), abstract them out to an MI
set_swap_if_low_ram() and call from the appropriate MI places.
Now all platforms add swap if the system has <= 32M of RAM.
 1.2 03-Aug-2014  martin branches: 1.2.2; 1.2.4; 1.2.6;
(Finally) merge a slightly modified version of the 2012 GSoC results
from Eugene Lozovoy: add extended partitioning options to sysinst.
Still needs some testing and polishing, but it now is possible to use GPT
or to create a RAID set from scratch and install onto it.
 1.1 26-Jul-2014  dholland Move sysinst sources to usr.sbin.

This commit only physically moves the sources - there are no other
changes, to maximize the probability that this will be treated as a
rename if we ever do manage to migrate away from CVS.

Moving sysinst has been discussed on and off for years and has two
goals: making it easier to work on sysinst, and also making sysinst
available on running systems for use installing chroots and VM images
and other such things. None of the latter is possible yet, but as they
say, one thing at a time.

Doing this now was approved in an impromptu fashion by mrg, riz,
riastradh, me, and groo.
 1.2.6.2 20-Aug-2014  tls Rebase to HEAD as of a few days ago.
 1.2.6.1 03-Aug-2014  tls file md.c was added on branch tls-maxphys on 2014-08-20 00:05:15 +0000
 1.2.4.2 14-May-2015  snj Pull up following revision(s) (requested by martin in ticket #756):
usr.sbin/sysinst/arch/arc/md.c: revision 1.4
usr.sbin/sysinst/arch/atari/md.c: revision 1.3
usr.sbin/sysinst/arch/cobalt/md.c: revision 1.4
usr.sbin/sysinst/arch/emips/md.c: revision 1.3
usr.sbin/sysinst/arch/evbarm/md.c: revision 1.4
usr.sbin/sysinst/arch/evbarm64/md.c: revision 1.2
usr.sbin/sysinst/arch/hp300/md.c: revision 1.4
usr.sbin/sysinst/arch/i386/md.c: revision 1.6
usr.sbin/sysinst/arch/mac68k/md.c: revision 1.3
usr.sbin/sysinst/arch/mac68k/md.c: revision 1.4
usr.sbin/sysinst/arch/mac68k/menus.md.de: revisions 1.3, 1.4
usr.sbin/sysinst/arch/mac68k/menus.md.en: revisions 1.3, 1.4
usr.sbin/sysinst/arch/mac68k/menus.md.es: revisions 1.3, 1.4
usr.sbin/sysinst/arch/mac68k/menus.md.pl: revisions 1.3, 1.4
usr.sbin/sysinst/arch/mvme68k/md.c: revision 1.4
usr.sbin/sysinst/arch/ofppc/md.c: revision 1.3
usr.sbin/sysinst/arch/prep/md.c: revisions 1.3, 1.4
usr.sbin/sysinst/arch/prep/menus.md.en: revision 1.2
usr.sbin/sysinst/arch/x68k/md.c: revision 1.4
usr.sbin/sysinst/configmenu.c: revisions 1.4, 1.5
usr.sbin/sysinst/defs.h: revisions 1.8, 1.9
usr.sbin/sysinst/disks.c: revision 1.9
usr.sbin/sysinst/install.c: revision 1.4
usr.sbin/sysinst/label.c: revision 1.3
usr.sbin/sysinst/mbr.c: revision 1.5
usr.sbin/sysinst/menus.mi: revisions 1.9, 1.10
usr.sbin/sysinst/net.c: revisions 1.18-1.20
usr.sbin/sysinst/partman.c: revision 1.10
usr.sbin/sysinst/upgrade.c: revision 1.4
usr.sbin/sysinst/util.c: revisions 1.6, 1.7
Backout the previous incorrect fix for PR 49440 and redo it more globaly:
get rid of the global "yesno", introduce utility functions "ask_yesno()"
and "ask_noyes()" instead, greatly simplifying a lot of code.
Pass in a pointer to the return value to various "set source" menus.
--
Make it compile on architectures that do not support INET6 in sysinst
--
Remove a few more (ab-)usages of "yesno".
--
More (ab-)usages of "yesno"
--
Make "ask_yesno" and "ask_noyes" take a const char * as argument, moving
the deconst() dance into the utility functions and simplifying all callers.
--
Missed a few more "yesno" in previous
 1.2.4.1 11-Jan-2015  snj Pull up following revision(s) (requested by abs in ticket #400):
usr.sbin/sysinst/arch/arc/md.c: revision 1.3
usr.sbin/sysinst/arch/cobalt/md.c: revision 1.3
usr.sbin/sysinst/arch/evbsh3/md.c: revision 1.3
usr.sbin/sysinst/arch/hp300/md.c: revision 1.3
usr.sbin/sysinst/arch/hpcsh/md.c: revision 1.3
usr.sbin/sysinst/arch/i386/md.c: revision 1.5
usr.sbin/sysinst/arch/luna68k/md.c: revision 1.4
usr.sbin/sysinst/arch/mvme68k/md.c: revision 1.3
usr.sbin/sysinst/arch/news68k/md.c: revision 1.3
usr.sbin/sysinst/arch/sgimips/md.c: revision 1.3
usr.sbin/sysinst/arch/vax/md.c: revision 1.3
usr.sbin/sysinst/arch/x68k/md.c: revision 1.3
usr.sbin/sysinst/defs.h: revision 1.6
usr.sbin/sysinst/disks.c: revision 1.7
usr.sbin/sysinst/install.c: revision 1.3
usr.sbin/sysinst/partman.c: revision 1.8
usr.sbin/sysinst/upgrade.c: revision 1.3
Rather than scatter set_swap() calls wrapped in ram size checks through
md_post_disklabel() and md_pre_update(), abstract them out to an MI
set_swap_if_low_ram() and call from the appropriate MI places.
Now all platforms add swap if the system has <= 32M of RAM.
 1.2.2.2 10-Aug-2014  tls Rebase.
 1.2.2.1 03-Aug-2014  tls file md.c was added on branch tls-earlyentropy on 2014-08-10 07:00:26 +0000
 1.4.14.1 21-May-2018  pgoyette Sync with HEAD
 1.4.8.1 09-Jun-2018  martin Pull up following revision(s) (requested by joerg in ticket #869):

usr.sbin/sysinst/arch/mvme68k/md.c: revision 1.5
usr.sbin/sysinst/net.c: revision 1.24
usr.sbin/sysinst/partman.c: revision 1.22
usr.sbin/sysinst/menus.mi: revision 1.12
usr.sbin/sysinst/arch/i386/md.c: revision 1.8
usr.sbin/sysinst/arch/alpha/md.c: revision 1.3
usr.sbin/sysinst/bsddisklabel.c: revision 1.3
usr.sbin/sysinst/arch/x68k/md.c: revision 1.5
usr.sbin/sysinst/arch/hp300/md.c: revision 1.5
usr.sbin/sysinst/arch/emips/md.c: revision 1.4
usr.sbin/sysinst/arch/pmax/md.c: revision 1.3
usr.sbin/sysinst/arch/mipsco/md.c: revision 1.3
usr.sbin/sysinst/arch/hppa/md.c: revision 1.3
usr.sbin/sysinst/util.c: revision 1.8
usr.sbin/sysinst/defs.h: revision 1.10
usr.sbin/sysinst/arch/landisk/md.c: revision 1.4

deconst -> __UNCONST, the former involves UB with NULL arithmetic.
 1.5.2.1 13-Apr-2020  martin Mostly merge changes from HEAD upto 20200411
 1.8.2.4 02-Feb-2022  msaitoh Pull up following revision(s) (requested by martin in ticket #1422):
usr.sbin/sysinst/util.c: revision 1.64
usr.sbin/sysinst/arch/hpcsh/md.c: revision 1.11
usr.sbin/sysinst/arch/alpha/md.c: revision 1.10
usr.sbin/sysinst/arch/sparc64/md.c: revision 1.7
usr.sbin/sysinst/arch/emips/md.c: revision 1.10
usr.sbin/sysinst/arch/cobalt/md.c: revision 1.15
usr.sbin/sysinst/arch/x68k/md.c: revision 1.12
usr.sbin/sysinst/arch/sandpoint/md.c: revision 1.10
usr.sbin/sysinst/arch/luna68k/md.c: revision 1.10
usr.sbin/sysinst/arch/hp300/md.c: revision 1.12
usr.sbin/sysinst/arch/vax/md.c: revision 1.8
usr.sbin/sysinst/arch/hpcmips/md.c: revision 1.10
usr.sbin/sysinst/target.c: revision 1.16
usr.sbin/sysinst/arch/mvme68k/md.c: revision 1.12
usr.sbin/sysinst/arch/arc/md.c: revision 1.14
usr.sbin/sysinst/target.c: revision 1.17
usr.sbin/sysinst/arch/i386/md.c: revision 1.34
usr.sbin/sysinst/arch/mac68k/md.c: revision 1.11
usr.sbin/sysinst/arch/atari/md.c: revision 1.8
usr.sbin/sysinst/arch/sgimips/md.c: revision 1.10
usr.sbin/sysinst/arch/acorn32/md.c: revision 1.8
usr.sbin/sysinst/install.c: revision 1.22
usr.sbin/sysinst/arch/amiga/md.c: revision 1.7
usr.sbin/sysinst/arch/cats/md.c: revision 1.6
usr.sbin/sysinst/arch/dummy/md.c: revision 1.7
usr.sbin/sysinst/arch/shark/md.c: revision 1.7
usr.sbin/sysinst/arch/pmax/md.c: revision 1.9
usr.sbin/sysinst/arch/newsmips/md.c: revision 1.7
usr.sbin/sysinst/arch/mipsco/md.c: revision 1.9
usr.sbin/sysinst/arch/landisk/md.c: revision 1.15
usr.sbin/sysinst/arch/hppa/md.c: revision 1.9
usr.sbin/sysinst/arch/prep/md.c: revision 1.14
usr.sbin/sysinst/defs.h: revision 1.77
usr.sbin/sysinst/arch/ofppc/md.c: revision 1.13
usr.sbin/sysinst/arch/ews4800mips/md.c: revision 1.8
usr.sbin/sysinst/defs.h: revision 1.78
usr.sbin/sysinst/arch/macppc/md.c: revision 1.7
usr.sbin/sysinst/arch/evbppc/md.c: revision 1.10
usr.sbin/sysinst/defs.h: revision 1.79
usr.sbin/sysinst/gpt.c: revision 1.27
usr.sbin/sysinst/arch/bebox/md.c: revision 1.10
usr.sbin/sysinst/gpt.c: revision 1.28
usr.sbin/sysinst/arch/sparc/md.c: revision 1.7
usr.sbin/sysinst/arch/evbsh3/md.c: revision 1.7
usr.sbin/sysinst/arch/evbarm/md.c: revision 1.22
usr.sbin/sysinst/arch/news68k/md.c: revision 1.8
usr.sbin/sysinst/upgrade.c: revision 1.19
usr.sbin/sysinst/arch/zaurus/md.c: revision 1.12
usr.sbin/sysinst/arch/playstation2/md.c: revision 1.10
usr.sbin/sysinst/arch/hpcarm/md.c: revision 1.11
usr.sbin/sysinst/arch/evbmips/md.c: revision 1.10
usr.sbin/sysinst/main.c: revision 1.28
Add an option to set the directory where we look for message catalogs.
Try to get rid of all wedges we created (after unmounting).
When upgrading, update the boot code post extraction from
the updated target file system.
Do not defer wedge deletions when we have nothing mounted.
Define and use a constant for maximum disk name length.
 1.8.2.3 15-Oct-2020  bouyer Pull up following revision(s) (requested by martin in ticket #1113):
usr.sbin/sysinst/bsddisklabel.c: revision 1.46
usr.sbin/sysinst/bsddisklabel.c: revision 1.47
usr.sbin/sysinst/disklabel.c: revision 1.40
usr.sbin/sysinst/arch/cobalt/md.c: revision 1.13
usr.sbin/sysinst/bsddisklabel.c: revision 1.48
usr.sbin/sysinst/disklabel.c: revision 1.41
usr.sbin/sysinst/arch/cobalt/md.c: revision 1.14
usr.sbin/sysinst/bsddisklabel.c: revision 1.49
usr.sbin/sysinst/disklabel.c: revision 1.42
usr.sbin/sysinst/Makefile.inc: revision 1.34
usr.sbin/sysinst/disks.c: revision 1.70
usr.sbin/sysinst/arch/hp300/md.c: revision 1.11
usr.sbin/sysinst/disks.c: revision 1.71
usr.sbin/sysinst/arch/i386/md.h: revision 1.8
usr.sbin/sysinst/arch/arc/md.c: revision 1.13
usr.sbin/sysinst/mbr.h: revision 1.5
usr.sbin/sysinst/mbr.h: revision 1.6
usr.sbin/sysinst/arch/mac68k/md.c: revision 1.10
usr.sbin/sysinst/bsddisklabel.c: revision 1.50
usr.sbin/sysinst/arch/acorn32/md.c: revision 1.7
usr.sbin/sysinst/bsddisklabel.c: revision 1.51
usr.sbin/sysinst/bsddisklabel.c: revision 1.52
usr.sbin/sysinst/bsddisklabel.c: revision 1.53
usr.sbin/sysinst/bsddisklabel.c: revision 1.54
usr.sbin/sysinst/bsddisklabel.c: revision 1.55
usr.sbin/sysinst/bsddisklabel.c: revision 1.56
usr.sbin/sysinst/arch/dummy/md.c: revision 1.6
usr.sbin/sysinst/arch/amd64/md.h: revision 1.9
usr.sbin/sysinst/arch/evbsh3/md.c: revision 1.6
usr.sbin/sysinst/arch/sparc/md.c: revision 1.6
usr.sbin/sysinst/arch/zaurus/md.c: revision 1.10
usr.sbin/sysinst/arch/x68k/md.c: revision 1.11
usr.sbin/sysinst/arch/sandpoint/md.c: revision 1.9
usr.sbin/sysinst/arch/vax/md.c: revision 1.7
usr.sbin/sysinst/arch/luna68k/md.c: revision 1.9
usr.sbin/sysinst/gpt.c: revision 1.19
usr.sbin/sysinst/arch/i386/md.c: revision 1.31
usr.sbin/sysinst/arch/i386/md.c: revision 1.32
usr.sbin/sysinst/arch/evbarm/md.c: revision 1.17
usr.sbin/sysinst/arch/evbarm/md.c: revision 1.18
usr.sbin/sysinst/arch/evbarm/md.c: revision 1.19
usr.sbin/sysinst/arch/shark/md.c: revision 1.6
usr.sbin/sysinst/arch/landisk/md.c: revision 1.14
usr.sbin/sysinst/util.c: revision 1.43
usr.sbin/sysinst/gpt.c: revision 1.20
usr.sbin/sysinst/util.c: revision 1.44
usr.sbin/sysinst/gpt.c: revision 1.21
usr.sbin/sysinst/gpt.c: revision 1.22
usr.sbin/sysinst/arch/evbarm/msg.md.en: revision 1.2
usr.sbin/sysinst/arch/ofppc/md.c: revision 1.11
usr.sbin/sysinst/util.c: revision 1.46
usr.sbin/sysinst/arch/ofppc/md.c: revision 1.12
usr.sbin/sysinst/util.c: revision 1.47
usr.sbin/sysinst/arch/evbarm/md.h: revision 1.6
usr.sbin/sysinst/util.c: revision 1.48
usr.sbin/sysinst/arch/evbarm/md.h: revision 1.7
usr.sbin/sysinst/arch/evbmips/md.c: revision 1.9
usr.sbin/sysinst/msg.mi.fr: revision 1.28
usr.sbin/sysinst/msg.mi.fr: revision 1.29
usr.sbin/sysinst/arch/sgimips/md.c: revision 1.9
usr.sbin/sysinst/arch/evbarm/Makefile: revision 1.3
usr.sbin/sysinst/msg.mi.de: revision 1.23
usr.sbin/sysinst/arch/hpcsh/md.c: revision 1.10
usr.sbin/sysinst/msg.mi.de: revision 1.24
usr.sbin/sysinst/install.c: revision 1.15
usr.sbin/sysinst/install.c: revision 1.16
usr.sbin/sysinst/arch/sparc64/md.c: revision 1.6
usr.sbin/sysinst/install.c: revision 1.17
usr.sbin/sysinst/install.c: revision 1.18
usr.sbin/sysinst/partitions.h: revision 1.16
usr.sbin/sysinst/install.c: revision 1.19
usr.sbin/sysinst/partitions.h: revision 1.17
usr.sbin/sysinst/arch/evbppc/md.c: revision 1.9
usr.sbin/sysinst/arch/playstation2/md.c: revision 1.9
usr.sbin/sysinst/partitions.h: revision 1.18
usr.sbin/sysinst/arch/hpcarm/md.c: revision 1.9
usr.sbin/sysinst/partitions.h: revision 1.19
usr.sbin/sysinst/msg.mi.es: revision 1.24
usr.sbin/sysinst/msg.mi.es: revision 1.25
usr.sbin/sysinst/msg.mi.es: revision 1.26
usr.sbin/sysinst/arch/zaurus/md.c: revision 1.9
usr.sbin/sysinst/target.c: revision 1.13
usr.sbin/sysinst/target.c: revision 1.14
usr.sbin/sysinst/part_edit.c: revision 1.17
usr.sbin/sysinst/part_edit.c: revision 1.18
usr.sbin/sysinst/msg.mi.fr: revision 1.30
usr.sbin/sysinst/arch/mvme68k/md.c: revision 1.11
usr.sbin/sysinst/part_edit.c: revision 1.19
usr.sbin/sysinst/msg.mi.fr: revision 1.31
usr.sbin/sysinst/arch/alpha/md.c: revision 1.9
usr.sbin/sysinst/msg.mi.en: revision 1.30
usr.sbin/sysinst/defs.h: revision 1.56
usr.sbin/sysinst/msg.mi.en: revision 1.31
usr.sbin/sysinst/defs.h: revision 1.57
usr.sbin/sysinst/msg.mi.en: revision 1.32
usr.sbin/sysinst/arch/amiga/md.c: revision 1.6
usr.sbin/sysinst/arch/hpcmips/md.c: revision 1.9
usr.sbin/sysinst/defs.h: revision 1.58
usr.sbin/sysinst/arch/cats/md.c: revision 1.5
usr.sbin/sysinst/defs.h: revision 1.59
usr.sbin/sysinst/arch/newsmips/md.c: revision 1.6
usr.sbin/sysinst/arch/pmax/md.c: revision 1.8
usr.sbin/sysinst/arch/mipsco/md.c: revision 1.8
usr.sbin/sysinst/part_edit.c: revision 1.20
usr.sbin/sysinst/part_edit.c: revision 1.21
usr.sbin/sysinst/arch/macppc/md.c: revision 1.6
usr.sbin/sysinst/part_edit.c: revision 1.22
usr.sbin/sysinst/part_edit.c: revision 1.23
usr.sbin/sysinst/part_edit.c: revision 1.24
usr.sbin/sysinst/defs.h: revision 1.60
usr.sbin/sysinst/arch/mac68k/Makefile: revision 1.3
usr.sbin/sysinst/defs.h: revision 1.61
usr.sbin/sysinst/defs.h: revision 1.63
usr.sbin/sysinst/defs.h: revision 1.64
usr.sbin/sysinst/defs.h: revision 1.65
usr.sbin/sysinst/label.c: revision 1.21
usr.sbin/sysinst/defs.h: revision 1.66
usr.sbin/sysinst/label.c: revision 1.22
usr.sbin/sysinst/defs.h: revision 1.67
usr.sbin/sysinst/label.c: revision 1.23
usr.sbin/sysinst/label.c: revision 1.24
usr.sbin/sysinst/label.c: revision 1.25
usr.sbin/sysinst/label.c: revision 1.26
usr.sbin/sysinst/label.c: revision 1.27
usr.sbin/sysinst/msg.mi.pl: revision 1.31
usr.sbin/sysinst/label.c: revision 1.28
usr.sbin/sysinst/msg.mi.pl: revision 1.32
usr.sbin/sysinst/label.c: revision 1.29
usr.sbin/sysinst/arch/atari/md.c: revision 1.7
usr.sbin/sysinst/disklabel.c: revision 1.36
usr.sbin/sysinst/disklabel.c: revision 1.37
usr.sbin/sysinst/disklabel.c: revision 1.38
usr.sbin/sysinst/disklabel.c: revision 1.39
usr.sbin/sysinst/arch/bebox/md.c: revision 1.9
usr.sbin/sysinst/mbr.c: revision 1.32
usr.sbin/sysinst/disks.c: revision 1.66
usr.sbin/sysinst/mbr.c: revision 1.33
usr.sbin/sysinst/disks.c: revision 1.67
usr.sbin/sysinst/mbr.c: revision 1.34
usr.sbin/sysinst/arch/emips/md.c: revision 1.9
usr.sbin/sysinst/disks.c: revision 1.68
usr.sbin/sysinst/partitions.c: revision 1.11
usr.sbin/sysinst/mbr.c: revision 1.35
usr.sbin/sysinst/disks.c: revision 1.69
usr.sbin/sysinst/mbr.c: revision 1.36
usr.sbin/sysinst/arch/hppa/md.c: revision 1.8
usr.sbin/sysinst/arch/prep/md.c: revision 1.13
usr.sbin/sysinst/label.c: revision 1.30
usr.sbin/sysinst/arch/ews4800mips/md.c: revision 1.7
usr.sbin/sysinst/main.c: revision 1.21
usr.sbin/sysinst/main.c: revision 1.22
usr.sbin/sysinst/main.c: revision 1.23
usr.sbin/sysinst/bsddisklabel.c: revision 1.40
usr.sbin/sysinst/main.c: revision 1.24
usr.sbin/sysinst/arch/cobalt/md.h: revision 1.6
usr.sbin/sysinst/bsddisklabel.c: revision 1.41
usr.sbin/sysinst/main.c: revision 1.25
usr.sbin/sysinst/arch/news68k/md.c: revision 1.7
usr.sbin/sysinst/bsddisklabel.c: revision 1.42
usr.sbin/sysinst/bsddisklabel.c: revision 1.43
usr.sbin/sysinst/bsddisklabel.c: revision 1.44
usr.sbin/sysinst/bsddisklabel.c: revision 1.45
Use strlcpy in a few places to guarnatee 0-terminated strings
Rever previous: the d_packname in struct disklabel is not NUL terminated.
Disable the warning instead.
Do not force -Os optimization (unless SMALLPROG)
Remove unused "rel" global variable and make the -r option a no-op.
PR 55045: strlcpy(NULL, ..., 0) considered harmfull in some implementations.
PR misc/54886: bump threshold for automatic/default creation of a tmpfs /tmp
up slightly (to 384 MB ram). This will make sure the default install has
a > 64 MB /tmp available (number pulled out of thin air, 64 MB is the minimum
required by the ZFS tests).
Don't depend on common symbol definitions.
boardype should not be common.
Redo the root-size-limit check again after we grew the root partition
for kernel dumps. Auto-enable the /usr partition if it overflows.
For all non-root partitions, default to FFSv2.
When extending a partition (to fill the total disk size) do respect
size limits.
Do not suggest a size limited partition for extension by default.
Minor tweak to previous: when forcing a /usr partition just to have an
arbitrary extendable partition, still use its default size initially.
At the end of a new installation save entropy.
Ooops, backout previous - twice the entropy saving is not needed.
Instead slightly improve the (slightly) hidden other code that already
did it.
PR 55202: disable swapping if we started it due to low ram
it's "its"
Remove "If you booted from a floppy" message
Set HAVE_INSTALL_IMAGE for evbarm
Change mountpoint of boot ext2fs from /stand to /ext2 to avoid conflict.
Should be pulled up to netbsd-9, with fixes of PR/55060.
MBR type for Ext2 should be MBR_PTYPE_LNXEXT2, not MBR_PTYPE_FAT12.
Silence -Wstringop-truncation for ``name'' in disp_selected_part().
This variable is used only for display, and truncation seems harmless.
PR 55572: avoid crash when answering the mount point prompt for a previously
empty mount point with an emptry sting.
When adding a new partition in the concrete partition editor, make sure
to set a pointer to the partition table interface in the new entry.
Otherwise we may end up not writing back the partitions at all, leading
to further fallout later.
Receipe to reproduce the issue from Frederic Fauberteau, thanks!
In the concrete partitions editor, after deleting the last partition move
the menu selection to the "add a partition" entry (instead of the sentinel
line which is not an active menu entry).
Typo in comment
Keep a list of all partition tables from which we have deleted partitions
and make sure we update those partition tables when writing partitions,
even if no install related partition remains on them.
Fix display of timezone selection menu
If there is no current partitioning manager assume we are editing the
current system and make target_already_root() return true.
Fixes various fallout when using sysinst post installation.
PR 55377: mark boot partitions in the partition size display, as suggested
by Izumi Tsutsui (minor modifications + all bugs by me)
PR 55378: do not assume RAW_PART to be either 2 or 3
PR 55379: avoid creating bogus /etc/fstab lines for /dev/cd* if no
cdrom is available.
PR 55381: try to deal with moved (but not yet saved) partitions when
calculating free space
Apply patch provided by Izumi Tsutsui in PR 55382: make ext2 partitions
show up in the outer (MBR) partition table, needed for example on Cobalt
where firmware boots from that partition.
PR 55384: detangle pm->ptstart from the "install" flag (selecting a
target partition). Instead introduce a new PTI_INSTALL_TARGET per partition
flag and deal with it in the partitioning backends.
Honour pm->ptstart when allocating new partitions - it is supposed to be
the first sector usable by NetBSD.
If we have no explicitly marke target root partition, make sure to set
the proper flag on the implicit one.
When merging existing partitions with desired target system layout
information, only force the "mount" flag if the existing partitions
has a valid mount point.
Add a heuristic to detect and properly mark EFI system partitions
when re-using pre-existing partitions.
When MD code requests a reserved area (at the start of the disk)
make sure to properly account for the "lost" space during all calculations
and especially when expanding the main partition to fill the disk.
Avoid using the global "pm" or a passed device descriptons when we are
passing disk limits explicitly anyway.
Simplify/fix a few rounding calculations.
When creating new partitions for "full disk" use, pass a install target
hint to the partitioning backend (for the outer NetBSD partition).
Use an install target hint to mark a new partition active.
When compiled with BOOTSEL support, also name the new partition "NetBSD".
Remove more pm->ptstart abuse - calculate values localy where needed
instead.
Fix editing start and size of not yet existing outer partitions.
Previously we abused pm->ptstart / pm->ptsize to pass the bounds of the
NetBSD outer partition to the inner partition editor - but now this is
not a valid assumption any more, so explicitly fix the bounds if an
outer partition exists.
Remove very strange code that special-cased MSDOS file systems and refused
to newfs the partition (despite explicit request to do so) if it was
mountable.
Accidently carried over from a dim and distant past, before we had
fsck_newfs.
PR 55536: when we find existing partition tables and have alternative
formats available, offer to delete partitions and create new ones from
scratch (in some other or the same on-disk format).
Minor fix to previous: fix condition when we offer the partition type
switch - it makes sense even if the disk is partitioned but has no valid
partitions.
Before forcing MBR partitions into our disklabel, make sure they are not
there yet - could happen in various paths when reusing existing partitions
(or parts of that) - previously we would blindly duplicate identical
partitions.
Ooops, part of previous was not meant to be included yet
When renumbering partitions (after deletions) be slightly more lax
in matching, to cope with differences between MBR EFI partitions and
disklabel MSDOS partitions.
PR 55142: on popular demand bring back expert options to adjust the
number of free inodes, block size and fragment size for FFS and LFS.
Fix copy & pasto noticed by Jason Mitchell: change the type of a GPT
partition via "gpt type" - not "gpt label".
Fix copy & pasto (missing "again" label)
Remove dead code
Move MBR writing (if any) post disklabel writing, otherwise strange
interactions happen.
Properly convert partition default sizes in MB to number of sectors
 1.8.2.2 10-Feb-2020  bouyer Pull up following revision(s) (requested by martin in ticket #693):
usr.sbin/sysinst/arch/x68k/msg.md.en: revision 1.2
usr.sbin/sysinst/arch/x68k/md.c: revision 1.10
usr.sbin/sysinst/arch/mvme68k/msg.md.fr: revision 1.2
usr.sbin/sysinst/arch/x68k/msg.md.en: revision 1.3
usr.sbin/sysinst/arch/mvme68k/msg.md.fr: revision 1.3
usr.sbin/sysinst/msg.mi.en: revision 1.28
usr.sbin/sysinst/arch/hp300/md.c: revision 1.10
usr.sbin/sysinst/msg.mi.es: revision 1.22
usr.sbin/sysinst/target.c: revision 1.12
usr.sbin/sysinst/arch/mvme68k/md.c: revision 1.10
usr.sbin/sysinst/arch/i386/md.c: revision 1.30
usr.sbin/sysinst/arch/mvme68k/msg.md.pl: revision 1.2
usr.sbin/sysinst/arch/mvme68k/msg.md.pl: revision 1.3
usr.sbin/sysinst/bsddisklabel.c: revision 1.39
usr.sbin/sysinst/arch/mvme68k/msg.md.de: revision 1.2
usr.sbin/sysinst/arch/mac68k/md.c: revision 1.9
usr.sbin/sysinst/disklabel.c: revision 1.35
usr.sbin/sysinst/arch/mvme68k/msg.md.de: revision 1.3
usr.sbin/sysinst/defs.h: revision 1.55
usr.sbin/sysinst/disks.c: revision 1.63
usr.sbin/sysinst/disks.c: revision 1.64
usr.sbin/sysinst/mbr.c: revision 1.31
usr.sbin/sysinst/disks.c: revision 1.65
usr.sbin/sysinst/txtwalk.c: revision 1.3
usr.sbin/sysinst/txtwalk.c: revision 1.4
usr.sbin/sysinst/arch/mvme68k/msg.md.en: revision 1.2
usr.sbin/sysinst/arch/mvme68k/msg.md.en: revision 1.3
usr.sbin/sysinst/msg.mi.fr: revision 1.26
usr.sbin/sysinst/msg.mi.pl: revision 1.29
usr.sbin/sysinst/arch/mvme68k/msg.md.es: revision 1.2
usr.sbin/sysinst/upgrade.c: revision 1.15
usr.sbin/sysinst/arch/mvme68k/msg.md.es: revision 1.3
usr.sbin/sysinst/upgrade.c: revision 1.16
usr.sbin/sysinst/partman.c: revision 1.50
usr.sbin/sysinst/msg.mi.de: revision 1.21
remove unused "emptypart" message (or moved to ifdef notyet area)
PR install/54921: message "ordering" takes a %s argument.
PR install/54921: skip non-user partitions when checking for overlaps
bootxx_name() - fix oversight in previous change (do not assume first
partition is the root partition)
PR install/54934: always use -f on the installboot invocation. We come
here post-newfs (and maybe should have dd'd zeros to the start of the
disk before newfs instead).
Remove a bogus assert: when reading disklabel partitions and the outer
(MBR) partitioning has changed, but the changes have not yet been written
back to disk, we need to ignore the kernels idea of the disklabel and
instead continue with an empty one.
Deal with partitioning schemes having no inner counterpart.
Avoid NULL derefs.
Do not assum a partitioning scheme that supports innner partitions always
needs to actually have such partitions defined.
PR bin/54944: deal with escaped spaces in NAME= syntax in /etc/fstab.
PR bin/54944: explicitly reject GPT protective MBRs.
PR bin/54944: make the "explicit single wedge" selection also work for
upgrades.
Reformat a query to add an automatically detected swap partition
so it fits on narrow screens.
Make re-install sets also work for an explicit selected root wedge
Fix copy&pasto in previous - from kre.
Only a single partition can ever have the "extend" flag (grow to available
size).
Do not use -P for tar extractions - the in tree tar has been fixed.
Finish conversion to generic partitioning backend
 1.8.2.1 17-Dec-2019  msaitoh Pull up following revision(s) (requested by martin in ticket #560):
usr.sbin/sysinst/partitions.h: revision 1.11
usr.sbin/sysinst/defs.h: revision 1.49
usr.sbin/sysinst/mbr.c: revision 1.23
usr.sbin/sysinst/msg.mi.en: revision 1.26
usr.sbin/sysinst/disks.c: revision 1.58
usr.sbin/sysinst/arch/evbarm/menus.md.pl: revision 1.2
usr.sbin/sysinst/msg.mi.es: revision 1.20
usr.sbin/sysinst/arch/mvme68k/md.c: revision 1.9
usr.sbin/sysinst/gpt.c: revision 1.13
usr.sbin/sysinst/arch/evbarm/md.c: revision 1.10
usr.sbin/sysinst/arch/arc/md.c: revision 1.10
usr.sbin/sysinst/disklabel.c: revision 1.18
usr.sbin/sysinst/bsddisklabel.c: revision 1.33
usr.sbin/sysinst/disklabel.c: revision 1.19
usr.sbin/sysinst/main.c: revision 1.19
usr.sbin/sysinst/partman.c: revision 1.45
usr.sbin/sysinst/arch/alpha/md.c: revision 1.7
usr.sbin/sysinst/msg.mi.de: revision 1.19
usr.sbin/sysinst/arch/evbarm/menus.md.en: revision 1.2
usr.sbin/sysinst/arch/x68k/md.h: revision 1.4
usr.sbin/sysinst/arch/x68k/md.c: revision 1.9
usr.sbin/sysinst/arch/evbarm/menus.md.es: revision 1.2
usr.sbin/sysinst/wskbd.c: revision 1.4
usr.sbin/sysinst/label.c: revision 1.15
usr.sbin/sysinst/arch/amiga/md.h: revision 1.5
usr.sbin/sysinst/label.c: revision 1.16
usr.sbin/sysinst/arch/hp300/md.c: revision 1.9
usr.sbin/sysinst/arch/emips/md.c: revision 1.8
usr.sbin/sysinst/label.c: revision 1.17
usr.sbin/sysinst/arch/pmax/md.c: revision 1.7
usr.sbin/sysinst/partitions.c: revision 1.6
usr.sbin/sysinst/arch/prep/md.c: revision 1.10
usr.sbin/sysinst/arch/mipsco/md.c: revision 1.7
usr.sbin/sysinst/partitions.c: revision 1.7
usr.sbin/sysinst/partitions.c: revision 1.8
usr.sbin/sysinst/arch/ews4800mips/md.c: revision 1.5
usr.sbin/sysinst/disklabel.c: revision 1.20
usr.sbin/sysinst/arch/evbarm/menus.md.fr: revision 1.2
usr.sbin/sysinst/msg.mi.fr: revision 1.24
usr.sbin/sysinst/disklabel.c: revision 1.21
usr.sbin/sysinst/partitions.h: revision 1.9
usr.sbin/sysinst/msg.mi.pl: revision 1.27
usr.sbin/sysinst/disklabel.c: revision 1.22
usr.sbin/sysinst/disklabel.c: revision 1.23
usr.sbin/sysinst/arch/i386/md.c: revision 1.27
usr.sbin/sysinst/disklabel.c: revision 1.24
usr.sbin/sysinst/disklabel.c: revision 1.25
usr.sbin/sysinst/arch/cobalt/md.h: revision 1.5
usr.sbin/sysinst/disklabel.c: revision 1.26
usr.sbin/sysinst/disklabel.c: revision 1.27
usr.sbin/sysinst/partitions.h: revision 1.10
usr.sbin/sysinst/arch/cobalt/md.c: revision 1.10
PR install/54582: allow MD code to disable on-disk presence verification
of "real" disklabels. Auto-enable this (at run time) when there is no other
partitioning scheme but disklabel configured.
Hard-coded enable this for x68k to allow using kernel based translations
for native Human68k partitions.
Get rid of the evbarm preliminary menu: do not bother to ask the user
whether this is a RPi - query the FDT instead.
PR 54065: add optional "old compat" variant of ext2fs in file system
type selection and use that as default for the cobalt boot file system.
For now rely on the kernel mapping native RDB partitions.
Fix detection of existing disklabels in the case when we only have
the disklabel partitioning scheme available.
Fix DISKLABEL_NO_ONDISK_VERIFY (accidently disabled in previous)
Fix inverted comparison
Do not try to change the keyboard layout if we are not running on the
console.
When trying to tell a fictious but empty label from a real one, skip
partition a if it has the same start and size as the raw partition.
Remove bogus assert.
When finding (paritioning scheme native) partition types for file systems
from our install description, pass the partition type (not only the file
system type). Sometimes (e.g. EFI boot partition on GPT) the filesystem
type (MSDOS) is not a unique selector.
Adapt MD parts to changes in get_fs_part_type (pass partition type).
If a fictious label has no RAW_PART assume there is no valid disk label.
Pass proper track size when initializing the default alignment - this is
important with sunlabels.
Fix overlapping partitions display
Reject (what we consider) empty/invalid fake disklabels no matter whether
we have other partitioning schemes available or not.
Do not show disklabel command invocation by default (only if there are
errors).
After installing boot blocks with RUN_NO_CLEAR (and handling the
potential errors) make sure to clear the stdscreen.
 1.6 16-Jun-2022  tsutsui Define DEFSWAPSIZE properly. DEFSWAPRAM seems obsolete.
 1.5 02-Oct-2019  maya Split out /rescue to its own set and adapt installers/images to add it.

This is meant to make updates safer: if something goes wrong with updating
base, we still have the old, standalone /rescue to recover from.
 1.4 12-Jun-2019  martin branches: 1.4.2;
Rework internal data structures and "interfaces to user interface" functions
to get rid of all disklabel assumptions.

Previously (even for GPT partitioning) struct disklabel was used, which
obviously breaks large disk setups. Also many MD parts and parts of the
user interface assumed (a) a struct disklabel is used internally to
store partitioning information and (b) partitions are named 'a' ... $MAXPART.

Get rid of this and replace it with a quite abstract interface that should
be able to deal with all variants in partition storage:

- partitions are stored in a (partly abstract) struct disk_partitions
and most parts of it are only accessed via accessor functions provided
by a "partitioning scheme".

- implement partitioning schemes for MBR, disklabel and GPT (with likely
RDB [amiga] and Apple Partition Map [mac*] to follow soon)

- partitioning schemes may be cascaded, e.g. on x86 when using MBR as
"outer partitions", we have disklabel as "inner partitions".

- all user interface goes via accessor functions in the partitioning scheme,
some of which return pointers to special user interface descriptors
(e.g. to allow editing partition flags, which are scheme specific)

Overall the user interface changes (in this initial step) are minimal but
noticable. A new Anita is needed for automatic test setups - many thanks
to Andreas Gustafsson for lots of early testing and a new Anita version,
and to Manuel Bouyer for cooperation and tests of the Anita release.

This work was sponsored by The NetBSD Foundation, Inc.
 1.3 16-Nov-2018  martin Sync install size estimates with current reality
 1.2 05-Nov-2018  martin Get rid of hard coded disk names and use sysctl hw.disknames
instead.
 1.1 26-Jul-2014  dholland branches: 1.1.2; 1.1.6; 1.1.26; 1.1.28;
Move sysinst sources to usr.sbin.

This commit only physically moves the sources - there are no other
changes, to maximize the probability that this will be treated as a
rename if we ever do manage to migrate away from CVS.

Moving sysinst has been discussed on and off for years and has two
goals: making it easier to work on sysinst, and also making sysinst
available on running systems for use installing chroots and VM images
and other such things. None of the latter is possible yet, but as they
say, one thing at a time.

Doing this now was approved in an impromptu fashion by mrg, riz,
riastradh, me, and groo.
 1.1.28.2 13-Apr-2020  martin Mostly merge changes from HEAD upto 20200411
 1.1.28.1 10-Jun-2019  christos Sync with HEAD
 1.1.26.1 26-Nov-2018  pgoyette Sync with HEAD, resolve a couple of conflicts
 1.1.6.2 20-Aug-2014  tls Rebase to HEAD as of a few days ago.
 1.1.6.1 26-Jul-2014  tls file md.h was added on branch tls-maxphys on 2014-08-20 00:05:15 +0000
 1.1.2.2 10-Aug-2014  tls Rebase.
 1.1.2.1 26-Jul-2014  tls file md.h was added on branch tls-earlyentropy on 2014-08-10 07:00:26 +0000
 1.4.2.1 17-Nov-2019  martin Pull up following revision(s) (requested by maya in ticket #435):

distrib/sets/maketars: revision 1.90
usr.sbin/sysinst/arch/playstation2/md.h: revision 1.2
usr.sbin/sysinst/arch/sandpoint/md.h: revision 1.3
usr.sbin/sysinst/arch/evbppc/md.h: revision 1.3
usr.sbin/sysinst/arch/hpcarm/md.h: revision 1.3
usr.sbin/sysinst/arch/mvme68k/md.h: revision 1.3
distrib/sun3/MakeInstTape: revision 1.3
usr.sbin/sysinst/util.c: revision 1.33
distrib/sets/lists/rescue/mi: revision 1.1
distrib/sets/lists/base/rescue.sun2: file removal
usr.sbin/sysinst/arch/zaurus/md.h: revision 1.3
distrib/sets/lists/base/rescue.ad.m68k.shl: file removal
distrib/sets/regpkgset: revision 1.13
usr.sbin/sysinst/arch/i386/md.h: revision 1.7
distrib/sets/lists/base/rescue.sparc: file removal
distrib/notes/mvme68k/xfer: revision 1.19
distrib/sets/sets.subr: revision 1.187
distrib/common/bootimage/Makefile.bootimage: revision 1.22
usr.sbin/sysinst/msg.mi.de: revision 1.16
usr.sbin/sysinst/arch/atari/md.h: revision 1.3
rescue/Makefile: revision 1.38
distrib/sets/lists/base/rescue.macppc: file removal
usr.sbin/sysinst/arch/arc/md.h: revision 1.4
distrib/miniroot/install.sub: revision 1.49
usr.sbin/sysinst/arch/acorn32/md.h: revision 1.3
usr.sbin/sysinst/arch/x68k/md.h: revision 1.3
usr.sbin/sysinst/arch/hpcmips/md.h: revision 1.3
usr.sbin/sysinst/arch/bebox/md.h: revision 1.3
usr.sbin/sysinst/arch/hpcsh/md.h: revision 1.2
distrib/sets/lists/base/rescue.shark: file removal
usr.sbin/sysinst/arch/emips/md.h: revision 1.5
distrib/utils/embedded/mkimage: revision 1.70
usr.sbin/sysinst/arch/shark/md.h: revision 1.3
usr.sbin/sysinst/arch/pmax/md.h: revision 1.4
usr.sbin/sysinst/arch/amiga/md.h: revision 1.4
usr.sbin/sysinst/arch/hp300/md.h: revision 1.5
rescue/list.ldconfig: file removal
distrib/sets/lists/base/rescue.ad.m68k: file removal
usr.sbin/sysinst/arch/prep/md.h: revision 1.4
usr.sbin/sysinst/arch/cats/md.h: revision 1.4
usr.sbin/sysinst/arch/amd64/md.h: revision 1.7
usr.sbin/sysinst/msg.mi.es: revision 1.17
usr.sbin/sysinst/msg.mi.fr: revision 1.20
usr.sbin/sysinst/msg.mi.pl: revision 1.23
distrib/sets/lists/base/rescue.i386: file removal
usr.sbin/sysinst/arch/evbarm/md.h: revision 1.3
distrib/sets/lists/base/rescue.vax: file removal
distrib/amd64/uefi-installimage/Makefile.bootimage: revision 1.12
usr.sbin/sysinst/arch/evbmips/md.h: revision 1.3
distrib/sets/lists/base/rescue.mi: file removal
distrib/sets/README: revision 1.14
usr.sbin/sysinst/arch/sgimips/md.h: revision 1.4
distrib/sets/lists/base/rescue.sparc64: file removal
distrib/sets/lists/base/rescue.mi: revision 1.45
distrib/sets/lists/base/rescue.mi: revision 1.46
usr.sbin/sysinst/arch/ofppc/md.h: revision 1.4
usr.sbin/sysinst/arch/cobalt/md.h: revision 1.4
distrib/sets/lists/base/rescue.ad.arm: file removal
distrib/sets/lists/base/rescue.mac68k: file removal
usr.sbin/sysinst/defs.h: revision 1.45
usr.sbin/sysinst/arch/landisk/md.h: revision 1.2
distrib/notes/atari/xfer: revision 1.17
etc/Makefile: revision 1.441
usr.sbin/sysinst/msg.mi.en: revision 1.22
distrib/sun2/MakeInstTape: revision 1.2

Remove ldconfig from /rescue, and mark it MI obsolete.
- ldconfig in netbsd refers to a.out binaries only. We've been ELF-only
since NetBSD 2.0 or so, and having it in /rescue served little purpose
even before that, as /rescue is standalone.
- Using MI obsolete to avoid the need for MD set lists where ldconfig
is the sole entry

Mark /rescue/edlabel as MI-obsolete, so we can remove all remaining MD
rescue set list files.

Split out /rescue to its own set and adapt installers/images to add it.

This is meant to make updates safer: if something goes wrong with updating
base, we still have the old, standalone /rescue to recover from.
 1.1 26-Jul-2014  dholland branches: 1.1.2; 1.1.6;
Move sysinst sources to usr.sbin.

This commit only physically moves the sources - there are no other
changes, to maximize the probability that this will be treated as a
rename if we ever do manage to migrate away from CVS.

Moving sysinst has been discussed on and off for years and has two
goals: making it easier to work on sysinst, and also making sysinst
available on running systems for use installing chroots and VM images
and other such things. None of the latter is possible yet, but as they
say, one thing at a time.

Doing this now was approved in an impromptu fashion by mrg, riz,
riastradh, me, and groo.
 1.1.6.2 20-Aug-2014  tls Rebase to HEAD as of a few days ago.
 1.1.6.1 26-Jul-2014  tls file menus.md.en was added on branch tls-maxphys on 2014-08-20 00:05:15 +0000
 1.1.2.2 10-Aug-2014  tls Rebase.
 1.1.2.1 26-Jul-2014  tls file menus.md.en was added on branch tls-earlyentropy on 2014-08-10 07:00:26 +0000
 1.2 12-Jun-2019  martin Rework internal data structures and "interfaces to user interface" functions
to get rid of all disklabel assumptions.

Previously (even for GPT partitioning) struct disklabel was used, which
obviously breaks large disk setups. Also many MD parts and parts of the
user interface assumed (a) a struct disklabel is used internally to
store partitioning information and (b) partitions are named 'a' ... $MAXPART.

Get rid of this and replace it with a quite abstract interface that should
be able to deal with all variants in partition storage:

- partitions are stored in a (partly abstract) struct disk_partitions
and most parts of it are only accessed via accessor functions provided
by a "partitioning scheme".

- implement partitioning schemes for MBR, disklabel and GPT (with likely
RDB [amiga] and Apple Partition Map [mac*] to follow soon)

- partitioning schemes may be cascaded, e.g. on x86 when using MBR as
"outer partitions", we have disklabel as "inner partitions".

- all user interface goes via accessor functions in the partitioning scheme,
some of which return pointers to special user interface descriptors
(e.g. to allow editing partition flags, which are scheme specific)

Overall the user interface changes (in this initial step) are minimal but
noticable. A new Anita is needed for automatic test setups - many thanks
to Andreas Gustafsson for lots of early testing and a new Anita version,
and to Manuel Bouyer for cooperation and tests of the Anita release.

This work was sponsored by The NetBSD Foundation, Inc.
 1.1 26-Jul-2014  dholland branches: 1.1.2; 1.1.6; 1.1.28;
Move sysinst sources to usr.sbin.

This commit only physically moves the sources - there are no other
changes, to maximize the probability that this will be treated as a
rename if we ever do manage to migrate away from CVS.

Moving sysinst has been discussed on and off for years and has two
goals: making it easier to work on sysinst, and also making sysinst
available on running systems for use installing chroots and VM images
and other such things. None of the latter is possible yet, but as they
say, one thing at a time.

Doing this now was approved in an impromptu fashion by mrg, riz,
riastradh, me, and groo.
 1.1.28.1 13-Apr-2020  martin Mostly merge changes from HEAD upto 20200411
 1.1.6.2 20-Aug-2014  tls Rebase to HEAD as of a few days ago.
 1.1.6.1 26-Jul-2014  tls file msg.md.en was added on branch tls-maxphys on 2014-08-20 00:05:15 +0000
 1.1.2.2 10-Aug-2014  tls Rebase.
 1.1.2.1 26-Jul-2014  tls file msg.md.en was added on branch tls-earlyentropy on 2014-08-10 07:00:26 +0000
 1.2 12-Jun-2019  martin Rework internal data structures and "interfaces to user interface" functions
to get rid of all disklabel assumptions.

Previously (even for GPT partitioning) struct disklabel was used, which
obviously breaks large disk setups. Also many MD parts and parts of the
user interface assumed (a) a struct disklabel is used internally to
store partitioning information and (b) partitions are named 'a' ... $MAXPART.

Get rid of this and replace it with a quite abstract interface that should
be able to deal with all variants in partition storage:

- partitions are stored in a (partly abstract) struct disk_partitions
and most parts of it are only accessed via accessor functions provided
by a "partitioning scheme".

- implement partitioning schemes for MBR, disklabel and GPT (with likely
RDB [amiga] and Apple Partition Map [mac*] to follow soon)

- partitioning schemes may be cascaded, e.g. on x86 when using MBR as
"outer partitions", we have disklabel as "inner partitions".

- all user interface goes via accessor functions in the partitioning scheme,
some of which return pointers to special user interface descriptors
(e.g. to allow editing partition flags, which are scheme specific)

Overall the user interface changes (in this initial step) are minimal but
noticable. A new Anita is needed for automatic test setups - many thanks
to Andreas Gustafsson for lots of early testing and a new Anita version,
and to Manuel Bouyer for cooperation and tests of the Anita release.

This work was sponsored by The NetBSD Foundation, Inc.
 1.1 26-Jul-2014  dholland branches: 1.1.2; 1.1.6; 1.1.28;
Move sysinst sources to usr.sbin.

This commit only physically moves the sources - there are no other
changes, to maximize the probability that this will be treated as a
rename if we ever do manage to migrate away from CVS.

Moving sysinst has been discussed on and off for years and has two
goals: making it easier to work on sysinst, and also making sysinst
available on running systems for use installing chroots and VM images
and other such things. None of the latter is possible yet, but as they
say, one thing at a time.

Doing this now was approved in an impromptu fashion by mrg, riz,
riastradh, me, and groo.
 1.1.28.1 13-Apr-2020  martin Mostly merge changes from HEAD upto 20200411
 1.1.6.2 20-Aug-2014  tls Rebase to HEAD as of a few days ago.
 1.1.6.1 26-Jul-2014  tls file Makefile was added on branch tls-maxphys on 2014-08-20 00:05:15 +0000
 1.1.2.2 10-Aug-2014  tls Rebase.
 1.1.2.1 26-Jul-2014  tls file Makefile was added on branch tls-earlyentropy on 2014-08-10 07:00:26 +0000
 1.11 29-Jan-2022  martin When upgrading, update the boot code post extraction from
the updated target file system.
 1.10 09-Aug-2021  andvar fix various typos in comments and messages.
 1.9 12-Oct-2020  martin PR 55536: when we find existing partition tables and have alternative
formats available, offer to delete partitions and create new ones from
scratch (in some other or the same on-disk format).
 1.8 27-Jan-2020  martin Fix support for non-512-byte/sector disks again after I broke it when
introducing the abstract partition backends.
 1.7 09-Jan-2020  martin Finish conversion of extended partitioning parts to new abstract
backend interface. XXX still could use a lot of polishing.
 1.6 14-Aug-2019  martin When we ask the user to select a partitioning scheme and they refuse
(that is: select "Exit" in the menu), abort installation.
 1.5 13-Jul-2019  martin branches: 1.5.2;
We may call md_pre_mount() multiple times for the same install set,
so pass an additional index argument so MD code knows which part
of the install will be mounted next.
 1.4 13-Jun-2019  martin In the new world order disks may come without any partitioning scheme
attached - so the user may have to select one.
 1.3 12-Jun-2019  martin Rework internal data structures and "interfaces to user interface" functions
to get rid of all disklabel assumptions.

Previously (even for GPT partitioning) struct disklabel was used, which
obviously breaks large disk setups. Also many MD parts and parts of the
user interface assumed (a) a struct disklabel is used internally to
store partitioning information and (b) partitions are named 'a' ... $MAXPART.

Get rid of this and replace it with a quite abstract interface that should
be able to deal with all variants in partition storage:

- partitions are stored in a (partly abstract) struct disk_partitions
and most parts of it are only accessed via accessor functions provided
by a "partitioning scheme".

- implement partitioning schemes for MBR, disklabel and GPT (with likely
RDB [amiga] and Apple Partition Map [mac*] to follow soon)

- partitioning schemes may be cascaded, e.g. on x86 when using MBR as
"outer partitions", we have disklabel as "inner partitions".

- all user interface goes via accessor functions in the partitioning scheme,
some of which return pointers to special user interface descriptors
(e.g. to allow editing partition flags, which are scheme specific)

Overall the user interface changes (in this initial step) are minimal but
noticable. A new Anita is needed for automatic test setups - many thanks
to Andreas Gustafsson for lots of early testing and a new Anita version,
and to Manuel Bouyer for cooperation and tests of the Anita release.

This work was sponsored by The NetBSD Foundation, Inc.
 1.2 03-Aug-2014  martin branches: 1.2.2; 1.2.6; 1.2.28;
(Finally) merge a slightly modified version of the 2012 GSoC results
from Eugene Lozovoy: add extended partitioning options to sysinst.
Still needs some testing and polishing, but it now is possible to use GPT
or to create a RAID set from scratch and install onto it.
 1.1 26-Jul-2014  dholland Move sysinst sources to usr.sbin.

This commit only physically moves the sources - there are no other
changes, to maximize the probability that this will be treated as a
rename if we ever do manage to migrate away from CVS.

Moving sysinst has been discussed on and off for years and has two
goals: making it easier to work on sysinst, and also making sysinst
available on running systems for use installing chroots and VM images
and other such things. None of the latter is possible yet, but as they
say, one thing at a time.

Doing this now was approved in an impromptu fashion by mrg, riz,
riastradh, me, and groo.
 1.2.28.1 13-Apr-2020  martin Mostly merge changes from HEAD upto 20200411
 1.2.6.2 20-Aug-2014  tls Rebase to HEAD as of a few days ago.
 1.2.6.1 03-Aug-2014  tls file md.c was added on branch tls-maxphys on 2014-08-20 00:05:15 +0000
 1.2.2.2 10-Aug-2014  tls Rebase.
 1.2.2.1 03-Aug-2014  tls file md.c was added on branch tls-earlyentropy on 2014-08-10 07:00:26 +0000
 1.5.2.4 02-Feb-2022  msaitoh Pull up following revision(s) (requested by martin in ticket #1422):
usr.sbin/sysinst/util.c: revision 1.64
usr.sbin/sysinst/arch/hpcsh/md.c: revision 1.11
usr.sbin/sysinst/arch/alpha/md.c: revision 1.10
usr.sbin/sysinst/arch/sparc64/md.c: revision 1.7
usr.sbin/sysinst/arch/emips/md.c: revision 1.10
usr.sbin/sysinst/arch/cobalt/md.c: revision 1.15
usr.sbin/sysinst/arch/x68k/md.c: revision 1.12
usr.sbin/sysinst/arch/sandpoint/md.c: revision 1.10
usr.sbin/sysinst/arch/luna68k/md.c: revision 1.10
usr.sbin/sysinst/arch/hp300/md.c: revision 1.12
usr.sbin/sysinst/arch/vax/md.c: revision 1.8
usr.sbin/sysinst/arch/hpcmips/md.c: revision 1.10
usr.sbin/sysinst/target.c: revision 1.16
usr.sbin/sysinst/arch/mvme68k/md.c: revision 1.12
usr.sbin/sysinst/arch/arc/md.c: revision 1.14
usr.sbin/sysinst/target.c: revision 1.17
usr.sbin/sysinst/arch/i386/md.c: revision 1.34
usr.sbin/sysinst/arch/mac68k/md.c: revision 1.11
usr.sbin/sysinst/arch/atari/md.c: revision 1.8
usr.sbin/sysinst/arch/sgimips/md.c: revision 1.10
usr.sbin/sysinst/arch/acorn32/md.c: revision 1.8
usr.sbin/sysinst/install.c: revision 1.22
usr.sbin/sysinst/arch/amiga/md.c: revision 1.7
usr.sbin/sysinst/arch/cats/md.c: revision 1.6
usr.sbin/sysinst/arch/dummy/md.c: revision 1.7
usr.sbin/sysinst/arch/shark/md.c: revision 1.7
usr.sbin/sysinst/arch/pmax/md.c: revision 1.9
usr.sbin/sysinst/arch/newsmips/md.c: revision 1.7
usr.sbin/sysinst/arch/mipsco/md.c: revision 1.9
usr.sbin/sysinst/arch/landisk/md.c: revision 1.15
usr.sbin/sysinst/arch/hppa/md.c: revision 1.9
usr.sbin/sysinst/arch/prep/md.c: revision 1.14
usr.sbin/sysinst/defs.h: revision 1.77
usr.sbin/sysinst/arch/ofppc/md.c: revision 1.13
usr.sbin/sysinst/arch/ews4800mips/md.c: revision 1.8
usr.sbin/sysinst/defs.h: revision 1.78
usr.sbin/sysinst/arch/macppc/md.c: revision 1.7
usr.sbin/sysinst/arch/evbppc/md.c: revision 1.10
usr.sbin/sysinst/defs.h: revision 1.79
usr.sbin/sysinst/gpt.c: revision 1.27
usr.sbin/sysinst/arch/bebox/md.c: revision 1.10
usr.sbin/sysinst/gpt.c: revision 1.28
usr.sbin/sysinst/arch/sparc/md.c: revision 1.7
usr.sbin/sysinst/arch/evbsh3/md.c: revision 1.7
usr.sbin/sysinst/arch/evbarm/md.c: revision 1.22
usr.sbin/sysinst/arch/news68k/md.c: revision 1.8
usr.sbin/sysinst/upgrade.c: revision 1.19
usr.sbin/sysinst/arch/zaurus/md.c: revision 1.12
usr.sbin/sysinst/arch/playstation2/md.c: revision 1.10
usr.sbin/sysinst/arch/hpcarm/md.c: revision 1.11
usr.sbin/sysinst/arch/evbmips/md.c: revision 1.10
usr.sbin/sysinst/main.c: revision 1.28
Add an option to set the directory where we look for message catalogs.
Try to get rid of all wedges we created (after unmounting).
When upgrading, update the boot code post extraction from
the updated target file system.
Do not defer wedge deletions when we have nothing mounted.
Define and use a constant for maximum disk name length.
 1.5.2.3 15-Oct-2020  bouyer Pull up following revision(s) (requested by martin in ticket #1113):
usr.sbin/sysinst/bsddisklabel.c: revision 1.46
usr.sbin/sysinst/bsddisklabel.c: revision 1.47
usr.sbin/sysinst/disklabel.c: revision 1.40
usr.sbin/sysinst/arch/cobalt/md.c: revision 1.13
usr.sbin/sysinst/bsddisklabel.c: revision 1.48
usr.sbin/sysinst/disklabel.c: revision 1.41
usr.sbin/sysinst/arch/cobalt/md.c: revision 1.14
usr.sbin/sysinst/bsddisklabel.c: revision 1.49
usr.sbin/sysinst/disklabel.c: revision 1.42
usr.sbin/sysinst/Makefile.inc: revision 1.34
usr.sbin/sysinst/disks.c: revision 1.70
usr.sbin/sysinst/arch/hp300/md.c: revision 1.11
usr.sbin/sysinst/disks.c: revision 1.71
usr.sbin/sysinst/arch/i386/md.h: revision 1.8
usr.sbin/sysinst/arch/arc/md.c: revision 1.13
usr.sbin/sysinst/mbr.h: revision 1.5
usr.sbin/sysinst/mbr.h: revision 1.6
usr.sbin/sysinst/arch/mac68k/md.c: revision 1.10
usr.sbin/sysinst/bsddisklabel.c: revision 1.50
usr.sbin/sysinst/arch/acorn32/md.c: revision 1.7
usr.sbin/sysinst/bsddisklabel.c: revision 1.51
usr.sbin/sysinst/bsddisklabel.c: revision 1.52
usr.sbin/sysinst/bsddisklabel.c: revision 1.53
usr.sbin/sysinst/bsddisklabel.c: revision 1.54
usr.sbin/sysinst/bsddisklabel.c: revision 1.55
usr.sbin/sysinst/bsddisklabel.c: revision 1.56
usr.sbin/sysinst/arch/dummy/md.c: revision 1.6
usr.sbin/sysinst/arch/amd64/md.h: revision 1.9
usr.sbin/sysinst/arch/evbsh3/md.c: revision 1.6
usr.sbin/sysinst/arch/sparc/md.c: revision 1.6
usr.sbin/sysinst/arch/zaurus/md.c: revision 1.10
usr.sbin/sysinst/arch/x68k/md.c: revision 1.11
usr.sbin/sysinst/arch/sandpoint/md.c: revision 1.9
usr.sbin/sysinst/arch/vax/md.c: revision 1.7
usr.sbin/sysinst/arch/luna68k/md.c: revision 1.9
usr.sbin/sysinst/gpt.c: revision 1.19
usr.sbin/sysinst/arch/i386/md.c: revision 1.31
usr.sbin/sysinst/arch/i386/md.c: revision 1.32
usr.sbin/sysinst/arch/evbarm/md.c: revision 1.17
usr.sbin/sysinst/arch/evbarm/md.c: revision 1.18
usr.sbin/sysinst/arch/evbarm/md.c: revision 1.19
usr.sbin/sysinst/arch/shark/md.c: revision 1.6
usr.sbin/sysinst/arch/landisk/md.c: revision 1.14
usr.sbin/sysinst/util.c: revision 1.43
usr.sbin/sysinst/gpt.c: revision 1.20
usr.sbin/sysinst/util.c: revision 1.44
usr.sbin/sysinst/gpt.c: revision 1.21
usr.sbin/sysinst/gpt.c: revision 1.22
usr.sbin/sysinst/arch/evbarm/msg.md.en: revision 1.2
usr.sbin/sysinst/arch/ofppc/md.c: revision 1.11
usr.sbin/sysinst/util.c: revision 1.46
usr.sbin/sysinst/arch/ofppc/md.c: revision 1.12
usr.sbin/sysinst/util.c: revision 1.47
usr.sbin/sysinst/arch/evbarm/md.h: revision 1.6
usr.sbin/sysinst/util.c: revision 1.48
usr.sbin/sysinst/arch/evbarm/md.h: revision 1.7
usr.sbin/sysinst/arch/evbmips/md.c: revision 1.9
usr.sbin/sysinst/msg.mi.fr: revision 1.28
usr.sbin/sysinst/msg.mi.fr: revision 1.29
usr.sbin/sysinst/arch/sgimips/md.c: revision 1.9
usr.sbin/sysinst/arch/evbarm/Makefile: revision 1.3
usr.sbin/sysinst/msg.mi.de: revision 1.23
usr.sbin/sysinst/arch/hpcsh/md.c: revision 1.10
usr.sbin/sysinst/msg.mi.de: revision 1.24
usr.sbin/sysinst/install.c: revision 1.15
usr.sbin/sysinst/install.c: revision 1.16
usr.sbin/sysinst/arch/sparc64/md.c: revision 1.6
usr.sbin/sysinst/install.c: revision 1.17
usr.sbin/sysinst/install.c: revision 1.18
usr.sbin/sysinst/partitions.h: revision 1.16
usr.sbin/sysinst/install.c: revision 1.19
usr.sbin/sysinst/partitions.h: revision 1.17
usr.sbin/sysinst/arch/evbppc/md.c: revision 1.9
usr.sbin/sysinst/arch/playstation2/md.c: revision 1.9
usr.sbin/sysinst/partitions.h: revision 1.18
usr.sbin/sysinst/arch/hpcarm/md.c: revision 1.9
usr.sbin/sysinst/partitions.h: revision 1.19
usr.sbin/sysinst/msg.mi.es: revision 1.24
usr.sbin/sysinst/msg.mi.es: revision 1.25
usr.sbin/sysinst/msg.mi.es: revision 1.26
usr.sbin/sysinst/arch/zaurus/md.c: revision 1.9
usr.sbin/sysinst/target.c: revision 1.13
usr.sbin/sysinst/target.c: revision 1.14
usr.sbin/sysinst/part_edit.c: revision 1.17
usr.sbin/sysinst/part_edit.c: revision 1.18
usr.sbin/sysinst/msg.mi.fr: revision 1.30
usr.sbin/sysinst/arch/mvme68k/md.c: revision 1.11
usr.sbin/sysinst/part_edit.c: revision 1.19
usr.sbin/sysinst/msg.mi.fr: revision 1.31
usr.sbin/sysinst/arch/alpha/md.c: revision 1.9
usr.sbin/sysinst/msg.mi.en: revision 1.30
usr.sbin/sysinst/defs.h: revision 1.56
usr.sbin/sysinst/msg.mi.en: revision 1.31
usr.sbin/sysinst/defs.h: revision 1.57
usr.sbin/sysinst/msg.mi.en: revision 1.32
usr.sbin/sysinst/arch/amiga/md.c: revision 1.6
usr.sbin/sysinst/arch/hpcmips/md.c: revision 1.9
usr.sbin/sysinst/defs.h: revision 1.58
usr.sbin/sysinst/arch/cats/md.c: revision 1.5
usr.sbin/sysinst/defs.h: revision 1.59
usr.sbin/sysinst/arch/newsmips/md.c: revision 1.6
usr.sbin/sysinst/arch/pmax/md.c: revision 1.8
usr.sbin/sysinst/arch/mipsco/md.c: revision 1.8
usr.sbin/sysinst/part_edit.c: revision 1.20
usr.sbin/sysinst/part_edit.c: revision 1.21
usr.sbin/sysinst/arch/macppc/md.c: revision 1.6
usr.sbin/sysinst/part_edit.c: revision 1.22
usr.sbin/sysinst/part_edit.c: revision 1.23
usr.sbin/sysinst/part_edit.c: revision 1.24
usr.sbin/sysinst/defs.h: revision 1.60
usr.sbin/sysinst/arch/mac68k/Makefile: revision 1.3
usr.sbin/sysinst/defs.h: revision 1.61
usr.sbin/sysinst/defs.h: revision 1.63
usr.sbin/sysinst/defs.h: revision 1.64
usr.sbin/sysinst/defs.h: revision 1.65
usr.sbin/sysinst/label.c: revision 1.21
usr.sbin/sysinst/defs.h: revision 1.66
usr.sbin/sysinst/label.c: revision 1.22
usr.sbin/sysinst/defs.h: revision 1.67
usr.sbin/sysinst/label.c: revision 1.23
usr.sbin/sysinst/label.c: revision 1.24
usr.sbin/sysinst/label.c: revision 1.25
usr.sbin/sysinst/label.c: revision 1.26
usr.sbin/sysinst/label.c: revision 1.27
usr.sbin/sysinst/msg.mi.pl: revision 1.31
usr.sbin/sysinst/label.c: revision 1.28
usr.sbin/sysinst/msg.mi.pl: revision 1.32
usr.sbin/sysinst/label.c: revision 1.29
usr.sbin/sysinst/arch/atari/md.c: revision 1.7
usr.sbin/sysinst/disklabel.c: revision 1.36
usr.sbin/sysinst/disklabel.c: revision 1.37
usr.sbin/sysinst/disklabel.c: revision 1.38
usr.sbin/sysinst/disklabel.c: revision 1.39
usr.sbin/sysinst/arch/bebox/md.c: revision 1.9
usr.sbin/sysinst/mbr.c: revision 1.32
usr.sbin/sysinst/disks.c: revision 1.66
usr.sbin/sysinst/mbr.c: revision 1.33
usr.sbin/sysinst/disks.c: revision 1.67
usr.sbin/sysinst/mbr.c: revision 1.34
usr.sbin/sysinst/arch/emips/md.c: revision 1.9
usr.sbin/sysinst/disks.c: revision 1.68
usr.sbin/sysinst/partitions.c: revision 1.11
usr.sbin/sysinst/mbr.c: revision 1.35
usr.sbin/sysinst/disks.c: revision 1.69
usr.sbin/sysinst/mbr.c: revision 1.36
usr.sbin/sysinst/arch/hppa/md.c: revision 1.8
usr.sbin/sysinst/arch/prep/md.c: revision 1.13
usr.sbin/sysinst/label.c: revision 1.30
usr.sbin/sysinst/arch/ews4800mips/md.c: revision 1.7
usr.sbin/sysinst/main.c: revision 1.21
usr.sbin/sysinst/main.c: revision 1.22
usr.sbin/sysinst/main.c: revision 1.23
usr.sbin/sysinst/bsddisklabel.c: revision 1.40
usr.sbin/sysinst/main.c: revision 1.24
usr.sbin/sysinst/arch/cobalt/md.h: revision 1.6
usr.sbin/sysinst/bsddisklabel.c: revision 1.41
usr.sbin/sysinst/main.c: revision 1.25
usr.sbin/sysinst/arch/news68k/md.c: revision 1.7
usr.sbin/sysinst/bsddisklabel.c: revision 1.42
usr.sbin/sysinst/bsddisklabel.c: revision 1.43
usr.sbin/sysinst/bsddisklabel.c: revision 1.44
usr.sbin/sysinst/bsddisklabel.c: revision 1.45
Use strlcpy in a few places to guarnatee 0-terminated strings
Rever previous: the d_packname in struct disklabel is not NUL terminated.
Disable the warning instead.
Do not force -Os optimization (unless SMALLPROG)
Remove unused "rel" global variable and make the -r option a no-op.
PR 55045: strlcpy(NULL, ..., 0) considered harmfull in some implementations.
PR misc/54886: bump threshold for automatic/default creation of a tmpfs /tmp
up slightly (to 384 MB ram). This will make sure the default install has
a > 64 MB /tmp available (number pulled out of thin air, 64 MB is the minimum
required by the ZFS tests).
Don't depend on common symbol definitions.
boardype should not be common.
Redo the root-size-limit check again after we grew the root partition
for kernel dumps. Auto-enable the /usr partition if it overflows.
For all non-root partitions, default to FFSv2.
When extending a partition (to fill the total disk size) do respect
size limits.
Do not suggest a size limited partition for extension by default.
Minor tweak to previous: when forcing a /usr partition just to have an
arbitrary extendable partition, still use its default size initially.
At the end of a new installation save entropy.
Ooops, backout previous - twice the entropy saving is not needed.
Instead slightly improve the (slightly) hidden other code that already
did it.
PR 55202: disable swapping if we started it due to low ram
it's "its"
Remove "If you booted from a floppy" message
Set HAVE_INSTALL_IMAGE for evbarm
Change mountpoint of boot ext2fs from /stand to /ext2 to avoid conflict.
Should be pulled up to netbsd-9, with fixes of PR/55060.
MBR type for Ext2 should be MBR_PTYPE_LNXEXT2, not MBR_PTYPE_FAT12.
Silence -Wstringop-truncation for ``name'' in disp_selected_part().
This variable is used only for display, and truncation seems harmless.
PR 55572: avoid crash when answering the mount point prompt for a previously
empty mount point with an emptry sting.
When adding a new partition in the concrete partition editor, make sure
to set a pointer to the partition table interface in the new entry.
Otherwise we may end up not writing back the partitions at all, leading
to further fallout later.
Receipe to reproduce the issue from Frederic Fauberteau, thanks!
In the concrete partitions editor, after deleting the last partition move
the menu selection to the "add a partition" entry (instead of the sentinel
line which is not an active menu entry).
Typo in comment
Keep a list of all partition tables from which we have deleted partitions
and make sure we update those partition tables when writing partitions,
even if no install related partition remains on them.
Fix display of timezone selection menu
If there is no current partitioning manager assume we are editing the
current system and make target_already_root() return true.
Fixes various fallout when using sysinst post installation.
PR 55377: mark boot partitions in the partition size display, as suggested
by Izumi Tsutsui (minor modifications + all bugs by me)
PR 55378: do not assume RAW_PART to be either 2 or 3
PR 55379: avoid creating bogus /etc/fstab lines for /dev/cd* if no
cdrom is available.
PR 55381: try to deal with moved (but not yet saved) partitions when
calculating free space
Apply patch provided by Izumi Tsutsui in PR 55382: make ext2 partitions
show up in the outer (MBR) partition table, needed for example on Cobalt
where firmware boots from that partition.
PR 55384: detangle pm->ptstart from the "install" flag (selecting a
target partition). Instead introduce a new PTI_INSTALL_TARGET per partition
flag and deal with it in the partitioning backends.
Honour pm->ptstart when allocating new partitions - it is supposed to be
the first sector usable by NetBSD.
If we have no explicitly marke target root partition, make sure to set
the proper flag on the implicit one.
When merging existing partitions with desired target system layout
information, only force the "mount" flag if the existing partitions
has a valid mount point.
Add a heuristic to detect and properly mark EFI system partitions
when re-using pre-existing partitions.
When MD code requests a reserved area (at the start of the disk)
make sure to properly account for the "lost" space during all calculations
and especially when expanding the main partition to fill the disk.
Avoid using the global "pm" or a passed device descriptons when we are
passing disk limits explicitly anyway.
Simplify/fix a few rounding calculations.
When creating new partitions for "full disk" use, pass a install target
hint to the partitioning backend (for the outer NetBSD partition).
Use an install target hint to mark a new partition active.
When compiled with BOOTSEL support, also name the new partition "NetBSD".
Remove more pm->ptstart abuse - calculate values localy where needed
instead.
Fix editing start and size of not yet existing outer partitions.
Previously we abused pm->ptstart / pm->ptsize to pass the bounds of the
NetBSD outer partition to the inner partition editor - but now this is
not a valid assumption any more, so explicitly fix the bounds if an
outer partition exists.
Remove very strange code that special-cased MSDOS file systems and refused
to newfs the partition (despite explicit request to do so) if it was
mountable.
Accidently carried over from a dim and distant past, before we had
fsck_newfs.
PR 55536: when we find existing partition tables and have alternative
formats available, offer to delete partitions and create new ones from
scratch (in some other or the same on-disk format).
Minor fix to previous: fix condition when we offer the partition type
switch - it makes sense even if the disk is partitioned but has no valid
partitions.
Before forcing MBR partitions into our disklabel, make sure they are not
there yet - could happen in various paths when reusing existing partitions
(or parts of that) - previously we would blindly duplicate identical
partitions.
Ooops, part of previous was not meant to be included yet
When renumbering partitions (after deletions) be slightly more lax
in matching, to cope with differences between MBR EFI partitions and
disklabel MSDOS partitions.
PR 55142: on popular demand bring back expert options to adjust the
number of free inodes, block size and fragment size for FFS and LFS.
Fix copy & pasto noticed by Jason Mitchell: change the type of a GPT
partition via "gpt type" - not "gpt label".
Fix copy & pasto (missing "again" label)
Remove dead code
Move MBR writing (if any) post disklabel writing, otherwise strange
interactions happen.
Properly convert partition default sizes in MB to number of sectors
 1.5.2.2 28-Jan-2020  msaitoh Pull up following revision(s) (requested by martin in ticket #668):
usr.sbin/sysinst/arch/cobalt/md.c: revision 1.11
usr.sbin/sysinst/arch/cobalt/md.c: revision 1.12
usr.sbin/sysinst/arch/arc/md.c: revision 1.11
usr.sbin/sysinst/arch/arc/md.c: revision 1.12
usr.sbin/sysinst/partman.c: revision 1.43
usr.sbin/sysinst/partman.c: revision 1.46
usr.sbin/sysinst/partman.c: revision 1.47
usr.sbin/sysinst/partman.c: revision 1.48
usr.sbin/sysinst/partman.c: revision 1.49
usr.sbin/sysinst/msg.pm.fr: revision 1.2
usr.sbin/sysinst/upgrade.c: revision 1.14
usr.sbin/sysinst/arch/i386/md.c: revision 1.28
usr.sbin/sysinst/arch/i386/md.c: revision 1.29
usr.sbin/sysinst/arch/ofppc/md.c: revision 1.9
usr.sbin/sysinst/arch/sandpoint/md.c: revision 1.7
usr.sbin/sysinst/arch/sandpoint/md.c: revision 1.8
usr.sbin/sysinst/gpt.c: revision 1.14
usr.sbin/sysinst/gpt.c: revision 1.15
usr.sbin/sysinst/arch/luna68k/md.c: revision 1.8
usr.sbin/sysinst/gpt.c: revision 1.16
usr.sbin/sysinst/msg.pm.de: revision 1.2
usr.sbin/sysinst/arch/evbarm/md.c: revision 1.11
usr.sbin/sysinst/arch/evbarm/md.c: revision 1.12
usr.sbin/sysinst/arch/evbarm/md.c: revision 1.13
usr.sbin/sysinst/arch/evbarm/md.c: revision 1.14
usr.sbin/sysinst/sizemultname.c: revision 1.4
usr.sbin/sysinst/msg.pm.en: revision 1.2
usr.sbin/sysinst/arch/landisk/md.c: revision 1.12
usr.sbin/sysinst/util.c: revision 1.41
usr.sbin/sysinst/arch/landisk/md.c: revision 1.13
usr.sbin/sysinst/util.c: revision 1.42
usr.sbin/sysinst/arch/ofppc/md.c: revision 1.10
usr.sbin/sysinst/partitions.c: revision 1.9
usr.sbin/sysinst/arch/evbarm/md.h: revision 1.4
usr.sbin/sysinst/arch/evbarm/md.h: revision 1.5
usr.sbin/sysinst/arch/evbmips/md.c: revision 1.7
usr.sbin/sysinst/arch/evbmips/md.c: revision 1.8
usr.sbin/sysinst/msg.mi.fr: revision 1.25
usr.sbin/sysinst/msg.mi.de: revision 1.20
usr.sbin/sysinst/install.c: revision 1.14
usr.sbin/sysinst/partitions.h: revision 1.13
usr.sbin/sysinst/partitions.h: revision 1.14
usr.sbin/sysinst/arch/evbppc/md.c: revision 1.7
usr.sbin/sysinst/arch/playstation2/md.c: revision 1.7
usr.sbin/sysinst/msg.mi.en: revision 1.27
usr.sbin/sysinst/partitions.h: revision 1.15
usr.sbin/sysinst/arch/evbppc/md.c: revision 1.8
usr.sbin/sysinst/arch/hpcarm/md.c: revision 1.7
usr.sbin/sysinst/arch/playstation2/md.c: revision 1.8
usr.sbin/sysinst/msg.pm.pl: revision 1.2
usr.sbin/sysinst/arch/hpcarm/md.c: revision 1.8
usr.sbin/sysinst/msg.mi.es: revision 1.21
usr.sbin/sysinst/arch/zaurus/md.c: revision 1.7
usr.sbin/sysinst/target.c: revision 1.11
usr.sbin/sysinst/arch/zaurus/md.c: revision 1.8
usr.sbin/sysinst/part_edit.c: revision 1.14
usr.sbin/sysinst/part_edit.c: revision 1.15
usr.sbin/sysinst/part_edit.c: revision 1.16
usr.sbin/sysinst/defs.h: revision 1.50
usr.sbin/sysinst/defs.h: revision 1.51
usr.sbin/sysinst/defs.h: revision 1.52
usr.sbin/sysinst/defs.h: revision 1.53
usr.sbin/sysinst/defs.h: revision 1.54
usr.sbin/sysinst/arch/hpcmips/md.c: revision 1.7
usr.sbin/sysinst/arch/hpcmips/md.c: revision 1.8
usr.sbin/sysinst/arch/hpcsh/md.c: revision 1.8
usr.sbin/sysinst/msg.pm.es: revision 1.2
usr.sbin/sysinst/arch/hpcsh/md.c: revision 1.9
usr.sbin/sysinst/label.c: revision 1.18
usr.sbin/sysinst/label.c: revision 1.19
usr.sbin/sysinst/net.c: revision 1.35
usr.sbin/sysinst/msg.mi.pl: revision 1.28
usr.sbin/sysinst/disklabel.c: revision 1.28
usr.sbin/sysinst/disklabel.c: revision 1.29
usr.sbin/sysinst/mbr.c: revision 1.24
usr.sbin/sysinst/disks.c: revision 1.59
usr.sbin/sysinst/mbr.c: revision 1.25
usr.sbin/sysinst/mbr.c: revision 1.26
usr.sbin/sysinst/mbr.c: revision 1.27
usr.sbin/sysinst/mbr.c: revision 1.28
usr.sbin/sysinst/label.c: revision 1.20
usr.sbin/sysinst/mbr.c: revision 1.29
usr.sbin/sysinst/bsddisklabel.c: revision 1.34
usr.sbin/sysinst/bsddisklabel.c: revision 1.35
usr.sbin/sysinst/bsddisklabel.c: revision 1.36
usr.sbin/sysinst/bsddisklabel.c: revision 1.37
usr.sbin/sysinst/disklabel.c: revision 1.30
usr.sbin/sysinst/bsddisklabel.c: revision 1.38
usr.sbin/sysinst/disklabel.c: revision 1.31
usr.sbin/sysinst/disklabel.c: revision 1.32
usr.sbin/sysinst/disklabel.c: revision 1.33
usr.sbin/sysinst/disklabel.c: revision 1.34
usr.sbin/sysinst/disks.c: revision 1.60
usr.sbin/sysinst/disks.c: revision 1.61
usr.sbin/sysinst/arch/bebox/md.c: revision 1.7
usr.sbin/sysinst/disks.c: revision 1.62
usr.sbin/sysinst/arch/bebox/md.c: revision 1.8
usr.sbin/sysinst/mbr.c: revision 1.30
usr.sbin/sysinst/partitions.c: revision 1.10
usr.sbin/sysinst/arch/prep/md.c: revision 1.11
usr.sbin/sysinst/arch/prep/md.c: revision 1.12
usr.sbin/sysinst/menus.pm: revision 1.3
usr.sbin/sysinst/main.c: revision 1.20
usr.sbin/sysinst/menus.mi: revision 1.20
usr.sbin/sysinst/menus.mi: revision 1.21
avoid calling snprintf/strlcat with an input parameter the same
as the output. from martin@. fixes gcc 8 restrict warnings.
Finish conversion of extended partitioning parts to new abstract
backend interface. XXX still could use a lot of polishing.
Instead of a (bogus) attempt to query the model via ofctl, use the (now
fixed) sysctl hw.model instead.
When reading the secondary disklabel partitions from an existing disklabel
set the mbr partitions as parent.
Move the LABELSECTOR check and make it FS type specific - some partition
types (FFS, RAID) are allowed to overlap with the LABELSECTOR.
When asked to create a whole-disk partition for unknown usage, do not only
assert(false), but actually return an error (in case "assert" is a nop).
PR install/54787: when trying to derive proper alignement and first offset
from exisiting partitions, use the first partition offset if it is already
closer to the start of the disk than the prefered alignment - we can not
move existing partitions around.
Fix handling of inner/outer partitions (e.g. MBR and disklabel) in
extended partitioning:
- when editing a disk with such a schme, offer both partitions in two
steps
- when commiting changes save the inner partitions after the outer ones
Add a method to query the partitioning schemes "internal idea" of a
cylinder size - whatever that means in the real world.
Avoid using the global "pm" variable in utility functions - during
extended partitioning they may point to a different device.
Remove useless calls to get_ramsize() - return value is ignored and
the function has no side effects.
Fix /tmp tmpfs handling and on machines with enough RAM default to
creating a /tmp tmpfs with 25% of ram size limit. Suggested by ad@.
PR install/54872: fix printf argument order, sectors and heads were
swapped in the bios geometry display.
First try to bring evbarm installation closer to current reality.
hide disklabel_non_bootable() under NO_DISKLABEL_BOOT like the usage.
should fix most builds.
Deal with even stranger fictious empty disklabels (PR kern/54882).
Factor out all RAM size thresholds as defines to avoid magic numbers.
To work around PR misc/54886 bump the threshold for a tmpfs /tmp mount
up to 256 MB.
When retrying sets during extraction, reset the relevant statistics
to avoid counting retried sets multiple times.
Reported by kim.
Fix support for non-512-byte/sector disks again after I broke it when
introducing the abstract partition backends.
Use a few strlcpy() instead of strncpy() for network ioctl structs.
We seem to have no formal documentation stating the various
char if*_name[IFNAMSIZ]; /* if name, e.g. "en0" */
elements in ioctls are nul terminated, but the peanut gallery claims
it is so - and at least half of the code in-tree touching them agrees.
Too much disklabel magic happening in the kernel - to compensate force
MBR first when trying to identify the existing partitioning scheme of
a disk.
 1.5.2.1 18-Aug-2019  msaitoh Pull up following revision(s) (requested by martin in ticket #77):
usr.sbin/sysinst/arch/sandpoint/md.c: revision 1.6
usr.sbin/sysinst/arch/playstation2/md.c: revision 1.6
usr.sbin/sysinst/arch/evbppc/md.c: revision 1.6
usr.sbin/sysinst/arch/hpcarm/md.c: revision 1.6
usr.sbin/sysinst/arch/zaurus/md.c: revision 1.6
usr.sbin/sysinst/arch/arc/md.c: revision 1.9
usr.sbin/sysinst/arch/hpcmips/md.c: revision 1.6
usr.sbin/sysinst/arch/bebox/md.c: revision 1.6
usr.sbin/sysinst/arch/hpcsh/md.c: revision 1.7
usr.sbin/sysinst/arch/landisk/md.c: revision 1.11
usr.sbin/sysinst/arch/prep/md.c: revision 1.9
usr.sbin/sysinst/arch/i386/md.c: revision 1.21
usr.sbin/sysinst/arch/evbmips/md.c: revision 1.6
usr.sbin/sysinst/arch/evbarm/md.c: revision 1.9
usr.sbin/sysinst/arch/cobalt/md.c: revision 1.9
usr.sbin/sysinst/arch/ofppc/md.c: revision 1.8
When we ask the user to select a partitioning scheme and they refuse
(that is: select "Exit" in the menu), abort installation.
 1.3 02-Oct-2019  maya Split out /rescue to its own set and adapt installers/images to add it.

This is meant to make updates safer: if something goes wrong with updating
base, we still have the old, standalone /rescue to recover from.
 1.2 18-Nov-2018  martin branches: 1.2.2;
More size estimate fixes
 1.1 26-Jul-2014  dholland branches: 1.1.2; 1.1.6; 1.1.26; 1.1.28;
Move sysinst sources to usr.sbin.

This commit only physically moves the sources - there are no other
changes, to maximize the probability that this will be treated as a
rename if we ever do manage to migrate away from CVS.

Moving sysinst has been discussed on and off for years and has two
goals: making it easier to work on sysinst, and also making sysinst
available on running systems for use installing chroots and VM images
and other such things. None of the latter is possible yet, but as they
say, one thing at a time.

Doing this now was approved in an impromptu fashion by mrg, riz,
riastradh, me, and groo.
 1.1.28.2 13-Apr-2020  martin Mostly merge changes from HEAD upto 20200411
 1.1.28.1 10-Jun-2019  christos Sync with HEAD
 1.1.26.1 26-Nov-2018  pgoyette Sync with HEAD, resolve a couple of conflicts
 1.1.6.2 20-Aug-2014  tls Rebase to HEAD as of a few days ago.
 1.1.6.1 26-Jul-2014  tls file md.h was added on branch tls-maxphys on 2014-08-20 00:05:15 +0000
 1.1.2.2 10-Aug-2014  tls Rebase.
 1.1.2.1 26-Jul-2014  tls file md.h was added on branch tls-earlyentropy on 2014-08-10 07:00:26 +0000
 1.2.2.1 17-Nov-2019  martin Pull up following revision(s) (requested by maya in ticket #435):

distrib/sets/maketars: revision 1.90
usr.sbin/sysinst/arch/playstation2/md.h: revision 1.2
usr.sbin/sysinst/arch/sandpoint/md.h: revision 1.3
usr.sbin/sysinst/arch/evbppc/md.h: revision 1.3
usr.sbin/sysinst/arch/hpcarm/md.h: revision 1.3
usr.sbin/sysinst/arch/mvme68k/md.h: revision 1.3
distrib/sun3/MakeInstTape: revision 1.3
usr.sbin/sysinst/util.c: revision 1.33
distrib/sets/lists/rescue/mi: revision 1.1
distrib/sets/lists/base/rescue.sun2: file removal
usr.sbin/sysinst/arch/zaurus/md.h: revision 1.3
distrib/sets/lists/base/rescue.ad.m68k.shl: file removal
distrib/sets/regpkgset: revision 1.13
usr.sbin/sysinst/arch/i386/md.h: revision 1.7
distrib/sets/lists/base/rescue.sparc: file removal
distrib/notes/mvme68k/xfer: revision 1.19
distrib/sets/sets.subr: revision 1.187
distrib/common/bootimage/Makefile.bootimage: revision 1.22
usr.sbin/sysinst/msg.mi.de: revision 1.16
usr.sbin/sysinst/arch/atari/md.h: revision 1.3
rescue/Makefile: revision 1.38
distrib/sets/lists/base/rescue.macppc: file removal
usr.sbin/sysinst/arch/arc/md.h: revision 1.4
distrib/miniroot/install.sub: revision 1.49
usr.sbin/sysinst/arch/acorn32/md.h: revision 1.3
usr.sbin/sysinst/arch/x68k/md.h: revision 1.3
usr.sbin/sysinst/arch/hpcmips/md.h: revision 1.3
usr.sbin/sysinst/arch/bebox/md.h: revision 1.3
usr.sbin/sysinst/arch/hpcsh/md.h: revision 1.2
distrib/sets/lists/base/rescue.shark: file removal
usr.sbin/sysinst/arch/emips/md.h: revision 1.5
distrib/utils/embedded/mkimage: revision 1.70
usr.sbin/sysinst/arch/shark/md.h: revision 1.3
usr.sbin/sysinst/arch/pmax/md.h: revision 1.4
usr.sbin/sysinst/arch/amiga/md.h: revision 1.4
usr.sbin/sysinst/arch/hp300/md.h: revision 1.5
rescue/list.ldconfig: file removal
distrib/sets/lists/base/rescue.ad.m68k: file removal
usr.sbin/sysinst/arch/prep/md.h: revision 1.4
usr.sbin/sysinst/arch/cats/md.h: revision 1.4
usr.sbin/sysinst/arch/amd64/md.h: revision 1.7
usr.sbin/sysinst/msg.mi.es: revision 1.17
usr.sbin/sysinst/msg.mi.fr: revision 1.20
usr.sbin/sysinst/msg.mi.pl: revision 1.23
distrib/sets/lists/base/rescue.i386: file removal
usr.sbin/sysinst/arch/evbarm/md.h: revision 1.3
distrib/sets/lists/base/rescue.vax: file removal
distrib/amd64/uefi-installimage/Makefile.bootimage: revision 1.12
usr.sbin/sysinst/arch/evbmips/md.h: revision 1.3
distrib/sets/lists/base/rescue.mi: file removal
distrib/sets/README: revision 1.14
usr.sbin/sysinst/arch/sgimips/md.h: revision 1.4
distrib/sets/lists/base/rescue.sparc64: file removal
distrib/sets/lists/base/rescue.mi: revision 1.45
distrib/sets/lists/base/rescue.mi: revision 1.46
usr.sbin/sysinst/arch/ofppc/md.h: revision 1.4
usr.sbin/sysinst/arch/cobalt/md.h: revision 1.4
distrib/sets/lists/base/rescue.ad.arm: file removal
distrib/sets/lists/base/rescue.mac68k: file removal
usr.sbin/sysinst/defs.h: revision 1.45
usr.sbin/sysinst/arch/landisk/md.h: revision 1.2
distrib/notes/atari/xfer: revision 1.17
etc/Makefile: revision 1.441
usr.sbin/sysinst/msg.mi.en: revision 1.22
distrib/sun2/MakeInstTape: revision 1.2

Remove ldconfig from /rescue, and mark it MI obsolete.
- ldconfig in netbsd refers to a.out binaries only. We've been ELF-only
since NetBSD 2.0 or so, and having it in /rescue served little purpose
even before that, as /rescue is standalone.
- Using MI obsolete to avoid the need for MD set lists where ldconfig
is the sole entry

Mark /rescue/edlabel as MI-obsolete, so we can remove all remaining MD
rescue set list files.

Split out /rescue to its own set and adapt installers/images to add it.

This is meant to make updates safer: if something goes wrong with updating
base, we still have the old, standalone /rescue to recover from.
 1.1 26-Jul-2014  dholland branches: 1.1.2; 1.1.6;
Move sysinst sources to usr.sbin.

This commit only physically moves the sources - there are no other
changes, to maximize the probability that this will be treated as a
rename if we ever do manage to migrate away from CVS.

Moving sysinst has been discussed on and off for years and has two
goals: making it easier to work on sysinst, and also making sysinst
available on running systems for use installing chroots and VM images
and other such things. None of the latter is possible yet, but as they
say, one thing at a time.

Doing this now was approved in an impromptu fashion by mrg, riz,
riastradh, me, and groo.
 1.1.6.2 20-Aug-2014  tls Rebase to HEAD as of a few days ago.
 1.1.6.1 26-Jul-2014  tls file menus.md.en was added on branch tls-maxphys on 2014-08-20 00:05:15 +0000
 1.1.2.2 10-Aug-2014  tls Rebase.
 1.1.2.1 26-Jul-2014  tls file menus.md.en was added on branch tls-earlyentropy on 2014-08-10 07:00:26 +0000
 1.1 26-Jul-2014  dholland branches: 1.1.2; 1.1.6;
Move sysinst sources to usr.sbin.

This commit only physically moves the sources - there are no other
changes, to maximize the probability that this will be treated as a
rename if we ever do manage to migrate away from CVS.

Moving sysinst has been discussed on and off for years and has two
goals: making it easier to work on sysinst, and also making sysinst
available on running systems for use installing chroots and VM images
and other such things. None of the latter is possible yet, but as they
say, one thing at a time.

Doing this now was approved in an impromptu fashion by mrg, riz,
riastradh, me, and groo.
 1.1.6.2 20-Aug-2014  tls Rebase to HEAD as of a few days ago.
 1.1.6.1 26-Jul-2014  tls file menus.md.es was added on branch tls-maxphys on 2014-08-20 00:05:15 +0000
 1.1.2.2 10-Aug-2014  tls Rebase.
 1.1.2.1 26-Jul-2014  tls file menus.md.es was added on branch tls-earlyentropy on 2014-08-10 07:00:26 +0000
 1.1 26-Jul-2014  dholland branches: 1.1.2; 1.1.6;
Move sysinst sources to usr.sbin.

This commit only physically moves the sources - there are no other
changes, to maximize the probability that this will be treated as a
rename if we ever do manage to migrate away from CVS.

Moving sysinst has been discussed on and off for years and has two
goals: making it easier to work on sysinst, and also making sysinst
available on running systems for use installing chroots and VM images
and other such things. None of the latter is possible yet, but as they
say, one thing at a time.

Doing this now was approved in an impromptu fashion by mrg, riz,
riastradh, me, and groo.
 1.1.6.2 20-Aug-2014  tls Rebase to HEAD as of a few days ago.
 1.1.6.1 26-Jul-2014  tls file menus.md.fr was added on branch tls-maxphys on 2014-08-20 00:05:15 +0000
 1.1.2.2 10-Aug-2014  tls Rebase.
 1.1.2.1 26-Jul-2014  tls file menus.md.fr was added on branch tls-earlyentropy on 2014-08-10 07:00:26 +0000
 1.1 26-Jul-2014  dholland branches: 1.1.2; 1.1.6;
Move sysinst sources to usr.sbin.

This commit only physically moves the sources - there are no other
changes, to maximize the probability that this will be treated as a
rename if we ever do manage to migrate away from CVS.

Moving sysinst has been discussed on and off for years and has two
goals: making it easier to work on sysinst, and also making sysinst
available on running systems for use installing chroots and VM images
and other such things. None of the latter is possible yet, but as they
say, one thing at a time.

Doing this now was approved in an impromptu fashion by mrg, riz,
riastradh, me, and groo.
 1.1.6.2 20-Aug-2014  tls Rebase to HEAD as of a few days ago.
 1.1.6.1 26-Jul-2014  tls file menus.md.pl was added on branch tls-maxphys on 2014-08-20 00:05:15 +0000
 1.1.2.2 10-Aug-2014  tls Rebase.
 1.1.2.1 26-Jul-2014  tls file menus.md.pl was added on branch tls-earlyentropy on 2014-08-10 07:00:26 +0000
 1.1 26-Jul-2014  dholland branches: 1.1.2; 1.1.6;
Move sysinst sources to usr.sbin.

This commit only physically moves the sources - there are no other
changes, to maximize the probability that this will be treated as a
rename if we ever do manage to migrate away from CVS.

Moving sysinst has been discussed on and off for years and has two
goals: making it easier to work on sysinst, and also making sysinst
available on running systems for use installing chroots and VM images
and other such things. None of the latter is possible yet, but as they
say, one thing at a time.

Doing this now was approved in an impromptu fashion by mrg, riz,
riastradh, me, and groo.
 1.1.6.2 20-Aug-2014  tls Rebase to HEAD as of a few days ago.
 1.1.6.1 26-Jul-2014  tls file msg.md.de was added on branch tls-maxphys on 2014-08-20 00:05:15 +0000
 1.1.2.2 10-Aug-2014  tls Rebase.
 1.1.2.1 26-Jul-2014  tls file msg.md.de was added on branch tls-earlyentropy on 2014-08-10 07:00:26 +0000
 1.1 26-Jul-2014  dholland branches: 1.1.2; 1.1.6;
Move sysinst sources to usr.sbin.

This commit only physically moves the sources - there are no other
changes, to maximize the probability that this will be treated as a
rename if we ever do manage to migrate away from CVS.

Moving sysinst has been discussed on and off for years and has two
goals: making it easier to work on sysinst, and also making sysinst
available on running systems for use installing chroots and VM images
and other such things. None of the latter is possible yet, but as they
say, one thing at a time.

Doing this now was approved in an impromptu fashion by mrg, riz,
riastradh, me, and groo.
 1.1.6.2 20-Aug-2014  tls Rebase to HEAD as of a few days ago.
 1.1.6.1 26-Jul-2014  tls file msg.md.en was added on branch tls-maxphys on 2014-08-20 00:05:15 +0000
 1.1.2.2 10-Aug-2014  tls Rebase.
 1.1.2.1 26-Jul-2014  tls file msg.md.en was added on branch tls-earlyentropy on 2014-08-10 07:00:26 +0000
 1.1 26-Jul-2014  dholland branches: 1.1.2; 1.1.6;
Move sysinst sources to usr.sbin.

This commit only physically moves the sources - there are no other
changes, to maximize the probability that this will be treated as a
rename if we ever do manage to migrate away from CVS.

Moving sysinst has been discussed on and off for years and has two
goals: making it easier to work on sysinst, and also making sysinst
available on running systems for use installing chroots and VM images
and other such things. None of the latter is possible yet, but as they
say, one thing at a time.

Doing this now was approved in an impromptu fashion by mrg, riz,
riastradh, me, and groo.
 1.1.6.2 20-Aug-2014  tls Rebase to HEAD as of a few days ago.
 1.1.6.1 26-Jul-2014  tls file msg.md.es was added on branch tls-maxphys on 2014-08-20 00:05:15 +0000
 1.1.2.2 10-Aug-2014  tls Rebase.
 1.1.2.1 26-Jul-2014  tls file msg.md.es was added on branch tls-earlyentropy on 2014-08-10 07:00:26 +0000
 1.1 26-Jul-2014  dholland branches: 1.1.2; 1.1.6;
Move sysinst sources to usr.sbin.

This commit only physically moves the sources - there are no other
changes, to maximize the probability that this will be treated as a
rename if we ever do manage to migrate away from CVS.

Moving sysinst has been discussed on and off for years and has two
goals: making it easier to work on sysinst, and also making sysinst
available on running systems for use installing chroots and VM images
and other such things. None of the latter is possible yet, but as they
say, one thing at a time.

Doing this now was approved in an impromptu fashion by mrg, riz,
riastradh, me, and groo.
 1.1.6.2 20-Aug-2014  tls Rebase to HEAD as of a few days ago.
 1.1.6.1 26-Jul-2014  tls file msg.md.fr was added on branch tls-maxphys on 2014-08-20 00:05:15 +0000
 1.1.2.2 10-Aug-2014  tls Rebase.
 1.1.2.1 26-Jul-2014  tls file msg.md.fr was added on branch tls-earlyentropy on 2014-08-10 07:00:26 +0000
 1.1 26-Jul-2014  dholland branches: 1.1.2; 1.1.6;
Move sysinst sources to usr.sbin.

This commit only physically moves the sources - there are no other
changes, to maximize the probability that this will be treated as a
rename if we ever do manage to migrate away from CVS.

Moving sysinst has been discussed on and off for years and has two
goals: making it easier to work on sysinst, and also making sysinst
available on running systems for use installing chroots and VM images
and other such things. None of the latter is possible yet, but as they
say, one thing at a time.

Doing this now was approved in an impromptu fashion by mrg, riz,
riastradh, me, and groo.
 1.1.6.2 20-Aug-2014  tls Rebase to HEAD as of a few days ago.
 1.1.6.1 26-Jul-2014  tls file msg.md.pl was added on branch tls-maxphys on 2014-08-20 00:05:15 +0000
 1.1.2.2 10-Aug-2014  tls Rebase.
 1.1.2.1 26-Jul-2014  tls file msg.md.pl was added on branch tls-earlyentropy on 2014-08-10 07:00:26 +0000
 1.2 12-Jun-2019  martin Rework internal data structures and "interfaces to user interface" functions
to get rid of all disklabel assumptions.

Previously (even for GPT partitioning) struct disklabel was used, which
obviously breaks large disk setups. Also many MD parts and parts of the
user interface assumed (a) a struct disklabel is used internally to
store partitioning information and (b) partitions are named 'a' ... $MAXPART.

Get rid of this and replace it with a quite abstract interface that should
be able to deal with all variants in partition storage:

- partitions are stored in a (partly abstract) struct disk_partitions
and most parts of it are only accessed via accessor functions provided
by a "partitioning scheme".

- implement partitioning schemes for MBR, disklabel and GPT (with likely
RDB [amiga] and Apple Partition Map [mac*] to follow soon)

- partitioning schemes may be cascaded, e.g. on x86 when using MBR as
"outer partitions", we have disklabel as "inner partitions".

- all user interface goes via accessor functions in the partitioning scheme,
some of which return pointers to special user interface descriptors
(e.g. to allow editing partition flags, which are scheme specific)

Overall the user interface changes (in this initial step) are minimal but
noticable. A new Anita is needed for automatic test setups - many thanks
to Andreas Gustafsson for lots of early testing and a new Anita version,
and to Manuel Bouyer for cooperation and tests of the Anita release.

This work was sponsored by The NetBSD Foundation, Inc.
 1.1 26-Jul-2014  dholland branches: 1.1.2; 1.1.6; 1.1.28;
Move sysinst sources to usr.sbin.

This commit only physically moves the sources - there are no other
changes, to maximize the probability that this will be treated as a
rename if we ever do manage to migrate away from CVS.

Moving sysinst has been discussed on and off for years and has two
goals: making it easier to work on sysinst, and also making sysinst
available on running systems for use installing chroots and VM images
and other such things. None of the latter is possible yet, but as they
say, one thing at a time.

Doing this now was approved in an impromptu fashion by mrg, riz,
riastradh, me, and groo.
 1.1.28.1 13-Apr-2020  martin Mostly merge changes from HEAD upto 20200411
 1.1.6.2 20-Aug-2014  tls Rebase to HEAD as of a few days ago.
 1.1.6.1 26-Jul-2014  tls file Makefile was added on branch tls-maxphys on 2014-08-20 00:05:15 +0000
 1.1.2.2 10-Aug-2014  tls Rebase.
 1.1.2.1 26-Jul-2014  tls file Makefile was added on branch tls-earlyentropy on 2014-08-10 07:00:26 +0000
 1.10 29-Jan-2022  martin When upgrading, update the boot code post extraction from
the updated target file system.
 1.9 12-Oct-2020  martin PR 55536: when we find existing partition tables and have alternative
formats available, offer to delete partitions and create new ones from
scratch (in some other or the same on-disk format).
 1.8 27-Jan-2020  martin Fix support for non-512-byte/sector disks again after I broke it when
introducing the abstract partition backends.
 1.7 09-Jan-2020  martin Finish conversion of extended partitioning parts to new abstract
backend interface. XXX still could use a lot of polishing.
 1.6 14-Aug-2019  martin When we ask the user to select a partitioning scheme and they refuse
(that is: select "Exit" in the menu), abort installation.
 1.5 13-Jul-2019  martin branches: 1.5.2;
We may call md_pre_mount() multiple times for the same install set,
so pass an additional index argument so MD code knows which part
of the install will be mounted next.
 1.4 13-Jun-2019  martin In the new world order disks may come without any partitioning scheme
attached - so the user may have to select one.
 1.3 12-Jun-2019  martin Rework internal data structures and "interfaces to user interface" functions
to get rid of all disklabel assumptions.

Previously (even for GPT partitioning) struct disklabel was used, which
obviously breaks large disk setups. Also many MD parts and parts of the
user interface assumed (a) a struct disklabel is used internally to
store partitioning information and (b) partitions are named 'a' ... $MAXPART.

Get rid of this and replace it with a quite abstract interface that should
be able to deal with all variants in partition storage:

- partitions are stored in a (partly abstract) struct disk_partitions
and most parts of it are only accessed via accessor functions provided
by a "partitioning scheme".

- implement partitioning schemes for MBR, disklabel and GPT (with likely
RDB [amiga] and Apple Partition Map [mac*] to follow soon)

- partitioning schemes may be cascaded, e.g. on x86 when using MBR as
"outer partitions", we have disklabel as "inner partitions".

- all user interface goes via accessor functions in the partitioning scheme,
some of which return pointers to special user interface descriptors
(e.g. to allow editing partition flags, which are scheme specific)

Overall the user interface changes (in this initial step) are minimal but
noticable. A new Anita is needed for automatic test setups - many thanks
to Andreas Gustafsson for lots of early testing and a new Anita version,
and to Manuel Bouyer for cooperation and tests of the Anita release.

This work was sponsored by The NetBSD Foundation, Inc.
 1.2 03-Aug-2014  martin branches: 1.2.2; 1.2.6; 1.2.28;
(Finally) merge a slightly modified version of the 2012 GSoC results
from Eugene Lozovoy: add extended partitioning options to sysinst.
Still needs some testing and polishing, but it now is possible to use GPT
or to create a RAID set from scratch and install onto it.
 1.1 26-Jul-2014  dholland Move sysinst sources to usr.sbin.

This commit only physically moves the sources - there are no other
changes, to maximize the probability that this will be treated as a
rename if we ever do manage to migrate away from CVS.

Moving sysinst has been discussed on and off for years and has two
goals: making it easier to work on sysinst, and also making sysinst
available on running systems for use installing chroots and VM images
and other such things. None of the latter is possible yet, but as they
say, one thing at a time.

Doing this now was approved in an impromptu fashion by mrg, riz,
riastradh, me, and groo.
 1.2.28.1 13-Apr-2020  martin Mostly merge changes from HEAD upto 20200411
 1.2.6.2 20-Aug-2014  tls Rebase to HEAD as of a few days ago.
 1.2.6.1 03-Aug-2014  tls file md.c was added on branch tls-maxphys on 2014-08-20 00:05:15 +0000
 1.2.2.2 10-Aug-2014  tls Rebase.
 1.2.2.1 03-Aug-2014  tls file md.c was added on branch tls-earlyentropy on 2014-08-10 07:00:26 +0000
 1.5.2.4 02-Feb-2022  msaitoh Pull up following revision(s) (requested by martin in ticket #1422):
usr.sbin/sysinst/util.c: revision 1.64
usr.sbin/sysinst/arch/hpcsh/md.c: revision 1.11
usr.sbin/sysinst/arch/alpha/md.c: revision 1.10
usr.sbin/sysinst/arch/sparc64/md.c: revision 1.7
usr.sbin/sysinst/arch/emips/md.c: revision 1.10
usr.sbin/sysinst/arch/cobalt/md.c: revision 1.15
usr.sbin/sysinst/arch/x68k/md.c: revision 1.12
usr.sbin/sysinst/arch/sandpoint/md.c: revision 1.10
usr.sbin/sysinst/arch/luna68k/md.c: revision 1.10
usr.sbin/sysinst/arch/hp300/md.c: revision 1.12
usr.sbin/sysinst/arch/vax/md.c: revision 1.8
usr.sbin/sysinst/arch/hpcmips/md.c: revision 1.10
usr.sbin/sysinst/target.c: revision 1.16
usr.sbin/sysinst/arch/mvme68k/md.c: revision 1.12
usr.sbin/sysinst/arch/arc/md.c: revision 1.14
usr.sbin/sysinst/target.c: revision 1.17
usr.sbin/sysinst/arch/i386/md.c: revision 1.34
usr.sbin/sysinst/arch/mac68k/md.c: revision 1.11
usr.sbin/sysinst/arch/atari/md.c: revision 1.8
usr.sbin/sysinst/arch/sgimips/md.c: revision 1.10
usr.sbin/sysinst/arch/acorn32/md.c: revision 1.8
usr.sbin/sysinst/install.c: revision 1.22
usr.sbin/sysinst/arch/amiga/md.c: revision 1.7
usr.sbin/sysinst/arch/cats/md.c: revision 1.6
usr.sbin/sysinst/arch/dummy/md.c: revision 1.7
usr.sbin/sysinst/arch/shark/md.c: revision 1.7
usr.sbin/sysinst/arch/pmax/md.c: revision 1.9
usr.sbin/sysinst/arch/newsmips/md.c: revision 1.7
usr.sbin/sysinst/arch/mipsco/md.c: revision 1.9
usr.sbin/sysinst/arch/landisk/md.c: revision 1.15
usr.sbin/sysinst/arch/hppa/md.c: revision 1.9
usr.sbin/sysinst/arch/prep/md.c: revision 1.14
usr.sbin/sysinst/defs.h: revision 1.77
usr.sbin/sysinst/arch/ofppc/md.c: revision 1.13
usr.sbin/sysinst/arch/ews4800mips/md.c: revision 1.8
usr.sbin/sysinst/defs.h: revision 1.78
usr.sbin/sysinst/arch/macppc/md.c: revision 1.7
usr.sbin/sysinst/arch/evbppc/md.c: revision 1.10
usr.sbin/sysinst/defs.h: revision 1.79
usr.sbin/sysinst/gpt.c: revision 1.27
usr.sbin/sysinst/arch/bebox/md.c: revision 1.10
usr.sbin/sysinst/gpt.c: revision 1.28
usr.sbin/sysinst/arch/sparc/md.c: revision 1.7
usr.sbin/sysinst/arch/evbsh3/md.c: revision 1.7
usr.sbin/sysinst/arch/evbarm/md.c: revision 1.22
usr.sbin/sysinst/arch/news68k/md.c: revision 1.8
usr.sbin/sysinst/upgrade.c: revision 1.19
usr.sbin/sysinst/arch/zaurus/md.c: revision 1.12
usr.sbin/sysinst/arch/playstation2/md.c: revision 1.10
usr.sbin/sysinst/arch/hpcarm/md.c: revision 1.11
usr.sbin/sysinst/arch/evbmips/md.c: revision 1.10
usr.sbin/sysinst/main.c: revision 1.28
Add an option to set the directory where we look for message catalogs.
Try to get rid of all wedges we created (after unmounting).
When upgrading, update the boot code post extraction from
the updated target file system.
Do not defer wedge deletions when we have nothing mounted.
Define and use a constant for maximum disk name length.
 1.5.2.3 15-Oct-2020  bouyer Pull up following revision(s) (requested by martin in ticket #1113):
usr.sbin/sysinst/bsddisklabel.c: revision 1.46
usr.sbin/sysinst/bsddisklabel.c: revision 1.47
usr.sbin/sysinst/disklabel.c: revision 1.40
usr.sbin/sysinst/arch/cobalt/md.c: revision 1.13
usr.sbin/sysinst/bsddisklabel.c: revision 1.48
usr.sbin/sysinst/disklabel.c: revision 1.41
usr.sbin/sysinst/arch/cobalt/md.c: revision 1.14
usr.sbin/sysinst/bsddisklabel.c: revision 1.49
usr.sbin/sysinst/disklabel.c: revision 1.42
usr.sbin/sysinst/Makefile.inc: revision 1.34
usr.sbin/sysinst/disks.c: revision 1.70
usr.sbin/sysinst/arch/hp300/md.c: revision 1.11
usr.sbin/sysinst/disks.c: revision 1.71
usr.sbin/sysinst/arch/i386/md.h: revision 1.8
usr.sbin/sysinst/arch/arc/md.c: revision 1.13
usr.sbin/sysinst/mbr.h: revision 1.5
usr.sbin/sysinst/mbr.h: revision 1.6
usr.sbin/sysinst/arch/mac68k/md.c: revision 1.10
usr.sbin/sysinst/bsddisklabel.c: revision 1.50
usr.sbin/sysinst/arch/acorn32/md.c: revision 1.7
usr.sbin/sysinst/bsddisklabel.c: revision 1.51
usr.sbin/sysinst/bsddisklabel.c: revision 1.52
usr.sbin/sysinst/bsddisklabel.c: revision 1.53
usr.sbin/sysinst/bsddisklabel.c: revision 1.54
usr.sbin/sysinst/bsddisklabel.c: revision 1.55
usr.sbin/sysinst/bsddisklabel.c: revision 1.56
usr.sbin/sysinst/arch/dummy/md.c: revision 1.6
usr.sbin/sysinst/arch/amd64/md.h: revision 1.9
usr.sbin/sysinst/arch/evbsh3/md.c: revision 1.6
usr.sbin/sysinst/arch/sparc/md.c: revision 1.6
usr.sbin/sysinst/arch/zaurus/md.c: revision 1.10
usr.sbin/sysinst/arch/x68k/md.c: revision 1.11
usr.sbin/sysinst/arch/sandpoint/md.c: revision 1.9
usr.sbin/sysinst/arch/vax/md.c: revision 1.7
usr.sbin/sysinst/arch/luna68k/md.c: revision 1.9
usr.sbin/sysinst/gpt.c: revision 1.19
usr.sbin/sysinst/arch/i386/md.c: revision 1.31
usr.sbin/sysinst/arch/i386/md.c: revision 1.32
usr.sbin/sysinst/arch/evbarm/md.c: revision 1.17
usr.sbin/sysinst/arch/evbarm/md.c: revision 1.18
usr.sbin/sysinst/arch/evbarm/md.c: revision 1.19
usr.sbin/sysinst/arch/shark/md.c: revision 1.6
usr.sbin/sysinst/arch/landisk/md.c: revision 1.14
usr.sbin/sysinst/util.c: revision 1.43
usr.sbin/sysinst/gpt.c: revision 1.20
usr.sbin/sysinst/util.c: revision 1.44
usr.sbin/sysinst/gpt.c: revision 1.21
usr.sbin/sysinst/gpt.c: revision 1.22
usr.sbin/sysinst/arch/evbarm/msg.md.en: revision 1.2
usr.sbin/sysinst/arch/ofppc/md.c: revision 1.11
usr.sbin/sysinst/util.c: revision 1.46
usr.sbin/sysinst/arch/ofppc/md.c: revision 1.12
usr.sbin/sysinst/util.c: revision 1.47
usr.sbin/sysinst/arch/evbarm/md.h: revision 1.6
usr.sbin/sysinst/util.c: revision 1.48
usr.sbin/sysinst/arch/evbarm/md.h: revision 1.7
usr.sbin/sysinst/arch/evbmips/md.c: revision 1.9
usr.sbin/sysinst/msg.mi.fr: revision 1.28
usr.sbin/sysinst/msg.mi.fr: revision 1.29
usr.sbin/sysinst/arch/sgimips/md.c: revision 1.9
usr.sbin/sysinst/arch/evbarm/Makefile: revision 1.3
usr.sbin/sysinst/msg.mi.de: revision 1.23
usr.sbin/sysinst/arch/hpcsh/md.c: revision 1.10
usr.sbin/sysinst/msg.mi.de: revision 1.24
usr.sbin/sysinst/install.c: revision 1.15
usr.sbin/sysinst/install.c: revision 1.16
usr.sbin/sysinst/arch/sparc64/md.c: revision 1.6
usr.sbin/sysinst/install.c: revision 1.17
usr.sbin/sysinst/install.c: revision 1.18
usr.sbin/sysinst/partitions.h: revision 1.16
usr.sbin/sysinst/install.c: revision 1.19
usr.sbin/sysinst/partitions.h: revision 1.17
usr.sbin/sysinst/arch/evbppc/md.c: revision 1.9
usr.sbin/sysinst/arch/playstation2/md.c: revision 1.9
usr.sbin/sysinst/partitions.h: revision 1.18
usr.sbin/sysinst/arch/hpcarm/md.c: revision 1.9
usr.sbin/sysinst/partitions.h: revision 1.19
usr.sbin/sysinst/msg.mi.es: revision 1.24
usr.sbin/sysinst/msg.mi.es: revision 1.25
usr.sbin/sysinst/msg.mi.es: revision 1.26
usr.sbin/sysinst/arch/zaurus/md.c: revision 1.9
usr.sbin/sysinst/target.c: revision 1.13
usr.sbin/sysinst/target.c: revision 1.14
usr.sbin/sysinst/part_edit.c: revision 1.17
usr.sbin/sysinst/part_edit.c: revision 1.18
usr.sbin/sysinst/msg.mi.fr: revision 1.30
usr.sbin/sysinst/arch/mvme68k/md.c: revision 1.11
usr.sbin/sysinst/part_edit.c: revision 1.19
usr.sbin/sysinst/msg.mi.fr: revision 1.31
usr.sbin/sysinst/arch/alpha/md.c: revision 1.9
usr.sbin/sysinst/msg.mi.en: revision 1.30
usr.sbin/sysinst/defs.h: revision 1.56
usr.sbin/sysinst/msg.mi.en: revision 1.31
usr.sbin/sysinst/defs.h: revision 1.57
usr.sbin/sysinst/msg.mi.en: revision 1.32
usr.sbin/sysinst/arch/amiga/md.c: revision 1.6
usr.sbin/sysinst/arch/hpcmips/md.c: revision 1.9
usr.sbin/sysinst/defs.h: revision 1.58
usr.sbin/sysinst/arch/cats/md.c: revision 1.5
usr.sbin/sysinst/defs.h: revision 1.59
usr.sbin/sysinst/arch/newsmips/md.c: revision 1.6
usr.sbin/sysinst/arch/pmax/md.c: revision 1.8
usr.sbin/sysinst/arch/mipsco/md.c: revision 1.8
usr.sbin/sysinst/part_edit.c: revision 1.20
usr.sbin/sysinst/part_edit.c: revision 1.21
usr.sbin/sysinst/arch/macppc/md.c: revision 1.6
usr.sbin/sysinst/part_edit.c: revision 1.22
usr.sbin/sysinst/part_edit.c: revision 1.23
usr.sbin/sysinst/part_edit.c: revision 1.24
usr.sbin/sysinst/defs.h: revision 1.60
usr.sbin/sysinst/arch/mac68k/Makefile: revision 1.3
usr.sbin/sysinst/defs.h: revision 1.61
usr.sbin/sysinst/defs.h: revision 1.63
usr.sbin/sysinst/defs.h: revision 1.64
usr.sbin/sysinst/defs.h: revision 1.65
usr.sbin/sysinst/label.c: revision 1.21
usr.sbin/sysinst/defs.h: revision 1.66
usr.sbin/sysinst/label.c: revision 1.22
usr.sbin/sysinst/defs.h: revision 1.67
usr.sbin/sysinst/label.c: revision 1.23
usr.sbin/sysinst/label.c: revision 1.24
usr.sbin/sysinst/label.c: revision 1.25
usr.sbin/sysinst/label.c: revision 1.26
usr.sbin/sysinst/label.c: revision 1.27
usr.sbin/sysinst/msg.mi.pl: revision 1.31
usr.sbin/sysinst/label.c: revision 1.28
usr.sbin/sysinst/msg.mi.pl: revision 1.32
usr.sbin/sysinst/label.c: revision 1.29
usr.sbin/sysinst/arch/atari/md.c: revision 1.7
usr.sbin/sysinst/disklabel.c: revision 1.36
usr.sbin/sysinst/disklabel.c: revision 1.37
usr.sbin/sysinst/disklabel.c: revision 1.38
usr.sbin/sysinst/disklabel.c: revision 1.39
usr.sbin/sysinst/arch/bebox/md.c: revision 1.9
usr.sbin/sysinst/mbr.c: revision 1.32
usr.sbin/sysinst/disks.c: revision 1.66
usr.sbin/sysinst/mbr.c: revision 1.33
usr.sbin/sysinst/disks.c: revision 1.67
usr.sbin/sysinst/mbr.c: revision 1.34
usr.sbin/sysinst/arch/emips/md.c: revision 1.9
usr.sbin/sysinst/disks.c: revision 1.68
usr.sbin/sysinst/partitions.c: revision 1.11
usr.sbin/sysinst/mbr.c: revision 1.35
usr.sbin/sysinst/disks.c: revision 1.69
usr.sbin/sysinst/mbr.c: revision 1.36
usr.sbin/sysinst/arch/hppa/md.c: revision 1.8
usr.sbin/sysinst/arch/prep/md.c: revision 1.13
usr.sbin/sysinst/label.c: revision 1.30
usr.sbin/sysinst/arch/ews4800mips/md.c: revision 1.7
usr.sbin/sysinst/main.c: revision 1.21
usr.sbin/sysinst/main.c: revision 1.22
usr.sbin/sysinst/main.c: revision 1.23
usr.sbin/sysinst/bsddisklabel.c: revision 1.40
usr.sbin/sysinst/main.c: revision 1.24
usr.sbin/sysinst/arch/cobalt/md.h: revision 1.6
usr.sbin/sysinst/bsddisklabel.c: revision 1.41
usr.sbin/sysinst/main.c: revision 1.25
usr.sbin/sysinst/arch/news68k/md.c: revision 1.7
usr.sbin/sysinst/bsddisklabel.c: revision 1.42
usr.sbin/sysinst/bsddisklabel.c: revision 1.43
usr.sbin/sysinst/bsddisklabel.c: revision 1.44
usr.sbin/sysinst/bsddisklabel.c: revision 1.45
Use strlcpy in a few places to guarnatee 0-terminated strings
Rever previous: the d_packname in struct disklabel is not NUL terminated.
Disable the warning instead.
Do not force -Os optimization (unless SMALLPROG)
Remove unused "rel" global variable and make the -r option a no-op.
PR 55045: strlcpy(NULL, ..., 0) considered harmfull in some implementations.
PR misc/54886: bump threshold for automatic/default creation of a tmpfs /tmp
up slightly (to 384 MB ram). This will make sure the default install has
a > 64 MB /tmp available (number pulled out of thin air, 64 MB is the minimum
required by the ZFS tests).
Don't depend on common symbol definitions.
boardype should not be common.
Redo the root-size-limit check again after we grew the root partition
for kernel dumps. Auto-enable the /usr partition if it overflows.
For all non-root partitions, default to FFSv2.
When extending a partition (to fill the total disk size) do respect
size limits.
Do not suggest a size limited partition for extension by default.
Minor tweak to previous: when forcing a /usr partition just to have an
arbitrary extendable partition, still use its default size initially.
At the end of a new installation save entropy.
Ooops, backout previous - twice the entropy saving is not needed.
Instead slightly improve the (slightly) hidden other code that already
did it.
PR 55202: disable swapping if we started it due to low ram
it's "its"
Remove "If you booted from a floppy" message
Set HAVE_INSTALL_IMAGE for evbarm
Change mountpoint of boot ext2fs from /stand to /ext2 to avoid conflict.
Should be pulled up to netbsd-9, with fixes of PR/55060.
MBR type for Ext2 should be MBR_PTYPE_LNXEXT2, not MBR_PTYPE_FAT12.
Silence -Wstringop-truncation for ``name'' in disp_selected_part().
This variable is used only for display, and truncation seems harmless.
PR 55572: avoid crash when answering the mount point prompt for a previously
empty mount point with an emptry sting.
When adding a new partition in the concrete partition editor, make sure
to set a pointer to the partition table interface in the new entry.
Otherwise we may end up not writing back the partitions at all, leading
to further fallout later.
Receipe to reproduce the issue from Frederic Fauberteau, thanks!
In the concrete partitions editor, after deleting the last partition move
the menu selection to the "add a partition" entry (instead of the sentinel
line which is not an active menu entry).
Typo in comment
Keep a list of all partition tables from which we have deleted partitions
and make sure we update those partition tables when writing partitions,
even if no install related partition remains on them.
Fix display of timezone selection menu
If there is no current partitioning manager assume we are editing the
current system and make target_already_root() return true.
Fixes various fallout when using sysinst post installation.
PR 55377: mark boot partitions in the partition size display, as suggested
by Izumi Tsutsui (minor modifications + all bugs by me)
PR 55378: do not assume RAW_PART to be either 2 or 3
PR 55379: avoid creating bogus /etc/fstab lines for /dev/cd* if no
cdrom is available.
PR 55381: try to deal with moved (but not yet saved) partitions when
calculating free space
Apply patch provided by Izumi Tsutsui in PR 55382: make ext2 partitions
show up in the outer (MBR) partition table, needed for example on Cobalt
where firmware boots from that partition.
PR 55384: detangle pm->ptstart from the "install" flag (selecting a
target partition). Instead introduce a new PTI_INSTALL_TARGET per partition
flag and deal with it in the partitioning backends.
Honour pm->ptstart when allocating new partitions - it is supposed to be
the first sector usable by NetBSD.
If we have no explicitly marke target root partition, make sure to set
the proper flag on the implicit one.
When merging existing partitions with desired target system layout
information, only force the "mount" flag if the existing partitions
has a valid mount point.
Add a heuristic to detect and properly mark EFI system partitions
when re-using pre-existing partitions.
When MD code requests a reserved area (at the start of the disk)
make sure to properly account for the "lost" space during all calculations
and especially when expanding the main partition to fill the disk.
Avoid using the global "pm" or a passed device descriptons when we are
passing disk limits explicitly anyway.
Simplify/fix a few rounding calculations.
When creating new partitions for "full disk" use, pass a install target
hint to the partitioning backend (for the outer NetBSD partition).
Use an install target hint to mark a new partition active.
When compiled with BOOTSEL support, also name the new partition "NetBSD".
Remove more pm->ptstart abuse - calculate values localy where needed
instead.
Fix editing start and size of not yet existing outer partitions.
Previously we abused pm->ptstart / pm->ptsize to pass the bounds of the
NetBSD outer partition to the inner partition editor - but now this is
not a valid assumption any more, so explicitly fix the bounds if an
outer partition exists.
Remove very strange code that special-cased MSDOS file systems and refused
to newfs the partition (despite explicit request to do so) if it was
mountable.
Accidently carried over from a dim and distant past, before we had
fsck_newfs.
PR 55536: when we find existing partition tables and have alternative
formats available, offer to delete partitions and create new ones from
scratch (in some other or the same on-disk format).
Minor fix to previous: fix condition when we offer the partition type
switch - it makes sense even if the disk is partitioned but has no valid
partitions.
Before forcing MBR partitions into our disklabel, make sure they are not
there yet - could happen in various paths when reusing existing partitions
(or parts of that) - previously we would blindly duplicate identical
partitions.
Ooops, part of previous was not meant to be included yet
When renumbering partitions (after deletions) be slightly more lax
in matching, to cope with differences between MBR EFI partitions and
disklabel MSDOS partitions.
PR 55142: on popular demand bring back expert options to adjust the
number of free inodes, block size and fragment size for FFS and LFS.
Fix copy & pasto noticed by Jason Mitchell: change the type of a GPT
partition via "gpt type" - not "gpt label".
Fix copy & pasto (missing "again" label)
Remove dead code
Move MBR writing (if any) post disklabel writing, otherwise strange
interactions happen.
Properly convert partition default sizes in MB to number of sectors
 1.5.2.2 28-Jan-2020  msaitoh Pull up following revision(s) (requested by martin in ticket #668):
usr.sbin/sysinst/arch/cobalt/md.c: revision 1.11
usr.sbin/sysinst/arch/cobalt/md.c: revision 1.12
usr.sbin/sysinst/arch/arc/md.c: revision 1.11
usr.sbin/sysinst/arch/arc/md.c: revision 1.12
usr.sbin/sysinst/partman.c: revision 1.43
usr.sbin/sysinst/partman.c: revision 1.46
usr.sbin/sysinst/partman.c: revision 1.47
usr.sbin/sysinst/partman.c: revision 1.48
usr.sbin/sysinst/partman.c: revision 1.49
usr.sbin/sysinst/msg.pm.fr: revision 1.2
usr.sbin/sysinst/upgrade.c: revision 1.14
usr.sbin/sysinst/arch/i386/md.c: revision 1.28
usr.sbin/sysinst/arch/i386/md.c: revision 1.29
usr.sbin/sysinst/arch/ofppc/md.c: revision 1.9
usr.sbin/sysinst/arch/sandpoint/md.c: revision 1.7
usr.sbin/sysinst/arch/sandpoint/md.c: revision 1.8
usr.sbin/sysinst/gpt.c: revision 1.14
usr.sbin/sysinst/gpt.c: revision 1.15
usr.sbin/sysinst/arch/luna68k/md.c: revision 1.8
usr.sbin/sysinst/gpt.c: revision 1.16
usr.sbin/sysinst/msg.pm.de: revision 1.2
usr.sbin/sysinst/arch/evbarm/md.c: revision 1.11
usr.sbin/sysinst/arch/evbarm/md.c: revision 1.12
usr.sbin/sysinst/arch/evbarm/md.c: revision 1.13
usr.sbin/sysinst/arch/evbarm/md.c: revision 1.14
usr.sbin/sysinst/sizemultname.c: revision 1.4
usr.sbin/sysinst/msg.pm.en: revision 1.2
usr.sbin/sysinst/arch/landisk/md.c: revision 1.12
usr.sbin/sysinst/util.c: revision 1.41
usr.sbin/sysinst/arch/landisk/md.c: revision 1.13
usr.sbin/sysinst/util.c: revision 1.42
usr.sbin/sysinst/arch/ofppc/md.c: revision 1.10
usr.sbin/sysinst/partitions.c: revision 1.9
usr.sbin/sysinst/arch/evbarm/md.h: revision 1.4
usr.sbin/sysinst/arch/evbarm/md.h: revision 1.5
usr.sbin/sysinst/arch/evbmips/md.c: revision 1.7
usr.sbin/sysinst/arch/evbmips/md.c: revision 1.8
usr.sbin/sysinst/msg.mi.fr: revision 1.25
usr.sbin/sysinst/msg.mi.de: revision 1.20
usr.sbin/sysinst/install.c: revision 1.14
usr.sbin/sysinst/partitions.h: revision 1.13
usr.sbin/sysinst/partitions.h: revision 1.14
usr.sbin/sysinst/arch/evbppc/md.c: revision 1.7
usr.sbin/sysinst/arch/playstation2/md.c: revision 1.7
usr.sbin/sysinst/msg.mi.en: revision 1.27
usr.sbin/sysinst/partitions.h: revision 1.15
usr.sbin/sysinst/arch/evbppc/md.c: revision 1.8
usr.sbin/sysinst/arch/hpcarm/md.c: revision 1.7
usr.sbin/sysinst/arch/playstation2/md.c: revision 1.8
usr.sbin/sysinst/msg.pm.pl: revision 1.2
usr.sbin/sysinst/arch/hpcarm/md.c: revision 1.8
usr.sbin/sysinst/msg.mi.es: revision 1.21
usr.sbin/sysinst/arch/zaurus/md.c: revision 1.7
usr.sbin/sysinst/target.c: revision 1.11
usr.sbin/sysinst/arch/zaurus/md.c: revision 1.8
usr.sbin/sysinst/part_edit.c: revision 1.14
usr.sbin/sysinst/part_edit.c: revision 1.15
usr.sbin/sysinst/part_edit.c: revision 1.16
usr.sbin/sysinst/defs.h: revision 1.50
usr.sbin/sysinst/defs.h: revision 1.51
usr.sbin/sysinst/defs.h: revision 1.52
usr.sbin/sysinst/defs.h: revision 1.53
usr.sbin/sysinst/defs.h: revision 1.54
usr.sbin/sysinst/arch/hpcmips/md.c: revision 1.7
usr.sbin/sysinst/arch/hpcmips/md.c: revision 1.8
usr.sbin/sysinst/arch/hpcsh/md.c: revision 1.8
usr.sbin/sysinst/msg.pm.es: revision 1.2
usr.sbin/sysinst/arch/hpcsh/md.c: revision 1.9
usr.sbin/sysinst/label.c: revision 1.18
usr.sbin/sysinst/label.c: revision 1.19
usr.sbin/sysinst/net.c: revision 1.35
usr.sbin/sysinst/msg.mi.pl: revision 1.28
usr.sbin/sysinst/disklabel.c: revision 1.28
usr.sbin/sysinst/disklabel.c: revision 1.29
usr.sbin/sysinst/mbr.c: revision 1.24
usr.sbin/sysinst/disks.c: revision 1.59
usr.sbin/sysinst/mbr.c: revision 1.25
usr.sbin/sysinst/mbr.c: revision 1.26
usr.sbin/sysinst/mbr.c: revision 1.27
usr.sbin/sysinst/mbr.c: revision 1.28
usr.sbin/sysinst/label.c: revision 1.20
usr.sbin/sysinst/mbr.c: revision 1.29
usr.sbin/sysinst/bsddisklabel.c: revision 1.34
usr.sbin/sysinst/bsddisklabel.c: revision 1.35
usr.sbin/sysinst/bsddisklabel.c: revision 1.36
usr.sbin/sysinst/bsddisklabel.c: revision 1.37
usr.sbin/sysinst/disklabel.c: revision 1.30
usr.sbin/sysinst/bsddisklabel.c: revision 1.38
usr.sbin/sysinst/disklabel.c: revision 1.31
usr.sbin/sysinst/disklabel.c: revision 1.32
usr.sbin/sysinst/disklabel.c: revision 1.33
usr.sbin/sysinst/disklabel.c: revision 1.34
usr.sbin/sysinst/disks.c: revision 1.60
usr.sbin/sysinst/disks.c: revision 1.61
usr.sbin/sysinst/arch/bebox/md.c: revision 1.7
usr.sbin/sysinst/disks.c: revision 1.62
usr.sbin/sysinst/arch/bebox/md.c: revision 1.8
usr.sbin/sysinst/mbr.c: revision 1.30
usr.sbin/sysinst/partitions.c: revision 1.10
usr.sbin/sysinst/arch/prep/md.c: revision 1.11
usr.sbin/sysinst/arch/prep/md.c: revision 1.12
usr.sbin/sysinst/menus.pm: revision 1.3
usr.sbin/sysinst/main.c: revision 1.20
usr.sbin/sysinst/menus.mi: revision 1.20
usr.sbin/sysinst/menus.mi: revision 1.21
avoid calling snprintf/strlcat with an input parameter the same
as the output. from martin@. fixes gcc 8 restrict warnings.
Finish conversion of extended partitioning parts to new abstract
backend interface. XXX still could use a lot of polishing.
Instead of a (bogus) attempt to query the model via ofctl, use the (now
fixed) sysctl hw.model instead.
When reading the secondary disklabel partitions from an existing disklabel
set the mbr partitions as parent.
Move the LABELSECTOR check and make it FS type specific - some partition
types (FFS, RAID) are allowed to overlap with the LABELSECTOR.
When asked to create a whole-disk partition for unknown usage, do not only
assert(false), but actually return an error (in case "assert" is a nop).
PR install/54787: when trying to derive proper alignement and first offset
from exisiting partitions, use the first partition offset if it is already
closer to the start of the disk than the prefered alignment - we can not
move existing partitions around.
Fix handling of inner/outer partitions (e.g. MBR and disklabel) in
extended partitioning:
- when editing a disk with such a schme, offer both partitions in two
steps
- when commiting changes save the inner partitions after the outer ones
Add a method to query the partitioning schemes "internal idea" of a
cylinder size - whatever that means in the real world.
Avoid using the global "pm" variable in utility functions - during
extended partitioning they may point to a different device.
Remove useless calls to get_ramsize() - return value is ignored and
the function has no side effects.
Fix /tmp tmpfs handling and on machines with enough RAM default to
creating a /tmp tmpfs with 25% of ram size limit. Suggested by ad@.
PR install/54872: fix printf argument order, sectors and heads were
swapped in the bios geometry display.
First try to bring evbarm installation closer to current reality.
hide disklabel_non_bootable() under NO_DISKLABEL_BOOT like the usage.
should fix most builds.
Deal with even stranger fictious empty disklabels (PR kern/54882).
Factor out all RAM size thresholds as defines to avoid magic numbers.
To work around PR misc/54886 bump the threshold for a tmpfs /tmp mount
up to 256 MB.
When retrying sets during extraction, reset the relevant statistics
to avoid counting retried sets multiple times.
Reported by kim.
Fix support for non-512-byte/sector disks again after I broke it when
introducing the abstract partition backends.
Use a few strlcpy() instead of strncpy() for network ioctl structs.
We seem to have no formal documentation stating the various
char if*_name[IFNAMSIZ]; /* if name, e.g. "en0" */
elements in ioctls are nul terminated, but the peanut gallery claims
it is so - and at least half of the code in-tree touching them agrees.
Too much disklabel magic happening in the kernel - to compensate force
MBR first when trying to identify the existing partitioning scheme of
a disk.
 1.5.2.1 18-Aug-2019  msaitoh Pull up following revision(s) (requested by martin in ticket #77):
usr.sbin/sysinst/arch/sandpoint/md.c: revision 1.6
usr.sbin/sysinst/arch/playstation2/md.c: revision 1.6
usr.sbin/sysinst/arch/evbppc/md.c: revision 1.6
usr.sbin/sysinst/arch/hpcarm/md.c: revision 1.6
usr.sbin/sysinst/arch/zaurus/md.c: revision 1.6
usr.sbin/sysinst/arch/arc/md.c: revision 1.9
usr.sbin/sysinst/arch/hpcmips/md.c: revision 1.6
usr.sbin/sysinst/arch/bebox/md.c: revision 1.6
usr.sbin/sysinst/arch/hpcsh/md.c: revision 1.7
usr.sbin/sysinst/arch/landisk/md.c: revision 1.11
usr.sbin/sysinst/arch/prep/md.c: revision 1.9
usr.sbin/sysinst/arch/i386/md.c: revision 1.21
usr.sbin/sysinst/arch/evbmips/md.c: revision 1.6
usr.sbin/sysinst/arch/evbarm/md.c: revision 1.9
usr.sbin/sysinst/arch/cobalt/md.c: revision 1.9
usr.sbin/sysinst/arch/ofppc/md.c: revision 1.8
When we ask the user to select a partitioning scheme and they refuse
(that is: select "Exit" in the menu), abort installation.
 1.3 02-Oct-2019  maya Split out /rescue to its own set and adapt installers/images to add it.

This is meant to make updates safer: if something goes wrong with updating
base, we still have the old, standalone /rescue to recover from.
 1.2 18-Nov-2018  martin branches: 1.2.2;
More size estimate fixes
 1.1 26-Jul-2014  dholland branches: 1.1.2; 1.1.6; 1.1.26; 1.1.28;
Move sysinst sources to usr.sbin.

This commit only physically moves the sources - there are no other
changes, to maximize the probability that this will be treated as a
rename if we ever do manage to migrate away from CVS.

Moving sysinst has been discussed on and off for years and has two
goals: making it easier to work on sysinst, and also making sysinst
available on running systems for use installing chroots and VM images
and other such things. None of the latter is possible yet, but as they
say, one thing at a time.

Doing this now was approved in an impromptu fashion by mrg, riz,
riastradh, me, and groo.
 1.1.28.2 13-Apr-2020  martin Mostly merge changes from HEAD upto 20200411
 1.1.28.1 10-Jun-2019  christos Sync with HEAD
 1.1.26.1 26-Nov-2018  pgoyette Sync with HEAD, resolve a couple of conflicts
 1.1.6.2 20-Aug-2014  tls Rebase to HEAD as of a few days ago.
 1.1.6.1 26-Jul-2014  tls file md.h was added on branch tls-maxphys on 2014-08-20 00:05:15 +0000
 1.1.2.2 10-Aug-2014  tls Rebase.
 1.1.2.1 26-Jul-2014  tls file md.h was added on branch tls-earlyentropy on 2014-08-10 07:00:26 +0000
 1.2.2.1 17-Nov-2019  martin Pull up following revision(s) (requested by maya in ticket #435):

distrib/sets/maketars: revision 1.90
usr.sbin/sysinst/arch/playstation2/md.h: revision 1.2
usr.sbin/sysinst/arch/sandpoint/md.h: revision 1.3
usr.sbin/sysinst/arch/evbppc/md.h: revision 1.3
usr.sbin/sysinst/arch/hpcarm/md.h: revision 1.3
usr.sbin/sysinst/arch/mvme68k/md.h: revision 1.3
distrib/sun3/MakeInstTape: revision 1.3
usr.sbin/sysinst/util.c: revision 1.33
distrib/sets/lists/rescue/mi: revision 1.1
distrib/sets/lists/base/rescue.sun2: file removal
usr.sbin/sysinst/arch/zaurus/md.h: revision 1.3
distrib/sets/lists/base/rescue.ad.m68k.shl: file removal
distrib/sets/regpkgset: revision 1.13
usr.sbin/sysinst/arch/i386/md.h: revision 1.7
distrib/sets/lists/base/rescue.sparc: file removal
distrib/notes/mvme68k/xfer: revision 1.19
distrib/sets/sets.subr: revision 1.187
distrib/common/bootimage/Makefile.bootimage: revision 1.22
usr.sbin/sysinst/msg.mi.de: revision 1.16
usr.sbin/sysinst/arch/atari/md.h: revision 1.3
rescue/Makefile: revision 1.38
distrib/sets/lists/base/rescue.macppc: file removal
usr.sbin/sysinst/arch/arc/md.h: revision 1.4
distrib/miniroot/install.sub: revision 1.49
usr.sbin/sysinst/arch/acorn32/md.h: revision 1.3
usr.sbin/sysinst/arch/x68k/md.h: revision 1.3
usr.sbin/sysinst/arch/hpcmips/md.h: revision 1.3
usr.sbin/sysinst/arch/bebox/md.h: revision 1.3
usr.sbin/sysinst/arch/hpcsh/md.h: revision 1.2
distrib/sets/lists/base/rescue.shark: file removal
usr.sbin/sysinst/arch/emips/md.h: revision 1.5
distrib/utils/embedded/mkimage: revision 1.70
usr.sbin/sysinst/arch/shark/md.h: revision 1.3
usr.sbin/sysinst/arch/pmax/md.h: revision 1.4
usr.sbin/sysinst/arch/amiga/md.h: revision 1.4
usr.sbin/sysinst/arch/hp300/md.h: revision 1.5
rescue/list.ldconfig: file removal
distrib/sets/lists/base/rescue.ad.m68k: file removal
usr.sbin/sysinst/arch/prep/md.h: revision 1.4
usr.sbin/sysinst/arch/cats/md.h: revision 1.4
usr.sbin/sysinst/arch/amd64/md.h: revision 1.7
usr.sbin/sysinst/msg.mi.es: revision 1.17
usr.sbin/sysinst/msg.mi.fr: revision 1.20
usr.sbin/sysinst/msg.mi.pl: revision 1.23
distrib/sets/lists/base/rescue.i386: file removal
usr.sbin/sysinst/arch/evbarm/md.h: revision 1.3
distrib/sets/lists/base/rescue.vax: file removal
distrib/amd64/uefi-installimage/Makefile.bootimage: revision 1.12
usr.sbin/sysinst/arch/evbmips/md.h: revision 1.3
distrib/sets/lists/base/rescue.mi: file removal
distrib/sets/README: revision 1.14
usr.sbin/sysinst/arch/sgimips/md.h: revision 1.4
distrib/sets/lists/base/rescue.sparc64: file removal
distrib/sets/lists/base/rescue.mi: revision 1.45
distrib/sets/lists/base/rescue.mi: revision 1.46
usr.sbin/sysinst/arch/ofppc/md.h: revision 1.4
usr.sbin/sysinst/arch/cobalt/md.h: revision 1.4
distrib/sets/lists/base/rescue.ad.arm: file removal
distrib/sets/lists/base/rescue.mac68k: file removal
usr.sbin/sysinst/defs.h: revision 1.45
usr.sbin/sysinst/arch/landisk/md.h: revision 1.2
distrib/notes/atari/xfer: revision 1.17
etc/Makefile: revision 1.441
usr.sbin/sysinst/msg.mi.en: revision 1.22
distrib/sun2/MakeInstTape: revision 1.2

Remove ldconfig from /rescue, and mark it MI obsolete.
- ldconfig in netbsd refers to a.out binaries only. We've been ELF-only
since NetBSD 2.0 or so, and having it in /rescue served little purpose
even before that, as /rescue is standalone.
- Using MI obsolete to avoid the need for MD set lists where ldconfig
is the sole entry

Mark /rescue/edlabel as MI-obsolete, so we can remove all remaining MD
rescue set list files.

Split out /rescue to its own set and adapt installers/images to add it.

This is meant to make updates safer: if something goes wrong with updating
base, we still have the old, standalone /rescue to recover from.
 1.1 26-Jul-2014  dholland branches: 1.1.2; 1.1.6;
Move sysinst sources to usr.sbin.

This commit only physically moves the sources - there are no other
changes, to maximize the probability that this will be treated as a
rename if we ever do manage to migrate away from CVS.

Moving sysinst has been discussed on and off for years and has two
goals: making it easier to work on sysinst, and also making sysinst
available on running systems for use installing chroots and VM images
and other such things. None of the latter is possible yet, but as they
say, one thing at a time.

Doing this now was approved in an impromptu fashion by mrg, riz,
riastradh, me, and groo.
 1.1.6.2 20-Aug-2014  tls Rebase to HEAD as of a few days ago.
 1.1.6.1 26-Jul-2014  tls file menus.md.en was added on branch tls-maxphys on 2014-08-20 00:05:15 +0000
 1.1.2.2 10-Aug-2014  tls Rebase.
 1.1.2.1 26-Jul-2014  tls file menus.md.en was added on branch tls-earlyentropy on 2014-08-10 07:00:26 +0000
 1.1 26-Jul-2014  dholland branches: 1.1.2; 1.1.6;
Move sysinst sources to usr.sbin.

This commit only physically moves the sources - there are no other
changes, to maximize the probability that this will be treated as a
rename if we ever do manage to migrate away from CVS.

Moving sysinst has been discussed on and off for years and has two
goals: making it easier to work on sysinst, and also making sysinst
available on running systems for use installing chroots and VM images
and other such things. None of the latter is possible yet, but as they
say, one thing at a time.

Doing this now was approved in an impromptu fashion by mrg, riz,
riastradh, me, and groo.
 1.1.6.2 20-Aug-2014  tls Rebase to HEAD as of a few days ago.
 1.1.6.1 26-Jul-2014  tls file menus.md.es was added on branch tls-maxphys on 2014-08-20 00:05:15 +0000
 1.1.2.2 10-Aug-2014  tls Rebase.
 1.1.2.1 26-Jul-2014  tls file menus.md.es was added on branch tls-earlyentropy on 2014-08-10 07:00:26 +0000
 1.1 26-Jul-2014  dholland branches: 1.1.2; 1.1.6;
Move sysinst sources to usr.sbin.

This commit only physically moves the sources - there are no other
changes, to maximize the probability that this will be treated as a
rename if we ever do manage to migrate away from CVS.

Moving sysinst has been discussed on and off for years and has two
goals: making it easier to work on sysinst, and also making sysinst
available on running systems for use installing chroots and VM images
and other such things. None of the latter is possible yet, but as they
say, one thing at a time.

Doing this now was approved in an impromptu fashion by mrg, riz,
riastradh, me, and groo.
 1.1.6.2 20-Aug-2014  tls Rebase to HEAD as of a few days ago.
 1.1.6.1 26-Jul-2014  tls file menus.md.fr was added on branch tls-maxphys on 2014-08-20 00:05:15 +0000
 1.1.2.2 10-Aug-2014  tls Rebase.
 1.1.2.1 26-Jul-2014  tls file menus.md.fr was added on branch tls-earlyentropy on 2014-08-10 07:00:26 +0000
 1.1 26-Jul-2014  dholland branches: 1.1.2; 1.1.6;
Move sysinst sources to usr.sbin.

This commit only physically moves the sources - there are no other
changes, to maximize the probability that this will be treated as a
rename if we ever do manage to migrate away from CVS.

Moving sysinst has been discussed on and off for years and has two
goals: making it easier to work on sysinst, and also making sysinst
available on running systems for use installing chroots and VM images
and other such things. None of the latter is possible yet, but as they
say, one thing at a time.

Doing this now was approved in an impromptu fashion by mrg, riz,
riastradh, me, and groo.
 1.1.6.2 20-Aug-2014  tls Rebase to HEAD as of a few days ago.
 1.1.6.1 26-Jul-2014  tls file menus.md.pl was added on branch tls-maxphys on 2014-08-20 00:05:15 +0000
 1.1.2.2 10-Aug-2014  tls Rebase.
 1.1.2.1 26-Jul-2014  tls file menus.md.pl was added on branch tls-earlyentropy on 2014-08-10 07:00:26 +0000
 1.1 26-Jul-2014  dholland branches: 1.1.2; 1.1.6;
Move sysinst sources to usr.sbin.

This commit only physically moves the sources - there are no other
changes, to maximize the probability that this will be treated as a
rename if we ever do manage to migrate away from CVS.

Moving sysinst has been discussed on and off for years and has two
goals: making it easier to work on sysinst, and also making sysinst
available on running systems for use installing chroots and VM images
and other such things. None of the latter is possible yet, but as they
say, one thing at a time.

Doing this now was approved in an impromptu fashion by mrg, riz,
riastradh, me, and groo.
 1.1.6.2 20-Aug-2014  tls Rebase to HEAD as of a few days ago.
 1.1.6.1 26-Jul-2014  tls file msg.md.de was added on branch tls-maxphys on 2014-08-20 00:05:15 +0000
 1.1.2.2 10-Aug-2014  tls Rebase.
 1.1.2.1 26-Jul-2014  tls file msg.md.de was added on branch tls-earlyentropy on 2014-08-10 07:00:26 +0000
 1.1 26-Jul-2014  dholland branches: 1.1.2; 1.1.6;
Move sysinst sources to usr.sbin.

This commit only physically moves the sources - there are no other
changes, to maximize the probability that this will be treated as a
rename if we ever do manage to migrate away from CVS.

Moving sysinst has been discussed on and off for years and has two
goals: making it easier to work on sysinst, and also making sysinst
available on running systems for use installing chroots and VM images
and other such things. None of the latter is possible yet, but as they
say, one thing at a time.

Doing this now was approved in an impromptu fashion by mrg, riz,
riastradh, me, and groo.
 1.1.6.2 20-Aug-2014  tls Rebase to HEAD as of a few days ago.
 1.1.6.1 26-Jul-2014  tls file msg.md.en was added on branch tls-maxphys on 2014-08-20 00:05:15 +0000
 1.1.2.2 10-Aug-2014  tls Rebase.
 1.1.2.1 26-Jul-2014  tls file msg.md.en was added on branch tls-earlyentropy on 2014-08-10 07:00:26 +0000
 1.1 26-Jul-2014  dholland branches: 1.1.2; 1.1.6;
Move sysinst sources to usr.sbin.

This commit only physically moves the sources - there are no other
changes, to maximize the probability that this will be treated as a
rename if we ever do manage to migrate away from CVS.

Moving sysinst has been discussed on and off for years and has two
goals: making it easier to work on sysinst, and also making sysinst
available on running systems for use installing chroots and VM images
and other such things. None of the latter is possible yet, but as they
say, one thing at a time.

Doing this now was approved in an impromptu fashion by mrg, riz,
riastradh, me, and groo.
 1.1.6.2 20-Aug-2014  tls Rebase to HEAD as of a few days ago.
 1.1.6.1 26-Jul-2014  tls file msg.md.es was added on branch tls-maxphys on 2014-08-20 00:05:15 +0000
 1.1.2.2 10-Aug-2014  tls Rebase.
 1.1.2.1 26-Jul-2014  tls file msg.md.es was added on branch tls-earlyentropy on 2014-08-10 07:00:26 +0000
 1.1 26-Jul-2014  dholland branches: 1.1.2; 1.1.6;
Move sysinst sources to usr.sbin.

This commit only physically moves the sources - there are no other
changes, to maximize the probability that this will be treated as a
rename if we ever do manage to migrate away from CVS.

Moving sysinst has been discussed on and off for years and has two
goals: making it easier to work on sysinst, and also making sysinst
available on running systems for use installing chroots and VM images
and other such things. None of the latter is possible yet, but as they
say, one thing at a time.

Doing this now was approved in an impromptu fashion by mrg, riz,
riastradh, me, and groo.
 1.1.6.2 20-Aug-2014  tls Rebase to HEAD as of a few days ago.
 1.1.6.1 26-Jul-2014  tls file msg.md.fr was added on branch tls-maxphys on 2014-08-20 00:05:15 +0000
 1.1.2.2 10-Aug-2014  tls Rebase.
 1.1.2.1 26-Jul-2014  tls file msg.md.fr was added on branch tls-earlyentropy on 2014-08-10 07:00:26 +0000
 1.1 26-Jul-2014  dholland branches: 1.1.2; 1.1.6;
Move sysinst sources to usr.sbin.

This commit only physically moves the sources - there are no other
changes, to maximize the probability that this will be treated as a
rename if we ever do manage to migrate away from CVS.

Moving sysinst has been discussed on and off for years and has two
goals: making it easier to work on sysinst, and also making sysinst
available on running systems for use installing chroots and VM images
and other such things. None of the latter is possible yet, but as they
say, one thing at a time.

Doing this now was approved in an impromptu fashion by mrg, riz,
riastradh, me, and groo.
 1.1.6.2 20-Aug-2014  tls Rebase to HEAD as of a few days ago.
 1.1.6.1 26-Jul-2014  tls file msg.md.pl was added on branch tls-maxphys on 2014-08-20 00:05:15 +0000
 1.1.2.2 10-Aug-2014  tls Rebase.
 1.1.2.1 26-Jul-2014  tls file msg.md.pl was added on branch tls-earlyentropy on 2014-08-10 07:00:26 +0000
 1.2 12-Jun-2019  martin Rework internal data structures and "interfaces to user interface" functions
to get rid of all disklabel assumptions.

Previously (even for GPT partitioning) struct disklabel was used, which
obviously breaks large disk setups. Also many MD parts and parts of the
user interface assumed (a) a struct disklabel is used internally to
store partitioning information and (b) partitions are named 'a' ... $MAXPART.

Get rid of this and replace it with a quite abstract interface that should
be able to deal with all variants in partition storage:

- partitions are stored in a (partly abstract) struct disk_partitions
and most parts of it are only accessed via accessor functions provided
by a "partitioning scheme".

- implement partitioning schemes for MBR, disklabel and GPT (with likely
RDB [amiga] and Apple Partition Map [mac*] to follow soon)

- partitioning schemes may be cascaded, e.g. on x86 when using MBR as
"outer partitions", we have disklabel as "inner partitions".

- all user interface goes via accessor functions in the partitioning scheme,
some of which return pointers to special user interface descriptors
(e.g. to allow editing partition flags, which are scheme specific)

Overall the user interface changes (in this initial step) are minimal but
noticable. A new Anita is needed for automatic test setups - many thanks
to Andreas Gustafsson for lots of early testing and a new Anita version,
and to Manuel Bouyer for cooperation and tests of the Anita release.

This work was sponsored by The NetBSD Foundation, Inc.
 1.1 26-Jul-2014  dholland branches: 1.1.2; 1.1.6; 1.1.28;
Move sysinst sources to usr.sbin.

This commit only physically moves the sources - there are no other
changes, to maximize the probability that this will be treated as a
rename if we ever do manage to migrate away from CVS.

Moving sysinst has been discussed on and off for years and has two
goals: making it easier to work on sysinst, and also making sysinst
available on running systems for use installing chroots and VM images
and other such things. None of the latter is possible yet, but as they
say, one thing at a time.

Doing this now was approved in an impromptu fashion by mrg, riz,
riastradh, me, and groo.
 1.1.28.1 13-Apr-2020  martin Mostly merge changes from HEAD upto 20200411
 1.1.6.2 20-Aug-2014  tls Rebase to HEAD as of a few days ago.
 1.1.6.1 26-Jul-2014  tls file Makefile was added on branch tls-maxphys on 2014-08-20 00:05:16 +0000
 1.1.2.2 10-Aug-2014  tls Rebase.
 1.1.2.1 26-Jul-2014  tls file Makefile was added on branch tls-earlyentropy on 2014-08-10 07:00:26 +0000
 1.11 29-Jan-2022  martin When upgrading, update the boot code post extraction from
the updated target file system.
 1.10 12-Oct-2020  martin PR 55536: when we find existing partition tables and have alternative
formats available, offer to delete partitions and create new ones from
scratch (in some other or the same on-disk format).
 1.9 27-Jan-2020  martin Fix support for non-512-byte/sector disks again after I broke it when
introducing the abstract partition backends.
 1.8 09-Jan-2020  martin Finish conversion of extended partitioning parts to new abstract
backend interface. XXX still could use a lot of polishing.
 1.7 14-Aug-2019  martin When we ask the user to select a partitioning scheme and they refuse
(that is: select "Exit" in the menu), abort installation.
 1.6 13-Jul-2019  martin branches: 1.6.2;
We may call md_pre_mount() multiple times for the same install set,
so pass an additional index argument so MD code knows which part
of the install will be mounted next.
 1.5 13-Jun-2019  martin In the new world order disks may come without any partitioning scheme
attached - so the user may have to select one.
 1.4 12-Jun-2019  martin Rework internal data structures and "interfaces to user interface" functions
to get rid of all disklabel assumptions.

Previously (even for GPT partitioning) struct disklabel was used, which
obviously breaks large disk setups. Also many MD parts and parts of the
user interface assumed (a) a struct disklabel is used internally to
store partitioning information and (b) partitions are named 'a' ... $MAXPART.

Get rid of this and replace it with a quite abstract interface that should
be able to deal with all variants in partition storage:

- partitions are stored in a (partly abstract) struct disk_partitions
and most parts of it are only accessed via accessor functions provided
by a "partitioning scheme".

- implement partitioning schemes for MBR, disklabel and GPT (with likely
RDB [amiga] and Apple Partition Map [mac*] to follow soon)

- partitioning schemes may be cascaded, e.g. on x86 when using MBR as
"outer partitions", we have disklabel as "inner partitions".

- all user interface goes via accessor functions in the partitioning scheme,
some of which return pointers to special user interface descriptors
(e.g. to allow editing partition flags, which are scheme specific)

Overall the user interface changes (in this initial step) are minimal but
noticable. A new Anita is needed for automatic test setups - many thanks
to Andreas Gustafsson for lots of early testing and a new Anita version,
and to Manuel Bouyer for cooperation and tests of the Anita release.

This work was sponsored by The NetBSD Foundation, Inc.
 1.3 02-Jan-2015  abs branches: 1.3.16;
Rather than scatter set_swap() calls wrapped in ram size checks through
md_post_disklabel() and md_pre_update(), abstract them out to an MI
set_swap_if_low_ram() and call from the appropriate MI places.
Now all platforms add swap if the system has <= 32M of RAM.
 1.2 03-Aug-2014  martin branches: 1.2.2; 1.2.4; 1.2.6;
(Finally) merge a slightly modified version of the 2012 GSoC results
from Eugene Lozovoy: add extended partitioning options to sysinst.
Still needs some testing and polishing, but it now is possible to use GPT
or to create a RAID set from scratch and install onto it.
 1.1 26-Jul-2014  dholland Move sysinst sources to usr.sbin.

This commit only physically moves the sources - there are no other
changes, to maximize the probability that this will be treated as a
rename if we ever do manage to migrate away from CVS.

Moving sysinst has been discussed on and off for years and has two
goals: making it easier to work on sysinst, and also making sysinst
available on running systems for use installing chroots and VM images
and other such things. None of the latter is possible yet, but as they
say, one thing at a time.

Doing this now was approved in an impromptu fashion by mrg, riz,
riastradh, me, and groo.
 1.2.6.2 20-Aug-2014  tls Rebase to HEAD as of a few days ago.
 1.2.6.1 03-Aug-2014  tls file md.c was added on branch tls-maxphys on 2014-08-20 00:05:16 +0000
 1.2.4.1 11-Jan-2015  snj Pull up following revision(s) (requested by abs in ticket #400):
usr.sbin/sysinst/arch/arc/md.c: revision 1.3
usr.sbin/sysinst/arch/cobalt/md.c: revision 1.3
usr.sbin/sysinst/arch/evbsh3/md.c: revision 1.3
usr.sbin/sysinst/arch/hp300/md.c: revision 1.3
usr.sbin/sysinst/arch/hpcsh/md.c: revision 1.3
usr.sbin/sysinst/arch/i386/md.c: revision 1.5
usr.sbin/sysinst/arch/luna68k/md.c: revision 1.4
usr.sbin/sysinst/arch/mvme68k/md.c: revision 1.3
usr.sbin/sysinst/arch/news68k/md.c: revision 1.3
usr.sbin/sysinst/arch/sgimips/md.c: revision 1.3
usr.sbin/sysinst/arch/vax/md.c: revision 1.3
usr.sbin/sysinst/arch/x68k/md.c: revision 1.3
usr.sbin/sysinst/defs.h: revision 1.6
usr.sbin/sysinst/disks.c: revision 1.7
usr.sbin/sysinst/install.c: revision 1.3
usr.sbin/sysinst/partman.c: revision 1.8
usr.sbin/sysinst/upgrade.c: revision 1.3
Rather than scatter set_swap() calls wrapped in ram size checks through
md_post_disklabel() and md_pre_update(), abstract them out to an MI
set_swap_if_low_ram() and call from the appropriate MI places.
Now all platforms add swap if the system has <= 32M of RAM.
 1.2.2.2 10-Aug-2014  tls Rebase.
 1.2.2.1 03-Aug-2014  tls file md.c was added on branch tls-earlyentropy on 2014-08-10 07:00:26 +0000
 1.3.16.1 13-Apr-2020  martin Mostly merge changes from HEAD upto 20200411
 1.6.2.4 02-Feb-2022  msaitoh Pull up following revision(s) (requested by martin in ticket #1422):
usr.sbin/sysinst/util.c: revision 1.64
usr.sbin/sysinst/arch/hpcsh/md.c: revision 1.11
usr.sbin/sysinst/arch/alpha/md.c: revision 1.10
usr.sbin/sysinst/arch/sparc64/md.c: revision 1.7
usr.sbin/sysinst/arch/emips/md.c: revision 1.10
usr.sbin/sysinst/arch/cobalt/md.c: revision 1.15
usr.sbin/sysinst/arch/x68k/md.c: revision 1.12
usr.sbin/sysinst/arch/sandpoint/md.c: revision 1.10
usr.sbin/sysinst/arch/luna68k/md.c: revision 1.10
usr.sbin/sysinst/arch/hp300/md.c: revision 1.12
usr.sbin/sysinst/arch/vax/md.c: revision 1.8
usr.sbin/sysinst/arch/hpcmips/md.c: revision 1.10
usr.sbin/sysinst/target.c: revision 1.16
usr.sbin/sysinst/arch/mvme68k/md.c: revision 1.12
usr.sbin/sysinst/arch/arc/md.c: revision 1.14
usr.sbin/sysinst/target.c: revision 1.17
usr.sbin/sysinst/arch/i386/md.c: revision 1.34
usr.sbin/sysinst/arch/mac68k/md.c: revision 1.11
usr.sbin/sysinst/arch/atari/md.c: revision 1.8
usr.sbin/sysinst/arch/sgimips/md.c: revision 1.10
usr.sbin/sysinst/arch/acorn32/md.c: revision 1.8
usr.sbin/sysinst/install.c: revision 1.22
usr.sbin/sysinst/arch/amiga/md.c: revision 1.7
usr.sbin/sysinst/arch/cats/md.c: revision 1.6
usr.sbin/sysinst/arch/dummy/md.c: revision 1.7
usr.sbin/sysinst/arch/shark/md.c: revision 1.7
usr.sbin/sysinst/arch/pmax/md.c: revision 1.9
usr.sbin/sysinst/arch/newsmips/md.c: revision 1.7
usr.sbin/sysinst/arch/mipsco/md.c: revision 1.9
usr.sbin/sysinst/arch/landisk/md.c: revision 1.15
usr.sbin/sysinst/arch/hppa/md.c: revision 1.9
usr.sbin/sysinst/arch/prep/md.c: revision 1.14
usr.sbin/sysinst/defs.h: revision 1.77
usr.sbin/sysinst/arch/ofppc/md.c: revision 1.13
usr.sbin/sysinst/arch/ews4800mips/md.c: revision 1.8
usr.sbin/sysinst/defs.h: revision 1.78
usr.sbin/sysinst/arch/macppc/md.c: revision 1.7
usr.sbin/sysinst/arch/evbppc/md.c: revision 1.10
usr.sbin/sysinst/defs.h: revision 1.79
usr.sbin/sysinst/gpt.c: revision 1.27
usr.sbin/sysinst/arch/bebox/md.c: revision 1.10
usr.sbin/sysinst/gpt.c: revision 1.28
usr.sbin/sysinst/arch/sparc/md.c: revision 1.7
usr.sbin/sysinst/arch/evbsh3/md.c: revision 1.7
usr.sbin/sysinst/arch/evbarm/md.c: revision 1.22
usr.sbin/sysinst/arch/news68k/md.c: revision 1.8
usr.sbin/sysinst/upgrade.c: revision 1.19
usr.sbin/sysinst/arch/zaurus/md.c: revision 1.12
usr.sbin/sysinst/arch/playstation2/md.c: revision 1.10
usr.sbin/sysinst/arch/hpcarm/md.c: revision 1.11
usr.sbin/sysinst/arch/evbmips/md.c: revision 1.10
usr.sbin/sysinst/main.c: revision 1.28
Add an option to set the directory where we look for message catalogs.
Try to get rid of all wedges we created (after unmounting).
When upgrading, update the boot code post extraction from
the updated target file system.
Do not defer wedge deletions when we have nothing mounted.
Define and use a constant for maximum disk name length.
 1.6.2.3 15-Oct-2020  bouyer Pull up following revision(s) (requested by martin in ticket #1113):
usr.sbin/sysinst/bsddisklabel.c: revision 1.46
usr.sbin/sysinst/bsddisklabel.c: revision 1.47
usr.sbin/sysinst/disklabel.c: revision 1.40
usr.sbin/sysinst/arch/cobalt/md.c: revision 1.13
usr.sbin/sysinst/bsddisklabel.c: revision 1.48
usr.sbin/sysinst/disklabel.c: revision 1.41
usr.sbin/sysinst/arch/cobalt/md.c: revision 1.14
usr.sbin/sysinst/bsddisklabel.c: revision 1.49
usr.sbin/sysinst/disklabel.c: revision 1.42
usr.sbin/sysinst/Makefile.inc: revision 1.34
usr.sbin/sysinst/disks.c: revision 1.70
usr.sbin/sysinst/arch/hp300/md.c: revision 1.11
usr.sbin/sysinst/disks.c: revision 1.71
usr.sbin/sysinst/arch/i386/md.h: revision 1.8
usr.sbin/sysinst/arch/arc/md.c: revision 1.13
usr.sbin/sysinst/mbr.h: revision 1.5
usr.sbin/sysinst/mbr.h: revision 1.6
usr.sbin/sysinst/arch/mac68k/md.c: revision 1.10
usr.sbin/sysinst/bsddisklabel.c: revision 1.50
usr.sbin/sysinst/arch/acorn32/md.c: revision 1.7
usr.sbin/sysinst/bsddisklabel.c: revision 1.51
usr.sbin/sysinst/bsddisklabel.c: revision 1.52
usr.sbin/sysinst/bsddisklabel.c: revision 1.53
usr.sbin/sysinst/bsddisklabel.c: revision 1.54
usr.sbin/sysinst/bsddisklabel.c: revision 1.55
usr.sbin/sysinst/bsddisklabel.c: revision 1.56
usr.sbin/sysinst/arch/dummy/md.c: revision 1.6
usr.sbin/sysinst/arch/amd64/md.h: revision 1.9
usr.sbin/sysinst/arch/evbsh3/md.c: revision 1.6
usr.sbin/sysinst/arch/sparc/md.c: revision 1.6
usr.sbin/sysinst/arch/zaurus/md.c: revision 1.10
usr.sbin/sysinst/arch/x68k/md.c: revision 1.11
usr.sbin/sysinst/arch/sandpoint/md.c: revision 1.9
usr.sbin/sysinst/arch/vax/md.c: revision 1.7
usr.sbin/sysinst/arch/luna68k/md.c: revision 1.9
usr.sbin/sysinst/gpt.c: revision 1.19
usr.sbin/sysinst/arch/i386/md.c: revision 1.31
usr.sbin/sysinst/arch/i386/md.c: revision 1.32
usr.sbin/sysinst/arch/evbarm/md.c: revision 1.17
usr.sbin/sysinst/arch/evbarm/md.c: revision 1.18
usr.sbin/sysinst/arch/evbarm/md.c: revision 1.19
usr.sbin/sysinst/arch/shark/md.c: revision 1.6
usr.sbin/sysinst/arch/landisk/md.c: revision 1.14
usr.sbin/sysinst/util.c: revision 1.43
usr.sbin/sysinst/gpt.c: revision 1.20
usr.sbin/sysinst/util.c: revision 1.44
usr.sbin/sysinst/gpt.c: revision 1.21
usr.sbin/sysinst/gpt.c: revision 1.22
usr.sbin/sysinst/arch/evbarm/msg.md.en: revision 1.2
usr.sbin/sysinst/arch/ofppc/md.c: revision 1.11
usr.sbin/sysinst/util.c: revision 1.46
usr.sbin/sysinst/arch/ofppc/md.c: revision 1.12
usr.sbin/sysinst/util.c: revision 1.47
usr.sbin/sysinst/arch/evbarm/md.h: revision 1.6
usr.sbin/sysinst/util.c: revision 1.48
usr.sbin/sysinst/arch/evbarm/md.h: revision 1.7
usr.sbin/sysinst/arch/evbmips/md.c: revision 1.9
usr.sbin/sysinst/msg.mi.fr: revision 1.28
usr.sbin/sysinst/msg.mi.fr: revision 1.29
usr.sbin/sysinst/arch/sgimips/md.c: revision 1.9
usr.sbin/sysinst/arch/evbarm/Makefile: revision 1.3
usr.sbin/sysinst/msg.mi.de: revision 1.23
usr.sbin/sysinst/arch/hpcsh/md.c: revision 1.10
usr.sbin/sysinst/msg.mi.de: revision 1.24
usr.sbin/sysinst/install.c: revision 1.15
usr.sbin/sysinst/install.c: revision 1.16
usr.sbin/sysinst/arch/sparc64/md.c: revision 1.6
usr.sbin/sysinst/install.c: revision 1.17
usr.sbin/sysinst/install.c: revision 1.18
usr.sbin/sysinst/partitions.h: revision 1.16
usr.sbin/sysinst/install.c: revision 1.19
usr.sbin/sysinst/partitions.h: revision 1.17
usr.sbin/sysinst/arch/evbppc/md.c: revision 1.9
usr.sbin/sysinst/arch/playstation2/md.c: revision 1.9
usr.sbin/sysinst/partitions.h: revision 1.18
usr.sbin/sysinst/arch/hpcarm/md.c: revision 1.9
usr.sbin/sysinst/partitions.h: revision 1.19
usr.sbin/sysinst/msg.mi.es: revision 1.24
usr.sbin/sysinst/msg.mi.es: revision 1.25
usr.sbin/sysinst/msg.mi.es: revision 1.26
usr.sbin/sysinst/arch/zaurus/md.c: revision 1.9
usr.sbin/sysinst/target.c: revision 1.13
usr.sbin/sysinst/target.c: revision 1.14
usr.sbin/sysinst/part_edit.c: revision 1.17
usr.sbin/sysinst/part_edit.c: revision 1.18
usr.sbin/sysinst/msg.mi.fr: revision 1.30
usr.sbin/sysinst/arch/mvme68k/md.c: revision 1.11
usr.sbin/sysinst/part_edit.c: revision 1.19
usr.sbin/sysinst/msg.mi.fr: revision 1.31
usr.sbin/sysinst/arch/alpha/md.c: revision 1.9
usr.sbin/sysinst/msg.mi.en: revision 1.30
usr.sbin/sysinst/defs.h: revision 1.56
usr.sbin/sysinst/msg.mi.en: revision 1.31
usr.sbin/sysinst/defs.h: revision 1.57
usr.sbin/sysinst/msg.mi.en: revision 1.32
usr.sbin/sysinst/arch/amiga/md.c: revision 1.6
usr.sbin/sysinst/arch/hpcmips/md.c: revision 1.9
usr.sbin/sysinst/defs.h: revision 1.58
usr.sbin/sysinst/arch/cats/md.c: revision 1.5
usr.sbin/sysinst/defs.h: revision 1.59
usr.sbin/sysinst/arch/newsmips/md.c: revision 1.6
usr.sbin/sysinst/arch/pmax/md.c: revision 1.8
usr.sbin/sysinst/arch/mipsco/md.c: revision 1.8
usr.sbin/sysinst/part_edit.c: revision 1.20
usr.sbin/sysinst/part_edit.c: revision 1.21
usr.sbin/sysinst/arch/macppc/md.c: revision 1.6
usr.sbin/sysinst/part_edit.c: revision 1.22
usr.sbin/sysinst/part_edit.c: revision 1.23
usr.sbin/sysinst/part_edit.c: revision 1.24
usr.sbin/sysinst/defs.h: revision 1.60
usr.sbin/sysinst/arch/mac68k/Makefile: revision 1.3
usr.sbin/sysinst/defs.h: revision 1.61
usr.sbin/sysinst/defs.h: revision 1.63
usr.sbin/sysinst/defs.h: revision 1.64
usr.sbin/sysinst/defs.h: revision 1.65
usr.sbin/sysinst/label.c: revision 1.21
usr.sbin/sysinst/defs.h: revision 1.66
usr.sbin/sysinst/label.c: revision 1.22
usr.sbin/sysinst/defs.h: revision 1.67
usr.sbin/sysinst/label.c: revision 1.23
usr.sbin/sysinst/label.c: revision 1.24
usr.sbin/sysinst/label.c: revision 1.25
usr.sbin/sysinst/label.c: revision 1.26
usr.sbin/sysinst/label.c: revision 1.27
usr.sbin/sysinst/msg.mi.pl: revision 1.31
usr.sbin/sysinst/label.c: revision 1.28
usr.sbin/sysinst/msg.mi.pl: revision 1.32
usr.sbin/sysinst/label.c: revision 1.29
usr.sbin/sysinst/arch/atari/md.c: revision 1.7
usr.sbin/sysinst/disklabel.c: revision 1.36
usr.sbin/sysinst/disklabel.c: revision 1.37
usr.sbin/sysinst/disklabel.c: revision 1.38
usr.sbin/sysinst/disklabel.c: revision 1.39
usr.sbin/sysinst/arch/bebox/md.c: revision 1.9
usr.sbin/sysinst/mbr.c: revision 1.32
usr.sbin/sysinst/disks.c: revision 1.66
usr.sbin/sysinst/mbr.c: revision 1.33
usr.sbin/sysinst/disks.c: revision 1.67
usr.sbin/sysinst/mbr.c: revision 1.34
usr.sbin/sysinst/arch/emips/md.c: revision 1.9
usr.sbin/sysinst/disks.c: revision 1.68
usr.sbin/sysinst/partitions.c: revision 1.11
usr.sbin/sysinst/mbr.c: revision 1.35
usr.sbin/sysinst/disks.c: revision 1.69
usr.sbin/sysinst/mbr.c: revision 1.36
usr.sbin/sysinst/arch/hppa/md.c: revision 1.8
usr.sbin/sysinst/arch/prep/md.c: revision 1.13
usr.sbin/sysinst/label.c: revision 1.30
usr.sbin/sysinst/arch/ews4800mips/md.c: revision 1.7
usr.sbin/sysinst/main.c: revision 1.21
usr.sbin/sysinst/main.c: revision 1.22
usr.sbin/sysinst/main.c: revision 1.23
usr.sbin/sysinst/bsddisklabel.c: revision 1.40
usr.sbin/sysinst/main.c: revision 1.24
usr.sbin/sysinst/arch/cobalt/md.h: revision 1.6
usr.sbin/sysinst/bsddisklabel.c: revision 1.41
usr.sbin/sysinst/main.c: revision 1.25
usr.sbin/sysinst/arch/news68k/md.c: revision 1.7
usr.sbin/sysinst/bsddisklabel.c: revision 1.42
usr.sbin/sysinst/bsddisklabel.c: revision 1.43
usr.sbin/sysinst/bsddisklabel.c: revision 1.44
usr.sbin/sysinst/bsddisklabel.c: revision 1.45
Use strlcpy in a few places to guarnatee 0-terminated strings
Rever previous: the d_packname in struct disklabel is not NUL terminated.
Disable the warning instead.
Do not force -Os optimization (unless SMALLPROG)
Remove unused "rel" global variable and make the -r option a no-op.
PR 55045: strlcpy(NULL, ..., 0) considered harmfull in some implementations.
PR misc/54886: bump threshold for automatic/default creation of a tmpfs /tmp
up slightly (to 384 MB ram). This will make sure the default install has
a > 64 MB /tmp available (number pulled out of thin air, 64 MB is the minimum
required by the ZFS tests).
Don't depend on common symbol definitions.
boardype should not be common.
Redo the root-size-limit check again after we grew the root partition
for kernel dumps. Auto-enable the /usr partition if it overflows.
For all non-root partitions, default to FFSv2.
When extending a partition (to fill the total disk size) do respect
size limits.
Do not suggest a size limited partition for extension by default.
Minor tweak to previous: when forcing a /usr partition just to have an
arbitrary extendable partition, still use its default size initially.
At the end of a new installation save entropy.
Ooops, backout previous - twice the entropy saving is not needed.
Instead slightly improve the (slightly) hidden other code that already
did it.
PR 55202: disable swapping if we started it due to low ram
it's "its"
Remove "If you booted from a floppy" message
Set HAVE_INSTALL_IMAGE for evbarm
Change mountpoint of boot ext2fs from /stand to /ext2 to avoid conflict.
Should be pulled up to netbsd-9, with fixes of PR/55060.
MBR type for Ext2 should be MBR_PTYPE_LNXEXT2, not MBR_PTYPE_FAT12.
Silence -Wstringop-truncation for ``name'' in disp_selected_part().
This variable is used only for display, and truncation seems harmless.
PR 55572: avoid crash when answering the mount point prompt for a previously
empty mount point with an emptry sting.
When adding a new partition in the concrete partition editor, make sure
to set a pointer to the partition table interface in the new entry.
Otherwise we may end up not writing back the partitions at all, leading
to further fallout later.
Receipe to reproduce the issue from Frederic Fauberteau, thanks!
In the concrete partitions editor, after deleting the last partition move
the menu selection to the "add a partition" entry (instead of the sentinel
line which is not an active menu entry).
Typo in comment
Keep a list of all partition tables from which we have deleted partitions
and make sure we update those partition tables when writing partitions,
even if no install related partition remains on them.
Fix display of timezone selection menu
If there is no current partitioning manager assume we are editing the
current system and make target_already_root() return true.
Fixes various fallout when using sysinst post installation.
PR 55377: mark boot partitions in the partition size display, as suggested
by Izumi Tsutsui (minor modifications + all bugs by me)
PR 55378: do not assume RAW_PART to be either 2 or 3
PR 55379: avoid creating bogus /etc/fstab lines for /dev/cd* if no
cdrom is available.
PR 55381: try to deal with moved (but not yet saved) partitions when
calculating free space
Apply patch provided by Izumi Tsutsui in PR 55382: make ext2 partitions
show up in the outer (MBR) partition table, needed for example on Cobalt
where firmware boots from that partition.
PR 55384: detangle pm->ptstart from the "install" flag (selecting a
target partition). Instead introduce a new PTI_INSTALL_TARGET per partition
flag and deal with it in the partitioning backends.
Honour pm->ptstart when allocating new partitions - it is supposed to be
the first sector usable by NetBSD.
If we have no explicitly marke target root partition, make sure to set
the proper flag on the implicit one.
When merging existing partitions with desired target system layout
information, only force the "mount" flag if the existing partitions
has a valid mount point.
Add a heuristic to detect and properly mark EFI system partitions
when re-using pre-existing partitions.
When MD code requests a reserved area (at the start of the disk)
make sure to properly account for the "lost" space during all calculations
and especially when expanding the main partition to fill the disk.
Avoid using the global "pm" or a passed device descriptons when we are
passing disk limits explicitly anyway.
Simplify/fix a few rounding calculations.
When creating new partitions for "full disk" use, pass a install target
hint to the partitioning backend (for the outer NetBSD partition).
Use an install target hint to mark a new partition active.
When compiled with BOOTSEL support, also name the new partition "NetBSD".
Remove more pm->ptstart abuse - calculate values localy where needed
instead.
Fix editing start and size of not yet existing outer partitions.
Previously we abused pm->ptstart / pm->ptsize to pass the bounds of the
NetBSD outer partition to the inner partition editor - but now this is
not a valid assumption any more, so explicitly fix the bounds if an
outer partition exists.
Remove very strange code that special-cased MSDOS file systems and refused
to newfs the partition (despite explicit request to do so) if it was
mountable.
Accidently carried over from a dim and distant past, before we had
fsck_newfs.
PR 55536: when we find existing partition tables and have alternative
formats available, offer to delete partitions and create new ones from
scratch (in some other or the same on-disk format).
Minor fix to previous: fix condition when we offer the partition type
switch - it makes sense even if the disk is partitioned but has no valid
partitions.
Before forcing MBR partitions into our disklabel, make sure they are not
there yet - could happen in various paths when reusing existing partitions
(or parts of that) - previously we would blindly duplicate identical
partitions.
Ooops, part of previous was not meant to be included yet
When renumbering partitions (after deletions) be slightly more lax
in matching, to cope with differences between MBR EFI partitions and
disklabel MSDOS partitions.
PR 55142: on popular demand bring back expert options to adjust the
number of free inodes, block size and fragment size for FFS and LFS.
Fix copy & pasto noticed by Jason Mitchell: change the type of a GPT
partition via "gpt type" - not "gpt label".
Fix copy & pasto (missing "again" label)
Remove dead code
Move MBR writing (if any) post disklabel writing, otherwise strange
interactions happen.
Properly convert partition default sizes in MB to number of sectors
 1.6.2.2 28-Jan-2020  msaitoh Pull up following revision(s) (requested by martin in ticket #668):
usr.sbin/sysinst/arch/cobalt/md.c: revision 1.11
usr.sbin/sysinst/arch/cobalt/md.c: revision 1.12
usr.sbin/sysinst/arch/arc/md.c: revision 1.11
usr.sbin/sysinst/arch/arc/md.c: revision 1.12
usr.sbin/sysinst/partman.c: revision 1.43
usr.sbin/sysinst/partman.c: revision 1.46
usr.sbin/sysinst/partman.c: revision 1.47
usr.sbin/sysinst/partman.c: revision 1.48
usr.sbin/sysinst/partman.c: revision 1.49
usr.sbin/sysinst/msg.pm.fr: revision 1.2
usr.sbin/sysinst/upgrade.c: revision 1.14
usr.sbin/sysinst/arch/i386/md.c: revision 1.28
usr.sbin/sysinst/arch/i386/md.c: revision 1.29
usr.sbin/sysinst/arch/ofppc/md.c: revision 1.9
usr.sbin/sysinst/arch/sandpoint/md.c: revision 1.7
usr.sbin/sysinst/arch/sandpoint/md.c: revision 1.8
usr.sbin/sysinst/gpt.c: revision 1.14
usr.sbin/sysinst/gpt.c: revision 1.15
usr.sbin/sysinst/arch/luna68k/md.c: revision 1.8
usr.sbin/sysinst/gpt.c: revision 1.16
usr.sbin/sysinst/msg.pm.de: revision 1.2
usr.sbin/sysinst/arch/evbarm/md.c: revision 1.11
usr.sbin/sysinst/arch/evbarm/md.c: revision 1.12
usr.sbin/sysinst/arch/evbarm/md.c: revision 1.13
usr.sbin/sysinst/arch/evbarm/md.c: revision 1.14
usr.sbin/sysinst/sizemultname.c: revision 1.4
usr.sbin/sysinst/msg.pm.en: revision 1.2
usr.sbin/sysinst/arch/landisk/md.c: revision 1.12
usr.sbin/sysinst/util.c: revision 1.41
usr.sbin/sysinst/arch/landisk/md.c: revision 1.13
usr.sbin/sysinst/util.c: revision 1.42
usr.sbin/sysinst/arch/ofppc/md.c: revision 1.10
usr.sbin/sysinst/partitions.c: revision 1.9
usr.sbin/sysinst/arch/evbarm/md.h: revision 1.4
usr.sbin/sysinst/arch/evbarm/md.h: revision 1.5
usr.sbin/sysinst/arch/evbmips/md.c: revision 1.7
usr.sbin/sysinst/arch/evbmips/md.c: revision 1.8
usr.sbin/sysinst/msg.mi.fr: revision 1.25
usr.sbin/sysinst/msg.mi.de: revision 1.20
usr.sbin/sysinst/install.c: revision 1.14
usr.sbin/sysinst/partitions.h: revision 1.13
usr.sbin/sysinst/partitions.h: revision 1.14
usr.sbin/sysinst/arch/evbppc/md.c: revision 1.7
usr.sbin/sysinst/arch/playstation2/md.c: revision 1.7
usr.sbin/sysinst/msg.mi.en: revision 1.27
usr.sbin/sysinst/partitions.h: revision 1.15
usr.sbin/sysinst/arch/evbppc/md.c: revision 1.8
usr.sbin/sysinst/arch/hpcarm/md.c: revision 1.7
usr.sbin/sysinst/arch/playstation2/md.c: revision 1.8
usr.sbin/sysinst/msg.pm.pl: revision 1.2
usr.sbin/sysinst/arch/hpcarm/md.c: revision 1.8
usr.sbin/sysinst/msg.mi.es: revision 1.21
usr.sbin/sysinst/arch/zaurus/md.c: revision 1.7
usr.sbin/sysinst/target.c: revision 1.11
usr.sbin/sysinst/arch/zaurus/md.c: revision 1.8
usr.sbin/sysinst/part_edit.c: revision 1.14
usr.sbin/sysinst/part_edit.c: revision 1.15
usr.sbin/sysinst/part_edit.c: revision 1.16
usr.sbin/sysinst/defs.h: revision 1.50
usr.sbin/sysinst/defs.h: revision 1.51
usr.sbin/sysinst/defs.h: revision 1.52
usr.sbin/sysinst/defs.h: revision 1.53
usr.sbin/sysinst/defs.h: revision 1.54
usr.sbin/sysinst/arch/hpcmips/md.c: revision 1.7
usr.sbin/sysinst/arch/hpcmips/md.c: revision 1.8
usr.sbin/sysinst/arch/hpcsh/md.c: revision 1.8
usr.sbin/sysinst/msg.pm.es: revision 1.2
usr.sbin/sysinst/arch/hpcsh/md.c: revision 1.9
usr.sbin/sysinst/label.c: revision 1.18
usr.sbin/sysinst/label.c: revision 1.19
usr.sbin/sysinst/net.c: revision 1.35
usr.sbin/sysinst/msg.mi.pl: revision 1.28
usr.sbin/sysinst/disklabel.c: revision 1.28
usr.sbin/sysinst/disklabel.c: revision 1.29
usr.sbin/sysinst/mbr.c: revision 1.24
usr.sbin/sysinst/disks.c: revision 1.59
usr.sbin/sysinst/mbr.c: revision 1.25
usr.sbin/sysinst/mbr.c: revision 1.26
usr.sbin/sysinst/mbr.c: revision 1.27
usr.sbin/sysinst/mbr.c: revision 1.28
usr.sbin/sysinst/label.c: revision 1.20
usr.sbin/sysinst/mbr.c: revision 1.29
usr.sbin/sysinst/bsddisklabel.c: revision 1.34
usr.sbin/sysinst/bsddisklabel.c: revision 1.35
usr.sbin/sysinst/bsddisklabel.c: revision 1.36
usr.sbin/sysinst/bsddisklabel.c: revision 1.37
usr.sbin/sysinst/disklabel.c: revision 1.30
usr.sbin/sysinst/bsddisklabel.c: revision 1.38
usr.sbin/sysinst/disklabel.c: revision 1.31
usr.sbin/sysinst/disklabel.c: revision 1.32
usr.sbin/sysinst/disklabel.c: revision 1.33
usr.sbin/sysinst/disklabel.c: revision 1.34
usr.sbin/sysinst/disks.c: revision 1.60
usr.sbin/sysinst/disks.c: revision 1.61
usr.sbin/sysinst/arch/bebox/md.c: revision 1.7
usr.sbin/sysinst/disks.c: revision 1.62
usr.sbin/sysinst/arch/bebox/md.c: revision 1.8
usr.sbin/sysinst/mbr.c: revision 1.30
usr.sbin/sysinst/partitions.c: revision 1.10
usr.sbin/sysinst/arch/prep/md.c: revision 1.11
usr.sbin/sysinst/arch/prep/md.c: revision 1.12
usr.sbin/sysinst/menus.pm: revision 1.3
usr.sbin/sysinst/main.c: revision 1.20
usr.sbin/sysinst/menus.mi: revision 1.20
usr.sbin/sysinst/menus.mi: revision 1.21
avoid calling snprintf/strlcat with an input parameter the same
as the output. from martin@. fixes gcc 8 restrict warnings.
Finish conversion of extended partitioning parts to new abstract
backend interface. XXX still could use a lot of polishing.
Instead of a (bogus) attempt to query the model via ofctl, use the (now
fixed) sysctl hw.model instead.
When reading the secondary disklabel partitions from an existing disklabel
set the mbr partitions as parent.
Move the LABELSECTOR check and make it FS type specific - some partition
types (FFS, RAID) are allowed to overlap with the LABELSECTOR.
When asked to create a whole-disk partition for unknown usage, do not only
assert(false), but actually return an error (in case "assert" is a nop).
PR install/54787: when trying to derive proper alignement and first offset
from exisiting partitions, use the first partition offset if it is already
closer to the start of the disk than the prefered alignment - we can not
move existing partitions around.
Fix handling of inner/outer partitions (e.g. MBR and disklabel) in
extended partitioning:
- when editing a disk with such a schme, offer both partitions in two
steps
- when commiting changes save the inner partitions after the outer ones
Add a method to query the partitioning schemes "internal idea" of a
cylinder size - whatever that means in the real world.
Avoid using the global "pm" variable in utility functions - during
extended partitioning they may point to a different device.
Remove useless calls to get_ramsize() - return value is ignored and
the function has no side effects.
Fix /tmp tmpfs handling and on machines with enough RAM default to
creating a /tmp tmpfs with 25% of ram size limit. Suggested by ad@.
PR install/54872: fix printf argument order, sectors and heads were
swapped in the bios geometry display.
First try to bring evbarm installation closer to current reality.
hide disklabel_non_bootable() under NO_DISKLABEL_BOOT like the usage.
should fix most builds.
Deal with even stranger fictious empty disklabels (PR kern/54882).
Factor out all RAM size thresholds as defines to avoid magic numbers.
To work around PR misc/54886 bump the threshold for a tmpfs /tmp mount
up to 256 MB.
When retrying sets during extraction, reset the relevant statistics
to avoid counting retried sets multiple times.
Reported by kim.
Fix support for non-512-byte/sector disks again after I broke it when
introducing the abstract partition backends.
Use a few strlcpy() instead of strncpy() for network ioctl structs.
We seem to have no formal documentation stating the various
char if*_name[IFNAMSIZ]; /* if name, e.g. "en0" */
elements in ioctls are nul terminated, but the peanut gallery claims
it is so - and at least half of the code in-tree touching them agrees.
Too much disklabel magic happening in the kernel - to compensate force
MBR first when trying to identify the existing partitioning scheme of
a disk.
 1.6.2.1 18-Aug-2019  msaitoh Pull up following revision(s) (requested by martin in ticket #77):
usr.sbin/sysinst/arch/sandpoint/md.c: revision 1.6
usr.sbin/sysinst/arch/playstation2/md.c: revision 1.6
usr.sbin/sysinst/arch/evbppc/md.c: revision 1.6
usr.sbin/sysinst/arch/hpcarm/md.c: revision 1.6
usr.sbin/sysinst/arch/zaurus/md.c: revision 1.6
usr.sbin/sysinst/arch/arc/md.c: revision 1.9
usr.sbin/sysinst/arch/hpcmips/md.c: revision 1.6
usr.sbin/sysinst/arch/bebox/md.c: revision 1.6
usr.sbin/sysinst/arch/hpcsh/md.c: revision 1.7
usr.sbin/sysinst/arch/landisk/md.c: revision 1.11
usr.sbin/sysinst/arch/prep/md.c: revision 1.9
usr.sbin/sysinst/arch/i386/md.c: revision 1.21
usr.sbin/sysinst/arch/evbmips/md.c: revision 1.6
usr.sbin/sysinst/arch/evbarm/md.c: revision 1.9
usr.sbin/sysinst/arch/cobalt/md.c: revision 1.9
usr.sbin/sysinst/arch/ofppc/md.c: revision 1.8
When we ask the user to select a partitioning scheme and they refuse
(that is: select "Exit" in the menu), abort installation.
 1.2 02-Oct-2019  maya Split out /rescue to its own set and adapt installers/images to add it.

This is meant to make updates safer: if something goes wrong with updating
base, we still have the old, standalone /rescue to recover from.
 1.1 26-Jul-2014  dholland branches: 1.1.2; 1.1.6; 1.1.28; 1.1.30;
Move sysinst sources to usr.sbin.

This commit only physically moves the sources - there are no other
changes, to maximize the probability that this will be treated as a
rename if we ever do manage to migrate away from CVS.

Moving sysinst has been discussed on and off for years and has two
goals: making it easier to work on sysinst, and also making sysinst
available on running systems for use installing chroots and VM images
and other such things. None of the latter is possible yet, but as they
say, one thing at a time.

Doing this now was approved in an impromptu fashion by mrg, riz,
riastradh, me, and groo.
 1.1.30.1 17-Nov-2019  martin Pull up following revision(s) (requested by maya in ticket #435):

distrib/sets/maketars: revision 1.90
usr.sbin/sysinst/arch/playstation2/md.h: revision 1.2
usr.sbin/sysinst/arch/sandpoint/md.h: revision 1.3
usr.sbin/sysinst/arch/evbppc/md.h: revision 1.3
usr.sbin/sysinst/arch/hpcarm/md.h: revision 1.3
usr.sbin/sysinst/arch/mvme68k/md.h: revision 1.3
distrib/sun3/MakeInstTape: revision 1.3
usr.sbin/sysinst/util.c: revision 1.33
distrib/sets/lists/rescue/mi: revision 1.1
distrib/sets/lists/base/rescue.sun2: file removal
usr.sbin/sysinst/arch/zaurus/md.h: revision 1.3
distrib/sets/lists/base/rescue.ad.m68k.shl: file removal
distrib/sets/regpkgset: revision 1.13
usr.sbin/sysinst/arch/i386/md.h: revision 1.7
distrib/sets/lists/base/rescue.sparc: file removal
distrib/notes/mvme68k/xfer: revision 1.19
distrib/sets/sets.subr: revision 1.187
distrib/common/bootimage/Makefile.bootimage: revision 1.22
usr.sbin/sysinst/msg.mi.de: revision 1.16
usr.sbin/sysinst/arch/atari/md.h: revision 1.3
rescue/Makefile: revision 1.38
distrib/sets/lists/base/rescue.macppc: file removal
usr.sbin/sysinst/arch/arc/md.h: revision 1.4
distrib/miniroot/install.sub: revision 1.49
usr.sbin/sysinst/arch/acorn32/md.h: revision 1.3
usr.sbin/sysinst/arch/x68k/md.h: revision 1.3
usr.sbin/sysinst/arch/hpcmips/md.h: revision 1.3
usr.sbin/sysinst/arch/bebox/md.h: revision 1.3
usr.sbin/sysinst/arch/hpcsh/md.h: revision 1.2
distrib/sets/lists/base/rescue.shark: file removal
usr.sbin/sysinst/arch/emips/md.h: revision 1.5
distrib/utils/embedded/mkimage: revision 1.70
usr.sbin/sysinst/arch/shark/md.h: revision 1.3
usr.sbin/sysinst/arch/pmax/md.h: revision 1.4
usr.sbin/sysinst/arch/amiga/md.h: revision 1.4
usr.sbin/sysinst/arch/hp300/md.h: revision 1.5
rescue/list.ldconfig: file removal
distrib/sets/lists/base/rescue.ad.m68k: file removal
usr.sbin/sysinst/arch/prep/md.h: revision 1.4
usr.sbin/sysinst/arch/cats/md.h: revision 1.4
usr.sbin/sysinst/arch/amd64/md.h: revision 1.7
usr.sbin/sysinst/msg.mi.es: revision 1.17
usr.sbin/sysinst/msg.mi.fr: revision 1.20
usr.sbin/sysinst/msg.mi.pl: revision 1.23
distrib/sets/lists/base/rescue.i386: file removal
usr.sbin/sysinst/arch/evbarm/md.h: revision 1.3
distrib/sets/lists/base/rescue.vax: file removal
distrib/amd64/uefi-installimage/Makefile.bootimage: revision 1.12
usr.sbin/sysinst/arch/evbmips/md.h: revision 1.3
distrib/sets/lists/base/rescue.mi: file removal
distrib/sets/README: revision 1.14
usr.sbin/sysinst/arch/sgimips/md.h: revision 1.4
distrib/sets/lists/base/rescue.sparc64: file removal
distrib/sets/lists/base/rescue.mi: revision 1.45
distrib/sets/lists/base/rescue.mi: revision 1.46
usr.sbin/sysinst/arch/ofppc/md.h: revision 1.4
usr.sbin/sysinst/arch/cobalt/md.h: revision 1.4
distrib/sets/lists/base/rescue.ad.arm: file removal
distrib/sets/lists/base/rescue.mac68k: file removal
usr.sbin/sysinst/defs.h: revision 1.45
usr.sbin/sysinst/arch/landisk/md.h: revision 1.2
distrib/notes/atari/xfer: revision 1.17
etc/Makefile: revision 1.441
usr.sbin/sysinst/msg.mi.en: revision 1.22
distrib/sun2/MakeInstTape: revision 1.2

Remove ldconfig from /rescue, and mark it MI obsolete.
- ldconfig in netbsd refers to a.out binaries only. We've been ELF-only
since NetBSD 2.0 or so, and having it in /rescue served little purpose
even before that, as /rescue is standalone.
- Using MI obsolete to avoid the need for MD set lists where ldconfig
is the sole entry

Mark /rescue/edlabel as MI-obsolete, so we can remove all remaining MD
rescue set list files.

Split out /rescue to its own set and adapt installers/images to add it.

This is meant to make updates safer: if something goes wrong with updating
base, we still have the old, standalone /rescue to recover from.
 1.1.28.1 13-Apr-2020  martin Mostly merge changes from HEAD upto 20200411
 1.1.6.2 20-Aug-2014  tls Rebase to HEAD as of a few days ago.
 1.1.6.1 26-Jul-2014  tls file md.h was added on branch tls-maxphys on 2014-08-20 00:05:16 +0000
 1.1.2.2 10-Aug-2014  tls Rebase.
 1.1.2.1 26-Jul-2014  tls file md.h was added on branch tls-earlyentropy on 2014-08-10 07:00:26 +0000
 1.1 26-Jul-2014  dholland branches: 1.1.2; 1.1.6;
Move sysinst sources to usr.sbin.

This commit only physically moves the sources - there are no other
changes, to maximize the probability that this will be treated as a
rename if we ever do manage to migrate away from CVS.

Moving sysinst has been discussed on and off for years and has two
goals: making it easier to work on sysinst, and also making sysinst
available on running systems for use installing chroots and VM images
and other such things. None of the latter is possible yet, but as they
say, one thing at a time.

Doing this now was approved in an impromptu fashion by mrg, riz,
riastradh, me, and groo.
 1.1.6.2 20-Aug-2014  tls Rebase to HEAD as of a few days ago.
 1.1.6.1 26-Jul-2014  tls file menus.md.en was added on branch tls-maxphys on 2014-08-20 00:05:16 +0000
 1.1.2.2 10-Aug-2014  tls Rebase.
 1.1.2.1 26-Jul-2014  tls file menus.md.en was added on branch tls-earlyentropy on 2014-08-10 07:00:26 +0000
 1.1 26-Jul-2014  dholland branches: 1.1.2; 1.1.6;
Move sysinst sources to usr.sbin.

This commit only physically moves the sources - there are no other
changes, to maximize the probability that this will be treated as a
rename if we ever do manage to migrate away from CVS.

Moving sysinst has been discussed on and off for years and has two
goals: making it easier to work on sysinst, and also making sysinst
available on running systems for use installing chroots and VM images
and other such things. None of the latter is possible yet, but as they
say, one thing at a time.

Doing this now was approved in an impromptu fashion by mrg, riz,
riastradh, me, and groo.
 1.1.6.2 20-Aug-2014  tls Rebase to HEAD as of a few days ago.
 1.1.6.1 26-Jul-2014  tls file msg.md.en was added on branch tls-maxphys on 2014-08-20 00:05:16 +0000
 1.1.2.2 10-Aug-2014  tls Rebase.
 1.1.2.1 26-Jul-2014  tls file msg.md.en was added on branch tls-earlyentropy on 2014-08-10 07:00:26 +0000
 1.1 26-Jul-2014  dholland branches: 1.1.2; 1.1.6;
Move sysinst sources to usr.sbin.

This commit only physically moves the sources - there are no other
changes, to maximize the probability that this will be treated as a
rename if we ever do manage to migrate away from CVS.

Moving sysinst has been discussed on and off for years and has two
goals: making it easier to work on sysinst, and also making sysinst
available on running systems for use installing chroots and VM images
and other such things. None of the latter is possible yet, but as they
say, one thing at a time.

Doing this now was approved in an impromptu fashion by mrg, riz,
riastradh, me, and groo.
 1.1.6.2 20-Aug-2014  tls Rebase to HEAD as of a few days ago.
 1.1.6.1 26-Jul-2014  tls file Makefile was added on branch tls-maxphys on 2014-08-20 00:05:16 +0000
 1.1.2.2 10-Aug-2014  tls Rebase.
 1.1.2.1 26-Jul-2014  tls file Makefile was added on branch tls-earlyentropy on 2014-08-10 07:00:26 +0000
 1.9 29-Jan-2022  martin When upgrading, update the boot code post extraction from
the updated target file system.
 1.8 12-Oct-2020  martin PR 55536: when we find existing partition tables and have alternative
formats available, offer to delete partitions and create new ones from
scratch (in some other or the same on-disk format).
 1.7 13-Jul-2019  martin branches: 1.7.2;
We may call md_pre_mount() multiple times for the same install set,
so pass an additional index argument so MD code knows which part
of the install will be mounted next.
 1.6 20-Jun-2019  christos Use _fmt_ msg_ methods when formats are needed.
 1.5 12-Jun-2019  martin Rework internal data structures and "interfaces to user interface" functions
to get rid of all disklabel assumptions.

Previously (even for GPT partitioning) struct disklabel was used, which
obviously breaks large disk setups. Also many MD parts and parts of the
user interface assumed (a) a struct disklabel is used internally to
store partitioning information and (b) partitions are named 'a' ... $MAXPART.

Get rid of this and replace it with a quite abstract interface that should
be able to deal with all variants in partition storage:

- partitions are stored in a (partly abstract) struct disk_partitions
and most parts of it are only accessed via accessor functions provided
by a "partitioning scheme".

- implement partitioning schemes for MBR, disklabel and GPT (with likely
RDB [amiga] and Apple Partition Map [mac*] to follow soon)

- partitioning schemes may be cascaded, e.g. on x86 when using MBR as
"outer partitions", we have disklabel as "inner partitions".

- all user interface goes via accessor functions in the partitioning scheme,
some of which return pointers to special user interface descriptors
(e.g. to allow editing partition flags, which are scheme specific)

Overall the user interface changes (in this initial step) are minimal but
noticable. A new Anita is needed for automatic test setups - many thanks
to Andreas Gustafsson for lots of early testing and a new Anita version,
and to Manuel Bouyer for cooperation and tests of the Anita release.

This work was sponsored by The NetBSD Foundation, Inc.
 1.4 28-May-2019  gson Clear the screen after running installboot. If we don't, there will
be a leftover line saying "Status: Finished" at the top of subsequent
screens, and the message "Hit enter to continue" will be redrawn after
the set selection is complete, which confuses literal-minded robotic
users such as anita. Fix copied from landisk.
 1.3 18-May-2018  joerg branches: 1.3.2;
deconst -> __UNCONST, the former involves UB with NULL arithmetic.
 1.2 03-Aug-2014  martin branches: 1.2.2; 1.2.6; 1.2.20; 1.2.26;
(Finally) merge a slightly modified version of the 2012 GSoC results
from Eugene Lozovoy: add extended partitioning options to sysinst.
Still needs some testing and polishing, but it now is possible to use GPT
or to create a RAID set from scratch and install onto it.
 1.1 26-Jul-2014  dholland Move sysinst sources to usr.sbin.

This commit only physically moves the sources - there are no other
changes, to maximize the probability that this will be treated as a
rename if we ever do manage to migrate away from CVS.

Moving sysinst has been discussed on and off for years and has two
goals: making it easier to work on sysinst, and also making sysinst
available on running systems for use installing chroots and VM images
and other such things. None of the latter is possible yet, but as they
say, one thing at a time.

Doing this now was approved in an impromptu fashion by mrg, riz,
riastradh, me, and groo.
 1.2.26.1 21-May-2018  pgoyette Sync with HEAD
 1.2.20.1 09-Jun-2018  martin Pull up following revision(s) (requested by joerg in ticket #869):

usr.sbin/sysinst/arch/mvme68k/md.c: revision 1.5
usr.sbin/sysinst/net.c: revision 1.24
usr.sbin/sysinst/partman.c: revision 1.22
usr.sbin/sysinst/menus.mi: revision 1.12
usr.sbin/sysinst/arch/i386/md.c: revision 1.8
usr.sbin/sysinst/arch/alpha/md.c: revision 1.3
usr.sbin/sysinst/bsddisklabel.c: revision 1.3
usr.sbin/sysinst/arch/x68k/md.c: revision 1.5
usr.sbin/sysinst/arch/hp300/md.c: revision 1.5
usr.sbin/sysinst/arch/emips/md.c: revision 1.4
usr.sbin/sysinst/arch/pmax/md.c: revision 1.3
usr.sbin/sysinst/arch/mipsco/md.c: revision 1.3
usr.sbin/sysinst/arch/hppa/md.c: revision 1.3
usr.sbin/sysinst/util.c: revision 1.8
usr.sbin/sysinst/defs.h: revision 1.10
usr.sbin/sysinst/arch/landisk/md.c: revision 1.4

deconst -> __UNCONST, the former involves UB with NULL arithmetic.
 1.2.6.2 20-Aug-2014  tls Rebase to HEAD as of a few days ago.
 1.2.6.1 03-Aug-2014  tls file md.c was added on branch tls-maxphys on 2014-08-20 00:05:16 +0000
 1.2.2.2 10-Aug-2014  tls Rebase.
 1.2.2.1 03-Aug-2014  tls file md.c was added on branch tls-earlyentropy on 2014-08-10 07:00:26 +0000
 1.3.2.2 13-Apr-2020  martin Mostly merge changes from HEAD upto 20200411
 1.3.2.1 10-Jun-2019  christos Sync with HEAD
 1.7.2.2 02-Feb-2022  msaitoh Pull up following revision(s) (requested by martin in ticket #1422):
usr.sbin/sysinst/util.c: revision 1.64
usr.sbin/sysinst/arch/hpcsh/md.c: revision 1.11
usr.sbin/sysinst/arch/alpha/md.c: revision 1.10
usr.sbin/sysinst/arch/sparc64/md.c: revision 1.7
usr.sbin/sysinst/arch/emips/md.c: revision 1.10
usr.sbin/sysinst/arch/cobalt/md.c: revision 1.15
usr.sbin/sysinst/arch/x68k/md.c: revision 1.12
usr.sbin/sysinst/arch/sandpoint/md.c: revision 1.10
usr.sbin/sysinst/arch/luna68k/md.c: revision 1.10
usr.sbin/sysinst/arch/hp300/md.c: revision 1.12
usr.sbin/sysinst/arch/vax/md.c: revision 1.8
usr.sbin/sysinst/arch/hpcmips/md.c: revision 1.10
usr.sbin/sysinst/target.c: revision 1.16
usr.sbin/sysinst/arch/mvme68k/md.c: revision 1.12
usr.sbin/sysinst/arch/arc/md.c: revision 1.14
usr.sbin/sysinst/target.c: revision 1.17
usr.sbin/sysinst/arch/i386/md.c: revision 1.34
usr.sbin/sysinst/arch/mac68k/md.c: revision 1.11
usr.sbin/sysinst/arch/atari/md.c: revision 1.8
usr.sbin/sysinst/arch/sgimips/md.c: revision 1.10
usr.sbin/sysinst/arch/acorn32/md.c: revision 1.8
usr.sbin/sysinst/install.c: revision 1.22
usr.sbin/sysinst/arch/amiga/md.c: revision 1.7
usr.sbin/sysinst/arch/cats/md.c: revision 1.6
usr.sbin/sysinst/arch/dummy/md.c: revision 1.7
usr.sbin/sysinst/arch/shark/md.c: revision 1.7
usr.sbin/sysinst/arch/pmax/md.c: revision 1.9
usr.sbin/sysinst/arch/newsmips/md.c: revision 1.7
usr.sbin/sysinst/arch/mipsco/md.c: revision 1.9
usr.sbin/sysinst/arch/landisk/md.c: revision 1.15
usr.sbin/sysinst/arch/hppa/md.c: revision 1.9
usr.sbin/sysinst/arch/prep/md.c: revision 1.14
usr.sbin/sysinst/defs.h: revision 1.77
usr.sbin/sysinst/arch/ofppc/md.c: revision 1.13
usr.sbin/sysinst/arch/ews4800mips/md.c: revision 1.8
usr.sbin/sysinst/defs.h: revision 1.78
usr.sbin/sysinst/arch/macppc/md.c: revision 1.7
usr.sbin/sysinst/arch/evbppc/md.c: revision 1.10
usr.sbin/sysinst/defs.h: revision 1.79
usr.sbin/sysinst/gpt.c: revision 1.27
usr.sbin/sysinst/arch/bebox/md.c: revision 1.10
usr.sbin/sysinst/gpt.c: revision 1.28
usr.sbin/sysinst/arch/sparc/md.c: revision 1.7
usr.sbin/sysinst/arch/evbsh3/md.c: revision 1.7
usr.sbin/sysinst/arch/evbarm/md.c: revision 1.22
usr.sbin/sysinst/arch/news68k/md.c: revision 1.8
usr.sbin/sysinst/upgrade.c: revision 1.19
usr.sbin/sysinst/arch/zaurus/md.c: revision 1.12
usr.sbin/sysinst/arch/playstation2/md.c: revision 1.10
usr.sbin/sysinst/arch/hpcarm/md.c: revision 1.11
usr.sbin/sysinst/arch/evbmips/md.c: revision 1.10
usr.sbin/sysinst/main.c: revision 1.28
Add an option to set the directory where we look for message catalogs.
Try to get rid of all wedges we created (after unmounting).
When upgrading, update the boot code post extraction from
the updated target file system.
Do not defer wedge deletions when we have nothing mounted.
Define and use a constant for maximum disk name length.
 1.7.2.1 15-Oct-2020  bouyer Pull up following revision(s) (requested by martin in ticket #1113):
usr.sbin/sysinst/bsddisklabel.c: revision 1.46
usr.sbin/sysinst/bsddisklabel.c: revision 1.47
usr.sbin/sysinst/disklabel.c: revision 1.40
usr.sbin/sysinst/arch/cobalt/md.c: revision 1.13
usr.sbin/sysinst/bsddisklabel.c: revision 1.48
usr.sbin/sysinst/disklabel.c: revision 1.41
usr.sbin/sysinst/arch/cobalt/md.c: revision 1.14
usr.sbin/sysinst/bsddisklabel.c: revision 1.49
usr.sbin/sysinst/disklabel.c: revision 1.42
usr.sbin/sysinst/Makefile.inc: revision 1.34
usr.sbin/sysinst/disks.c: revision 1.70
usr.sbin/sysinst/arch/hp300/md.c: revision 1.11
usr.sbin/sysinst/disks.c: revision 1.71
usr.sbin/sysinst/arch/i386/md.h: revision 1.8
usr.sbin/sysinst/arch/arc/md.c: revision 1.13
usr.sbin/sysinst/mbr.h: revision 1.5
usr.sbin/sysinst/mbr.h: revision 1.6
usr.sbin/sysinst/arch/mac68k/md.c: revision 1.10
usr.sbin/sysinst/bsddisklabel.c: revision 1.50
usr.sbin/sysinst/arch/acorn32/md.c: revision 1.7
usr.sbin/sysinst/bsddisklabel.c: revision 1.51
usr.sbin/sysinst/bsddisklabel.c: revision 1.52
usr.sbin/sysinst/bsddisklabel.c: revision 1.53
usr.sbin/sysinst/bsddisklabel.c: revision 1.54
usr.sbin/sysinst/bsddisklabel.c: revision 1.55
usr.sbin/sysinst/bsddisklabel.c: revision 1.56
usr.sbin/sysinst/arch/dummy/md.c: revision 1.6
usr.sbin/sysinst/arch/amd64/md.h: revision 1.9
usr.sbin/sysinst/arch/evbsh3/md.c: revision 1.6
usr.sbin/sysinst/arch/sparc/md.c: revision 1.6
usr.sbin/sysinst/arch/zaurus/md.c: revision 1.10
usr.sbin/sysinst/arch/x68k/md.c: revision 1.11
usr.sbin/sysinst/arch/sandpoint/md.c: revision 1.9
usr.sbin/sysinst/arch/vax/md.c: revision 1.7
usr.sbin/sysinst/arch/luna68k/md.c: revision 1.9
usr.sbin/sysinst/gpt.c: revision 1.19
usr.sbin/sysinst/arch/i386/md.c: revision 1.31
usr.sbin/sysinst/arch/i386/md.c: revision 1.32
usr.sbin/sysinst/arch/evbarm/md.c: revision 1.17
usr.sbin/sysinst/arch/evbarm/md.c: revision 1.18
usr.sbin/sysinst/arch/evbarm/md.c: revision 1.19
usr.sbin/sysinst/arch/shark/md.c: revision 1.6
usr.sbin/sysinst/arch/landisk/md.c: revision 1.14
usr.sbin/sysinst/util.c: revision 1.43
usr.sbin/sysinst/gpt.c: revision 1.20
usr.sbin/sysinst/util.c: revision 1.44
usr.sbin/sysinst/gpt.c: revision 1.21
usr.sbin/sysinst/gpt.c: revision 1.22
usr.sbin/sysinst/arch/evbarm/msg.md.en: revision 1.2
usr.sbin/sysinst/arch/ofppc/md.c: revision 1.11
usr.sbin/sysinst/util.c: revision 1.46
usr.sbin/sysinst/arch/ofppc/md.c: revision 1.12
usr.sbin/sysinst/util.c: revision 1.47
usr.sbin/sysinst/arch/evbarm/md.h: revision 1.6
usr.sbin/sysinst/util.c: revision 1.48
usr.sbin/sysinst/arch/evbarm/md.h: revision 1.7
usr.sbin/sysinst/arch/evbmips/md.c: revision 1.9
usr.sbin/sysinst/msg.mi.fr: revision 1.28
usr.sbin/sysinst/msg.mi.fr: revision 1.29
usr.sbin/sysinst/arch/sgimips/md.c: revision 1.9
usr.sbin/sysinst/arch/evbarm/Makefile: revision 1.3
usr.sbin/sysinst/msg.mi.de: revision 1.23
usr.sbin/sysinst/arch/hpcsh/md.c: revision 1.10
usr.sbin/sysinst/msg.mi.de: revision 1.24
usr.sbin/sysinst/install.c: revision 1.15
usr.sbin/sysinst/install.c: revision 1.16
usr.sbin/sysinst/arch/sparc64/md.c: revision 1.6
usr.sbin/sysinst/install.c: revision 1.17
usr.sbin/sysinst/install.c: revision 1.18
usr.sbin/sysinst/partitions.h: revision 1.16
usr.sbin/sysinst/install.c: revision 1.19
usr.sbin/sysinst/partitions.h: revision 1.17
usr.sbin/sysinst/arch/evbppc/md.c: revision 1.9
usr.sbin/sysinst/arch/playstation2/md.c: revision 1.9
usr.sbin/sysinst/partitions.h: revision 1.18
usr.sbin/sysinst/arch/hpcarm/md.c: revision 1.9
usr.sbin/sysinst/partitions.h: revision 1.19
usr.sbin/sysinst/msg.mi.es: revision 1.24
usr.sbin/sysinst/msg.mi.es: revision 1.25
usr.sbin/sysinst/msg.mi.es: revision 1.26
usr.sbin/sysinst/arch/zaurus/md.c: revision 1.9
usr.sbin/sysinst/target.c: revision 1.13
usr.sbin/sysinst/target.c: revision 1.14
usr.sbin/sysinst/part_edit.c: revision 1.17
usr.sbin/sysinst/part_edit.c: revision 1.18
usr.sbin/sysinst/msg.mi.fr: revision 1.30
usr.sbin/sysinst/arch/mvme68k/md.c: revision 1.11
usr.sbin/sysinst/part_edit.c: revision 1.19
usr.sbin/sysinst/msg.mi.fr: revision 1.31
usr.sbin/sysinst/arch/alpha/md.c: revision 1.9
usr.sbin/sysinst/msg.mi.en: revision 1.30
usr.sbin/sysinst/defs.h: revision 1.56
usr.sbin/sysinst/msg.mi.en: revision 1.31
usr.sbin/sysinst/defs.h: revision 1.57
usr.sbin/sysinst/msg.mi.en: revision 1.32
usr.sbin/sysinst/arch/amiga/md.c: revision 1.6
usr.sbin/sysinst/arch/hpcmips/md.c: revision 1.9
usr.sbin/sysinst/defs.h: revision 1.58
usr.sbin/sysinst/arch/cats/md.c: revision 1.5
usr.sbin/sysinst/defs.h: revision 1.59
usr.sbin/sysinst/arch/newsmips/md.c: revision 1.6
usr.sbin/sysinst/arch/pmax/md.c: revision 1.8
usr.sbin/sysinst/arch/mipsco/md.c: revision 1.8
usr.sbin/sysinst/part_edit.c: revision 1.20
usr.sbin/sysinst/part_edit.c: revision 1.21
usr.sbin/sysinst/arch/macppc/md.c: revision 1.6
usr.sbin/sysinst/part_edit.c: revision 1.22
usr.sbin/sysinst/part_edit.c: revision 1.23
usr.sbin/sysinst/part_edit.c: revision 1.24
usr.sbin/sysinst/defs.h: revision 1.60
usr.sbin/sysinst/arch/mac68k/Makefile: revision 1.3
usr.sbin/sysinst/defs.h: revision 1.61
usr.sbin/sysinst/defs.h: revision 1.63
usr.sbin/sysinst/defs.h: revision 1.64
usr.sbin/sysinst/defs.h: revision 1.65
usr.sbin/sysinst/label.c: revision 1.21
usr.sbin/sysinst/defs.h: revision 1.66
usr.sbin/sysinst/label.c: revision 1.22
usr.sbin/sysinst/defs.h: revision 1.67
usr.sbin/sysinst/label.c: revision 1.23
usr.sbin/sysinst/label.c: revision 1.24
usr.sbin/sysinst/label.c: revision 1.25
usr.sbin/sysinst/label.c: revision 1.26
usr.sbin/sysinst/label.c: revision 1.27
usr.sbin/sysinst/msg.mi.pl: revision 1.31
usr.sbin/sysinst/label.c: revision 1.28
usr.sbin/sysinst/msg.mi.pl: revision 1.32
usr.sbin/sysinst/label.c: revision 1.29
usr.sbin/sysinst/arch/atari/md.c: revision 1.7
usr.sbin/sysinst/disklabel.c: revision 1.36
usr.sbin/sysinst/disklabel.c: revision 1.37
usr.sbin/sysinst/disklabel.c: revision 1.38
usr.sbin/sysinst/disklabel.c: revision 1.39
usr.sbin/sysinst/arch/bebox/md.c: revision 1.9
usr.sbin/sysinst/mbr.c: revision 1.32
usr.sbin/sysinst/disks.c: revision 1.66
usr.sbin/sysinst/mbr.c: revision 1.33
usr.sbin/sysinst/disks.c: revision 1.67
usr.sbin/sysinst/mbr.c: revision 1.34
usr.sbin/sysinst/arch/emips/md.c: revision 1.9
usr.sbin/sysinst/disks.c: revision 1.68
usr.sbin/sysinst/partitions.c: revision 1.11
usr.sbin/sysinst/mbr.c: revision 1.35
usr.sbin/sysinst/disks.c: revision 1.69
usr.sbin/sysinst/mbr.c: revision 1.36
usr.sbin/sysinst/arch/hppa/md.c: revision 1.8
usr.sbin/sysinst/arch/prep/md.c: revision 1.13
usr.sbin/sysinst/label.c: revision 1.30
usr.sbin/sysinst/arch/ews4800mips/md.c: revision 1.7
usr.sbin/sysinst/main.c: revision 1.21
usr.sbin/sysinst/main.c: revision 1.22
usr.sbin/sysinst/main.c: revision 1.23
usr.sbin/sysinst/bsddisklabel.c: revision 1.40
usr.sbin/sysinst/main.c: revision 1.24
usr.sbin/sysinst/arch/cobalt/md.h: revision 1.6
usr.sbin/sysinst/bsddisklabel.c: revision 1.41
usr.sbin/sysinst/main.c: revision 1.25
usr.sbin/sysinst/arch/news68k/md.c: revision 1.7
usr.sbin/sysinst/bsddisklabel.c: revision 1.42
usr.sbin/sysinst/bsddisklabel.c: revision 1.43
usr.sbin/sysinst/bsddisklabel.c: revision 1.44
usr.sbin/sysinst/bsddisklabel.c: revision 1.45
Use strlcpy in a few places to guarnatee 0-terminated strings
Rever previous: the d_packname in struct disklabel is not NUL terminated.
Disable the warning instead.
Do not force -Os optimization (unless SMALLPROG)
Remove unused "rel" global variable and make the -r option a no-op.
PR 55045: strlcpy(NULL, ..., 0) considered harmfull in some implementations.
PR misc/54886: bump threshold for automatic/default creation of a tmpfs /tmp
up slightly (to 384 MB ram). This will make sure the default install has
a > 64 MB /tmp available (number pulled out of thin air, 64 MB is the minimum
required by the ZFS tests).
Don't depend on common symbol definitions.
boardype should not be common.
Redo the root-size-limit check again after we grew the root partition
for kernel dumps. Auto-enable the /usr partition if it overflows.
For all non-root partitions, default to FFSv2.
When extending a partition (to fill the total disk size) do respect
size limits.
Do not suggest a size limited partition for extension by default.
Minor tweak to previous: when forcing a /usr partition just to have an
arbitrary extendable partition, still use its default size initially.
At the end of a new installation save entropy.
Ooops, backout previous - twice the entropy saving is not needed.
Instead slightly improve the (slightly) hidden other code that already
did it.
PR 55202: disable swapping if we started it due to low ram
it's "its"
Remove "If you booted from a floppy" message
Set HAVE_INSTALL_IMAGE for evbarm
Change mountpoint of boot ext2fs from /stand to /ext2 to avoid conflict.
Should be pulled up to netbsd-9, with fixes of PR/55060.
MBR type for Ext2 should be MBR_PTYPE_LNXEXT2, not MBR_PTYPE_FAT12.
Silence -Wstringop-truncation for ``name'' in disp_selected_part().
This variable is used only for display, and truncation seems harmless.
PR 55572: avoid crash when answering the mount point prompt for a previously
empty mount point with an emptry sting.
When adding a new partition in the concrete partition editor, make sure
to set a pointer to the partition table interface in the new entry.
Otherwise we may end up not writing back the partitions at all, leading
to further fallout later.
Receipe to reproduce the issue from Frederic Fauberteau, thanks!
In the concrete partitions editor, after deleting the last partition move
the menu selection to the "add a partition" entry (instead of the sentinel
line which is not an active menu entry).
Typo in comment
Keep a list of all partition tables from which we have deleted partitions
and make sure we update those partition tables when writing partitions,
even if no install related partition remains on them.
Fix display of timezone selection menu
If there is no current partitioning manager assume we are editing the
current system and make target_already_root() return true.
Fixes various fallout when using sysinst post installation.
PR 55377: mark boot partitions in the partition size display, as suggested
by Izumi Tsutsui (minor modifications + all bugs by me)
PR 55378: do not assume RAW_PART to be either 2 or 3
PR 55379: avoid creating bogus /etc/fstab lines for /dev/cd* if no
cdrom is available.
PR 55381: try to deal with moved (but not yet saved) partitions when
calculating free space
Apply patch provided by Izumi Tsutsui in PR 55382: make ext2 partitions
show up in the outer (MBR) partition table, needed for example on Cobalt
where firmware boots from that partition.
PR 55384: detangle pm->ptstart from the "install" flag (selecting a
target partition). Instead introduce a new PTI_INSTALL_TARGET per partition
flag and deal with it in the partitioning backends.
Honour pm->ptstart when allocating new partitions - it is supposed to be
the first sector usable by NetBSD.
If we have no explicitly marke target root partition, make sure to set
the proper flag on the implicit one.
When merging existing partitions with desired target system layout
information, only force the "mount" flag if the existing partitions
has a valid mount point.
Add a heuristic to detect and properly mark EFI system partitions
when re-using pre-existing partitions.
When MD code requests a reserved area (at the start of the disk)
make sure to properly account for the "lost" space during all calculations
and especially when expanding the main partition to fill the disk.
Avoid using the global "pm" or a passed device descriptons when we are
passing disk limits explicitly anyway.
Simplify/fix a few rounding calculations.
When creating new partitions for "full disk" use, pass a install target
hint to the partitioning backend (for the outer NetBSD partition).
Use an install target hint to mark a new partition active.
When compiled with BOOTSEL support, also name the new partition "NetBSD".
Remove more pm->ptstart abuse - calculate values localy where needed
instead.
Fix editing start and size of not yet existing outer partitions.
Previously we abused pm->ptstart / pm->ptsize to pass the bounds of the
NetBSD outer partition to the inner partition editor - but now this is
not a valid assumption any more, so explicitly fix the bounds if an
outer partition exists.
Remove very strange code that special-cased MSDOS file systems and refused
to newfs the partition (despite explicit request to do so) if it was
mountable.
Accidently carried over from a dim and distant past, before we had
fsck_newfs.
PR 55536: when we find existing partition tables and have alternative
formats available, offer to delete partitions and create new ones from
scratch (in some other or the same on-disk format).
Minor fix to previous: fix condition when we offer the partition type
switch - it makes sense even if the disk is partitioned but has no valid
partitions.
Before forcing MBR partitions into our disklabel, make sure they are not
there yet - could happen in various paths when reusing existing partitions
(or parts of that) - previously we would blindly duplicate identical
partitions.
Ooops, part of previous was not meant to be included yet
When renumbering partitions (after deletions) be slightly more lax
in matching, to cope with differences between MBR EFI partitions and
disklabel MSDOS partitions.
PR 55142: on popular demand bring back expert options to adjust the
number of free inodes, block size and fragment size for FFS and LFS.
Fix copy & pasto noticed by Jason Mitchell: change the type of a GPT
partition via "gpt type" - not "gpt label".
Fix copy & pasto (missing "again" label)
Remove dead code
Move MBR writing (if any) post disklabel writing, otherwise strange
interactions happen.
Properly convert partition default sizes in MB to number of sectors
 1.5 01-Jun-2025  skrll Allow any/all sets in hppa including Xserver.
 1.4 26-Apr-2025  tsutsui Remove obsolete MD 'PART_(ROOT|SWAP|BSD|RAW|USR|REST|FIRST_FREE)' defines.

Patch from Miod Vallat.
 1.3 16-Jun-2022  tsutsui branches: 1.3.4;
Define DEFSWAPSIZE properly. DEFSWAPRAM seems obsolete.
 1.2 16-Nov-2018  martin Sync install size estimates with current reality
 1.1 26-Jul-2014  dholland branches: 1.1.2; 1.1.6; 1.1.26; 1.1.28;
Move sysinst sources to usr.sbin.

This commit only physically moves the sources - there are no other
changes, to maximize the probability that this will be treated as a
rename if we ever do manage to migrate away from CVS.

Moving sysinst has been discussed on and off for years and has two
goals: making it easier to work on sysinst, and also making sysinst
available on running systems for use installing chroots and VM images
and other such things. None of the latter is possible yet, but as they
say, one thing at a time.

Doing this now was approved in an impromptu fashion by mrg, riz,
riastradh, me, and groo.
 1.1.28.1 10-Jun-2019  christos Sync with HEAD
 1.1.26.1 26-Nov-2018  pgoyette Sync with HEAD, resolve a couple of conflicts
 1.1.6.2 20-Aug-2014  tls Rebase to HEAD as of a few days ago.
 1.1.6.1 26-Jul-2014  tls file md.h was added on branch tls-maxphys on 2014-08-20 00:05:16 +0000
 1.1.2.2 10-Aug-2014  tls Rebase.
 1.1.2.1 26-Jul-2014  tls file md.h was added on branch tls-earlyentropy on 2014-08-10 07:00:26 +0000
 1.3.4.1 02-Aug-2025  perseant Sync with HEAD
 1.1 26-Jul-2014  dholland branches: 1.1.2; 1.1.6;
Move sysinst sources to usr.sbin.

This commit only physically moves the sources - there are no other
changes, to maximize the probability that this will be treated as a
rename if we ever do manage to migrate away from CVS.

Moving sysinst has been discussed on and off for years and has two
goals: making it easier to work on sysinst, and also making sysinst
available on running systems for use installing chroots and VM images
and other such things. None of the latter is possible yet, but as they
say, one thing at a time.

Doing this now was approved in an impromptu fashion by mrg, riz,
riastradh, me, and groo.
 1.1.6.2 20-Aug-2014  tls Rebase to HEAD as of a few days ago.
 1.1.6.1 26-Jul-2014  tls file menus.md.en was added on branch tls-maxphys on 2014-08-20 00:05:16 +0000
 1.1.2.2 10-Aug-2014  tls Rebase.
 1.1.2.1 26-Jul-2014  tls file menus.md.en was added on branch tls-earlyentropy on 2014-08-10 07:00:26 +0000
 1.1 26-Jul-2014  dholland branches: 1.1.2; 1.1.6;
Move sysinst sources to usr.sbin.

This commit only physically moves the sources - there are no other
changes, to maximize the probability that this will be treated as a
rename if we ever do manage to migrate away from CVS.

Moving sysinst has been discussed on and off for years and has two
goals: making it easier to work on sysinst, and also making sysinst
available on running systems for use installing chroots and VM images
and other such things. None of the latter is possible yet, but as they
say, one thing at a time.

Doing this now was approved in an impromptu fashion by mrg, riz,
riastradh, me, and groo.
 1.1.6.2 20-Aug-2014  tls Rebase to HEAD as of a few days ago.
 1.1.6.1 26-Jul-2014  tls file menus.md.es was added on branch tls-maxphys on 2014-08-20 00:05:16 +0000
 1.1.2.2 10-Aug-2014  tls Rebase.
 1.1.2.1 26-Jul-2014  tls file menus.md.es was added on branch tls-earlyentropy on 2014-08-10 07:00:26 +0000
 1.1 26-Jul-2014  dholland branches: 1.1.2; 1.1.6;
Move sysinst sources to usr.sbin.

This commit only physically moves the sources - there are no other
changes, to maximize the probability that this will be treated as a
rename if we ever do manage to migrate away from CVS.

Moving sysinst has been discussed on and off for years and has two
goals: making it easier to work on sysinst, and also making sysinst
available on running systems for use installing chroots and VM images
and other such things. None of the latter is possible yet, but as they
say, one thing at a time.

Doing this now was approved in an impromptu fashion by mrg, riz,
riastradh, me, and groo.
 1.1.6.2 20-Aug-2014  tls Rebase to HEAD as of a few days ago.
 1.1.6.1 26-Jul-2014  tls file menus.md.fr was added on branch tls-maxphys on 2014-08-20 00:05:16 +0000
 1.1.2.2 10-Aug-2014  tls Rebase.
 1.1.2.1 26-Jul-2014  tls file menus.md.fr was added on branch tls-earlyentropy on 2014-08-10 07:00:26 +0000
 1.1 26-Jul-2014  dholland branches: 1.1.2; 1.1.6;
Move sysinst sources to usr.sbin.

This commit only physically moves the sources - there are no other
changes, to maximize the probability that this will be treated as a
rename if we ever do manage to migrate away from CVS.

Moving sysinst has been discussed on and off for years and has two
goals: making it easier to work on sysinst, and also making sysinst
available on running systems for use installing chroots and VM images
and other such things. None of the latter is possible yet, but as they
say, one thing at a time.

Doing this now was approved in an impromptu fashion by mrg, riz,
riastradh, me, and groo.
 1.1.6.2 20-Aug-2014  tls Rebase to HEAD as of a few days ago.
 1.1.6.1 26-Jul-2014  tls file menus.md.pl was added on branch tls-maxphys on 2014-08-20 00:05:16 +0000
 1.1.2.2 10-Aug-2014  tls Rebase.
 1.1.2.1 26-Jul-2014  tls file menus.md.pl was added on branch tls-earlyentropy on 2014-08-10 07:00:26 +0000
 1.1 26-Jul-2014  dholland branches: 1.1.2; 1.1.6;
Move sysinst sources to usr.sbin.

This commit only physically moves the sources - there are no other
changes, to maximize the probability that this will be treated as a
rename if we ever do manage to migrate away from CVS.

Moving sysinst has been discussed on and off for years and has two
goals: making it easier to work on sysinst, and also making sysinst
available on running systems for use installing chroots and VM images
and other such things. None of the latter is possible yet, but as they
say, one thing at a time.

Doing this now was approved in an impromptu fashion by mrg, riz,
riastradh, me, and groo.
 1.1.6.2 20-Aug-2014  tls Rebase to HEAD as of a few days ago.
 1.1.6.1 26-Jul-2014  tls file msg.md.de was added on branch tls-maxphys on 2014-08-20 00:05:16 +0000
 1.1.2.2 10-Aug-2014  tls Rebase.
 1.1.2.1 26-Jul-2014  tls file msg.md.de was added on branch tls-earlyentropy on 2014-08-10 07:00:26 +0000
 1.1 26-Jul-2014  dholland branches: 1.1.2; 1.1.6;
Move sysinst sources to usr.sbin.

This commit only physically moves the sources - there are no other
changes, to maximize the probability that this will be treated as a
rename if we ever do manage to migrate away from CVS.

Moving sysinst has been discussed on and off for years and has two
goals: making it easier to work on sysinst, and also making sysinst
available on running systems for use installing chroots and VM images
and other such things. None of the latter is possible yet, but as they
say, one thing at a time.

Doing this now was approved in an impromptu fashion by mrg, riz,
riastradh, me, and groo.
 1.1.6.2 20-Aug-2014  tls Rebase to HEAD as of a few days ago.
 1.1.6.1 26-Jul-2014  tls file msg.md.en was added on branch tls-maxphys on 2014-08-20 00:05:16 +0000
 1.1.2.2 10-Aug-2014  tls Rebase.
 1.1.2.1 26-Jul-2014  tls file msg.md.en was added on branch tls-earlyentropy on 2014-08-10 07:00:26 +0000
 1.1 26-Jul-2014  dholland branches: 1.1.2; 1.1.6;
Move sysinst sources to usr.sbin.

This commit only physically moves the sources - there are no other
changes, to maximize the probability that this will be treated as a
rename if we ever do manage to migrate away from CVS.

Moving sysinst has been discussed on and off for years and has two
goals: making it easier to work on sysinst, and also making sysinst
available on running systems for use installing chroots and VM images
and other such things. None of the latter is possible yet, but as they
say, one thing at a time.

Doing this now was approved in an impromptu fashion by mrg, riz,
riastradh, me, and groo.
 1.1.6.2 20-Aug-2014  tls Rebase to HEAD as of a few days ago.
 1.1.6.1 26-Jul-2014  tls file msg.md.es was added on branch tls-maxphys on 2014-08-20 00:05:16 +0000
 1.1.2.2 10-Aug-2014  tls Rebase.
 1.1.2.1 26-Jul-2014  tls file msg.md.es was added on branch tls-earlyentropy on 2014-08-10 07:00:26 +0000
 1.1 26-Jul-2014  dholland branches: 1.1.2; 1.1.6;
Move sysinst sources to usr.sbin.

This commit only physically moves the sources - there are no other
changes, to maximize the probability that this will be treated as a
rename if we ever do manage to migrate away from CVS.

Moving sysinst has been discussed on and off for years and has two
goals: making it easier to work on sysinst, and also making sysinst
available on running systems for use installing chroots and VM images
and other such things. None of the latter is possible yet, but as they
say, one thing at a time.

Doing this now was approved in an impromptu fashion by mrg, riz,
riastradh, me, and groo.
 1.1.6.2 20-Aug-2014  tls Rebase to HEAD as of a few days ago.
 1.1.6.1 26-Jul-2014  tls file msg.md.fr was added on branch tls-maxphys on 2014-08-20 00:05:16 +0000
 1.1.2.2 10-Aug-2014  tls Rebase.
 1.1.2.1 26-Jul-2014  tls file msg.md.fr was added on branch tls-earlyentropy on 2014-08-10 07:00:26 +0000
 1.1 26-Jul-2014  dholland branches: 1.1.2; 1.1.6;
Move sysinst sources to usr.sbin.

This commit only physically moves the sources - there are no other
changes, to maximize the probability that this will be treated as a
rename if we ever do manage to migrate away from CVS.

Moving sysinst has been discussed on and off for years and has two
goals: making it easier to work on sysinst, and also making sysinst
available on running systems for use installing chroots and VM images
and other such things. None of the latter is possible yet, but as they
say, one thing at a time.

Doing this now was approved in an impromptu fashion by mrg, riz,
riastradh, me, and groo.
 1.1.6.2 20-Aug-2014  tls Rebase to HEAD as of a few days ago.
 1.1.6.1 26-Jul-2014  tls file msg.md.pl was added on branch tls-maxphys on 2014-08-20 00:05:16 +0000
 1.1.2.2 10-Aug-2014  tls Rebase.
 1.1.2.1 26-Jul-2014  tls file msg.md.pl was added on branch tls-earlyentropy on 2014-08-10 07:00:26 +0000
 1.2 12-Jun-2019  martin Rework internal data structures and "interfaces to user interface" functions
to get rid of all disklabel assumptions.

Previously (even for GPT partitioning) struct disklabel was used, which
obviously breaks large disk setups. Also many MD parts and parts of the
user interface assumed (a) a struct disklabel is used internally to
store partitioning information and (b) partitions are named 'a' ... $MAXPART.

Get rid of this and replace it with a quite abstract interface that should
be able to deal with all variants in partition storage:

- partitions are stored in a (partly abstract) struct disk_partitions
and most parts of it are only accessed via accessor functions provided
by a "partitioning scheme".

- implement partitioning schemes for MBR, disklabel and GPT (with likely
RDB [amiga] and Apple Partition Map [mac*] to follow soon)

- partitioning schemes may be cascaded, e.g. on x86 when using MBR as
"outer partitions", we have disklabel as "inner partitions".

- all user interface goes via accessor functions in the partitioning scheme,
some of which return pointers to special user interface descriptors
(e.g. to allow editing partition flags, which are scheme specific)

Overall the user interface changes (in this initial step) are minimal but
noticable. A new Anita is needed for automatic test setups - many thanks
to Andreas Gustafsson for lots of early testing and a new Anita version,
and to Manuel Bouyer for cooperation and tests of the Anita release.

This work was sponsored by The NetBSD Foundation, Inc.
 1.1 26-Jul-2014  dholland branches: 1.1.2; 1.1.6; 1.1.28;
Move sysinst sources to usr.sbin.

This commit only physically moves the sources - there are no other
changes, to maximize the probability that this will be treated as a
rename if we ever do manage to migrate away from CVS.

Moving sysinst has been discussed on and off for years and has two
goals: making it easier to work on sysinst, and also making sysinst
available on running systems for use installing chroots and VM images
and other such things. None of the latter is possible yet, but as they
say, one thing at a time.

Doing this now was approved in an impromptu fashion by mrg, riz,
riastradh, me, and groo.
 1.1.28.1 13-Apr-2020  martin Mostly merge changes from HEAD upto 20200411
 1.1.6.2 20-Aug-2014  tls Rebase to HEAD as of a few days ago.
 1.1.6.1 26-Jul-2014  tls file Makefile was added on branch tls-maxphys on 2014-08-20 00:05:16 +0000
 1.1.2.2 10-Aug-2014  tls Rebase.
 1.1.2.1 26-Jul-2014  tls file Makefile was added on branch tls-earlyentropy on 2014-08-10 07:00:26 +0000
 1.35 10-Feb-2022  martin x86: fix previous: in the UEFI case copy the bootloaders from install
media during initial installation, but use the (by then: updated)
files from the target disk for system upgrades.
 1.34 29-Jan-2022  martin When upgrading, update the boot code post extraction from
the updated target file system.
 1.33 23-Oct-2020  martin Do not force bootselector MBR code for installs with only a single named
partition.
 1.32 12-Oct-2020  martin PR 55536: when we find existing partition tables and have alternative
formats available, offer to delete partitions and create new ones from
scratch (in some other or the same on-disk format).
 1.31 10-Oct-2020  martin Remove more pm->ptstart abuse - calculate values localy where needed
instead.
 1.30 06-Feb-2020  martin PR install/54934: always use -f on the installboot invocation. We come
here post-newfs (and maybe should have dd'd zeros to the start of the
disk before newfs instead).
 1.29 27-Jan-2020  martin Fix support for non-512-byte/sector disks again after I broke it when
introducing the abstract partition backends.
 1.28 09-Jan-2020  martin Finish conversion of extended partitioning parts to new abstract
backend interface. XXX still could use a lot of polishing.
 1.27 13-Dec-2019  martin Remove bogus assert.
 1.26 18-Nov-2019  martin Fix previous: not a good idea to try to copy files from the not yet
extracted sets.
 1.25 18-Nov-2019  martin Fix previous: the install medium may not have /usr/mdec/prekern; it was
meant to copy the one from the just installed system.
 1.24 16-Nov-2019  martin On amd64 support installation with a KASLR kernel, via "custom install"
and selecting the GENERIC_KASLR kernel set.
Setup /prekern and boot.cfg accordingly.
 1.23 16-Nov-2019  martin knf style adjustments
 1.22 12-Nov-2019  martin Add options to the various partitioning stages that allow cloning of
alien partitions (optionally including data).
 1.21 14-Aug-2019  martin When we ask the user to select a partitioning scheme and they refuse
(that is: select "Exit" in the menu), abort installation.
 1.20 14-Jul-2019  martin branches: 1.20.2;
Work in progress UEFI boot support, don't try this at home yet!
 1.19 13-Jul-2019  martin We may call md_pre_mount() multiple times for the same install set,
so pass an additional index argument so MD code knows which part
of the install will be mounted next.
 1.18 20-Jun-2019  christos Use _fmt_ msg_ methods when formats are needed.
 1.17 19-Jun-2019  martin Deal with manualy set disk geometries more carefully to avoid a division
by zero.
 1.16 17-Jun-2019  martin whitespace
 1.15 12-Jun-2019  martin Rework internal data structures and "interfaces to user interface" functions
to get rid of all disklabel assumptions.

Previously (even for GPT partitioning) struct disklabel was used, which
obviously breaks large disk setups. Also many MD parts and parts of the
user interface assumed (a) a struct disklabel is used internally to
store partitioning information and (b) partitions are named 'a' ... $MAXPART.

Get rid of this and replace it with a quite abstract interface that should
be able to deal with all variants in partition storage:

- partitions are stored in a (partly abstract) struct disk_partitions
and most parts of it are only accessed via accessor functions provided
by a "partitioning scheme".

- implement partitioning schemes for MBR, disklabel and GPT (with likely
RDB [amiga] and Apple Partition Map [mac*] to follow soon)

- partitioning schemes may be cascaded, e.g. on x86 when using MBR as
"outer partitions", we have disklabel as "inner partitions".

- all user interface goes via accessor functions in the partitioning scheme,
some of which return pointers to special user interface descriptors
(e.g. to allow editing partition flags, which are scheme specific)

Overall the user interface changes (in this initial step) are minimal but
noticable. A new Anita is needed for automatic test setups - many thanks
to Andreas Gustafsson for lots of early testing and a new Anita version,
and to Manuel Bouyer for cooperation and tests of the Anita release.

This work was sponsored by The NetBSD Foundation, Inc.
 1.14 27-Nov-2018  martin Cosmetics: consistently use MEG and GIG defines for size calculations
 1.13 15-Sep-2018  martin When not using the serial console while installing with sysinst,
switch all ports in /etc/ttys over to wsvt25.

For mixed setups that sometims do serial console and otherwise
frambuffer console, it would be better to leave console and constty as
vt100, but switch console to off and ttyE0 to on, but we do not want
to bother the user with tricky questions here and everyone switching
console types should have no problem changing this setup later,
or even deal with a serial console and TERM=wsvt25.
 1.12 15-Sep-2018  martin Fix merge mishap in rev 1.9/1.10 - remove accidently duplicated
code. No functional change.
 1.11 03-Jun-2018  christos branches: 1.11.2;
add missing brace.
 1.10 03-Jun-2018  martin Default console device and speed to that used by syinst
 1.9 03-Jun-2018  martin Add an option to install onto a pre-configured wedge.
Greatly simmplifies (U)EFI setups (but does not fully automate them yet).
 1.8 18-May-2018  joerg deconst -> __UNCONST, the former involves UB with NULL arithmetic.
 1.7 11-Sep-2017  gson branches: 1.7.2;
Clear the screen after running installboot. If we don't, there will
be a leftover line saying "Status: Finished" at the top of the next
screen, along with some random punctuation in the left and right
margins. Inspired by ../landisk/md.c 1.3.
 1.6 10-May-2015  martin branches: 1.6.8;
Backout the previous incorrect fix for PR 49440 and redo it more globaly:
get rid of the global "yesno", introduce utility functions "ask_yesno()"
and "ask_noyes()" instead, greatly simplifying a lot of code.
Pass in a pointer to the return value to various "set source" menus.
 1.5 02-Jan-2015  abs Rather than scatter set_swap() calls wrapped in ram size checks through
md_post_disklabel() and md_pre_update(), abstract them out to an MI
set_swap_if_low_ram() and call from the appropriate MI places.
Now all platforms add swap if the system has <= 32M of RAM.
 1.4 11-Oct-2014  gson When checking if the user chose to use the existing bootblocks, use
the appropriate variable, boottype.bp_consdev, not the uninitialized
bp.bp_consdev. Also remove bp and bootxx since their only use was in
the incorrect check. This should fix the problem of sysinst segfaulting
when you choose "Use existing bootblocks" on amd64.
 1.3 11-Aug-2014  riz branches: 1.3.2; 1.3.4;
Use installboot to install bootblocks for i386/amd64, now that
they are included on all boot media.

Some of the previous method of setting the console (and conspeed, when
using serial console) is retained, but it should probably be reworked.

Also, adapt to the fact that we may be installing to a disk wedge.

With this change, it is now possible (but still ugly) for sysinst to
create a bootable GPT-labeled disk.
 1.2 03-Aug-2014  martin branches: 1.2.2;
(Finally) merge a slightly modified version of the 2012 GSoC results
from Eugene Lozovoy: add extended partitioning options to sysinst.
Still needs some testing and polishing, but it now is possible to use GPT
or to create a RAID set from scratch and install onto it.
 1.1 26-Jul-2014  dholland Move sysinst sources to usr.sbin.

This commit only physically moves the sources - there are no other
changes, to maximize the probability that this will be treated as a
rename if we ever do manage to migrate away from CVS.

Moving sysinst has been discussed on and off for years and has two
goals: making it easier to work on sysinst, and also making sysinst
available on running systems for use installing chroots and VM images
and other such things. None of the latter is possible yet, but as they
say, one thing at a time.

Doing this now was approved in an impromptu fashion by mrg, riz,
riastradh, me, and groo.
 1.2.2.2 10-Aug-2014  tls Rebase.
 1.2.2.1 03-Aug-2014  tls file md.c was added on branch tls-earlyentropy on 2014-08-10 07:00:26 +0000
 1.3.4.2 20-Aug-2014  tls Rebase to HEAD as of a few days ago.
 1.3.4.1 11-Aug-2014  tls file md.c was added on branch tls-maxphys on 2014-08-20 00:05:16 +0000
 1.3.2.3 14-May-2015  snj Pull up following revision(s) (requested by martin in ticket #756):
usr.sbin/sysinst/arch/arc/md.c: revision 1.4
usr.sbin/sysinst/arch/atari/md.c: revision 1.3
usr.sbin/sysinst/arch/cobalt/md.c: revision 1.4
usr.sbin/sysinst/arch/emips/md.c: revision 1.3
usr.sbin/sysinst/arch/evbarm/md.c: revision 1.4
usr.sbin/sysinst/arch/evbarm64/md.c: revision 1.2
usr.sbin/sysinst/arch/hp300/md.c: revision 1.4
usr.sbin/sysinst/arch/i386/md.c: revision 1.6
usr.sbin/sysinst/arch/mac68k/md.c: revision 1.3
usr.sbin/sysinst/arch/mac68k/md.c: revision 1.4
usr.sbin/sysinst/arch/mac68k/menus.md.de: revisions 1.3, 1.4
usr.sbin/sysinst/arch/mac68k/menus.md.en: revisions 1.3, 1.4
usr.sbin/sysinst/arch/mac68k/menus.md.es: revisions 1.3, 1.4
usr.sbin/sysinst/arch/mac68k/menus.md.pl: revisions 1.3, 1.4
usr.sbin/sysinst/arch/mvme68k/md.c: revision 1.4
usr.sbin/sysinst/arch/ofppc/md.c: revision 1.3
usr.sbin/sysinst/arch/prep/md.c: revisions 1.3, 1.4
usr.sbin/sysinst/arch/prep/menus.md.en: revision 1.2
usr.sbin/sysinst/arch/x68k/md.c: revision 1.4
usr.sbin/sysinst/configmenu.c: revisions 1.4, 1.5
usr.sbin/sysinst/defs.h: revisions 1.8, 1.9
usr.sbin/sysinst/disks.c: revision 1.9
usr.sbin/sysinst/install.c: revision 1.4
usr.sbin/sysinst/label.c: revision 1.3
usr.sbin/sysinst/mbr.c: revision 1.5
usr.sbin/sysinst/menus.mi: revisions 1.9, 1.10
usr.sbin/sysinst/net.c: revisions 1.18-1.20
usr.sbin/sysinst/partman.c: revision 1.10
usr.sbin/sysinst/upgrade.c: revision 1.4
usr.sbin/sysinst/util.c: revisions 1.6, 1.7
Backout the previous incorrect fix for PR 49440 and redo it more globaly:
get rid of the global "yesno", introduce utility functions "ask_yesno()"
and "ask_noyes()" instead, greatly simplifying a lot of code.
Pass in a pointer to the return value to various "set source" menus.
--
Make it compile on architectures that do not support INET6 in sysinst
--
Remove a few more (ab-)usages of "yesno".
--
More (ab-)usages of "yesno"
--
Make "ask_yesno" and "ask_noyes" take a const char * as argument, moving
the deconst() dance into the utility functions and simplifying all callers.
--
Missed a few more "yesno" in previous
 1.3.2.2 16-Feb-2015  martin Pull up following revision(s) (requested by snj in ticket #518):
usr.sbin/sysinst/arch/i386/md.c: revision 1.4
When checking if the user chose to use the existing bootblocks, use
the appropriate variable, boottype.bp_consdev, not the uninitialized
bp.bp_consdev. Also remove bp and bootxx since their only use was in
the incorrect check. This should fix the problem of sysinst segfaulting
when you choose "Use existing bootblocks" on amd64.
 1.3.2.1 11-Jan-2015  snj Pull up following revision(s) (requested by abs in ticket #400):
usr.sbin/sysinst/arch/arc/md.c: revision 1.3
usr.sbin/sysinst/arch/cobalt/md.c: revision 1.3
usr.sbin/sysinst/arch/evbsh3/md.c: revision 1.3
usr.sbin/sysinst/arch/hp300/md.c: revision 1.3
usr.sbin/sysinst/arch/hpcsh/md.c: revision 1.3
usr.sbin/sysinst/arch/i386/md.c: revision 1.5
usr.sbin/sysinst/arch/luna68k/md.c: revision 1.4
usr.sbin/sysinst/arch/mvme68k/md.c: revision 1.3
usr.sbin/sysinst/arch/news68k/md.c: revision 1.3
usr.sbin/sysinst/arch/sgimips/md.c: revision 1.3
usr.sbin/sysinst/arch/vax/md.c: revision 1.3
usr.sbin/sysinst/arch/x68k/md.c: revision 1.3
usr.sbin/sysinst/defs.h: revision 1.6
usr.sbin/sysinst/disks.c: revision 1.7
usr.sbin/sysinst/install.c: revision 1.3
usr.sbin/sysinst/partman.c: revision 1.8
usr.sbin/sysinst/upgrade.c: revision 1.3
Rather than scatter set_swap() calls wrapped in ram size checks through
md_post_disklabel() and md_pre_update(), abstract them out to an MI
set_swap_if_low_ram() and call from the appropriate MI places.
Now all platforms add swap if the system has <= 32M of RAM.
 1.6.8.3 09-Jun-2018  martin Pull up following revision(s) (requested by joerg in ticket #869):

usr.sbin/sysinst/arch/mvme68k/md.c: revision 1.5
usr.sbin/sysinst/net.c: revision 1.24
usr.sbin/sysinst/partman.c: revision 1.22
usr.sbin/sysinst/menus.mi: revision 1.12
usr.sbin/sysinst/arch/i386/md.c: revision 1.8
usr.sbin/sysinst/arch/alpha/md.c: revision 1.3
usr.sbin/sysinst/bsddisklabel.c: revision 1.3
usr.sbin/sysinst/arch/x68k/md.c: revision 1.5
usr.sbin/sysinst/arch/hp300/md.c: revision 1.5
usr.sbin/sysinst/arch/emips/md.c: revision 1.4
usr.sbin/sysinst/arch/pmax/md.c: revision 1.3
usr.sbin/sysinst/arch/mipsco/md.c: revision 1.3
usr.sbin/sysinst/arch/hppa/md.c: revision 1.3
usr.sbin/sysinst/util.c: revision 1.8
usr.sbin/sysinst/defs.h: revision 1.10
usr.sbin/sysinst/arch/landisk/md.c: revision 1.4

deconst -> __UNCONST, the former involves UB with NULL arithmetic.
 1.6.8.2 05-Jun-2018  bouyer Pull up following revision(s) (requested by martin in ticket #860):
usr.sbin/sysinst/msg.mi.de: revision 1.7
usr.sbin/sysinst/arch/i386/md.c: revision 1.10
usr.sbin/sysinst/msg.mi.fr: revision 1.10
usr.sbin/sysinst/arch/i386/md.c: revision 1.11
usr.sbin/sysinst/menus.mi: revision 1.13
usr.sbin/sysinst/arch/i386/md.c: revision 1.9
usr.sbin/sysinst/msg.mi.es: revision 1.7
usr.sbin/sysinst/msg.mi.en: revision 1.11
usr.sbin/sysinst/mbr.c: revision 1.6
usr.sbin/sysinst/disks.c: revision 1.15
usr.sbin/sysinst/bsddisklabel.c: revision 1.4
usr.sbin/sysinst/disks.c: revision 1.16
usr.sbin/sysinst/msg.mi.pl: revision 1.9
usr.sbin/sysinst/defs.h: revision 1.11
Add an option to install onto a pre-configured wedge.
Greatly simmplifies (U)EFI setups (but does not fully automate them yet).
In the generated /etc/fstab, do not use the (temporary, during sysinst)
path name for the file in the comment, but instead the one it will
have on the target system.
Reorder fetch options: http before ftp
Default console device and speed to that used by syinst
add missing brace.
 1.6.8.1 12-Apr-2018  martin Pull up following revision(s) (requested by snj in ticket #743):

usr.sbin/sysinst/arch/i386/md.c: revision 1.7

Clear the screen after running installboot. If we don't, there will
be a leftover line saying "Status: Finished" at the top of the next
screen, along with some random punctuation in the left and right
margins. Inspired by ../landisk/md.c 1.3.
 1.7.2.4 26-Dec-2018  pgoyette Sync with HEAD, resolve a few conflicts
 1.7.2.3 30-Sep-2018  pgoyette Ssync with HEAD
 1.7.2.2 25-Jun-2018  pgoyette Sync with HEAD
 1.7.2.1 21-May-2018  pgoyette Sync with HEAD
 1.11.2.2 13-Apr-2020  martin Mostly merge changes from HEAD upto 20200411
 1.11.2.1 10-Jun-2019  christos Sync with HEAD
 1.20.2.10 14-Feb-2022  msaitoh Pull up following revision(s) (requested by martin in ticket #1427):
usr.sbin/sysinst/defs.h: revision 1.80
usr.sbin/sysinst/target.c: revision 1.18
usr.sbin/sysinst/arch/i386/md.c: revision 1.35
x86: fix previous: in the UEFI case copy the bootloaders from install
media during initial installation, but use the (by then: updated)
files from the target disk for system upgrades.
 1.20.2.9 02-Feb-2022  msaitoh Pull up following revision(s) (requested by martin in ticket #1422):
usr.sbin/sysinst/util.c: revision 1.64
usr.sbin/sysinst/arch/hpcsh/md.c: revision 1.11
usr.sbin/sysinst/arch/alpha/md.c: revision 1.10
usr.sbin/sysinst/arch/sparc64/md.c: revision 1.7
usr.sbin/sysinst/arch/emips/md.c: revision 1.10
usr.sbin/sysinst/arch/cobalt/md.c: revision 1.15
usr.sbin/sysinst/arch/x68k/md.c: revision 1.12
usr.sbin/sysinst/arch/sandpoint/md.c: revision 1.10
usr.sbin/sysinst/arch/luna68k/md.c: revision 1.10
usr.sbin/sysinst/arch/hp300/md.c: revision 1.12
usr.sbin/sysinst/arch/vax/md.c: revision 1.8
usr.sbin/sysinst/arch/hpcmips/md.c: revision 1.10
usr.sbin/sysinst/target.c: revision 1.16
usr.sbin/sysinst/arch/mvme68k/md.c: revision 1.12
usr.sbin/sysinst/arch/arc/md.c: revision 1.14
usr.sbin/sysinst/target.c: revision 1.17
usr.sbin/sysinst/arch/i386/md.c: revision 1.34
usr.sbin/sysinst/arch/mac68k/md.c: revision 1.11
usr.sbin/sysinst/arch/atari/md.c: revision 1.8
usr.sbin/sysinst/arch/sgimips/md.c: revision 1.10
usr.sbin/sysinst/arch/acorn32/md.c: revision 1.8
usr.sbin/sysinst/install.c: revision 1.22
usr.sbin/sysinst/arch/amiga/md.c: revision 1.7
usr.sbin/sysinst/arch/cats/md.c: revision 1.6
usr.sbin/sysinst/arch/dummy/md.c: revision 1.7
usr.sbin/sysinst/arch/shark/md.c: revision 1.7
usr.sbin/sysinst/arch/pmax/md.c: revision 1.9
usr.sbin/sysinst/arch/newsmips/md.c: revision 1.7
usr.sbin/sysinst/arch/mipsco/md.c: revision 1.9
usr.sbin/sysinst/arch/landisk/md.c: revision 1.15
usr.sbin/sysinst/arch/hppa/md.c: revision 1.9
usr.sbin/sysinst/arch/prep/md.c: revision 1.14
usr.sbin/sysinst/defs.h: revision 1.77
usr.sbin/sysinst/arch/ofppc/md.c: revision 1.13
usr.sbin/sysinst/arch/ews4800mips/md.c: revision 1.8
usr.sbin/sysinst/defs.h: revision 1.78
usr.sbin/sysinst/arch/macppc/md.c: revision 1.7
usr.sbin/sysinst/arch/evbppc/md.c: revision 1.10
usr.sbin/sysinst/defs.h: revision 1.79
usr.sbin/sysinst/gpt.c: revision 1.27
usr.sbin/sysinst/arch/bebox/md.c: revision 1.10
usr.sbin/sysinst/gpt.c: revision 1.28
usr.sbin/sysinst/arch/sparc/md.c: revision 1.7
usr.sbin/sysinst/arch/evbsh3/md.c: revision 1.7
usr.sbin/sysinst/arch/evbarm/md.c: revision 1.22
usr.sbin/sysinst/arch/news68k/md.c: revision 1.8
usr.sbin/sysinst/upgrade.c: revision 1.19
usr.sbin/sysinst/arch/zaurus/md.c: revision 1.12
usr.sbin/sysinst/arch/playstation2/md.c: revision 1.10
usr.sbin/sysinst/arch/hpcarm/md.c: revision 1.11
usr.sbin/sysinst/arch/evbmips/md.c: revision 1.10
usr.sbin/sysinst/main.c: revision 1.28
Add an option to set the directory where we look for message catalogs.
Try to get rid of all wedges we created (after unmounting).
When upgrading, update the boot code post extraction from
the updated target file system.
Do not defer wedge deletions when we have nothing mounted.
Define and use a constant for maximum disk name length.
 1.20.2.8 04-Nov-2020  sborrill Pull up the following revisions(s) (requested by martin in ticket #1120):
usr.sbin/sysinst/arch/i386/md.c: revision 1.33

Do not force bootselector MBR code for installs with only a single named
partition.
 1.20.2.7 15-Oct-2020  bouyer Pull up following revision(s) (requested by martin in ticket #1113):
usr.sbin/sysinst/bsddisklabel.c: revision 1.46
usr.sbin/sysinst/bsddisklabel.c: revision 1.47
usr.sbin/sysinst/disklabel.c: revision 1.40
usr.sbin/sysinst/arch/cobalt/md.c: revision 1.13
usr.sbin/sysinst/bsddisklabel.c: revision 1.48
usr.sbin/sysinst/disklabel.c: revision 1.41
usr.sbin/sysinst/arch/cobalt/md.c: revision 1.14
usr.sbin/sysinst/bsddisklabel.c: revision 1.49
usr.sbin/sysinst/disklabel.c: revision 1.42
usr.sbin/sysinst/Makefile.inc: revision 1.34
usr.sbin/sysinst/disks.c: revision 1.70
usr.sbin/sysinst/arch/hp300/md.c: revision 1.11
usr.sbin/sysinst/disks.c: revision 1.71
usr.sbin/sysinst/arch/i386/md.h: revision 1.8
usr.sbin/sysinst/arch/arc/md.c: revision 1.13
usr.sbin/sysinst/mbr.h: revision 1.5
usr.sbin/sysinst/mbr.h: revision 1.6
usr.sbin/sysinst/arch/mac68k/md.c: revision 1.10
usr.sbin/sysinst/bsddisklabel.c: revision 1.50
usr.sbin/sysinst/arch/acorn32/md.c: revision 1.7
usr.sbin/sysinst/bsddisklabel.c: revision 1.51
usr.sbin/sysinst/bsddisklabel.c: revision 1.52
usr.sbin/sysinst/bsddisklabel.c: revision 1.53
usr.sbin/sysinst/bsddisklabel.c: revision 1.54
usr.sbin/sysinst/bsddisklabel.c: revision 1.55
usr.sbin/sysinst/bsddisklabel.c: revision 1.56
usr.sbin/sysinst/arch/dummy/md.c: revision 1.6
usr.sbin/sysinst/arch/amd64/md.h: revision 1.9
usr.sbin/sysinst/arch/evbsh3/md.c: revision 1.6
usr.sbin/sysinst/arch/sparc/md.c: revision 1.6
usr.sbin/sysinst/arch/zaurus/md.c: revision 1.10
usr.sbin/sysinst/arch/x68k/md.c: revision 1.11
usr.sbin/sysinst/arch/sandpoint/md.c: revision 1.9
usr.sbin/sysinst/arch/vax/md.c: revision 1.7
usr.sbin/sysinst/arch/luna68k/md.c: revision 1.9
usr.sbin/sysinst/gpt.c: revision 1.19
usr.sbin/sysinst/arch/i386/md.c: revision 1.31
usr.sbin/sysinst/arch/i386/md.c: revision 1.32
usr.sbin/sysinst/arch/evbarm/md.c: revision 1.17
usr.sbin/sysinst/arch/evbarm/md.c: revision 1.18
usr.sbin/sysinst/arch/evbarm/md.c: revision 1.19
usr.sbin/sysinst/arch/shark/md.c: revision 1.6
usr.sbin/sysinst/arch/landisk/md.c: revision 1.14
usr.sbin/sysinst/util.c: revision 1.43
usr.sbin/sysinst/gpt.c: revision 1.20
usr.sbin/sysinst/util.c: revision 1.44
usr.sbin/sysinst/gpt.c: revision 1.21
usr.sbin/sysinst/gpt.c: revision 1.22
usr.sbin/sysinst/arch/evbarm/msg.md.en: revision 1.2
usr.sbin/sysinst/arch/ofppc/md.c: revision 1.11
usr.sbin/sysinst/util.c: revision 1.46
usr.sbin/sysinst/arch/ofppc/md.c: revision 1.12
usr.sbin/sysinst/util.c: revision 1.47
usr.sbin/sysinst/arch/evbarm/md.h: revision 1.6
usr.sbin/sysinst/util.c: revision 1.48
usr.sbin/sysinst/arch/evbarm/md.h: revision 1.7
usr.sbin/sysinst/arch/evbmips/md.c: revision 1.9
usr.sbin/sysinst/msg.mi.fr: revision 1.28
usr.sbin/sysinst/msg.mi.fr: revision 1.29
usr.sbin/sysinst/arch/sgimips/md.c: revision 1.9
usr.sbin/sysinst/arch/evbarm/Makefile: revision 1.3
usr.sbin/sysinst/msg.mi.de: revision 1.23
usr.sbin/sysinst/arch/hpcsh/md.c: revision 1.10
usr.sbin/sysinst/msg.mi.de: revision 1.24
usr.sbin/sysinst/install.c: revision 1.15
usr.sbin/sysinst/install.c: revision 1.16
usr.sbin/sysinst/arch/sparc64/md.c: revision 1.6
usr.sbin/sysinst/install.c: revision 1.17
usr.sbin/sysinst/install.c: revision 1.18
usr.sbin/sysinst/partitions.h: revision 1.16
usr.sbin/sysinst/install.c: revision 1.19
usr.sbin/sysinst/partitions.h: revision 1.17
usr.sbin/sysinst/arch/evbppc/md.c: revision 1.9
usr.sbin/sysinst/arch/playstation2/md.c: revision 1.9
usr.sbin/sysinst/partitions.h: revision 1.18
usr.sbin/sysinst/arch/hpcarm/md.c: revision 1.9
usr.sbin/sysinst/partitions.h: revision 1.19
usr.sbin/sysinst/msg.mi.es: revision 1.24
usr.sbin/sysinst/msg.mi.es: revision 1.25
usr.sbin/sysinst/msg.mi.es: revision 1.26
usr.sbin/sysinst/arch/zaurus/md.c: revision 1.9
usr.sbin/sysinst/target.c: revision 1.13
usr.sbin/sysinst/target.c: revision 1.14
usr.sbin/sysinst/part_edit.c: revision 1.17
usr.sbin/sysinst/part_edit.c: revision 1.18
usr.sbin/sysinst/msg.mi.fr: revision 1.30
usr.sbin/sysinst/arch/mvme68k/md.c: revision 1.11
usr.sbin/sysinst/part_edit.c: revision 1.19
usr.sbin/sysinst/msg.mi.fr: revision 1.31
usr.sbin/sysinst/arch/alpha/md.c: revision 1.9
usr.sbin/sysinst/msg.mi.en: revision 1.30
usr.sbin/sysinst/defs.h: revision 1.56
usr.sbin/sysinst/msg.mi.en: revision 1.31
usr.sbin/sysinst/defs.h: revision 1.57
usr.sbin/sysinst/msg.mi.en: revision 1.32
usr.sbin/sysinst/arch/amiga/md.c: revision 1.6
usr.sbin/sysinst/arch/hpcmips/md.c: revision 1.9
usr.sbin/sysinst/defs.h: revision 1.58
usr.sbin/sysinst/arch/cats/md.c: revision 1.5
usr.sbin/sysinst/defs.h: revision 1.59
usr.sbin/sysinst/arch/newsmips/md.c: revision 1.6
usr.sbin/sysinst/arch/pmax/md.c: revision 1.8
usr.sbin/sysinst/arch/mipsco/md.c: revision 1.8
usr.sbin/sysinst/part_edit.c: revision 1.20
usr.sbin/sysinst/part_edit.c: revision 1.21
usr.sbin/sysinst/arch/macppc/md.c: revision 1.6
usr.sbin/sysinst/part_edit.c: revision 1.22
usr.sbin/sysinst/part_edit.c: revision 1.23
usr.sbin/sysinst/part_edit.c: revision 1.24
usr.sbin/sysinst/defs.h: revision 1.60
usr.sbin/sysinst/arch/mac68k/Makefile: revision 1.3
usr.sbin/sysinst/defs.h: revision 1.61
usr.sbin/sysinst/defs.h: revision 1.63
usr.sbin/sysinst/defs.h: revision 1.64
usr.sbin/sysinst/defs.h: revision 1.65
usr.sbin/sysinst/label.c: revision 1.21
usr.sbin/sysinst/defs.h: revision 1.66
usr.sbin/sysinst/label.c: revision 1.22
usr.sbin/sysinst/defs.h: revision 1.67
usr.sbin/sysinst/label.c: revision 1.23
usr.sbin/sysinst/label.c: revision 1.24
usr.sbin/sysinst/label.c: revision 1.25
usr.sbin/sysinst/label.c: revision 1.26
usr.sbin/sysinst/label.c: revision 1.27
usr.sbin/sysinst/msg.mi.pl: revision 1.31
usr.sbin/sysinst/label.c: revision 1.28
usr.sbin/sysinst/msg.mi.pl: revision 1.32
usr.sbin/sysinst/label.c: revision 1.29
usr.sbin/sysinst/arch/atari/md.c: revision 1.7
usr.sbin/sysinst/disklabel.c: revision 1.36
usr.sbin/sysinst/disklabel.c: revision 1.37
usr.sbin/sysinst/disklabel.c: revision 1.38
usr.sbin/sysinst/disklabel.c: revision 1.39
usr.sbin/sysinst/arch/bebox/md.c: revision 1.9
usr.sbin/sysinst/mbr.c: revision 1.32
usr.sbin/sysinst/disks.c: revision 1.66
usr.sbin/sysinst/mbr.c: revision 1.33
usr.sbin/sysinst/disks.c: revision 1.67
usr.sbin/sysinst/mbr.c: revision 1.34
usr.sbin/sysinst/arch/emips/md.c: revision 1.9
usr.sbin/sysinst/disks.c: revision 1.68
usr.sbin/sysinst/partitions.c: revision 1.11
usr.sbin/sysinst/mbr.c: revision 1.35
usr.sbin/sysinst/disks.c: revision 1.69
usr.sbin/sysinst/mbr.c: revision 1.36
usr.sbin/sysinst/arch/hppa/md.c: revision 1.8
usr.sbin/sysinst/arch/prep/md.c: revision 1.13
usr.sbin/sysinst/label.c: revision 1.30
usr.sbin/sysinst/arch/ews4800mips/md.c: revision 1.7
usr.sbin/sysinst/main.c: revision 1.21
usr.sbin/sysinst/main.c: revision 1.22
usr.sbin/sysinst/main.c: revision 1.23
usr.sbin/sysinst/bsddisklabel.c: revision 1.40
usr.sbin/sysinst/main.c: revision 1.24
usr.sbin/sysinst/arch/cobalt/md.h: revision 1.6
usr.sbin/sysinst/bsddisklabel.c: revision 1.41
usr.sbin/sysinst/main.c: revision 1.25
usr.sbin/sysinst/arch/news68k/md.c: revision 1.7
usr.sbin/sysinst/bsddisklabel.c: revision 1.42
usr.sbin/sysinst/bsddisklabel.c: revision 1.43
usr.sbin/sysinst/bsddisklabel.c: revision 1.44
usr.sbin/sysinst/bsddisklabel.c: revision 1.45
Use strlcpy in a few places to guarnatee 0-terminated strings
Rever previous: the d_packname in struct disklabel is not NUL terminated.
Disable the warning instead.
Do not force -Os optimization (unless SMALLPROG)
Remove unused "rel" global variable and make the -r option a no-op.
PR 55045: strlcpy(NULL, ..., 0) considered harmfull in some implementations.
PR misc/54886: bump threshold for automatic/default creation of a tmpfs /tmp
up slightly (to 384 MB ram). This will make sure the default install has
a > 64 MB /tmp available (number pulled out of thin air, 64 MB is the minimum
required by the ZFS tests).
Don't depend on common symbol definitions.
boardype should not be common.
Redo the root-size-limit check again after we grew the root partition
for kernel dumps. Auto-enable the /usr partition if it overflows.
For all non-root partitions, default to FFSv2.
When extending a partition (to fill the total disk size) do respect
size limits.
Do not suggest a size limited partition for extension by default.
Minor tweak to previous: when forcing a /usr partition just to have an
arbitrary extendable partition, still use its default size initially.
At the end of a new installation save entropy.
Ooops, backout previous - twice the entropy saving is not needed.
Instead slightly improve the (slightly) hidden other code that already
did it.
PR 55202: disable swapping if we started it due to low ram
it's "its"
Remove "If you booted from a floppy" message
Set HAVE_INSTALL_IMAGE for evbarm
Change mountpoint of boot ext2fs from /stand to /ext2 to avoid conflict.
Should be pulled up to netbsd-9, with fixes of PR/55060.
MBR type for Ext2 should be MBR_PTYPE_LNXEXT2, not MBR_PTYPE_FAT12.
Silence -Wstringop-truncation for ``name'' in disp_selected_part().
This variable is used only for display, and truncation seems harmless.
PR 55572: avoid crash when answering the mount point prompt for a previously
empty mount point with an emptry sting.
When adding a new partition in the concrete partition editor, make sure
to set a pointer to the partition table interface in the new entry.
Otherwise we may end up not writing back the partitions at all, leading
to further fallout later.
Receipe to reproduce the issue from Frederic Fauberteau, thanks!
In the concrete partitions editor, after deleting the last partition move
the menu selection to the "add a partition" entry (instead of the sentinel
line which is not an active menu entry).
Typo in comment
Keep a list of all partition tables from which we have deleted partitions
and make sure we update those partition tables when writing partitions,
even if no install related partition remains on them.
Fix display of timezone selection menu
If there is no current partitioning manager assume we are editing the
current system and make target_already_root() return true.
Fixes various fallout when using sysinst post installation.
PR 55377: mark boot partitions in the partition size display, as suggested
by Izumi Tsutsui (minor modifications + all bugs by me)
PR 55378: do not assume RAW_PART to be either 2 or 3
PR 55379: avoid creating bogus /etc/fstab lines for /dev/cd* if no
cdrom is available.
PR 55381: try to deal with moved (but not yet saved) partitions when
calculating free space
Apply patch provided by Izumi Tsutsui in PR 55382: make ext2 partitions
show up in the outer (MBR) partition table, needed for example on Cobalt
where firmware boots from that partition.
PR 55384: detangle pm->ptstart from the "install" flag (selecting a
target partition). Instead introduce a new PTI_INSTALL_TARGET per partition
flag and deal with it in the partitioning backends.
Honour pm->ptstart when allocating new partitions - it is supposed to be
the first sector usable by NetBSD.
If we have no explicitly marke target root partition, make sure to set
the proper flag on the implicit one.
When merging existing partitions with desired target system layout
information, only force the "mount" flag if the existing partitions
has a valid mount point.
Add a heuristic to detect and properly mark EFI system partitions
when re-using pre-existing partitions.
When MD code requests a reserved area (at the start of the disk)
make sure to properly account for the "lost" space during all calculations
and especially when expanding the main partition to fill the disk.
Avoid using the global "pm" or a passed device descriptons when we are
passing disk limits explicitly anyway.
Simplify/fix a few rounding calculations.
When creating new partitions for "full disk" use, pass a install target
hint to the partitioning backend (for the outer NetBSD partition).
Use an install target hint to mark a new partition active.
When compiled with BOOTSEL support, also name the new partition "NetBSD".
Remove more pm->ptstart abuse - calculate values localy where needed
instead.
Fix editing start and size of not yet existing outer partitions.
Previously we abused pm->ptstart / pm->ptsize to pass the bounds of the
NetBSD outer partition to the inner partition editor - but now this is
not a valid assumption any more, so explicitly fix the bounds if an
outer partition exists.
Remove very strange code that special-cased MSDOS file systems and refused
to newfs the partition (despite explicit request to do so) if it was
mountable.
Accidently carried over from a dim and distant past, before we had
fsck_newfs.
PR 55536: when we find existing partition tables and have alternative
formats available, offer to delete partitions and create new ones from
scratch (in some other or the same on-disk format).
Minor fix to previous: fix condition when we offer the partition type
switch - it makes sense even if the disk is partitioned but has no valid
partitions.
Before forcing MBR partitions into our disklabel, make sure they are not
there yet - could happen in various paths when reusing existing partitions
(or parts of that) - previously we would blindly duplicate identical
partitions.
Ooops, part of previous was not meant to be included yet
When renumbering partitions (after deletions) be slightly more lax
in matching, to cope with differences between MBR EFI partitions and
disklabel MSDOS partitions.
PR 55142: on popular demand bring back expert options to adjust the
number of free inodes, block size and fragment size for FFS and LFS.
Fix copy & pasto noticed by Jason Mitchell: change the type of a GPT
partition via "gpt type" - not "gpt label".
Fix copy & pasto (missing "again" label)
Remove dead code
Move MBR writing (if any) post disklabel writing, otherwise strange
interactions happen.
Properly convert partition default sizes in MB to number of sectors
 1.20.2.6 10-Feb-2020  bouyer Pull up following revision(s) (requested by martin in ticket #693):
usr.sbin/sysinst/arch/x68k/msg.md.en: revision 1.2
usr.sbin/sysinst/arch/x68k/md.c: revision 1.10
usr.sbin/sysinst/arch/mvme68k/msg.md.fr: revision 1.2
usr.sbin/sysinst/arch/x68k/msg.md.en: revision 1.3
usr.sbin/sysinst/arch/mvme68k/msg.md.fr: revision 1.3
usr.sbin/sysinst/msg.mi.en: revision 1.28
usr.sbin/sysinst/arch/hp300/md.c: revision 1.10
usr.sbin/sysinst/msg.mi.es: revision 1.22
usr.sbin/sysinst/target.c: revision 1.12
usr.sbin/sysinst/arch/mvme68k/md.c: revision 1.10
usr.sbin/sysinst/arch/i386/md.c: revision 1.30
usr.sbin/sysinst/arch/mvme68k/msg.md.pl: revision 1.2
usr.sbin/sysinst/arch/mvme68k/msg.md.pl: revision 1.3
usr.sbin/sysinst/bsddisklabel.c: revision 1.39
usr.sbin/sysinst/arch/mvme68k/msg.md.de: revision 1.2
usr.sbin/sysinst/arch/mac68k/md.c: revision 1.9
usr.sbin/sysinst/disklabel.c: revision 1.35
usr.sbin/sysinst/arch/mvme68k/msg.md.de: revision 1.3
usr.sbin/sysinst/defs.h: revision 1.55
usr.sbin/sysinst/disks.c: revision 1.63
usr.sbin/sysinst/disks.c: revision 1.64
usr.sbin/sysinst/mbr.c: revision 1.31
usr.sbin/sysinst/disks.c: revision 1.65
usr.sbin/sysinst/txtwalk.c: revision 1.3
usr.sbin/sysinst/txtwalk.c: revision 1.4
usr.sbin/sysinst/arch/mvme68k/msg.md.en: revision 1.2
usr.sbin/sysinst/arch/mvme68k/msg.md.en: revision 1.3
usr.sbin/sysinst/msg.mi.fr: revision 1.26
usr.sbin/sysinst/msg.mi.pl: revision 1.29
usr.sbin/sysinst/arch/mvme68k/msg.md.es: revision 1.2
usr.sbin/sysinst/upgrade.c: revision 1.15
usr.sbin/sysinst/arch/mvme68k/msg.md.es: revision 1.3
usr.sbin/sysinst/upgrade.c: revision 1.16
usr.sbin/sysinst/partman.c: revision 1.50
usr.sbin/sysinst/msg.mi.de: revision 1.21
remove unused "emptypart" message (or moved to ifdef notyet area)
PR install/54921: message "ordering" takes a %s argument.
PR install/54921: skip non-user partitions when checking for overlaps
bootxx_name() - fix oversight in previous change (do not assume first
partition is the root partition)
PR install/54934: always use -f on the installboot invocation. We come
here post-newfs (and maybe should have dd'd zeros to the start of the
disk before newfs instead).
Remove a bogus assert: when reading disklabel partitions and the outer
(MBR) partitioning has changed, but the changes have not yet been written
back to disk, we need to ignore the kernels idea of the disklabel and
instead continue with an empty one.
Deal with partitioning schemes having no inner counterpart.
Avoid NULL derefs.
Do not assum a partitioning scheme that supports innner partitions always
needs to actually have such partitions defined.
PR bin/54944: deal with escaped spaces in NAME= syntax in /etc/fstab.
PR bin/54944: explicitly reject GPT protective MBRs.
PR bin/54944: make the "explicit single wedge" selection also work for
upgrades.
Reformat a query to add an automatically detected swap partition
so it fits on narrow screens.
Make re-install sets also work for an explicit selected root wedge
Fix copy&pasto in previous - from kre.
Only a single partition can ever have the "extend" flag (grow to available
size).
Do not use -P for tar extractions - the in tree tar has been fixed.
Finish conversion to generic partitioning backend
 1.20.2.5 28-Jan-2020  msaitoh Pull up following revision(s) (requested by martin in ticket #668):
usr.sbin/sysinst/arch/cobalt/md.c: revision 1.11
usr.sbin/sysinst/arch/cobalt/md.c: revision 1.12
usr.sbin/sysinst/arch/arc/md.c: revision 1.11
usr.sbin/sysinst/arch/arc/md.c: revision 1.12
usr.sbin/sysinst/partman.c: revision 1.43
usr.sbin/sysinst/partman.c: revision 1.46
usr.sbin/sysinst/partman.c: revision 1.47
usr.sbin/sysinst/partman.c: revision 1.48
usr.sbin/sysinst/partman.c: revision 1.49
usr.sbin/sysinst/msg.pm.fr: revision 1.2
usr.sbin/sysinst/upgrade.c: revision 1.14
usr.sbin/sysinst/arch/i386/md.c: revision 1.28
usr.sbin/sysinst/arch/i386/md.c: revision 1.29
usr.sbin/sysinst/arch/ofppc/md.c: revision 1.9
usr.sbin/sysinst/arch/sandpoint/md.c: revision 1.7
usr.sbin/sysinst/arch/sandpoint/md.c: revision 1.8
usr.sbin/sysinst/gpt.c: revision 1.14
usr.sbin/sysinst/gpt.c: revision 1.15
usr.sbin/sysinst/arch/luna68k/md.c: revision 1.8
usr.sbin/sysinst/gpt.c: revision 1.16
usr.sbin/sysinst/msg.pm.de: revision 1.2
usr.sbin/sysinst/arch/evbarm/md.c: revision 1.11
usr.sbin/sysinst/arch/evbarm/md.c: revision 1.12
usr.sbin/sysinst/arch/evbarm/md.c: revision 1.13
usr.sbin/sysinst/arch/evbarm/md.c: revision 1.14
usr.sbin/sysinst/sizemultname.c: revision 1.4
usr.sbin/sysinst/msg.pm.en: revision 1.2
usr.sbin/sysinst/arch/landisk/md.c: revision 1.12
usr.sbin/sysinst/util.c: revision 1.41
usr.sbin/sysinst/arch/landisk/md.c: revision 1.13
usr.sbin/sysinst/util.c: revision 1.42
usr.sbin/sysinst/arch/ofppc/md.c: revision 1.10
usr.sbin/sysinst/partitions.c: revision 1.9
usr.sbin/sysinst/arch/evbarm/md.h: revision 1.4
usr.sbin/sysinst/arch/evbarm/md.h: revision 1.5
usr.sbin/sysinst/arch/evbmips/md.c: revision 1.7
usr.sbin/sysinst/arch/evbmips/md.c: revision 1.8
usr.sbin/sysinst/msg.mi.fr: revision 1.25
usr.sbin/sysinst/msg.mi.de: revision 1.20
usr.sbin/sysinst/install.c: revision 1.14
usr.sbin/sysinst/partitions.h: revision 1.13
usr.sbin/sysinst/partitions.h: revision 1.14
usr.sbin/sysinst/arch/evbppc/md.c: revision 1.7
usr.sbin/sysinst/arch/playstation2/md.c: revision 1.7
usr.sbin/sysinst/msg.mi.en: revision 1.27
usr.sbin/sysinst/partitions.h: revision 1.15
usr.sbin/sysinst/arch/evbppc/md.c: revision 1.8
usr.sbin/sysinst/arch/hpcarm/md.c: revision 1.7
usr.sbin/sysinst/arch/playstation2/md.c: revision 1.8
usr.sbin/sysinst/msg.pm.pl: revision 1.2
usr.sbin/sysinst/arch/hpcarm/md.c: revision 1.8
usr.sbin/sysinst/msg.mi.es: revision 1.21
usr.sbin/sysinst/arch/zaurus/md.c: revision 1.7
usr.sbin/sysinst/target.c: revision 1.11
usr.sbin/sysinst/arch/zaurus/md.c: revision 1.8
usr.sbin/sysinst/part_edit.c: revision 1.14
usr.sbin/sysinst/part_edit.c: revision 1.15
usr.sbin/sysinst/part_edit.c: revision 1.16
usr.sbin/sysinst/defs.h: revision 1.50
usr.sbin/sysinst/defs.h: revision 1.51
usr.sbin/sysinst/defs.h: revision 1.52
usr.sbin/sysinst/defs.h: revision 1.53
usr.sbin/sysinst/defs.h: revision 1.54
usr.sbin/sysinst/arch/hpcmips/md.c: revision 1.7
usr.sbin/sysinst/arch/hpcmips/md.c: revision 1.8
usr.sbin/sysinst/arch/hpcsh/md.c: revision 1.8
usr.sbin/sysinst/msg.pm.es: revision 1.2
usr.sbin/sysinst/arch/hpcsh/md.c: revision 1.9
usr.sbin/sysinst/label.c: revision 1.18
usr.sbin/sysinst/label.c: revision 1.19
usr.sbin/sysinst/net.c: revision 1.35
usr.sbin/sysinst/msg.mi.pl: revision 1.28
usr.sbin/sysinst/disklabel.c: revision 1.28
usr.sbin/sysinst/disklabel.c: revision 1.29
usr.sbin/sysinst/mbr.c: revision 1.24
usr.sbin/sysinst/disks.c: revision 1.59
usr.sbin/sysinst/mbr.c: revision 1.25
usr.sbin/sysinst/mbr.c: revision 1.26
usr.sbin/sysinst/mbr.c: revision 1.27
usr.sbin/sysinst/mbr.c: revision 1.28
usr.sbin/sysinst/label.c: revision 1.20
usr.sbin/sysinst/mbr.c: revision 1.29
usr.sbin/sysinst/bsddisklabel.c: revision 1.34
usr.sbin/sysinst/bsddisklabel.c: revision 1.35
usr.sbin/sysinst/bsddisklabel.c: revision 1.36
usr.sbin/sysinst/bsddisklabel.c: revision 1.37
usr.sbin/sysinst/disklabel.c: revision 1.30
usr.sbin/sysinst/bsddisklabel.c: revision 1.38
usr.sbin/sysinst/disklabel.c: revision 1.31
usr.sbin/sysinst/disklabel.c: revision 1.32
usr.sbin/sysinst/disklabel.c: revision 1.33
usr.sbin/sysinst/disklabel.c: revision 1.34
usr.sbin/sysinst/disks.c: revision 1.60
usr.sbin/sysinst/disks.c: revision 1.61
usr.sbin/sysinst/arch/bebox/md.c: revision 1.7
usr.sbin/sysinst/disks.c: revision 1.62
usr.sbin/sysinst/arch/bebox/md.c: revision 1.8
usr.sbin/sysinst/mbr.c: revision 1.30
usr.sbin/sysinst/partitions.c: revision 1.10
usr.sbin/sysinst/arch/prep/md.c: revision 1.11
usr.sbin/sysinst/arch/prep/md.c: revision 1.12
usr.sbin/sysinst/menus.pm: revision 1.3
usr.sbin/sysinst/main.c: revision 1.20
usr.sbin/sysinst/menus.mi: revision 1.20
usr.sbin/sysinst/menus.mi: revision 1.21
avoid calling snprintf/strlcat with an input parameter the same
as the output. from martin@. fixes gcc 8 restrict warnings.
Finish conversion of extended partitioning parts to new abstract
backend interface. XXX still could use a lot of polishing.
Instead of a (bogus) attempt to query the model via ofctl, use the (now
fixed) sysctl hw.model instead.
When reading the secondary disklabel partitions from an existing disklabel
set the mbr partitions as parent.
Move the LABELSECTOR check and make it FS type specific - some partition
types (FFS, RAID) are allowed to overlap with the LABELSECTOR.
When asked to create a whole-disk partition for unknown usage, do not only
assert(false), but actually return an error (in case "assert" is a nop).
PR install/54787: when trying to derive proper alignement and first offset
from exisiting partitions, use the first partition offset if it is already
closer to the start of the disk than the prefered alignment - we can not
move existing partitions around.
Fix handling of inner/outer partitions (e.g. MBR and disklabel) in
extended partitioning:
- when editing a disk with such a schme, offer both partitions in two
steps
- when commiting changes save the inner partitions after the outer ones
Add a method to query the partitioning schemes "internal idea" of a
cylinder size - whatever that means in the real world.
Avoid using the global "pm" variable in utility functions - during
extended partitioning they may point to a different device.
Remove useless calls to get_ramsize() - return value is ignored and
the function has no side effects.
Fix /tmp tmpfs handling and on machines with enough RAM default to
creating a /tmp tmpfs with 25% of ram size limit. Suggested by ad@.
PR install/54872: fix printf argument order, sectors and heads were
swapped in the bios geometry display.
First try to bring evbarm installation closer to current reality.
hide disklabel_non_bootable() under NO_DISKLABEL_BOOT like the usage.
should fix most builds.
Deal with even stranger fictious empty disklabels (PR kern/54882).
Factor out all RAM size thresholds as defines to avoid magic numbers.
To work around PR misc/54886 bump the threshold for a tmpfs /tmp mount
up to 256 MB.
When retrying sets during extraction, reset the relevant statistics
to avoid counting retried sets multiple times.
Reported by kim.
Fix support for non-512-byte/sector disks again after I broke it when
introducing the abstract partition backends.
Use a few strlcpy() instead of strncpy() for network ioctl structs.
We seem to have no formal documentation stating the various
char if*_name[IFNAMSIZ]; /* if name, e.g. "en0" */
elements in ioctls are nul terminated, but the peanut gallery claims
it is so - and at least half of the code in-tree touching them agrees.
Too much disklabel magic happening in the kernel - to compensate force
MBR first when trying to identify the existing partitioning scheme of
a disk.
 1.20.2.4 17-Dec-2019  msaitoh Pull up following revision(s) (requested by martin in ticket #560):
usr.sbin/sysinst/partitions.h: revision 1.11
usr.sbin/sysinst/defs.h: revision 1.49
usr.sbin/sysinst/mbr.c: revision 1.23
usr.sbin/sysinst/msg.mi.en: revision 1.26
usr.sbin/sysinst/disks.c: revision 1.58
usr.sbin/sysinst/arch/evbarm/menus.md.pl: revision 1.2
usr.sbin/sysinst/msg.mi.es: revision 1.20
usr.sbin/sysinst/arch/mvme68k/md.c: revision 1.9
usr.sbin/sysinst/gpt.c: revision 1.13
usr.sbin/sysinst/arch/evbarm/md.c: revision 1.10
usr.sbin/sysinst/arch/arc/md.c: revision 1.10
usr.sbin/sysinst/disklabel.c: revision 1.18
usr.sbin/sysinst/bsddisklabel.c: revision 1.33
usr.sbin/sysinst/disklabel.c: revision 1.19
usr.sbin/sysinst/main.c: revision 1.19
usr.sbin/sysinst/partman.c: revision 1.45
usr.sbin/sysinst/arch/alpha/md.c: revision 1.7
usr.sbin/sysinst/msg.mi.de: revision 1.19
usr.sbin/sysinst/arch/evbarm/menus.md.en: revision 1.2
usr.sbin/sysinst/arch/x68k/md.h: revision 1.4
usr.sbin/sysinst/arch/x68k/md.c: revision 1.9
usr.sbin/sysinst/arch/evbarm/menus.md.es: revision 1.2
usr.sbin/sysinst/wskbd.c: revision 1.4
usr.sbin/sysinst/label.c: revision 1.15
usr.sbin/sysinst/arch/amiga/md.h: revision 1.5
usr.sbin/sysinst/label.c: revision 1.16
usr.sbin/sysinst/arch/hp300/md.c: revision 1.9
usr.sbin/sysinst/arch/emips/md.c: revision 1.8
usr.sbin/sysinst/label.c: revision 1.17
usr.sbin/sysinst/arch/pmax/md.c: revision 1.7
usr.sbin/sysinst/partitions.c: revision 1.6
usr.sbin/sysinst/arch/prep/md.c: revision 1.10
usr.sbin/sysinst/arch/mipsco/md.c: revision 1.7
usr.sbin/sysinst/partitions.c: revision 1.7
usr.sbin/sysinst/partitions.c: revision 1.8
usr.sbin/sysinst/arch/ews4800mips/md.c: revision 1.5
usr.sbin/sysinst/disklabel.c: revision 1.20
usr.sbin/sysinst/arch/evbarm/menus.md.fr: revision 1.2
usr.sbin/sysinst/msg.mi.fr: revision 1.24
usr.sbin/sysinst/disklabel.c: revision 1.21
usr.sbin/sysinst/partitions.h: revision 1.9
usr.sbin/sysinst/msg.mi.pl: revision 1.27
usr.sbin/sysinst/disklabel.c: revision 1.22
usr.sbin/sysinst/disklabel.c: revision 1.23
usr.sbin/sysinst/arch/i386/md.c: revision 1.27
usr.sbin/sysinst/disklabel.c: revision 1.24
usr.sbin/sysinst/disklabel.c: revision 1.25
usr.sbin/sysinst/arch/cobalt/md.h: revision 1.5
usr.sbin/sysinst/disklabel.c: revision 1.26
usr.sbin/sysinst/disklabel.c: revision 1.27
usr.sbin/sysinst/partitions.h: revision 1.10
usr.sbin/sysinst/arch/cobalt/md.c: revision 1.10
PR install/54582: allow MD code to disable on-disk presence verification
of "real" disklabels. Auto-enable this (at run time) when there is no other
partitioning scheme but disklabel configured.
Hard-coded enable this for x68k to allow using kernel based translations
for native Human68k partitions.
Get rid of the evbarm preliminary menu: do not bother to ask the user
whether this is a RPi - query the FDT instead.
PR 54065: add optional "old compat" variant of ext2fs in file system
type selection and use that as default for the cobalt boot file system.
For now rely on the kernel mapping native RDB partitions.
Fix detection of existing disklabels in the case when we only have
the disklabel partitioning scheme available.
Fix DISKLABEL_NO_ONDISK_VERIFY (accidently disabled in previous)
Fix inverted comparison
Do not try to change the keyboard layout if we are not running on the
console.
When trying to tell a fictious but empty label from a real one, skip
partition a if it has the same start and size as the raw partition.
Remove bogus assert.
When finding (paritioning scheme native) partition types for file systems
from our install description, pass the partition type (not only the file
system type). Sometimes (e.g. EFI boot partition on GPT) the filesystem
type (MSDOS) is not a unique selector.
Adapt MD parts to changes in get_fs_part_type (pass partition type).
If a fictious label has no RAW_PART assume there is no valid disk label.
Pass proper track size when initializing the default alignment - this is
important with sunlabels.
Fix overlapping partitions display
Reject (what we consider) empty/invalid fake disklabels no matter whether
we have other partitioning schemes available or not.
Do not show disklabel command invocation by default (only if there are
errors).
After installing boot blocks with RUN_NO_CLEAR (and handling the
potential errors) make sure to clear the stdscreen.
 1.20.2.3 19-Nov-2019  msaitoh Pull up following revision(s) (requested by martin in ticket #443):
usr.sbin/sysinst/arch/i386/md.c: revision 1.25
usr.sbin/sysinst/arch/i386/md.c: revision 1.26
Fix previous: the install medium may not have /usr/mdec/prekern; it was
meant to copy the one from the just installed system.
Fix previous: not a good idea to try to copy files from the not yet
extracted sets.
 1.20.2.2 17-Nov-2019  msaitoh Pull up following revision(s) (requested by martin in ticket #436):
usr.sbin/sysinst/disks.c: revision 1.55
usr.sbin/sysinst/msg.mi.en: revision 1.24
usr.sbin/sysinst/mbr.c: revision 1.22
usr.sbin/sysinst/disks.c: revision 1.56
usr.sbin/sysinst/msg.mi.en: revision 1.25
usr.sbin/sysinst/disks.c: revision 1.57
usr.sbin/sysinst/arch/playstation2/msg.md.pl: revision 1.3
usr.sbin/sysinst/Makefile.inc: revision 1.30
usr.sbin/sysinst/configmenu.c: revision 1.11
usr.sbin/sysinst/util.c: revision 1.35
usr.sbin/sysinst/gpt.c: revision 1.12
usr.sbin/sysinst/util.c: revision 1.36
usr.sbin/sysinst/arch/playstation2/msg.md.de: revision 1.3
usr.sbin/sysinst/arch/i386/menus.md: revision 1.3
usr.sbin/sysinst/util.c: revision 1.37
usr.sbin/sysinst/part_edit.c: revision 1.11
usr.sbin/sysinst/arch/i386/msg.md.en: revision 1.2
usr.sbin/sysinst/util.c: revision 1.38
usr.sbin/sysinst/part_edit.c: revision 1.12
usr.sbin/sysinst/arch/i386/msg.md.en: revision 1.3
usr.sbin/sysinst/util.c: revision 1.39
usr.sbin/sysinst/part_edit.c: revision 1.13
usr.sbin/sysinst/arch/i386/msg.md.en: revision 1.4
usr.sbin/sysinst/disklabel.c: revision 1.15
usr.sbin/sysinst/bsddisklabel.c: revision 1.30
usr.sbin/sysinst/arch/i386/msg.md.es: revision 1.2
usr.sbin/sysinst/bsddisklabel.c: revision 1.31
usr.sbin/sysinst/arch/i386/msg.md.es: revision 1.3
usr.sbin/sysinst/arch/i386/msg.md.es: revision 1.4
usr.sbin/sysinst/mbr.h: revision 1.4
usr.sbin/sysinst/main.c: revision 1.18
usr.sbin/sysinst/partman.c: revision 1.44
usr.sbin/sysinst/msg.mi.de: revision 1.17
usr.sbin/sysinst/arch/i386/msg.md.fr: revision 1.2
usr.sbin/sysinst/msg.mi.de: revision 1.18
usr.sbin/sysinst/arch/i386/msg.md.fr: revision 1.3
usr.sbin/sysinst/arch/playstation2/msg.md.en: revision 1.3
usr.sbin/sysinst/arch/i386/msg.md.fr: revision 1.4
usr.sbin/sysinst/arch/amd64/md.c: revision 1.2
usr.sbin/sysinst/arch/ews4800mips/Makefile: revision 1.3
usr.sbin/sysinst/arch/playstation2/msg.md.es: revision 1.3
usr.sbin/sysinst/label.c: revision 1.13
usr.sbin/sysinst/Makefile.inc: revision 1.29
usr.sbin/sysinst/label.c: revision 1.14
usr.sbin/sysinst/util.c: revision 1.40
usr.sbin/sysinst/partitions.c: revision 1.5
usr.sbin/sysinst/arch/amd64/md.h: revision 1.8
usr.sbin/sysinst/msg.mi.es: revision 1.18
usr.sbin/sysinst/net.c: revision 1.34
usr.sbin/sysinst/msg.mi.es: revision 1.19
usr.sbin/sysinst/arch/i386/msg.md.pl: revision 1.2
usr.sbin/sysinst/arch/i386/md.c: revision 1.22
usr.sbin/sysinst/msg.mi.fr: revision 1.22
usr.sbin/sysinst/arch/playstation2/msg.md.fr: revision 1.3
usr.sbin/sysinst/arch/i386/msg.md.pl: revision 1.3
usr.sbin/sysinst/arch/i386/md.c: revision 1.23
usr.sbin/sysinst/msg.mi.pl: revision 1.25
usr.sbin/sysinst/msg.mi.fr: revision 1.23
usr.sbin/sysinst/arch/i386/msg.md.pl: revision 1.4
usr.sbin/sysinst/arch/i386/md.c: revision 1.24
usr.sbin/sysinst/partitions.h: revision 1.8
usr.sbin/sysinst/msg.mi.pl: revision 1.26
usr.sbin/sysinst/arch/i386/msg.md.de: revision 1.2
usr.sbin/sysinst/arch/i386/msg.md.de: revision 1.3
usr.sbin/sysinst/arch/i386/msg.md.de: revision 1.4
usr.sbin/sysinst/run.c: revision 1.13
usr.sbin/sysinst/defs.h: revision 1.46
usr.sbin/sysinst/install.c: revision 1.12
usr.sbin/sysinst/defs.h: revision 1.47
usr.sbin/sysinst/install.c: revision 1.13
usr.sbin/sysinst/defs.h: revision 1.48
Add options to the various partitioning stages that allow cloning of
alien partitions (optionally including data).
PR 54467: we trust our own sets, extract them with -P to allow symlink
redirection (especially for updates and chroot services - back out
once a better solution for those is implemented)
Make cloning support optional, so we can save some space on very small
install media.
Drop MBR and cloning support on crunched install media.
Make tar extraction flags depend on our usage of pax-as-tar or bsdtar.
Fix missing newlines in bios match display, pointed out by maxv.
Drop unused variable.
Fix table of bios geomatries
knf style adjustments
Make the bootblock selection menu more sane, pointed out by maxv
Make sure all menus have a translatable exit option (or none at all).
On amd64 support installation with a KASLR kernel, via "custom install"
and selecting the GENERIC_KASLR kernel set.
Setup /prekern and boot.cfg accordingly.
 1.20.2.1 18-Aug-2019  msaitoh Pull up following revision(s) (requested by martin in ticket #77):
usr.sbin/sysinst/arch/sandpoint/md.c: revision 1.6
usr.sbin/sysinst/arch/playstation2/md.c: revision 1.6
usr.sbin/sysinst/arch/evbppc/md.c: revision 1.6
usr.sbin/sysinst/arch/hpcarm/md.c: revision 1.6
usr.sbin/sysinst/arch/zaurus/md.c: revision 1.6
usr.sbin/sysinst/arch/arc/md.c: revision 1.9
usr.sbin/sysinst/arch/hpcmips/md.c: revision 1.6
usr.sbin/sysinst/arch/bebox/md.c: revision 1.6
usr.sbin/sysinst/arch/hpcsh/md.c: revision 1.7
usr.sbin/sysinst/arch/landisk/md.c: revision 1.11
usr.sbin/sysinst/arch/prep/md.c: revision 1.9
usr.sbin/sysinst/arch/i386/md.c: revision 1.21
usr.sbin/sysinst/arch/evbmips/md.c: revision 1.6
usr.sbin/sysinst/arch/evbarm/md.c: revision 1.9
usr.sbin/sysinst/arch/cobalt/md.c: revision 1.9
usr.sbin/sysinst/arch/ofppc/md.c: revision 1.8
When we ask the user to select a partitioning scheme and they refuse
(that is: select "Exit" in the menu), abort installation.
 1.9 25-Sep-2021  maya Move DRM-driver firmware from base to its own set, gpufw

This set is only installed on amd64,i386,evbarm.
This set is installed on minimal installs and on install media, in
case someone needs it for basic driver functionality.

Comments:
Switched to a single MK tunable for it - that is probably unneeded.

An upcoming DRM update will include even fatter firmware, and we'd
like to minimize the impact of it.
 1.8 05-Oct-2020  martin Add a heuristic to detect and properly mark EFI system partitions
when re-using pre-existing partitions.
 1.7 02-Oct-2019  maya Split out /rescue to its own set and adapt installers/images to add it.

This is meant to make updates safer: if something goes wrong with updating
base, we still have the old, standalone /rescue to recover from.
 1.6 14-Jul-2019  martin branches: 1.6.2;
Work in progress UEFI boot support, don't try this at home yet!
 1.5 12-Jun-2019  martin Rework internal data structures and "interfaces to user interface" functions
to get rid of all disklabel assumptions.

Previously (even for GPT partitioning) struct disklabel was used, which
obviously breaks large disk setups. Also many MD parts and parts of the
user interface assumed (a) a struct disklabel is used internally to
store partitioning information and (b) partitions are named 'a' ... $MAXPART.

Get rid of this and replace it with a quite abstract interface that should
be able to deal with all variants in partition storage:

- partitions are stored in a (partly abstract) struct disk_partitions
and most parts of it are only accessed via accessor functions provided
by a "partitioning scheme".

- implement partitioning schemes for MBR, disklabel and GPT (with likely
RDB [amiga] and Apple Partition Map [mac*] to follow soon)

- partitioning schemes may be cascaded, e.g. on x86 when using MBR as
"outer partitions", we have disklabel as "inner partitions".

- all user interface goes via accessor functions in the partitioning scheme,
some of which return pointers to special user interface descriptors
(e.g. to allow editing partition flags, which are scheme specific)

Overall the user interface changes (in this initial step) are minimal but
noticable. A new Anita is needed for automatic test setups - many thanks
to Andreas Gustafsson for lots of early testing and a new Anita version,
and to Manuel Bouyer for cooperation and tests of the Anita release.

This work was sponsored by The NetBSD Foundation, Inc.
 1.4 16-Nov-2018  martin Sync install size estimates with current reality
 1.3 07-Nov-2018  martin Unify handling of CDROM device names.
Skip CDs when looking for install targets (we do not support installing
onto a blueray with UDF).

Fix search for the default CDROM device and the CD we booted from
for ports with nonstandard CDROM device names.
 1.2 05-Nov-2018  martin Get rid of hard coded disk names and use sysctl hw.disknames
instead.
 1.1 26-Jul-2014  dholland branches: 1.1.2; 1.1.4; 1.1.6; 1.1.20; 1.1.22;
Move sysinst sources to usr.sbin.

This commit only physically moves the sources - there are no other
changes, to maximize the probability that this will be treated as a
rename if we ever do manage to migrate away from CVS.

Moving sysinst has been discussed on and off for years and has two
goals: making it easier to work on sysinst, and also making sysinst
available on running systems for use installing chroots and VM images
and other such things. None of the latter is possible yet, but as they
say, one thing at a time.

Doing this now was approved in an impromptu fashion by mrg, riz,
riastradh, me, and groo.
 1.1.22.2 13-Apr-2020  martin Mostly merge changes from HEAD upto 20200411
 1.1.22.1 10-Jun-2019  christos Sync with HEAD
 1.1.20.1 26-Nov-2018  pgoyette Sync with HEAD, resolve a couple of conflicts
 1.1.6.2 20-Aug-2014  tls Rebase to HEAD as of a few days ago.
 1.1.6.1 26-Jul-2014  tls file md.h was added on branch tls-maxphys on 2014-08-20 00:05:16 +0000
 1.1.4.2 18-Mar-2015  snj Apply patch (requested by christos in ticket #542):
- Enable intel and radeon DRM/KMS drivers in GENERIC
- Disable all of the old DRM drivers in GENERIC
- Remove the separate DRMKMS kernel
 1.1.4.1 04-Dec-2014  snj Apply patch (requested by bouyer in ticket #295):
Build the DRMKMS kernel on x86, and provide a sysinst option to
install it.
 1.1.2.2 10-Aug-2014  tls Rebase.
 1.1.2.1 26-Jul-2014  tls file md.h was added on branch tls-earlyentropy on 2014-08-10 07:00:26 +0000
 1.6.2.2 15-Oct-2020  bouyer Pull up following revision(s) (requested by martin in ticket #1113):
usr.sbin/sysinst/bsddisklabel.c: revision 1.46
usr.sbin/sysinst/bsddisklabel.c: revision 1.47
usr.sbin/sysinst/disklabel.c: revision 1.40
usr.sbin/sysinst/arch/cobalt/md.c: revision 1.13
usr.sbin/sysinst/bsddisklabel.c: revision 1.48
usr.sbin/sysinst/disklabel.c: revision 1.41
usr.sbin/sysinst/arch/cobalt/md.c: revision 1.14
usr.sbin/sysinst/bsddisklabel.c: revision 1.49
usr.sbin/sysinst/disklabel.c: revision 1.42
usr.sbin/sysinst/Makefile.inc: revision 1.34
usr.sbin/sysinst/disks.c: revision 1.70
usr.sbin/sysinst/arch/hp300/md.c: revision 1.11
usr.sbin/sysinst/disks.c: revision 1.71
usr.sbin/sysinst/arch/i386/md.h: revision 1.8
usr.sbin/sysinst/arch/arc/md.c: revision 1.13
usr.sbin/sysinst/mbr.h: revision 1.5
usr.sbin/sysinst/mbr.h: revision 1.6
usr.sbin/sysinst/arch/mac68k/md.c: revision 1.10
usr.sbin/sysinst/bsddisklabel.c: revision 1.50
usr.sbin/sysinst/arch/acorn32/md.c: revision 1.7
usr.sbin/sysinst/bsddisklabel.c: revision 1.51
usr.sbin/sysinst/bsddisklabel.c: revision 1.52
usr.sbin/sysinst/bsddisklabel.c: revision 1.53
usr.sbin/sysinst/bsddisklabel.c: revision 1.54
usr.sbin/sysinst/bsddisklabel.c: revision 1.55
usr.sbin/sysinst/bsddisklabel.c: revision 1.56
usr.sbin/sysinst/arch/dummy/md.c: revision 1.6
usr.sbin/sysinst/arch/amd64/md.h: revision 1.9
usr.sbin/sysinst/arch/evbsh3/md.c: revision 1.6
usr.sbin/sysinst/arch/sparc/md.c: revision 1.6
usr.sbin/sysinst/arch/zaurus/md.c: revision 1.10
usr.sbin/sysinst/arch/x68k/md.c: revision 1.11
usr.sbin/sysinst/arch/sandpoint/md.c: revision 1.9
usr.sbin/sysinst/arch/vax/md.c: revision 1.7
usr.sbin/sysinst/arch/luna68k/md.c: revision 1.9
usr.sbin/sysinst/gpt.c: revision 1.19
usr.sbin/sysinst/arch/i386/md.c: revision 1.31
usr.sbin/sysinst/arch/i386/md.c: revision 1.32
usr.sbin/sysinst/arch/evbarm/md.c: revision 1.17
usr.sbin/sysinst/arch/evbarm/md.c: revision 1.18
usr.sbin/sysinst/arch/evbarm/md.c: revision 1.19
usr.sbin/sysinst/arch/shark/md.c: revision 1.6
usr.sbin/sysinst/arch/landisk/md.c: revision 1.14
usr.sbin/sysinst/util.c: revision 1.43
usr.sbin/sysinst/gpt.c: revision 1.20
usr.sbin/sysinst/util.c: revision 1.44
usr.sbin/sysinst/gpt.c: revision 1.21
usr.sbin/sysinst/gpt.c: revision 1.22
usr.sbin/sysinst/arch/evbarm/msg.md.en: revision 1.2
usr.sbin/sysinst/arch/ofppc/md.c: revision 1.11
usr.sbin/sysinst/util.c: revision 1.46
usr.sbin/sysinst/arch/ofppc/md.c: revision 1.12
usr.sbin/sysinst/util.c: revision 1.47
usr.sbin/sysinst/arch/evbarm/md.h: revision 1.6
usr.sbin/sysinst/util.c: revision 1.48
usr.sbin/sysinst/arch/evbarm/md.h: revision 1.7
usr.sbin/sysinst/arch/evbmips/md.c: revision 1.9
usr.sbin/sysinst/msg.mi.fr: revision 1.28
usr.sbin/sysinst/msg.mi.fr: revision 1.29
usr.sbin/sysinst/arch/sgimips/md.c: revision 1.9
usr.sbin/sysinst/arch/evbarm/Makefile: revision 1.3
usr.sbin/sysinst/msg.mi.de: revision 1.23
usr.sbin/sysinst/arch/hpcsh/md.c: revision 1.10
usr.sbin/sysinst/msg.mi.de: revision 1.24
usr.sbin/sysinst/install.c: revision 1.15
usr.sbin/sysinst/install.c: revision 1.16
usr.sbin/sysinst/arch/sparc64/md.c: revision 1.6
usr.sbin/sysinst/install.c: revision 1.17
usr.sbin/sysinst/install.c: revision 1.18
usr.sbin/sysinst/partitions.h: revision 1.16
usr.sbin/sysinst/install.c: revision 1.19
usr.sbin/sysinst/partitions.h: revision 1.17
usr.sbin/sysinst/arch/evbppc/md.c: revision 1.9
usr.sbin/sysinst/arch/playstation2/md.c: revision 1.9
usr.sbin/sysinst/partitions.h: revision 1.18
usr.sbin/sysinst/arch/hpcarm/md.c: revision 1.9
usr.sbin/sysinst/partitions.h: revision 1.19
usr.sbin/sysinst/msg.mi.es: revision 1.24
usr.sbin/sysinst/msg.mi.es: revision 1.25
usr.sbin/sysinst/msg.mi.es: revision 1.26
usr.sbin/sysinst/arch/zaurus/md.c: revision 1.9
usr.sbin/sysinst/target.c: revision 1.13
usr.sbin/sysinst/target.c: revision 1.14
usr.sbin/sysinst/part_edit.c: revision 1.17
usr.sbin/sysinst/part_edit.c: revision 1.18
usr.sbin/sysinst/msg.mi.fr: revision 1.30
usr.sbin/sysinst/arch/mvme68k/md.c: revision 1.11
usr.sbin/sysinst/part_edit.c: revision 1.19
usr.sbin/sysinst/msg.mi.fr: revision 1.31
usr.sbin/sysinst/arch/alpha/md.c: revision 1.9
usr.sbin/sysinst/msg.mi.en: revision 1.30
usr.sbin/sysinst/defs.h: revision 1.56
usr.sbin/sysinst/msg.mi.en: revision 1.31
usr.sbin/sysinst/defs.h: revision 1.57
usr.sbin/sysinst/msg.mi.en: revision 1.32
usr.sbin/sysinst/arch/amiga/md.c: revision 1.6
usr.sbin/sysinst/arch/hpcmips/md.c: revision 1.9
usr.sbin/sysinst/defs.h: revision 1.58
usr.sbin/sysinst/arch/cats/md.c: revision 1.5
usr.sbin/sysinst/defs.h: revision 1.59
usr.sbin/sysinst/arch/newsmips/md.c: revision 1.6
usr.sbin/sysinst/arch/pmax/md.c: revision 1.8
usr.sbin/sysinst/arch/mipsco/md.c: revision 1.8
usr.sbin/sysinst/part_edit.c: revision 1.20
usr.sbin/sysinst/part_edit.c: revision 1.21
usr.sbin/sysinst/arch/macppc/md.c: revision 1.6
usr.sbin/sysinst/part_edit.c: revision 1.22
usr.sbin/sysinst/part_edit.c: revision 1.23
usr.sbin/sysinst/part_edit.c: revision 1.24
usr.sbin/sysinst/defs.h: revision 1.60
usr.sbin/sysinst/arch/mac68k/Makefile: revision 1.3
usr.sbin/sysinst/defs.h: revision 1.61
usr.sbin/sysinst/defs.h: revision 1.63
usr.sbin/sysinst/defs.h: revision 1.64
usr.sbin/sysinst/defs.h: revision 1.65
usr.sbin/sysinst/label.c: revision 1.21
usr.sbin/sysinst/defs.h: revision 1.66
usr.sbin/sysinst/label.c: revision 1.22
usr.sbin/sysinst/defs.h: revision 1.67
usr.sbin/sysinst/label.c: revision 1.23
usr.sbin/sysinst/label.c: revision 1.24
usr.sbin/sysinst/label.c: revision 1.25
usr.sbin/sysinst/label.c: revision 1.26
usr.sbin/sysinst/label.c: revision 1.27
usr.sbin/sysinst/msg.mi.pl: revision 1.31
usr.sbin/sysinst/label.c: revision 1.28
usr.sbin/sysinst/msg.mi.pl: revision 1.32
usr.sbin/sysinst/label.c: revision 1.29
usr.sbin/sysinst/arch/atari/md.c: revision 1.7
usr.sbin/sysinst/disklabel.c: revision 1.36
usr.sbin/sysinst/disklabel.c: revision 1.37
usr.sbin/sysinst/disklabel.c: revision 1.38
usr.sbin/sysinst/disklabel.c: revision 1.39
usr.sbin/sysinst/arch/bebox/md.c: revision 1.9
usr.sbin/sysinst/mbr.c: revision 1.32
usr.sbin/sysinst/disks.c: revision 1.66
usr.sbin/sysinst/mbr.c: revision 1.33
usr.sbin/sysinst/disks.c: revision 1.67
usr.sbin/sysinst/mbr.c: revision 1.34
usr.sbin/sysinst/arch/emips/md.c: revision 1.9
usr.sbin/sysinst/disks.c: revision 1.68
usr.sbin/sysinst/partitions.c: revision 1.11
usr.sbin/sysinst/mbr.c: revision 1.35
usr.sbin/sysinst/disks.c: revision 1.69
usr.sbin/sysinst/mbr.c: revision 1.36
usr.sbin/sysinst/arch/hppa/md.c: revision 1.8
usr.sbin/sysinst/arch/prep/md.c: revision 1.13
usr.sbin/sysinst/label.c: revision 1.30
usr.sbin/sysinst/arch/ews4800mips/md.c: revision 1.7
usr.sbin/sysinst/main.c: revision 1.21
usr.sbin/sysinst/main.c: revision 1.22
usr.sbin/sysinst/main.c: revision 1.23
usr.sbin/sysinst/bsddisklabel.c: revision 1.40
usr.sbin/sysinst/main.c: revision 1.24
usr.sbin/sysinst/arch/cobalt/md.h: revision 1.6
usr.sbin/sysinst/bsddisklabel.c: revision 1.41
usr.sbin/sysinst/main.c: revision 1.25
usr.sbin/sysinst/arch/news68k/md.c: revision 1.7
usr.sbin/sysinst/bsddisklabel.c: revision 1.42
usr.sbin/sysinst/bsddisklabel.c: revision 1.43
usr.sbin/sysinst/bsddisklabel.c: revision 1.44
usr.sbin/sysinst/bsddisklabel.c: revision 1.45
Use strlcpy in a few places to guarnatee 0-terminated strings
Rever previous: the d_packname in struct disklabel is not NUL terminated.
Disable the warning instead.
Do not force -Os optimization (unless SMALLPROG)
Remove unused "rel" global variable and make the -r option a no-op.
PR 55045: strlcpy(NULL, ..., 0) considered harmfull in some implementations.
PR misc/54886: bump threshold for automatic/default creation of a tmpfs /tmp
up slightly (to 384 MB ram). This will make sure the default install has
a > 64 MB /tmp available (number pulled out of thin air, 64 MB is the minimum
required by the ZFS tests).
Don't depend on common symbol definitions.
boardype should not be common.
Redo the root-size-limit check again after we grew the root partition
for kernel dumps. Auto-enable the /usr partition if it overflows.
For all non-root partitions, default to FFSv2.
When extending a partition (to fill the total disk size) do respect
size limits.
Do not suggest a size limited partition for extension by default.
Minor tweak to previous: when forcing a /usr partition just to have an
arbitrary extendable partition, still use its default size initially.
At the end of a new installation save entropy.
Ooops, backout previous - twice the entropy saving is not needed.
Instead slightly improve the (slightly) hidden other code that already
did it.
PR 55202: disable swapping if we started it due to low ram
it's "its"
Remove "If you booted from a floppy" message
Set HAVE_INSTALL_IMAGE for evbarm
Change mountpoint of boot ext2fs from /stand to /ext2 to avoid conflict.
Should be pulled up to netbsd-9, with fixes of PR/55060.
MBR type for Ext2 should be MBR_PTYPE_LNXEXT2, not MBR_PTYPE_FAT12.
Silence -Wstringop-truncation for ``name'' in disp_selected_part().
This variable is used only for display, and truncation seems harmless.
PR 55572: avoid crash when answering the mount point prompt for a previously
empty mount point with an emptry sting.
When adding a new partition in the concrete partition editor, make sure
to set a pointer to the partition table interface in the new entry.
Otherwise we may end up not writing back the partitions at all, leading
to further fallout later.
Receipe to reproduce the issue from Frederic Fauberteau, thanks!
In the concrete partitions editor, after deleting the last partition move
the menu selection to the "add a partition" entry (instead of the sentinel
line which is not an active menu entry).
Typo in comment
Keep a list of all partition tables from which we have deleted partitions
and make sure we update those partition tables when writing partitions,
even if no install related partition remains on them.
Fix display of timezone selection menu
If there is no current partitioning manager assume we are editing the
current system and make target_already_root() return true.
Fixes various fallout when using sysinst post installation.
PR 55377: mark boot partitions in the partition size display, as suggested
by Izumi Tsutsui (minor modifications + all bugs by me)
PR 55378: do not assume RAW_PART to be either 2 or 3
PR 55379: avoid creating bogus /etc/fstab lines for /dev/cd* if no
cdrom is available.
PR 55381: try to deal with moved (but not yet saved) partitions when
calculating free space
Apply patch provided by Izumi Tsutsui in PR 55382: make ext2 partitions
show up in the outer (MBR) partition table, needed for example on Cobalt
where firmware boots from that partition.
PR 55384: detangle pm->ptstart from the "install" flag (selecting a
target partition). Instead introduce a new PTI_INSTALL_TARGET per partition
flag and deal with it in the partitioning backends.
Honour pm->ptstart when allocating new partitions - it is supposed to be
the first sector usable by NetBSD.
If we have no explicitly marke target root partition, make sure to set
the proper flag on the implicit one.
When merging existing partitions with desired target system layout
information, only force the "mount" flag if the existing partitions
has a valid mount point.
Add a heuristic to detect and properly mark EFI system partitions
when re-using pre-existing partitions.
When MD code requests a reserved area (at the start of the disk)
make sure to properly account for the "lost" space during all calculations
and especially when expanding the main partition to fill the disk.
Avoid using the global "pm" or a passed device descriptons when we are
passing disk limits explicitly anyway.
Simplify/fix a few rounding calculations.
When creating new partitions for "full disk" use, pass a install target
hint to the partitioning backend (for the outer NetBSD partition).
Use an install target hint to mark a new partition active.
When compiled with BOOTSEL support, also name the new partition "NetBSD".
Remove more pm->ptstart abuse - calculate values localy where needed
instead.
Fix editing start and size of not yet existing outer partitions.
Previously we abused pm->ptstart / pm->ptsize to pass the bounds of the
NetBSD outer partition to the inner partition editor - but now this is
not a valid assumption any more, so explicitly fix the bounds if an
outer partition exists.
Remove very strange code that special-cased MSDOS file systems and refused
to newfs the partition (despite explicit request to do so) if it was
mountable.
Accidently carried over from a dim and distant past, before we had
fsck_newfs.
PR 55536: when we find existing partition tables and have alternative
formats available, offer to delete partitions and create new ones from
scratch (in some other or the same on-disk format).
Minor fix to previous: fix condition when we offer the partition type
switch - it makes sense even if the disk is partitioned but has no valid
partitions.
Before forcing MBR partitions into our disklabel, make sure they are not
there yet - could happen in various paths when reusing existing partitions
(or parts of that) - previously we would blindly duplicate identical
partitions.
Ooops, part of previous was not meant to be included yet
When renumbering partitions (after deletions) be slightly more lax
in matching, to cope with differences between MBR EFI partitions and
disklabel MSDOS partitions.
PR 55142: on popular demand bring back expert options to adjust the
number of free inodes, block size and fragment size for FFS and LFS.
Fix copy & pasto noticed by Jason Mitchell: change the type of a GPT
partition via "gpt type" - not "gpt label".
Fix copy & pasto (missing "again" label)
Remove dead code
Move MBR writing (if any) post disklabel writing, otherwise strange
interactions happen.
Properly convert partition default sizes in MB to number of sectors
 1.6.2.1 17-Nov-2019  martin Pull up following revision(s) (requested by maya in ticket #435):

distrib/sets/maketars: revision 1.90
usr.sbin/sysinst/arch/playstation2/md.h: revision 1.2
usr.sbin/sysinst/arch/sandpoint/md.h: revision 1.3
usr.sbin/sysinst/arch/evbppc/md.h: revision 1.3
usr.sbin/sysinst/arch/hpcarm/md.h: revision 1.3
usr.sbin/sysinst/arch/mvme68k/md.h: revision 1.3
distrib/sun3/MakeInstTape: revision 1.3
usr.sbin/sysinst/util.c: revision 1.33
distrib/sets/lists/rescue/mi: revision 1.1
distrib/sets/lists/base/rescue.sun2: file removal
usr.sbin/sysinst/arch/zaurus/md.h: revision 1.3
distrib/sets/lists/base/rescue.ad.m68k.shl: file removal
distrib/sets/regpkgset: revision 1.13
usr.sbin/sysinst/arch/i386/md.h: revision 1.7
distrib/sets/lists/base/rescue.sparc: file removal
distrib/notes/mvme68k/xfer: revision 1.19
distrib/sets/sets.subr: revision 1.187
distrib/common/bootimage/Makefile.bootimage: revision 1.22
usr.sbin/sysinst/msg.mi.de: revision 1.16
usr.sbin/sysinst/arch/atari/md.h: revision 1.3
rescue/Makefile: revision 1.38
distrib/sets/lists/base/rescue.macppc: file removal
usr.sbin/sysinst/arch/arc/md.h: revision 1.4
distrib/miniroot/install.sub: revision 1.49
usr.sbin/sysinst/arch/acorn32/md.h: revision 1.3
usr.sbin/sysinst/arch/x68k/md.h: revision 1.3
usr.sbin/sysinst/arch/hpcmips/md.h: revision 1.3
usr.sbin/sysinst/arch/bebox/md.h: revision 1.3
usr.sbin/sysinst/arch/hpcsh/md.h: revision 1.2
distrib/sets/lists/base/rescue.shark: file removal
usr.sbin/sysinst/arch/emips/md.h: revision 1.5
distrib/utils/embedded/mkimage: revision 1.70
usr.sbin/sysinst/arch/shark/md.h: revision 1.3
usr.sbin/sysinst/arch/pmax/md.h: revision 1.4
usr.sbin/sysinst/arch/amiga/md.h: revision 1.4
usr.sbin/sysinst/arch/hp300/md.h: revision 1.5
rescue/list.ldconfig: file removal
distrib/sets/lists/base/rescue.ad.m68k: file removal
usr.sbin/sysinst/arch/prep/md.h: revision 1.4
usr.sbin/sysinst/arch/cats/md.h: revision 1.4
usr.sbin/sysinst/arch/amd64/md.h: revision 1.7
usr.sbin/sysinst/msg.mi.es: revision 1.17
usr.sbin/sysinst/msg.mi.fr: revision 1.20
usr.sbin/sysinst/msg.mi.pl: revision 1.23
distrib/sets/lists/base/rescue.i386: file removal
usr.sbin/sysinst/arch/evbarm/md.h: revision 1.3
distrib/sets/lists/base/rescue.vax: file removal
distrib/amd64/uefi-installimage/Makefile.bootimage: revision 1.12
usr.sbin/sysinst/arch/evbmips/md.h: revision 1.3
distrib/sets/lists/base/rescue.mi: file removal
distrib/sets/README: revision 1.14
usr.sbin/sysinst/arch/sgimips/md.h: revision 1.4
distrib/sets/lists/base/rescue.sparc64: file removal
distrib/sets/lists/base/rescue.mi: revision 1.45
distrib/sets/lists/base/rescue.mi: revision 1.46
usr.sbin/sysinst/arch/ofppc/md.h: revision 1.4
usr.sbin/sysinst/arch/cobalt/md.h: revision 1.4
distrib/sets/lists/base/rescue.ad.arm: file removal
distrib/sets/lists/base/rescue.mac68k: file removal
usr.sbin/sysinst/defs.h: revision 1.45
usr.sbin/sysinst/arch/landisk/md.h: revision 1.2
distrib/notes/atari/xfer: revision 1.17
etc/Makefile: revision 1.441
usr.sbin/sysinst/msg.mi.en: revision 1.22
distrib/sun2/MakeInstTape: revision 1.2

Remove ldconfig from /rescue, and mark it MI obsolete.
- ldconfig in netbsd refers to a.out binaries only. We've been ELF-only
since NetBSD 2.0 or so, and having it in /rescue served little purpose
even before that, as /rescue is standalone.
- Using MI obsolete to avoid the need for MD set lists where ldconfig
is the sole entry

Mark /rescue/edlabel as MI-obsolete, so we can remove all remaining MD
rescue set list files.

Split out /rescue to its own set and adapt installers/images to add it.

This is meant to make updates safer: if something goes wrong with updating
base, we still have the old, standalone /rescue to recover from.
 1.3 16-Nov-2019  martin Make the bootblock selection menu more sane, pointed out by maxv
 1.2 20-Jun-2019  christos branches: 1.2.2;
Use _fmt_ msg_ methods when formats are needed.
 1.1 26-Jul-2014  dholland branches: 1.1.2; 1.1.6; 1.1.28;
Move sysinst sources to usr.sbin.

This commit only physically moves the sources - there are no other
changes, to maximize the probability that this will be treated as a
rename if we ever do manage to migrate away from CVS.

Moving sysinst has been discussed on and off for years and has two
goals: making it easier to work on sysinst, and also making sysinst
available on running systems for use installing chroots and VM images
and other such things. None of the latter is possible yet, but as they
say, one thing at a time.

Doing this now was approved in an impromptu fashion by mrg, riz,
riastradh, me, and groo.
 1.1.28.1 13-Apr-2020  martin Mostly merge changes from HEAD upto 20200411
 1.1.6.2 20-Aug-2014  tls Rebase to HEAD as of a few days ago.
 1.1.6.1 26-Jul-2014  tls file menus.md was added on branch tls-maxphys on 2014-08-20 00:05:16 +0000
 1.1.2.2 10-Aug-2014  tls Rebase.
 1.1.2.1 26-Jul-2014  tls file menus.md was added on branch tls-earlyentropy on 2014-08-10 07:00:26 +0000
 1.2.2.1 17-Nov-2019  msaitoh Pull up following revision(s) (requested by martin in ticket #436):
usr.sbin/sysinst/disks.c: revision 1.55
usr.sbin/sysinst/msg.mi.en: revision 1.24
usr.sbin/sysinst/mbr.c: revision 1.22
usr.sbin/sysinst/disks.c: revision 1.56
usr.sbin/sysinst/msg.mi.en: revision 1.25
usr.sbin/sysinst/disks.c: revision 1.57
usr.sbin/sysinst/arch/playstation2/msg.md.pl: revision 1.3
usr.sbin/sysinst/Makefile.inc: revision 1.30
usr.sbin/sysinst/configmenu.c: revision 1.11
usr.sbin/sysinst/util.c: revision 1.35
usr.sbin/sysinst/gpt.c: revision 1.12
usr.sbin/sysinst/util.c: revision 1.36
usr.sbin/sysinst/arch/playstation2/msg.md.de: revision 1.3
usr.sbin/sysinst/arch/i386/menus.md: revision 1.3
usr.sbin/sysinst/util.c: revision 1.37
usr.sbin/sysinst/part_edit.c: revision 1.11
usr.sbin/sysinst/arch/i386/msg.md.en: revision 1.2
usr.sbin/sysinst/util.c: revision 1.38
usr.sbin/sysinst/part_edit.c: revision 1.12
usr.sbin/sysinst/arch/i386/msg.md.en: revision 1.3
usr.sbin/sysinst/util.c: revision 1.39
usr.sbin/sysinst/part_edit.c: revision 1.13
usr.sbin/sysinst/arch/i386/msg.md.en: revision 1.4
usr.sbin/sysinst/disklabel.c: revision 1.15
usr.sbin/sysinst/bsddisklabel.c: revision 1.30
usr.sbin/sysinst/arch/i386/msg.md.es: revision 1.2
usr.sbin/sysinst/bsddisklabel.c: revision 1.31
usr.sbin/sysinst/arch/i386/msg.md.es: revision 1.3
usr.sbin/sysinst/arch/i386/msg.md.es: revision 1.4
usr.sbin/sysinst/mbr.h: revision 1.4
usr.sbin/sysinst/main.c: revision 1.18
usr.sbin/sysinst/partman.c: revision 1.44
usr.sbin/sysinst/msg.mi.de: revision 1.17
usr.sbin/sysinst/arch/i386/msg.md.fr: revision 1.2
usr.sbin/sysinst/msg.mi.de: revision 1.18
usr.sbin/sysinst/arch/i386/msg.md.fr: revision 1.3
usr.sbin/sysinst/arch/playstation2/msg.md.en: revision 1.3
usr.sbin/sysinst/arch/i386/msg.md.fr: revision 1.4
usr.sbin/sysinst/arch/amd64/md.c: revision 1.2
usr.sbin/sysinst/arch/ews4800mips/Makefile: revision 1.3
usr.sbin/sysinst/arch/playstation2/msg.md.es: revision 1.3
usr.sbin/sysinst/label.c: revision 1.13
usr.sbin/sysinst/Makefile.inc: revision 1.29
usr.sbin/sysinst/label.c: revision 1.14
usr.sbin/sysinst/util.c: revision 1.40
usr.sbin/sysinst/partitions.c: revision 1.5
usr.sbin/sysinst/arch/amd64/md.h: revision 1.8
usr.sbin/sysinst/msg.mi.es: revision 1.18
usr.sbin/sysinst/net.c: revision 1.34
usr.sbin/sysinst/msg.mi.es: revision 1.19
usr.sbin/sysinst/arch/i386/msg.md.pl: revision 1.2
usr.sbin/sysinst/arch/i386/md.c: revision 1.22
usr.sbin/sysinst/msg.mi.fr: revision 1.22
usr.sbin/sysinst/arch/playstation2/msg.md.fr: revision 1.3
usr.sbin/sysinst/arch/i386/msg.md.pl: revision 1.3
usr.sbin/sysinst/arch/i386/md.c: revision 1.23
usr.sbin/sysinst/msg.mi.pl: revision 1.25
usr.sbin/sysinst/msg.mi.fr: revision 1.23
usr.sbin/sysinst/arch/i386/msg.md.pl: revision 1.4
usr.sbin/sysinst/arch/i386/md.c: revision 1.24
usr.sbin/sysinst/partitions.h: revision 1.8
usr.sbin/sysinst/msg.mi.pl: revision 1.26
usr.sbin/sysinst/arch/i386/msg.md.de: revision 1.2
usr.sbin/sysinst/arch/i386/msg.md.de: revision 1.3
usr.sbin/sysinst/arch/i386/msg.md.de: revision 1.4
usr.sbin/sysinst/run.c: revision 1.13
usr.sbin/sysinst/defs.h: revision 1.46
usr.sbin/sysinst/install.c: revision 1.12
usr.sbin/sysinst/defs.h: revision 1.47
usr.sbin/sysinst/install.c: revision 1.13
usr.sbin/sysinst/defs.h: revision 1.48
Add options to the various partitioning stages that allow cloning of
alien partitions (optionally including data).
PR 54467: we trust our own sets, extract them with -P to allow symlink
redirection (especially for updates and chroot services - back out
once a better solution for those is implemented)
Make cloning support optional, so we can save some space on very small
install media.
Drop MBR and cloning support on crunched install media.
Make tar extraction flags depend on our usage of pax-as-tar or bsdtar.
Fix missing newlines in bios match display, pointed out by maxv.
Drop unused variable.
Fix table of bios geomatries
knf style adjustments
Make the bootblock selection menu more sane, pointed out by maxv
Make sure all menus have a translatable exit option (or none at all).
On amd64 support installation with a KASLR kernel, via "custom install"
and selecting the GENERIC_KASLR kernel set.
Setup /prekern and boot.cfg accordingly.
 1.4 16-Nov-2019  martin On amd64 support installation with a KASLR kernel, via "custom install"
and selecting the GENERIC_KASLR kernel set.
Setup /prekern and boot.cfg accordingly.
 1.3 16-Nov-2019  martin Fix table of bios geomatries
 1.2 14-Nov-2019  martin Fix missing newlines in bios match display, pointed out by maxv.
 1.1 26-Jul-2014  dholland branches: 1.1.2; 1.1.4; 1.1.6; 1.1.22; 1.1.24;
Move sysinst sources to usr.sbin.

This commit only physically moves the sources - there are no other
changes, to maximize the probability that this will be treated as a
rename if we ever do manage to migrate away from CVS.

Moving sysinst has been discussed on and off for years and has two
goals: making it easier to work on sysinst, and also making sysinst
available on running systems for use installing chroots and VM images
and other such things. None of the latter is possible yet, but as they
say, one thing at a time.

Doing this now was approved in an impromptu fashion by mrg, riz,
riastradh, me, and groo.
 1.1.24.1 17-Nov-2019  msaitoh Pull up following revision(s) (requested by martin in ticket #436):
usr.sbin/sysinst/disks.c: revision 1.55
usr.sbin/sysinst/msg.mi.en: revision 1.24
usr.sbin/sysinst/mbr.c: revision 1.22
usr.sbin/sysinst/disks.c: revision 1.56
usr.sbin/sysinst/msg.mi.en: revision 1.25
usr.sbin/sysinst/disks.c: revision 1.57
usr.sbin/sysinst/arch/playstation2/msg.md.pl: revision 1.3
usr.sbin/sysinst/Makefile.inc: revision 1.30
usr.sbin/sysinst/configmenu.c: revision 1.11
usr.sbin/sysinst/util.c: revision 1.35
usr.sbin/sysinst/gpt.c: revision 1.12
usr.sbin/sysinst/util.c: revision 1.36
usr.sbin/sysinst/arch/playstation2/msg.md.de: revision 1.3
usr.sbin/sysinst/arch/i386/menus.md: revision 1.3
usr.sbin/sysinst/util.c: revision 1.37
usr.sbin/sysinst/part_edit.c: revision 1.11
usr.sbin/sysinst/arch/i386/msg.md.en: revision 1.2
usr.sbin/sysinst/util.c: revision 1.38
usr.sbin/sysinst/part_edit.c: revision 1.12
usr.sbin/sysinst/arch/i386/msg.md.en: revision 1.3
usr.sbin/sysinst/util.c: revision 1.39
usr.sbin/sysinst/part_edit.c: revision 1.13
usr.sbin/sysinst/arch/i386/msg.md.en: revision 1.4
usr.sbin/sysinst/disklabel.c: revision 1.15
usr.sbin/sysinst/bsddisklabel.c: revision 1.30
usr.sbin/sysinst/arch/i386/msg.md.es: revision 1.2
usr.sbin/sysinst/bsddisklabel.c: revision 1.31
usr.sbin/sysinst/arch/i386/msg.md.es: revision 1.3
usr.sbin/sysinst/arch/i386/msg.md.es: revision 1.4
usr.sbin/sysinst/mbr.h: revision 1.4
usr.sbin/sysinst/main.c: revision 1.18
usr.sbin/sysinst/partman.c: revision 1.44
usr.sbin/sysinst/msg.mi.de: revision 1.17
usr.sbin/sysinst/arch/i386/msg.md.fr: revision 1.2
usr.sbin/sysinst/msg.mi.de: revision 1.18
usr.sbin/sysinst/arch/i386/msg.md.fr: revision 1.3
usr.sbin/sysinst/arch/playstation2/msg.md.en: revision 1.3
usr.sbin/sysinst/arch/i386/msg.md.fr: revision 1.4
usr.sbin/sysinst/arch/amd64/md.c: revision 1.2
usr.sbin/sysinst/arch/ews4800mips/Makefile: revision 1.3
usr.sbin/sysinst/arch/playstation2/msg.md.es: revision 1.3
usr.sbin/sysinst/label.c: revision 1.13
usr.sbin/sysinst/Makefile.inc: revision 1.29
usr.sbin/sysinst/label.c: revision 1.14
usr.sbin/sysinst/util.c: revision 1.40
usr.sbin/sysinst/partitions.c: revision 1.5
usr.sbin/sysinst/arch/amd64/md.h: revision 1.8
usr.sbin/sysinst/msg.mi.es: revision 1.18
usr.sbin/sysinst/net.c: revision 1.34
usr.sbin/sysinst/msg.mi.es: revision 1.19
usr.sbin/sysinst/arch/i386/msg.md.pl: revision 1.2
usr.sbin/sysinst/arch/i386/md.c: revision 1.22
usr.sbin/sysinst/msg.mi.fr: revision 1.22
usr.sbin/sysinst/arch/playstation2/msg.md.fr: revision 1.3
usr.sbin/sysinst/arch/i386/msg.md.pl: revision 1.3
usr.sbin/sysinst/arch/i386/md.c: revision 1.23
usr.sbin/sysinst/msg.mi.pl: revision 1.25
usr.sbin/sysinst/msg.mi.fr: revision 1.23
usr.sbin/sysinst/arch/i386/msg.md.pl: revision 1.4
usr.sbin/sysinst/arch/i386/md.c: revision 1.24
usr.sbin/sysinst/partitions.h: revision 1.8
usr.sbin/sysinst/msg.mi.pl: revision 1.26
usr.sbin/sysinst/arch/i386/msg.md.de: revision 1.2
usr.sbin/sysinst/arch/i386/msg.md.de: revision 1.3
usr.sbin/sysinst/arch/i386/msg.md.de: revision 1.4
usr.sbin/sysinst/run.c: revision 1.13
usr.sbin/sysinst/defs.h: revision 1.46
usr.sbin/sysinst/install.c: revision 1.12
usr.sbin/sysinst/defs.h: revision 1.47
usr.sbin/sysinst/install.c: revision 1.13
usr.sbin/sysinst/defs.h: revision 1.48
Add options to the various partitioning stages that allow cloning of
alien partitions (optionally including data).
PR 54467: we trust our own sets, extract them with -P to allow symlink
redirection (especially for updates and chroot services - back out
once a better solution for those is implemented)
Make cloning support optional, so we can save some space on very small
install media.
Drop MBR and cloning support on crunched install media.
Make tar extraction flags depend on our usage of pax-as-tar or bsdtar.
Fix missing newlines in bios match display, pointed out by maxv.
Drop unused variable.
Fix table of bios geomatries
knf style adjustments
Make the bootblock selection menu more sane, pointed out by maxv
Make sure all menus have a translatable exit option (or none at all).
On amd64 support installation with a KASLR kernel, via "custom install"
and selecting the GENERIC_KASLR kernel set.
Setup /prekern and boot.cfg accordingly.
 1.1.22.1 13-Apr-2020  martin Mostly merge changes from HEAD upto 20200411
 1.1.6.2 20-Aug-2014  tls Rebase to HEAD as of a few days ago.
 1.1.6.1 26-Jul-2014  tls file msg.md.de was added on branch tls-maxphys on 2014-08-20 00:05:16 +0000
 1.1.4.2 18-Mar-2015  snj Apply patch (requested by christos in ticket #542):
- Enable intel and radeon DRM/KMS drivers in GENERIC
- Disable all of the old DRM drivers in GENERIC
- Remove the separate DRMKMS kernel
 1.1.4.1 04-Dec-2014  snj Apply patch (requested by bouyer in ticket #295):
Build the DRMKMS kernel on x86, and provide a sysinst option to
install it.
 1.1.2.2 10-Aug-2014  tls Rebase.
 1.1.2.1 26-Jul-2014  tls file msg.md.de was added on branch tls-earlyentropy on 2014-08-10 07:00:26 +0000
 1.5 16-Jan-2024  gson The serial bootblocks use the selected serial port, not the first serial port.
 1.4 16-Nov-2019  martin On amd64 support installation with a KASLR kernel, via "custom install"
and selecting the GENERIC_KASLR kernel set.
Setup /prekern and boot.cfg accordingly.
 1.3 16-Nov-2019  martin Fix table of bios geomatries
 1.2 14-Nov-2019  martin Fix missing newlines in bios match display, pointed out by maxv.
 1.1 26-Jul-2014  dholland branches: 1.1.2; 1.1.4; 1.1.6; 1.1.22; 1.1.24;
Move sysinst sources to usr.sbin.

This commit only physically moves the sources - there are no other
changes, to maximize the probability that this will be treated as a
rename if we ever do manage to migrate away from CVS.

Moving sysinst has been discussed on and off for years and has two
goals: making it easier to work on sysinst, and also making sysinst
available on running systems for use installing chroots and VM images
and other such things. None of the latter is possible yet, but as they
say, one thing at a time.

Doing this now was approved in an impromptu fashion by mrg, riz,
riastradh, me, and groo.
 1.1.24.1 17-Nov-2019  msaitoh Pull up following revision(s) (requested by martin in ticket #436):
usr.sbin/sysinst/disks.c: revision 1.55
usr.sbin/sysinst/msg.mi.en: revision 1.24
usr.sbin/sysinst/mbr.c: revision 1.22
usr.sbin/sysinst/disks.c: revision 1.56
usr.sbin/sysinst/msg.mi.en: revision 1.25
usr.sbin/sysinst/disks.c: revision 1.57
usr.sbin/sysinst/arch/playstation2/msg.md.pl: revision 1.3
usr.sbin/sysinst/Makefile.inc: revision 1.30
usr.sbin/sysinst/configmenu.c: revision 1.11
usr.sbin/sysinst/util.c: revision 1.35
usr.sbin/sysinst/gpt.c: revision 1.12
usr.sbin/sysinst/util.c: revision 1.36
usr.sbin/sysinst/arch/playstation2/msg.md.de: revision 1.3
usr.sbin/sysinst/arch/i386/menus.md: revision 1.3
usr.sbin/sysinst/util.c: revision 1.37
usr.sbin/sysinst/part_edit.c: revision 1.11
usr.sbin/sysinst/arch/i386/msg.md.en: revision 1.2
usr.sbin/sysinst/util.c: revision 1.38
usr.sbin/sysinst/part_edit.c: revision 1.12
usr.sbin/sysinst/arch/i386/msg.md.en: revision 1.3
usr.sbin/sysinst/util.c: revision 1.39
usr.sbin/sysinst/part_edit.c: revision 1.13
usr.sbin/sysinst/arch/i386/msg.md.en: revision 1.4
usr.sbin/sysinst/disklabel.c: revision 1.15
usr.sbin/sysinst/bsddisklabel.c: revision 1.30
usr.sbin/sysinst/arch/i386/msg.md.es: revision 1.2
usr.sbin/sysinst/bsddisklabel.c: revision 1.31
usr.sbin/sysinst/arch/i386/msg.md.es: revision 1.3
usr.sbin/sysinst/arch/i386/msg.md.es: revision 1.4
usr.sbin/sysinst/mbr.h: revision 1.4
usr.sbin/sysinst/main.c: revision 1.18
usr.sbin/sysinst/partman.c: revision 1.44
usr.sbin/sysinst/msg.mi.de: revision 1.17
usr.sbin/sysinst/arch/i386/msg.md.fr: revision 1.2
usr.sbin/sysinst/msg.mi.de: revision 1.18
usr.sbin/sysinst/arch/i386/msg.md.fr: revision 1.3
usr.sbin/sysinst/arch/playstation2/msg.md.en: revision 1.3
usr.sbin/sysinst/arch/i386/msg.md.fr: revision 1.4
usr.sbin/sysinst/arch/amd64/md.c: revision 1.2
usr.sbin/sysinst/arch/ews4800mips/Makefile: revision 1.3
usr.sbin/sysinst/arch/playstation2/msg.md.es: revision 1.3
usr.sbin/sysinst/label.c: revision 1.13
usr.sbin/sysinst/Makefile.inc: revision 1.29
usr.sbin/sysinst/label.c: revision 1.14
usr.sbin/sysinst/util.c: revision 1.40
usr.sbin/sysinst/partitions.c: revision 1.5
usr.sbin/sysinst/arch/amd64/md.h: revision 1.8
usr.sbin/sysinst/msg.mi.es: revision 1.18
usr.sbin/sysinst/net.c: revision 1.34
usr.sbin/sysinst/msg.mi.es: revision 1.19
usr.sbin/sysinst/arch/i386/msg.md.pl: revision 1.2
usr.sbin/sysinst/arch/i386/md.c: revision 1.22
usr.sbin/sysinst/msg.mi.fr: revision 1.22
usr.sbin/sysinst/arch/playstation2/msg.md.fr: revision 1.3
usr.sbin/sysinst/arch/i386/msg.md.pl: revision 1.3
usr.sbin/sysinst/arch/i386/md.c: revision 1.23
usr.sbin/sysinst/msg.mi.pl: revision 1.25
usr.sbin/sysinst/msg.mi.fr: revision 1.23
usr.sbin/sysinst/arch/i386/msg.md.pl: revision 1.4
usr.sbin/sysinst/arch/i386/md.c: revision 1.24
usr.sbin/sysinst/partitions.h: revision 1.8
usr.sbin/sysinst/msg.mi.pl: revision 1.26
usr.sbin/sysinst/arch/i386/msg.md.de: revision 1.2
usr.sbin/sysinst/arch/i386/msg.md.de: revision 1.3
usr.sbin/sysinst/arch/i386/msg.md.de: revision 1.4
usr.sbin/sysinst/run.c: revision 1.13
usr.sbin/sysinst/defs.h: revision 1.46
usr.sbin/sysinst/install.c: revision 1.12
usr.sbin/sysinst/defs.h: revision 1.47
usr.sbin/sysinst/install.c: revision 1.13
usr.sbin/sysinst/defs.h: revision 1.48
Add options to the various partitioning stages that allow cloning of
alien partitions (optionally including data).
PR 54467: we trust our own sets, extract them with -P to allow symlink
redirection (especially for updates and chroot services - back out
once a better solution for those is implemented)
Make cloning support optional, so we can save some space on very small
install media.
Drop MBR and cloning support on crunched install media.
Make tar extraction flags depend on our usage of pax-as-tar or bsdtar.
Fix missing newlines in bios match display, pointed out by maxv.
Drop unused variable.
Fix table of bios geomatries
knf style adjustments
Make the bootblock selection menu more sane, pointed out by maxv
Make sure all menus have a translatable exit option (or none at all).
On amd64 support installation with a KASLR kernel, via "custom install"
and selecting the GENERIC_KASLR kernel set.
Setup /prekern and boot.cfg accordingly.
 1.1.22.1 13-Apr-2020  martin Mostly merge changes from HEAD upto 20200411
 1.1.6.2 20-Aug-2014  tls Rebase to HEAD as of a few days ago.
 1.1.6.1 26-Jul-2014  tls file msg.md.en was added on branch tls-maxphys on 2014-08-20 00:05:16 +0000
 1.1.4.2 18-Mar-2015  snj Apply patch (requested by christos in ticket #542):
- Enable intel and radeon DRM/KMS drivers in GENERIC
- Disable all of the old DRM drivers in GENERIC
- Remove the separate DRMKMS kernel
 1.1.4.1 04-Dec-2014  snj Apply patch (requested by bouyer in ticket #295):
Build the DRMKMS kernel on x86, and provide a sysinst option to
install it.
 1.1.2.2 10-Aug-2014  tls Rebase.
 1.1.2.1 26-Jul-2014  tls file msg.md.en was added on branch tls-earlyentropy on 2014-08-10 07:00:26 +0000
 1.4 16-Nov-2019  martin On amd64 support installation with a KASLR kernel, via "custom install"
and selecting the GENERIC_KASLR kernel set.
Setup /prekern and boot.cfg accordingly.
 1.3 16-Nov-2019  martin Fix table of bios geomatries
 1.2 14-Nov-2019  martin Fix missing newlines in bios match display, pointed out by maxv.
 1.1 26-Jul-2014  dholland branches: 1.1.2; 1.1.4; 1.1.6; 1.1.22; 1.1.24;
Move sysinst sources to usr.sbin.

This commit only physically moves the sources - there are no other
changes, to maximize the probability that this will be treated as a
rename if we ever do manage to migrate away from CVS.

Moving sysinst has been discussed on and off for years and has two
goals: making it easier to work on sysinst, and also making sysinst
available on running systems for use installing chroots and VM images
and other such things. None of the latter is possible yet, but as they
say, one thing at a time.

Doing this now was approved in an impromptu fashion by mrg, riz,
riastradh, me, and groo.
 1.1.24.1 17-Nov-2019  msaitoh Pull up following revision(s) (requested by martin in ticket #436):
usr.sbin/sysinst/disks.c: revision 1.55
usr.sbin/sysinst/msg.mi.en: revision 1.24
usr.sbin/sysinst/mbr.c: revision 1.22
usr.sbin/sysinst/disks.c: revision 1.56
usr.sbin/sysinst/msg.mi.en: revision 1.25
usr.sbin/sysinst/disks.c: revision 1.57
usr.sbin/sysinst/arch/playstation2/msg.md.pl: revision 1.3
usr.sbin/sysinst/Makefile.inc: revision 1.30
usr.sbin/sysinst/configmenu.c: revision 1.11
usr.sbin/sysinst/util.c: revision 1.35
usr.sbin/sysinst/gpt.c: revision 1.12
usr.sbin/sysinst/util.c: revision 1.36
usr.sbin/sysinst/arch/playstation2/msg.md.de: revision 1.3
usr.sbin/sysinst/arch/i386/menus.md: revision 1.3
usr.sbin/sysinst/util.c: revision 1.37
usr.sbin/sysinst/part_edit.c: revision 1.11
usr.sbin/sysinst/arch/i386/msg.md.en: revision 1.2
usr.sbin/sysinst/util.c: revision 1.38
usr.sbin/sysinst/part_edit.c: revision 1.12
usr.sbin/sysinst/arch/i386/msg.md.en: revision 1.3
usr.sbin/sysinst/util.c: revision 1.39
usr.sbin/sysinst/part_edit.c: revision 1.13
usr.sbin/sysinst/arch/i386/msg.md.en: revision 1.4
usr.sbin/sysinst/disklabel.c: revision 1.15
usr.sbin/sysinst/bsddisklabel.c: revision 1.30
usr.sbin/sysinst/arch/i386/msg.md.es: revision 1.2
usr.sbin/sysinst/bsddisklabel.c: revision 1.31
usr.sbin/sysinst/arch/i386/msg.md.es: revision 1.3
usr.sbin/sysinst/arch/i386/msg.md.es: revision 1.4
usr.sbin/sysinst/mbr.h: revision 1.4
usr.sbin/sysinst/main.c: revision 1.18
usr.sbin/sysinst/partman.c: revision 1.44
usr.sbin/sysinst/msg.mi.de: revision 1.17
usr.sbin/sysinst/arch/i386/msg.md.fr: revision 1.2
usr.sbin/sysinst/msg.mi.de: revision 1.18
usr.sbin/sysinst/arch/i386/msg.md.fr: revision 1.3
usr.sbin/sysinst/arch/playstation2/msg.md.en: revision 1.3
usr.sbin/sysinst/arch/i386/msg.md.fr: revision 1.4
usr.sbin/sysinst/arch/amd64/md.c: revision 1.2
usr.sbin/sysinst/arch/ews4800mips/Makefile: revision 1.3
usr.sbin/sysinst/arch/playstation2/msg.md.es: revision 1.3
usr.sbin/sysinst/label.c: revision 1.13
usr.sbin/sysinst/Makefile.inc: revision 1.29
usr.sbin/sysinst/label.c: revision 1.14
usr.sbin/sysinst/util.c: revision 1.40
usr.sbin/sysinst/partitions.c: revision 1.5
usr.sbin/sysinst/arch/amd64/md.h: revision 1.8
usr.sbin/sysinst/msg.mi.es: revision 1.18
usr.sbin/sysinst/net.c: revision 1.34
usr.sbin/sysinst/msg.mi.es: revision 1.19
usr.sbin/sysinst/arch/i386/msg.md.pl: revision 1.2
usr.sbin/sysinst/arch/i386/md.c: revision 1.22
usr.sbin/sysinst/msg.mi.fr: revision 1.22
usr.sbin/sysinst/arch/playstation2/msg.md.fr: revision 1.3
usr.sbin/sysinst/arch/i386/msg.md.pl: revision 1.3
usr.sbin/sysinst/arch/i386/md.c: revision 1.23
usr.sbin/sysinst/msg.mi.pl: revision 1.25
usr.sbin/sysinst/msg.mi.fr: revision 1.23
usr.sbin/sysinst/arch/i386/msg.md.pl: revision 1.4
usr.sbin/sysinst/arch/i386/md.c: revision 1.24
usr.sbin/sysinst/partitions.h: revision 1.8
usr.sbin/sysinst/msg.mi.pl: revision 1.26
usr.sbin/sysinst/arch/i386/msg.md.de: revision 1.2
usr.sbin/sysinst/arch/i386/msg.md.de: revision 1.3
usr.sbin/sysinst/arch/i386/msg.md.de: revision 1.4
usr.sbin/sysinst/run.c: revision 1.13
usr.sbin/sysinst/defs.h: revision 1.46
usr.sbin/sysinst/install.c: revision 1.12
usr.sbin/sysinst/defs.h: revision 1.47
usr.sbin/sysinst/install.c: revision 1.13
usr.sbin/sysinst/defs.h: revision 1.48
Add options to the various partitioning stages that allow cloning of
alien partitions (optionally including data).
PR 54467: we trust our own sets, extract them with -P to allow symlink
redirection (especially for updates and chroot services - back out
once a better solution for those is implemented)
Make cloning support optional, so we can save some space on very small
install media.
Drop MBR and cloning support on crunched install media.
Make tar extraction flags depend on our usage of pax-as-tar or bsdtar.
Fix missing newlines in bios match display, pointed out by maxv.
Drop unused variable.
Fix table of bios geomatries
knf style adjustments
Make the bootblock selection menu more sane, pointed out by maxv
Make sure all menus have a translatable exit option (or none at all).
On amd64 support installation with a KASLR kernel, via "custom install"
and selecting the GENERIC_KASLR kernel set.
Setup /prekern and boot.cfg accordingly.
 1.1.22.1 13-Apr-2020  martin Mostly merge changes from HEAD upto 20200411
 1.1.6.2 20-Aug-2014  tls Rebase to HEAD as of a few days ago.
 1.1.6.1 26-Jul-2014  tls file msg.md.es was added on branch tls-maxphys on 2014-08-20 00:05:16 +0000
 1.1.4.2 18-Mar-2015  snj Apply patch (requested by christos in ticket #542):
- Enable intel and radeon DRM/KMS drivers in GENERIC
- Disable all of the old DRM drivers in GENERIC
- Remove the separate DRMKMS kernel
 1.1.4.1 04-Dec-2014  snj Apply patch (requested by bouyer in ticket #295):
Build the DRMKMS kernel on x86, and provide a sysinst option to
install it.
 1.1.2.2 10-Aug-2014  tls Rebase.
 1.1.2.1 26-Jul-2014  tls file msg.md.es was added on branch tls-earlyentropy on 2014-08-10 07:00:26 +0000
 1.4 16-Nov-2019  martin On amd64 support installation with a KASLR kernel, via "custom install"
and selecting the GENERIC_KASLR kernel set.
Setup /prekern and boot.cfg accordingly.
 1.3 16-Nov-2019  martin Fix table of bios geomatries
 1.2 14-Nov-2019  martin Fix missing newlines in bios match display, pointed out by maxv.
 1.1 26-Jul-2014  dholland branches: 1.1.2; 1.1.4; 1.1.6; 1.1.22; 1.1.24;
Move sysinst sources to usr.sbin.

This commit only physically moves the sources - there are no other
changes, to maximize the probability that this will be treated as a
rename if we ever do manage to migrate away from CVS.

Moving sysinst has been discussed on and off for years and has two
goals: making it easier to work on sysinst, and also making sysinst
available on running systems for use installing chroots and VM images
and other such things. None of the latter is possible yet, but as they
say, one thing at a time.

Doing this now was approved in an impromptu fashion by mrg, riz,
riastradh, me, and groo.
 1.1.24.1 17-Nov-2019  msaitoh Pull up following revision(s) (requested by martin in ticket #436):
usr.sbin/sysinst/disks.c: revision 1.55
usr.sbin/sysinst/msg.mi.en: revision 1.24
usr.sbin/sysinst/mbr.c: revision 1.22
usr.sbin/sysinst/disks.c: revision 1.56
usr.sbin/sysinst/msg.mi.en: revision 1.25
usr.sbin/sysinst/disks.c: revision 1.57
usr.sbin/sysinst/arch/playstation2/msg.md.pl: revision 1.3
usr.sbin/sysinst/Makefile.inc: revision 1.30
usr.sbin/sysinst/configmenu.c: revision 1.11
usr.sbin/sysinst/util.c: revision 1.35
usr.sbin/sysinst/gpt.c: revision 1.12
usr.sbin/sysinst/util.c: revision 1.36
usr.sbin/sysinst/arch/playstation2/msg.md.de: revision 1.3
usr.sbin/sysinst/arch/i386/menus.md: revision 1.3
usr.sbin/sysinst/util.c: revision 1.37
usr.sbin/sysinst/part_edit.c: revision 1.11
usr.sbin/sysinst/arch/i386/msg.md.en: revision 1.2
usr.sbin/sysinst/util.c: revision 1.38
usr.sbin/sysinst/part_edit.c: revision 1.12
usr.sbin/sysinst/arch/i386/msg.md.en: revision 1.3
usr.sbin/sysinst/util.c: revision 1.39
usr.sbin/sysinst/part_edit.c: revision 1.13
usr.sbin/sysinst/arch/i386/msg.md.en: revision 1.4
usr.sbin/sysinst/disklabel.c: revision 1.15
usr.sbin/sysinst/bsddisklabel.c: revision 1.30
usr.sbin/sysinst/arch/i386/msg.md.es: revision 1.2
usr.sbin/sysinst/bsddisklabel.c: revision 1.31
usr.sbin/sysinst/arch/i386/msg.md.es: revision 1.3
usr.sbin/sysinst/arch/i386/msg.md.es: revision 1.4
usr.sbin/sysinst/mbr.h: revision 1.4
usr.sbin/sysinst/main.c: revision 1.18
usr.sbin/sysinst/partman.c: revision 1.44
usr.sbin/sysinst/msg.mi.de: revision 1.17
usr.sbin/sysinst/arch/i386/msg.md.fr: revision 1.2
usr.sbin/sysinst/msg.mi.de: revision 1.18
usr.sbin/sysinst/arch/i386/msg.md.fr: revision 1.3
usr.sbin/sysinst/arch/playstation2/msg.md.en: revision 1.3
usr.sbin/sysinst/arch/i386/msg.md.fr: revision 1.4
usr.sbin/sysinst/arch/amd64/md.c: revision 1.2
usr.sbin/sysinst/arch/ews4800mips/Makefile: revision 1.3
usr.sbin/sysinst/arch/playstation2/msg.md.es: revision 1.3
usr.sbin/sysinst/label.c: revision 1.13
usr.sbin/sysinst/Makefile.inc: revision 1.29
usr.sbin/sysinst/label.c: revision 1.14
usr.sbin/sysinst/util.c: revision 1.40
usr.sbin/sysinst/partitions.c: revision 1.5
usr.sbin/sysinst/arch/amd64/md.h: revision 1.8
usr.sbin/sysinst/msg.mi.es: revision 1.18
usr.sbin/sysinst/net.c: revision 1.34
usr.sbin/sysinst/msg.mi.es: revision 1.19
usr.sbin/sysinst/arch/i386/msg.md.pl: revision 1.2
usr.sbin/sysinst/arch/i386/md.c: revision 1.22
usr.sbin/sysinst/msg.mi.fr: revision 1.22
usr.sbin/sysinst/arch/playstation2/msg.md.fr: revision 1.3
usr.sbin/sysinst/arch/i386/msg.md.pl: revision 1.3
usr.sbin/sysinst/arch/i386/md.c: revision 1.23
usr.sbin/sysinst/msg.mi.pl: revision 1.25
usr.sbin/sysinst/msg.mi.fr: revision 1.23
usr.sbin/sysinst/arch/i386/msg.md.pl: revision 1.4
usr.sbin/sysinst/arch/i386/md.c: revision 1.24
usr.sbin/sysinst/partitions.h: revision 1.8
usr.sbin/sysinst/msg.mi.pl: revision 1.26
usr.sbin/sysinst/arch/i386/msg.md.de: revision 1.2
usr.sbin/sysinst/arch/i386/msg.md.de: revision 1.3
usr.sbin/sysinst/arch/i386/msg.md.de: revision 1.4
usr.sbin/sysinst/run.c: revision 1.13
usr.sbin/sysinst/defs.h: revision 1.46
usr.sbin/sysinst/install.c: revision 1.12
usr.sbin/sysinst/defs.h: revision 1.47
usr.sbin/sysinst/install.c: revision 1.13
usr.sbin/sysinst/defs.h: revision 1.48
Add options to the various partitioning stages that allow cloning of
alien partitions (optionally including data).
PR 54467: we trust our own sets, extract them with -P to allow symlink
redirection (especially for updates and chroot services - back out
once a better solution for those is implemented)
Make cloning support optional, so we can save some space on very small
install media.
Drop MBR and cloning support on crunched install media.
Make tar extraction flags depend on our usage of pax-as-tar or bsdtar.
Fix missing newlines in bios match display, pointed out by maxv.
Drop unused variable.
Fix table of bios geomatries
knf style adjustments
Make the bootblock selection menu more sane, pointed out by maxv
Make sure all menus have a translatable exit option (or none at all).
On amd64 support installation with a KASLR kernel, via "custom install"
and selecting the GENERIC_KASLR kernel set.
Setup /prekern and boot.cfg accordingly.
 1.1.22.1 13-Apr-2020  martin Mostly merge changes from HEAD upto 20200411
 1.1.6.2 20-Aug-2014  tls Rebase to HEAD as of a few days ago.
 1.1.6.1 26-Jul-2014  tls file msg.md.fr was added on branch tls-maxphys on 2014-08-20 00:05:16 +0000
 1.1.4.2 18-Mar-2015  snj Apply patch (requested by christos in ticket #542):
- Enable intel and radeon DRM/KMS drivers in GENERIC
- Disable all of the old DRM drivers in GENERIC
- Remove the separate DRMKMS kernel
 1.1.4.1 04-Dec-2014  snj Apply patch (requested by bouyer in ticket #295):
Build the DRMKMS kernel on x86, and provide a sysinst option to
install it.
 1.1.2.2 10-Aug-2014  tls Rebase.
 1.1.2.1 26-Jul-2014  tls file msg.md.fr was added on branch tls-earlyentropy on 2014-08-10 07:00:26 +0000
 1.4 16-Nov-2019  martin On amd64 support installation with a KASLR kernel, via "custom install"
and selecting the GENERIC_KASLR kernel set.
Setup /prekern and boot.cfg accordingly.
 1.3 16-Nov-2019  martin Fix table of bios geomatries
 1.2 14-Nov-2019  martin Fix missing newlines in bios match display, pointed out by maxv.
 1.1 26-Jul-2014  dholland branches: 1.1.2; 1.1.4; 1.1.6; 1.1.22; 1.1.24;
Move sysinst sources to usr.sbin.

This commit only physically moves the sources - there are no other
changes, to maximize the probability that this will be treated as a
rename if we ever do manage to migrate away from CVS.

Moving sysinst has been discussed on and off for years and has two
goals: making it easier to work on sysinst, and also making sysinst
available on running systems for use installing chroots and VM images
and other such things. None of the latter is possible yet, but as they
say, one thing at a time.

Doing this now was approved in an impromptu fashion by mrg, riz,
riastradh, me, and groo.
 1.1.24.1 17-Nov-2019  msaitoh Pull up following revision(s) (requested by martin in ticket #436):
usr.sbin/sysinst/disks.c: revision 1.55
usr.sbin/sysinst/msg.mi.en: revision 1.24
usr.sbin/sysinst/mbr.c: revision 1.22
usr.sbin/sysinst/disks.c: revision 1.56
usr.sbin/sysinst/msg.mi.en: revision 1.25
usr.sbin/sysinst/disks.c: revision 1.57
usr.sbin/sysinst/arch/playstation2/msg.md.pl: revision 1.3
usr.sbin/sysinst/Makefile.inc: revision 1.30
usr.sbin/sysinst/configmenu.c: revision 1.11
usr.sbin/sysinst/util.c: revision 1.35
usr.sbin/sysinst/gpt.c: revision 1.12
usr.sbin/sysinst/util.c: revision 1.36
usr.sbin/sysinst/arch/playstation2/msg.md.de: revision 1.3
usr.sbin/sysinst/arch/i386/menus.md: revision 1.3
usr.sbin/sysinst/util.c: revision 1.37
usr.sbin/sysinst/part_edit.c: revision 1.11
usr.sbin/sysinst/arch/i386/msg.md.en: revision 1.2
usr.sbin/sysinst/util.c: revision 1.38
usr.sbin/sysinst/part_edit.c: revision 1.12
usr.sbin/sysinst/arch/i386/msg.md.en: revision 1.3
usr.sbin/sysinst/util.c: revision 1.39
usr.sbin/sysinst/part_edit.c: revision 1.13
usr.sbin/sysinst/arch/i386/msg.md.en: revision 1.4
usr.sbin/sysinst/disklabel.c: revision 1.15
usr.sbin/sysinst/bsddisklabel.c: revision 1.30
usr.sbin/sysinst/arch/i386/msg.md.es: revision 1.2
usr.sbin/sysinst/bsddisklabel.c: revision 1.31
usr.sbin/sysinst/arch/i386/msg.md.es: revision 1.3
usr.sbin/sysinst/arch/i386/msg.md.es: revision 1.4
usr.sbin/sysinst/mbr.h: revision 1.4
usr.sbin/sysinst/main.c: revision 1.18
usr.sbin/sysinst/partman.c: revision 1.44
usr.sbin/sysinst/msg.mi.de: revision 1.17
usr.sbin/sysinst/arch/i386/msg.md.fr: revision 1.2
usr.sbin/sysinst/msg.mi.de: revision 1.18
usr.sbin/sysinst/arch/i386/msg.md.fr: revision 1.3
usr.sbin/sysinst/arch/playstation2/msg.md.en: revision 1.3
usr.sbin/sysinst/arch/i386/msg.md.fr: revision 1.4
usr.sbin/sysinst/arch/amd64/md.c: revision 1.2
usr.sbin/sysinst/arch/ews4800mips/Makefile: revision 1.3
usr.sbin/sysinst/arch/playstation2/msg.md.es: revision 1.3
usr.sbin/sysinst/label.c: revision 1.13
usr.sbin/sysinst/Makefile.inc: revision 1.29
usr.sbin/sysinst/label.c: revision 1.14
usr.sbin/sysinst/util.c: revision 1.40
usr.sbin/sysinst/partitions.c: revision 1.5
usr.sbin/sysinst/arch/amd64/md.h: revision 1.8
usr.sbin/sysinst/msg.mi.es: revision 1.18
usr.sbin/sysinst/net.c: revision 1.34
usr.sbin/sysinst/msg.mi.es: revision 1.19
usr.sbin/sysinst/arch/i386/msg.md.pl: revision 1.2
usr.sbin/sysinst/arch/i386/md.c: revision 1.22
usr.sbin/sysinst/msg.mi.fr: revision 1.22
usr.sbin/sysinst/arch/playstation2/msg.md.fr: revision 1.3
usr.sbin/sysinst/arch/i386/msg.md.pl: revision 1.3
usr.sbin/sysinst/arch/i386/md.c: revision 1.23
usr.sbin/sysinst/msg.mi.pl: revision 1.25
usr.sbin/sysinst/msg.mi.fr: revision 1.23
usr.sbin/sysinst/arch/i386/msg.md.pl: revision 1.4
usr.sbin/sysinst/arch/i386/md.c: revision 1.24
usr.sbin/sysinst/partitions.h: revision 1.8
usr.sbin/sysinst/msg.mi.pl: revision 1.26
usr.sbin/sysinst/arch/i386/msg.md.de: revision 1.2
usr.sbin/sysinst/arch/i386/msg.md.de: revision 1.3
usr.sbin/sysinst/arch/i386/msg.md.de: revision 1.4
usr.sbin/sysinst/run.c: revision 1.13
usr.sbin/sysinst/defs.h: revision 1.46
usr.sbin/sysinst/install.c: revision 1.12
usr.sbin/sysinst/defs.h: revision 1.47
usr.sbin/sysinst/install.c: revision 1.13
usr.sbin/sysinst/defs.h: revision 1.48
Add options to the various partitioning stages that allow cloning of
alien partitions (optionally including data).
PR 54467: we trust our own sets, extract them with -P to allow symlink
redirection (especially for updates and chroot services - back out
once a better solution for those is implemented)
Make cloning support optional, so we can save some space on very small
install media.
Drop MBR and cloning support on crunched install media.
Make tar extraction flags depend on our usage of pax-as-tar or bsdtar.
Fix missing newlines in bios match display, pointed out by maxv.
Drop unused variable.
Fix table of bios geomatries
knf style adjustments
Make the bootblock selection menu more sane, pointed out by maxv
Make sure all menus have a translatable exit option (or none at all).
On amd64 support installation with a KASLR kernel, via "custom install"
and selecting the GENERIC_KASLR kernel set.
Setup /prekern and boot.cfg accordingly.
 1.1.22.1 13-Apr-2020  martin Mostly merge changes from HEAD upto 20200411
 1.1.6.2 20-Aug-2014  tls Rebase to HEAD as of a few days ago.
 1.1.6.1 26-Jul-2014  tls file msg.md.pl was added on branch tls-maxphys on 2014-08-20 00:05:16 +0000
 1.1.4.2 18-Mar-2015  snj Apply patch (requested by christos in ticket #542):
- Enable intel and radeon DRM/KMS drivers in GENERIC
- Disable all of the old DRM drivers in GENERIC
- Remove the separate DRMKMS kernel
 1.1.4.1 04-Dec-2014  snj Apply patch (requested by bouyer in ticket #295):
Build the DRMKMS kernel on x86, and provide a sysinst option to
install it.
 1.1.2.2 10-Aug-2014  tls Rebase.
 1.1.2.1 26-Jul-2014  tls file msg.md.pl was added on branch tls-earlyentropy on 2014-08-10 07:00:26 +0000
 1.2 12-Jun-2019  martin Rework internal data structures and "interfaces to user interface" functions
to get rid of all disklabel assumptions.

Previously (even for GPT partitioning) struct disklabel was used, which
obviously breaks large disk setups. Also many MD parts and parts of the
user interface assumed (a) a struct disklabel is used internally to
store partitioning information and (b) partitions are named 'a' ... $MAXPART.

Get rid of this and replace it with a quite abstract interface that should
be able to deal with all variants in partition storage:

- partitions are stored in a (partly abstract) struct disk_partitions
and most parts of it are only accessed via accessor functions provided
by a "partitioning scheme".

- implement partitioning schemes for MBR, disklabel and GPT (with likely
RDB [amiga] and Apple Partition Map [mac*] to follow soon)

- partitioning schemes may be cascaded, e.g. on x86 when using MBR as
"outer partitions", we have disklabel as "inner partitions".

- all user interface goes via accessor functions in the partitioning scheme,
some of which return pointers to special user interface descriptors
(e.g. to allow editing partition flags, which are scheme specific)

Overall the user interface changes (in this initial step) are minimal but
noticable. A new Anita is needed for automatic test setups - many thanks
to Andreas Gustafsson for lots of early testing and a new Anita version,
and to Manuel Bouyer for cooperation and tests of the Anita release.

This work was sponsored by The NetBSD Foundation, Inc.
 1.1 26-Jul-2014  dholland branches: 1.1.2; 1.1.6; 1.1.28;
Move sysinst sources to usr.sbin.

This commit only physically moves the sources - there are no other
changes, to maximize the probability that this will be treated as a
rename if we ever do manage to migrate away from CVS.

Moving sysinst has been discussed on and off for years and has two
goals: making it easier to work on sysinst, and also making sysinst
available on running systems for use installing chroots and VM images
and other such things. None of the latter is possible yet, but as they
say, one thing at a time.

Doing this now was approved in an impromptu fashion by mrg, riz,
riastradh, me, and groo.
 1.1.28.1 13-Apr-2020  martin Mostly merge changes from HEAD upto 20200411
 1.1.6.2 20-Aug-2014  tls Rebase to HEAD as of a few days ago.
 1.1.6.1 26-Jul-2014  tls file Makefile was added on branch tls-maxphys on 2014-08-20 00:05:16 +0000
 1.1.2.2 10-Aug-2014  tls Rebase.
 1.1.2.1 26-Jul-2014  tls file Makefile was added on branch tls-earlyentropy on 2014-08-10 07:00:26 +0000
 1.16 02-Oct-2022  martin PR install/57025: revert bogus rev 1.9 which was only papering over
a bug in the adoption of the MBR handling code and fix the original
conversion bug instead:
- run fdisk to install the MBR bootcode on the raw disk partition
- run installboot against the NetBSD root partition (not the raw partition).
 1.15 29-Jan-2022  martin When upgrading, update the boot code post extraction from
the updated target file system.
 1.14 12-Oct-2020  martin PR 55536: when we find existing partition tables and have alternative
formats available, offer to delete partitions and create new ones from
scratch (in some other or the same on-disk format).
 1.13 27-Jan-2020  martin Fix support for non-512-byte/sector disks again after I broke it when
introducing the abstract partition backends.
 1.12 09-Jan-2020  martin Finish conversion of extended partitioning parts to new abstract
backend interface. XXX still could use a lot of polishing.
 1.11 14-Aug-2019  martin When we ask the user to select a partitioning scheme and they refuse
(that is: select "Exit" in the menu), abort installation.
 1.10 13-Jul-2019  martin branches: 1.10.2;
We may call md_pre_mount() multiple times for the same install set,
so pass an additional index argument so MD code knows which part
of the install will be mounted next.
 1.9 21-Jun-2019  martin Use the raw partition for installboot, not the root partition.
 1.8 20-Jun-2019  christos Use _fmt_ msg_ methods when formats are needed.
 1.7 17-Jun-2019  martin Fix bogus return value from md_post_newfs
 1.6 13-Jun-2019  martin In the new world order disks may come without any partitioning scheme
attached - so the user may have to select one.
 1.5 12-Jun-2019  martin Rework internal data structures and "interfaces to user interface" functions
to get rid of all disklabel assumptions.

Previously (even for GPT partitioning) struct disklabel was used, which
obviously breaks large disk setups. Also many MD parts and parts of the
user interface assumed (a) a struct disklabel is used internally to
store partitioning information and (b) partitions are named 'a' ... $MAXPART.

Get rid of this and replace it with a quite abstract interface that should
be able to deal with all variants in partition storage:

- partitions are stored in a (partly abstract) struct disk_partitions
and most parts of it are only accessed via accessor functions provided
by a "partitioning scheme".

- implement partitioning schemes for MBR, disklabel and GPT (with likely
RDB [amiga] and Apple Partition Map [mac*] to follow soon)

- partitioning schemes may be cascaded, e.g. on x86 when using MBR as
"outer partitions", we have disklabel as "inner partitions".

- all user interface goes via accessor functions in the partitioning scheme,
some of which return pointers to special user interface descriptors
(e.g. to allow editing partition flags, which are scheme specific)

Overall the user interface changes (in this initial step) are minimal but
noticable. A new Anita is needed for automatic test setups - many thanks
to Andreas Gustafsson for lots of early testing and a new Anita version,
and to Manuel Bouyer for cooperation and tests of the Anita release.

This work was sponsored by The NetBSD Foundation, Inc.
 1.4 18-May-2018  joerg branches: 1.4.2;
deconst -> __UNCONST, the former involves UB with NULL arithmetic.
 1.3 18-Jul-2017  gson branches: 1.3.2;
Clear the screen after running installboot. If we don't, there will
be a leftover line saying "Status: Finished" at the top of subsequent
screens, and the message "Hit enter to continue" will be redrawn after
the set selection is complete, which confuses literal-minded robotic
users such as anita.
 1.2 03-Aug-2014  martin branches: 1.2.2; 1.2.6; 1.2.20;
(Finally) merge a slightly modified version of the 2012 GSoC results
from Eugene Lozovoy: add extended partitioning options to sysinst.
Still needs some testing and polishing, but it now is possible to use GPT
or to create a RAID set from scratch and install onto it.
 1.1 26-Jul-2014  dholland Move sysinst sources to usr.sbin.

This commit only physically moves the sources - there are no other
changes, to maximize the probability that this will be treated as a
rename if we ever do manage to migrate away from CVS.

Moving sysinst has been discussed on and off for years and has two
goals: making it easier to work on sysinst, and also making sysinst
available on running systems for use installing chroots and VM images
and other such things. None of the latter is possible yet, but as they
say, one thing at a time.

Doing this now was approved in an impromptu fashion by mrg, riz,
riastradh, me, and groo.
 1.2.20.1 09-Jun-2018  martin Pull up following revision(s) (requested by joerg in ticket #869):

usr.sbin/sysinst/arch/mvme68k/md.c: revision 1.5
usr.sbin/sysinst/net.c: revision 1.24
usr.sbin/sysinst/partman.c: revision 1.22
usr.sbin/sysinst/menus.mi: revision 1.12
usr.sbin/sysinst/arch/i386/md.c: revision 1.8
usr.sbin/sysinst/arch/alpha/md.c: revision 1.3
usr.sbin/sysinst/bsddisklabel.c: revision 1.3
usr.sbin/sysinst/arch/x68k/md.c: revision 1.5
usr.sbin/sysinst/arch/hp300/md.c: revision 1.5
usr.sbin/sysinst/arch/emips/md.c: revision 1.4
usr.sbin/sysinst/arch/pmax/md.c: revision 1.3
usr.sbin/sysinst/arch/mipsco/md.c: revision 1.3
usr.sbin/sysinst/arch/hppa/md.c: revision 1.3
usr.sbin/sysinst/util.c: revision 1.8
usr.sbin/sysinst/defs.h: revision 1.10
usr.sbin/sysinst/arch/landisk/md.c: revision 1.4

deconst -> __UNCONST, the former involves UB with NULL arithmetic.
 1.2.6.2 20-Aug-2014  tls Rebase to HEAD as of a few days ago.
 1.2.6.1 03-Aug-2014  tls file md.c was added on branch tls-maxphys on 2014-08-20 00:05:16 +0000
 1.2.2.2 10-Aug-2014  tls Rebase.
 1.2.2.1 03-Aug-2014  tls file md.c was added on branch tls-earlyentropy on 2014-08-10 07:00:26 +0000
 1.3.2.1 21-May-2018  pgoyette Sync with HEAD
 1.4.2.1 13-Apr-2020  martin Mostly merge changes from HEAD upto 20200411
 1.10.2.5 04-Oct-2022  snj Pull up following revision(s) (requested by martin in ticket #1535):
usr.sbin/sysinst/arch/landisk/md.c: revision 1.16
PR install/57025: revert bogus rev 1.9 which was only papering over
a bug in the adoption of the MBR handling code and fix the original
conversion bug instead:
- run fdisk to install the MBR bootcode on the raw disk partition
- run installboot against the NetBSD root partition (not the raw partition).
 1.10.2.4 02-Feb-2022  msaitoh Pull up following revision(s) (requested by martin in ticket #1422):
usr.sbin/sysinst/util.c: revision 1.64
usr.sbin/sysinst/arch/hpcsh/md.c: revision 1.11
usr.sbin/sysinst/arch/alpha/md.c: revision 1.10
usr.sbin/sysinst/arch/sparc64/md.c: revision 1.7
usr.sbin/sysinst/arch/emips/md.c: revision 1.10
usr.sbin/sysinst/arch/cobalt/md.c: revision 1.15
usr.sbin/sysinst/arch/x68k/md.c: revision 1.12
usr.sbin/sysinst/arch/sandpoint/md.c: revision 1.10
usr.sbin/sysinst/arch/luna68k/md.c: revision 1.10
usr.sbin/sysinst/arch/hp300/md.c: revision 1.12
usr.sbin/sysinst/arch/vax/md.c: revision 1.8
usr.sbin/sysinst/arch/hpcmips/md.c: revision 1.10
usr.sbin/sysinst/target.c: revision 1.16
usr.sbin/sysinst/arch/mvme68k/md.c: revision 1.12
usr.sbin/sysinst/arch/arc/md.c: revision 1.14
usr.sbin/sysinst/target.c: revision 1.17
usr.sbin/sysinst/arch/i386/md.c: revision 1.34
usr.sbin/sysinst/arch/mac68k/md.c: revision 1.11
usr.sbin/sysinst/arch/atari/md.c: revision 1.8
usr.sbin/sysinst/arch/sgimips/md.c: revision 1.10
usr.sbin/sysinst/arch/acorn32/md.c: revision 1.8
usr.sbin/sysinst/install.c: revision 1.22
usr.sbin/sysinst/arch/amiga/md.c: revision 1.7
usr.sbin/sysinst/arch/cats/md.c: revision 1.6
usr.sbin/sysinst/arch/dummy/md.c: revision 1.7
usr.sbin/sysinst/arch/shark/md.c: revision 1.7
usr.sbin/sysinst/arch/pmax/md.c: revision 1.9
usr.sbin/sysinst/arch/newsmips/md.c: revision 1.7
usr.sbin/sysinst/arch/mipsco/md.c: revision 1.9
usr.sbin/sysinst/arch/landisk/md.c: revision 1.15
usr.sbin/sysinst/arch/hppa/md.c: revision 1.9
usr.sbin/sysinst/arch/prep/md.c: revision 1.14
usr.sbin/sysinst/defs.h: revision 1.77
usr.sbin/sysinst/arch/ofppc/md.c: revision 1.13
usr.sbin/sysinst/arch/ews4800mips/md.c: revision 1.8
usr.sbin/sysinst/defs.h: revision 1.78
usr.sbin/sysinst/arch/macppc/md.c: revision 1.7
usr.sbin/sysinst/arch/evbppc/md.c: revision 1.10
usr.sbin/sysinst/defs.h: revision 1.79
usr.sbin/sysinst/gpt.c: revision 1.27
usr.sbin/sysinst/arch/bebox/md.c: revision 1.10
usr.sbin/sysinst/gpt.c: revision 1.28
usr.sbin/sysinst/arch/sparc/md.c: revision 1.7
usr.sbin/sysinst/arch/evbsh3/md.c: revision 1.7
usr.sbin/sysinst/arch/evbarm/md.c: revision 1.22
usr.sbin/sysinst/arch/news68k/md.c: revision 1.8
usr.sbin/sysinst/upgrade.c: revision 1.19
usr.sbin/sysinst/arch/zaurus/md.c: revision 1.12
usr.sbin/sysinst/arch/playstation2/md.c: revision 1.10
usr.sbin/sysinst/arch/hpcarm/md.c: revision 1.11
usr.sbin/sysinst/arch/evbmips/md.c: revision 1.10
usr.sbin/sysinst/main.c: revision 1.28
Add an option to set the directory where we look for message catalogs.
Try to get rid of all wedges we created (after unmounting).
When upgrading, update the boot code post extraction from
the updated target file system.
Do not defer wedge deletions when we have nothing mounted.
Define and use a constant for maximum disk name length.
 1.10.2.3 15-Oct-2020  bouyer Pull up following revision(s) (requested by martin in ticket #1113):
usr.sbin/sysinst/bsddisklabel.c: revision 1.46
usr.sbin/sysinst/bsddisklabel.c: revision 1.47
usr.sbin/sysinst/disklabel.c: revision 1.40
usr.sbin/sysinst/arch/cobalt/md.c: revision 1.13
usr.sbin/sysinst/bsddisklabel.c: revision 1.48
usr.sbin/sysinst/disklabel.c: revision 1.41
usr.sbin/sysinst/arch/cobalt/md.c: revision 1.14
usr.sbin/sysinst/bsddisklabel.c: revision 1.49
usr.sbin/sysinst/disklabel.c: revision 1.42
usr.sbin/sysinst/Makefile.inc: revision 1.34
usr.sbin/sysinst/disks.c: revision 1.70
usr.sbin/sysinst/arch/hp300/md.c: revision 1.11
usr.sbin/sysinst/disks.c: revision 1.71
usr.sbin/sysinst/arch/i386/md.h: revision 1.8
usr.sbin/sysinst/arch/arc/md.c: revision 1.13
usr.sbin/sysinst/mbr.h: revision 1.5
usr.sbin/sysinst/mbr.h: revision 1.6
usr.sbin/sysinst/arch/mac68k/md.c: revision 1.10
usr.sbin/sysinst/bsddisklabel.c: revision 1.50
usr.sbin/sysinst/arch/acorn32/md.c: revision 1.7
usr.sbin/sysinst/bsddisklabel.c: revision 1.51
usr.sbin/sysinst/bsddisklabel.c: revision 1.52
usr.sbin/sysinst/bsddisklabel.c: revision 1.53
usr.sbin/sysinst/bsddisklabel.c: revision 1.54
usr.sbin/sysinst/bsddisklabel.c: revision 1.55
usr.sbin/sysinst/bsddisklabel.c: revision 1.56
usr.sbin/sysinst/arch/dummy/md.c: revision 1.6
usr.sbin/sysinst/arch/amd64/md.h: revision 1.9
usr.sbin/sysinst/arch/evbsh3/md.c: revision 1.6
usr.sbin/sysinst/arch/sparc/md.c: revision 1.6
usr.sbin/sysinst/arch/zaurus/md.c: revision 1.10
usr.sbin/sysinst/arch/x68k/md.c: revision 1.11
usr.sbin/sysinst/arch/sandpoint/md.c: revision 1.9
usr.sbin/sysinst/arch/vax/md.c: revision 1.7
usr.sbin/sysinst/arch/luna68k/md.c: revision 1.9
usr.sbin/sysinst/gpt.c: revision 1.19
usr.sbin/sysinst/arch/i386/md.c: revision 1.31
usr.sbin/sysinst/arch/i386/md.c: revision 1.32
usr.sbin/sysinst/arch/evbarm/md.c: revision 1.17
usr.sbin/sysinst/arch/evbarm/md.c: revision 1.18
usr.sbin/sysinst/arch/evbarm/md.c: revision 1.19
usr.sbin/sysinst/arch/shark/md.c: revision 1.6
usr.sbin/sysinst/arch/landisk/md.c: revision 1.14
usr.sbin/sysinst/util.c: revision 1.43
usr.sbin/sysinst/gpt.c: revision 1.20
usr.sbin/sysinst/util.c: revision 1.44
usr.sbin/sysinst/gpt.c: revision 1.21
usr.sbin/sysinst/gpt.c: revision 1.22
usr.sbin/sysinst/arch/evbarm/msg.md.en: revision 1.2
usr.sbin/sysinst/arch/ofppc/md.c: revision 1.11
usr.sbin/sysinst/util.c: revision 1.46
usr.sbin/sysinst/arch/ofppc/md.c: revision 1.12
usr.sbin/sysinst/util.c: revision 1.47
usr.sbin/sysinst/arch/evbarm/md.h: revision 1.6
usr.sbin/sysinst/util.c: revision 1.48
usr.sbin/sysinst/arch/evbarm/md.h: revision 1.7
usr.sbin/sysinst/arch/evbmips/md.c: revision 1.9
usr.sbin/sysinst/msg.mi.fr: revision 1.28
usr.sbin/sysinst/msg.mi.fr: revision 1.29
usr.sbin/sysinst/arch/sgimips/md.c: revision 1.9
usr.sbin/sysinst/arch/evbarm/Makefile: revision 1.3
usr.sbin/sysinst/msg.mi.de: revision 1.23
usr.sbin/sysinst/arch/hpcsh/md.c: revision 1.10
usr.sbin/sysinst/msg.mi.de: revision 1.24
usr.sbin/sysinst/install.c: revision 1.15
usr.sbin/sysinst/install.c: revision 1.16
usr.sbin/sysinst/arch/sparc64/md.c: revision 1.6
usr.sbin/sysinst/install.c: revision 1.17
usr.sbin/sysinst/install.c: revision 1.18
usr.sbin/sysinst/partitions.h: revision 1.16
usr.sbin/sysinst/install.c: revision 1.19
usr.sbin/sysinst/partitions.h: revision 1.17
usr.sbin/sysinst/arch/evbppc/md.c: revision 1.9
usr.sbin/sysinst/arch/playstation2/md.c: revision 1.9
usr.sbin/sysinst/partitions.h: revision 1.18
usr.sbin/sysinst/arch/hpcarm/md.c: revision 1.9
usr.sbin/sysinst/partitions.h: revision 1.19
usr.sbin/sysinst/msg.mi.es: revision 1.24
usr.sbin/sysinst/msg.mi.es: revision 1.25
usr.sbin/sysinst/msg.mi.es: revision 1.26
usr.sbin/sysinst/arch/zaurus/md.c: revision 1.9
usr.sbin/sysinst/target.c: revision 1.13
usr.sbin/sysinst/target.c: revision 1.14
usr.sbin/sysinst/part_edit.c: revision 1.17
usr.sbin/sysinst/part_edit.c: revision 1.18
usr.sbin/sysinst/msg.mi.fr: revision 1.30
usr.sbin/sysinst/arch/mvme68k/md.c: revision 1.11
usr.sbin/sysinst/part_edit.c: revision 1.19
usr.sbin/sysinst/msg.mi.fr: revision 1.31
usr.sbin/sysinst/arch/alpha/md.c: revision 1.9
usr.sbin/sysinst/msg.mi.en: revision 1.30
usr.sbin/sysinst/defs.h: revision 1.56
usr.sbin/sysinst/msg.mi.en: revision 1.31
usr.sbin/sysinst/defs.h: revision 1.57
usr.sbin/sysinst/msg.mi.en: revision 1.32
usr.sbin/sysinst/arch/amiga/md.c: revision 1.6
usr.sbin/sysinst/arch/hpcmips/md.c: revision 1.9
usr.sbin/sysinst/defs.h: revision 1.58
usr.sbin/sysinst/arch/cats/md.c: revision 1.5
usr.sbin/sysinst/defs.h: revision 1.59
usr.sbin/sysinst/arch/newsmips/md.c: revision 1.6
usr.sbin/sysinst/arch/pmax/md.c: revision 1.8
usr.sbin/sysinst/arch/mipsco/md.c: revision 1.8
usr.sbin/sysinst/part_edit.c: revision 1.20
usr.sbin/sysinst/part_edit.c: revision 1.21
usr.sbin/sysinst/arch/macppc/md.c: revision 1.6
usr.sbin/sysinst/part_edit.c: revision 1.22
usr.sbin/sysinst/part_edit.c: revision 1.23
usr.sbin/sysinst/part_edit.c: revision 1.24
usr.sbin/sysinst/defs.h: revision 1.60
usr.sbin/sysinst/arch/mac68k/Makefile: revision 1.3
usr.sbin/sysinst/defs.h: revision 1.61
usr.sbin/sysinst/defs.h: revision 1.63
usr.sbin/sysinst/defs.h: revision 1.64
usr.sbin/sysinst/defs.h: revision 1.65
usr.sbin/sysinst/label.c: revision 1.21
usr.sbin/sysinst/defs.h: revision 1.66
usr.sbin/sysinst/label.c: revision 1.22
usr.sbin/sysinst/defs.h: revision 1.67
usr.sbin/sysinst/label.c: revision 1.23
usr.sbin/sysinst/label.c: revision 1.24
usr.sbin/sysinst/label.c: revision 1.25
usr.sbin/sysinst/label.c: revision 1.26
usr.sbin/sysinst/label.c: revision 1.27
usr.sbin/sysinst/msg.mi.pl: revision 1.31
usr.sbin/sysinst/label.c: revision 1.28
usr.sbin/sysinst/msg.mi.pl: revision 1.32
usr.sbin/sysinst/label.c: revision 1.29
usr.sbin/sysinst/arch/atari/md.c: revision 1.7
usr.sbin/sysinst/disklabel.c: revision 1.36
usr.sbin/sysinst/disklabel.c: revision 1.37
usr.sbin/sysinst/disklabel.c: revision 1.38
usr.sbin/sysinst/disklabel.c: revision 1.39
usr.sbin/sysinst/arch/bebox/md.c: revision 1.9
usr.sbin/sysinst/mbr.c: revision 1.32
usr.sbin/sysinst/disks.c: revision 1.66
usr.sbin/sysinst/mbr.c: revision 1.33
usr.sbin/sysinst/disks.c: revision 1.67
usr.sbin/sysinst/mbr.c: revision 1.34
usr.sbin/sysinst/arch/emips/md.c: revision 1.9
usr.sbin/sysinst/disks.c: revision 1.68
usr.sbin/sysinst/partitions.c: revision 1.11
usr.sbin/sysinst/mbr.c: revision 1.35
usr.sbin/sysinst/disks.c: revision 1.69
usr.sbin/sysinst/mbr.c: revision 1.36
usr.sbin/sysinst/arch/hppa/md.c: revision 1.8
usr.sbin/sysinst/arch/prep/md.c: revision 1.13
usr.sbin/sysinst/label.c: revision 1.30
usr.sbin/sysinst/arch/ews4800mips/md.c: revision 1.7
usr.sbin/sysinst/main.c: revision 1.21
usr.sbin/sysinst/main.c: revision 1.22
usr.sbin/sysinst/main.c: revision 1.23
usr.sbin/sysinst/bsddisklabel.c: revision 1.40
usr.sbin/sysinst/main.c: revision 1.24
usr.sbin/sysinst/arch/cobalt/md.h: revision 1.6
usr.sbin/sysinst/bsddisklabel.c: revision 1.41
usr.sbin/sysinst/main.c: revision 1.25
usr.sbin/sysinst/arch/news68k/md.c: revision 1.7
usr.sbin/sysinst/bsddisklabel.c: revision 1.42
usr.sbin/sysinst/bsddisklabel.c: revision 1.43
usr.sbin/sysinst/bsddisklabel.c: revision 1.44
usr.sbin/sysinst/bsddisklabel.c: revision 1.45
Use strlcpy in a few places to guarnatee 0-terminated strings
Rever previous: the d_packname in struct disklabel is not NUL terminated.
Disable the warning instead.
Do not force -Os optimization (unless SMALLPROG)
Remove unused "rel" global variable and make the -r option a no-op.
PR 55045: strlcpy(NULL, ..., 0) considered harmfull in some implementations.
PR misc/54886: bump threshold for automatic/default creation of a tmpfs /tmp
up slightly (to 384 MB ram). This will make sure the default install has
a > 64 MB /tmp available (number pulled out of thin air, 64 MB is the minimum
required by the ZFS tests).
Don't depend on common symbol definitions.
boardype should not be common.
Redo the root-size-limit check again after we grew the root partition
for kernel dumps. Auto-enable the /usr partition if it overflows.
For all non-root partitions, default to FFSv2.
When extending a partition (to fill the total disk size) do respect
size limits.
Do not suggest a size limited partition for extension by default.
Minor tweak to previous: when forcing a /usr partition just to have an
arbitrary extendable partition, still use its default size initially.
At the end of a new installation save entropy.
Ooops, backout previous - twice the entropy saving is not needed.
Instead slightly improve the (slightly) hidden other code that already
did it.
PR 55202: disable swapping if we started it due to low ram
it's "its"
Remove "If you booted from a floppy" message
Set HAVE_INSTALL_IMAGE for evbarm
Change mountpoint of boot ext2fs from /stand to /ext2 to avoid conflict.
Should be pulled up to netbsd-9, with fixes of PR/55060.
MBR type for Ext2 should be MBR_PTYPE_LNXEXT2, not MBR_PTYPE_FAT12.
Silence -Wstringop-truncation for ``name'' in disp_selected_part().
This variable is used only for display, and truncation seems harmless.
PR 55572: avoid crash when answering the mount point prompt for a previously
empty mount point with an emptry sting.
When adding a new partition in the concrete partition editor, make sure
to set a pointer to the partition table interface in the new entry.
Otherwise we may end up not writing back the partitions at all, leading
to further fallout later.
Receipe to reproduce the issue from Frederic Fauberteau, thanks!
In the concrete partitions editor, after deleting the last partition move
the menu selection to the "add a partition" entry (instead of the sentinel
line which is not an active menu entry).
Typo in comment
Keep a list of all partition tables from which we have deleted partitions
and make sure we update those partition tables when writing partitions,
even if no install related partition remains on them.
Fix display of timezone selection menu
If there is no current partitioning manager assume we are editing the
current system and make target_already_root() return true.
Fixes various fallout when using sysinst post installation.
PR 55377: mark boot partitions in the partition size display, as suggested
by Izumi Tsutsui (minor modifications + all bugs by me)
PR 55378: do not assume RAW_PART to be either 2 or 3
PR 55379: avoid creating bogus /etc/fstab lines for /dev/cd* if no
cdrom is available.
PR 55381: try to deal with moved (but not yet saved) partitions when
calculating free space
Apply patch provided by Izumi Tsutsui in PR 55382: make ext2 partitions
show up in the outer (MBR) partition table, needed for example on Cobalt
where firmware boots from that partition.
PR 55384: detangle pm->ptstart from the "install" flag (selecting a
target partition). Instead introduce a new PTI_INSTALL_TARGET per partition
flag and deal with it in the partitioning backends.
Honour pm->ptstart when allocating new partitions - it is supposed to be
the first sector usable by NetBSD.
If we have no explicitly marke target root partition, make sure to set
the proper flag on the implicit one.
When merging existing partitions with desired target system layout
information, only force the "mount" flag if the existing partitions
has a valid mount point.
Add a heuristic to detect and properly mark EFI system partitions
when re-using pre-existing partitions.
When MD code requests a reserved area (at the start of the disk)
make sure to properly account for the "lost" space during all calculations
and especially when expanding the main partition to fill the disk.
Avoid using the global "pm" or a passed device descriptons when we are
passing disk limits explicitly anyway.
Simplify/fix a few rounding calculations.
When creating new partitions for "full disk" use, pass a install target
hint to the partitioning backend (for the outer NetBSD partition).
Use an install target hint to mark a new partition active.
When compiled with BOOTSEL support, also name the new partition "NetBSD".
Remove more pm->ptstart abuse - calculate values localy where needed
instead.
Fix editing start and size of not yet existing outer partitions.
Previously we abused pm->ptstart / pm->ptsize to pass the bounds of the
NetBSD outer partition to the inner partition editor - but now this is
not a valid assumption any more, so explicitly fix the bounds if an
outer partition exists.
Remove very strange code that special-cased MSDOS file systems and refused
to newfs the partition (despite explicit request to do so) if it was
mountable.
Accidently carried over from a dim and distant past, before we had
fsck_newfs.
PR 55536: when we find existing partition tables and have alternative
formats available, offer to delete partitions and create new ones from
scratch (in some other or the same on-disk format).
Minor fix to previous: fix condition when we offer the partition type
switch - it makes sense even if the disk is partitioned but has no valid
partitions.
Before forcing MBR partitions into our disklabel, make sure they are not
there yet - could happen in various paths when reusing existing partitions
(or parts of that) - previously we would blindly duplicate identical
partitions.
Ooops, part of previous was not meant to be included yet
When renumbering partitions (after deletions) be slightly more lax
in matching, to cope with differences between MBR EFI partitions and
disklabel MSDOS partitions.
PR 55142: on popular demand bring back expert options to adjust the
number of free inodes, block size and fragment size for FFS and LFS.
Fix copy & pasto noticed by Jason Mitchell: change the type of a GPT
partition via "gpt type" - not "gpt label".
Fix copy & pasto (missing "again" label)
Remove dead code
Move MBR writing (if any) post disklabel writing, otherwise strange
interactions happen.
Properly convert partition default sizes in MB to number of sectors
 1.10.2.2 28-Jan-2020  msaitoh Pull up following revision(s) (requested by martin in ticket #668):
usr.sbin/sysinst/arch/cobalt/md.c: revision 1.11
usr.sbin/sysinst/arch/cobalt/md.c: revision 1.12
usr.sbin/sysinst/arch/arc/md.c: revision 1.11
usr.sbin/sysinst/arch/arc/md.c: revision 1.12
usr.sbin/sysinst/partman.c: revision 1.43
usr.sbin/sysinst/partman.c: revision 1.46
usr.sbin/sysinst/partman.c: revision 1.47
usr.sbin/sysinst/partman.c: revision 1.48
usr.sbin/sysinst/partman.c: revision 1.49
usr.sbin/sysinst/msg.pm.fr: revision 1.2
usr.sbin/sysinst/upgrade.c: revision 1.14
usr.sbin/sysinst/arch/i386/md.c: revision 1.28
usr.sbin/sysinst/arch/i386/md.c: revision 1.29
usr.sbin/sysinst/arch/ofppc/md.c: revision 1.9
usr.sbin/sysinst/arch/sandpoint/md.c: revision 1.7
usr.sbin/sysinst/arch/sandpoint/md.c: revision 1.8
usr.sbin/sysinst/gpt.c: revision 1.14
usr.sbin/sysinst/gpt.c: revision 1.15
usr.sbin/sysinst/arch/luna68k/md.c: revision 1.8
usr.sbin/sysinst/gpt.c: revision 1.16
usr.sbin/sysinst/msg.pm.de: revision 1.2
usr.sbin/sysinst/arch/evbarm/md.c: revision 1.11
usr.sbin/sysinst/arch/evbarm/md.c: revision 1.12
usr.sbin/sysinst/arch/evbarm/md.c: revision 1.13
usr.sbin/sysinst/arch/evbarm/md.c: revision 1.14
usr.sbin/sysinst/sizemultname.c: revision 1.4
usr.sbin/sysinst/msg.pm.en: revision 1.2
usr.sbin/sysinst/arch/landisk/md.c: revision 1.12
usr.sbin/sysinst/util.c: revision 1.41
usr.sbin/sysinst/arch/landisk/md.c: revision 1.13
usr.sbin/sysinst/util.c: revision 1.42
usr.sbin/sysinst/arch/ofppc/md.c: revision 1.10
usr.sbin/sysinst/partitions.c: revision 1.9
usr.sbin/sysinst/arch/evbarm/md.h: revision 1.4
usr.sbin/sysinst/arch/evbarm/md.h: revision 1.5
usr.sbin/sysinst/arch/evbmips/md.c: revision 1.7
usr.sbin/sysinst/arch/evbmips/md.c: revision 1.8
usr.sbin/sysinst/msg.mi.fr: revision 1.25
usr.sbin/sysinst/msg.mi.de: revision 1.20
usr.sbin/sysinst/install.c: revision 1.14
usr.sbin/sysinst/partitions.h: revision 1.13
usr.sbin/sysinst/partitions.h: revision 1.14
usr.sbin/sysinst/arch/evbppc/md.c: revision 1.7
usr.sbin/sysinst/arch/playstation2/md.c: revision 1.7
usr.sbin/sysinst/msg.mi.en: revision 1.27
usr.sbin/sysinst/partitions.h: revision 1.15
usr.sbin/sysinst/arch/evbppc/md.c: revision 1.8
usr.sbin/sysinst/arch/hpcarm/md.c: revision 1.7
usr.sbin/sysinst/arch/playstation2/md.c: revision 1.8
usr.sbin/sysinst/msg.pm.pl: revision 1.2
usr.sbin/sysinst/arch/hpcarm/md.c: revision 1.8
usr.sbin/sysinst/msg.mi.es: revision 1.21
usr.sbin/sysinst/arch/zaurus/md.c: revision 1.7
usr.sbin/sysinst/target.c: revision 1.11
usr.sbin/sysinst/arch/zaurus/md.c: revision 1.8
usr.sbin/sysinst/part_edit.c: revision 1.14
usr.sbin/sysinst/part_edit.c: revision 1.15
usr.sbin/sysinst/part_edit.c: revision 1.16
usr.sbin/sysinst/defs.h: revision 1.50
usr.sbin/sysinst/defs.h: revision 1.51
usr.sbin/sysinst/defs.h: revision 1.52
usr.sbin/sysinst/defs.h: revision 1.53
usr.sbin/sysinst/defs.h: revision 1.54
usr.sbin/sysinst/arch/hpcmips/md.c: revision 1.7
usr.sbin/sysinst/arch/hpcmips/md.c: revision 1.8
usr.sbin/sysinst/arch/hpcsh/md.c: revision 1.8
usr.sbin/sysinst/msg.pm.es: revision 1.2
usr.sbin/sysinst/arch/hpcsh/md.c: revision 1.9
usr.sbin/sysinst/label.c: revision 1.18
usr.sbin/sysinst/label.c: revision 1.19
usr.sbin/sysinst/net.c: revision 1.35
usr.sbin/sysinst/msg.mi.pl: revision 1.28
usr.sbin/sysinst/disklabel.c: revision 1.28
usr.sbin/sysinst/disklabel.c: revision 1.29
usr.sbin/sysinst/mbr.c: revision 1.24
usr.sbin/sysinst/disks.c: revision 1.59
usr.sbin/sysinst/mbr.c: revision 1.25
usr.sbin/sysinst/mbr.c: revision 1.26
usr.sbin/sysinst/mbr.c: revision 1.27
usr.sbin/sysinst/mbr.c: revision 1.28
usr.sbin/sysinst/label.c: revision 1.20
usr.sbin/sysinst/mbr.c: revision 1.29
usr.sbin/sysinst/bsddisklabel.c: revision 1.34
usr.sbin/sysinst/bsddisklabel.c: revision 1.35
usr.sbin/sysinst/bsddisklabel.c: revision 1.36
usr.sbin/sysinst/bsddisklabel.c: revision 1.37
usr.sbin/sysinst/disklabel.c: revision 1.30
usr.sbin/sysinst/bsddisklabel.c: revision 1.38
usr.sbin/sysinst/disklabel.c: revision 1.31
usr.sbin/sysinst/disklabel.c: revision 1.32
usr.sbin/sysinst/disklabel.c: revision 1.33
usr.sbin/sysinst/disklabel.c: revision 1.34
usr.sbin/sysinst/disks.c: revision 1.60
usr.sbin/sysinst/disks.c: revision 1.61
usr.sbin/sysinst/arch/bebox/md.c: revision 1.7
usr.sbin/sysinst/disks.c: revision 1.62
usr.sbin/sysinst/arch/bebox/md.c: revision 1.8
usr.sbin/sysinst/mbr.c: revision 1.30
usr.sbin/sysinst/partitions.c: revision 1.10
usr.sbin/sysinst/arch/prep/md.c: revision 1.11
usr.sbin/sysinst/arch/prep/md.c: revision 1.12
usr.sbin/sysinst/menus.pm: revision 1.3
usr.sbin/sysinst/main.c: revision 1.20
usr.sbin/sysinst/menus.mi: revision 1.20
usr.sbin/sysinst/menus.mi: revision 1.21
avoid calling snprintf/strlcat with an input parameter the same
as the output. from martin@. fixes gcc 8 restrict warnings.
Finish conversion of extended partitioning parts to new abstract
backend interface. XXX still could use a lot of polishing.
Instead of a (bogus) attempt to query the model via ofctl, use the (now
fixed) sysctl hw.model instead.
When reading the secondary disklabel partitions from an existing disklabel
set the mbr partitions as parent.
Move the LABELSECTOR check and make it FS type specific - some partition
types (FFS, RAID) are allowed to overlap with the LABELSECTOR.
When asked to create a whole-disk partition for unknown usage, do not only
assert(false), but actually return an error (in case "assert" is a nop).
PR install/54787: when trying to derive proper alignement and first offset
from exisiting partitions, use the first partition offset if it is already
closer to the start of the disk than the prefered alignment - we can not
move existing partitions around.
Fix handling of inner/outer partitions (e.g. MBR and disklabel) in
extended partitioning:
- when editing a disk with such a schme, offer both partitions in two
steps
- when commiting changes save the inner partitions after the outer ones
Add a method to query the partitioning schemes "internal idea" of a
cylinder size - whatever that means in the real world.
Avoid using the global "pm" variable in utility functions - during
extended partitioning they may point to a different device.
Remove useless calls to get_ramsize() - return value is ignored and
the function has no side effects.
Fix /tmp tmpfs handling and on machines with enough RAM default to
creating a /tmp tmpfs with 25% of ram size limit. Suggested by ad@.
PR install/54872: fix printf argument order, sectors and heads were
swapped in the bios geometry display.
First try to bring evbarm installation closer to current reality.
hide disklabel_non_bootable() under NO_DISKLABEL_BOOT like the usage.
should fix most builds.
Deal with even stranger fictious empty disklabels (PR kern/54882).
Factor out all RAM size thresholds as defines to avoid magic numbers.
To work around PR misc/54886 bump the threshold for a tmpfs /tmp mount
up to 256 MB.
When retrying sets during extraction, reset the relevant statistics
to avoid counting retried sets multiple times.
Reported by kim.
Fix support for non-512-byte/sector disks again after I broke it when
introducing the abstract partition backends.
Use a few strlcpy() instead of strncpy() for network ioctl structs.
We seem to have no formal documentation stating the various
char if*_name[IFNAMSIZ]; /* if name, e.g. "en0" */
elements in ioctls are nul terminated, but the peanut gallery claims
it is so - and at least half of the code in-tree touching them agrees.
Too much disklabel magic happening in the kernel - to compensate force
MBR first when trying to identify the existing partitioning scheme of
a disk.
 1.10.2.1 18-Aug-2019  msaitoh Pull up following revision(s) (requested by martin in ticket #77):
usr.sbin/sysinst/arch/sandpoint/md.c: revision 1.6
usr.sbin/sysinst/arch/playstation2/md.c: revision 1.6
usr.sbin/sysinst/arch/evbppc/md.c: revision 1.6
usr.sbin/sysinst/arch/hpcarm/md.c: revision 1.6
usr.sbin/sysinst/arch/zaurus/md.c: revision 1.6
usr.sbin/sysinst/arch/arc/md.c: revision 1.9
usr.sbin/sysinst/arch/hpcmips/md.c: revision 1.6
usr.sbin/sysinst/arch/bebox/md.c: revision 1.6
usr.sbin/sysinst/arch/hpcsh/md.c: revision 1.7
usr.sbin/sysinst/arch/landisk/md.c: revision 1.11
usr.sbin/sysinst/arch/prep/md.c: revision 1.9
usr.sbin/sysinst/arch/i386/md.c: revision 1.21
usr.sbin/sysinst/arch/evbmips/md.c: revision 1.6
usr.sbin/sysinst/arch/evbarm/md.c: revision 1.9
usr.sbin/sysinst/arch/cobalt/md.c: revision 1.9
usr.sbin/sysinst/arch/ofppc/md.c: revision 1.8
When we ask the user to select a partitioning scheme and they refuse
(that is: select "Exit" in the menu), abort installation.
 1.2 02-Oct-2019  maya Split out /rescue to its own set and adapt installers/images to add it.

This is meant to make updates safer: if something goes wrong with updating
base, we still have the old, standalone /rescue to recover from.
 1.1 26-Jul-2014  dholland branches: 1.1.2; 1.1.6; 1.1.28; 1.1.30;
Move sysinst sources to usr.sbin.

This commit only physically moves the sources - there are no other
changes, to maximize the probability that this will be treated as a
rename if we ever do manage to migrate away from CVS.

Moving sysinst has been discussed on and off for years and has two
goals: making it easier to work on sysinst, and also making sysinst
available on running systems for use installing chroots and VM images
and other such things. None of the latter is possible yet, but as they
say, one thing at a time.

Doing this now was approved in an impromptu fashion by mrg, riz,
riastradh, me, and groo.
 1.1.30.1 17-Nov-2019  martin Pull up following revision(s) (requested by maya in ticket #435):

distrib/sets/maketars: revision 1.90
usr.sbin/sysinst/arch/playstation2/md.h: revision 1.2
usr.sbin/sysinst/arch/sandpoint/md.h: revision 1.3
usr.sbin/sysinst/arch/evbppc/md.h: revision 1.3
usr.sbin/sysinst/arch/hpcarm/md.h: revision 1.3
usr.sbin/sysinst/arch/mvme68k/md.h: revision 1.3
distrib/sun3/MakeInstTape: revision 1.3
usr.sbin/sysinst/util.c: revision 1.33
distrib/sets/lists/rescue/mi: revision 1.1
distrib/sets/lists/base/rescue.sun2: file removal
usr.sbin/sysinst/arch/zaurus/md.h: revision 1.3
distrib/sets/lists/base/rescue.ad.m68k.shl: file removal
distrib/sets/regpkgset: revision 1.13
usr.sbin/sysinst/arch/i386/md.h: revision 1.7
distrib/sets/lists/base/rescue.sparc: file removal
distrib/notes/mvme68k/xfer: revision 1.19
distrib/sets/sets.subr: revision 1.187
distrib/common/bootimage/Makefile.bootimage: revision 1.22
usr.sbin/sysinst/msg.mi.de: revision 1.16
usr.sbin/sysinst/arch/atari/md.h: revision 1.3
rescue/Makefile: revision 1.38
distrib/sets/lists/base/rescue.macppc: file removal
usr.sbin/sysinst/arch/arc/md.h: revision 1.4
distrib/miniroot/install.sub: revision 1.49
usr.sbin/sysinst/arch/acorn32/md.h: revision 1.3
usr.sbin/sysinst/arch/x68k/md.h: revision 1.3
usr.sbin/sysinst/arch/hpcmips/md.h: revision 1.3
usr.sbin/sysinst/arch/bebox/md.h: revision 1.3
usr.sbin/sysinst/arch/hpcsh/md.h: revision 1.2
distrib/sets/lists/base/rescue.shark: file removal
usr.sbin/sysinst/arch/emips/md.h: revision 1.5
distrib/utils/embedded/mkimage: revision 1.70
usr.sbin/sysinst/arch/shark/md.h: revision 1.3
usr.sbin/sysinst/arch/pmax/md.h: revision 1.4
usr.sbin/sysinst/arch/amiga/md.h: revision 1.4
usr.sbin/sysinst/arch/hp300/md.h: revision 1.5
rescue/list.ldconfig: file removal
distrib/sets/lists/base/rescue.ad.m68k: file removal
usr.sbin/sysinst/arch/prep/md.h: revision 1.4
usr.sbin/sysinst/arch/cats/md.h: revision 1.4
usr.sbin/sysinst/arch/amd64/md.h: revision 1.7
usr.sbin/sysinst/msg.mi.es: revision 1.17
usr.sbin/sysinst/msg.mi.fr: revision 1.20
usr.sbin/sysinst/msg.mi.pl: revision 1.23
distrib/sets/lists/base/rescue.i386: file removal
usr.sbin/sysinst/arch/evbarm/md.h: revision 1.3
distrib/sets/lists/base/rescue.vax: file removal
distrib/amd64/uefi-installimage/Makefile.bootimage: revision 1.12
usr.sbin/sysinst/arch/evbmips/md.h: revision 1.3
distrib/sets/lists/base/rescue.mi: file removal
distrib/sets/README: revision 1.14
usr.sbin/sysinst/arch/sgimips/md.h: revision 1.4
distrib/sets/lists/base/rescue.sparc64: file removal
distrib/sets/lists/base/rescue.mi: revision 1.45
distrib/sets/lists/base/rescue.mi: revision 1.46
usr.sbin/sysinst/arch/ofppc/md.h: revision 1.4
usr.sbin/sysinst/arch/cobalt/md.h: revision 1.4
distrib/sets/lists/base/rescue.ad.arm: file removal
distrib/sets/lists/base/rescue.mac68k: file removal
usr.sbin/sysinst/defs.h: revision 1.45
usr.sbin/sysinst/arch/landisk/md.h: revision 1.2
distrib/notes/atari/xfer: revision 1.17
etc/Makefile: revision 1.441
usr.sbin/sysinst/msg.mi.en: revision 1.22
distrib/sun2/MakeInstTape: revision 1.2

Remove ldconfig from /rescue, and mark it MI obsolete.
- ldconfig in netbsd refers to a.out binaries only. We've been ELF-only
since NetBSD 2.0 or so, and having it in /rescue served little purpose
even before that, as /rescue is standalone.
- Using MI obsolete to avoid the need for MD set lists where ldconfig
is the sole entry

Mark /rescue/edlabel as MI-obsolete, so we can remove all remaining MD
rescue set list files.

Split out /rescue to its own set and adapt installers/images to add it.

This is meant to make updates safer: if something goes wrong with updating
base, we still have the old, standalone /rescue to recover from.
 1.1.28.1 13-Apr-2020  martin Mostly merge changes from HEAD upto 20200411
 1.1.6.2 20-Aug-2014  tls Rebase to HEAD as of a few days ago.
 1.1.6.1 26-Jul-2014  tls file md.h was added on branch tls-maxphys on 2014-08-20 00:05:16 +0000
 1.1.2.2 10-Aug-2014  tls Rebase.
 1.1.2.1 26-Jul-2014  tls file md.h was added on branch tls-earlyentropy on 2014-08-10 07:00:26 +0000
 1.1 26-Jul-2014  dholland branches: 1.1.2; 1.1.6;
Move sysinst sources to usr.sbin.

This commit only physically moves the sources - there are no other
changes, to maximize the probability that this will be treated as a
rename if we ever do manage to migrate away from CVS.

Moving sysinst has been discussed on and off for years and has two
goals: making it easier to work on sysinst, and also making sysinst
available on running systems for use installing chroots and VM images
and other such things. None of the latter is possible yet, but as they
say, one thing at a time.

Doing this now was approved in an impromptu fashion by mrg, riz,
riastradh, me, and groo.
 1.1.6.2 20-Aug-2014  tls Rebase to HEAD as of a few days ago.
 1.1.6.1 26-Jul-2014  tls file menus.md.en was added on branch tls-maxphys on 2014-08-20 00:05:16 +0000
 1.1.2.2 10-Aug-2014  tls Rebase.
 1.1.2.1 26-Jul-2014  tls file menus.md.en was added on branch tls-earlyentropy on 2014-08-10 07:00:26 +0000
 1.1 26-Jul-2014  dholland branches: 1.1.2; 1.1.6;
Move sysinst sources to usr.sbin.

This commit only physically moves the sources - there are no other
changes, to maximize the probability that this will be treated as a
rename if we ever do manage to migrate away from CVS.

Moving sysinst has been discussed on and off for years and has two
goals: making it easier to work on sysinst, and also making sysinst
available on running systems for use installing chroots and VM images
and other such things. None of the latter is possible yet, but as they
say, one thing at a time.

Doing this now was approved in an impromptu fashion by mrg, riz,
riastradh, me, and groo.
 1.1.6.2 20-Aug-2014  tls Rebase to HEAD as of a few days ago.
 1.1.6.1 26-Jul-2014  tls file menus.md.es was added on branch tls-maxphys on 2014-08-20 00:05:16 +0000
 1.1.2.2 10-Aug-2014  tls Rebase.
 1.1.2.1 26-Jul-2014  tls file menus.md.es was added on branch tls-earlyentropy on 2014-08-10 07:00:26 +0000
 1.1 26-Jul-2014  dholland branches: 1.1.2; 1.1.6;
Move sysinst sources to usr.sbin.

This commit only physically moves the sources - there are no other
changes, to maximize the probability that this will be treated as a
rename if we ever do manage to migrate away from CVS.

Moving sysinst has been discussed on and off for years and has two
goals: making it easier to work on sysinst, and also making sysinst
available on running systems for use installing chroots and VM images
and other such things. None of the latter is possible yet, but as they
say, one thing at a time.

Doing this now was approved in an impromptu fashion by mrg, riz,
riastradh, me, and groo.
 1.1.6.2 20-Aug-2014  tls Rebase to HEAD as of a few days ago.
 1.1.6.1 26-Jul-2014  tls file menus.md.fr was added on branch tls-maxphys on 2014-08-20 00:05:16 +0000
 1.1.2.2 10-Aug-2014  tls Rebase.
 1.1.2.1 26-Jul-2014  tls file menus.md.fr was added on branch tls-earlyentropy on 2014-08-10 07:00:26 +0000
 1.1 26-Jul-2014  dholland branches: 1.1.2; 1.1.6;
Move sysinst sources to usr.sbin.

This commit only physically moves the sources - there are no other
changes, to maximize the probability that this will be treated as a
rename if we ever do manage to migrate away from CVS.

Moving sysinst has been discussed on and off for years and has two
goals: making it easier to work on sysinst, and also making sysinst
available on running systems for use installing chroots and VM images
and other such things. None of the latter is possible yet, but as they
say, one thing at a time.

Doing this now was approved in an impromptu fashion by mrg, riz,
riastradh, me, and groo.
 1.1.6.2 20-Aug-2014  tls Rebase to HEAD as of a few days ago.
 1.1.6.1 26-Jul-2014  tls file menus.md.pl was added on branch tls-maxphys on 2014-08-20 00:05:16 +0000
 1.1.2.2 10-Aug-2014  tls Rebase.
 1.1.2.1 26-Jul-2014  tls file menus.md.pl was added on branch tls-earlyentropy on 2014-08-10 07:00:26 +0000
 1.1 26-Jul-2014  dholland branches: 1.1.2; 1.1.6;
Move sysinst sources to usr.sbin.

This commit only physically moves the sources - there are no other
changes, to maximize the probability that this will be treated as a
rename if we ever do manage to migrate away from CVS.

Moving sysinst has been discussed on and off for years and has two
goals: making it easier to work on sysinst, and also making sysinst
available on running systems for use installing chroots and VM images
and other such things. None of the latter is possible yet, but as they
say, one thing at a time.

Doing this now was approved in an impromptu fashion by mrg, riz,
riastradh, me, and groo.
 1.1.6.2 20-Aug-2014  tls Rebase to HEAD as of a few days ago.
 1.1.6.1 26-Jul-2014  tls file msg.md.de was added on branch tls-maxphys on 2014-08-20 00:05:16 +0000
 1.1.2.2 10-Aug-2014  tls Rebase.
 1.1.2.1 26-Jul-2014  tls file msg.md.de was added on branch tls-earlyentropy on 2014-08-10 07:00:26 +0000
 1.1 26-Jul-2014  dholland branches: 1.1.2; 1.1.6;
Move sysinst sources to usr.sbin.

This commit only physically moves the sources - there are no other
changes, to maximize the probability that this will be treated as a
rename if we ever do manage to migrate away from CVS.

Moving sysinst has been discussed on and off for years and has two
goals: making it easier to work on sysinst, and also making sysinst
available on running systems for use installing chroots and VM images
and other such things. None of the latter is possible yet, but as they
say, one thing at a time.

Doing this now was approved in an impromptu fashion by mrg, riz,
riastradh, me, and groo.
 1.1.6.2 20-Aug-2014  tls Rebase to HEAD as of a few days ago.
 1.1.6.1 26-Jul-2014  tls file msg.md.en was added on branch tls-maxphys on 2014-08-20 00:05:16 +0000
 1.1.2.2 10-Aug-2014  tls Rebase.
 1.1.2.1 26-Jul-2014  tls file msg.md.en was added on branch tls-earlyentropy on 2014-08-10 07:00:26 +0000
 1.1 26-Jul-2014  dholland branches: 1.1.2; 1.1.6;
Move sysinst sources to usr.sbin.

This commit only physically moves the sources - there are no other
changes, to maximize the probability that this will be treated as a
rename if we ever do manage to migrate away from CVS.

Moving sysinst has been discussed on and off for years and has two
goals: making it easier to work on sysinst, and also making sysinst
available on running systems for use installing chroots and VM images
and other such things. None of the latter is possible yet, but as they
say, one thing at a time.

Doing this now was approved in an impromptu fashion by mrg, riz,
riastradh, me, and groo.
 1.1.6.2 20-Aug-2014  tls Rebase to HEAD as of a few days ago.
 1.1.6.1 26-Jul-2014  tls file msg.md.es was added on branch tls-maxphys on 2014-08-20 00:05:16 +0000
 1.1.2.2 10-Aug-2014  tls Rebase.
 1.1.2.1 26-Jul-2014  tls file msg.md.es was added on branch tls-earlyentropy on 2014-08-10 07:00:26 +0000
 1.1 26-Jul-2014  dholland branches: 1.1.2; 1.1.6;
Move sysinst sources to usr.sbin.

This commit only physically moves the sources - there are no other
changes, to maximize the probability that this will be treated as a
rename if we ever do manage to migrate away from CVS.

Moving sysinst has been discussed on and off for years and has two
goals: making it easier to work on sysinst, and also making sysinst
available on running systems for use installing chroots and VM images
and other such things. None of the latter is possible yet, but as they
say, one thing at a time.

Doing this now was approved in an impromptu fashion by mrg, riz,
riastradh, me, and groo.
 1.1.6.2 20-Aug-2014  tls Rebase to HEAD as of a few days ago.
 1.1.6.1 26-Jul-2014  tls file msg.md.fr was added on branch tls-maxphys on 2014-08-20 00:05:16 +0000
 1.1.2.2 10-Aug-2014  tls Rebase.
 1.1.2.1 26-Jul-2014  tls file msg.md.fr was added on branch tls-earlyentropy on 2014-08-10 07:00:26 +0000
 1.1 26-Jul-2014  dholland branches: 1.1.2; 1.1.6;
Move sysinst sources to usr.sbin.

This commit only physically moves the sources - there are no other
changes, to maximize the probability that this will be treated as a
rename if we ever do manage to migrate away from CVS.

Moving sysinst has been discussed on and off for years and has two
goals: making it easier to work on sysinst, and also making sysinst
available on running systems for use installing chroots and VM images
and other such things. None of the latter is possible yet, but as they
say, one thing at a time.

Doing this now was approved in an impromptu fashion by mrg, riz,
riastradh, me, and groo.
 1.1.6.2 20-Aug-2014  tls Rebase to HEAD as of a few days ago.
 1.1.6.1 26-Jul-2014  tls file msg.md.pl was added on branch tls-maxphys on 2014-08-20 00:05:16 +0000
 1.1.2.2 10-Aug-2014  tls Rebase.
 1.1.2.1 26-Jul-2014  tls file msg.md.pl was added on branch tls-earlyentropy on 2014-08-10 07:00:26 +0000
 1.2 11-Jun-2022  tsutsui Pull SMALLPROG stuff to disable unnecessary partitioning methods etc.
 1.1 26-Jul-2014  dholland branches: 1.1.2; 1.1.6;
Move sysinst sources to usr.sbin.

This commit only physically moves the sources - there are no other
changes, to maximize the probability that this will be treated as a
rename if we ever do manage to migrate away from CVS.

Moving sysinst has been discussed on and off for years and has two
goals: making it easier to work on sysinst, and also making sysinst
available on running systems for use installing chroots and VM images
and other such things. None of the latter is possible yet, but as they
say, one thing at a time.

Doing this now was approved in an impromptu fashion by mrg, riz,
riastradh, me, and groo.
 1.1.6.2 20-Aug-2014  tls Rebase to HEAD as of a few days ago.
 1.1.6.1 26-Jul-2014  tls file Makefile was added on branch tls-maxphys on 2014-08-20 00:05:16 +0000
 1.1.2.2 10-Aug-2014  tls Rebase.
 1.1.2.1 26-Jul-2014  tls file Makefile was added on branch tls-earlyentropy on 2014-08-10 07:00:27 +0000
 1.12 10-Feb-2024  andvar Fix various typos in comments, log messages and documentation.
 1.11 06-Jan-2023  martin PR 55058: force the boot partition to sd0d, so our root partitions becomes
sd0a again.
 1.10 29-Jan-2022  martin branches: 1.10.2;
When upgrading, update the boot code post extraction from
the updated target file system.
 1.9 12-Oct-2020  martin PR 55536: when we find existing partition tables and have alternative
formats available, offer to delete partitions and create new ones from
scratch (in some other or the same on-disk format).
 1.8 09-Jan-2020  martin Finish conversion of extended partitioning parts to new abstract
backend interface. XXX still could use a lot of polishing.
 1.7 13-Jul-2019  martin branches: 1.7.2;
We may call md_pre_mount() multiple times for the same install set,
so pass an additional index argument so MD code knows which part
of the install will be mounted next.
 1.6 20-Jun-2019  christos Use _fmt_ msg_ methods when formats are needed.
 1.5 12-Jun-2019  martin Rework internal data structures and "interfaces to user interface" functions
to get rid of all disklabel assumptions.

Previously (even for GPT partitioning) struct disklabel was used, which
obviously breaks large disk setups. Also many MD parts and parts of the
user interface assumed (a) a struct disklabel is used internally to
store partitioning information and (b) partitions are named 'a' ... $MAXPART.

Get rid of this and replace it with a quite abstract interface that should
be able to deal with all variants in partition storage:

- partitions are stored in a (partly abstract) struct disk_partitions
and most parts of it are only accessed via accessor functions provided
by a "partitioning scheme".

- implement partitioning schemes for MBR, disklabel and GPT (with likely
RDB [amiga] and Apple Partition Map [mac*] to follow soon)

- partitioning schemes may be cascaded, e.g. on x86 when using MBR as
"outer partitions", we have disklabel as "inner partitions".

- all user interface goes via accessor functions in the partitioning scheme,
some of which return pointers to special user interface descriptors
(e.g. to allow editing partition flags, which are scheme specific)

Overall the user interface changes (in this initial step) are minimal but
noticable. A new Anita is needed for automatic test setups - many thanks
to Andreas Gustafsson for lots of early testing and a new Anita version,
and to Manuel Bouyer for cooperation and tests of the Anita release.

This work was sponsored by The NetBSD Foundation, Inc.
 1.4 02-Jan-2015  abs branches: 1.4.16;
Rather than scatter set_swap() calls wrapped in ram size checks through
md_post_disklabel() and md_pre_update(), abstract them out to an MI
set_swap_if_low_ram() and call from the appropriate MI places.
Now all platforms add swap if the system has <= 32M of RAM.
 1.3 04-Aug-2014  martin branches: 1.3.2; 1.3.4; 1.3.6;
Adapt to extended partitioning support
 1.2 03-Aug-2014  martin (Finally) merge a slightly modified version of the 2012 GSoC results
from Eugene Lozovoy: add extended partitioning options to sysinst.
Still needs some testing and polishing, but it now is possible to use GPT
or to create a RAID set from scratch and install onto it.
 1.1 26-Jul-2014  dholland Move sysinst sources to usr.sbin.

This commit only physically moves the sources - there are no other
changes, to maximize the probability that this will be treated as a
rename if we ever do manage to migrate away from CVS.

Moving sysinst has been discussed on and off for years and has two
goals: making it easier to work on sysinst, and also making sysinst
available on running systems for use installing chroots and VM images
and other such things. None of the latter is possible yet, but as they
say, one thing at a time.

Doing this now was approved in an impromptu fashion by mrg, riz,
riastradh, me, and groo.
 1.3.6.2 20-Aug-2014  tls Rebase to HEAD as of a few days ago.
 1.3.6.1 04-Aug-2014  tls file md.c was added on branch tls-maxphys on 2014-08-20 00:05:16 +0000
 1.3.4.1 11-Jan-2015  snj Pull up following revision(s) (requested by abs in ticket #400):
usr.sbin/sysinst/arch/arc/md.c: revision 1.3
usr.sbin/sysinst/arch/cobalt/md.c: revision 1.3
usr.sbin/sysinst/arch/evbsh3/md.c: revision 1.3
usr.sbin/sysinst/arch/hp300/md.c: revision 1.3
usr.sbin/sysinst/arch/hpcsh/md.c: revision 1.3
usr.sbin/sysinst/arch/i386/md.c: revision 1.5
usr.sbin/sysinst/arch/luna68k/md.c: revision 1.4
usr.sbin/sysinst/arch/mvme68k/md.c: revision 1.3
usr.sbin/sysinst/arch/news68k/md.c: revision 1.3
usr.sbin/sysinst/arch/sgimips/md.c: revision 1.3
usr.sbin/sysinst/arch/vax/md.c: revision 1.3
usr.sbin/sysinst/arch/x68k/md.c: revision 1.3
usr.sbin/sysinst/defs.h: revision 1.6
usr.sbin/sysinst/disks.c: revision 1.7
usr.sbin/sysinst/install.c: revision 1.3
usr.sbin/sysinst/partman.c: revision 1.8
usr.sbin/sysinst/upgrade.c: revision 1.3
Rather than scatter set_swap() calls wrapped in ram size checks through
md_post_disklabel() and md_pre_update(), abstract them out to an MI
set_swap_if_low_ram() and call from the appropriate MI places.
Now all platforms add swap if the system has <= 32M of RAM.
 1.3.2.2 10-Aug-2014  tls Rebase.
 1.3.2.1 04-Aug-2014  tls file md.c was added on branch tls-earlyentropy on 2014-08-10 07:00:27 +0000
 1.4.16.1 13-Apr-2020  martin Mostly merge changes from HEAD upto 20200411
 1.7.2.3 02-Feb-2022  msaitoh Pull up following revision(s) (requested by martin in ticket #1422):
usr.sbin/sysinst/util.c: revision 1.64
usr.sbin/sysinst/arch/hpcsh/md.c: revision 1.11
usr.sbin/sysinst/arch/alpha/md.c: revision 1.10
usr.sbin/sysinst/arch/sparc64/md.c: revision 1.7
usr.sbin/sysinst/arch/emips/md.c: revision 1.10
usr.sbin/sysinst/arch/cobalt/md.c: revision 1.15
usr.sbin/sysinst/arch/x68k/md.c: revision 1.12
usr.sbin/sysinst/arch/sandpoint/md.c: revision 1.10
usr.sbin/sysinst/arch/luna68k/md.c: revision 1.10
usr.sbin/sysinst/arch/hp300/md.c: revision 1.12
usr.sbin/sysinst/arch/vax/md.c: revision 1.8
usr.sbin/sysinst/arch/hpcmips/md.c: revision 1.10
usr.sbin/sysinst/target.c: revision 1.16
usr.sbin/sysinst/arch/mvme68k/md.c: revision 1.12
usr.sbin/sysinst/arch/arc/md.c: revision 1.14
usr.sbin/sysinst/target.c: revision 1.17
usr.sbin/sysinst/arch/i386/md.c: revision 1.34
usr.sbin/sysinst/arch/mac68k/md.c: revision 1.11
usr.sbin/sysinst/arch/atari/md.c: revision 1.8
usr.sbin/sysinst/arch/sgimips/md.c: revision 1.10
usr.sbin/sysinst/arch/acorn32/md.c: revision 1.8
usr.sbin/sysinst/install.c: revision 1.22
usr.sbin/sysinst/arch/amiga/md.c: revision 1.7
usr.sbin/sysinst/arch/cats/md.c: revision 1.6
usr.sbin/sysinst/arch/dummy/md.c: revision 1.7
usr.sbin/sysinst/arch/shark/md.c: revision 1.7
usr.sbin/sysinst/arch/pmax/md.c: revision 1.9
usr.sbin/sysinst/arch/newsmips/md.c: revision 1.7
usr.sbin/sysinst/arch/mipsco/md.c: revision 1.9
usr.sbin/sysinst/arch/landisk/md.c: revision 1.15
usr.sbin/sysinst/arch/hppa/md.c: revision 1.9
usr.sbin/sysinst/arch/prep/md.c: revision 1.14
usr.sbin/sysinst/defs.h: revision 1.77
usr.sbin/sysinst/arch/ofppc/md.c: revision 1.13
usr.sbin/sysinst/arch/ews4800mips/md.c: revision 1.8
usr.sbin/sysinst/defs.h: revision 1.78
usr.sbin/sysinst/arch/macppc/md.c: revision 1.7
usr.sbin/sysinst/arch/evbppc/md.c: revision 1.10
usr.sbin/sysinst/defs.h: revision 1.79
usr.sbin/sysinst/gpt.c: revision 1.27
usr.sbin/sysinst/arch/bebox/md.c: revision 1.10
usr.sbin/sysinst/gpt.c: revision 1.28
usr.sbin/sysinst/arch/sparc/md.c: revision 1.7
usr.sbin/sysinst/arch/evbsh3/md.c: revision 1.7
usr.sbin/sysinst/arch/evbarm/md.c: revision 1.22
usr.sbin/sysinst/arch/news68k/md.c: revision 1.8
usr.sbin/sysinst/upgrade.c: revision 1.19
usr.sbin/sysinst/arch/zaurus/md.c: revision 1.12
usr.sbin/sysinst/arch/playstation2/md.c: revision 1.10
usr.sbin/sysinst/arch/hpcarm/md.c: revision 1.11
usr.sbin/sysinst/arch/evbmips/md.c: revision 1.10
usr.sbin/sysinst/main.c: revision 1.28
Add an option to set the directory where we look for message catalogs.
Try to get rid of all wedges we created (after unmounting).
When upgrading, update the boot code post extraction from
the updated target file system.
Do not defer wedge deletions when we have nothing mounted.
Define and use a constant for maximum disk name length.
 1.7.2.2 15-Oct-2020  bouyer Pull up following revision(s) (requested by martin in ticket #1113):
usr.sbin/sysinst/bsddisklabel.c: revision 1.46
usr.sbin/sysinst/bsddisklabel.c: revision 1.47
usr.sbin/sysinst/disklabel.c: revision 1.40
usr.sbin/sysinst/arch/cobalt/md.c: revision 1.13
usr.sbin/sysinst/bsddisklabel.c: revision 1.48
usr.sbin/sysinst/disklabel.c: revision 1.41
usr.sbin/sysinst/arch/cobalt/md.c: revision 1.14
usr.sbin/sysinst/bsddisklabel.c: revision 1.49
usr.sbin/sysinst/disklabel.c: revision 1.42
usr.sbin/sysinst/Makefile.inc: revision 1.34
usr.sbin/sysinst/disks.c: revision 1.70
usr.sbin/sysinst/arch/hp300/md.c: revision 1.11
usr.sbin/sysinst/disks.c: revision 1.71
usr.sbin/sysinst/arch/i386/md.h: revision 1.8
usr.sbin/sysinst/arch/arc/md.c: revision 1.13
usr.sbin/sysinst/mbr.h: revision 1.5
usr.sbin/sysinst/mbr.h: revision 1.6
usr.sbin/sysinst/arch/mac68k/md.c: revision 1.10
usr.sbin/sysinst/bsddisklabel.c: revision 1.50
usr.sbin/sysinst/arch/acorn32/md.c: revision 1.7
usr.sbin/sysinst/bsddisklabel.c: revision 1.51
usr.sbin/sysinst/bsddisklabel.c: revision 1.52
usr.sbin/sysinst/bsddisklabel.c: revision 1.53
usr.sbin/sysinst/bsddisklabel.c: revision 1.54
usr.sbin/sysinst/bsddisklabel.c: revision 1.55
usr.sbin/sysinst/bsddisklabel.c: revision 1.56
usr.sbin/sysinst/arch/dummy/md.c: revision 1.6
usr.sbin/sysinst/arch/amd64/md.h: revision 1.9
usr.sbin/sysinst/arch/evbsh3/md.c: revision 1.6
usr.sbin/sysinst/arch/sparc/md.c: revision 1.6
usr.sbin/sysinst/arch/zaurus/md.c: revision 1.10
usr.sbin/sysinst/arch/x68k/md.c: revision 1.11
usr.sbin/sysinst/arch/sandpoint/md.c: revision 1.9
usr.sbin/sysinst/arch/vax/md.c: revision 1.7
usr.sbin/sysinst/arch/luna68k/md.c: revision 1.9
usr.sbin/sysinst/gpt.c: revision 1.19
usr.sbin/sysinst/arch/i386/md.c: revision 1.31
usr.sbin/sysinst/arch/i386/md.c: revision 1.32
usr.sbin/sysinst/arch/evbarm/md.c: revision 1.17
usr.sbin/sysinst/arch/evbarm/md.c: revision 1.18
usr.sbin/sysinst/arch/evbarm/md.c: revision 1.19
usr.sbin/sysinst/arch/shark/md.c: revision 1.6
usr.sbin/sysinst/arch/landisk/md.c: revision 1.14
usr.sbin/sysinst/util.c: revision 1.43
usr.sbin/sysinst/gpt.c: revision 1.20
usr.sbin/sysinst/util.c: revision 1.44
usr.sbin/sysinst/gpt.c: revision 1.21
usr.sbin/sysinst/gpt.c: revision 1.22
usr.sbin/sysinst/arch/evbarm/msg.md.en: revision 1.2
usr.sbin/sysinst/arch/ofppc/md.c: revision 1.11
usr.sbin/sysinst/util.c: revision 1.46
usr.sbin/sysinst/arch/ofppc/md.c: revision 1.12
usr.sbin/sysinst/util.c: revision 1.47
usr.sbin/sysinst/arch/evbarm/md.h: revision 1.6
usr.sbin/sysinst/util.c: revision 1.48
usr.sbin/sysinst/arch/evbarm/md.h: revision 1.7
usr.sbin/sysinst/arch/evbmips/md.c: revision 1.9
usr.sbin/sysinst/msg.mi.fr: revision 1.28
usr.sbin/sysinst/msg.mi.fr: revision 1.29
usr.sbin/sysinst/arch/sgimips/md.c: revision 1.9
usr.sbin/sysinst/arch/evbarm/Makefile: revision 1.3
usr.sbin/sysinst/msg.mi.de: revision 1.23
usr.sbin/sysinst/arch/hpcsh/md.c: revision 1.10
usr.sbin/sysinst/msg.mi.de: revision 1.24
usr.sbin/sysinst/install.c: revision 1.15
usr.sbin/sysinst/install.c: revision 1.16
usr.sbin/sysinst/arch/sparc64/md.c: revision 1.6
usr.sbin/sysinst/install.c: revision 1.17
usr.sbin/sysinst/install.c: revision 1.18
usr.sbin/sysinst/partitions.h: revision 1.16
usr.sbin/sysinst/install.c: revision 1.19
usr.sbin/sysinst/partitions.h: revision 1.17
usr.sbin/sysinst/arch/evbppc/md.c: revision 1.9
usr.sbin/sysinst/arch/playstation2/md.c: revision 1.9
usr.sbin/sysinst/partitions.h: revision 1.18
usr.sbin/sysinst/arch/hpcarm/md.c: revision 1.9
usr.sbin/sysinst/partitions.h: revision 1.19
usr.sbin/sysinst/msg.mi.es: revision 1.24
usr.sbin/sysinst/msg.mi.es: revision 1.25
usr.sbin/sysinst/msg.mi.es: revision 1.26
usr.sbin/sysinst/arch/zaurus/md.c: revision 1.9
usr.sbin/sysinst/target.c: revision 1.13
usr.sbin/sysinst/target.c: revision 1.14
usr.sbin/sysinst/part_edit.c: revision 1.17
usr.sbin/sysinst/part_edit.c: revision 1.18
usr.sbin/sysinst/msg.mi.fr: revision 1.30
usr.sbin/sysinst/arch/mvme68k/md.c: revision 1.11
usr.sbin/sysinst/part_edit.c: revision 1.19
usr.sbin/sysinst/msg.mi.fr: revision 1.31
usr.sbin/sysinst/arch/alpha/md.c: revision 1.9
usr.sbin/sysinst/msg.mi.en: revision 1.30
usr.sbin/sysinst/defs.h: revision 1.56
usr.sbin/sysinst/msg.mi.en: revision 1.31
usr.sbin/sysinst/defs.h: revision 1.57
usr.sbin/sysinst/msg.mi.en: revision 1.32
usr.sbin/sysinst/arch/amiga/md.c: revision 1.6
usr.sbin/sysinst/arch/hpcmips/md.c: revision 1.9
usr.sbin/sysinst/defs.h: revision 1.58
usr.sbin/sysinst/arch/cats/md.c: revision 1.5
usr.sbin/sysinst/defs.h: revision 1.59
usr.sbin/sysinst/arch/newsmips/md.c: revision 1.6
usr.sbin/sysinst/arch/pmax/md.c: revision 1.8
usr.sbin/sysinst/arch/mipsco/md.c: revision 1.8
usr.sbin/sysinst/part_edit.c: revision 1.20
usr.sbin/sysinst/part_edit.c: revision 1.21
usr.sbin/sysinst/arch/macppc/md.c: revision 1.6
usr.sbin/sysinst/part_edit.c: revision 1.22
usr.sbin/sysinst/part_edit.c: revision 1.23
usr.sbin/sysinst/part_edit.c: revision 1.24
usr.sbin/sysinst/defs.h: revision 1.60
usr.sbin/sysinst/arch/mac68k/Makefile: revision 1.3
usr.sbin/sysinst/defs.h: revision 1.61
usr.sbin/sysinst/defs.h: revision 1.63
usr.sbin/sysinst/defs.h: revision 1.64
usr.sbin/sysinst/defs.h: revision 1.65
usr.sbin/sysinst/label.c: revision 1.21
usr.sbin/sysinst/defs.h: revision 1.66
usr.sbin/sysinst/label.c: revision 1.22
usr.sbin/sysinst/defs.h: revision 1.67
usr.sbin/sysinst/label.c: revision 1.23
usr.sbin/sysinst/label.c: revision 1.24
usr.sbin/sysinst/label.c: revision 1.25
usr.sbin/sysinst/label.c: revision 1.26
usr.sbin/sysinst/label.c: revision 1.27
usr.sbin/sysinst/msg.mi.pl: revision 1.31
usr.sbin/sysinst/label.c: revision 1.28
usr.sbin/sysinst/msg.mi.pl: revision 1.32
usr.sbin/sysinst/label.c: revision 1.29
usr.sbin/sysinst/arch/atari/md.c: revision 1.7
usr.sbin/sysinst/disklabel.c: revision 1.36
usr.sbin/sysinst/disklabel.c: revision 1.37
usr.sbin/sysinst/disklabel.c: revision 1.38
usr.sbin/sysinst/disklabel.c: revision 1.39
usr.sbin/sysinst/arch/bebox/md.c: revision 1.9
usr.sbin/sysinst/mbr.c: revision 1.32
usr.sbin/sysinst/disks.c: revision 1.66
usr.sbin/sysinst/mbr.c: revision 1.33
usr.sbin/sysinst/disks.c: revision 1.67
usr.sbin/sysinst/mbr.c: revision 1.34
usr.sbin/sysinst/arch/emips/md.c: revision 1.9
usr.sbin/sysinst/disks.c: revision 1.68
usr.sbin/sysinst/partitions.c: revision 1.11
usr.sbin/sysinst/mbr.c: revision 1.35
usr.sbin/sysinst/disks.c: revision 1.69
usr.sbin/sysinst/mbr.c: revision 1.36
usr.sbin/sysinst/arch/hppa/md.c: revision 1.8
usr.sbin/sysinst/arch/prep/md.c: revision 1.13
usr.sbin/sysinst/label.c: revision 1.30
usr.sbin/sysinst/arch/ews4800mips/md.c: revision 1.7
usr.sbin/sysinst/main.c: revision 1.21
usr.sbin/sysinst/main.c: revision 1.22
usr.sbin/sysinst/main.c: revision 1.23
usr.sbin/sysinst/bsddisklabel.c: revision 1.40
usr.sbin/sysinst/main.c: revision 1.24
usr.sbin/sysinst/arch/cobalt/md.h: revision 1.6
usr.sbin/sysinst/bsddisklabel.c: revision 1.41
usr.sbin/sysinst/main.c: revision 1.25
usr.sbin/sysinst/arch/news68k/md.c: revision 1.7
usr.sbin/sysinst/bsddisklabel.c: revision 1.42
usr.sbin/sysinst/bsddisklabel.c: revision 1.43
usr.sbin/sysinst/bsddisklabel.c: revision 1.44
usr.sbin/sysinst/bsddisklabel.c: revision 1.45
Use strlcpy in a few places to guarnatee 0-terminated strings
Rever previous: the d_packname in struct disklabel is not NUL terminated.
Disable the warning instead.
Do not force -Os optimization (unless SMALLPROG)
Remove unused "rel" global variable and make the -r option a no-op.
PR 55045: strlcpy(NULL, ..., 0) considered harmfull in some implementations.
PR misc/54886: bump threshold for automatic/default creation of a tmpfs /tmp
up slightly (to 384 MB ram). This will make sure the default install has
a > 64 MB /tmp available (number pulled out of thin air, 64 MB is the minimum
required by the ZFS tests).
Don't depend on common symbol definitions.
boardype should not be common.
Redo the root-size-limit check again after we grew the root partition
for kernel dumps. Auto-enable the /usr partition if it overflows.
For all non-root partitions, default to FFSv2.
When extending a partition (to fill the total disk size) do respect
size limits.
Do not suggest a size limited partition for extension by default.
Minor tweak to previous: when forcing a /usr partition just to have an
arbitrary extendable partition, still use its default size initially.
At the end of a new installation save entropy.
Ooops, backout previous - twice the entropy saving is not needed.
Instead slightly improve the (slightly) hidden other code that already
did it.
PR 55202: disable swapping if we started it due to low ram
it's "its"
Remove "If you booted from a floppy" message
Set HAVE_INSTALL_IMAGE for evbarm
Change mountpoint of boot ext2fs from /stand to /ext2 to avoid conflict.
Should be pulled up to netbsd-9, with fixes of PR/55060.
MBR type for Ext2 should be MBR_PTYPE_LNXEXT2, not MBR_PTYPE_FAT12.
Silence -Wstringop-truncation for ``name'' in disp_selected_part().
This variable is used only for display, and truncation seems harmless.
PR 55572: avoid crash when answering the mount point prompt for a previously
empty mount point with an emptry sting.
When adding a new partition in the concrete partition editor, make sure
to set a pointer to the partition table interface in the new entry.
Otherwise we may end up not writing back the partitions at all, leading
to further fallout later.
Receipe to reproduce the issue from Frederic Fauberteau, thanks!
In the concrete partitions editor, after deleting the last partition move
the menu selection to the "add a partition" entry (instead of the sentinel
line which is not an active menu entry).
Typo in comment
Keep a list of all partition tables from which we have deleted partitions
and make sure we update those partition tables when writing partitions,
even if no install related partition remains on them.
Fix display of timezone selection menu
If there is no current partitioning manager assume we are editing the
current system and make target_already_root() return true.
Fixes various fallout when using sysinst post installation.
PR 55377: mark boot partitions in the partition size display, as suggested
by Izumi Tsutsui (minor modifications + all bugs by me)
PR 55378: do not assume RAW_PART to be either 2 or 3
PR 55379: avoid creating bogus /etc/fstab lines for /dev/cd* if no
cdrom is available.
PR 55381: try to deal with moved (but not yet saved) partitions when
calculating free space
Apply patch provided by Izumi Tsutsui in PR 55382: make ext2 partitions
show up in the outer (MBR) partition table, needed for example on Cobalt
where firmware boots from that partition.
PR 55384: detangle pm->ptstart from the "install" flag (selecting a
target partition). Instead introduce a new PTI_INSTALL_TARGET per partition
flag and deal with it in the partitioning backends.
Honour pm->ptstart when allocating new partitions - it is supposed to be
the first sector usable by NetBSD.
If we have no explicitly marke target root partition, make sure to set
the proper flag on the implicit one.
When merging existing partitions with desired target system layout
information, only force the "mount" flag if the existing partitions
has a valid mount point.
Add a heuristic to detect and properly mark EFI system partitions
when re-using pre-existing partitions.
When MD code requests a reserved area (at the start of the disk)
make sure to properly account for the "lost" space during all calculations
and especially when expanding the main partition to fill the disk.
Avoid using the global "pm" or a passed device descriptons when we are
passing disk limits explicitly anyway.
Simplify/fix a few rounding calculations.
When creating new partitions for "full disk" use, pass a install target
hint to the partitioning backend (for the outer NetBSD partition).
Use an install target hint to mark a new partition active.
When compiled with BOOTSEL support, also name the new partition "NetBSD".
Remove more pm->ptstart abuse - calculate values localy where needed
instead.
Fix editing start and size of not yet existing outer partitions.
Previously we abused pm->ptstart / pm->ptsize to pass the bounds of the
NetBSD outer partition to the inner partition editor - but now this is
not a valid assumption any more, so explicitly fix the bounds if an
outer partition exists.
Remove very strange code that special-cased MSDOS file systems and refused
to newfs the partition (despite explicit request to do so) if it was
mountable.
Accidently carried over from a dim and distant past, before we had
fsck_newfs.
PR 55536: when we find existing partition tables and have alternative
formats available, offer to delete partitions and create new ones from
scratch (in some other or the same on-disk format).
Minor fix to previous: fix condition when we offer the partition type
switch - it makes sense even if the disk is partitioned but has no valid
partitions.
Before forcing MBR partitions into our disklabel, make sure they are not
there yet - could happen in various paths when reusing existing partitions
(or parts of that) - previously we would blindly duplicate identical
partitions.
Ooops, part of previous was not meant to be included yet
When renumbering partitions (after deletions) be slightly more lax
in matching, to cope with differences between MBR EFI partitions and
disklabel MSDOS partitions.
PR 55142: on popular demand bring back expert options to adjust the
number of free inodes, block size and fragment size for FFS and LFS.
Fix copy & pasto noticed by Jason Mitchell: change the type of a GPT
partition via "gpt type" - not "gpt label".
Fix copy & pasto (missing "again" label)
Remove dead code
Move MBR writing (if any) post disklabel writing, otherwise strange
interactions happen.
Properly convert partition default sizes in MB to number of sectors
 1.7.2.1 28-Jan-2020  msaitoh Pull up following revision(s) (requested by martin in ticket #668):
usr.sbin/sysinst/arch/cobalt/md.c: revision 1.11
usr.sbin/sysinst/arch/cobalt/md.c: revision 1.12
usr.sbin/sysinst/arch/arc/md.c: revision 1.11
usr.sbin/sysinst/arch/arc/md.c: revision 1.12
usr.sbin/sysinst/partman.c: revision 1.43
usr.sbin/sysinst/partman.c: revision 1.46
usr.sbin/sysinst/partman.c: revision 1.47
usr.sbin/sysinst/partman.c: revision 1.48
usr.sbin/sysinst/partman.c: revision 1.49
usr.sbin/sysinst/msg.pm.fr: revision 1.2
usr.sbin/sysinst/upgrade.c: revision 1.14
usr.sbin/sysinst/arch/i386/md.c: revision 1.28
usr.sbin/sysinst/arch/i386/md.c: revision 1.29
usr.sbin/sysinst/arch/ofppc/md.c: revision 1.9
usr.sbin/sysinst/arch/sandpoint/md.c: revision 1.7
usr.sbin/sysinst/arch/sandpoint/md.c: revision 1.8
usr.sbin/sysinst/gpt.c: revision 1.14
usr.sbin/sysinst/gpt.c: revision 1.15
usr.sbin/sysinst/arch/luna68k/md.c: revision 1.8
usr.sbin/sysinst/gpt.c: revision 1.16
usr.sbin/sysinst/msg.pm.de: revision 1.2
usr.sbin/sysinst/arch/evbarm/md.c: revision 1.11
usr.sbin/sysinst/arch/evbarm/md.c: revision 1.12
usr.sbin/sysinst/arch/evbarm/md.c: revision 1.13
usr.sbin/sysinst/arch/evbarm/md.c: revision 1.14
usr.sbin/sysinst/sizemultname.c: revision 1.4
usr.sbin/sysinst/msg.pm.en: revision 1.2
usr.sbin/sysinst/arch/landisk/md.c: revision 1.12
usr.sbin/sysinst/util.c: revision 1.41
usr.sbin/sysinst/arch/landisk/md.c: revision 1.13
usr.sbin/sysinst/util.c: revision 1.42
usr.sbin/sysinst/arch/ofppc/md.c: revision 1.10
usr.sbin/sysinst/partitions.c: revision 1.9
usr.sbin/sysinst/arch/evbarm/md.h: revision 1.4
usr.sbin/sysinst/arch/evbarm/md.h: revision 1.5
usr.sbin/sysinst/arch/evbmips/md.c: revision 1.7
usr.sbin/sysinst/arch/evbmips/md.c: revision 1.8
usr.sbin/sysinst/msg.mi.fr: revision 1.25
usr.sbin/sysinst/msg.mi.de: revision 1.20
usr.sbin/sysinst/install.c: revision 1.14
usr.sbin/sysinst/partitions.h: revision 1.13
usr.sbin/sysinst/partitions.h: revision 1.14
usr.sbin/sysinst/arch/evbppc/md.c: revision 1.7
usr.sbin/sysinst/arch/playstation2/md.c: revision 1.7
usr.sbin/sysinst/msg.mi.en: revision 1.27
usr.sbin/sysinst/partitions.h: revision 1.15
usr.sbin/sysinst/arch/evbppc/md.c: revision 1.8
usr.sbin/sysinst/arch/hpcarm/md.c: revision 1.7
usr.sbin/sysinst/arch/playstation2/md.c: revision 1.8
usr.sbin/sysinst/msg.pm.pl: revision 1.2
usr.sbin/sysinst/arch/hpcarm/md.c: revision 1.8
usr.sbin/sysinst/msg.mi.es: revision 1.21
usr.sbin/sysinst/arch/zaurus/md.c: revision 1.7
usr.sbin/sysinst/target.c: revision 1.11
usr.sbin/sysinst/arch/zaurus/md.c: revision 1.8
usr.sbin/sysinst/part_edit.c: revision 1.14
usr.sbin/sysinst/part_edit.c: revision 1.15
usr.sbin/sysinst/part_edit.c: revision 1.16
usr.sbin/sysinst/defs.h: revision 1.50
usr.sbin/sysinst/defs.h: revision 1.51
usr.sbin/sysinst/defs.h: revision 1.52
usr.sbin/sysinst/defs.h: revision 1.53
usr.sbin/sysinst/defs.h: revision 1.54
usr.sbin/sysinst/arch/hpcmips/md.c: revision 1.7
usr.sbin/sysinst/arch/hpcmips/md.c: revision 1.8
usr.sbin/sysinst/arch/hpcsh/md.c: revision 1.8
usr.sbin/sysinst/msg.pm.es: revision 1.2
usr.sbin/sysinst/arch/hpcsh/md.c: revision 1.9
usr.sbin/sysinst/label.c: revision 1.18
usr.sbin/sysinst/label.c: revision 1.19
usr.sbin/sysinst/net.c: revision 1.35
usr.sbin/sysinst/msg.mi.pl: revision 1.28
usr.sbin/sysinst/disklabel.c: revision 1.28
usr.sbin/sysinst/disklabel.c: revision 1.29
usr.sbin/sysinst/mbr.c: revision 1.24
usr.sbin/sysinst/disks.c: revision 1.59
usr.sbin/sysinst/mbr.c: revision 1.25
usr.sbin/sysinst/mbr.c: revision 1.26
usr.sbin/sysinst/mbr.c: revision 1.27
usr.sbin/sysinst/mbr.c: revision 1.28
usr.sbin/sysinst/label.c: revision 1.20
usr.sbin/sysinst/mbr.c: revision 1.29
usr.sbin/sysinst/bsddisklabel.c: revision 1.34
usr.sbin/sysinst/bsddisklabel.c: revision 1.35
usr.sbin/sysinst/bsddisklabel.c: revision 1.36
usr.sbin/sysinst/bsddisklabel.c: revision 1.37
usr.sbin/sysinst/disklabel.c: revision 1.30
usr.sbin/sysinst/bsddisklabel.c: revision 1.38
usr.sbin/sysinst/disklabel.c: revision 1.31
usr.sbin/sysinst/disklabel.c: revision 1.32
usr.sbin/sysinst/disklabel.c: revision 1.33
usr.sbin/sysinst/disklabel.c: revision 1.34
usr.sbin/sysinst/disks.c: revision 1.60
usr.sbin/sysinst/disks.c: revision 1.61
usr.sbin/sysinst/arch/bebox/md.c: revision 1.7
usr.sbin/sysinst/disks.c: revision 1.62
usr.sbin/sysinst/arch/bebox/md.c: revision 1.8
usr.sbin/sysinst/mbr.c: revision 1.30
usr.sbin/sysinst/partitions.c: revision 1.10
usr.sbin/sysinst/arch/prep/md.c: revision 1.11
usr.sbin/sysinst/arch/prep/md.c: revision 1.12
usr.sbin/sysinst/menus.pm: revision 1.3
usr.sbin/sysinst/main.c: revision 1.20
usr.sbin/sysinst/menus.mi: revision 1.20
usr.sbin/sysinst/menus.mi: revision 1.21
avoid calling snprintf/strlcat with an input parameter the same
as the output. from martin@. fixes gcc 8 restrict warnings.
Finish conversion of extended partitioning parts to new abstract
backend interface. XXX still could use a lot of polishing.
Instead of a (bogus) attempt to query the model via ofctl, use the (now
fixed) sysctl hw.model instead.
When reading the secondary disklabel partitions from an existing disklabel
set the mbr partitions as parent.
Move the LABELSECTOR check and make it FS type specific - some partition
types (FFS, RAID) are allowed to overlap with the LABELSECTOR.
When asked to create a whole-disk partition for unknown usage, do not only
assert(false), but actually return an error (in case "assert" is a nop).
PR install/54787: when trying to derive proper alignement and first offset
from exisiting partitions, use the first partition offset if it is already
closer to the start of the disk than the prefered alignment - we can not
move existing partitions around.
Fix handling of inner/outer partitions (e.g. MBR and disklabel) in
extended partitioning:
- when editing a disk with such a schme, offer both partitions in two
steps
- when commiting changes save the inner partitions after the outer ones
Add a method to query the partitioning schemes "internal idea" of a
cylinder size - whatever that means in the real world.
Avoid using the global "pm" variable in utility functions - during
extended partitioning they may point to a different device.
Remove useless calls to get_ramsize() - return value is ignored and
the function has no side effects.
Fix /tmp tmpfs handling and on machines with enough RAM default to
creating a /tmp tmpfs with 25% of ram size limit. Suggested by ad@.
PR install/54872: fix printf argument order, sectors and heads were
swapped in the bios geometry display.
First try to bring evbarm installation closer to current reality.
hide disklabel_non_bootable() under NO_DISKLABEL_BOOT like the usage.
should fix most builds.
Deal with even stranger fictious empty disklabels (PR kern/54882).
Factor out all RAM size thresholds as defines to avoid magic numbers.
To work around PR misc/54886 bump the threshold for a tmpfs /tmp mount
up to 256 MB.
When retrying sets during extraction, reset the relevant statistics
to avoid counting retried sets multiple times.
Reported by kim.
Fix support for non-512-byte/sector disks again after I broke it when
introducing the abstract partition backends.
Use a few strlcpy() instead of strncpy() for network ioctl structs.
We seem to have no formal documentation stating the various
char if*_name[IFNAMSIZ]; /* if name, e.g. "en0" */
elements in ioctls are nul terminated, but the peanut gallery claims
it is so - and at least half of the code in-tree touching them agrees.
Too much disklabel magic happening in the kernel - to compensate force
MBR first when trying to identify the existing partitioning scheme of
a disk.
 1.10.2.1 21-Aug-2023  martin Pull up following revision(s) (requested by tsutsui in ticket #331):

usr.sbin/sysinst/arch/luna68k/md.c: revision 1.11
usr.sbin/sysinst/arch/luna68k/md.h: revision 1.7

PR 55058: force the boot partition to sd0d, so our root partitions becomes
sd0a again.
 1.7 06-Jan-2023  martin PR 55058: force the boot partition to sd0d, so our root partitions becomes
sd0a again.
 1.6 17-Jun-2022  tsutsui branches: 1.6.2;
Use #define<space> consistently.
 1.5 17-Jun-2022  tsutsui Use consistent default partition sizes for similar ports.
 1.4 16-Jun-2022  tsutsui Define DEFSWAPSIZE properly. DEFSWAPRAM seems obsolete.
 1.3 12-Jun-2019  martin Rework internal data structures and "interfaces to user interface" functions
to get rid of all disklabel assumptions.

Previously (even for GPT partitioning) struct disklabel was used, which
obviously breaks large disk setups. Also many MD parts and parts of the
user interface assumed (a) a struct disklabel is used internally to
store partitioning information and (b) partitions are named 'a' ... $MAXPART.

Get rid of this and replace it with a quite abstract interface that should
be able to deal with all variants in partition storage:

- partitions are stored in a (partly abstract) struct disk_partitions
and most parts of it are only accessed via accessor functions provided
by a "partitioning scheme".

- implement partitioning schemes for MBR, disklabel and GPT (with likely
RDB [amiga] and Apple Partition Map [mac*] to follow soon)

- partitioning schemes may be cascaded, e.g. on x86 when using MBR as
"outer partitions", we have disklabel as "inner partitions".

- all user interface goes via accessor functions in the partitioning scheme,
some of which return pointers to special user interface descriptors
(e.g. to allow editing partition flags, which are scheme specific)

Overall the user interface changes (in this initial step) are minimal but
noticable. A new Anita is needed for automatic test setups - many thanks
to Andreas Gustafsson for lots of early testing and a new Anita version,
and to Manuel Bouyer for cooperation and tests of the Anita release.

This work was sponsored by The NetBSD Foundation, Inc.
 1.2 16-Nov-2018  martin Sync install size estimates with current reality
 1.1 26-Jul-2014  dholland branches: 1.1.2; 1.1.6; 1.1.26; 1.1.28;
Move sysinst sources to usr.sbin.

This commit only physically moves the sources - there are no other
changes, to maximize the probability that this will be treated as a
rename if we ever do manage to migrate away from CVS.

Moving sysinst has been discussed on and off for years and has two
goals: making it easier to work on sysinst, and also making sysinst
available on running systems for use installing chroots and VM images
and other such things. None of the latter is possible yet, but as they
say, one thing at a time.

Doing this now was approved in an impromptu fashion by mrg, riz,
riastradh, me, and groo.
 1.1.28.2 13-Apr-2020  martin Mostly merge changes from HEAD upto 20200411
 1.1.28.1 10-Jun-2019  christos Sync with HEAD
 1.1.26.1 26-Nov-2018  pgoyette Sync with HEAD, resolve a couple of conflicts
 1.1.6.2 20-Aug-2014  tls Rebase to HEAD as of a few days ago.
 1.1.6.1 26-Jul-2014  tls file md.h was added on branch tls-maxphys on 2014-08-20 00:05:16 +0000
 1.1.2.2 10-Aug-2014  tls Rebase.
 1.1.2.1 26-Jul-2014  tls file md.h was added on branch tls-earlyentropy on 2014-08-10 07:00:27 +0000
 1.6.2.1 21-Aug-2023  martin Pull up following revision(s) (requested by tsutsui in ticket #331):

usr.sbin/sysinst/arch/luna68k/md.c: revision 1.11
usr.sbin/sysinst/arch/luna68k/md.h: revision 1.7

PR 55058: force the boot partition to sd0d, so our root partitions becomes
sd0a again.
 1.1 26-Jul-2014  dholland branches: 1.1.2; 1.1.6;
Move sysinst sources to usr.sbin.

This commit only physically moves the sources - there are no other
changes, to maximize the probability that this will be treated as a
rename if we ever do manage to migrate away from CVS.

Moving sysinst has been discussed on and off for years and has two
goals: making it easier to work on sysinst, and also making sysinst
available on running systems for use installing chroots and VM images
and other such things. None of the latter is possible yet, but as they
say, one thing at a time.

Doing this now was approved in an impromptu fashion by mrg, riz,
riastradh, me, and groo.
 1.1.6.2 20-Aug-2014  tls Rebase to HEAD as of a few days ago.
 1.1.6.1 26-Jul-2014  tls file menus.md.en was added on branch tls-maxphys on 2014-08-20 00:05:16 +0000
 1.1.2.2 10-Aug-2014  tls Rebase.
 1.1.2.1 26-Jul-2014  tls file menus.md.en was added on branch tls-earlyentropy on 2014-08-10 07:00:27 +0000
 1.1 26-Jul-2014  dholland branches: 1.1.2; 1.1.6;
Move sysinst sources to usr.sbin.

This commit only physically moves the sources - there are no other
changes, to maximize the probability that this will be treated as a
rename if we ever do manage to migrate away from CVS.

Moving sysinst has been discussed on and off for years and has two
goals: making it easier to work on sysinst, and also making sysinst
available on running systems for use installing chroots and VM images
and other such things. None of the latter is possible yet, but as they
say, one thing at a time.

Doing this now was approved in an impromptu fashion by mrg, riz,
riastradh, me, and groo.
 1.1.6.2 20-Aug-2014  tls Rebase to HEAD as of a few days ago.
 1.1.6.1 26-Jul-2014  tls file msg.md.en was added on branch tls-maxphys on 2014-08-20 00:05:16 +0000
 1.1.2.2 10-Aug-2014  tls Rebase.
 1.1.2.1 26-Jul-2014  tls file msg.md.en was added on branch tls-earlyentropy on 2014-08-10 07:00:27 +0000
 1.4 03-Jun-2023  lukem adapt to ${CC_WNO_STRINGOP_TRUNCATION}
 1.3 10-Aug-2020  rin Silence -Wstringop-truncation for ``name'' in disp_selected_part().
This variable is used only for display, and truncation seems harmless.
 1.2 12-Jun-2019  martin branches: 1.2.2;
Rework internal data structures and "interfaces to user interface" functions
to get rid of all disklabel assumptions.

Previously (even for GPT partitioning) struct disklabel was used, which
obviously breaks large disk setups. Also many MD parts and parts of the
user interface assumed (a) a struct disklabel is used internally to
store partitioning information and (b) partitions are named 'a' ... $MAXPART.

Get rid of this and replace it with a quite abstract interface that should
be able to deal with all variants in partition storage:

- partitions are stored in a (partly abstract) struct disk_partitions
and most parts of it are only accessed via accessor functions provided
by a "partitioning scheme".

- implement partitioning schemes for MBR, disklabel and GPT (with likely
RDB [amiga] and Apple Partition Map [mac*] to follow soon)

- partitioning schemes may be cascaded, e.g. on x86 when using MBR as
"outer partitions", we have disklabel as "inner partitions".

- all user interface goes via accessor functions in the partitioning scheme,
some of which return pointers to special user interface descriptors
(e.g. to allow editing partition flags, which are scheme specific)

Overall the user interface changes (in this initial step) are minimal but
noticable. A new Anita is needed for automatic test setups - many thanks
to Andreas Gustafsson for lots of early testing and a new Anita version,
and to Manuel Bouyer for cooperation and tests of the Anita release.

This work was sponsored by The NetBSD Foundation, Inc.
 1.1 26-Jul-2014  dholland branches: 1.1.2; 1.1.6; 1.1.28;
Move sysinst sources to usr.sbin.

This commit only physically moves the sources - there are no other
changes, to maximize the probability that this will be treated as a
rename if we ever do manage to migrate away from CVS.

Moving sysinst has been discussed on and off for years and has two
goals: making it easier to work on sysinst, and also making sysinst
available on running systems for use installing chroots and VM images
and other such things. None of the latter is possible yet, but as they
say, one thing at a time.

Doing this now was approved in an impromptu fashion by mrg, riz,
riastradh, me, and groo.
 1.1.28.1 13-Apr-2020  martin Mostly merge changes from HEAD upto 20200411
 1.1.6.2 20-Aug-2014  tls Rebase to HEAD as of a few days ago.
 1.1.6.1 26-Jul-2014  tls file Makefile was added on branch tls-maxphys on 2014-08-20 00:05:16 +0000
 1.1.2.2 10-Aug-2014  tls Rebase.
 1.1.2.1 26-Jul-2014  tls file Makefile was added on branch tls-earlyentropy on 2014-08-10 07:00:27 +0000
 1.2.2.1 15-Oct-2020  bouyer Pull up following revision(s) (requested by martin in ticket #1113):
usr.sbin/sysinst/bsddisklabel.c: revision 1.46
usr.sbin/sysinst/bsddisklabel.c: revision 1.47
usr.sbin/sysinst/disklabel.c: revision 1.40
usr.sbin/sysinst/arch/cobalt/md.c: revision 1.13
usr.sbin/sysinst/bsddisklabel.c: revision 1.48
usr.sbin/sysinst/disklabel.c: revision 1.41
usr.sbin/sysinst/arch/cobalt/md.c: revision 1.14
usr.sbin/sysinst/bsddisklabel.c: revision 1.49
usr.sbin/sysinst/disklabel.c: revision 1.42
usr.sbin/sysinst/Makefile.inc: revision 1.34
usr.sbin/sysinst/disks.c: revision 1.70
usr.sbin/sysinst/arch/hp300/md.c: revision 1.11
usr.sbin/sysinst/disks.c: revision 1.71
usr.sbin/sysinst/arch/i386/md.h: revision 1.8
usr.sbin/sysinst/arch/arc/md.c: revision 1.13
usr.sbin/sysinst/mbr.h: revision 1.5
usr.sbin/sysinst/mbr.h: revision 1.6
usr.sbin/sysinst/arch/mac68k/md.c: revision 1.10
usr.sbin/sysinst/bsddisklabel.c: revision 1.50
usr.sbin/sysinst/arch/acorn32/md.c: revision 1.7
usr.sbin/sysinst/bsddisklabel.c: revision 1.51
usr.sbin/sysinst/bsddisklabel.c: revision 1.52
usr.sbin/sysinst/bsddisklabel.c: revision 1.53
usr.sbin/sysinst/bsddisklabel.c: revision 1.54
usr.sbin/sysinst/bsddisklabel.c: revision 1.55
usr.sbin/sysinst/bsddisklabel.c: revision 1.56
usr.sbin/sysinst/arch/dummy/md.c: revision 1.6
usr.sbin/sysinst/arch/amd64/md.h: revision 1.9
usr.sbin/sysinst/arch/evbsh3/md.c: revision 1.6
usr.sbin/sysinst/arch/sparc/md.c: revision 1.6
usr.sbin/sysinst/arch/zaurus/md.c: revision 1.10
usr.sbin/sysinst/arch/x68k/md.c: revision 1.11
usr.sbin/sysinst/arch/sandpoint/md.c: revision 1.9
usr.sbin/sysinst/arch/vax/md.c: revision 1.7
usr.sbin/sysinst/arch/luna68k/md.c: revision 1.9
usr.sbin/sysinst/gpt.c: revision 1.19
usr.sbin/sysinst/arch/i386/md.c: revision 1.31
usr.sbin/sysinst/arch/i386/md.c: revision 1.32
usr.sbin/sysinst/arch/evbarm/md.c: revision 1.17
usr.sbin/sysinst/arch/evbarm/md.c: revision 1.18
usr.sbin/sysinst/arch/evbarm/md.c: revision 1.19
usr.sbin/sysinst/arch/shark/md.c: revision 1.6
usr.sbin/sysinst/arch/landisk/md.c: revision 1.14
usr.sbin/sysinst/util.c: revision 1.43
usr.sbin/sysinst/gpt.c: revision 1.20
usr.sbin/sysinst/util.c: revision 1.44
usr.sbin/sysinst/gpt.c: revision 1.21
usr.sbin/sysinst/gpt.c: revision 1.22
usr.sbin/sysinst/arch/evbarm/msg.md.en: revision 1.2
usr.sbin/sysinst/arch/ofppc/md.c: revision 1.11
usr.sbin/sysinst/util.c: revision 1.46
usr.sbin/sysinst/arch/ofppc/md.c: revision 1.12
usr.sbin/sysinst/util.c: revision 1.47
usr.sbin/sysinst/arch/evbarm/md.h: revision 1.6
usr.sbin/sysinst/util.c: revision 1.48
usr.sbin/sysinst/arch/evbarm/md.h: revision 1.7
usr.sbin/sysinst/arch/evbmips/md.c: revision 1.9
usr.sbin/sysinst/msg.mi.fr: revision 1.28
usr.sbin/sysinst/msg.mi.fr: revision 1.29
usr.sbin/sysinst/arch/sgimips/md.c: revision 1.9
usr.sbin/sysinst/arch/evbarm/Makefile: revision 1.3
usr.sbin/sysinst/msg.mi.de: revision 1.23
usr.sbin/sysinst/arch/hpcsh/md.c: revision 1.10
usr.sbin/sysinst/msg.mi.de: revision 1.24
usr.sbin/sysinst/install.c: revision 1.15
usr.sbin/sysinst/install.c: revision 1.16
usr.sbin/sysinst/arch/sparc64/md.c: revision 1.6
usr.sbin/sysinst/install.c: revision 1.17
usr.sbin/sysinst/install.c: revision 1.18
usr.sbin/sysinst/partitions.h: revision 1.16
usr.sbin/sysinst/install.c: revision 1.19
usr.sbin/sysinst/partitions.h: revision 1.17
usr.sbin/sysinst/arch/evbppc/md.c: revision 1.9
usr.sbin/sysinst/arch/playstation2/md.c: revision 1.9
usr.sbin/sysinst/partitions.h: revision 1.18
usr.sbin/sysinst/arch/hpcarm/md.c: revision 1.9
usr.sbin/sysinst/partitions.h: revision 1.19
usr.sbin/sysinst/msg.mi.es: revision 1.24
usr.sbin/sysinst/msg.mi.es: revision 1.25
usr.sbin/sysinst/msg.mi.es: revision 1.26
usr.sbin/sysinst/arch/zaurus/md.c: revision 1.9
usr.sbin/sysinst/target.c: revision 1.13
usr.sbin/sysinst/target.c: revision 1.14
usr.sbin/sysinst/part_edit.c: revision 1.17
usr.sbin/sysinst/part_edit.c: revision 1.18
usr.sbin/sysinst/msg.mi.fr: revision 1.30
usr.sbin/sysinst/arch/mvme68k/md.c: revision 1.11
usr.sbin/sysinst/part_edit.c: revision 1.19
usr.sbin/sysinst/msg.mi.fr: revision 1.31
usr.sbin/sysinst/arch/alpha/md.c: revision 1.9
usr.sbin/sysinst/msg.mi.en: revision 1.30
usr.sbin/sysinst/defs.h: revision 1.56
usr.sbin/sysinst/msg.mi.en: revision 1.31
usr.sbin/sysinst/defs.h: revision 1.57
usr.sbin/sysinst/msg.mi.en: revision 1.32
usr.sbin/sysinst/arch/amiga/md.c: revision 1.6
usr.sbin/sysinst/arch/hpcmips/md.c: revision 1.9
usr.sbin/sysinst/defs.h: revision 1.58
usr.sbin/sysinst/arch/cats/md.c: revision 1.5
usr.sbin/sysinst/defs.h: revision 1.59
usr.sbin/sysinst/arch/newsmips/md.c: revision 1.6
usr.sbin/sysinst/arch/pmax/md.c: revision 1.8
usr.sbin/sysinst/arch/mipsco/md.c: revision 1.8
usr.sbin/sysinst/part_edit.c: revision 1.20
usr.sbin/sysinst/part_edit.c: revision 1.21
usr.sbin/sysinst/arch/macppc/md.c: revision 1.6
usr.sbin/sysinst/part_edit.c: revision 1.22
usr.sbin/sysinst/part_edit.c: revision 1.23
usr.sbin/sysinst/part_edit.c: revision 1.24
usr.sbin/sysinst/defs.h: revision 1.60
usr.sbin/sysinst/arch/mac68k/Makefile: revision 1.3
usr.sbin/sysinst/defs.h: revision 1.61
usr.sbin/sysinst/defs.h: revision 1.63
usr.sbin/sysinst/defs.h: revision 1.64
usr.sbin/sysinst/defs.h: revision 1.65
usr.sbin/sysinst/label.c: revision 1.21
usr.sbin/sysinst/defs.h: revision 1.66
usr.sbin/sysinst/label.c: revision 1.22
usr.sbin/sysinst/defs.h: revision 1.67
usr.sbin/sysinst/label.c: revision 1.23
usr.sbin/sysinst/label.c: revision 1.24
usr.sbin/sysinst/label.c: revision 1.25
usr.sbin/sysinst/label.c: revision 1.26
usr.sbin/sysinst/label.c: revision 1.27
usr.sbin/sysinst/msg.mi.pl: revision 1.31
usr.sbin/sysinst/label.c: revision 1.28
usr.sbin/sysinst/msg.mi.pl: revision 1.32
usr.sbin/sysinst/label.c: revision 1.29
usr.sbin/sysinst/arch/atari/md.c: revision 1.7
usr.sbin/sysinst/disklabel.c: revision 1.36
usr.sbin/sysinst/disklabel.c: revision 1.37
usr.sbin/sysinst/disklabel.c: revision 1.38
usr.sbin/sysinst/disklabel.c: revision 1.39
usr.sbin/sysinst/arch/bebox/md.c: revision 1.9
usr.sbin/sysinst/mbr.c: revision 1.32
usr.sbin/sysinst/disks.c: revision 1.66
usr.sbin/sysinst/mbr.c: revision 1.33
usr.sbin/sysinst/disks.c: revision 1.67
usr.sbin/sysinst/mbr.c: revision 1.34
usr.sbin/sysinst/arch/emips/md.c: revision 1.9
usr.sbin/sysinst/disks.c: revision 1.68
usr.sbin/sysinst/partitions.c: revision 1.11
usr.sbin/sysinst/mbr.c: revision 1.35
usr.sbin/sysinst/disks.c: revision 1.69
usr.sbin/sysinst/mbr.c: revision 1.36
usr.sbin/sysinst/arch/hppa/md.c: revision 1.8
usr.sbin/sysinst/arch/prep/md.c: revision 1.13
usr.sbin/sysinst/label.c: revision 1.30
usr.sbin/sysinst/arch/ews4800mips/md.c: revision 1.7
usr.sbin/sysinst/main.c: revision 1.21
usr.sbin/sysinst/main.c: revision 1.22
usr.sbin/sysinst/main.c: revision 1.23
usr.sbin/sysinst/bsddisklabel.c: revision 1.40
usr.sbin/sysinst/main.c: revision 1.24
usr.sbin/sysinst/arch/cobalt/md.h: revision 1.6
usr.sbin/sysinst/bsddisklabel.c: revision 1.41
usr.sbin/sysinst/main.c: revision 1.25
usr.sbin/sysinst/arch/news68k/md.c: revision 1.7
usr.sbin/sysinst/bsddisklabel.c: revision 1.42
usr.sbin/sysinst/bsddisklabel.c: revision 1.43
usr.sbin/sysinst/bsddisklabel.c: revision 1.44
usr.sbin/sysinst/bsddisklabel.c: revision 1.45
Use strlcpy in a few places to guarnatee 0-terminated strings
Rever previous: the d_packname in struct disklabel is not NUL terminated.
Disable the warning instead.
Do not force -Os optimization (unless SMALLPROG)
Remove unused "rel" global variable and make the -r option a no-op.
PR 55045: strlcpy(NULL, ..., 0) considered harmfull in some implementations.
PR misc/54886: bump threshold for automatic/default creation of a tmpfs /tmp
up slightly (to 384 MB ram). This will make sure the default install has
a > 64 MB /tmp available (number pulled out of thin air, 64 MB is the minimum
required by the ZFS tests).
Don't depend on common symbol definitions.
boardype should not be common.
Redo the root-size-limit check again after we grew the root partition
for kernel dumps. Auto-enable the /usr partition if it overflows.
For all non-root partitions, default to FFSv2.
When extending a partition (to fill the total disk size) do respect
size limits.
Do not suggest a size limited partition for extension by default.
Minor tweak to previous: when forcing a /usr partition just to have an
arbitrary extendable partition, still use its default size initially.
At the end of a new installation save entropy.
Ooops, backout previous - twice the entropy saving is not needed.
Instead slightly improve the (slightly) hidden other code that already
did it.
PR 55202: disable swapping if we started it due to low ram
it's "its"
Remove "If you booted from a floppy" message
Set HAVE_INSTALL_IMAGE for evbarm
Change mountpoint of boot ext2fs from /stand to /ext2 to avoid conflict.
Should be pulled up to netbsd-9, with fixes of PR/55060.
MBR type for Ext2 should be MBR_PTYPE_LNXEXT2, not MBR_PTYPE_FAT12.
Silence -Wstringop-truncation for ``name'' in disp_selected_part().
This variable is used only for display, and truncation seems harmless.
PR 55572: avoid crash when answering the mount point prompt for a previously
empty mount point with an emptry sting.
When adding a new partition in the concrete partition editor, make sure
to set a pointer to the partition table interface in the new entry.
Otherwise we may end up not writing back the partitions at all, leading
to further fallout later.
Receipe to reproduce the issue from Frederic Fauberteau, thanks!
In the concrete partitions editor, after deleting the last partition move
the menu selection to the "add a partition" entry (instead of the sentinel
line which is not an active menu entry).
Typo in comment
Keep a list of all partition tables from which we have deleted partitions
and make sure we update those partition tables when writing partitions,
even if no install related partition remains on them.
Fix display of timezone selection menu
If there is no current partitioning manager assume we are editing the
current system and make target_already_root() return true.
Fixes various fallout when using sysinst post installation.
PR 55377: mark boot partitions in the partition size display, as suggested
by Izumi Tsutsui (minor modifications + all bugs by me)
PR 55378: do not assume RAW_PART to be either 2 or 3
PR 55379: avoid creating bogus /etc/fstab lines for /dev/cd* if no
cdrom is available.
PR 55381: try to deal with moved (but not yet saved) partitions when
calculating free space
Apply patch provided by Izumi Tsutsui in PR 55382: make ext2 partitions
show up in the outer (MBR) partition table, needed for example on Cobalt
where firmware boots from that partition.
PR 55384: detangle pm->ptstart from the "install" flag (selecting a
target partition). Instead introduce a new PTI_INSTALL_TARGET per partition
flag and deal with it in the partitioning backends.
Honour pm->ptstart when allocating new partitions - it is supposed to be
the first sector usable by NetBSD.
If we have no explicitly marke target root partition, make sure to set
the proper flag on the implicit one.
When merging existing partitions with desired target system layout
information, only force the "mount" flag if the existing partitions
has a valid mount point.
Add a heuristic to detect and properly mark EFI system partitions
when re-using pre-existing partitions.
When MD code requests a reserved area (at the start of the disk)
make sure to properly account for the "lost" space during all calculations
and especially when expanding the main partition to fill the disk.
Avoid using the global "pm" or a passed device descriptons when we are
passing disk limits explicitly anyway.
Simplify/fix a few rounding calculations.
When creating new partitions for "full disk" use, pass a install target
hint to the partitioning backend (for the outer NetBSD partition).
Use an install target hint to mark a new partition active.
When compiled with BOOTSEL support, also name the new partition "NetBSD".
Remove more pm->ptstart abuse - calculate values localy where needed
instead.
Fix editing start and size of not yet existing outer partitions.
Previously we abused pm->ptstart / pm->ptsize to pass the bounds of the
NetBSD outer partition to the inner partition editor - but now this is
not a valid assumption any more, so explicitly fix the bounds if an
outer partition exists.
Remove very strange code that special-cased MSDOS file systems and refused
to newfs the partition (despite explicit request to do so) if it was
mountable.
Accidently carried over from a dim and distant past, before we had
fsck_newfs.
PR 55536: when we find existing partition tables and have alternative
formats available, offer to delete partitions and create new ones from
scratch (in some other or the same on-disk format).
Minor fix to previous: fix condition when we offer the partition type
switch - it makes sense even if the disk is partitioned but has no valid
partitions.
Before forcing MBR partitions into our disklabel, make sure they are not
there yet - could happen in various paths when reusing existing partitions
(or parts of that) - previously we would blindly duplicate identical
partitions.
Ooops, part of previous was not meant to be included yet
When renumbering partitions (after deletions) be slightly more lax
in matching, to cope with differences between MBR EFI partitions and
disklabel MSDOS partitions.
PR 55142: on popular demand bring back expert options to adjust the
number of free inodes, block size and fragment size for FFS and LFS.
Fix copy & pasto noticed by Jason Mitchell: change the type of a GPT
partition via "gpt type" - not "gpt label".
Fix copy & pasto (missing "again" label)
Remove dead code
Move MBR writing (if any) post disklabel writing, otherwise strange
interactions happen.
Properly convert partition default sizes in MB to number of sectors
 1.14 29-Jul-2025  andvar Fix few typos in comments.
 1.13 28-May-2025  andvar fix few typos in comments.
 1.12 07-Apr-2022  andvar branches: 1.12.4;
fix various typos in comments.
 1.11 29-Jan-2022  martin When upgrading, update the boot code post extraction from
the updated target file system.
 1.10 12-Oct-2020  martin PR 55536: when we find existing partition tables and have alternative
formats available, offer to delete partitions and create new ones from
scratch (in some other or the same on-disk format).
 1.9 10-Feb-2020  martin Finish conversion to generic partitioning backend
 1.8 13-Jul-2019  martin branches: 1.8.2;
We may call md_pre_mount() multiple times for the same install set,
so pass an additional index argument so MD code knows which part
of the install will be mounted next.
 1.7 20-Jun-2019  christos Use _fmt_ msg_ methods when formats are needed.
 1.6 12-Jun-2019  martin Rework internal data structures and "interfaces to user interface" functions
to get rid of all disklabel assumptions.

Previously (even for GPT partitioning) struct disklabel was used, which
obviously breaks large disk setups. Also many MD parts and parts of the
user interface assumed (a) a struct disklabel is used internally to
store partitioning information and (b) partitions are named 'a' ... $MAXPART.

Get rid of this and replace it with a quite abstract interface that should
be able to deal with all variants in partition storage:

- partitions are stored in a (partly abstract) struct disk_partitions
and most parts of it are only accessed via accessor functions provided
by a "partitioning scheme".

- implement partitioning schemes for MBR, disklabel and GPT (with likely
RDB [amiga] and Apple Partition Map [mac*] to follow soon)

- partitioning schemes may be cascaded, e.g. on x86 when using MBR as
"outer partitions", we have disklabel as "inner partitions".

- all user interface goes via accessor functions in the partitioning scheme,
some of which return pointers to special user interface descriptors
(e.g. to allow editing partition flags, which are scheme specific)

Overall the user interface changes (in this initial step) are minimal but
noticable. A new Anita is needed for automatic test setups - many thanks
to Andreas Gustafsson for lots of early testing and a new Anita version,
and to Manuel Bouyer for cooperation and tests of the Anita release.

This work was sponsored by The NetBSD Foundation, Inc.
 1.5 31-May-2016  dholland branches: 1.5.16;
Disable the code that tries to prepare a new partition table (but doesn't
do anything with it...) because it's zooming off the end of the array it's
trying to use.

It looks to me as if NEW_MAP_SIZE has been accidentally used as both
the number of blocks occupied by the new partition table and also the
number of entries in it. Or something. This needs platform knowledge
to sort out. XXX.

Workaround for PR 50757.
 1.4 11-May-2015  martin Remove a few more (ab-)usages of "yesno".
 1.3 10-May-2015  martin Backout the previous incorrect fix for PR 49440 and redo it more globaly:
get rid of the global "yesno", introduce utility functions "ask_yesno()"
and "ask_noyes()" instead, greatly simplifying a lot of code.
Pass in a pointer to the return value to various "set source" menus.
 1.2 03-Aug-2014  martin branches: 1.2.2; 1.2.4; 1.2.6;
(Finally) merge a slightly modified version of the 2012 GSoC results
from Eugene Lozovoy: add extended partitioning options to sysinst.
Still needs some testing and polishing, but it now is possible to use GPT
or to create a RAID set from scratch and install onto it.
 1.1 26-Jul-2014  dholland Move sysinst sources to usr.sbin.

This commit only physically moves the sources - there are no other
changes, to maximize the probability that this will be treated as a
rename if we ever do manage to migrate away from CVS.

Moving sysinst has been discussed on and off for years and has two
goals: making it easier to work on sysinst, and also making sysinst
available on running systems for use installing chroots and VM images
and other such things. None of the latter is possible yet, but as they
say, one thing at a time.

Doing this now was approved in an impromptu fashion by mrg, riz,
riastradh, me, and groo.
 1.2.6.2 20-Aug-2014  tls Rebase to HEAD as of a few days ago.
 1.2.6.1 03-Aug-2014  tls file md.c was added on branch tls-maxphys on 2014-08-20 00:05:16 +0000
 1.2.4.1 14-May-2015  snj Pull up following revision(s) (requested by martin in ticket #756):
usr.sbin/sysinst/arch/arc/md.c: revision 1.4
usr.sbin/sysinst/arch/atari/md.c: revision 1.3
usr.sbin/sysinst/arch/cobalt/md.c: revision 1.4
usr.sbin/sysinst/arch/emips/md.c: revision 1.3
usr.sbin/sysinst/arch/evbarm/md.c: revision 1.4
usr.sbin/sysinst/arch/evbarm64/md.c: revision 1.2
usr.sbin/sysinst/arch/hp300/md.c: revision 1.4
usr.sbin/sysinst/arch/i386/md.c: revision 1.6
usr.sbin/sysinst/arch/mac68k/md.c: revision 1.3
usr.sbin/sysinst/arch/mac68k/md.c: revision 1.4
usr.sbin/sysinst/arch/mac68k/menus.md.de: revisions 1.3, 1.4
usr.sbin/sysinst/arch/mac68k/menus.md.en: revisions 1.3, 1.4
usr.sbin/sysinst/arch/mac68k/menus.md.es: revisions 1.3, 1.4
usr.sbin/sysinst/arch/mac68k/menus.md.pl: revisions 1.3, 1.4
usr.sbin/sysinst/arch/mvme68k/md.c: revision 1.4
usr.sbin/sysinst/arch/ofppc/md.c: revision 1.3
usr.sbin/sysinst/arch/prep/md.c: revisions 1.3, 1.4
usr.sbin/sysinst/arch/prep/menus.md.en: revision 1.2
usr.sbin/sysinst/arch/x68k/md.c: revision 1.4
usr.sbin/sysinst/configmenu.c: revisions 1.4, 1.5
usr.sbin/sysinst/defs.h: revisions 1.8, 1.9
usr.sbin/sysinst/disks.c: revision 1.9
usr.sbin/sysinst/install.c: revision 1.4
usr.sbin/sysinst/label.c: revision 1.3
usr.sbin/sysinst/mbr.c: revision 1.5
usr.sbin/sysinst/menus.mi: revisions 1.9, 1.10
usr.sbin/sysinst/net.c: revisions 1.18-1.20
usr.sbin/sysinst/partman.c: revision 1.10
usr.sbin/sysinst/upgrade.c: revision 1.4
usr.sbin/sysinst/util.c: revisions 1.6, 1.7
Backout the previous incorrect fix for PR 49440 and redo it more globaly:
get rid of the global "yesno", introduce utility functions "ask_yesno()"
and "ask_noyes()" instead, greatly simplifying a lot of code.
Pass in a pointer to the return value to various "set source" menus.
--
Make it compile on architectures that do not support INET6 in sysinst
--
Remove a few more (ab-)usages of "yesno".
--
More (ab-)usages of "yesno"
--
Make "ask_yesno" and "ask_noyes" take a const char * as argument, moving
the deconst() dance into the utility functions and simplifying all callers.
--
Missed a few more "yesno" in previous
 1.2.2.2 10-Aug-2014  tls Rebase.
 1.2.2.1 03-Aug-2014  tls file md.c was added on branch tls-earlyentropy on 2014-08-10 07:00:27 +0000
 1.5.16.1 13-Apr-2020  martin Mostly merge changes from HEAD upto 20200411
 1.8.2.3 02-Feb-2022  msaitoh Pull up following revision(s) (requested by martin in ticket #1422):
usr.sbin/sysinst/util.c: revision 1.64
usr.sbin/sysinst/arch/hpcsh/md.c: revision 1.11
usr.sbin/sysinst/arch/alpha/md.c: revision 1.10
usr.sbin/sysinst/arch/sparc64/md.c: revision 1.7
usr.sbin/sysinst/arch/emips/md.c: revision 1.10
usr.sbin/sysinst/arch/cobalt/md.c: revision 1.15
usr.sbin/sysinst/arch/x68k/md.c: revision 1.12
usr.sbin/sysinst/arch/sandpoint/md.c: revision 1.10
usr.sbin/sysinst/arch/luna68k/md.c: revision 1.10
usr.sbin/sysinst/arch/hp300/md.c: revision 1.12
usr.sbin/sysinst/arch/vax/md.c: revision 1.8
usr.sbin/sysinst/arch/hpcmips/md.c: revision 1.10
usr.sbin/sysinst/target.c: revision 1.16
usr.sbin/sysinst/arch/mvme68k/md.c: revision 1.12
usr.sbin/sysinst/arch/arc/md.c: revision 1.14
usr.sbin/sysinst/target.c: revision 1.17
usr.sbin/sysinst/arch/i386/md.c: revision 1.34
usr.sbin/sysinst/arch/mac68k/md.c: revision 1.11
usr.sbin/sysinst/arch/atari/md.c: revision 1.8
usr.sbin/sysinst/arch/sgimips/md.c: revision 1.10
usr.sbin/sysinst/arch/acorn32/md.c: revision 1.8
usr.sbin/sysinst/install.c: revision 1.22
usr.sbin/sysinst/arch/amiga/md.c: revision 1.7
usr.sbin/sysinst/arch/cats/md.c: revision 1.6
usr.sbin/sysinst/arch/dummy/md.c: revision 1.7
usr.sbin/sysinst/arch/shark/md.c: revision 1.7
usr.sbin/sysinst/arch/pmax/md.c: revision 1.9
usr.sbin/sysinst/arch/newsmips/md.c: revision 1.7
usr.sbin/sysinst/arch/mipsco/md.c: revision 1.9
usr.sbin/sysinst/arch/landisk/md.c: revision 1.15
usr.sbin/sysinst/arch/hppa/md.c: revision 1.9
usr.sbin/sysinst/arch/prep/md.c: revision 1.14
usr.sbin/sysinst/defs.h: revision 1.77
usr.sbin/sysinst/arch/ofppc/md.c: revision 1.13
usr.sbin/sysinst/arch/ews4800mips/md.c: revision 1.8
usr.sbin/sysinst/defs.h: revision 1.78
usr.sbin/sysinst/arch/macppc/md.c: revision 1.7
usr.sbin/sysinst/arch/evbppc/md.c: revision 1.10
usr.sbin/sysinst/defs.h: revision 1.79
usr.sbin/sysinst/gpt.c: revision 1.27
usr.sbin/sysinst/arch/bebox/md.c: revision 1.10
usr.sbin/sysinst/gpt.c: revision 1.28
usr.sbin/sysinst/arch/sparc/md.c: revision 1.7
usr.sbin/sysinst/arch/evbsh3/md.c: revision 1.7
usr.sbin/sysinst/arch/evbarm/md.c: revision 1.22
usr.sbin/sysinst/arch/news68k/md.c: revision 1.8
usr.sbin/sysinst/upgrade.c: revision 1.19
usr.sbin/sysinst/arch/zaurus/md.c: revision 1.12
usr.sbin/sysinst/arch/playstation2/md.c: revision 1.10
usr.sbin/sysinst/arch/hpcarm/md.c: revision 1.11
usr.sbin/sysinst/arch/evbmips/md.c: revision 1.10
usr.sbin/sysinst/main.c: revision 1.28
Add an option to set the directory where we look for message catalogs.
Try to get rid of all wedges we created (after unmounting).
When upgrading, update the boot code post extraction from
the updated target file system.
Do not defer wedge deletions when we have nothing mounted.
Define and use a constant for maximum disk name length.
 1.8.2.2 15-Oct-2020  bouyer Pull up following revision(s) (requested by martin in ticket #1113):
usr.sbin/sysinst/bsddisklabel.c: revision 1.46
usr.sbin/sysinst/bsddisklabel.c: revision 1.47
usr.sbin/sysinst/disklabel.c: revision 1.40
usr.sbin/sysinst/arch/cobalt/md.c: revision 1.13
usr.sbin/sysinst/bsddisklabel.c: revision 1.48
usr.sbin/sysinst/disklabel.c: revision 1.41
usr.sbin/sysinst/arch/cobalt/md.c: revision 1.14
usr.sbin/sysinst/bsddisklabel.c: revision 1.49
usr.sbin/sysinst/disklabel.c: revision 1.42
usr.sbin/sysinst/Makefile.inc: revision 1.34
usr.sbin/sysinst/disks.c: revision 1.70
usr.sbin/sysinst/arch/hp300/md.c: revision 1.11
usr.sbin/sysinst/disks.c: revision 1.71
usr.sbin/sysinst/arch/i386/md.h: revision 1.8
usr.sbin/sysinst/arch/arc/md.c: revision 1.13
usr.sbin/sysinst/mbr.h: revision 1.5
usr.sbin/sysinst/mbr.h: revision 1.6
usr.sbin/sysinst/arch/mac68k/md.c: revision 1.10
usr.sbin/sysinst/bsddisklabel.c: revision 1.50
usr.sbin/sysinst/arch/acorn32/md.c: revision 1.7
usr.sbin/sysinst/bsddisklabel.c: revision 1.51
usr.sbin/sysinst/bsddisklabel.c: revision 1.52
usr.sbin/sysinst/bsddisklabel.c: revision 1.53
usr.sbin/sysinst/bsddisklabel.c: revision 1.54
usr.sbin/sysinst/bsddisklabel.c: revision 1.55
usr.sbin/sysinst/bsddisklabel.c: revision 1.56
usr.sbin/sysinst/arch/dummy/md.c: revision 1.6
usr.sbin/sysinst/arch/amd64/md.h: revision 1.9
usr.sbin/sysinst/arch/evbsh3/md.c: revision 1.6
usr.sbin/sysinst/arch/sparc/md.c: revision 1.6
usr.sbin/sysinst/arch/zaurus/md.c: revision 1.10
usr.sbin/sysinst/arch/x68k/md.c: revision 1.11
usr.sbin/sysinst/arch/sandpoint/md.c: revision 1.9
usr.sbin/sysinst/arch/vax/md.c: revision 1.7
usr.sbin/sysinst/arch/luna68k/md.c: revision 1.9
usr.sbin/sysinst/gpt.c: revision 1.19
usr.sbin/sysinst/arch/i386/md.c: revision 1.31
usr.sbin/sysinst/arch/i386/md.c: revision 1.32
usr.sbin/sysinst/arch/evbarm/md.c: revision 1.17
usr.sbin/sysinst/arch/evbarm/md.c: revision 1.18
usr.sbin/sysinst/arch/evbarm/md.c: revision 1.19
usr.sbin/sysinst/arch/shark/md.c: revision 1.6
usr.sbin/sysinst/arch/landisk/md.c: revision 1.14
usr.sbin/sysinst/util.c: revision 1.43
usr.sbin/sysinst/gpt.c: revision 1.20
usr.sbin/sysinst/util.c: revision 1.44
usr.sbin/sysinst/gpt.c: revision 1.21
usr.sbin/sysinst/gpt.c: revision 1.22
usr.sbin/sysinst/arch/evbarm/msg.md.en: revision 1.2
usr.sbin/sysinst/arch/ofppc/md.c: revision 1.11
usr.sbin/sysinst/util.c: revision 1.46
usr.sbin/sysinst/arch/ofppc/md.c: revision 1.12
usr.sbin/sysinst/util.c: revision 1.47
usr.sbin/sysinst/arch/evbarm/md.h: revision 1.6
usr.sbin/sysinst/util.c: revision 1.48
usr.sbin/sysinst/arch/evbarm/md.h: revision 1.7
usr.sbin/sysinst/arch/evbmips/md.c: revision 1.9
usr.sbin/sysinst/msg.mi.fr: revision 1.28
usr.sbin/sysinst/msg.mi.fr: revision 1.29
usr.sbin/sysinst/arch/sgimips/md.c: revision 1.9
usr.sbin/sysinst/arch/evbarm/Makefile: revision 1.3
usr.sbin/sysinst/msg.mi.de: revision 1.23
usr.sbin/sysinst/arch/hpcsh/md.c: revision 1.10
usr.sbin/sysinst/msg.mi.de: revision 1.24
usr.sbin/sysinst/install.c: revision 1.15
usr.sbin/sysinst/install.c: revision 1.16
usr.sbin/sysinst/arch/sparc64/md.c: revision 1.6
usr.sbin/sysinst/install.c: revision 1.17
usr.sbin/sysinst/install.c: revision 1.18
usr.sbin/sysinst/partitions.h: revision 1.16
usr.sbin/sysinst/install.c: revision 1.19
usr.sbin/sysinst/partitions.h: revision 1.17
usr.sbin/sysinst/arch/evbppc/md.c: revision 1.9
usr.sbin/sysinst/arch/playstation2/md.c: revision 1.9
usr.sbin/sysinst/partitions.h: revision 1.18
usr.sbin/sysinst/arch/hpcarm/md.c: revision 1.9
usr.sbin/sysinst/partitions.h: revision 1.19
usr.sbin/sysinst/msg.mi.es: revision 1.24
usr.sbin/sysinst/msg.mi.es: revision 1.25
usr.sbin/sysinst/msg.mi.es: revision 1.26
usr.sbin/sysinst/arch/zaurus/md.c: revision 1.9
usr.sbin/sysinst/target.c: revision 1.13
usr.sbin/sysinst/target.c: revision 1.14
usr.sbin/sysinst/part_edit.c: revision 1.17
usr.sbin/sysinst/part_edit.c: revision 1.18
usr.sbin/sysinst/msg.mi.fr: revision 1.30
usr.sbin/sysinst/arch/mvme68k/md.c: revision 1.11
usr.sbin/sysinst/part_edit.c: revision 1.19
usr.sbin/sysinst/msg.mi.fr: revision 1.31
usr.sbin/sysinst/arch/alpha/md.c: revision 1.9
usr.sbin/sysinst/msg.mi.en: revision 1.30
usr.sbin/sysinst/defs.h: revision 1.56
usr.sbin/sysinst/msg.mi.en: revision 1.31
usr.sbin/sysinst/defs.h: revision 1.57
usr.sbin/sysinst/msg.mi.en: revision 1.32
usr.sbin/sysinst/arch/amiga/md.c: revision 1.6
usr.sbin/sysinst/arch/hpcmips/md.c: revision 1.9
usr.sbin/sysinst/defs.h: revision 1.58
usr.sbin/sysinst/arch/cats/md.c: revision 1.5
usr.sbin/sysinst/defs.h: revision 1.59
usr.sbin/sysinst/arch/newsmips/md.c: revision 1.6
usr.sbin/sysinst/arch/pmax/md.c: revision 1.8
usr.sbin/sysinst/arch/mipsco/md.c: revision 1.8
usr.sbin/sysinst/part_edit.c: revision 1.20
usr.sbin/sysinst/part_edit.c: revision 1.21
usr.sbin/sysinst/arch/macppc/md.c: revision 1.6
usr.sbin/sysinst/part_edit.c: revision 1.22
usr.sbin/sysinst/part_edit.c: revision 1.23
usr.sbin/sysinst/part_edit.c: revision 1.24
usr.sbin/sysinst/defs.h: revision 1.60
usr.sbin/sysinst/arch/mac68k/Makefile: revision 1.3
usr.sbin/sysinst/defs.h: revision 1.61
usr.sbin/sysinst/defs.h: revision 1.63
usr.sbin/sysinst/defs.h: revision 1.64
usr.sbin/sysinst/defs.h: revision 1.65
usr.sbin/sysinst/label.c: revision 1.21
usr.sbin/sysinst/defs.h: revision 1.66
usr.sbin/sysinst/label.c: revision 1.22
usr.sbin/sysinst/defs.h: revision 1.67
usr.sbin/sysinst/label.c: revision 1.23
usr.sbin/sysinst/label.c: revision 1.24
usr.sbin/sysinst/label.c: revision 1.25
usr.sbin/sysinst/label.c: revision 1.26
usr.sbin/sysinst/label.c: revision 1.27
usr.sbin/sysinst/msg.mi.pl: revision 1.31
usr.sbin/sysinst/label.c: revision 1.28
usr.sbin/sysinst/msg.mi.pl: revision 1.32
usr.sbin/sysinst/label.c: revision 1.29
usr.sbin/sysinst/arch/atari/md.c: revision 1.7
usr.sbin/sysinst/disklabel.c: revision 1.36
usr.sbin/sysinst/disklabel.c: revision 1.37
usr.sbin/sysinst/disklabel.c: revision 1.38
usr.sbin/sysinst/disklabel.c: revision 1.39
usr.sbin/sysinst/arch/bebox/md.c: revision 1.9
usr.sbin/sysinst/mbr.c: revision 1.32
usr.sbin/sysinst/disks.c: revision 1.66
usr.sbin/sysinst/mbr.c: revision 1.33
usr.sbin/sysinst/disks.c: revision 1.67
usr.sbin/sysinst/mbr.c: revision 1.34
usr.sbin/sysinst/arch/emips/md.c: revision 1.9
usr.sbin/sysinst/disks.c: revision 1.68
usr.sbin/sysinst/partitions.c: revision 1.11
usr.sbin/sysinst/mbr.c: revision 1.35
usr.sbin/sysinst/disks.c: revision 1.69
usr.sbin/sysinst/mbr.c: revision 1.36
usr.sbin/sysinst/arch/hppa/md.c: revision 1.8
usr.sbin/sysinst/arch/prep/md.c: revision 1.13
usr.sbin/sysinst/label.c: revision 1.30
usr.sbin/sysinst/arch/ews4800mips/md.c: revision 1.7
usr.sbin/sysinst/main.c: revision 1.21
usr.sbin/sysinst/main.c: revision 1.22
usr.sbin/sysinst/main.c: revision 1.23
usr.sbin/sysinst/bsddisklabel.c: revision 1.40
usr.sbin/sysinst/main.c: revision 1.24
usr.sbin/sysinst/arch/cobalt/md.h: revision 1.6
usr.sbin/sysinst/bsddisklabel.c: revision 1.41
usr.sbin/sysinst/main.c: revision 1.25
usr.sbin/sysinst/arch/news68k/md.c: revision 1.7
usr.sbin/sysinst/bsddisklabel.c: revision 1.42
usr.sbin/sysinst/bsddisklabel.c: revision 1.43
usr.sbin/sysinst/bsddisklabel.c: revision 1.44
usr.sbin/sysinst/bsddisklabel.c: revision 1.45
Use strlcpy in a few places to guarnatee 0-terminated strings
Rever previous: the d_packname in struct disklabel is not NUL terminated.
Disable the warning instead.
Do not force -Os optimization (unless SMALLPROG)
Remove unused "rel" global variable and make the -r option a no-op.
PR 55045: strlcpy(NULL, ..., 0) considered harmfull in some implementations.
PR misc/54886: bump threshold for automatic/default creation of a tmpfs /tmp
up slightly (to 384 MB ram). This will make sure the default install has
a > 64 MB /tmp available (number pulled out of thin air, 64 MB is the minimum
required by the ZFS tests).
Don't depend on common symbol definitions.
boardype should not be common.
Redo the root-size-limit check again after we grew the root partition
for kernel dumps. Auto-enable the /usr partition if it overflows.
For all non-root partitions, default to FFSv2.
When extending a partition (to fill the total disk size) do respect
size limits.
Do not suggest a size limited partition for extension by default.
Minor tweak to previous: when forcing a /usr partition just to have an
arbitrary extendable partition, still use its default size initially.
At the end of a new installation save entropy.
Ooops, backout previous - twice the entropy saving is not needed.
Instead slightly improve the (slightly) hidden other code that already
did it.
PR 55202: disable swapping if we started it due to low ram
it's "its"
Remove "If you booted from a floppy" message
Set HAVE_INSTALL_IMAGE for evbarm
Change mountpoint of boot ext2fs from /stand to /ext2 to avoid conflict.
Should be pulled up to netbsd-9, with fixes of PR/55060.
MBR type for Ext2 should be MBR_PTYPE_LNXEXT2, not MBR_PTYPE_FAT12.
Silence -Wstringop-truncation for ``name'' in disp_selected_part().
This variable is used only for display, and truncation seems harmless.
PR 55572: avoid crash when answering the mount point prompt for a previously
empty mount point with an emptry sting.
When adding a new partition in the concrete partition editor, make sure
to set a pointer to the partition table interface in the new entry.
Otherwise we may end up not writing back the partitions at all, leading
to further fallout later.
Receipe to reproduce the issue from Frederic Fauberteau, thanks!
In the concrete partitions editor, after deleting the last partition move
the menu selection to the "add a partition" entry (instead of the sentinel
line which is not an active menu entry).
Typo in comment
Keep a list of all partition tables from which we have deleted partitions
and make sure we update those partition tables when writing partitions,
even if no install related partition remains on them.
Fix display of timezone selection menu
If there is no current partitioning manager assume we are editing the
current system and make target_already_root() return true.
Fixes various fallout when using sysinst post installation.
PR 55377: mark boot partitions in the partition size display, as suggested
by Izumi Tsutsui (minor modifications + all bugs by me)
PR 55378: do not assume RAW_PART to be either 2 or 3
PR 55379: avoid creating bogus /etc/fstab lines for /dev/cd* if no
cdrom is available.
PR 55381: try to deal with moved (but not yet saved) partitions when
calculating free space
Apply patch provided by Izumi Tsutsui in PR 55382: make ext2 partitions
show up in the outer (MBR) partition table, needed for example on Cobalt
where firmware boots from that partition.
PR 55384: detangle pm->ptstart from the "install" flag (selecting a
target partition). Instead introduce a new PTI_INSTALL_TARGET per partition
flag and deal with it in the partitioning backends.
Honour pm->ptstart when allocating new partitions - it is supposed to be
the first sector usable by NetBSD.
If we have no explicitly marke target root partition, make sure to set
the proper flag on the implicit one.
When merging existing partitions with desired target system layout
information, only force the "mount" flag if the existing partitions
has a valid mount point.
Add a heuristic to detect and properly mark EFI system partitions
when re-using pre-existing partitions.
When MD code requests a reserved area (at the start of the disk)
make sure to properly account for the "lost" space during all calculations
and especially when expanding the main partition to fill the disk.
Avoid using the global "pm" or a passed device descriptons when we are
passing disk limits explicitly anyway.
Simplify/fix a few rounding calculations.
When creating new partitions for "full disk" use, pass a install target
hint to the partitioning backend (for the outer NetBSD partition).
Use an install target hint to mark a new partition active.
When compiled with BOOTSEL support, also name the new partition "NetBSD".
Remove more pm->ptstart abuse - calculate values localy where needed
instead.
Fix editing start and size of not yet existing outer partitions.
Previously we abused pm->ptstart / pm->ptsize to pass the bounds of the
NetBSD outer partition to the inner partition editor - but now this is
not a valid assumption any more, so explicitly fix the bounds if an
outer partition exists.
Remove very strange code that special-cased MSDOS file systems and refused
to newfs the partition (despite explicit request to do so) if it was
mountable.
Accidently carried over from a dim and distant past, before we had
fsck_newfs.
PR 55536: when we find existing partition tables and have alternative
formats available, offer to delete partitions and create new ones from
scratch (in some other or the same on-disk format).
Minor fix to previous: fix condition when we offer the partition type
switch - it makes sense even if the disk is partitioned but has no valid
partitions.
Before forcing MBR partitions into our disklabel, make sure they are not
there yet - could happen in various paths when reusing existing partitions
(or parts of that) - previously we would blindly duplicate identical
partitions.
Ooops, part of previous was not meant to be included yet
When renumbering partitions (after deletions) be slightly more lax
in matching, to cope with differences between MBR EFI partitions and
disklabel MSDOS partitions.
PR 55142: on popular demand bring back expert options to adjust the
number of free inodes, block size and fragment size for FFS and LFS.
Fix copy & pasto noticed by Jason Mitchell: change the type of a GPT
partition via "gpt type" - not "gpt label".
Fix copy & pasto (missing "again" label)
Remove dead code
Move MBR writing (if any) post disklabel writing, otherwise strange
interactions happen.
Properly convert partition default sizes in MB to number of sectors
 1.8.2.1 10-Feb-2020  bouyer Pull up following revision(s) (requested by martin in ticket #693):
usr.sbin/sysinst/arch/x68k/msg.md.en: revision 1.2
usr.sbin/sysinst/arch/x68k/md.c: revision 1.10
usr.sbin/sysinst/arch/mvme68k/msg.md.fr: revision 1.2
usr.sbin/sysinst/arch/x68k/msg.md.en: revision 1.3
usr.sbin/sysinst/arch/mvme68k/msg.md.fr: revision 1.3
usr.sbin/sysinst/msg.mi.en: revision 1.28
usr.sbin/sysinst/arch/hp300/md.c: revision 1.10
usr.sbin/sysinst/msg.mi.es: revision 1.22
usr.sbin/sysinst/target.c: revision 1.12
usr.sbin/sysinst/arch/mvme68k/md.c: revision 1.10
usr.sbin/sysinst/arch/i386/md.c: revision 1.30
usr.sbin/sysinst/arch/mvme68k/msg.md.pl: revision 1.2
usr.sbin/sysinst/arch/mvme68k/msg.md.pl: revision 1.3
usr.sbin/sysinst/bsddisklabel.c: revision 1.39
usr.sbin/sysinst/arch/mvme68k/msg.md.de: revision 1.2
usr.sbin/sysinst/arch/mac68k/md.c: revision 1.9
usr.sbin/sysinst/disklabel.c: revision 1.35
usr.sbin/sysinst/arch/mvme68k/msg.md.de: revision 1.3
usr.sbin/sysinst/defs.h: revision 1.55
usr.sbin/sysinst/disks.c: revision 1.63
usr.sbin/sysinst/disks.c: revision 1.64
usr.sbin/sysinst/mbr.c: revision 1.31
usr.sbin/sysinst/disks.c: revision 1.65
usr.sbin/sysinst/txtwalk.c: revision 1.3
usr.sbin/sysinst/txtwalk.c: revision 1.4
usr.sbin/sysinst/arch/mvme68k/msg.md.en: revision 1.2
usr.sbin/sysinst/arch/mvme68k/msg.md.en: revision 1.3
usr.sbin/sysinst/msg.mi.fr: revision 1.26
usr.sbin/sysinst/msg.mi.pl: revision 1.29
usr.sbin/sysinst/arch/mvme68k/msg.md.es: revision 1.2
usr.sbin/sysinst/upgrade.c: revision 1.15
usr.sbin/sysinst/arch/mvme68k/msg.md.es: revision 1.3
usr.sbin/sysinst/upgrade.c: revision 1.16
usr.sbin/sysinst/partman.c: revision 1.50
usr.sbin/sysinst/msg.mi.de: revision 1.21
remove unused "emptypart" message (or moved to ifdef notyet area)
PR install/54921: message "ordering" takes a %s argument.
PR install/54921: skip non-user partitions when checking for overlaps
bootxx_name() - fix oversight in previous change (do not assume first
partition is the root partition)
PR install/54934: always use -f on the installboot invocation. We come
here post-newfs (and maybe should have dd'd zeros to the start of the
disk before newfs instead).
Remove a bogus assert: when reading disklabel partitions and the outer
(MBR) partitioning has changed, but the changes have not yet been written
back to disk, we need to ignore the kernels idea of the disklabel and
instead continue with an empty one.
Deal with partitioning schemes having no inner counterpart.
Avoid NULL derefs.
Do not assum a partitioning scheme that supports innner partitions always
needs to actually have such partitions defined.
PR bin/54944: deal with escaped spaces in NAME= syntax in /etc/fstab.
PR bin/54944: explicitly reject GPT protective MBRs.
PR bin/54944: make the "explicit single wedge" selection also work for
upgrades.
Reformat a query to add an automatically detected swap partition
so it fits on narrow screens.
Make re-install sets also work for an explicit selected root wedge
Fix copy&pasto in previous - from kre.
Only a single partition can ever have the "extend" flag (grow to available
size).
Do not use -P for tar extractions - the in tree tar has been fixed.
Finish conversion to generic partitioning backend
 1.12.4.1 02-Aug-2025  perseant Sync with HEAD
 1.2 18-Nov-2018  martin More size estimate fixes
 1.1 26-Jul-2014  dholland branches: 1.1.2; 1.1.6; 1.1.26; 1.1.28;
Move sysinst sources to usr.sbin.

This commit only physically moves the sources - there are no other
changes, to maximize the probability that this will be treated as a
rename if we ever do manage to migrate away from CVS.

Moving sysinst has been discussed on and off for years and has two
goals: making it easier to work on sysinst, and also making sysinst
available on running systems for use installing chroots and VM images
and other such things. None of the latter is possible yet, but as they
say, one thing at a time.

Doing this now was approved in an impromptu fashion by mrg, riz,
riastradh, me, and groo.
 1.1.28.1 10-Jun-2019  christos Sync with HEAD
 1.1.26.1 26-Nov-2018  pgoyette Sync with HEAD, resolve a couple of conflicts
 1.1.6.2 20-Aug-2014  tls Rebase to HEAD as of a few days ago.
 1.1.6.1 26-Jul-2014  tls file md.h was added on branch tls-maxphys on 2014-08-20 00:05:16 +0000
 1.1.2.2 10-Aug-2014  tls Rebase.
 1.1.2.1 26-Jul-2014  tls file md.h was added on branch tls-earlyentropy on 2014-08-10 07:00:27 +0000
 1.7 24-Jul-2021  andvar Fix all remaining typos, mainly in comments but also in few definitions and log messages, reported by me in PR kern/54889.
Also fixed some additional typos in comments, found on review of same files or typos.
 1.6 20-Jun-2019  christos Use _fmt_ msg_ methods when formats are needed.
 1.5 12-Jun-2019  martin Rework internal data structures and "interfaces to user interface" functions
to get rid of all disklabel assumptions.

Previously (even for GPT partitioning) struct disklabel was used, which
obviously breaks large disk setups. Also many MD parts and parts of the
user interface assumed (a) a struct disklabel is used internally to
store partitioning information and (b) partitions are named 'a' ... $MAXPART.

Get rid of this and replace it with a quite abstract interface that should
be able to deal with all variants in partition storage:

- partitions are stored in a (partly abstract) struct disk_partitions
and most parts of it are only accessed via accessor functions provided
by a "partitioning scheme".

- implement partitioning schemes for MBR, disklabel and GPT (with likely
RDB [amiga] and Apple Partition Map [mac*] to follow soon)

- partitioning schemes may be cascaded, e.g. on x86 when using MBR as
"outer partitions", we have disklabel as "inner partitions".

- all user interface goes via accessor functions in the partitioning scheme,
some of which return pointers to special user interface descriptors
(e.g. to allow editing partition flags, which are scheme specific)

Overall the user interface changes (in this initial step) are minimal but
noticable. A new Anita is needed for automatic test setups - many thanks
to Andreas Gustafsson for lots of early testing and a new Anita version,
and to Manuel Bouyer for cooperation and tests of the Anita release.

This work was sponsored by The NetBSD Foundation, Inc.
 1.4 11-May-2015  martin branches: 1.4.16;
Missed a few more "yesno" in previous
 1.3 11-May-2015  martin Remove a few more (ab-)usages of "yesno".
 1.2 03-Aug-2014  martin branches: 1.2.2; 1.2.4; 1.2.6;
(Finally) merge a slightly modified version of the 2012 GSoC results
from Eugene Lozovoy: add extended partitioning options to sysinst.
Still needs some testing and polishing, but it now is possible to use GPT
or to create a RAID set from scratch and install onto it.
 1.1 26-Jul-2014  dholland Move sysinst sources to usr.sbin.

This commit only physically moves the sources - there are no other
changes, to maximize the probability that this will be treated as a
rename if we ever do manage to migrate away from CVS.

Moving sysinst has been discussed on and off for years and has two
goals: making it easier to work on sysinst, and also making sysinst
available on running systems for use installing chroots and VM images
and other such things. None of the latter is possible yet, but as they
say, one thing at a time.

Doing this now was approved in an impromptu fashion by mrg, riz,
riastradh, me, and groo.
 1.2.6.2 20-Aug-2014  tls Rebase to HEAD as of a few days ago.
 1.2.6.1 03-Aug-2014  tls file menus.md.de was added on branch tls-maxphys on 2014-08-20 00:05:16 +0000
 1.2.4.1 14-May-2015  snj Pull up following revision(s) (requested by martin in ticket #756):
usr.sbin/sysinst/arch/arc/md.c: revision 1.4
usr.sbin/sysinst/arch/atari/md.c: revision 1.3
usr.sbin/sysinst/arch/cobalt/md.c: revision 1.4
usr.sbin/sysinst/arch/emips/md.c: revision 1.3
usr.sbin/sysinst/arch/evbarm/md.c: revision 1.4
usr.sbin/sysinst/arch/evbarm64/md.c: revision 1.2
usr.sbin/sysinst/arch/hp300/md.c: revision 1.4
usr.sbin/sysinst/arch/i386/md.c: revision 1.6
usr.sbin/sysinst/arch/mac68k/md.c: revision 1.3
usr.sbin/sysinst/arch/mac68k/md.c: revision 1.4
usr.sbin/sysinst/arch/mac68k/menus.md.de: revisions 1.3, 1.4
usr.sbin/sysinst/arch/mac68k/menus.md.en: revisions 1.3, 1.4
usr.sbin/sysinst/arch/mac68k/menus.md.es: revisions 1.3, 1.4
usr.sbin/sysinst/arch/mac68k/menus.md.pl: revisions 1.3, 1.4
usr.sbin/sysinst/arch/mvme68k/md.c: revision 1.4
usr.sbin/sysinst/arch/ofppc/md.c: revision 1.3
usr.sbin/sysinst/arch/prep/md.c: revisions 1.3, 1.4
usr.sbin/sysinst/arch/prep/menus.md.en: revision 1.2
usr.sbin/sysinst/arch/x68k/md.c: revision 1.4
usr.sbin/sysinst/configmenu.c: revisions 1.4, 1.5
usr.sbin/sysinst/defs.h: revisions 1.8, 1.9
usr.sbin/sysinst/disks.c: revision 1.9
usr.sbin/sysinst/install.c: revision 1.4
usr.sbin/sysinst/label.c: revision 1.3
usr.sbin/sysinst/mbr.c: revision 1.5
usr.sbin/sysinst/menus.mi: revisions 1.9, 1.10
usr.sbin/sysinst/net.c: revisions 1.18-1.20
usr.sbin/sysinst/partman.c: revision 1.10
usr.sbin/sysinst/upgrade.c: revision 1.4
usr.sbin/sysinst/util.c: revisions 1.6, 1.7
Backout the previous incorrect fix for PR 49440 and redo it more globaly:
get rid of the global "yesno", introduce utility functions "ask_yesno()"
and "ask_noyes()" instead, greatly simplifying a lot of code.
Pass in a pointer to the return value to various "set source" menus.
--
Make it compile on architectures that do not support INET6 in sysinst
--
Remove a few more (ab-)usages of "yesno".
--
More (ab-)usages of "yesno"
--
Make "ask_yesno" and "ask_noyes" take a const char * as argument, moving
the deconst() dance into the utility functions and simplifying all callers.
--
Missed a few more "yesno" in previous
 1.2.2.2 10-Aug-2014  tls Rebase.
 1.2.2.1 03-Aug-2014  tls file menus.md.de was added on branch tls-earlyentropy on 2014-08-10 07:00:27 +0000
 1.4.16.1 13-Apr-2020  martin Mostly merge changes from HEAD upto 20200411
 1.7 24-Jul-2021  andvar Fix all remaining typos, mainly in comments but also in few definitions and log messages, reported by me in PR kern/54889.
Also fixed some additional typos in comments, found on review of same files or typos.
 1.6 20-Jun-2019  christos Use _fmt_ msg_ methods when formats are needed.
 1.5 12-Jun-2019  martin Rework internal data structures and "interfaces to user interface" functions
to get rid of all disklabel assumptions.

Previously (even for GPT partitioning) struct disklabel was used, which
obviously breaks large disk setups. Also many MD parts and parts of the
user interface assumed (a) a struct disklabel is used internally to
store partitioning information and (b) partitions are named 'a' ... $MAXPART.

Get rid of this and replace it with a quite abstract interface that should
be able to deal with all variants in partition storage:

- partitions are stored in a (partly abstract) struct disk_partitions
and most parts of it are only accessed via accessor functions provided
by a "partitioning scheme".

- implement partitioning schemes for MBR, disklabel and GPT (with likely
RDB [amiga] and Apple Partition Map [mac*] to follow soon)

- partitioning schemes may be cascaded, e.g. on x86 when using MBR as
"outer partitions", we have disklabel as "inner partitions".

- all user interface goes via accessor functions in the partitioning scheme,
some of which return pointers to special user interface descriptors
(e.g. to allow editing partition flags, which are scheme specific)

Overall the user interface changes (in this initial step) are minimal but
noticable. A new Anita is needed for automatic test setups - many thanks
to Andreas Gustafsson for lots of early testing and a new Anita version,
and to Manuel Bouyer for cooperation and tests of the Anita release.

This work was sponsored by The NetBSD Foundation, Inc.
 1.4 11-May-2015  martin branches: 1.4.16;
Missed a few more "yesno" in previous
 1.3 11-May-2015  martin Remove a few more (ab-)usages of "yesno".
 1.2 03-Aug-2014  martin branches: 1.2.2; 1.2.4; 1.2.6;
(Finally) merge a slightly modified version of the 2012 GSoC results
from Eugene Lozovoy: add extended partitioning options to sysinst.
Still needs some testing and polishing, but it now is possible to use GPT
or to create a RAID set from scratch and install onto it.
 1.1 26-Jul-2014  dholland Move sysinst sources to usr.sbin.

This commit only physically moves the sources - there are no other
changes, to maximize the probability that this will be treated as a
rename if we ever do manage to migrate away from CVS.

Moving sysinst has been discussed on and off for years and has two
goals: making it easier to work on sysinst, and also making sysinst
available on running systems for use installing chroots and VM images
and other such things. None of the latter is possible yet, but as they
say, one thing at a time.

Doing this now was approved in an impromptu fashion by mrg, riz,
riastradh, me, and groo.
 1.2.6.2 20-Aug-2014  tls Rebase to HEAD as of a few days ago.
 1.2.6.1 03-Aug-2014  tls file menus.md.en was added on branch tls-maxphys on 2014-08-20 00:05:16 +0000
 1.2.4.1 14-May-2015  snj Pull up following revision(s) (requested by martin in ticket #756):
usr.sbin/sysinst/arch/arc/md.c: revision 1.4
usr.sbin/sysinst/arch/atari/md.c: revision 1.3
usr.sbin/sysinst/arch/cobalt/md.c: revision 1.4
usr.sbin/sysinst/arch/emips/md.c: revision 1.3
usr.sbin/sysinst/arch/evbarm/md.c: revision 1.4
usr.sbin/sysinst/arch/evbarm64/md.c: revision 1.2
usr.sbin/sysinst/arch/hp300/md.c: revision 1.4
usr.sbin/sysinst/arch/i386/md.c: revision 1.6
usr.sbin/sysinst/arch/mac68k/md.c: revision 1.3
usr.sbin/sysinst/arch/mac68k/md.c: revision 1.4
usr.sbin/sysinst/arch/mac68k/menus.md.de: revisions 1.3, 1.4
usr.sbin/sysinst/arch/mac68k/menus.md.en: revisions 1.3, 1.4
usr.sbin/sysinst/arch/mac68k/menus.md.es: revisions 1.3, 1.4
usr.sbin/sysinst/arch/mac68k/menus.md.pl: revisions 1.3, 1.4
usr.sbin/sysinst/arch/mvme68k/md.c: revision 1.4
usr.sbin/sysinst/arch/ofppc/md.c: revision 1.3
usr.sbin/sysinst/arch/prep/md.c: revisions 1.3, 1.4
usr.sbin/sysinst/arch/prep/menus.md.en: revision 1.2
usr.sbin/sysinst/arch/x68k/md.c: revision 1.4
usr.sbin/sysinst/configmenu.c: revisions 1.4, 1.5
usr.sbin/sysinst/defs.h: revisions 1.8, 1.9
usr.sbin/sysinst/disks.c: revision 1.9
usr.sbin/sysinst/install.c: revision 1.4
usr.sbin/sysinst/label.c: revision 1.3
usr.sbin/sysinst/mbr.c: revision 1.5
usr.sbin/sysinst/menus.mi: revisions 1.9, 1.10
usr.sbin/sysinst/net.c: revisions 1.18-1.20
usr.sbin/sysinst/partman.c: revision 1.10
usr.sbin/sysinst/upgrade.c: revision 1.4
usr.sbin/sysinst/util.c: revisions 1.6, 1.7
Backout the previous incorrect fix for PR 49440 and redo it more globaly:
get rid of the global "yesno", introduce utility functions "ask_yesno()"
and "ask_noyes()" instead, greatly simplifying a lot of code.
Pass in a pointer to the return value to various "set source" menus.
--
Make it compile on architectures that do not support INET6 in sysinst
--
Remove a few more (ab-)usages of "yesno".
--
More (ab-)usages of "yesno"
--
Make "ask_yesno" and "ask_noyes" take a const char * as argument, moving
the deconst() dance into the utility functions and simplifying all callers.
--
Missed a few more "yesno" in previous
 1.2.2.2 10-Aug-2014  tls Rebase.
 1.2.2.1 03-Aug-2014  tls file menus.md.en was added on branch tls-earlyentropy on 2014-08-10 07:00:27 +0000
 1.4.16.1 13-Apr-2020  martin Mostly merge changes from HEAD upto 20200411
 1.7 24-Jul-2021  andvar Fix all remaining typos, mainly in comments but also in few definitions and log messages, reported by me in PR kern/54889.
Also fixed some additional typos in comments, found on review of same files or typos.
 1.6 20-Jun-2019  christos Use _fmt_ msg_ methods when formats are needed.
 1.5 12-Jun-2019  martin Rework internal data structures and "interfaces to user interface" functions
to get rid of all disklabel assumptions.

Previously (even for GPT partitioning) struct disklabel was used, which
obviously breaks large disk setups. Also many MD parts and parts of the
user interface assumed (a) a struct disklabel is used internally to
store partitioning information and (b) partitions are named 'a' ... $MAXPART.

Get rid of this and replace it with a quite abstract interface that should
be able to deal with all variants in partition storage:

- partitions are stored in a (partly abstract) struct disk_partitions
and most parts of it are only accessed via accessor functions provided
by a "partitioning scheme".

- implement partitioning schemes for MBR, disklabel and GPT (with likely
RDB [amiga] and Apple Partition Map [mac*] to follow soon)

- partitioning schemes may be cascaded, e.g. on x86 when using MBR as
"outer partitions", we have disklabel as "inner partitions".

- all user interface goes via accessor functions in the partitioning scheme,
some of which return pointers to special user interface descriptors
(e.g. to allow editing partition flags, which are scheme specific)

Overall the user interface changes (in this initial step) are minimal but
noticable. A new Anita is needed for automatic test setups - many thanks
to Andreas Gustafsson for lots of early testing and a new Anita version,
and to Manuel Bouyer for cooperation and tests of the Anita release.

This work was sponsored by The NetBSD Foundation, Inc.
 1.4 11-May-2015  martin branches: 1.4.16;
Missed a few more "yesno" in previous
 1.3 11-May-2015  martin Remove a few more (ab-)usages of "yesno".
 1.2 03-Aug-2014  martin branches: 1.2.2; 1.2.4; 1.2.6;
(Finally) merge a slightly modified version of the 2012 GSoC results
from Eugene Lozovoy: add extended partitioning options to sysinst.
Still needs some testing and polishing, but it now is possible to use GPT
or to create a RAID set from scratch and install onto it.
 1.1 26-Jul-2014  dholland Move sysinst sources to usr.sbin.

This commit only physically moves the sources - there are no other
changes, to maximize the probability that this will be treated as a
rename if we ever do manage to migrate away from CVS.

Moving sysinst has been discussed on and off for years and has two
goals: making it easier to work on sysinst, and also making sysinst
available on running systems for use installing chroots and VM images
and other such things. None of the latter is possible yet, but as they
say, one thing at a time.

Doing this now was approved in an impromptu fashion by mrg, riz,
riastradh, me, and groo.
 1.2.6.2 20-Aug-2014  tls Rebase to HEAD as of a few days ago.
 1.2.6.1 03-Aug-2014  tls file menus.md.es was added on branch tls-maxphys on 2014-08-20 00:05:16 +0000
 1.2.4.1 14-May-2015  snj Pull up following revision(s) (requested by martin in ticket #756):
usr.sbin/sysinst/arch/arc/md.c: revision 1.4
usr.sbin/sysinst/arch/atari/md.c: revision 1.3
usr.sbin/sysinst/arch/cobalt/md.c: revision 1.4
usr.sbin/sysinst/arch/emips/md.c: revision 1.3
usr.sbin/sysinst/arch/evbarm/md.c: revision 1.4
usr.sbin/sysinst/arch/evbarm64/md.c: revision 1.2
usr.sbin/sysinst/arch/hp300/md.c: revision 1.4
usr.sbin/sysinst/arch/i386/md.c: revision 1.6
usr.sbin/sysinst/arch/mac68k/md.c: revision 1.3
usr.sbin/sysinst/arch/mac68k/md.c: revision 1.4
usr.sbin/sysinst/arch/mac68k/menus.md.de: revisions 1.3, 1.4
usr.sbin/sysinst/arch/mac68k/menus.md.en: revisions 1.3, 1.4
usr.sbin/sysinst/arch/mac68k/menus.md.es: revisions 1.3, 1.4
usr.sbin/sysinst/arch/mac68k/menus.md.pl: revisions 1.3, 1.4
usr.sbin/sysinst/arch/mvme68k/md.c: revision 1.4
usr.sbin/sysinst/arch/ofppc/md.c: revision 1.3
usr.sbin/sysinst/arch/prep/md.c: revisions 1.3, 1.4
usr.sbin/sysinst/arch/prep/menus.md.en: revision 1.2
usr.sbin/sysinst/arch/x68k/md.c: revision 1.4
usr.sbin/sysinst/configmenu.c: revisions 1.4, 1.5
usr.sbin/sysinst/defs.h: revisions 1.8, 1.9
usr.sbin/sysinst/disks.c: revision 1.9
usr.sbin/sysinst/install.c: revision 1.4
usr.sbin/sysinst/label.c: revision 1.3
usr.sbin/sysinst/mbr.c: revision 1.5
usr.sbin/sysinst/menus.mi: revisions 1.9, 1.10
usr.sbin/sysinst/net.c: revisions 1.18-1.20
usr.sbin/sysinst/partman.c: revision 1.10
usr.sbin/sysinst/upgrade.c: revision 1.4
usr.sbin/sysinst/util.c: revisions 1.6, 1.7
Backout the previous incorrect fix for PR 49440 and redo it more globaly:
get rid of the global "yesno", introduce utility functions "ask_yesno()"
and "ask_noyes()" instead, greatly simplifying a lot of code.
Pass in a pointer to the return value to various "set source" menus.
--
Make it compile on architectures that do not support INET6 in sysinst
--
Remove a few more (ab-)usages of "yesno".
--
More (ab-)usages of "yesno"
--
Make "ask_yesno" and "ask_noyes" take a const char * as argument, moving
the deconst() dance into the utility functions and simplifying all callers.
--
Missed a few more "yesno" in previous
 1.2.2.2 10-Aug-2014  tls Rebase.
 1.2.2.1 03-Aug-2014  tls file menus.md.es was added on branch tls-earlyentropy on 2014-08-10 07:00:27 +0000
 1.4.16.1 13-Apr-2020  martin Mostly merge changes from HEAD upto 20200411
 1.7 24-Jul-2021  andvar Fix all remaining typos, mainly in comments but also in few definitions and log messages, reported by me in PR kern/54889.
Also fixed some additional typos in comments, found on review of same files or typos.
 1.6 20-Jun-2019  christos Use _fmt_ msg_ methods when formats are needed.
 1.5 12-Jun-2019  martin Rework internal data structures and "interfaces to user interface" functions
to get rid of all disklabel assumptions.

Previously (even for GPT partitioning) struct disklabel was used, which
obviously breaks large disk setups. Also many MD parts and parts of the
user interface assumed (a) a struct disklabel is used internally to
store partitioning information and (b) partitions are named 'a' ... $MAXPART.

Get rid of this and replace it with a quite abstract interface that should
be able to deal with all variants in partition storage:

- partitions are stored in a (partly abstract) struct disk_partitions
and most parts of it are only accessed via accessor functions provided
by a "partitioning scheme".

- implement partitioning schemes for MBR, disklabel and GPT (with likely
RDB [amiga] and Apple Partition Map [mac*] to follow soon)

- partitioning schemes may be cascaded, e.g. on x86 when using MBR as
"outer partitions", we have disklabel as "inner partitions".

- all user interface goes via accessor functions in the partitioning scheme,
some of which return pointers to special user interface descriptors
(e.g. to allow editing partition flags, which are scheme specific)

Overall the user interface changes (in this initial step) are minimal but
noticable. A new Anita is needed for automatic test setups - many thanks
to Andreas Gustafsson for lots of early testing and a new Anita version,
and to Manuel Bouyer for cooperation and tests of the Anita release.

This work was sponsored by The NetBSD Foundation, Inc.
 1.4 11-May-2015  martin branches: 1.4.16;
Missed a few more "yesno" in previous
 1.3 11-May-2015  martin Remove a few more (ab-)usages of "yesno".
 1.2 03-Aug-2014  martin branches: 1.2.2; 1.2.4; 1.2.6;
(Finally) merge a slightly modified version of the 2012 GSoC results
from Eugene Lozovoy: add extended partitioning options to sysinst.
Still needs some testing and polishing, but it now is possible to use GPT
or to create a RAID set from scratch and install onto it.
 1.1 26-Jul-2014  dholland Move sysinst sources to usr.sbin.

This commit only physically moves the sources - there are no other
changes, to maximize the probability that this will be treated as a
rename if we ever do manage to migrate away from CVS.

Moving sysinst has been discussed on and off for years and has two
goals: making it easier to work on sysinst, and also making sysinst
available on running systems for use installing chroots and VM images
and other such things. None of the latter is possible yet, but as they
say, one thing at a time.

Doing this now was approved in an impromptu fashion by mrg, riz,
riastradh, me, and groo.
 1.2.6.2 20-Aug-2014  tls Rebase to HEAD as of a few days ago.
 1.2.6.1 03-Aug-2014  tls file menus.md.pl was added on branch tls-maxphys on 2014-08-20 00:05:16 +0000
 1.2.4.1 14-May-2015  snj Pull up following revision(s) (requested by martin in ticket #756):
usr.sbin/sysinst/arch/arc/md.c: revision 1.4
usr.sbin/sysinst/arch/atari/md.c: revision 1.3
usr.sbin/sysinst/arch/cobalt/md.c: revision 1.4
usr.sbin/sysinst/arch/emips/md.c: revision 1.3
usr.sbin/sysinst/arch/evbarm/md.c: revision 1.4
usr.sbin/sysinst/arch/evbarm64/md.c: revision 1.2
usr.sbin/sysinst/arch/hp300/md.c: revision 1.4
usr.sbin/sysinst/arch/i386/md.c: revision 1.6
usr.sbin/sysinst/arch/mac68k/md.c: revision 1.3
usr.sbin/sysinst/arch/mac68k/md.c: revision 1.4
usr.sbin/sysinst/arch/mac68k/menus.md.de: revisions 1.3, 1.4
usr.sbin/sysinst/arch/mac68k/menus.md.en: revisions 1.3, 1.4
usr.sbin/sysinst/arch/mac68k/menus.md.es: revisions 1.3, 1.4
usr.sbin/sysinst/arch/mac68k/menus.md.pl: revisions 1.3, 1.4
usr.sbin/sysinst/arch/mvme68k/md.c: revision 1.4
usr.sbin/sysinst/arch/ofppc/md.c: revision 1.3
usr.sbin/sysinst/arch/prep/md.c: revisions 1.3, 1.4
usr.sbin/sysinst/arch/prep/menus.md.en: revision 1.2
usr.sbin/sysinst/arch/x68k/md.c: revision 1.4
usr.sbin/sysinst/configmenu.c: revisions 1.4, 1.5
usr.sbin/sysinst/defs.h: revisions 1.8, 1.9
usr.sbin/sysinst/disks.c: revision 1.9
usr.sbin/sysinst/install.c: revision 1.4
usr.sbin/sysinst/label.c: revision 1.3
usr.sbin/sysinst/mbr.c: revision 1.5
usr.sbin/sysinst/menus.mi: revisions 1.9, 1.10
usr.sbin/sysinst/net.c: revisions 1.18-1.20
usr.sbin/sysinst/partman.c: revision 1.10
usr.sbin/sysinst/upgrade.c: revision 1.4
usr.sbin/sysinst/util.c: revisions 1.6, 1.7
Backout the previous incorrect fix for PR 49440 and redo it more globaly:
get rid of the global "yesno", introduce utility functions "ask_yesno()"
and "ask_noyes()" instead, greatly simplifying a lot of code.
Pass in a pointer to the return value to various "set source" menus.
--
Make it compile on architectures that do not support INET6 in sysinst
--
Remove a few more (ab-)usages of "yesno".
--
More (ab-)usages of "yesno"
--
Make "ask_yesno" and "ask_noyes" take a const char * as argument, moving
the deconst() dance into the utility functions and simplifying all callers.
--
Missed a few more "yesno" in previous
 1.2.2.2 10-Aug-2014  tls Rebase.
 1.2.2.1 03-Aug-2014  tls file menus.md.pl was added on branch tls-earlyentropy on 2014-08-10 07:00:27 +0000
 1.4.16.1 13-Apr-2020  martin Mostly merge changes from HEAD upto 20200411
 1.2 12-Jun-2019  martin Rework internal data structures and "interfaces to user interface" functions
to get rid of all disklabel assumptions.

Previously (even for GPT partitioning) struct disklabel was used, which
obviously breaks large disk setups. Also many MD parts and parts of the
user interface assumed (a) a struct disklabel is used internally to
store partitioning information and (b) partitions are named 'a' ... $MAXPART.

Get rid of this and replace it with a quite abstract interface that should
be able to deal with all variants in partition storage:

- partitions are stored in a (partly abstract) struct disk_partitions
and most parts of it are only accessed via accessor functions provided
by a "partitioning scheme".

- implement partitioning schemes for MBR, disklabel and GPT (with likely
RDB [amiga] and Apple Partition Map [mac*] to follow soon)

- partitioning schemes may be cascaded, e.g. on x86 when using MBR as
"outer partitions", we have disklabel as "inner partitions".

- all user interface goes via accessor functions in the partitioning scheme,
some of which return pointers to special user interface descriptors
(e.g. to allow editing partition flags, which are scheme specific)

Overall the user interface changes (in this initial step) are minimal but
noticable. A new Anita is needed for automatic test setups - many thanks
to Andreas Gustafsson for lots of early testing and a new Anita version,
and to Manuel Bouyer for cooperation and tests of the Anita release.

This work was sponsored by The NetBSD Foundation, Inc.
 1.1 26-Jul-2014  dholland branches: 1.1.2; 1.1.6; 1.1.28;
Move sysinst sources to usr.sbin.

This commit only physically moves the sources - there are no other
changes, to maximize the probability that this will be treated as a
rename if we ever do manage to migrate away from CVS.

Moving sysinst has been discussed on and off for years and has two
goals: making it easier to work on sysinst, and also making sysinst
available on running systems for use installing chroots and VM images
and other such things. None of the latter is possible yet, but as they
say, one thing at a time.

Doing this now was approved in an impromptu fashion by mrg, riz,
riastradh, me, and groo.
 1.1.28.1 13-Apr-2020  martin Mostly merge changes from HEAD upto 20200411
 1.1.6.2 20-Aug-2014  tls Rebase to HEAD as of a few days ago.
 1.1.6.1 26-Jul-2014  tls file msg.md.de was added on branch tls-maxphys on 2014-08-20 00:05:16 +0000
 1.1.2.2 10-Aug-2014  tls Rebase.
 1.1.2.1 26-Jul-2014  tls file msg.md.de was added on branch tls-earlyentropy on 2014-08-10 07:00:27 +0000
 1.2 12-Jun-2019  martin Rework internal data structures and "interfaces to user interface" functions
to get rid of all disklabel assumptions.

Previously (even for GPT partitioning) struct disklabel was used, which
obviously breaks large disk setups. Also many MD parts and parts of the
user interface assumed (a) a struct disklabel is used internally to
store partitioning information and (b) partitions are named 'a' ... $MAXPART.

Get rid of this and replace it with a quite abstract interface that should
be able to deal with all variants in partition storage:

- partitions are stored in a (partly abstract) struct disk_partitions
and most parts of it are only accessed via accessor functions provided
by a "partitioning scheme".

- implement partitioning schemes for MBR, disklabel and GPT (with likely
RDB [amiga] and Apple Partition Map [mac*] to follow soon)

- partitioning schemes may be cascaded, e.g. on x86 when using MBR as
"outer partitions", we have disklabel as "inner partitions".

- all user interface goes via accessor functions in the partitioning scheme,
some of which return pointers to special user interface descriptors
(e.g. to allow editing partition flags, which are scheme specific)

Overall the user interface changes (in this initial step) are minimal but
noticable. A new Anita is needed for automatic test setups - many thanks
to Andreas Gustafsson for lots of early testing and a new Anita version,
and to Manuel Bouyer for cooperation and tests of the Anita release.

This work was sponsored by The NetBSD Foundation, Inc.
 1.1 26-Jul-2014  dholland branches: 1.1.2; 1.1.6; 1.1.28;
Move sysinst sources to usr.sbin.

This commit only physically moves the sources - there are no other
changes, to maximize the probability that this will be treated as a
rename if we ever do manage to migrate away from CVS.

Moving sysinst has been discussed on and off for years and has two
goals: making it easier to work on sysinst, and also making sysinst
available on running systems for use installing chroots and VM images
and other such things. None of the latter is possible yet, but as they
say, one thing at a time.

Doing this now was approved in an impromptu fashion by mrg, riz,
riastradh, me, and groo.
 1.1.28.1 13-Apr-2020  martin Mostly merge changes from HEAD upto 20200411
 1.1.6.2 20-Aug-2014  tls Rebase to HEAD as of a few days ago.
 1.1.6.1 26-Jul-2014  tls file msg.md.en was added on branch tls-maxphys on 2014-08-20 00:05:16 +0000
 1.1.2.2 10-Aug-2014  tls Rebase.
 1.1.2.1 26-Jul-2014  tls file msg.md.en was added on branch tls-earlyentropy on 2014-08-10 07:00:27 +0000
 1.2 12-Jun-2019  martin Rework internal data structures and "interfaces to user interface" functions
to get rid of all disklabel assumptions.

Previously (even for GPT partitioning) struct disklabel was used, which
obviously breaks large disk setups. Also many MD parts and parts of the
user interface assumed (a) a struct disklabel is used internally to
store partitioning information and (b) partitions are named 'a' ... $MAXPART.

Get rid of this and replace it with a quite abstract interface that should
be able to deal with all variants in partition storage:

- partitions are stored in a (partly abstract) struct disk_partitions
and most parts of it are only accessed via accessor functions provided
by a "partitioning scheme".

- implement partitioning schemes for MBR, disklabel and GPT (with likely
RDB [amiga] and Apple Partition Map [mac*] to follow soon)

- partitioning schemes may be cascaded, e.g. on x86 when using MBR as
"outer partitions", we have disklabel as "inner partitions".

- all user interface goes via accessor functions in the partitioning scheme,
some of which return pointers to special user interface descriptors
(e.g. to allow editing partition flags, which are scheme specific)

Overall the user interface changes (in this initial step) are minimal but
noticable. A new Anita is needed for automatic test setups - many thanks
to Andreas Gustafsson for lots of early testing and a new Anita version,
and to Manuel Bouyer for cooperation and tests of the Anita release.

This work was sponsored by The NetBSD Foundation, Inc.
 1.1 26-Jul-2014  dholland branches: 1.1.2; 1.1.6; 1.1.28;
Move sysinst sources to usr.sbin.

This commit only physically moves the sources - there are no other
changes, to maximize the probability that this will be treated as a
rename if we ever do manage to migrate away from CVS.

Moving sysinst has been discussed on and off for years and has two
goals: making it easier to work on sysinst, and also making sysinst
available on running systems for use installing chroots and VM images
and other such things. None of the latter is possible yet, but as they
say, one thing at a time.

Doing this now was approved in an impromptu fashion by mrg, riz,
riastradh, me, and groo.
 1.1.28.1 13-Apr-2020  martin Mostly merge changes from HEAD upto 20200411
 1.1.6.2 20-Aug-2014  tls Rebase to HEAD as of a few days ago.
 1.1.6.1 26-Jul-2014  tls file msg.md.es was added on branch tls-maxphys on 2014-08-20 00:05:16 +0000
 1.1.2.2 10-Aug-2014  tls Rebase.
 1.1.2.1 26-Jul-2014  tls file msg.md.es was added on branch tls-earlyentropy on 2014-08-10 07:00:27 +0000
 1.2 12-Jun-2019  martin Rework internal data structures and "interfaces to user interface" functions
to get rid of all disklabel assumptions.

Previously (even for GPT partitioning) struct disklabel was used, which
obviously breaks large disk setups. Also many MD parts and parts of the
user interface assumed (a) a struct disklabel is used internally to
store partitioning information and (b) partitions are named 'a' ... $MAXPART.

Get rid of this and replace it with a quite abstract interface that should
be able to deal with all variants in partition storage:

- partitions are stored in a (partly abstract) struct disk_partitions
and most parts of it are only accessed via accessor functions provided
by a "partitioning scheme".

- implement partitioning schemes for MBR, disklabel and GPT (with likely
RDB [amiga] and Apple Partition Map [mac*] to follow soon)

- partitioning schemes may be cascaded, e.g. on x86 when using MBR as
"outer partitions", we have disklabel as "inner partitions".

- all user interface goes via accessor functions in the partitioning scheme,
some of which return pointers to special user interface descriptors
(e.g. to allow editing partition flags, which are scheme specific)

Overall the user interface changes (in this initial step) are minimal but
noticable. A new Anita is needed for automatic test setups - many thanks
to Andreas Gustafsson for lots of early testing and a new Anita version,
and to Manuel Bouyer for cooperation and tests of the Anita release.

This work was sponsored by The NetBSD Foundation, Inc.
 1.1 26-Jul-2014  dholland branches: 1.1.2; 1.1.6; 1.1.28;
Move sysinst sources to usr.sbin.

This commit only physically moves the sources - there are no other
changes, to maximize the probability that this will be treated as a
rename if we ever do manage to migrate away from CVS.

Moving sysinst has been discussed on and off for years and has two
goals: making it easier to work on sysinst, and also making sysinst
available on running systems for use installing chroots and VM images
and other such things. None of the latter is possible yet, but as they
say, one thing at a time.

Doing this now was approved in an impromptu fashion by mrg, riz,
riastradh, me, and groo.
 1.1.28.1 13-Apr-2020  martin Mostly merge changes from HEAD upto 20200411
 1.1.6.2 20-Aug-2014  tls Rebase to HEAD as of a few days ago.
 1.1.6.1 26-Jul-2014  tls file msg.md.pl was added on branch tls-maxphys on 2014-08-20 00:05:16 +0000
 1.1.2.2 10-Aug-2014  tls Rebase.
 1.1.2.1 26-Jul-2014  tls file msg.md.pl was added on branch tls-earlyentropy on 2014-08-10 07:00:27 +0000
 1.1 26-Jul-2014  dholland branches: 1.1.2; 1.1.6;
Move sysinst sources to usr.sbin.

This commit only physically moves the sources - there are no other
changes, to maximize the probability that this will be treated as a
rename if we ever do manage to migrate away from CVS.

Moving sysinst has been discussed on and off for years and has two
goals: making it easier to work on sysinst, and also making sysinst
available on running systems for use installing chroots and VM images
and other such things. None of the latter is possible yet, but as they
say, one thing at a time.

Doing this now was approved in an impromptu fashion by mrg, riz,
riastradh, me, and groo.
 1.1.6.2 20-Aug-2014  tls Rebase to HEAD as of a few days ago.
 1.1.6.1 26-Jul-2014  tls file Makefile was added on branch tls-maxphys on 2014-08-20 00:05:16 +0000
 1.1.2.2 10-Aug-2014  tls Rebase.
 1.1.2.1 26-Jul-2014  tls file Makefile was added on branch tls-earlyentropy on 2014-08-10 07:00:27 +0000
 1.7 29-Jan-2022  martin When upgrading, update the boot code post extraction from
the updated target file system.
 1.6 12-Oct-2020  martin PR 55536: when we find existing partition tables and have alternative
formats available, offer to delete partitions and create new ones from
scratch (in some other or the same on-disk format).
 1.5 13-Jul-2019  martin branches: 1.5.2;
We may call md_pre_mount() multiple times for the same install set,
so pass an additional index argument so MD code knows which part
of the install will be mounted next.
 1.4 20-Jun-2019  christos Use _fmt_ msg_ methods when formats are needed.
 1.3 12-Jun-2019  martin Rework internal data structures and "interfaces to user interface" functions
to get rid of all disklabel assumptions.

Previously (even for GPT partitioning) struct disklabel was used, which
obviously breaks large disk setups. Also many MD parts and parts of the
user interface assumed (a) a struct disklabel is used internally to
store partitioning information and (b) partitions are named 'a' ... $MAXPART.

Get rid of this and replace it with a quite abstract interface that should
be able to deal with all variants in partition storage:

- partitions are stored in a (partly abstract) struct disk_partitions
and most parts of it are only accessed via accessor functions provided
by a "partitioning scheme".

- implement partitioning schemes for MBR, disklabel and GPT (with likely
RDB [amiga] and Apple Partition Map [mac*] to follow soon)

- partitioning schemes may be cascaded, e.g. on x86 when using MBR as
"outer partitions", we have disklabel as "inner partitions".

- all user interface goes via accessor functions in the partitioning scheme,
some of which return pointers to special user interface descriptors
(e.g. to allow editing partition flags, which are scheme specific)

Overall the user interface changes (in this initial step) are minimal but
noticable. A new Anita is needed for automatic test setups - many thanks
to Andreas Gustafsson for lots of early testing and a new Anita version,
and to Manuel Bouyer for cooperation and tests of the Anita release.

This work was sponsored by The NetBSD Foundation, Inc.
 1.2 03-Aug-2014  martin branches: 1.2.2; 1.2.6; 1.2.28;
(Finally) merge a slightly modified version of the 2012 GSoC results
from Eugene Lozovoy: add extended partitioning options to sysinst.
Still needs some testing and polishing, but it now is possible to use GPT
or to create a RAID set from scratch and install onto it.
 1.1 26-Jul-2014  dholland Move sysinst sources to usr.sbin.

This commit only physically moves the sources - there are no other
changes, to maximize the probability that this will be treated as a
rename if we ever do manage to migrate away from CVS.

Moving sysinst has been discussed on and off for years and has two
goals: making it easier to work on sysinst, and also making sysinst
available on running systems for use installing chroots and VM images
and other such things. None of the latter is possible yet, but as they
say, one thing at a time.

Doing this now was approved in an impromptu fashion by mrg, riz,
riastradh, me, and groo.
 1.2.28.1 13-Apr-2020  martin Mostly merge changes from HEAD upto 20200411
 1.2.6.2 20-Aug-2014  tls Rebase to HEAD as of a few days ago.
 1.2.6.1 03-Aug-2014  tls file md.c was added on branch tls-maxphys on 2014-08-20 00:05:16 +0000
 1.2.2.2 10-Aug-2014  tls Rebase.
 1.2.2.1 03-Aug-2014  tls file md.c was added on branch tls-earlyentropy on 2014-08-10 07:00:27 +0000
 1.5.2.2 02-Feb-2022  msaitoh Pull up following revision(s) (requested by martin in ticket #1422):
usr.sbin/sysinst/util.c: revision 1.64
usr.sbin/sysinst/arch/hpcsh/md.c: revision 1.11
usr.sbin/sysinst/arch/alpha/md.c: revision 1.10
usr.sbin/sysinst/arch/sparc64/md.c: revision 1.7
usr.sbin/sysinst/arch/emips/md.c: revision 1.10
usr.sbin/sysinst/arch/cobalt/md.c: revision 1.15
usr.sbin/sysinst/arch/x68k/md.c: revision 1.12
usr.sbin/sysinst/arch/sandpoint/md.c: revision 1.10
usr.sbin/sysinst/arch/luna68k/md.c: revision 1.10
usr.sbin/sysinst/arch/hp300/md.c: revision 1.12
usr.sbin/sysinst/arch/vax/md.c: revision 1.8
usr.sbin/sysinst/arch/hpcmips/md.c: revision 1.10
usr.sbin/sysinst/target.c: revision 1.16
usr.sbin/sysinst/arch/mvme68k/md.c: revision 1.12
usr.sbin/sysinst/arch/arc/md.c: revision 1.14
usr.sbin/sysinst/target.c: revision 1.17
usr.sbin/sysinst/arch/i386/md.c: revision 1.34
usr.sbin/sysinst/arch/mac68k/md.c: revision 1.11
usr.sbin/sysinst/arch/atari/md.c: revision 1.8
usr.sbin/sysinst/arch/sgimips/md.c: revision 1.10
usr.sbin/sysinst/arch/acorn32/md.c: revision 1.8
usr.sbin/sysinst/install.c: revision 1.22
usr.sbin/sysinst/arch/amiga/md.c: revision 1.7
usr.sbin/sysinst/arch/cats/md.c: revision 1.6
usr.sbin/sysinst/arch/dummy/md.c: revision 1.7
usr.sbin/sysinst/arch/shark/md.c: revision 1.7
usr.sbin/sysinst/arch/pmax/md.c: revision 1.9
usr.sbin/sysinst/arch/newsmips/md.c: revision 1.7
usr.sbin/sysinst/arch/mipsco/md.c: revision 1.9
usr.sbin/sysinst/arch/landisk/md.c: revision 1.15
usr.sbin/sysinst/arch/hppa/md.c: revision 1.9
usr.sbin/sysinst/arch/prep/md.c: revision 1.14
usr.sbin/sysinst/defs.h: revision 1.77
usr.sbin/sysinst/arch/ofppc/md.c: revision 1.13
usr.sbin/sysinst/arch/ews4800mips/md.c: revision 1.8
usr.sbin/sysinst/defs.h: revision 1.78
usr.sbin/sysinst/arch/macppc/md.c: revision 1.7
usr.sbin/sysinst/arch/evbppc/md.c: revision 1.10
usr.sbin/sysinst/defs.h: revision 1.79
usr.sbin/sysinst/gpt.c: revision 1.27
usr.sbin/sysinst/arch/bebox/md.c: revision 1.10
usr.sbin/sysinst/gpt.c: revision 1.28
usr.sbin/sysinst/arch/sparc/md.c: revision 1.7
usr.sbin/sysinst/arch/evbsh3/md.c: revision 1.7
usr.sbin/sysinst/arch/evbarm/md.c: revision 1.22
usr.sbin/sysinst/arch/news68k/md.c: revision 1.8
usr.sbin/sysinst/upgrade.c: revision 1.19
usr.sbin/sysinst/arch/zaurus/md.c: revision 1.12
usr.sbin/sysinst/arch/playstation2/md.c: revision 1.10
usr.sbin/sysinst/arch/hpcarm/md.c: revision 1.11
usr.sbin/sysinst/arch/evbmips/md.c: revision 1.10
usr.sbin/sysinst/main.c: revision 1.28
Add an option to set the directory where we look for message catalogs.
Try to get rid of all wedges we created (after unmounting).
When upgrading, update the boot code post extraction from
the updated target file system.
Do not defer wedge deletions when we have nothing mounted.
Define and use a constant for maximum disk name length.
 1.5.2.1 15-Oct-2020  bouyer Pull up following revision(s) (requested by martin in ticket #1113):
usr.sbin/sysinst/bsddisklabel.c: revision 1.46
usr.sbin/sysinst/bsddisklabel.c: revision 1.47
usr.sbin/sysinst/disklabel.c: revision 1.40
usr.sbin/sysinst/arch/cobalt/md.c: revision 1.13
usr.sbin/sysinst/bsddisklabel.c: revision 1.48
usr.sbin/sysinst/disklabel.c: revision 1.41
usr.sbin/sysinst/arch/cobalt/md.c: revision 1.14
usr.sbin/sysinst/bsddisklabel.c: revision 1.49
usr.sbin/sysinst/disklabel.c: revision 1.42
usr.sbin/sysinst/Makefile.inc: revision 1.34
usr.sbin/sysinst/disks.c: revision 1.70
usr.sbin/sysinst/arch/hp300/md.c: revision 1.11
usr.sbin/sysinst/disks.c: revision 1.71
usr.sbin/sysinst/arch/i386/md.h: revision 1.8
usr.sbin/sysinst/arch/arc/md.c: revision 1.13
usr.sbin/sysinst/mbr.h: revision 1.5
usr.sbin/sysinst/mbr.h: revision 1.6
usr.sbin/sysinst/arch/mac68k/md.c: revision 1.10
usr.sbin/sysinst/bsddisklabel.c: revision 1.50
usr.sbin/sysinst/arch/acorn32/md.c: revision 1.7
usr.sbin/sysinst/bsddisklabel.c: revision 1.51
usr.sbin/sysinst/bsddisklabel.c: revision 1.52
usr.sbin/sysinst/bsddisklabel.c: revision 1.53
usr.sbin/sysinst/bsddisklabel.c: revision 1.54
usr.sbin/sysinst/bsddisklabel.c: revision 1.55
usr.sbin/sysinst/bsddisklabel.c: revision 1.56
usr.sbin/sysinst/arch/dummy/md.c: revision 1.6
usr.sbin/sysinst/arch/amd64/md.h: revision 1.9
usr.sbin/sysinst/arch/evbsh3/md.c: revision 1.6
usr.sbin/sysinst/arch/sparc/md.c: revision 1.6
usr.sbin/sysinst/arch/zaurus/md.c: revision 1.10
usr.sbin/sysinst/arch/x68k/md.c: revision 1.11
usr.sbin/sysinst/arch/sandpoint/md.c: revision 1.9
usr.sbin/sysinst/arch/vax/md.c: revision 1.7
usr.sbin/sysinst/arch/luna68k/md.c: revision 1.9
usr.sbin/sysinst/gpt.c: revision 1.19
usr.sbin/sysinst/arch/i386/md.c: revision 1.31
usr.sbin/sysinst/arch/i386/md.c: revision 1.32
usr.sbin/sysinst/arch/evbarm/md.c: revision 1.17
usr.sbin/sysinst/arch/evbarm/md.c: revision 1.18
usr.sbin/sysinst/arch/evbarm/md.c: revision 1.19
usr.sbin/sysinst/arch/shark/md.c: revision 1.6
usr.sbin/sysinst/arch/landisk/md.c: revision 1.14
usr.sbin/sysinst/util.c: revision 1.43
usr.sbin/sysinst/gpt.c: revision 1.20
usr.sbin/sysinst/util.c: revision 1.44
usr.sbin/sysinst/gpt.c: revision 1.21
usr.sbin/sysinst/gpt.c: revision 1.22
usr.sbin/sysinst/arch/evbarm/msg.md.en: revision 1.2
usr.sbin/sysinst/arch/ofppc/md.c: revision 1.11
usr.sbin/sysinst/util.c: revision 1.46
usr.sbin/sysinst/arch/ofppc/md.c: revision 1.12
usr.sbin/sysinst/util.c: revision 1.47
usr.sbin/sysinst/arch/evbarm/md.h: revision 1.6
usr.sbin/sysinst/util.c: revision 1.48
usr.sbin/sysinst/arch/evbarm/md.h: revision 1.7
usr.sbin/sysinst/arch/evbmips/md.c: revision 1.9
usr.sbin/sysinst/msg.mi.fr: revision 1.28
usr.sbin/sysinst/msg.mi.fr: revision 1.29
usr.sbin/sysinst/arch/sgimips/md.c: revision 1.9
usr.sbin/sysinst/arch/evbarm/Makefile: revision 1.3
usr.sbin/sysinst/msg.mi.de: revision 1.23
usr.sbin/sysinst/arch/hpcsh/md.c: revision 1.10
usr.sbin/sysinst/msg.mi.de: revision 1.24
usr.sbin/sysinst/install.c: revision 1.15
usr.sbin/sysinst/install.c: revision 1.16
usr.sbin/sysinst/arch/sparc64/md.c: revision 1.6
usr.sbin/sysinst/install.c: revision 1.17
usr.sbin/sysinst/install.c: revision 1.18
usr.sbin/sysinst/partitions.h: revision 1.16
usr.sbin/sysinst/install.c: revision 1.19
usr.sbin/sysinst/partitions.h: revision 1.17
usr.sbin/sysinst/arch/evbppc/md.c: revision 1.9
usr.sbin/sysinst/arch/playstation2/md.c: revision 1.9
usr.sbin/sysinst/partitions.h: revision 1.18
usr.sbin/sysinst/arch/hpcarm/md.c: revision 1.9
usr.sbin/sysinst/partitions.h: revision 1.19
usr.sbin/sysinst/msg.mi.es: revision 1.24
usr.sbin/sysinst/msg.mi.es: revision 1.25
usr.sbin/sysinst/msg.mi.es: revision 1.26
usr.sbin/sysinst/arch/zaurus/md.c: revision 1.9
usr.sbin/sysinst/target.c: revision 1.13
usr.sbin/sysinst/target.c: revision 1.14
usr.sbin/sysinst/part_edit.c: revision 1.17
usr.sbin/sysinst/part_edit.c: revision 1.18
usr.sbin/sysinst/msg.mi.fr: revision 1.30
usr.sbin/sysinst/arch/mvme68k/md.c: revision 1.11
usr.sbin/sysinst/part_edit.c: revision 1.19
usr.sbin/sysinst/msg.mi.fr: revision 1.31
usr.sbin/sysinst/arch/alpha/md.c: revision 1.9
usr.sbin/sysinst/msg.mi.en: revision 1.30
usr.sbin/sysinst/defs.h: revision 1.56
usr.sbin/sysinst/msg.mi.en: revision 1.31
usr.sbin/sysinst/defs.h: revision 1.57
usr.sbin/sysinst/msg.mi.en: revision 1.32
usr.sbin/sysinst/arch/amiga/md.c: revision 1.6
usr.sbin/sysinst/arch/hpcmips/md.c: revision 1.9
usr.sbin/sysinst/defs.h: revision 1.58
usr.sbin/sysinst/arch/cats/md.c: revision 1.5
usr.sbin/sysinst/defs.h: revision 1.59
usr.sbin/sysinst/arch/newsmips/md.c: revision 1.6
usr.sbin/sysinst/arch/pmax/md.c: revision 1.8
usr.sbin/sysinst/arch/mipsco/md.c: revision 1.8
usr.sbin/sysinst/part_edit.c: revision 1.20
usr.sbin/sysinst/part_edit.c: revision 1.21
usr.sbin/sysinst/arch/macppc/md.c: revision 1.6
usr.sbin/sysinst/part_edit.c: revision 1.22
usr.sbin/sysinst/part_edit.c: revision 1.23
usr.sbin/sysinst/part_edit.c: revision 1.24
usr.sbin/sysinst/defs.h: revision 1.60
usr.sbin/sysinst/arch/mac68k/Makefile: revision 1.3
usr.sbin/sysinst/defs.h: revision 1.61
usr.sbin/sysinst/defs.h: revision 1.63
usr.sbin/sysinst/defs.h: revision 1.64
usr.sbin/sysinst/defs.h: revision 1.65
usr.sbin/sysinst/label.c: revision 1.21
usr.sbin/sysinst/defs.h: revision 1.66
usr.sbin/sysinst/label.c: revision 1.22
usr.sbin/sysinst/defs.h: revision 1.67
usr.sbin/sysinst/label.c: revision 1.23
usr.sbin/sysinst/label.c: revision 1.24
usr.sbin/sysinst/label.c: revision 1.25
usr.sbin/sysinst/label.c: revision 1.26
usr.sbin/sysinst/label.c: revision 1.27
usr.sbin/sysinst/msg.mi.pl: revision 1.31
usr.sbin/sysinst/label.c: revision 1.28
usr.sbin/sysinst/msg.mi.pl: revision 1.32
usr.sbin/sysinst/label.c: revision 1.29
usr.sbin/sysinst/arch/atari/md.c: revision 1.7
usr.sbin/sysinst/disklabel.c: revision 1.36
usr.sbin/sysinst/disklabel.c: revision 1.37
usr.sbin/sysinst/disklabel.c: revision 1.38
usr.sbin/sysinst/disklabel.c: revision 1.39
usr.sbin/sysinst/arch/bebox/md.c: revision 1.9
usr.sbin/sysinst/mbr.c: revision 1.32
usr.sbin/sysinst/disks.c: revision 1.66
usr.sbin/sysinst/mbr.c: revision 1.33
usr.sbin/sysinst/disks.c: revision 1.67
usr.sbin/sysinst/mbr.c: revision 1.34
usr.sbin/sysinst/arch/emips/md.c: revision 1.9
usr.sbin/sysinst/disks.c: revision 1.68
usr.sbin/sysinst/partitions.c: revision 1.11
usr.sbin/sysinst/mbr.c: revision 1.35
usr.sbin/sysinst/disks.c: revision 1.69
usr.sbin/sysinst/mbr.c: revision 1.36
usr.sbin/sysinst/arch/hppa/md.c: revision 1.8
usr.sbin/sysinst/arch/prep/md.c: revision 1.13
usr.sbin/sysinst/label.c: revision 1.30
usr.sbin/sysinst/arch/ews4800mips/md.c: revision 1.7
usr.sbin/sysinst/main.c: revision 1.21
usr.sbin/sysinst/main.c: revision 1.22
usr.sbin/sysinst/main.c: revision 1.23
usr.sbin/sysinst/bsddisklabel.c: revision 1.40
usr.sbin/sysinst/main.c: revision 1.24
usr.sbin/sysinst/arch/cobalt/md.h: revision 1.6
usr.sbin/sysinst/bsddisklabel.c: revision 1.41
usr.sbin/sysinst/main.c: revision 1.25
usr.sbin/sysinst/arch/news68k/md.c: revision 1.7
usr.sbin/sysinst/bsddisklabel.c: revision 1.42
usr.sbin/sysinst/bsddisklabel.c: revision 1.43
usr.sbin/sysinst/bsddisklabel.c: revision 1.44
usr.sbin/sysinst/bsddisklabel.c: revision 1.45
Use strlcpy in a few places to guarnatee 0-terminated strings
Rever previous: the d_packname in struct disklabel is not NUL terminated.
Disable the warning instead.
Do not force -Os optimization (unless SMALLPROG)
Remove unused "rel" global variable and make the -r option a no-op.
PR 55045: strlcpy(NULL, ..., 0) considered harmfull in some implementations.
PR misc/54886: bump threshold for automatic/default creation of a tmpfs /tmp
up slightly (to 384 MB ram). This will make sure the default install has
a > 64 MB /tmp available (number pulled out of thin air, 64 MB is the minimum
required by the ZFS tests).
Don't depend on common symbol definitions.
boardype should not be common.
Redo the root-size-limit check again after we grew the root partition
for kernel dumps. Auto-enable the /usr partition if it overflows.
For all non-root partitions, default to FFSv2.
When extending a partition (to fill the total disk size) do respect
size limits.
Do not suggest a size limited partition for extension by default.
Minor tweak to previous: when forcing a /usr partition just to have an
arbitrary extendable partition, still use its default size initially.
At the end of a new installation save entropy.
Ooops, backout previous - twice the entropy saving is not needed.
Instead slightly improve the (slightly) hidden other code that already
did it.
PR 55202: disable swapping if we started it due to low ram
it's "its"
Remove "If you booted from a floppy" message
Set HAVE_INSTALL_IMAGE for evbarm
Change mountpoint of boot ext2fs from /stand to /ext2 to avoid conflict.
Should be pulled up to netbsd-9, with fixes of PR/55060.
MBR type for Ext2 should be MBR_PTYPE_LNXEXT2, not MBR_PTYPE_FAT12.
Silence -Wstringop-truncation for ``name'' in disp_selected_part().
This variable is used only for display, and truncation seems harmless.
PR 55572: avoid crash when answering the mount point prompt for a previously
empty mount point with an emptry sting.
When adding a new partition in the concrete partition editor, make sure
to set a pointer to the partition table interface in the new entry.
Otherwise we may end up not writing back the partitions at all, leading
to further fallout later.
Receipe to reproduce the issue from Frederic Fauberteau, thanks!
In the concrete partitions editor, after deleting the last partition move
the menu selection to the "add a partition" entry (instead of the sentinel
line which is not an active menu entry).
Typo in comment
Keep a list of all partition tables from which we have deleted partitions
and make sure we update those partition tables when writing partitions,
even if no install related partition remains on them.
Fix display of timezone selection menu
If there is no current partitioning manager assume we are editing the
current system and make target_already_root() return true.
Fixes various fallout when using sysinst post installation.
PR 55377: mark boot partitions in the partition size display, as suggested
by Izumi Tsutsui (minor modifications + all bugs by me)
PR 55378: do not assume RAW_PART to be either 2 or 3
PR 55379: avoid creating bogus /etc/fstab lines for /dev/cd* if no
cdrom is available.
PR 55381: try to deal with moved (but not yet saved) partitions when
calculating free space
Apply patch provided by Izumi Tsutsui in PR 55382: make ext2 partitions
show up in the outer (MBR) partition table, needed for example on Cobalt
where firmware boots from that partition.
PR 55384: detangle pm->ptstart from the "install" flag (selecting a
target partition). Instead introduce a new PTI_INSTALL_TARGET per partition
flag and deal with it in the partitioning backends.
Honour pm->ptstart when allocating new partitions - it is supposed to be
the first sector usable by NetBSD.
If we have no explicitly marke target root partition, make sure to set
the proper flag on the implicit one.
When merging existing partitions with desired target system layout
information, only force the "mount" flag if the existing partitions
has a valid mount point.
Add a heuristic to detect and properly mark EFI system partitions
when re-using pre-existing partitions.
When MD code requests a reserved area (at the start of the disk)
make sure to properly account for the "lost" space during all calculations
and especially when expanding the main partition to fill the disk.
Avoid using the global "pm" or a passed device descriptons when we are
passing disk limits explicitly anyway.
Simplify/fix a few rounding calculations.
When creating new partitions for "full disk" use, pass a install target
hint to the partitioning backend (for the outer NetBSD partition).
Use an install target hint to mark a new partition active.
When compiled with BOOTSEL support, also name the new partition "NetBSD".
Remove more pm->ptstart abuse - calculate values localy where needed
instead.
Fix editing start and size of not yet existing outer partitions.
Previously we abused pm->ptstart / pm->ptsize to pass the bounds of the
NetBSD outer partition to the inner partition editor - but now this is
not a valid assumption any more, so explicitly fix the bounds if an
outer partition exists.
Remove very strange code that special-cased MSDOS file systems and refused
to newfs the partition (despite explicit request to do so) if it was
mountable.
Accidently carried over from a dim and distant past, before we had
fsck_newfs.
PR 55536: when we find existing partition tables and have alternative
formats available, offer to delete partitions and create new ones from
scratch (in some other or the same on-disk format).
Minor fix to previous: fix condition when we offer the partition type
switch - it makes sense even if the disk is partitioned but has no valid
partitions.
Before forcing MBR partitions into our disklabel, make sure they are not
there yet - could happen in various paths when reusing existing partitions
(or parts of that) - previously we would blindly duplicate identical
partitions.
Ooops, part of previous was not meant to be included yet
When renumbering partitions (after deletions) be slightly more lax
in matching, to cope with differences between MBR EFI partitions and
disklabel MSDOS partitions.
PR 55142: on popular demand bring back expert options to adjust the
number of free inodes, block size and fragment size for FFS and LFS.
Fix copy & pasto noticed by Jason Mitchell: change the type of a GPT
partition via "gpt type" - not "gpt label".
Fix copy & pasto (missing "again" label)
Remove dead code
Move MBR writing (if any) post disklabel writing, otherwise strange
interactions happen.
Properly convert partition default sizes in MB to number of sectors
 1.4 26-Apr-2025  tsutsui Remove obsolete MD 'PART_(ROOT|SWAP|BSD|RAW|USR|REST|FIRST_FREE)' defines.

Patch from Miod Vallat.
 1.3 07-Jan-2019  scole branches: 1.3.12;
Add GENERIC.MP and GENERIC_601 kernels to sysinst menu
 1.2 18-Nov-2018  martin More size estimate fixes
 1.1 26-Jul-2014  dholland branches: 1.1.2; 1.1.6; 1.1.26; 1.1.28;
Move sysinst sources to usr.sbin.

This commit only physically moves the sources - there are no other
changes, to maximize the probability that this will be treated as a
rename if we ever do manage to migrate away from CVS.

Moving sysinst has been discussed on and off for years and has two
goals: making it easier to work on sysinst, and also making sysinst
available on running systems for use installing chroots and VM images
and other such things. None of the latter is possible yet, but as they
say, one thing at a time.

Doing this now was approved in an impromptu fashion by mrg, riz,
riastradh, me, and groo.
 1.1.28.1 10-Jun-2019  christos Sync with HEAD
 1.1.26.2 18-Jan-2019  pgoyette Synch with HEAD
 1.1.26.1 26-Nov-2018  pgoyette Sync with HEAD, resolve a couple of conflicts
 1.1.6.2 20-Aug-2014  tls Rebase to HEAD as of a few days ago.
 1.1.6.1 26-Jul-2014  tls file md.h was added on branch tls-maxphys on 2014-08-20 00:05:16 +0000
 1.1.2.2 10-Aug-2014  tls Rebase.
 1.1.2.1 26-Jul-2014  tls file md.h was added on branch tls-earlyentropy on 2014-08-10 07:00:27 +0000
 1.3.12.1 02-Aug-2025  perseant Sync with HEAD
 1.1 26-Jul-2014  dholland branches: 1.1.2; 1.1.6;
Move sysinst sources to usr.sbin.

This commit only physically moves the sources - there are no other
changes, to maximize the probability that this will be treated as a
rename if we ever do manage to migrate away from CVS.

Moving sysinst has been discussed on and off for years and has two
goals: making it easier to work on sysinst, and also making sysinst
available on running systems for use installing chroots and VM images
and other such things. None of the latter is possible yet, but as they
say, one thing at a time.

Doing this now was approved in an impromptu fashion by mrg, riz,
riastradh, me, and groo.
 1.1.6.2 20-Aug-2014  tls Rebase to HEAD as of a few days ago.
 1.1.6.1 26-Jul-2014  tls file menus.md.en was added on branch tls-maxphys on 2014-08-20 00:05:16 +0000
 1.1.2.2 10-Aug-2014  tls Rebase.
 1.1.2.1 26-Jul-2014  tls file menus.md.en was added on branch tls-earlyentropy on 2014-08-10 07:00:27 +0000
 1.1 26-Jul-2014  dholland branches: 1.1.2; 1.1.6;
Move sysinst sources to usr.sbin.

This commit only physically moves the sources - there are no other
changes, to maximize the probability that this will be treated as a
rename if we ever do manage to migrate away from CVS.

Moving sysinst has been discussed on and off for years and has two
goals: making it easier to work on sysinst, and also making sysinst
available on running systems for use installing chroots and VM images
and other such things. None of the latter is possible yet, but as they
say, one thing at a time.

Doing this now was approved in an impromptu fashion by mrg, riz,
riastradh, me, and groo.
 1.1.6.2 20-Aug-2014  tls Rebase to HEAD as of a few days ago.
 1.1.6.1 26-Jul-2014  tls file menus.md.es was added on branch tls-maxphys on 2014-08-20 00:05:16 +0000
 1.1.2.2 10-Aug-2014  tls Rebase.
 1.1.2.1 26-Jul-2014  tls file menus.md.es was added on branch tls-earlyentropy on 2014-08-10 07:00:27 +0000
 1.1 26-Jul-2014  dholland branches: 1.1.2; 1.1.6;
Move sysinst sources to usr.sbin.

This commit only physically moves the sources - there are no other
changes, to maximize the probability that this will be treated as a
rename if we ever do manage to migrate away from CVS.

Moving sysinst has been discussed on and off for years and has two
goals: making it easier to work on sysinst, and also making sysinst
available on running systems for use installing chroots and VM images
and other such things. None of the latter is possible yet, but as they
say, one thing at a time.

Doing this now was approved in an impromptu fashion by mrg, riz,
riastradh, me, and groo.
 1.1.6.2 20-Aug-2014  tls Rebase to HEAD as of a few days ago.
 1.1.6.1 26-Jul-2014  tls file menus.md.fr was added on branch tls-maxphys on 2014-08-20 00:05:16 +0000
 1.1.2.2 10-Aug-2014  tls Rebase.
 1.1.2.1 26-Jul-2014  tls file menus.md.fr was added on branch tls-earlyentropy on 2014-08-10 07:00:27 +0000
 1.1 26-Jul-2014  dholland branches: 1.1.2; 1.1.6;
Move sysinst sources to usr.sbin.

This commit only physically moves the sources - there are no other
changes, to maximize the probability that this will be treated as a
rename if we ever do manage to migrate away from CVS.

Moving sysinst has been discussed on and off for years and has two
goals: making it easier to work on sysinst, and also making sysinst
available on running systems for use installing chroots and VM images
and other such things. None of the latter is possible yet, but as they
say, one thing at a time.

Doing this now was approved in an impromptu fashion by mrg, riz,
riastradh, me, and groo.
 1.1.6.2 20-Aug-2014  tls Rebase to HEAD as of a few days ago.
 1.1.6.1 26-Jul-2014  tls file menus.md.pl was added on branch tls-maxphys on 2014-08-20 00:05:16 +0000
 1.1.2.2 10-Aug-2014  tls Rebase.
 1.1.2.1 26-Jul-2014  tls file menus.md.pl was added on branch tls-earlyentropy on 2014-08-10 07:00:27 +0000
 1.2 07-Jan-2019  scole Add GENERIC.MP and GENERIC_601 kernels to sysinst menu
 1.1 26-Jul-2014  dholland branches: 1.1.2; 1.1.6; 1.1.26; 1.1.28;
Move sysinst sources to usr.sbin.

This commit only physically moves the sources - there are no other
changes, to maximize the probability that this will be treated as a
rename if we ever do manage to migrate away from CVS.

Moving sysinst has been discussed on and off for years and has two
goals: making it easier to work on sysinst, and also making sysinst
available on running systems for use installing chroots and VM images
and other such things. None of the latter is possible yet, but as they
say, one thing at a time.

Doing this now was approved in an impromptu fashion by mrg, riz,
riastradh, me, and groo.
 1.1.28.1 10-Jun-2019  christos Sync with HEAD
 1.1.26.1 18-Jan-2019  pgoyette Synch with HEAD
 1.1.6.2 20-Aug-2014  tls Rebase to HEAD as of a few days ago.
 1.1.6.1 26-Jul-2014  tls file msg.md.de was added on branch tls-maxphys on 2014-08-20 00:05:16 +0000
 1.1.2.2 10-Aug-2014  tls Rebase.
 1.1.2.1 26-Jul-2014  tls file msg.md.de was added on branch tls-earlyentropy on 2014-08-10 07:00:27 +0000
 1.2 07-Jan-2019  scole Add GENERIC.MP and GENERIC_601 kernels to sysinst menu
 1.1 26-Jul-2014  dholland branches: 1.1.2; 1.1.6; 1.1.26; 1.1.28;
Move sysinst sources to usr.sbin.

This commit only physically moves the sources - there are no other
changes, to maximize the probability that this will be treated as a
rename if we ever do manage to migrate away from CVS.

Moving sysinst has been discussed on and off for years and has two
goals: making it easier to work on sysinst, and also making sysinst
available on running systems for use installing chroots and VM images
and other such things. None of the latter is possible yet, but as they
say, one thing at a time.

Doing this now was approved in an impromptu fashion by mrg, riz,
riastradh, me, and groo.
 1.1.28.1 10-Jun-2019  christos Sync with HEAD
 1.1.26.1 18-Jan-2019  pgoyette Synch with HEAD
 1.1.6.2 20-Aug-2014  tls Rebase to HEAD as of a few days ago.
 1.1.6.1 26-Jul-2014  tls file msg.md.en was added on branch tls-maxphys on 2014-08-20 00:05:16 +0000
 1.1.2.2 10-Aug-2014  tls Rebase.
 1.1.2.1 26-Jul-2014  tls file msg.md.en was added on branch tls-earlyentropy on 2014-08-10 07:00:27 +0000
 1.2 07-Jan-2019  scole Add GENERIC.MP and GENERIC_601 kernels to sysinst menu
 1.1 26-Jul-2014  dholland branches: 1.1.2; 1.1.6; 1.1.26; 1.1.28;
Move sysinst sources to usr.sbin.

This commit only physically moves the sources - there are no other
changes, to maximize the probability that this will be treated as a
rename if we ever do manage to migrate away from CVS.

Moving sysinst has been discussed on and off for years and has two
goals: making it easier to work on sysinst, and also making sysinst
available on running systems for use installing chroots and VM images
and other such things. None of the latter is possible yet, but as they
say, one thing at a time.

Doing this now was approved in an impromptu fashion by mrg, riz,
riastradh, me, and groo.
 1.1.28.1 10-Jun-2019  christos Sync with HEAD
 1.1.26.1 18-Jan-2019  pgoyette Synch with HEAD
 1.1.6.2 20-Aug-2014  tls Rebase to HEAD as of a few days ago.
 1.1.6.1 26-Jul-2014  tls file msg.md.es was added on branch tls-maxphys on 2014-08-20 00:05:16 +0000
 1.1.2.2 10-Aug-2014  tls Rebase.
 1.1.2.1 26-Jul-2014  tls file msg.md.es was added on branch tls-earlyentropy on 2014-08-10 07:00:27 +0000
 1.2 07-Jan-2019  scole Add GENERIC.MP and GENERIC_601 kernels to sysinst menu
 1.1 26-Jul-2014  dholland branches: 1.1.2; 1.1.6; 1.1.26; 1.1.28;
Move sysinst sources to usr.sbin.

This commit only physically moves the sources - there are no other
changes, to maximize the probability that this will be treated as a
rename if we ever do manage to migrate away from CVS.

Moving sysinst has been discussed on and off for years and has two
goals: making it easier to work on sysinst, and also making sysinst
available on running systems for use installing chroots and VM images
and other such things. None of the latter is possible yet, but as they
say, one thing at a time.

Doing this now was approved in an impromptu fashion by mrg, riz,
riastradh, me, and groo.
 1.1.28.1 10-Jun-2019  christos Sync with HEAD
 1.1.26.1 18-Jan-2019  pgoyette Synch with HEAD
 1.1.6.2 20-Aug-2014  tls Rebase to HEAD as of a few days ago.
 1.1.6.1 26-Jul-2014  tls file msg.md.fr was added on branch tls-maxphys on 2014-08-20 00:05:16 +0000
 1.1.2.2 10-Aug-2014  tls Rebase.
 1.1.2.1 26-Jul-2014  tls file msg.md.fr was added on branch tls-earlyentropy on 2014-08-10 07:00:27 +0000
 1.2 07-Jan-2019  scole Add GENERIC.MP and GENERIC_601 kernels to sysinst menu
 1.1 26-Jul-2014  dholland branches: 1.1.2; 1.1.6; 1.1.26; 1.1.28;
Move sysinst sources to usr.sbin.

This commit only physically moves the sources - there are no other
changes, to maximize the probability that this will be treated as a
rename if we ever do manage to migrate away from CVS.

Moving sysinst has been discussed on and off for years and has two
goals: making it easier to work on sysinst, and also making sysinst
available on running systems for use installing chroots and VM images
and other such things. None of the latter is possible yet, but as they
say, one thing at a time.

Doing this now was approved in an impromptu fashion by mrg, riz,
riastradh, me, and groo.
 1.1.28.1 10-Jun-2019  christos Sync with HEAD
 1.1.26.1 18-Jan-2019  pgoyette Synch with HEAD
 1.1.6.2 20-Aug-2014  tls Rebase to HEAD as of a few days ago.
 1.1.6.1 26-Jul-2014  tls file msg.md.pl was added on branch tls-maxphys on 2014-08-20 00:05:16 +0000
 1.1.2.2 10-Aug-2014  tls Rebase.
 1.1.2.1 26-Jul-2014  tls file msg.md.pl was added on branch tls-earlyentropy on 2014-08-10 07:00:27 +0000
 1.2 09-Oct-2021  martin Disable some installer options to shrink the ramdisk image
 1.1 26-Jul-2014  dholland branches: 1.1.2; 1.1.6;
Move sysinst sources to usr.sbin.

This commit only physically moves the sources - there are no other
changes, to maximize the probability that this will be treated as a
rename if we ever do manage to migrate away from CVS.

Moving sysinst has been discussed on and off for years and has two
goals: making it easier to work on sysinst, and also making sysinst
available on running systems for use installing chroots and VM images
and other such things. None of the latter is possible yet, but as they
say, one thing at a time.

Doing this now was approved in an impromptu fashion by mrg, riz,
riastradh, me, and groo.
 1.1.6.2 20-Aug-2014  tls Rebase to HEAD as of a few days ago.
 1.1.6.1 26-Jul-2014  tls file Makefile was added on branch tls-maxphys on 2014-08-20 00:05:16 +0000
 1.1.2.2 10-Aug-2014  tls Rebase.
 1.1.2.1 26-Jul-2014  tls file Makefile was added on branch tls-earlyentropy on 2014-08-10 07:00:27 +0000
 1.10 17-Feb-2025  andvar s/opportuinty/opportunity/ in comments.

From Miod Vallat by email.
 1.9 29-Jan-2022  martin branches: 1.9.4;
When upgrading, update the boot code post extraction from
the updated target file system.
 1.8 12-Oct-2020  martin PR 55536: when we find existing partition tables and have alternative
formats available, offer to delete partitions and create new ones from
scratch (in some other or the same on-disk format).
 1.7 15-Dec-2019  martin After installing boot blocks with RUN_NO_CLEAR (and handling the
potential errors) make sure to clear the stdscreen.
 1.6 13-Jul-2019  martin branches: 1.6.2;
We may call md_pre_mount() multiple times for the same install set,
so pass an additional index argument so MD code knows which part
of the install will be mounted next.
 1.5 20-Jun-2019  christos Use _fmt_ msg_ methods when formats are needed.
 1.4 12-Jun-2019  martin Rework internal data structures and "interfaces to user interface" functions
to get rid of all disklabel assumptions.

Previously (even for GPT partitioning) struct disklabel was used, which
obviously breaks large disk setups. Also many MD parts and parts of the
user interface assumed (a) a struct disklabel is used internally to
store partitioning information and (b) partitions are named 'a' ... $MAXPART.

Get rid of this and replace it with a quite abstract interface that should
be able to deal with all variants in partition storage:

- partitions are stored in a (partly abstract) struct disk_partitions
and most parts of it are only accessed via accessor functions provided
by a "partitioning scheme".

- implement partitioning schemes for MBR, disklabel and GPT (with likely
RDB [amiga] and Apple Partition Map [mac*] to follow soon)

- partitioning schemes may be cascaded, e.g. on x86 when using MBR as
"outer partitions", we have disklabel as "inner partitions".

- all user interface goes via accessor functions in the partitioning scheme,
some of which return pointers to special user interface descriptors
(e.g. to allow editing partition flags, which are scheme specific)

Overall the user interface changes (in this initial step) are minimal but
noticable. A new Anita is needed for automatic test setups - many thanks
to Andreas Gustafsson for lots of early testing and a new Anita version,
and to Manuel Bouyer for cooperation and tests of the Anita release.

This work was sponsored by The NetBSD Foundation, Inc.
 1.3 18-May-2018  joerg branches: 1.3.2;
deconst -> __UNCONST, the former involves UB with NULL arithmetic.
 1.2 03-Aug-2014  martin branches: 1.2.2; 1.2.6; 1.2.20; 1.2.26;
(Finally) merge a slightly modified version of the 2012 GSoC results
from Eugene Lozovoy: add extended partitioning options to sysinst.
Still needs some testing and polishing, but it now is possible to use GPT
or to create a RAID set from scratch and install onto it.
 1.1 26-Jul-2014  dholland Move sysinst sources to usr.sbin.

This commit only physically moves the sources - there are no other
changes, to maximize the probability that this will be treated as a
rename if we ever do manage to migrate away from CVS.

Moving sysinst has been discussed on and off for years and has two
goals: making it easier to work on sysinst, and also making sysinst
available on running systems for use installing chroots and VM images
and other such things. None of the latter is possible yet, but as they
say, one thing at a time.

Doing this now was approved in an impromptu fashion by mrg, riz,
riastradh, me, and groo.
 1.2.26.1 21-May-2018  pgoyette Sync with HEAD
 1.2.20.1 09-Jun-2018  martin Pull up following revision(s) (requested by joerg in ticket #869):

usr.sbin/sysinst/arch/mvme68k/md.c: revision 1.5
usr.sbin/sysinst/net.c: revision 1.24
usr.sbin/sysinst/partman.c: revision 1.22
usr.sbin/sysinst/menus.mi: revision 1.12
usr.sbin/sysinst/arch/i386/md.c: revision 1.8
usr.sbin/sysinst/arch/alpha/md.c: revision 1.3
usr.sbin/sysinst/bsddisklabel.c: revision 1.3
usr.sbin/sysinst/arch/x68k/md.c: revision 1.5
usr.sbin/sysinst/arch/hp300/md.c: revision 1.5
usr.sbin/sysinst/arch/emips/md.c: revision 1.4
usr.sbin/sysinst/arch/pmax/md.c: revision 1.3
usr.sbin/sysinst/arch/mipsco/md.c: revision 1.3
usr.sbin/sysinst/arch/hppa/md.c: revision 1.3
usr.sbin/sysinst/util.c: revision 1.8
usr.sbin/sysinst/defs.h: revision 1.10
usr.sbin/sysinst/arch/landisk/md.c: revision 1.4

deconst -> __UNCONST, the former involves UB with NULL arithmetic.
 1.2.6.2 20-Aug-2014  tls Rebase to HEAD as of a few days ago.
 1.2.6.1 03-Aug-2014  tls file md.c was added on branch tls-maxphys on 2014-08-20 00:05:16 +0000
 1.2.2.2 10-Aug-2014  tls Rebase.
 1.2.2.1 03-Aug-2014  tls file md.c was added on branch tls-earlyentropy on 2014-08-10 07:00:27 +0000
 1.3.2.2 13-Apr-2020  martin Mostly merge changes from HEAD upto 20200411
 1.3.2.1 08-Apr-2020  martin Merge changes from current as of 20200406
 1.6.2.3 02-Feb-2022  msaitoh Pull up following revision(s) (requested by martin in ticket #1422):
usr.sbin/sysinst/util.c: revision 1.64
usr.sbin/sysinst/arch/hpcsh/md.c: revision 1.11
usr.sbin/sysinst/arch/alpha/md.c: revision 1.10
usr.sbin/sysinst/arch/sparc64/md.c: revision 1.7
usr.sbin/sysinst/arch/emips/md.c: revision 1.10
usr.sbin/sysinst/arch/cobalt/md.c: revision 1.15
usr.sbin/sysinst/arch/x68k/md.c: revision 1.12
usr.sbin/sysinst/arch/sandpoint/md.c: revision 1.10
usr.sbin/sysinst/arch/luna68k/md.c: revision 1.10
usr.sbin/sysinst/arch/hp300/md.c: revision 1.12
usr.sbin/sysinst/arch/vax/md.c: revision 1.8
usr.sbin/sysinst/arch/hpcmips/md.c: revision 1.10
usr.sbin/sysinst/target.c: revision 1.16
usr.sbin/sysinst/arch/mvme68k/md.c: revision 1.12
usr.sbin/sysinst/arch/arc/md.c: revision 1.14
usr.sbin/sysinst/target.c: revision 1.17
usr.sbin/sysinst/arch/i386/md.c: revision 1.34
usr.sbin/sysinst/arch/mac68k/md.c: revision 1.11
usr.sbin/sysinst/arch/atari/md.c: revision 1.8
usr.sbin/sysinst/arch/sgimips/md.c: revision 1.10
usr.sbin/sysinst/arch/acorn32/md.c: revision 1.8
usr.sbin/sysinst/install.c: revision 1.22
usr.sbin/sysinst/arch/amiga/md.c: revision 1.7
usr.sbin/sysinst/arch/cats/md.c: revision 1.6
usr.sbin/sysinst/arch/dummy/md.c: revision 1.7
usr.sbin/sysinst/arch/shark/md.c: revision 1.7
usr.sbin/sysinst/arch/pmax/md.c: revision 1.9
usr.sbin/sysinst/arch/newsmips/md.c: revision 1.7
usr.sbin/sysinst/arch/mipsco/md.c: revision 1.9
usr.sbin/sysinst/arch/landisk/md.c: revision 1.15
usr.sbin/sysinst/arch/hppa/md.c: revision 1.9
usr.sbin/sysinst/arch/prep/md.c: revision 1.14
usr.sbin/sysinst/defs.h: revision 1.77
usr.sbin/sysinst/arch/ofppc/md.c: revision 1.13
usr.sbin/sysinst/arch/ews4800mips/md.c: revision 1.8
usr.sbin/sysinst/defs.h: revision 1.78
usr.sbin/sysinst/arch/macppc/md.c: revision 1.7
usr.sbin/sysinst/arch/evbppc/md.c: revision 1.10
usr.sbin/sysinst/defs.h: revision 1.79
usr.sbin/sysinst/gpt.c: revision 1.27
usr.sbin/sysinst/arch/bebox/md.c: revision 1.10
usr.sbin/sysinst/gpt.c: revision 1.28
usr.sbin/sysinst/arch/sparc/md.c: revision 1.7
usr.sbin/sysinst/arch/evbsh3/md.c: revision 1.7
usr.sbin/sysinst/arch/evbarm/md.c: revision 1.22
usr.sbin/sysinst/arch/news68k/md.c: revision 1.8
usr.sbin/sysinst/upgrade.c: revision 1.19
usr.sbin/sysinst/arch/zaurus/md.c: revision 1.12
usr.sbin/sysinst/arch/playstation2/md.c: revision 1.10
usr.sbin/sysinst/arch/hpcarm/md.c: revision 1.11
usr.sbin/sysinst/arch/evbmips/md.c: revision 1.10
usr.sbin/sysinst/main.c: revision 1.28
Add an option to set the directory where we look for message catalogs.
Try to get rid of all wedges we created (after unmounting).
When upgrading, update the boot code post extraction from
the updated target file system.
Do not defer wedge deletions when we have nothing mounted.
Define and use a constant for maximum disk name length.
 1.6.2.2 15-Oct-2020  bouyer Pull up following revision(s) (requested by martin in ticket #1113):
usr.sbin/sysinst/bsddisklabel.c: revision 1.46
usr.sbin/sysinst/bsddisklabel.c: revision 1.47
usr.sbin/sysinst/disklabel.c: revision 1.40
usr.sbin/sysinst/arch/cobalt/md.c: revision 1.13
usr.sbin/sysinst/bsddisklabel.c: revision 1.48
usr.sbin/sysinst/disklabel.c: revision 1.41
usr.sbin/sysinst/arch/cobalt/md.c: revision 1.14
usr.sbin/sysinst/bsddisklabel.c: revision 1.49
usr.sbin/sysinst/disklabel.c: revision 1.42
usr.sbin/sysinst/Makefile.inc: revision 1.34
usr.sbin/sysinst/disks.c: revision 1.70
usr.sbin/sysinst/arch/hp300/md.c: revision 1.11
usr.sbin/sysinst/disks.c: revision 1.71
usr.sbin/sysinst/arch/i386/md.h: revision 1.8
usr.sbin/sysinst/arch/arc/md.c: revision 1.13
usr.sbin/sysinst/mbr.h: revision 1.5
usr.sbin/sysinst/mbr.h: revision 1.6
usr.sbin/sysinst/arch/mac68k/md.c: revision 1.10
usr.sbin/sysinst/bsddisklabel.c: revision 1.50
usr.sbin/sysinst/arch/acorn32/md.c: revision 1.7
usr.sbin/sysinst/bsddisklabel.c: revision 1.51
usr.sbin/sysinst/bsddisklabel.c: revision 1.52
usr.sbin/sysinst/bsddisklabel.c: revision 1.53
usr.sbin/sysinst/bsddisklabel.c: revision 1.54
usr.sbin/sysinst/bsddisklabel.c: revision 1.55
usr.sbin/sysinst/bsddisklabel.c: revision 1.56
usr.sbin/sysinst/arch/dummy/md.c: revision 1.6
usr.sbin/sysinst/arch/amd64/md.h: revision 1.9
usr.sbin/sysinst/arch/evbsh3/md.c: revision 1.6
usr.sbin/sysinst/arch/sparc/md.c: revision 1.6
usr.sbin/sysinst/arch/zaurus/md.c: revision 1.10
usr.sbin/sysinst/arch/x68k/md.c: revision 1.11
usr.sbin/sysinst/arch/sandpoint/md.c: revision 1.9
usr.sbin/sysinst/arch/vax/md.c: revision 1.7
usr.sbin/sysinst/arch/luna68k/md.c: revision 1.9
usr.sbin/sysinst/gpt.c: revision 1.19
usr.sbin/sysinst/arch/i386/md.c: revision 1.31
usr.sbin/sysinst/arch/i386/md.c: revision 1.32
usr.sbin/sysinst/arch/evbarm/md.c: revision 1.17
usr.sbin/sysinst/arch/evbarm/md.c: revision 1.18
usr.sbin/sysinst/arch/evbarm/md.c: revision 1.19
usr.sbin/sysinst/arch/shark/md.c: revision 1.6
usr.sbin/sysinst/arch/landisk/md.c: revision 1.14
usr.sbin/sysinst/util.c: revision 1.43
usr.sbin/sysinst/gpt.c: revision 1.20
usr.sbin/sysinst/util.c: revision 1.44
usr.sbin/sysinst/gpt.c: revision 1.21
usr.sbin/sysinst/gpt.c: revision 1.22
usr.sbin/sysinst/arch/evbarm/msg.md.en: revision 1.2
usr.sbin/sysinst/arch/ofppc/md.c: revision 1.11
usr.sbin/sysinst/util.c: revision 1.46
usr.sbin/sysinst/arch/ofppc/md.c: revision 1.12
usr.sbin/sysinst/util.c: revision 1.47
usr.sbin/sysinst/arch/evbarm/md.h: revision 1.6
usr.sbin/sysinst/util.c: revision 1.48
usr.sbin/sysinst/arch/evbarm/md.h: revision 1.7
usr.sbin/sysinst/arch/evbmips/md.c: revision 1.9
usr.sbin/sysinst/msg.mi.fr: revision 1.28
usr.sbin/sysinst/msg.mi.fr: revision 1.29
usr.sbin/sysinst/arch/sgimips/md.c: revision 1.9
usr.sbin/sysinst/arch/evbarm/Makefile: revision 1.3
usr.sbin/sysinst/msg.mi.de: revision 1.23
usr.sbin/sysinst/arch/hpcsh/md.c: revision 1.10
usr.sbin/sysinst/msg.mi.de: revision 1.24
usr.sbin/sysinst/install.c: revision 1.15
usr.sbin/sysinst/install.c: revision 1.16
usr.sbin/sysinst/arch/sparc64/md.c: revision 1.6
usr.sbin/sysinst/install.c: revision 1.17
usr.sbin/sysinst/install.c: revision 1.18
usr.sbin/sysinst/partitions.h: revision 1.16
usr.sbin/sysinst/install.c: revision 1.19
usr.sbin/sysinst/partitions.h: revision 1.17
usr.sbin/sysinst/arch/evbppc/md.c: revision 1.9
usr.sbin/sysinst/arch/playstation2/md.c: revision 1.9
usr.sbin/sysinst/partitions.h: revision 1.18
usr.sbin/sysinst/arch/hpcarm/md.c: revision 1.9
usr.sbin/sysinst/partitions.h: revision 1.19
usr.sbin/sysinst/msg.mi.es: revision 1.24
usr.sbin/sysinst/msg.mi.es: revision 1.25
usr.sbin/sysinst/msg.mi.es: revision 1.26
usr.sbin/sysinst/arch/zaurus/md.c: revision 1.9
usr.sbin/sysinst/target.c: revision 1.13
usr.sbin/sysinst/target.c: revision 1.14
usr.sbin/sysinst/part_edit.c: revision 1.17
usr.sbin/sysinst/part_edit.c: revision 1.18
usr.sbin/sysinst/msg.mi.fr: revision 1.30
usr.sbin/sysinst/arch/mvme68k/md.c: revision 1.11
usr.sbin/sysinst/part_edit.c: revision 1.19
usr.sbin/sysinst/msg.mi.fr: revision 1.31
usr.sbin/sysinst/arch/alpha/md.c: revision 1.9
usr.sbin/sysinst/msg.mi.en: revision 1.30
usr.sbin/sysinst/defs.h: revision 1.56
usr.sbin/sysinst/msg.mi.en: revision 1.31
usr.sbin/sysinst/defs.h: revision 1.57
usr.sbin/sysinst/msg.mi.en: revision 1.32
usr.sbin/sysinst/arch/amiga/md.c: revision 1.6
usr.sbin/sysinst/arch/hpcmips/md.c: revision 1.9
usr.sbin/sysinst/defs.h: revision 1.58
usr.sbin/sysinst/arch/cats/md.c: revision 1.5
usr.sbin/sysinst/defs.h: revision 1.59
usr.sbin/sysinst/arch/newsmips/md.c: revision 1.6
usr.sbin/sysinst/arch/pmax/md.c: revision 1.8
usr.sbin/sysinst/arch/mipsco/md.c: revision 1.8
usr.sbin/sysinst/part_edit.c: revision 1.20
usr.sbin/sysinst/part_edit.c: revision 1.21
usr.sbin/sysinst/arch/macppc/md.c: revision 1.6
usr.sbin/sysinst/part_edit.c: revision 1.22
usr.sbin/sysinst/part_edit.c: revision 1.23
usr.sbin/sysinst/part_edit.c: revision 1.24
usr.sbin/sysinst/defs.h: revision 1.60
usr.sbin/sysinst/arch/mac68k/Makefile: revision 1.3
usr.sbin/sysinst/defs.h: revision 1.61
usr.sbin/sysinst/defs.h: revision 1.63
usr.sbin/sysinst/defs.h: revision 1.64
usr.sbin/sysinst/defs.h: revision 1.65
usr.sbin/sysinst/label.c: revision 1.21
usr.sbin/sysinst/defs.h: revision 1.66
usr.sbin/sysinst/label.c: revision 1.22
usr.sbin/sysinst/defs.h: revision 1.67
usr.sbin/sysinst/label.c: revision 1.23
usr.sbin/sysinst/label.c: revision 1.24
usr.sbin/sysinst/label.c: revision 1.25
usr.sbin/sysinst/label.c: revision 1.26
usr.sbin/sysinst/label.c: revision 1.27
usr.sbin/sysinst/msg.mi.pl: revision 1.31
usr.sbin/sysinst/label.c: revision 1.28
usr.sbin/sysinst/msg.mi.pl: revision 1.32
usr.sbin/sysinst/label.c: revision 1.29
usr.sbin/sysinst/arch/atari/md.c: revision 1.7
usr.sbin/sysinst/disklabel.c: revision 1.36
usr.sbin/sysinst/disklabel.c: revision 1.37
usr.sbin/sysinst/disklabel.c: revision 1.38
usr.sbin/sysinst/disklabel.c: revision 1.39
usr.sbin/sysinst/arch/bebox/md.c: revision 1.9
usr.sbin/sysinst/mbr.c: revision 1.32
usr.sbin/sysinst/disks.c: revision 1.66
usr.sbin/sysinst/mbr.c: revision 1.33
usr.sbin/sysinst/disks.c: revision 1.67
usr.sbin/sysinst/mbr.c: revision 1.34
usr.sbin/sysinst/arch/emips/md.c: revision 1.9
usr.sbin/sysinst/disks.c: revision 1.68
usr.sbin/sysinst/partitions.c: revision 1.11
usr.sbin/sysinst/mbr.c: revision 1.35
usr.sbin/sysinst/disks.c: revision 1.69
usr.sbin/sysinst/mbr.c: revision 1.36
usr.sbin/sysinst/arch/hppa/md.c: revision 1.8
usr.sbin/sysinst/arch/prep/md.c: revision 1.13
usr.sbin/sysinst/label.c: revision 1.30
usr.sbin/sysinst/arch/ews4800mips/md.c: revision 1.7
usr.sbin/sysinst/main.c: revision 1.21
usr.sbin/sysinst/main.c: revision 1.22
usr.sbin/sysinst/main.c: revision 1.23
usr.sbin/sysinst/bsddisklabel.c: revision 1.40
usr.sbin/sysinst/main.c: revision 1.24
usr.sbin/sysinst/arch/cobalt/md.h: revision 1.6
usr.sbin/sysinst/bsddisklabel.c: revision 1.41
usr.sbin/sysinst/main.c: revision 1.25
usr.sbin/sysinst/arch/news68k/md.c: revision 1.7
usr.sbin/sysinst/bsddisklabel.c: revision 1.42
usr.sbin/sysinst/bsddisklabel.c: revision 1.43
usr.sbin/sysinst/bsddisklabel.c: revision 1.44
usr.sbin/sysinst/bsddisklabel.c: revision 1.45
Use strlcpy in a few places to guarnatee 0-terminated strings
Rever previous: the d_packname in struct disklabel is not NUL terminated.
Disable the warning instead.
Do not force -Os optimization (unless SMALLPROG)
Remove unused "rel" global variable and make the -r option a no-op.
PR 55045: strlcpy(NULL, ..., 0) considered harmfull in some implementations.
PR misc/54886: bump threshold for automatic/default creation of a tmpfs /tmp
up slightly (to 384 MB ram). This will make sure the default install has
a > 64 MB /tmp available (number pulled out of thin air, 64 MB is the minimum
required by the ZFS tests).
Don't depend on common symbol definitions.
boardype should not be common.
Redo the root-size-limit check again after we grew the root partition
for kernel dumps. Auto-enable the /usr partition if it overflows.
For all non-root partitions, default to FFSv2.
When extending a partition (to fill the total disk size) do respect
size limits.
Do not suggest a size limited partition for extension by default.
Minor tweak to previous: when forcing a /usr partition just to have an
arbitrary extendable partition, still use its default size initially.
At the end of a new installation save entropy.
Ooops, backout previous - twice the entropy saving is not needed.
Instead slightly improve the (slightly) hidden other code that already
did it.
PR 55202: disable swapping if we started it due to low ram
it's "its"
Remove "If you booted from a floppy" message
Set HAVE_INSTALL_IMAGE for evbarm
Change mountpoint of boot ext2fs from /stand to /ext2 to avoid conflict.
Should be pulled up to netbsd-9, with fixes of PR/55060.
MBR type for Ext2 should be MBR_PTYPE_LNXEXT2, not MBR_PTYPE_FAT12.
Silence -Wstringop-truncation for ``name'' in disp_selected_part().
This variable is used only for display, and truncation seems harmless.
PR 55572: avoid crash when answering the mount point prompt for a previously
empty mount point with an emptry sting.
When adding a new partition in the concrete partition editor, make sure
to set a pointer to the partition table interface in the new entry.
Otherwise we may end up not writing back the partitions at all, leading
to further fallout later.
Receipe to reproduce the issue from Frederic Fauberteau, thanks!
In the concrete partitions editor, after deleting the last partition move
the menu selection to the "add a partition" entry (instead of the sentinel
line which is not an active menu entry).
Typo in comment
Keep a list of all partition tables from which we have deleted partitions
and make sure we update those partition tables when writing partitions,
even if no install related partition remains on them.
Fix display of timezone selection menu
If there is no current partitioning manager assume we are editing the
current system and make target_already_root() return true.
Fixes various fallout when using sysinst post installation.
PR 55377: mark boot partitions in the partition size display, as suggested
by Izumi Tsutsui (minor modifications + all bugs by me)
PR 55378: do not assume RAW_PART to be either 2 or 3
PR 55379: avoid creating bogus /etc/fstab lines for /dev/cd* if no
cdrom is available.
PR 55381: try to deal with moved (but not yet saved) partitions when
calculating free space
Apply patch provided by Izumi Tsutsui in PR 55382: make ext2 partitions
show up in the outer (MBR) partition table, needed for example on Cobalt
where firmware boots from that partition.
PR 55384: detangle pm->ptstart from the "install" flag (selecting a
target partition). Instead introduce a new PTI_INSTALL_TARGET per partition
flag and deal with it in the partitioning backends.
Honour pm->ptstart when allocating new partitions - it is supposed to be
the first sector usable by NetBSD.
If we have no explicitly marke target root partition, make sure to set
the proper flag on the implicit one.
When merging existing partitions with desired target system layout
information, only force the "mount" flag if the existing partitions
has a valid mount point.
Add a heuristic to detect and properly mark EFI system partitions
when re-using pre-existing partitions.
When MD code requests a reserved area (at the start of the disk)
make sure to properly account for the "lost" space during all calculations
and especially when expanding the main partition to fill the disk.
Avoid using the global "pm" or a passed device descriptons when we are
passing disk limits explicitly anyway.
Simplify/fix a few rounding calculations.
When creating new partitions for "full disk" use, pass a install target
hint to the partitioning backend (for the outer NetBSD partition).
Use an install target hint to mark a new partition active.
When compiled with BOOTSEL support, also name the new partition "NetBSD".
Remove more pm->ptstart abuse - calculate values localy where needed
instead.
Fix editing start and size of not yet existing outer partitions.
Previously we abused pm->ptstart / pm->ptsize to pass the bounds of the
NetBSD outer partition to the inner partition editor - but now this is
not a valid assumption any more, so explicitly fix the bounds if an
outer partition exists.
Remove very strange code that special-cased MSDOS file systems and refused
to newfs the partition (despite explicit request to do so) if it was
mountable.
Accidently carried over from a dim and distant past, before we had
fsck_newfs.
PR 55536: when we find existing partition tables and have alternative
formats available, offer to delete partitions and create new ones from
scratch (in some other or the same on-disk format).
Minor fix to previous: fix condition when we offer the partition type
switch - it makes sense even if the disk is partitioned but has no valid
partitions.
Before forcing MBR partitions into our disklabel, make sure they are not
there yet - could happen in various paths when reusing existing partitions
(or parts of that) - previously we would blindly duplicate identical
partitions.
Ooops, part of previous was not meant to be included yet
When renumbering partitions (after deletions) be slightly more lax
in matching, to cope with differences between MBR EFI partitions and
disklabel MSDOS partitions.
PR 55142: on popular demand bring back expert options to adjust the
number of free inodes, block size and fragment size for FFS and LFS.
Fix copy & pasto noticed by Jason Mitchell: change the type of a GPT
partition via "gpt type" - not "gpt label".
Fix copy & pasto (missing "again" label)
Remove dead code
Move MBR writing (if any) post disklabel writing, otherwise strange
interactions happen.
Properly convert partition default sizes in MB to number of sectors
 1.6.2.1 17-Dec-2019  msaitoh Pull up following revision(s) (requested by martin in ticket #560):
usr.sbin/sysinst/partitions.h: revision 1.11
usr.sbin/sysinst/defs.h: revision 1.49
usr.sbin/sysinst/mbr.c: revision 1.23
usr.sbin/sysinst/msg.mi.en: revision 1.26
usr.sbin/sysinst/disks.c: revision 1.58
usr.sbin/sysinst/arch/evbarm/menus.md.pl: revision 1.2
usr.sbin/sysinst/msg.mi.es: revision 1.20
usr.sbin/sysinst/arch/mvme68k/md.c: revision 1.9
usr.sbin/sysinst/gpt.c: revision 1.13
usr.sbin/sysinst/arch/evbarm/md.c: revision 1.10
usr.sbin/sysinst/arch/arc/md.c: revision 1.10
usr.sbin/sysinst/disklabel.c: revision 1.18
usr.sbin/sysinst/bsddisklabel.c: revision 1.33
usr.sbin/sysinst/disklabel.c: revision 1.19
usr.sbin/sysinst/main.c: revision 1.19
usr.sbin/sysinst/partman.c: revision 1.45
usr.sbin/sysinst/arch/alpha/md.c: revision 1.7
usr.sbin/sysinst/msg.mi.de: revision 1.19
usr.sbin/sysinst/arch/evbarm/menus.md.en: revision 1.2
usr.sbin/sysinst/arch/x68k/md.h: revision 1.4
usr.sbin/sysinst/arch/x68k/md.c: revision 1.9
usr.sbin/sysinst/arch/evbarm/menus.md.es: revision 1.2
usr.sbin/sysinst/wskbd.c: revision 1.4
usr.sbin/sysinst/label.c: revision 1.15
usr.sbin/sysinst/arch/amiga/md.h: revision 1.5
usr.sbin/sysinst/label.c: revision 1.16
usr.sbin/sysinst/arch/hp300/md.c: revision 1.9
usr.sbin/sysinst/arch/emips/md.c: revision 1.8
usr.sbin/sysinst/label.c: revision 1.17
usr.sbin/sysinst/arch/pmax/md.c: revision 1.7
usr.sbin/sysinst/partitions.c: revision 1.6
usr.sbin/sysinst/arch/prep/md.c: revision 1.10
usr.sbin/sysinst/arch/mipsco/md.c: revision 1.7
usr.sbin/sysinst/partitions.c: revision 1.7
usr.sbin/sysinst/partitions.c: revision 1.8
usr.sbin/sysinst/arch/ews4800mips/md.c: revision 1.5
usr.sbin/sysinst/disklabel.c: revision 1.20
usr.sbin/sysinst/arch/evbarm/menus.md.fr: revision 1.2
usr.sbin/sysinst/msg.mi.fr: revision 1.24
usr.sbin/sysinst/disklabel.c: revision 1.21
usr.sbin/sysinst/partitions.h: revision 1.9
usr.sbin/sysinst/msg.mi.pl: revision 1.27
usr.sbin/sysinst/disklabel.c: revision 1.22
usr.sbin/sysinst/disklabel.c: revision 1.23
usr.sbin/sysinst/arch/i386/md.c: revision 1.27
usr.sbin/sysinst/disklabel.c: revision 1.24
usr.sbin/sysinst/disklabel.c: revision 1.25
usr.sbin/sysinst/arch/cobalt/md.h: revision 1.5
usr.sbin/sysinst/disklabel.c: revision 1.26
usr.sbin/sysinst/disklabel.c: revision 1.27
usr.sbin/sysinst/partitions.h: revision 1.10
usr.sbin/sysinst/arch/cobalt/md.c: revision 1.10
PR install/54582: allow MD code to disable on-disk presence verification
of "real" disklabels. Auto-enable this (at run time) when there is no other
partitioning scheme but disklabel configured.
Hard-coded enable this for x68k to allow using kernel based translations
for native Human68k partitions.
Get rid of the evbarm preliminary menu: do not bother to ask the user
whether this is a RPi - query the FDT instead.
PR 54065: add optional "old compat" variant of ext2fs in file system
type selection and use that as default for the cobalt boot file system.
For now rely on the kernel mapping native RDB partitions.
Fix detection of existing disklabels in the case when we only have
the disklabel partitioning scheme available.
Fix DISKLABEL_NO_ONDISK_VERIFY (accidently disabled in previous)
Fix inverted comparison
Do not try to change the keyboard layout if we are not running on the
console.
When trying to tell a fictious but empty label from a real one, skip
partition a if it has the same start and size as the raw partition.
Remove bogus assert.
When finding (paritioning scheme native) partition types for file systems
from our install description, pass the partition type (not only the file
system type). Sometimes (e.g. EFI boot partition on GPT) the filesystem
type (MSDOS) is not a unique selector.
Adapt MD parts to changes in get_fs_part_type (pass partition type).
If a fictious label has no RAW_PART assume there is no valid disk label.
Pass proper track size when initializing the default alignment - this is
important with sunlabels.
Fix overlapping partitions display
Reject (what we consider) empty/invalid fake disklabels no matter whether
we have other partitioning schemes available or not.
Do not show disklabel command invocation by default (only if there are
errors).
After installing boot blocks with RUN_NO_CLEAR (and handling the
potential errors) make sure to clear the stdscreen.
 1.9.4.1 02-Aug-2025  perseant Sync with HEAD
 1.4 26-Apr-2025  tsutsui Remove obsolete MD 'PART_(ROOT|SWAP|BSD|RAW|USR|REST|FIRST_FREE)' defines.

Patch from Miod Vallat.
 1.3 16-Jun-2022  tsutsui branches: 1.3.4;
Define DEFSWAPSIZE properly. DEFSWAPRAM seems obsolete.
 1.2 16-Nov-2018  martin Sync install size estimates with current reality
 1.1 26-Jul-2014  dholland branches: 1.1.2; 1.1.6; 1.1.26; 1.1.28;
Move sysinst sources to usr.sbin.

This commit only physically moves the sources - there are no other
changes, to maximize the probability that this will be treated as a
rename if we ever do manage to migrate away from CVS.

Moving sysinst has been discussed on and off for years and has two
goals: making it easier to work on sysinst, and also making sysinst
available on running systems for use installing chroots and VM images
and other such things. None of the latter is possible yet, but as they
say, one thing at a time.

Doing this now was approved in an impromptu fashion by mrg, riz,
riastradh, me, and groo.
 1.1.28.1 10-Jun-2019  christos Sync with HEAD
 1.1.26.1 26-Nov-2018  pgoyette Sync with HEAD, resolve a couple of conflicts
 1.1.6.2 20-Aug-2014  tls Rebase to HEAD as of a few days ago.
 1.1.6.1 26-Jul-2014  tls file md.h was added on branch tls-maxphys on 2014-08-20 00:05:16 +0000
 1.1.2.2 10-Aug-2014  tls Rebase.
 1.1.2.1 26-Jul-2014  tls file md.h was added on branch tls-earlyentropy on 2014-08-10 07:00:27 +0000
 1.3.4.1 02-Aug-2025  perseant Sync with HEAD
 1.1 26-Jul-2014  dholland branches: 1.1.2; 1.1.6;
Move sysinst sources to usr.sbin.

This commit only physically moves the sources - there are no other
changes, to maximize the probability that this will be treated as a
rename if we ever do manage to migrate away from CVS.

Moving sysinst has been discussed on and off for years and has two
goals: making it easier to work on sysinst, and also making sysinst
available on running systems for use installing chroots and VM images
and other such things. None of the latter is possible yet, but as they
say, one thing at a time.

Doing this now was approved in an impromptu fashion by mrg, riz,
riastradh, me, and groo.
 1.1.6.2 20-Aug-2014  tls Rebase to HEAD as of a few days ago.
 1.1.6.1 26-Jul-2014  tls file menus.md.en was added on branch tls-maxphys on 2014-08-20 00:05:16 +0000
 1.1.2.2 10-Aug-2014  tls Rebase.
 1.1.2.1 26-Jul-2014  tls file menus.md.en was added on branch tls-earlyentropy on 2014-08-10 07:00:27 +0000
 1.1 26-Jul-2014  dholland branches: 1.1.2; 1.1.6;
Move sysinst sources to usr.sbin.

This commit only physically moves the sources - there are no other
changes, to maximize the probability that this will be treated as a
rename if we ever do manage to migrate away from CVS.

Moving sysinst has been discussed on and off for years and has two
goals: making it easier to work on sysinst, and also making sysinst
available on running systems for use installing chroots and VM images
and other such things. None of the latter is possible yet, but as they
say, one thing at a time.

Doing this now was approved in an impromptu fashion by mrg, riz,
riastradh, me, and groo.
 1.1.6.2 20-Aug-2014  tls Rebase to HEAD as of a few days ago.
 1.1.6.1 26-Jul-2014  tls file menus.md.es was added on branch tls-maxphys on 2014-08-20 00:05:16 +0000
 1.1.2.2 10-Aug-2014  tls Rebase.
 1.1.2.1 26-Jul-2014  tls file menus.md.es was added on branch tls-earlyentropy on 2014-08-10 07:00:27 +0000
 1.1 26-Jul-2014  dholland branches: 1.1.2; 1.1.6;
Move sysinst sources to usr.sbin.

This commit only physically moves the sources - there are no other
changes, to maximize the probability that this will be treated as a
rename if we ever do manage to migrate away from CVS.

Moving sysinst has been discussed on and off for years and has two
goals: making it easier to work on sysinst, and also making sysinst
available on running systems for use installing chroots and VM images
and other such things. None of the latter is possible yet, but as they
say, one thing at a time.

Doing this now was approved in an impromptu fashion by mrg, riz,
riastradh, me, and groo.
 1.1.6.2 20-Aug-2014  tls Rebase to HEAD as of a few days ago.
 1.1.6.1 26-Jul-2014  tls file menus.md.fr was added on branch tls-maxphys on 2014-08-20 00:05:16 +0000
 1.1.2.2 10-Aug-2014  tls Rebase.
 1.1.2.1 26-Jul-2014  tls file menus.md.fr was added on branch tls-earlyentropy on 2014-08-10 07:00:27 +0000
 1.1 26-Jul-2014  dholland branches: 1.1.2; 1.1.6;
Move sysinst sources to usr.sbin.

This commit only physically moves the sources - there are no other
changes, to maximize the probability that this will be treated as a
rename if we ever do manage to migrate away from CVS.

Moving sysinst has been discussed on and off for years and has two
goals: making it easier to work on sysinst, and also making sysinst
available on running systems for use installing chroots and VM images
and other such things. None of the latter is possible yet, but as they
say, one thing at a time.

Doing this now was approved in an impromptu fashion by mrg, riz,
riastradh, me, and groo.
 1.1.6.2 20-Aug-2014  tls Rebase to HEAD as of a few days ago.
 1.1.6.1 26-Jul-2014  tls file menus.md.pl was added on branch tls-maxphys on 2014-08-20 00:05:16 +0000
 1.1.2.2 10-Aug-2014  tls Rebase.
 1.1.2.1 26-Jul-2014  tls file menus.md.pl was added on branch tls-earlyentropy on 2014-08-10 07:00:27 +0000
 1.1 26-Jul-2014  dholland branches: 1.1.2; 1.1.6;
Move sysinst sources to usr.sbin.

This commit only physically moves the sources - there are no other
changes, to maximize the probability that this will be treated as a
rename if we ever do manage to migrate away from CVS.

Moving sysinst has been discussed on and off for years and has two
goals: making it easier to work on sysinst, and also making sysinst
available on running systems for use installing chroots and VM images
and other such things. None of the latter is possible yet, but as they
say, one thing at a time.

Doing this now was approved in an impromptu fashion by mrg, riz,
riastradh, me, and groo.
 1.1.6.2 20-Aug-2014  tls Rebase to HEAD as of a few days ago.
 1.1.6.1 26-Jul-2014  tls file msg.md.de was added on branch tls-maxphys on 2014-08-20 00:05:16 +0000
 1.1.2.2 10-Aug-2014  tls Rebase.
 1.1.2.1 26-Jul-2014  tls file msg.md.de was added on branch tls-earlyentropy on 2014-08-10 07:00:27 +0000
 1.1 26-Jul-2014  dholland branches: 1.1.2; 1.1.6;
Move sysinst sources to usr.sbin.

This commit only physically moves the sources - there are no other
changes, to maximize the probability that this will be treated as a
rename if we ever do manage to migrate away from CVS.

Moving sysinst has been discussed on and off for years and has two
goals: making it easier to work on sysinst, and also making sysinst
available on running systems for use installing chroots and VM images
and other such things. None of the latter is possible yet, but as they
say, one thing at a time.

Doing this now was approved in an impromptu fashion by mrg, riz,
riastradh, me, and groo.
 1.1.6.2 20-Aug-2014  tls Rebase to HEAD as of a few days ago.
 1.1.6.1 26-Jul-2014  tls file msg.md.en was added on branch tls-maxphys on 2014-08-20 00:05:16 +0000
 1.1.2.2 10-Aug-2014  tls Rebase.
 1.1.2.1 26-Jul-2014  tls file msg.md.en was added on branch tls-earlyentropy on 2014-08-10 07:00:27 +0000
 1.1 26-Jul-2014  dholland branches: 1.1.2; 1.1.6;
Move sysinst sources to usr.sbin.

This commit only physically moves the sources - there are no other
changes, to maximize the probability that this will be treated as a
rename if we ever do manage to migrate away from CVS.

Moving sysinst has been discussed on and off for years and has two
goals: making it easier to work on sysinst, and also making sysinst
available on running systems for use installing chroots and VM images
and other such things. None of the latter is possible yet, but as they
say, one thing at a time.

Doing this now was approved in an impromptu fashion by mrg, riz,
riastradh, me, and groo.
 1.1.6.2 20-Aug-2014  tls Rebase to HEAD as of a few days ago.
 1.1.6.1 26-Jul-2014  tls file msg.md.es was added on branch tls-maxphys on 2014-08-20 00:05:16 +0000
 1.1.2.2 10-Aug-2014  tls Rebase.
 1.1.2.1 26-Jul-2014  tls file msg.md.es was added on branch tls-earlyentropy on 2014-08-10 07:00:27 +0000
 1.1 26-Jul-2014  dholland branches: 1.1.2; 1.1.6;
Move sysinst sources to usr.sbin.

This commit only physically moves the sources - there are no other
changes, to maximize the probability that this will be treated as a
rename if we ever do manage to migrate away from CVS.

Moving sysinst has been discussed on and off for years and has two
goals: making it easier to work on sysinst, and also making sysinst
available on running systems for use installing chroots and VM images
and other such things. None of the latter is possible yet, but as they
say, one thing at a time.

Doing this now was approved in an impromptu fashion by mrg, riz,
riastradh, me, and groo.
 1.1.6.2 20-Aug-2014  tls Rebase to HEAD as of a few days ago.
 1.1.6.1 26-Jul-2014  tls file msg.md.fr was added on branch tls-maxphys on 2014-08-20 00:05:16 +0000
 1.1.2.2 10-Aug-2014  tls Rebase.
 1.1.2.1 26-Jul-2014  tls file msg.md.fr was added on branch tls-earlyentropy on 2014-08-10 07:00:27 +0000
 1.1 26-Jul-2014  dholland branches: 1.1.2; 1.1.6;
Move sysinst sources to usr.sbin.

This commit only physically moves the sources - there are no other
changes, to maximize the probability that this will be treated as a
rename if we ever do manage to migrate away from CVS.

Moving sysinst has been discussed on and off for years and has two
goals: making it easier to work on sysinst, and also making sysinst
available on running systems for use installing chroots and VM images
and other such things. None of the latter is possible yet, but as they
say, one thing at a time.

Doing this now was approved in an impromptu fashion by mrg, riz,
riastradh, me, and groo.
 1.1.6.2 20-Aug-2014  tls Rebase to HEAD as of a few days ago.
 1.1.6.1 26-Jul-2014  tls file msg.md.pl was added on branch tls-maxphys on 2014-08-20 00:05:16 +0000
 1.1.2.2 10-Aug-2014  tls Rebase.
 1.1.2.1 26-Jul-2014  tls file msg.md.pl was added on branch tls-earlyentropy on 2014-08-10 07:00:27 +0000
 1.1 26-Jul-2014  dholland branches: 1.1.2; 1.1.6;
Move sysinst sources to usr.sbin.

This commit only physically moves the sources - there are no other
changes, to maximize the probability that this will be treated as a
rename if we ever do manage to migrate away from CVS.

Moving sysinst has been discussed on and off for years and has two
goals: making it easier to work on sysinst, and also making sysinst
available on running systems for use installing chroots and VM images
and other such things. None of the latter is possible yet, but as they
say, one thing at a time.

Doing this now was approved in an impromptu fashion by mrg, riz,
riastradh, me, and groo.
 1.1.6.2 20-Aug-2014  tls Rebase to HEAD as of a few days ago.
 1.1.6.1 26-Jul-2014  tls file Makefile was added on branch tls-maxphys on 2014-08-20 00:05:16 +0000
 1.1.2.2 10-Aug-2014  tls Rebase.
 1.1.2.1 26-Jul-2014  tls file Makefile was added on branch tls-earlyentropy on 2014-08-10 07:00:27 +0000
 1.12 29-Jan-2022  martin When upgrading, update the boot code post extraction from
the updated target file system.
 1.11 12-Oct-2020  martin PR 55536: when we find existing partition tables and have alternative
formats available, offer to delete partitions and create new ones from
scratch (in some other or the same on-disk format).
 1.10 03-Feb-2020  martin PR install/54921: skip non-user partitions when checking for overlaps
 1.9 15-Dec-2019  martin After installing boot blocks with RUN_NO_CLEAR (and handling the
potential errors) make sure to clear the stdscreen.
 1.8 13-Jul-2019  martin branches: 1.8.2;
We may call md_pre_mount() multiple times for the same install set,
so pass an additional index argument so MD code knows which part
of the install will be mounted next.
 1.7 20-Jun-2019  christos Use _fmt_ msg_ methods when formats are needed.
 1.6 12-Jun-2019  martin Rework internal data structures and "interfaces to user interface" functions
to get rid of all disklabel assumptions.

Previously (even for GPT partitioning) struct disklabel was used, which
obviously breaks large disk setups. Also many MD parts and parts of the
user interface assumed (a) a struct disklabel is used internally to
store partitioning information and (b) partitions are named 'a' ... $MAXPART.

Get rid of this and replace it with a quite abstract interface that should
be able to deal with all variants in partition storage:

- partitions are stored in a (partly abstract) struct disk_partitions
and most parts of it are only accessed via accessor functions provided
by a "partitioning scheme".

- implement partitioning schemes for MBR, disklabel and GPT (with likely
RDB [amiga] and Apple Partition Map [mac*] to follow soon)

- partitioning schemes may be cascaded, e.g. on x86 when using MBR as
"outer partitions", we have disklabel as "inner partitions".

- all user interface goes via accessor functions in the partitioning scheme,
some of which return pointers to special user interface descriptors
(e.g. to allow editing partition flags, which are scheme specific)

Overall the user interface changes (in this initial step) are minimal but
noticable. A new Anita is needed for automatic test setups - many thanks
to Andreas Gustafsson for lots of early testing and a new Anita version,
and to Manuel Bouyer for cooperation and tests of the Anita release.

This work was sponsored by The NetBSD Foundation, Inc.
 1.5 18-May-2018  joerg branches: 1.5.2;
deconst -> __UNCONST, the former involves UB with NULL arithmetic.
 1.4 10-May-2015  martin branches: 1.4.8; 1.4.14;
Backout the previous incorrect fix for PR 49440 and redo it more globaly:
get rid of the global "yesno", introduce utility functions "ask_yesno()"
and "ask_noyes()" instead, greatly simplifying a lot of code.
Pass in a pointer to the return value to various "set source" menus.
 1.3 02-Jan-2015  abs Rather than scatter set_swap() calls wrapped in ram size checks through
md_post_disklabel() and md_pre_update(), abstract them out to an MI
set_swap_if_low_ram() and call from the appropriate MI places.
Now all platforms add swap if the system has <= 32M of RAM.
 1.2 03-Aug-2014  martin branches: 1.2.2; 1.2.4; 1.2.6;
(Finally) merge a slightly modified version of the 2012 GSoC results
from Eugene Lozovoy: add extended partitioning options to sysinst.
Still needs some testing and polishing, but it now is possible to use GPT
or to create a RAID set from scratch and install onto it.
 1.1 26-Jul-2014  dholland Move sysinst sources to usr.sbin.

This commit only physically moves the sources - there are no other
changes, to maximize the probability that this will be treated as a
rename if we ever do manage to migrate away from CVS.

Moving sysinst has been discussed on and off for years and has two
goals: making it easier to work on sysinst, and also making sysinst
available on running systems for use installing chroots and VM images
and other such things. None of the latter is possible yet, but as they
say, one thing at a time.

Doing this now was approved in an impromptu fashion by mrg, riz,
riastradh, me, and groo.
 1.2.6.2 20-Aug-2014  tls Rebase to HEAD as of a few days ago.
 1.2.6.1 03-Aug-2014  tls file md.c was added on branch tls-maxphys on 2014-08-20 00:05:16 +0000
 1.2.4.2 14-May-2015  snj Pull up following revision(s) (requested by martin in ticket #756):
usr.sbin/sysinst/arch/arc/md.c: revision 1.4
usr.sbin/sysinst/arch/atari/md.c: revision 1.3
usr.sbin/sysinst/arch/cobalt/md.c: revision 1.4
usr.sbin/sysinst/arch/emips/md.c: revision 1.3
usr.sbin/sysinst/arch/evbarm/md.c: revision 1.4
usr.sbin/sysinst/arch/evbarm64/md.c: revision 1.2
usr.sbin/sysinst/arch/hp300/md.c: revision 1.4
usr.sbin/sysinst/arch/i386/md.c: revision 1.6
usr.sbin/sysinst/arch/mac68k/md.c: revision 1.3
usr.sbin/sysinst/arch/mac68k/md.c: revision 1.4
usr.sbin/sysinst/arch/mac68k/menus.md.de: revisions 1.3, 1.4
usr.sbin/sysinst/arch/mac68k/menus.md.en: revisions 1.3, 1.4
usr.sbin/sysinst/arch/mac68k/menus.md.es: revisions 1.3, 1.4
usr.sbin/sysinst/arch/mac68k/menus.md.pl: revisions 1.3, 1.4
usr.sbin/sysinst/arch/mvme68k/md.c: revision 1.4
usr.sbin/sysinst/arch/ofppc/md.c: revision 1.3
usr.sbin/sysinst/arch/prep/md.c: revisions 1.3, 1.4
usr.sbin/sysinst/arch/prep/menus.md.en: revision 1.2
usr.sbin/sysinst/arch/x68k/md.c: revision 1.4
usr.sbin/sysinst/configmenu.c: revisions 1.4, 1.5
usr.sbin/sysinst/defs.h: revisions 1.8, 1.9
usr.sbin/sysinst/disks.c: revision 1.9
usr.sbin/sysinst/install.c: revision 1.4
usr.sbin/sysinst/label.c: revision 1.3
usr.sbin/sysinst/mbr.c: revision 1.5
usr.sbin/sysinst/menus.mi: revisions 1.9, 1.10
usr.sbin/sysinst/net.c: revisions 1.18-1.20
usr.sbin/sysinst/partman.c: revision 1.10
usr.sbin/sysinst/upgrade.c: revision 1.4
usr.sbin/sysinst/util.c: revisions 1.6, 1.7
Backout the previous incorrect fix for PR 49440 and redo it more globaly:
get rid of the global "yesno", introduce utility functions "ask_yesno()"
and "ask_noyes()" instead, greatly simplifying a lot of code.
Pass in a pointer to the return value to various "set source" menus.
--
Make it compile on architectures that do not support INET6 in sysinst
--
Remove a few more (ab-)usages of "yesno".
--
More (ab-)usages of "yesno"
--
Make "ask_yesno" and "ask_noyes" take a const char * as argument, moving
the deconst() dance into the utility functions and simplifying all callers.
--
Missed a few more "yesno" in previous
 1.2.4.1 11-Jan-2015  snj Pull up following revision(s) (requested by abs in ticket #400):
usr.sbin/sysinst/arch/arc/md.c: revision 1.3
usr.sbin/sysinst/arch/cobalt/md.c: revision 1.3
usr.sbin/sysinst/arch/evbsh3/md.c: revision 1.3
usr.sbin/sysinst/arch/hp300/md.c: revision 1.3
usr.sbin/sysinst/arch/hpcsh/md.c: revision 1.3
usr.sbin/sysinst/arch/i386/md.c: revision 1.5
usr.sbin/sysinst/arch/luna68k/md.c: revision 1.4
usr.sbin/sysinst/arch/mvme68k/md.c: revision 1.3
usr.sbin/sysinst/arch/news68k/md.c: revision 1.3
usr.sbin/sysinst/arch/sgimips/md.c: revision 1.3
usr.sbin/sysinst/arch/vax/md.c: revision 1.3
usr.sbin/sysinst/arch/x68k/md.c: revision 1.3
usr.sbin/sysinst/defs.h: revision 1.6
usr.sbin/sysinst/disks.c: revision 1.7
usr.sbin/sysinst/install.c: revision 1.3
usr.sbin/sysinst/partman.c: revision 1.8
usr.sbin/sysinst/upgrade.c: revision 1.3
Rather than scatter set_swap() calls wrapped in ram size checks through
md_post_disklabel() and md_pre_update(), abstract them out to an MI
set_swap_if_low_ram() and call from the appropriate MI places.
Now all platforms add swap if the system has <= 32M of RAM.
 1.2.2.2 10-Aug-2014  tls Rebase.
 1.2.2.1 03-Aug-2014  tls file md.c was added on branch tls-earlyentropy on 2014-08-10 07:00:27 +0000
 1.4.14.1 21-May-2018  pgoyette Sync with HEAD
 1.4.8.1 09-Jun-2018  martin Pull up following revision(s) (requested by joerg in ticket #869):

usr.sbin/sysinst/arch/mvme68k/md.c: revision 1.5
usr.sbin/sysinst/net.c: revision 1.24
usr.sbin/sysinst/partman.c: revision 1.22
usr.sbin/sysinst/menus.mi: revision 1.12
usr.sbin/sysinst/arch/i386/md.c: revision 1.8
usr.sbin/sysinst/arch/alpha/md.c: revision 1.3
usr.sbin/sysinst/bsddisklabel.c: revision 1.3
usr.sbin/sysinst/arch/x68k/md.c: revision 1.5
usr.sbin/sysinst/arch/hp300/md.c: revision 1.5
usr.sbin/sysinst/arch/emips/md.c: revision 1.4
usr.sbin/sysinst/arch/pmax/md.c: revision 1.3
usr.sbin/sysinst/arch/mipsco/md.c: revision 1.3
usr.sbin/sysinst/arch/hppa/md.c: revision 1.3
usr.sbin/sysinst/util.c: revision 1.8
usr.sbin/sysinst/defs.h: revision 1.10
usr.sbin/sysinst/arch/landisk/md.c: revision 1.4

deconst -> __UNCONST, the former involves UB with NULL arithmetic.
 1.5.2.1 13-Apr-2020  martin Mostly merge changes from HEAD upto 20200411
 1.8.2.4 02-Feb-2022  msaitoh Pull up following revision(s) (requested by martin in ticket #1422):
usr.sbin/sysinst/util.c: revision 1.64
usr.sbin/sysinst/arch/hpcsh/md.c: revision 1.11
usr.sbin/sysinst/arch/alpha/md.c: revision 1.10
usr.sbin/sysinst/arch/sparc64/md.c: revision 1.7
usr.sbin/sysinst/arch/emips/md.c: revision 1.10
usr.sbin/sysinst/arch/cobalt/md.c: revision 1.15
usr.sbin/sysinst/arch/x68k/md.c: revision 1.12
usr.sbin/sysinst/arch/sandpoint/md.c: revision 1.10
usr.sbin/sysinst/arch/luna68k/md.c: revision 1.10
usr.sbin/sysinst/arch/hp300/md.c: revision 1.12
usr.sbin/sysinst/arch/vax/md.c: revision 1.8
usr.sbin/sysinst/arch/hpcmips/md.c: revision 1.10
usr.sbin/sysinst/target.c: revision 1.16
usr.sbin/sysinst/arch/mvme68k/md.c: revision 1.12
usr.sbin/sysinst/arch/arc/md.c: revision 1.14
usr.sbin/sysinst/target.c: revision 1.17
usr.sbin/sysinst/arch/i386/md.c: revision 1.34
usr.sbin/sysinst/arch/mac68k/md.c: revision 1.11
usr.sbin/sysinst/arch/atari/md.c: revision 1.8
usr.sbin/sysinst/arch/sgimips/md.c: revision 1.10
usr.sbin/sysinst/arch/acorn32/md.c: revision 1.8
usr.sbin/sysinst/install.c: revision 1.22
usr.sbin/sysinst/arch/amiga/md.c: revision 1.7
usr.sbin/sysinst/arch/cats/md.c: revision 1.6
usr.sbin/sysinst/arch/dummy/md.c: revision 1.7
usr.sbin/sysinst/arch/shark/md.c: revision 1.7
usr.sbin/sysinst/arch/pmax/md.c: revision 1.9
usr.sbin/sysinst/arch/newsmips/md.c: revision 1.7
usr.sbin/sysinst/arch/mipsco/md.c: revision 1.9
usr.sbin/sysinst/arch/landisk/md.c: revision 1.15
usr.sbin/sysinst/arch/hppa/md.c: revision 1.9
usr.sbin/sysinst/arch/prep/md.c: revision 1.14
usr.sbin/sysinst/defs.h: revision 1.77
usr.sbin/sysinst/arch/ofppc/md.c: revision 1.13
usr.sbin/sysinst/arch/ews4800mips/md.c: revision 1.8
usr.sbin/sysinst/defs.h: revision 1.78
usr.sbin/sysinst/arch/macppc/md.c: revision 1.7
usr.sbin/sysinst/arch/evbppc/md.c: revision 1.10
usr.sbin/sysinst/defs.h: revision 1.79
usr.sbin/sysinst/gpt.c: revision 1.27
usr.sbin/sysinst/arch/bebox/md.c: revision 1.10
usr.sbin/sysinst/gpt.c: revision 1.28
usr.sbin/sysinst/arch/sparc/md.c: revision 1.7
usr.sbin/sysinst/arch/evbsh3/md.c: revision 1.7
usr.sbin/sysinst/arch/evbarm/md.c: revision 1.22
usr.sbin/sysinst/arch/news68k/md.c: revision 1.8
usr.sbin/sysinst/upgrade.c: revision 1.19
usr.sbin/sysinst/arch/zaurus/md.c: revision 1.12
usr.sbin/sysinst/arch/playstation2/md.c: revision 1.10
usr.sbin/sysinst/arch/hpcarm/md.c: revision 1.11
usr.sbin/sysinst/arch/evbmips/md.c: revision 1.10
usr.sbin/sysinst/main.c: revision 1.28
Add an option to set the directory where we look for message catalogs.
Try to get rid of all wedges we created (after unmounting).
When upgrading, update the boot code post extraction from
the updated target file system.
Do not defer wedge deletions when we have nothing mounted.
Define and use a constant for maximum disk name length.
 1.8.2.3 15-Oct-2020  bouyer Pull up following revision(s) (requested by martin in ticket #1113):
usr.sbin/sysinst/bsddisklabel.c: revision 1.46
usr.sbin/sysinst/bsddisklabel.c: revision 1.47
usr.sbin/sysinst/disklabel.c: revision 1.40
usr.sbin/sysinst/arch/cobalt/md.c: revision 1.13
usr.sbin/sysinst/bsddisklabel.c: revision 1.48
usr.sbin/sysinst/disklabel.c: revision 1.41
usr.sbin/sysinst/arch/cobalt/md.c: revision 1.14
usr.sbin/sysinst/bsddisklabel.c: revision 1.49
usr.sbin/sysinst/disklabel.c: revision 1.42
usr.sbin/sysinst/Makefile.inc: revision 1.34
usr.sbin/sysinst/disks.c: revision 1.70
usr.sbin/sysinst/arch/hp300/md.c: revision 1.11
usr.sbin/sysinst/disks.c: revision 1.71
usr.sbin/sysinst/arch/i386/md.h: revision 1.8
usr.sbin/sysinst/arch/arc/md.c: revision 1.13
usr.sbin/sysinst/mbr.h: revision 1.5
usr.sbin/sysinst/mbr.h: revision 1.6
usr.sbin/sysinst/arch/mac68k/md.c: revision 1.10
usr.sbin/sysinst/bsddisklabel.c: revision 1.50
usr.sbin/sysinst/arch/acorn32/md.c: revision 1.7
usr.sbin/sysinst/bsddisklabel.c: revision 1.51
usr.sbin/sysinst/bsddisklabel.c: revision 1.52
usr.sbin/sysinst/bsddisklabel.c: revision 1.53
usr.sbin/sysinst/bsddisklabel.c: revision 1.54
usr.sbin/sysinst/bsddisklabel.c: revision 1.55
usr.sbin/sysinst/bsddisklabel.c: revision 1.56
usr.sbin/sysinst/arch/dummy/md.c: revision 1.6
usr.sbin/sysinst/arch/amd64/md.h: revision 1.9
usr.sbin/sysinst/arch/evbsh3/md.c: revision 1.6
usr.sbin/sysinst/arch/sparc/md.c: revision 1.6
usr.sbin/sysinst/arch/zaurus/md.c: revision 1.10
usr.sbin/sysinst/arch/x68k/md.c: revision 1.11
usr.sbin/sysinst/arch/sandpoint/md.c: revision 1.9
usr.sbin/sysinst/arch/vax/md.c: revision 1.7
usr.sbin/sysinst/arch/luna68k/md.c: revision 1.9
usr.sbin/sysinst/gpt.c: revision 1.19
usr.sbin/sysinst/arch/i386/md.c: revision 1.31
usr.sbin/sysinst/arch/i386/md.c: revision 1.32
usr.sbin/sysinst/arch/evbarm/md.c: revision 1.17
usr.sbin/sysinst/arch/evbarm/md.c: revision 1.18
usr.sbin/sysinst/arch/evbarm/md.c: revision 1.19
usr.sbin/sysinst/arch/shark/md.c: revision 1.6
usr.sbin/sysinst/arch/landisk/md.c: revision 1.14
usr.sbin/sysinst/util.c: revision 1.43
usr.sbin/sysinst/gpt.c: revision 1.20
usr.sbin/sysinst/util.c: revision 1.44
usr.sbin/sysinst/gpt.c: revision 1.21
usr.sbin/sysinst/gpt.c: revision 1.22
usr.sbin/sysinst/arch/evbarm/msg.md.en: revision 1.2
usr.sbin/sysinst/arch/ofppc/md.c: revision 1.11
usr.sbin/sysinst/util.c: revision 1.46
usr.sbin/sysinst/arch/ofppc/md.c: revision 1.12
usr.sbin/sysinst/util.c: revision 1.47
usr.sbin/sysinst/arch/evbarm/md.h: revision 1.6
usr.sbin/sysinst/util.c: revision 1.48
usr.sbin/sysinst/arch/evbarm/md.h: revision 1.7
usr.sbin/sysinst/arch/evbmips/md.c: revision 1.9
usr.sbin/sysinst/msg.mi.fr: revision 1.28
usr.sbin/sysinst/msg.mi.fr: revision 1.29
usr.sbin/sysinst/arch/sgimips/md.c: revision 1.9
usr.sbin/sysinst/arch/evbarm/Makefile: revision 1.3
usr.sbin/sysinst/msg.mi.de: revision 1.23
usr.sbin/sysinst/arch/hpcsh/md.c: revision 1.10
usr.sbin/sysinst/msg.mi.de: revision 1.24
usr.sbin/sysinst/install.c: revision 1.15
usr.sbin/sysinst/install.c: revision 1.16
usr.sbin/sysinst/arch/sparc64/md.c: revision 1.6
usr.sbin/sysinst/install.c: revision 1.17
usr.sbin/sysinst/install.c: revision 1.18
usr.sbin/sysinst/partitions.h: revision 1.16
usr.sbin/sysinst/install.c: revision 1.19
usr.sbin/sysinst/partitions.h: revision 1.17
usr.sbin/sysinst/arch/evbppc/md.c: revision 1.9
usr.sbin/sysinst/arch/playstation2/md.c: revision 1.9
usr.sbin/sysinst/partitions.h: revision 1.18
usr.sbin/sysinst/arch/hpcarm/md.c: revision 1.9
usr.sbin/sysinst/partitions.h: revision 1.19
usr.sbin/sysinst/msg.mi.es: revision 1.24
usr.sbin/sysinst/msg.mi.es: revision 1.25
usr.sbin/sysinst/msg.mi.es: revision 1.26
usr.sbin/sysinst/arch/zaurus/md.c: revision 1.9
usr.sbin/sysinst/target.c: revision 1.13
usr.sbin/sysinst/target.c: revision 1.14
usr.sbin/sysinst/part_edit.c: revision 1.17
usr.sbin/sysinst/part_edit.c: revision 1.18
usr.sbin/sysinst/msg.mi.fr: revision 1.30
usr.sbin/sysinst/arch/mvme68k/md.c: revision 1.11
usr.sbin/sysinst/part_edit.c: revision 1.19
usr.sbin/sysinst/msg.mi.fr: revision 1.31
usr.sbin/sysinst/arch/alpha/md.c: revision 1.9
usr.sbin/sysinst/msg.mi.en: revision 1.30
usr.sbin/sysinst/defs.h: revision 1.56
usr.sbin/sysinst/msg.mi.en: revision 1.31
usr.sbin/sysinst/defs.h: revision 1.57
usr.sbin/sysinst/msg.mi.en: revision 1.32
usr.sbin/sysinst/arch/amiga/md.c: revision 1.6
usr.sbin/sysinst/arch/hpcmips/md.c: revision 1.9
usr.sbin/sysinst/defs.h: revision 1.58
usr.sbin/sysinst/arch/cats/md.c: revision 1.5
usr.sbin/sysinst/defs.h: revision 1.59
usr.sbin/sysinst/arch/newsmips/md.c: revision 1.6
usr.sbin/sysinst/arch/pmax/md.c: revision 1.8
usr.sbin/sysinst/arch/mipsco/md.c: revision 1.8
usr.sbin/sysinst/part_edit.c: revision 1.20
usr.sbin/sysinst/part_edit.c: revision 1.21
usr.sbin/sysinst/arch/macppc/md.c: revision 1.6
usr.sbin/sysinst/part_edit.c: revision 1.22
usr.sbin/sysinst/part_edit.c: revision 1.23
usr.sbin/sysinst/part_edit.c: revision 1.24
usr.sbin/sysinst/defs.h: revision 1.60
usr.sbin/sysinst/arch/mac68k/Makefile: revision 1.3
usr.sbin/sysinst/defs.h: revision 1.61
usr.sbin/sysinst/defs.h: revision 1.63
usr.sbin/sysinst/defs.h: revision 1.64
usr.sbin/sysinst/defs.h: revision 1.65
usr.sbin/sysinst/label.c: revision 1.21
usr.sbin/sysinst/defs.h: revision 1.66
usr.sbin/sysinst/label.c: revision 1.22
usr.sbin/sysinst/defs.h: revision 1.67
usr.sbin/sysinst/label.c: revision 1.23
usr.sbin/sysinst/label.c: revision 1.24
usr.sbin/sysinst/label.c: revision 1.25
usr.sbin/sysinst/label.c: revision 1.26
usr.sbin/sysinst/label.c: revision 1.27
usr.sbin/sysinst/msg.mi.pl: revision 1.31
usr.sbin/sysinst/label.c: revision 1.28
usr.sbin/sysinst/msg.mi.pl: revision 1.32
usr.sbin/sysinst/label.c: revision 1.29
usr.sbin/sysinst/arch/atari/md.c: revision 1.7
usr.sbin/sysinst/disklabel.c: revision 1.36
usr.sbin/sysinst/disklabel.c: revision 1.37
usr.sbin/sysinst/disklabel.c: revision 1.38
usr.sbin/sysinst/disklabel.c: revision 1.39
usr.sbin/sysinst/arch/bebox/md.c: revision 1.9
usr.sbin/sysinst/mbr.c: revision 1.32
usr.sbin/sysinst/disks.c: revision 1.66
usr.sbin/sysinst/mbr.c: revision 1.33
usr.sbin/sysinst/disks.c: revision 1.67
usr.sbin/sysinst/mbr.c: revision 1.34
usr.sbin/sysinst/arch/emips/md.c: revision 1.9
usr.sbin/sysinst/disks.c: revision 1.68
usr.sbin/sysinst/partitions.c: revision 1.11
usr.sbin/sysinst/mbr.c: revision 1.35
usr.sbin/sysinst/disks.c: revision 1.69
usr.sbin/sysinst/mbr.c: revision 1.36
usr.sbin/sysinst/arch/hppa/md.c: revision 1.8
usr.sbin/sysinst/arch/prep/md.c: revision 1.13
usr.sbin/sysinst/label.c: revision 1.30
usr.sbin/sysinst/arch/ews4800mips/md.c: revision 1.7
usr.sbin/sysinst/main.c: revision 1.21
usr.sbin/sysinst/main.c: revision 1.22
usr.sbin/sysinst/main.c: revision 1.23
usr.sbin/sysinst/bsddisklabel.c: revision 1.40
usr.sbin/sysinst/main.c: revision 1.24
usr.sbin/sysinst/arch/cobalt/md.h: revision 1.6
usr.sbin/sysinst/bsddisklabel.c: revision 1.41
usr.sbin/sysinst/main.c: revision 1.25
usr.sbin/sysinst/arch/news68k/md.c: revision 1.7
usr.sbin/sysinst/bsddisklabel.c: revision 1.42
usr.sbin/sysinst/bsddisklabel.c: revision 1.43
usr.sbin/sysinst/bsddisklabel.c: revision 1.44
usr.sbin/sysinst/bsddisklabel.c: revision 1.45
Use strlcpy in a few places to guarnatee 0-terminated strings
Rever previous: the d_packname in struct disklabel is not NUL terminated.
Disable the warning instead.
Do not force -Os optimization (unless SMALLPROG)
Remove unused "rel" global variable and make the -r option a no-op.
PR 55045: strlcpy(NULL, ..., 0) considered harmfull in some implementations.
PR misc/54886: bump threshold for automatic/default creation of a tmpfs /tmp
up slightly (to 384 MB ram). This will make sure the default install has
a > 64 MB /tmp available (number pulled out of thin air, 64 MB is the minimum
required by the ZFS tests).
Don't depend on common symbol definitions.
boardype should not be common.
Redo the root-size-limit check again after we grew the root partition
for kernel dumps. Auto-enable the /usr partition if it overflows.
For all non-root partitions, default to FFSv2.
When extending a partition (to fill the total disk size) do respect
size limits.
Do not suggest a size limited partition for extension by default.
Minor tweak to previous: when forcing a /usr partition just to have an
arbitrary extendable partition, still use its default size initially.
At the end of a new installation save entropy.
Ooops, backout previous - twice the entropy saving is not needed.
Instead slightly improve the (slightly) hidden other code that already
did it.
PR 55202: disable swapping if we started it due to low ram
it's "its"
Remove "If you booted from a floppy" message
Set HAVE_INSTALL_IMAGE for evbarm
Change mountpoint of boot ext2fs from /stand to /ext2 to avoid conflict.
Should be pulled up to netbsd-9, with fixes of PR/55060.
MBR type for Ext2 should be MBR_PTYPE_LNXEXT2, not MBR_PTYPE_FAT12.
Silence -Wstringop-truncation for ``name'' in disp_selected_part().
This variable is used only for display, and truncation seems harmless.
PR 55572: avoid crash when answering the mount point prompt for a previously
empty mount point with an emptry sting.
When adding a new partition in the concrete partition editor, make sure
to set a pointer to the partition table interface in the new entry.
Otherwise we may end up not writing back the partitions at all, leading
to further fallout later.
Receipe to reproduce the issue from Frederic Fauberteau, thanks!
In the concrete partitions editor, after deleting the last partition move
the menu selection to the "add a partition" entry (instead of the sentinel
line which is not an active menu entry).
Typo in comment
Keep a list of all partition tables from which we have deleted partitions
and make sure we update those partition tables when writing partitions,
even if no install related partition remains on them.
Fix display of timezone selection menu
If there is no current partitioning manager assume we are editing the
current system and make target_already_root() return true.
Fixes various fallout when using sysinst post installation.
PR 55377: mark boot partitions in the partition size display, as suggested
by Izumi Tsutsui (minor modifications + all bugs by me)
PR 55378: do not assume RAW_PART to be either 2 or 3
PR 55379: avoid creating bogus /etc/fstab lines for /dev/cd* if no
cdrom is available.
PR 55381: try to deal with moved (but not yet saved) partitions when
calculating free space
Apply patch provided by Izumi Tsutsui in PR 55382: make ext2 partitions
show up in the outer (MBR) partition table, needed for example on Cobalt
where firmware boots from that partition.
PR 55384: detangle pm->ptstart from the "install" flag (selecting a
target partition). Instead introduce a new PTI_INSTALL_TARGET per partition
flag and deal with it in the partitioning backends.
Honour pm->ptstart when allocating new partitions - it is supposed to be
the first sector usable by NetBSD.
If we have no explicitly marke target root partition, make sure to set
the proper flag on the implicit one.
When merging existing partitions with desired target system layout
information, only force the "mount" flag if the existing partitions
has a valid mount point.
Add a heuristic to detect and properly mark EFI system partitions
when re-using pre-existing partitions.
When MD code requests a reserved area (at the start of the disk)
make sure to properly account for the "lost" space during all calculations
and especially when expanding the main partition to fill the disk.
Avoid using the global "pm" or a passed device descriptons when we are
passing disk limits explicitly anyway.
Simplify/fix a few rounding calculations.
When creating new partitions for "full disk" use, pass a install target
hint to the partitioning backend (for the outer NetBSD partition).
Use an install target hint to mark a new partition active.
When compiled with BOOTSEL support, also name the new partition "NetBSD".
Remove more pm->ptstart abuse - calculate values localy where needed
instead.
Fix editing start and size of not yet existing outer partitions.
Previously we abused pm->ptstart / pm->ptsize to pass the bounds of the
NetBSD outer partition to the inner partition editor - but now this is
not a valid assumption any more, so explicitly fix the bounds if an
outer partition exists.
Remove very strange code that special-cased MSDOS file systems and refused
to newfs the partition (despite explicit request to do so) if it was
mountable.
Accidently carried over from a dim and distant past, before we had
fsck_newfs.
PR 55536: when we find existing partition tables and have alternative
formats available, offer to delete partitions and create new ones from
scratch (in some other or the same on-disk format).
Minor fix to previous: fix condition when we offer the partition type
switch - it makes sense even if the disk is partitioned but has no valid
partitions.
Before forcing MBR partitions into our disklabel, make sure they are not
there yet - could happen in various paths when reusing existing partitions
(or parts of that) - previously we would blindly duplicate identical
partitions.
Ooops, part of previous was not meant to be included yet
When renumbering partitions (after deletions) be slightly more lax
in matching, to cope with differences between MBR EFI partitions and
disklabel MSDOS partitions.
PR 55142: on popular demand bring back expert options to adjust the
number of free inodes, block size and fragment size for FFS and LFS.
Fix copy & pasto noticed by Jason Mitchell: change the type of a GPT
partition via "gpt type" - not "gpt label".
Fix copy & pasto (missing "again" label)
Remove dead code
Move MBR writing (if any) post disklabel writing, otherwise strange
interactions happen.
Properly convert partition default sizes in MB to number of sectors
 1.8.2.2 10-Feb-2020  bouyer Pull up following revision(s) (requested by martin in ticket #693):
usr.sbin/sysinst/arch/x68k/msg.md.en: revision 1.2
usr.sbin/sysinst/arch/x68k/md.c: revision 1.10
usr.sbin/sysinst/arch/mvme68k/msg.md.fr: revision 1.2
usr.sbin/sysinst/arch/x68k/msg.md.en: revision 1.3
usr.sbin/sysinst/arch/mvme68k/msg.md.fr: revision 1.3
usr.sbin/sysinst/msg.mi.en: revision 1.28
usr.sbin/sysinst/arch/hp300/md.c: revision 1.10
usr.sbin/sysinst/msg.mi.es: revision 1.22
usr.sbin/sysinst/target.c: revision 1.12
usr.sbin/sysinst/arch/mvme68k/md.c: revision 1.10
usr.sbin/sysinst/arch/i386/md.c: revision 1.30
usr.sbin/sysinst/arch/mvme68k/msg.md.pl: revision 1.2
usr.sbin/sysinst/arch/mvme68k/msg.md.pl: revision 1.3
usr.sbin/sysinst/bsddisklabel.c: revision 1.39
usr.sbin/sysinst/arch/mvme68k/msg.md.de: revision 1.2
usr.sbin/sysinst/arch/mac68k/md.c: revision 1.9
usr.sbin/sysinst/disklabel.c: revision 1.35
usr.sbin/sysinst/arch/mvme68k/msg.md.de: revision 1.3
usr.sbin/sysinst/defs.h: revision 1.55
usr.sbin/sysinst/disks.c: revision 1.63
usr.sbin/sysinst/disks.c: revision 1.64
usr.sbin/sysinst/mbr.c: revision 1.31
usr.sbin/sysinst/disks.c: revision 1.65
usr.sbin/sysinst/txtwalk.c: revision 1.3
usr.sbin/sysinst/txtwalk.c: revision 1.4
usr.sbin/sysinst/arch/mvme68k/msg.md.en: revision 1.2
usr.sbin/sysinst/arch/mvme68k/msg.md.en: revision 1.3
usr.sbin/sysinst/msg.mi.fr: revision 1.26
usr.sbin/sysinst/msg.mi.pl: revision 1.29
usr.sbin/sysinst/arch/mvme68k/msg.md.es: revision 1.2
usr.sbin/sysinst/upgrade.c: revision 1.15
usr.sbin/sysinst/arch/mvme68k/msg.md.es: revision 1.3
usr.sbin/sysinst/upgrade.c: revision 1.16
usr.sbin/sysinst/partman.c: revision 1.50
usr.sbin/sysinst/msg.mi.de: revision 1.21
remove unused "emptypart" message (or moved to ifdef notyet area)
PR install/54921: message "ordering" takes a %s argument.
PR install/54921: skip non-user partitions when checking for overlaps
bootxx_name() - fix oversight in previous change (do not assume first
partition is the root partition)
PR install/54934: always use -f on the installboot invocation. We come
here post-newfs (and maybe should have dd'd zeros to the start of the
disk before newfs instead).
Remove a bogus assert: when reading disklabel partitions and the outer
(MBR) partitioning has changed, but the changes have not yet been written
back to disk, we need to ignore the kernels idea of the disklabel and
instead continue with an empty one.
Deal with partitioning schemes having no inner counterpart.
Avoid NULL derefs.
Do not assum a partitioning scheme that supports innner partitions always
needs to actually have such partitions defined.
PR bin/54944: deal with escaped spaces in NAME= syntax in /etc/fstab.
PR bin/54944: explicitly reject GPT protective MBRs.
PR bin/54944: make the "explicit single wedge" selection also work for
upgrades.
Reformat a query to add an automatically detected swap partition
so it fits on narrow screens.
Make re-install sets also work for an explicit selected root wedge
Fix copy&pasto in previous - from kre.
Only a single partition can ever have the "extend" flag (grow to available
size).
Do not use -P for tar extractions - the in tree tar has been fixed.
Finish conversion to generic partitioning backend
 1.8.2.1 17-Dec-2019  msaitoh Pull up following revision(s) (requested by martin in ticket #560):
usr.sbin/sysinst/partitions.h: revision 1.11
usr.sbin/sysinst/defs.h: revision 1.49
usr.sbin/sysinst/mbr.c: revision 1.23
usr.sbin/sysinst/msg.mi.en: revision 1.26
usr.sbin/sysinst/disks.c: revision 1.58
usr.sbin/sysinst/arch/evbarm/menus.md.pl: revision 1.2
usr.sbin/sysinst/msg.mi.es: revision 1.20
usr.sbin/sysinst/arch/mvme68k/md.c: revision 1.9
usr.sbin/sysinst/gpt.c: revision 1.13
usr.sbin/sysinst/arch/evbarm/md.c: revision 1.10
usr.sbin/sysinst/arch/arc/md.c: revision 1.10
usr.sbin/sysinst/disklabel.c: revision 1.18
usr.sbin/sysinst/bsddisklabel.c: revision 1.33
usr.sbin/sysinst/disklabel.c: revision 1.19
usr.sbin/sysinst/main.c: revision 1.19
usr.sbin/sysinst/partman.c: revision 1.45
usr.sbin/sysinst/arch/alpha/md.c: revision 1.7
usr.sbin/sysinst/msg.mi.de: revision 1.19
usr.sbin/sysinst/arch/evbarm/menus.md.en: revision 1.2
usr.sbin/sysinst/arch/x68k/md.h: revision 1.4
usr.sbin/sysinst/arch/x68k/md.c: revision 1.9
usr.sbin/sysinst/arch/evbarm/menus.md.es: revision 1.2
usr.sbin/sysinst/wskbd.c: revision 1.4
usr.sbin/sysinst/label.c: revision 1.15
usr.sbin/sysinst/arch/amiga/md.h: revision 1.5
usr.sbin/sysinst/label.c: revision 1.16
usr.sbin/sysinst/arch/hp300/md.c: revision 1.9
usr.sbin/sysinst/arch/emips/md.c: revision 1.8
usr.sbin/sysinst/label.c: revision 1.17
usr.sbin/sysinst/arch/pmax/md.c: revision 1.7
usr.sbin/sysinst/partitions.c: revision 1.6
usr.sbin/sysinst/arch/prep/md.c: revision 1.10
usr.sbin/sysinst/arch/mipsco/md.c: revision 1.7
usr.sbin/sysinst/partitions.c: revision 1.7
usr.sbin/sysinst/partitions.c: revision 1.8
usr.sbin/sysinst/arch/ews4800mips/md.c: revision 1.5
usr.sbin/sysinst/disklabel.c: revision 1.20
usr.sbin/sysinst/arch/evbarm/menus.md.fr: revision 1.2
usr.sbin/sysinst/msg.mi.fr: revision 1.24
usr.sbin/sysinst/disklabel.c: revision 1.21
usr.sbin/sysinst/partitions.h: revision 1.9
usr.sbin/sysinst/msg.mi.pl: revision 1.27
usr.sbin/sysinst/disklabel.c: revision 1.22
usr.sbin/sysinst/disklabel.c: revision 1.23
usr.sbin/sysinst/arch/i386/md.c: revision 1.27
usr.sbin/sysinst/disklabel.c: revision 1.24
usr.sbin/sysinst/disklabel.c: revision 1.25
usr.sbin/sysinst/arch/cobalt/md.h: revision 1.5
usr.sbin/sysinst/disklabel.c: revision 1.26
usr.sbin/sysinst/disklabel.c: revision 1.27
usr.sbin/sysinst/partitions.h: revision 1.10
usr.sbin/sysinst/arch/cobalt/md.c: revision 1.10
PR install/54582: allow MD code to disable on-disk presence verification
of "real" disklabels. Auto-enable this (at run time) when there is no other
partitioning scheme but disklabel configured.
Hard-coded enable this for x68k to allow using kernel based translations
for native Human68k partitions.
Get rid of the evbarm preliminary menu: do not bother to ask the user
whether this is a RPi - query the FDT instead.
PR 54065: add optional "old compat" variant of ext2fs in file system
type selection and use that as default for the cobalt boot file system.
For now rely on the kernel mapping native RDB partitions.
Fix detection of existing disklabels in the case when we only have
the disklabel partitioning scheme available.
Fix DISKLABEL_NO_ONDISK_VERIFY (accidently disabled in previous)
Fix inverted comparison
Do not try to change the keyboard layout if we are not running on the
console.
When trying to tell a fictious but empty label from a real one, skip
partition a if it has the same start and size as the raw partition.
Remove bogus assert.
When finding (paritioning scheme native) partition types for file systems
from our install description, pass the partition type (not only the file
system type). Sometimes (e.g. EFI boot partition on GPT) the filesystem
type (MSDOS) is not a unique selector.
Adapt MD parts to changes in get_fs_part_type (pass partition type).
If a fictious label has no RAW_PART assume there is no valid disk label.
Pass proper track size when initializing the default alignment - this is
important with sunlabels.
Fix overlapping partitions display
Reject (what we consider) empty/invalid fake disklabels no matter whether
we have other partitioning schemes available or not.
Do not show disklabel command invocation by default (only if there are
errors).
After installing boot blocks with RUN_NO_CLEAR (and handling the
potential errors) make sure to clear the stdscreen.
 1.5 26-Apr-2025  tsutsui Remove obsolete MD 'PART_(ROOT|SWAP|BSD|RAW|USR|REST|FIRST_FREE)' defines.

Patch from Miod Vallat.
 1.4 16-Jun-2022  tsutsui branches: 1.4.4;
Define DEFSWAPSIZE properly. DEFSWAPRAM seems obsolete.
 1.3 02-Oct-2019  maya Split out /rescue to its own set and adapt installers/images to add it.

This is meant to make updates safer: if something goes wrong with updating
base, we still have the old, standalone /rescue to recover from.
 1.2 16-Nov-2018  martin branches: 1.2.2;
Sync install size estimates with current reality
 1.1 26-Jul-2014  dholland branches: 1.1.2; 1.1.6; 1.1.26; 1.1.28;
Move sysinst sources to usr.sbin.

This commit only physically moves the sources - there are no other
changes, to maximize the probability that this will be treated as a
rename if we ever do manage to migrate away from CVS.

Moving sysinst has been discussed on and off for years and has two
goals: making it easier to work on sysinst, and also making sysinst
available on running systems for use installing chroots and VM images
and other such things. None of the latter is possible yet, but as they
say, one thing at a time.

Doing this now was approved in an impromptu fashion by mrg, riz,
riastradh, me, and groo.
 1.1.28.2 13-Apr-2020  martin Mostly merge changes from HEAD upto 20200411
 1.1.28.1 10-Jun-2019  christos Sync with HEAD
 1.1.26.1 26-Nov-2018  pgoyette Sync with HEAD, resolve a couple of conflicts
 1.1.6.2 20-Aug-2014  tls Rebase to HEAD as of a few days ago.
 1.1.6.1 26-Jul-2014  tls file md.h was added on branch tls-maxphys on 2014-08-20 00:05:16 +0000
 1.1.2.2 10-Aug-2014  tls Rebase.
 1.1.2.1 26-Jul-2014  tls file md.h was added on branch tls-earlyentropy on 2014-08-10 07:00:27 +0000
 1.2.2.1 17-Nov-2019  martin Pull up following revision(s) (requested by maya in ticket #435):

distrib/sets/maketars: revision 1.90
usr.sbin/sysinst/arch/playstation2/md.h: revision 1.2
usr.sbin/sysinst/arch/sandpoint/md.h: revision 1.3
usr.sbin/sysinst/arch/evbppc/md.h: revision 1.3
usr.sbin/sysinst/arch/hpcarm/md.h: revision 1.3
usr.sbin/sysinst/arch/mvme68k/md.h: revision 1.3
distrib/sun3/MakeInstTape: revision 1.3
usr.sbin/sysinst/util.c: revision 1.33
distrib/sets/lists/rescue/mi: revision 1.1
distrib/sets/lists/base/rescue.sun2: file removal
usr.sbin/sysinst/arch/zaurus/md.h: revision 1.3
distrib/sets/lists/base/rescue.ad.m68k.shl: file removal
distrib/sets/regpkgset: revision 1.13
usr.sbin/sysinst/arch/i386/md.h: revision 1.7
distrib/sets/lists/base/rescue.sparc: file removal
distrib/notes/mvme68k/xfer: revision 1.19
distrib/sets/sets.subr: revision 1.187
distrib/common/bootimage/Makefile.bootimage: revision 1.22
usr.sbin/sysinst/msg.mi.de: revision 1.16
usr.sbin/sysinst/arch/atari/md.h: revision 1.3
rescue/Makefile: revision 1.38
distrib/sets/lists/base/rescue.macppc: file removal
usr.sbin/sysinst/arch/arc/md.h: revision 1.4
distrib/miniroot/install.sub: revision 1.49
usr.sbin/sysinst/arch/acorn32/md.h: revision 1.3
usr.sbin/sysinst/arch/x68k/md.h: revision 1.3
usr.sbin/sysinst/arch/hpcmips/md.h: revision 1.3
usr.sbin/sysinst/arch/bebox/md.h: revision 1.3
usr.sbin/sysinst/arch/hpcsh/md.h: revision 1.2
distrib/sets/lists/base/rescue.shark: file removal
usr.sbin/sysinst/arch/emips/md.h: revision 1.5
distrib/utils/embedded/mkimage: revision 1.70
usr.sbin/sysinst/arch/shark/md.h: revision 1.3
usr.sbin/sysinst/arch/pmax/md.h: revision 1.4
usr.sbin/sysinst/arch/amiga/md.h: revision 1.4
usr.sbin/sysinst/arch/hp300/md.h: revision 1.5
rescue/list.ldconfig: file removal
distrib/sets/lists/base/rescue.ad.m68k: file removal
usr.sbin/sysinst/arch/prep/md.h: revision 1.4
usr.sbin/sysinst/arch/cats/md.h: revision 1.4
usr.sbin/sysinst/arch/amd64/md.h: revision 1.7
usr.sbin/sysinst/msg.mi.es: revision 1.17
usr.sbin/sysinst/msg.mi.fr: revision 1.20
usr.sbin/sysinst/msg.mi.pl: revision 1.23
distrib/sets/lists/base/rescue.i386: file removal
usr.sbin/sysinst/arch/evbarm/md.h: revision 1.3
distrib/sets/lists/base/rescue.vax: file removal
distrib/amd64/uefi-installimage/Makefile.bootimage: revision 1.12
usr.sbin/sysinst/arch/evbmips/md.h: revision 1.3
distrib/sets/lists/base/rescue.mi: file removal
distrib/sets/README: revision 1.14
usr.sbin/sysinst/arch/sgimips/md.h: revision 1.4
distrib/sets/lists/base/rescue.sparc64: file removal
distrib/sets/lists/base/rescue.mi: revision 1.45
distrib/sets/lists/base/rescue.mi: revision 1.46
usr.sbin/sysinst/arch/ofppc/md.h: revision 1.4
usr.sbin/sysinst/arch/cobalt/md.h: revision 1.4
distrib/sets/lists/base/rescue.ad.arm: file removal
distrib/sets/lists/base/rescue.mac68k: file removal
usr.sbin/sysinst/defs.h: revision 1.45
usr.sbin/sysinst/arch/landisk/md.h: revision 1.2
distrib/notes/atari/xfer: revision 1.17
etc/Makefile: revision 1.441
usr.sbin/sysinst/msg.mi.en: revision 1.22
distrib/sun2/MakeInstTape: revision 1.2

Remove ldconfig from /rescue, and mark it MI obsolete.
- ldconfig in netbsd refers to a.out binaries only. We've been ELF-only
since NetBSD 2.0 or so, and having it in /rescue served little purpose
even before that, as /rescue is standalone.
- Using MI obsolete to avoid the need for MD set lists where ldconfig
is the sole entry

Mark /rescue/edlabel as MI-obsolete, so we can remove all remaining MD
rescue set list files.

Split out /rescue to its own set and adapt installers/images to add it.

This is meant to make updates safer: if something goes wrong with updating
base, we still have the old, standalone /rescue to recover from.
 1.4.4.1 02-Aug-2025  perseant Sync with HEAD
 1.1 26-Jul-2014  dholland branches: 1.1.2; 1.1.6;
Move sysinst sources to usr.sbin.

This commit only physically moves the sources - there are no other
changes, to maximize the probability that this will be treated as a
rename if we ever do manage to migrate away from CVS.

Moving sysinst has been discussed on and off for years and has two
goals: making it easier to work on sysinst, and also making sysinst
available on running systems for use installing chroots and VM images
and other such things. None of the latter is possible yet, but as they
say, one thing at a time.

Doing this now was approved in an impromptu fashion by mrg, riz,
riastradh, me, and groo.
 1.1.6.2 20-Aug-2014  tls Rebase to HEAD as of a few days ago.
 1.1.6.1 26-Jul-2014  tls file menus.md.en was added on branch tls-maxphys on 2014-08-20 00:05:16 +0000
 1.1.2.2 10-Aug-2014  tls Rebase.
 1.1.2.1 26-Jul-2014  tls file menus.md.en was added on branch tls-earlyentropy on 2014-08-10 07:00:27 +0000
 1.1 26-Jul-2014  dholland branches: 1.1.2; 1.1.6;
Move sysinst sources to usr.sbin.

This commit only physically moves the sources - there are no other
changes, to maximize the probability that this will be treated as a
rename if we ever do manage to migrate away from CVS.

Moving sysinst has been discussed on and off for years and has two
goals: making it easier to work on sysinst, and also making sysinst
available on running systems for use installing chroots and VM images
and other such things. None of the latter is possible yet, but as they
say, one thing at a time.

Doing this now was approved in an impromptu fashion by mrg, riz,
riastradh, me, and groo.
 1.1.6.2 20-Aug-2014  tls Rebase to HEAD as of a few days ago.
 1.1.6.1 26-Jul-2014  tls file menus.md.es was added on branch tls-maxphys on 2014-08-20 00:05:16 +0000
 1.1.2.2 10-Aug-2014  tls Rebase.
 1.1.2.1 26-Jul-2014  tls file menus.md.es was added on branch tls-earlyentropy on 2014-08-10 07:00:27 +0000
 1.1 26-Jul-2014  dholland branches: 1.1.2; 1.1.6;
Move sysinst sources to usr.sbin.

This commit only physically moves the sources - there are no other
changes, to maximize the probability that this will be treated as a
rename if we ever do manage to migrate away from CVS.

Moving sysinst has been discussed on and off for years and has two
goals: making it easier to work on sysinst, and also making sysinst
available on running systems for use installing chroots and VM images
and other such things. None of the latter is possible yet, but as they
say, one thing at a time.

Doing this now was approved in an impromptu fashion by mrg, riz,
riastradh, me, and groo.
 1.1.6.2 20-Aug-2014  tls Rebase to HEAD as of a few days ago.
 1.1.6.1 26-Jul-2014  tls file menus.md.fr was added on branch tls-maxphys on 2014-08-20 00:05:16 +0000
 1.1.2.2 10-Aug-2014  tls Rebase.
 1.1.2.1 26-Jul-2014  tls file menus.md.fr was added on branch tls-earlyentropy on 2014-08-10 07:00:27 +0000
 1.1 26-Jul-2014  dholland branches: 1.1.2; 1.1.6;
Move sysinst sources to usr.sbin.

This commit only physically moves the sources - there are no other
changes, to maximize the probability that this will be treated as a
rename if we ever do manage to migrate away from CVS.

Moving sysinst has been discussed on and off for years and has two
goals: making it easier to work on sysinst, and also making sysinst
available on running systems for use installing chroots and VM images
and other such things. None of the latter is possible yet, but as they
say, one thing at a time.

Doing this now was approved in an impromptu fashion by mrg, riz,
riastradh, me, and groo.
 1.1.6.2 20-Aug-2014  tls Rebase to HEAD as of a few days ago.
 1.1.6.1 26-Jul-2014  tls file menus.md.pl was added on branch tls-maxphys on 2014-08-20 00:05:16 +0000
 1.1.2.2 10-Aug-2014  tls Rebase.
 1.1.2.1 26-Jul-2014  tls file menus.md.pl was added on branch tls-earlyentropy on 2014-08-10 07:00:27 +0000
 1.3 03-Feb-2020  martin PR install/54921: message "ordering" takes a %s argument.
 1.2 03-Feb-2020  martin remove unused "emptypart" message (or moved to ifdef notyet area)
 1.1 26-Jul-2014  dholland branches: 1.1.2; 1.1.6; 1.1.28; 1.1.30;
Move sysinst sources to usr.sbin.

This commit only physically moves the sources - there are no other
changes, to maximize the probability that this will be treated as a
rename if we ever do manage to migrate away from CVS.

Moving sysinst has been discussed on and off for years and has two
goals: making it easier to work on sysinst, and also making sysinst
available on running systems for use installing chroots and VM images
and other such things. None of the latter is possible yet, but as they
say, one thing at a time.

Doing this now was approved in an impromptu fashion by mrg, riz,
riastradh, me, and groo.
 1.1.30.1 10-Feb-2020  bouyer Pull up following revision(s) (requested by martin in ticket #693):
usr.sbin/sysinst/arch/x68k/msg.md.en: revision 1.2
usr.sbin/sysinst/arch/x68k/md.c: revision 1.10
usr.sbin/sysinst/arch/mvme68k/msg.md.fr: revision 1.2
usr.sbin/sysinst/arch/x68k/msg.md.en: revision 1.3
usr.sbin/sysinst/arch/mvme68k/msg.md.fr: revision 1.3
usr.sbin/sysinst/msg.mi.en: revision 1.28
usr.sbin/sysinst/arch/hp300/md.c: revision 1.10
usr.sbin/sysinst/msg.mi.es: revision 1.22
usr.sbin/sysinst/target.c: revision 1.12
usr.sbin/sysinst/arch/mvme68k/md.c: revision 1.10
usr.sbin/sysinst/arch/i386/md.c: revision 1.30
usr.sbin/sysinst/arch/mvme68k/msg.md.pl: revision 1.2
usr.sbin/sysinst/arch/mvme68k/msg.md.pl: revision 1.3
usr.sbin/sysinst/bsddisklabel.c: revision 1.39
usr.sbin/sysinst/arch/mvme68k/msg.md.de: revision 1.2
usr.sbin/sysinst/arch/mac68k/md.c: revision 1.9
usr.sbin/sysinst/disklabel.c: revision 1.35
usr.sbin/sysinst/arch/mvme68k/msg.md.de: revision 1.3
usr.sbin/sysinst/defs.h: revision 1.55
usr.sbin/sysinst/disks.c: revision 1.63
usr.sbin/sysinst/disks.c: revision 1.64
usr.sbin/sysinst/mbr.c: revision 1.31
usr.sbin/sysinst/disks.c: revision 1.65
usr.sbin/sysinst/txtwalk.c: revision 1.3
usr.sbin/sysinst/txtwalk.c: revision 1.4
usr.sbin/sysinst/arch/mvme68k/msg.md.en: revision 1.2
usr.sbin/sysinst/arch/mvme68k/msg.md.en: revision 1.3
usr.sbin/sysinst/msg.mi.fr: revision 1.26
usr.sbin/sysinst/msg.mi.pl: revision 1.29
usr.sbin/sysinst/arch/mvme68k/msg.md.es: revision 1.2
usr.sbin/sysinst/upgrade.c: revision 1.15
usr.sbin/sysinst/arch/mvme68k/msg.md.es: revision 1.3
usr.sbin/sysinst/upgrade.c: revision 1.16
usr.sbin/sysinst/partman.c: revision 1.50
usr.sbin/sysinst/msg.mi.de: revision 1.21
remove unused "emptypart" message (or moved to ifdef notyet area)
PR install/54921: message "ordering" takes a %s argument.
PR install/54921: skip non-user partitions when checking for overlaps
bootxx_name() - fix oversight in previous change (do not assume first
partition is the root partition)
PR install/54934: always use -f on the installboot invocation. We come
here post-newfs (and maybe should have dd'd zeros to the start of the
disk before newfs instead).
Remove a bogus assert: when reading disklabel partitions and the outer
(MBR) partitioning has changed, but the changes have not yet been written
back to disk, we need to ignore the kernels idea of the disklabel and
instead continue with an empty one.
Deal with partitioning schemes having no inner counterpart.
Avoid NULL derefs.
Do not assum a partitioning scheme that supports innner partitions always
needs to actually have such partitions defined.
PR bin/54944: deal with escaped spaces in NAME= syntax in /etc/fstab.
PR bin/54944: explicitly reject GPT protective MBRs.
PR bin/54944: make the "explicit single wedge" selection also work for
upgrades.
Reformat a query to add an automatically detected swap partition
so it fits on narrow screens.
Make re-install sets also work for an explicit selected root wedge
Fix copy&pasto in previous - from kre.
Only a single partition can ever have the "extend" flag (grow to available
size).
Do not use -P for tar extractions - the in tree tar has been fixed.
Finish conversion to generic partitioning backend
 1.1.28.1 08-Apr-2020  martin Merge changes from current as of 20200406
 1.1.6.2 20-Aug-2014  tls Rebase to HEAD as of a few days ago.
 1.1.6.1 26-Jul-2014  tls file msg.md.de was added on branch tls-maxphys on 2014-08-20 00:05:16 +0000
 1.1.2.2 10-Aug-2014  tls Rebase.
 1.1.2.1 26-Jul-2014  tls file msg.md.de was added on branch tls-earlyentropy on 2014-08-10 07:00:27 +0000
 1.3 03-Feb-2020  martin PR install/54921: message "ordering" takes a %s argument.
 1.2 03-Feb-2020  martin remove unused "emptypart" message (or moved to ifdef notyet area)
 1.1 26-Jul-2014  dholland branches: 1.1.2; 1.1.6; 1.1.28; 1.1.30;
Move sysinst sources to usr.sbin.

This commit only physically moves the sources - there are no other
changes, to maximize the probability that this will be treated as a
rename if we ever do manage to migrate away from CVS.

Moving sysinst has been discussed on and off for years and has two
goals: making it easier to work on sysinst, and also making sysinst
available on running systems for use installing chroots and VM images
and other such things. None of the latter is possible yet, but as they
say, one thing at a time.

Doing this now was approved in an impromptu fashion by mrg, riz,
riastradh, me, and groo.
 1.1.30.1 10-Feb-2020  bouyer Pull up following revision(s) (requested by martin in ticket #693):
usr.sbin/sysinst/arch/x68k/msg.md.en: revision 1.2
usr.sbin/sysinst/arch/x68k/md.c: revision 1.10
usr.sbin/sysinst/arch/mvme68k/msg.md.fr: revision 1.2
usr.sbin/sysinst/arch/x68k/msg.md.en: revision 1.3
usr.sbin/sysinst/arch/mvme68k/msg.md.fr: revision 1.3
usr.sbin/sysinst/msg.mi.en: revision 1.28
usr.sbin/sysinst/arch/hp300/md.c: revision 1.10
usr.sbin/sysinst/msg.mi.es: revision 1.22
usr.sbin/sysinst/target.c: revision 1.12
usr.sbin/sysinst/arch/mvme68k/md.c: revision 1.10
usr.sbin/sysinst/arch/i386/md.c: revision 1.30
usr.sbin/sysinst/arch/mvme68k/msg.md.pl: revision 1.2
usr.sbin/sysinst/arch/mvme68k/msg.md.pl: revision 1.3
usr.sbin/sysinst/bsddisklabel.c: revision 1.39
usr.sbin/sysinst/arch/mvme68k/msg.md.de: revision 1.2
usr.sbin/sysinst/arch/mac68k/md.c: revision 1.9
usr.sbin/sysinst/disklabel.c: revision 1.35
usr.sbin/sysinst/arch/mvme68k/msg.md.de: revision 1.3
usr.sbin/sysinst/defs.h: revision 1.55
usr.sbin/sysinst/disks.c: revision 1.63
usr.sbin/sysinst/disks.c: revision 1.64
usr.sbin/sysinst/mbr.c: revision 1.31
usr.sbin/sysinst/disks.c: revision 1.65
usr.sbin/sysinst/txtwalk.c: revision 1.3
usr.sbin/sysinst/txtwalk.c: revision 1.4
usr.sbin/sysinst/arch/mvme68k/msg.md.en: revision 1.2
usr.sbin/sysinst/arch/mvme68k/msg.md.en: revision 1.3
usr.sbin/sysinst/msg.mi.fr: revision 1.26
usr.sbin/sysinst/msg.mi.pl: revision 1.29
usr.sbin/sysinst/arch/mvme68k/msg.md.es: revision 1.2
usr.sbin/sysinst/upgrade.c: revision 1.15
usr.sbin/sysinst/arch/mvme68k/msg.md.es: revision 1.3
usr.sbin/sysinst/upgrade.c: revision 1.16
usr.sbin/sysinst/partman.c: revision 1.50
usr.sbin/sysinst/msg.mi.de: revision 1.21
remove unused "emptypart" message (or moved to ifdef notyet area)
PR install/54921: message "ordering" takes a %s argument.
PR install/54921: skip non-user partitions when checking for overlaps
bootxx_name() - fix oversight in previous change (do not assume first
partition is the root partition)
PR install/54934: always use -f on the installboot invocation. We come
here post-newfs (and maybe should have dd'd zeros to the start of the
disk before newfs instead).
Remove a bogus assert: when reading disklabel partitions and the outer
(MBR) partitioning has changed, but the changes have not yet been written
back to disk, we need to ignore the kernels idea of the disklabel and
instead continue with an empty one.
Deal with partitioning schemes having no inner counterpart.
Avoid NULL derefs.
Do not assum a partitioning scheme that supports innner partitions always
needs to actually have such partitions defined.
PR bin/54944: deal with escaped spaces in NAME= syntax in /etc/fstab.
PR bin/54944: explicitly reject GPT protective MBRs.
PR bin/54944: make the "explicit single wedge" selection also work for
upgrades.
Reformat a query to add an automatically detected swap partition
so it fits on narrow screens.
Make re-install sets also work for an explicit selected root wedge
Fix copy&pasto in previous - from kre.
Only a single partition can ever have the "extend" flag (grow to available
size).
Do not use -P for tar extractions - the in tree tar has been fixed.
Finish conversion to generic partitioning backend
 1.1.28.1 08-Apr-2020  martin Merge changes from current as of 20200406
 1.1.6.2 20-Aug-2014  tls Rebase to HEAD as of a few days ago.
 1.1.6.1 26-Jul-2014  tls file msg.md.en was added on branch tls-maxphys on 2014-08-20 00:05:16 +0000
 1.1.2.2 10-Aug-2014  tls Rebase.
 1.1.2.1 26-Jul-2014  tls file msg.md.en was added on branch tls-earlyentropy on 2014-08-10 07:00:27 +0000
 1.3 03-Feb-2020  martin PR install/54921: message "ordering" takes a %s argument.
 1.2 03-Feb-2020  martin remove unused "emptypart" message (or moved to ifdef notyet area)
 1.1 26-Jul-2014  dholland branches: 1.1.2; 1.1.6; 1.1.28; 1.1.30;
Move sysinst sources to usr.sbin.

This commit only physically moves the sources - there are no other
changes, to maximize the probability that this will be treated as a
rename if we ever do manage to migrate away from CVS.

Moving sysinst has been discussed on and off for years and has two
goals: making it easier to work on sysinst, and also making sysinst
available on running systems for use installing chroots and VM images
and other such things. None of the latter is possible yet, but as they
say, one thing at a time.

Doing this now was approved in an impromptu fashion by mrg, riz,
riastradh, me, and groo.
 1.1.30.1 10-Feb-2020  bouyer Pull up following revision(s) (requested by martin in ticket #693):
usr.sbin/sysinst/arch/x68k/msg.md.en: revision 1.2
usr.sbin/sysinst/arch/x68k/md.c: revision 1.10
usr.sbin/sysinst/arch/mvme68k/msg.md.fr: revision 1.2
usr.sbin/sysinst/arch/x68k/msg.md.en: revision 1.3
usr.sbin/sysinst/arch/mvme68k/msg.md.fr: revision 1.3
usr.sbin/sysinst/msg.mi.en: revision 1.28
usr.sbin/sysinst/arch/hp300/md.c: revision 1.10
usr.sbin/sysinst/msg.mi.es: revision 1.22
usr.sbin/sysinst/target.c: revision 1.12
usr.sbin/sysinst/arch/mvme68k/md.c: revision 1.10
usr.sbin/sysinst/arch/i386/md.c: revision 1.30
usr.sbin/sysinst/arch/mvme68k/msg.md.pl: revision 1.2
usr.sbin/sysinst/arch/mvme68k/msg.md.pl: revision 1.3
usr.sbin/sysinst/bsddisklabel.c: revision 1.39
usr.sbin/sysinst/arch/mvme68k/msg.md.de: revision 1.2
usr.sbin/sysinst/arch/mac68k/md.c: revision 1.9
usr.sbin/sysinst/disklabel.c: revision 1.35
usr.sbin/sysinst/arch/mvme68k/msg.md.de: revision 1.3
usr.sbin/sysinst/defs.h: revision 1.55
usr.sbin/sysinst/disks.c: revision 1.63
usr.sbin/sysinst/disks.c: revision 1.64
usr.sbin/sysinst/mbr.c: revision 1.31
usr.sbin/sysinst/disks.c: revision 1.65
usr.sbin/sysinst/txtwalk.c: revision 1.3
usr.sbin/sysinst/txtwalk.c: revision 1.4
usr.sbin/sysinst/arch/mvme68k/msg.md.en: revision 1.2
usr.sbin/sysinst/arch/mvme68k/msg.md.en: revision 1.3
usr.sbin/sysinst/msg.mi.fr: revision 1.26
usr.sbin/sysinst/msg.mi.pl: revision 1.29
usr.sbin/sysinst/arch/mvme68k/msg.md.es: revision 1.2
usr.sbin/sysinst/upgrade.c: revision 1.15
usr.sbin/sysinst/arch/mvme68k/msg.md.es: revision 1.3
usr.sbin/sysinst/upgrade.c: revision 1.16
usr.sbin/sysinst/partman.c: revision 1.50
usr.sbin/sysinst/msg.mi.de: revision 1.21
remove unused "emptypart" message (or moved to ifdef notyet area)
PR install/54921: message "ordering" takes a %s argument.
PR install/54921: skip non-user partitions when checking for overlaps
bootxx_name() - fix oversight in previous change (do not assume first
partition is the root partition)
PR install/54934: always use -f on the installboot invocation. We come
here post-newfs (and maybe should have dd'd zeros to the start of the
disk before newfs instead).
Remove a bogus assert: when reading disklabel partitions and the outer
(MBR) partitioning has changed, but the changes have not yet been written
back to disk, we need to ignore the kernels idea of the disklabel and
instead continue with an empty one.
Deal with partitioning schemes having no inner counterpart.
Avoid NULL derefs.
Do not assum a partitioning scheme that supports innner partitions always
needs to actually have such partitions defined.
PR bin/54944: deal with escaped spaces in NAME= syntax in /etc/fstab.
PR bin/54944: explicitly reject GPT protective MBRs.
PR bin/54944: make the "explicit single wedge" selection also work for
upgrades.
Reformat a query to add an automatically detected swap partition
so it fits on narrow screens.
Make re-install sets also work for an explicit selected root wedge
Fix copy&pasto in previous - from kre.
Only a single partition can ever have the "extend" flag (grow to available
size).
Do not use -P for tar extractions - the in tree tar has been fixed.
Finish conversion to generic partitioning backend
 1.1.28.1 08-Apr-2020  martin Merge changes from current as of 20200406
 1.1.6.2 20-Aug-2014  tls Rebase to HEAD as of a few days ago.
 1.1.6.1 26-Jul-2014  tls file msg.md.es was added on branch tls-maxphys on 2014-08-20 00:05:16 +0000
 1.1.2.2 10-Aug-2014  tls Rebase.
 1.1.2.1 26-Jul-2014  tls file msg.md.es was added on branch tls-earlyentropy on 2014-08-10 07:00:27 +0000
 1.3 03-Feb-2020  martin PR install/54921: message "ordering" takes a %s argument.
 1.2 03-Feb-2020  martin remove unused "emptypart" message (or moved to ifdef notyet area)
 1.1 26-Jul-2014  dholland branches: 1.1.2; 1.1.6; 1.1.28; 1.1.30;
Move sysinst sources to usr.sbin.

This commit only physically moves the sources - there are no other
changes, to maximize the probability that this will be treated as a
rename if we ever do manage to migrate away from CVS.

Moving sysinst has been discussed on and off for years and has two
goals: making it easier to work on sysinst, and also making sysinst
available on running systems for use installing chroots and VM images
and other such things. None of the latter is possible yet, but as they
say, one thing at a time.

Doing this now was approved in an impromptu fashion by mrg, riz,
riastradh, me, and groo.
 1.1.30.1 10-Feb-2020  bouyer Pull up following revision(s) (requested by martin in ticket #693):
usr.sbin/sysinst/arch/x68k/msg.md.en: revision 1.2
usr.sbin/sysinst/arch/x68k/md.c: revision 1.10
usr.sbin/sysinst/arch/mvme68k/msg.md.fr: revision 1.2
usr.sbin/sysinst/arch/x68k/msg.md.en: revision 1.3
usr.sbin/sysinst/arch/mvme68k/msg.md.fr: revision 1.3
usr.sbin/sysinst/msg.mi.en: revision 1.28
usr.sbin/sysinst/arch/hp300/md.c: revision 1.10
usr.sbin/sysinst/msg.mi.es: revision 1.22
usr.sbin/sysinst/target.c: revision 1.12
usr.sbin/sysinst/arch/mvme68k/md.c: revision 1.10
usr.sbin/sysinst/arch/i386/md.c: revision 1.30
usr.sbin/sysinst/arch/mvme68k/msg.md.pl: revision 1.2
usr.sbin/sysinst/arch/mvme68k/msg.md.pl: revision 1.3
usr.sbin/sysinst/bsddisklabel.c: revision 1.39
usr.sbin/sysinst/arch/mvme68k/msg.md.de: revision 1.2
usr.sbin/sysinst/arch/mac68k/md.c: revision 1.9
usr.sbin/sysinst/disklabel.c: revision 1.35
usr.sbin/sysinst/arch/mvme68k/msg.md.de: revision 1.3
usr.sbin/sysinst/defs.h: revision 1.55
usr.sbin/sysinst/disks.c: revision 1.63
usr.sbin/sysinst/disks.c: revision 1.64
usr.sbin/sysinst/mbr.c: revision 1.31
usr.sbin/sysinst/disks.c: revision 1.65
usr.sbin/sysinst/txtwalk.c: revision 1.3
usr.sbin/sysinst/txtwalk.c: revision 1.4
usr.sbin/sysinst/arch/mvme68k/msg.md.en: revision 1.2
usr.sbin/sysinst/arch/mvme68k/msg.md.en: revision 1.3
usr.sbin/sysinst/msg.mi.fr: revision 1.26
usr.sbin/sysinst/msg.mi.pl: revision 1.29
usr.sbin/sysinst/arch/mvme68k/msg.md.es: revision 1.2
usr.sbin/sysinst/upgrade.c: revision 1.15
usr.sbin/sysinst/arch/mvme68k/msg.md.es: revision 1.3
usr.sbin/sysinst/upgrade.c: revision 1.16
usr.sbin/sysinst/partman.c: revision 1.50
usr.sbin/sysinst/msg.mi.de: revision 1.21
remove unused "emptypart" message (or moved to ifdef notyet area)
PR install/54921: message "ordering" takes a %s argument.
PR install/54921: skip non-user partitions when checking for overlaps
bootxx_name() - fix oversight in previous change (do not assume first
partition is the root partition)
PR install/54934: always use -f on the installboot invocation. We come
here post-newfs (and maybe should have dd'd zeros to the start of the
disk before newfs instead).
Remove a bogus assert: when reading disklabel partitions and the outer
(MBR) partitioning has changed, but the changes have not yet been written
back to disk, we need to ignore the kernels idea of the disklabel and
instead continue with an empty one.
Deal with partitioning schemes having no inner counterpart.
Avoid NULL derefs.
Do not assum a partitioning scheme that supports innner partitions always
needs to actually have such partitions defined.
PR bin/54944: deal with escaped spaces in NAME= syntax in /etc/fstab.
PR bin/54944: explicitly reject GPT protective MBRs.
PR bin/54944: make the "explicit single wedge" selection also work for
upgrades.
Reformat a query to add an automatically detected swap partition
so it fits on narrow screens.
Make re-install sets also work for an explicit selected root wedge
Fix copy&pasto in previous - from kre.
Only a single partition can ever have the "extend" flag (grow to available
size).
Do not use -P for tar extractions - the in tree tar has been fixed.
Finish conversion to generic partitioning backend
 1.1.28.1 08-Apr-2020  martin Merge changes from current as of 20200406
 1.1.6.2 20-Aug-2014  tls Rebase to HEAD as of a few days ago.
 1.1.6.1 26-Jul-2014  tls file msg.md.fr was added on branch tls-maxphys on 2014-08-20 00:05:16 +0000
 1.1.2.2 10-Aug-2014  tls Rebase.
 1.1.2.1 26-Jul-2014  tls file msg.md.fr was added on branch tls-earlyentropy on 2014-08-10 07:00:27 +0000
 1.3 03-Feb-2020  martin PR install/54921: message "ordering" takes a %s argument.
 1.2 03-Feb-2020  martin remove unused "emptypart" message (or moved to ifdef notyet area)
 1.1 26-Jul-2014  dholland branches: 1.1.2; 1.1.6; 1.1.28; 1.1.30;
Move sysinst sources to usr.sbin.

This commit only physically moves the sources - there are no other
changes, to maximize the probability that this will be treated as a
rename if we ever do manage to migrate away from CVS.

Moving sysinst has been discussed on and off for years and has two
goals: making it easier to work on sysinst, and also making sysinst
available on running systems for use installing chroots and VM images
and other such things. None of the latter is possible yet, but as they
say, one thing at a time.

Doing this now was approved in an impromptu fashion by mrg, riz,
riastradh, me, and groo.
 1.1.30.1 10-Feb-2020  bouyer Pull up following revision(s) (requested by martin in ticket #693):
usr.sbin/sysinst/arch/x68k/msg.md.en: revision 1.2
usr.sbin/sysinst/arch/x68k/md.c: revision 1.10
usr.sbin/sysinst/arch/mvme68k/msg.md.fr: revision 1.2
usr.sbin/sysinst/arch/x68k/msg.md.en: revision 1.3
usr.sbin/sysinst/arch/mvme68k/msg.md.fr: revision 1.3
usr.sbin/sysinst/msg.mi.en: revision 1.28
usr.sbin/sysinst/arch/hp300/md.c: revision 1.10
usr.sbin/sysinst/msg.mi.es: revision 1.22
usr.sbin/sysinst/target.c: revision 1.12
usr.sbin/sysinst/arch/mvme68k/md.c: revision 1.10
usr.sbin/sysinst/arch/i386/md.c: revision 1.30
usr.sbin/sysinst/arch/mvme68k/msg.md.pl: revision 1.2
usr.sbin/sysinst/arch/mvme68k/msg.md.pl: revision 1.3
usr.sbin/sysinst/bsddisklabel.c: revision 1.39
usr.sbin/sysinst/arch/mvme68k/msg.md.de: revision 1.2
usr.sbin/sysinst/arch/mac68k/md.c: revision 1.9
usr.sbin/sysinst/disklabel.c: revision 1.35
usr.sbin/sysinst/arch/mvme68k/msg.md.de: revision 1.3
usr.sbin/sysinst/defs.h: revision 1.55
usr.sbin/sysinst/disks.c: revision 1.63
usr.sbin/sysinst/disks.c: revision 1.64
usr.sbin/sysinst/mbr.c: revision 1.31
usr.sbin/sysinst/disks.c: revision 1.65
usr.sbin/sysinst/txtwalk.c: revision 1.3
usr.sbin/sysinst/txtwalk.c: revision 1.4
usr.sbin/sysinst/arch/mvme68k/msg.md.en: revision 1.2
usr.sbin/sysinst/arch/mvme68k/msg.md.en: revision 1.3
usr.sbin/sysinst/msg.mi.fr: revision 1.26
usr.sbin/sysinst/msg.mi.pl: revision 1.29
usr.sbin/sysinst/arch/mvme68k/msg.md.es: revision 1.2
usr.sbin/sysinst/upgrade.c: revision 1.15
usr.sbin/sysinst/arch/mvme68k/msg.md.es: revision 1.3
usr.sbin/sysinst/upgrade.c: revision 1.16
usr.sbin/sysinst/partman.c: revision 1.50
usr.sbin/sysinst/msg.mi.de: revision 1.21
remove unused "emptypart" message (or moved to ifdef notyet area)
PR install/54921: message "ordering" takes a %s argument.
PR install/54921: skip non-user partitions when checking for overlaps
bootxx_name() - fix oversight in previous change (do not assume first
partition is the root partition)
PR install/54934: always use -f on the installboot invocation. We come
here post-newfs (and maybe should have dd'd zeros to the start of the
disk before newfs instead).
Remove a bogus assert: when reading disklabel partitions and the outer
(MBR) partitioning has changed, but the changes have not yet been written
back to disk, we need to ignore the kernels idea of the disklabel and
instead continue with an empty one.
Deal with partitioning schemes having no inner counterpart.
Avoid NULL derefs.
Do not assum a partitioning scheme that supports innner partitions always
needs to actually have such partitions defined.
PR bin/54944: deal with escaped spaces in NAME= syntax in /etc/fstab.
PR bin/54944: explicitly reject GPT protective MBRs.
PR bin/54944: make the "explicit single wedge" selection also work for
upgrades.
Reformat a query to add an automatically detected swap partition
so it fits on narrow screens.
Make re-install sets also work for an explicit selected root wedge
Fix copy&pasto in previous - from kre.
Only a single partition can ever have the "extend" flag (grow to available
size).
Do not use -P for tar extractions - the in tree tar has been fixed.
Finish conversion to generic partitioning backend
 1.1.28.1 08-Apr-2020  martin Merge changes from current as of 20200406
 1.1.6.2 20-Aug-2014  tls Rebase to HEAD as of a few days ago.
 1.1.6.1 26-Jul-2014  tls file msg.md.pl was added on branch tls-maxphys on 2014-08-20 00:05:16 +0000
 1.1.2.2 10-Aug-2014  tls Rebase.
 1.1.2.1 26-Jul-2014  tls file msg.md.pl was added on branch tls-earlyentropy on 2014-08-10 07:00:27 +0000
 1.2 11-Jun-2022  tsutsui Pull SMALLPROG stuff to disable unnecessary partitioning methods etc.
 1.1 26-Jul-2014  dholland branches: 1.1.2; 1.1.6;
Move sysinst sources to usr.sbin.

This commit only physically moves the sources - there are no other
changes, to maximize the probability that this will be treated as a
rename if we ever do manage to migrate away from CVS.

Moving sysinst has been discussed on and off for years and has two
goals: making it easier to work on sysinst, and also making sysinst
available on running systems for use installing chroots and VM images
and other such things. None of the latter is possible yet, but as they
say, one thing at a time.

Doing this now was approved in an impromptu fashion by mrg, riz,
riastradh, me, and groo.
 1.1.6.2 20-Aug-2014  tls Rebase to HEAD as of a few days ago.
 1.1.6.1 26-Jul-2014  tls file Makefile was added on branch tls-maxphys on 2014-08-20 00:05:16 +0000
 1.1.2.2 10-Aug-2014  tls Rebase.
 1.1.2.1 26-Jul-2014  tls file Makefile was added on branch tls-earlyentropy on 2014-08-10 07:00:27 +0000
 1.8 29-Jan-2022  martin When upgrading, update the boot code post extraction from
the updated target file system.
 1.7 12-Oct-2020  martin PR 55536: when we find existing partition tables and have alternative
formats available, offer to delete partitions and create new ones from
scratch (in some other or the same on-disk format).
 1.6 13-Jul-2019  martin branches: 1.6.2;
We may call md_pre_mount() multiple times for the same install set,
so pass an additional index argument so MD code knows which part
of the install will be mounted next.
 1.5 20-Jun-2019  christos Use _fmt_ msg_ methods when formats are needed.
 1.4 12-Jun-2019  martin Rework internal data structures and "interfaces to user interface" functions
to get rid of all disklabel assumptions.

Previously (even for GPT partitioning) struct disklabel was used, which
obviously breaks large disk setups. Also many MD parts and parts of the
user interface assumed (a) a struct disklabel is used internally to
store partitioning information and (b) partitions are named 'a' ... $MAXPART.

Get rid of this and replace it with a quite abstract interface that should
be able to deal with all variants in partition storage:

- partitions are stored in a (partly abstract) struct disk_partitions
and most parts of it are only accessed via accessor functions provided
by a "partitioning scheme".

- implement partitioning schemes for MBR, disklabel and GPT (with likely
RDB [amiga] and Apple Partition Map [mac*] to follow soon)

- partitioning schemes may be cascaded, e.g. on x86 when using MBR as
"outer partitions", we have disklabel as "inner partitions".

- all user interface goes via accessor functions in the partitioning scheme,
some of which return pointers to special user interface descriptors
(e.g. to allow editing partition flags, which are scheme specific)

Overall the user interface changes (in this initial step) are minimal but
noticable. A new Anita is needed for automatic test setups - many thanks
to Andreas Gustafsson for lots of early testing and a new Anita version,
and to Manuel Bouyer for cooperation and tests of the Anita release.

This work was sponsored by The NetBSD Foundation, Inc.
 1.3 02-Jan-2015  abs branches: 1.3.16;
Rather than scatter set_swap() calls wrapped in ram size checks through
md_post_disklabel() and md_pre_update(), abstract them out to an MI
set_swap_if_low_ram() and call from the appropriate MI places.
Now all platforms add swap if the system has <= 32M of RAM.
 1.2 03-Aug-2014  martin branches: 1.2.2; 1.2.4; 1.2.6;
(Finally) merge a slightly modified version of the 2012 GSoC results
from Eugene Lozovoy: add extended partitioning options to sysinst.
Still needs some testing and polishing, but it now is possible to use GPT
or to create a RAID set from scratch and install onto it.
 1.1 26-Jul-2014  dholland Move sysinst sources to usr.sbin.

This commit only physically moves the sources - there are no other
changes, to maximize the probability that this will be treated as a
rename if we ever do manage to migrate away from CVS.

Moving sysinst has been discussed on and off for years and has two
goals: making it easier to work on sysinst, and also making sysinst
available on running systems for use installing chroots and VM images
and other such things. None of the latter is possible yet, but as they
say, one thing at a time.

Doing this now was approved in an impromptu fashion by mrg, riz,
riastradh, me, and groo.
 1.2.6.2 20-Aug-2014  tls Rebase to HEAD as of a few days ago.
 1.2.6.1 03-Aug-2014  tls file md.c was added on branch tls-maxphys on 2014-08-20 00:05:16 +0000
 1.2.4.1 11-Jan-2015  snj Pull up following revision(s) (requested by abs in ticket #400):
usr.sbin/sysinst/arch/arc/md.c: revision 1.3
usr.sbin/sysinst/arch/cobalt/md.c: revision 1.3
usr.sbin/sysinst/arch/evbsh3/md.c: revision 1.3
usr.sbin/sysinst/arch/hp300/md.c: revision 1.3
usr.sbin/sysinst/arch/hpcsh/md.c: revision 1.3
usr.sbin/sysinst/arch/i386/md.c: revision 1.5
usr.sbin/sysinst/arch/luna68k/md.c: revision 1.4
usr.sbin/sysinst/arch/mvme68k/md.c: revision 1.3
usr.sbin/sysinst/arch/news68k/md.c: revision 1.3
usr.sbin/sysinst/arch/sgimips/md.c: revision 1.3
usr.sbin/sysinst/arch/vax/md.c: revision 1.3
usr.sbin/sysinst/arch/x68k/md.c: revision 1.3
usr.sbin/sysinst/defs.h: revision 1.6
usr.sbin/sysinst/disks.c: revision 1.7
usr.sbin/sysinst/install.c: revision 1.3
usr.sbin/sysinst/partman.c: revision 1.8
usr.sbin/sysinst/upgrade.c: revision 1.3
Rather than scatter set_swap() calls wrapped in ram size checks through
md_post_disklabel() and md_pre_update(), abstract them out to an MI
set_swap_if_low_ram() and call from the appropriate MI places.
Now all platforms add swap if the system has <= 32M of RAM.
 1.2.2.2 10-Aug-2014  tls Rebase.
 1.2.2.1 03-Aug-2014  tls file md.c was added on branch tls-earlyentropy on 2014-08-10 07:00:27 +0000
 1.3.16.1 13-Apr-2020  martin Mostly merge changes from HEAD upto 20200411
 1.6.2.2 02-Feb-2022  msaitoh Pull up following revision(s) (requested by martin in ticket #1422):
usr.sbin/sysinst/util.c: revision 1.64
usr.sbin/sysinst/arch/hpcsh/md.c: revision 1.11
usr.sbin/sysinst/arch/alpha/md.c: revision 1.10
usr.sbin/sysinst/arch/sparc64/md.c: revision 1.7
usr.sbin/sysinst/arch/emips/md.c: revision 1.10
usr.sbin/sysinst/arch/cobalt/md.c: revision 1.15
usr.sbin/sysinst/arch/x68k/md.c: revision 1.12
usr.sbin/sysinst/arch/sandpoint/md.c: revision 1.10
usr.sbin/sysinst/arch/luna68k/md.c: revision 1.10
usr.sbin/sysinst/arch/hp300/md.c: revision 1.12
usr.sbin/sysinst/arch/vax/md.c: revision 1.8
usr.sbin/sysinst/arch/hpcmips/md.c: revision 1.10
usr.sbin/sysinst/target.c: revision 1.16
usr.sbin/sysinst/arch/mvme68k/md.c: revision 1.12
usr.sbin/sysinst/arch/arc/md.c: revision 1.14
usr.sbin/sysinst/target.c: revision 1.17
usr.sbin/sysinst/arch/i386/md.c: revision 1.34
usr.sbin/sysinst/arch/mac68k/md.c: revision 1.11
usr.sbin/sysinst/arch/atari/md.c: revision 1.8
usr.sbin/sysinst/arch/sgimips/md.c: revision 1.10
usr.sbin/sysinst/arch/acorn32/md.c: revision 1.8
usr.sbin/sysinst/install.c: revision 1.22
usr.sbin/sysinst/arch/amiga/md.c: revision 1.7
usr.sbin/sysinst/arch/cats/md.c: revision 1.6
usr.sbin/sysinst/arch/dummy/md.c: revision 1.7
usr.sbin/sysinst/arch/shark/md.c: revision 1.7
usr.sbin/sysinst/arch/pmax/md.c: revision 1.9
usr.sbin/sysinst/arch/newsmips/md.c: revision 1.7
usr.sbin/sysinst/arch/mipsco/md.c: revision 1.9
usr.sbin/sysinst/arch/landisk/md.c: revision 1.15
usr.sbin/sysinst/arch/hppa/md.c: revision 1.9
usr.sbin/sysinst/arch/prep/md.c: revision 1.14
usr.sbin/sysinst/defs.h: revision 1.77
usr.sbin/sysinst/arch/ofppc/md.c: revision 1.13
usr.sbin/sysinst/arch/ews4800mips/md.c: revision 1.8
usr.sbin/sysinst/defs.h: revision 1.78
usr.sbin/sysinst/arch/macppc/md.c: revision 1.7
usr.sbin/sysinst/arch/evbppc/md.c: revision 1.10
usr.sbin/sysinst/defs.h: revision 1.79
usr.sbin/sysinst/gpt.c: revision 1.27
usr.sbin/sysinst/arch/bebox/md.c: revision 1.10
usr.sbin/sysinst/gpt.c: revision 1.28
usr.sbin/sysinst/arch/sparc/md.c: revision 1.7
usr.sbin/sysinst/arch/evbsh3/md.c: revision 1.7
usr.sbin/sysinst/arch/evbarm/md.c: revision 1.22
usr.sbin/sysinst/arch/news68k/md.c: revision 1.8
usr.sbin/sysinst/upgrade.c: revision 1.19
usr.sbin/sysinst/arch/zaurus/md.c: revision 1.12
usr.sbin/sysinst/arch/playstation2/md.c: revision 1.10
usr.sbin/sysinst/arch/hpcarm/md.c: revision 1.11
usr.sbin/sysinst/arch/evbmips/md.c: revision 1.10
usr.sbin/sysinst/main.c: revision 1.28
Add an option to set the directory where we look for message catalogs.
Try to get rid of all wedges we created (after unmounting).
When upgrading, update the boot code post extraction from
the updated target file system.
Do not defer wedge deletions when we have nothing mounted.
Define and use a constant for maximum disk name length.
 1.6.2.1 15-Oct-2020  bouyer Pull up following revision(s) (requested by martin in ticket #1113):
usr.sbin/sysinst/bsddisklabel.c: revision 1.46
usr.sbin/sysinst/bsddisklabel.c: revision 1.47
usr.sbin/sysinst/disklabel.c: revision 1.40
usr.sbin/sysinst/arch/cobalt/md.c: revision 1.13
usr.sbin/sysinst/bsddisklabel.c: revision 1.48
usr.sbin/sysinst/disklabel.c: revision 1.41
usr.sbin/sysinst/arch/cobalt/md.c: revision 1.14
usr.sbin/sysinst/bsddisklabel.c: revision 1.49
usr.sbin/sysinst/disklabel.c: revision 1.42
usr.sbin/sysinst/Makefile.inc: revision 1.34
usr.sbin/sysinst/disks.c: revision 1.70
usr.sbin/sysinst/arch/hp300/md.c: revision 1.11
usr.sbin/sysinst/disks.c: revision 1.71
usr.sbin/sysinst/arch/i386/md.h: revision 1.8
usr.sbin/sysinst/arch/arc/md.c: revision 1.13
usr.sbin/sysinst/mbr.h: revision 1.5
usr.sbin/sysinst/mbr.h: revision 1.6
usr.sbin/sysinst/arch/mac68k/md.c: revision 1.10
usr.sbin/sysinst/bsddisklabel.c: revision 1.50
usr.sbin/sysinst/arch/acorn32/md.c: revision 1.7
usr.sbin/sysinst/bsddisklabel.c: revision 1.51
usr.sbin/sysinst/bsddisklabel.c: revision 1.52
usr.sbin/sysinst/bsddisklabel.c: revision 1.53
usr.sbin/sysinst/bsddisklabel.c: revision 1.54
usr.sbin/sysinst/bsddisklabel.c: revision 1.55
usr.sbin/sysinst/bsddisklabel.c: revision 1.56
usr.sbin/sysinst/arch/dummy/md.c: revision 1.6
usr.sbin/sysinst/arch/amd64/md.h: revision 1.9
usr.sbin/sysinst/arch/evbsh3/md.c: revision 1.6
usr.sbin/sysinst/arch/sparc/md.c: revision 1.6
usr.sbin/sysinst/arch/zaurus/md.c: revision 1.10
usr.sbin/sysinst/arch/x68k/md.c: revision 1.11
usr.sbin/sysinst/arch/sandpoint/md.c: revision 1.9
usr.sbin/sysinst/arch/vax/md.c: revision 1.7
usr.sbin/sysinst/arch/luna68k/md.c: revision 1.9
usr.sbin/sysinst/gpt.c: revision 1.19
usr.sbin/sysinst/arch/i386/md.c: revision 1.31
usr.sbin/sysinst/arch/i386/md.c: revision 1.32
usr.sbin/sysinst/arch/evbarm/md.c: revision 1.17
usr.sbin/sysinst/arch/evbarm/md.c: revision 1.18
usr.sbin/sysinst/arch/evbarm/md.c: revision 1.19
usr.sbin/sysinst/arch/shark/md.c: revision 1.6
usr.sbin/sysinst/arch/landisk/md.c: revision 1.14
usr.sbin/sysinst/util.c: revision 1.43
usr.sbin/sysinst/gpt.c: revision 1.20
usr.sbin/sysinst/util.c: revision 1.44
usr.sbin/sysinst/gpt.c: revision 1.21
usr.sbin/sysinst/gpt.c: revision 1.22
usr.sbin/sysinst/arch/evbarm/msg.md.en: revision 1.2
usr.sbin/sysinst/arch/ofppc/md.c: revision 1.11
usr.sbin/sysinst/util.c: revision 1.46
usr.sbin/sysinst/arch/ofppc/md.c: revision 1.12
usr.sbin/sysinst/util.c: revision 1.47
usr.sbin/sysinst/arch/evbarm/md.h: revision 1.6
usr.sbin/sysinst/util.c: revision 1.48
usr.sbin/sysinst/arch/evbarm/md.h: revision 1.7
usr.sbin/sysinst/arch/evbmips/md.c: revision 1.9
usr.sbin/sysinst/msg.mi.fr: revision 1.28
usr.sbin/sysinst/msg.mi.fr: revision 1.29
usr.sbin/sysinst/arch/sgimips/md.c: revision 1.9
usr.sbin/sysinst/arch/evbarm/Makefile: revision 1.3
usr.sbin/sysinst/msg.mi.de: revision 1.23
usr.sbin/sysinst/arch/hpcsh/md.c: revision 1.10
usr.sbin/sysinst/msg.mi.de: revision 1.24
usr.sbin/sysinst/install.c: revision 1.15
usr.sbin/sysinst/install.c: revision 1.16
usr.sbin/sysinst/arch/sparc64/md.c: revision 1.6
usr.sbin/sysinst/install.c: revision 1.17
usr.sbin/sysinst/install.c: revision 1.18
usr.sbin/sysinst/partitions.h: revision 1.16
usr.sbin/sysinst/install.c: revision 1.19
usr.sbin/sysinst/partitions.h: revision 1.17
usr.sbin/sysinst/arch/evbppc/md.c: revision 1.9
usr.sbin/sysinst/arch/playstation2/md.c: revision 1.9
usr.sbin/sysinst/partitions.h: revision 1.18
usr.sbin/sysinst/arch/hpcarm/md.c: revision 1.9
usr.sbin/sysinst/partitions.h: revision 1.19
usr.sbin/sysinst/msg.mi.es: revision 1.24
usr.sbin/sysinst/msg.mi.es: revision 1.25
usr.sbin/sysinst/msg.mi.es: revision 1.26
usr.sbin/sysinst/arch/zaurus/md.c: revision 1.9
usr.sbin/sysinst/target.c: revision 1.13
usr.sbin/sysinst/target.c: revision 1.14
usr.sbin/sysinst/part_edit.c: revision 1.17
usr.sbin/sysinst/part_edit.c: revision 1.18
usr.sbin/sysinst/msg.mi.fr: revision 1.30
usr.sbin/sysinst/arch/mvme68k/md.c: revision 1.11
usr.sbin/sysinst/part_edit.c: revision 1.19
usr.sbin/sysinst/msg.mi.fr: revision 1.31
usr.sbin/sysinst/arch/alpha/md.c: revision 1.9
usr.sbin/sysinst/msg.mi.en: revision 1.30
usr.sbin/sysinst/defs.h: revision 1.56
usr.sbin/sysinst/msg.mi.en: revision 1.31
usr.sbin/sysinst/defs.h: revision 1.57
usr.sbin/sysinst/msg.mi.en: revision 1.32
usr.sbin/sysinst/arch/amiga/md.c: revision 1.6
usr.sbin/sysinst/arch/hpcmips/md.c: revision 1.9
usr.sbin/sysinst/defs.h: revision 1.58
usr.sbin/sysinst/arch/cats/md.c: revision 1.5
usr.sbin/sysinst/defs.h: revision 1.59
usr.sbin/sysinst/arch/newsmips/md.c: revision 1.6
usr.sbin/sysinst/arch/pmax/md.c: revision 1.8
usr.sbin/sysinst/arch/mipsco/md.c: revision 1.8
usr.sbin/sysinst/part_edit.c: revision 1.20
usr.sbin/sysinst/part_edit.c: revision 1.21
usr.sbin/sysinst/arch/macppc/md.c: revision 1.6
usr.sbin/sysinst/part_edit.c: revision 1.22
usr.sbin/sysinst/part_edit.c: revision 1.23
usr.sbin/sysinst/part_edit.c: revision 1.24
usr.sbin/sysinst/defs.h: revision 1.60
usr.sbin/sysinst/arch/mac68k/Makefile: revision 1.3
usr.sbin/sysinst/defs.h: revision 1.61
usr.sbin/sysinst/defs.h: revision 1.63
usr.sbin/sysinst/defs.h: revision 1.64
usr.sbin/sysinst/defs.h: revision 1.65
usr.sbin/sysinst/label.c: revision 1.21
usr.sbin/sysinst/defs.h: revision 1.66
usr.sbin/sysinst/label.c: revision 1.22
usr.sbin/sysinst/defs.h: revision 1.67
usr.sbin/sysinst/label.c: revision 1.23
usr.sbin/sysinst/label.c: revision 1.24
usr.sbin/sysinst/label.c: revision 1.25
usr.sbin/sysinst/label.c: revision 1.26
usr.sbin/sysinst/label.c: revision 1.27
usr.sbin/sysinst/msg.mi.pl: revision 1.31
usr.sbin/sysinst/label.c: revision 1.28
usr.sbin/sysinst/msg.mi.pl: revision 1.32
usr.sbin/sysinst/label.c: revision 1.29
usr.sbin/sysinst/arch/atari/md.c: revision 1.7
usr.sbin/sysinst/disklabel.c: revision 1.36
usr.sbin/sysinst/disklabel.c: revision 1.37
usr.sbin/sysinst/disklabel.c: revision 1.38
usr.sbin/sysinst/disklabel.c: revision 1.39
usr.sbin/sysinst/arch/bebox/md.c: revision 1.9
usr.sbin/sysinst/mbr.c: revision 1.32
usr.sbin/sysinst/disks.c: revision 1.66
usr.sbin/sysinst/mbr.c: revision 1.33
usr.sbin/sysinst/disks.c: revision 1.67
usr.sbin/sysinst/mbr.c: revision 1.34
usr.sbin/sysinst/arch/emips/md.c: revision 1.9
usr.sbin/sysinst/disks.c: revision 1.68
usr.sbin/sysinst/partitions.c: revision 1.11
usr.sbin/sysinst/mbr.c: revision 1.35
usr.sbin/sysinst/disks.c: revision 1.69
usr.sbin/sysinst/mbr.c: revision 1.36
usr.sbin/sysinst/arch/hppa/md.c: revision 1.8
usr.sbin/sysinst/arch/prep/md.c: revision 1.13
usr.sbin/sysinst/label.c: revision 1.30
usr.sbin/sysinst/arch/ews4800mips/md.c: revision 1.7
usr.sbin/sysinst/main.c: revision 1.21
usr.sbin/sysinst/main.c: revision 1.22
usr.sbin/sysinst/main.c: revision 1.23
usr.sbin/sysinst/bsddisklabel.c: revision 1.40
usr.sbin/sysinst/main.c: revision 1.24
usr.sbin/sysinst/arch/cobalt/md.h: revision 1.6
usr.sbin/sysinst/bsddisklabel.c: revision 1.41
usr.sbin/sysinst/main.c: revision 1.25
usr.sbin/sysinst/arch/news68k/md.c: revision 1.7
usr.sbin/sysinst/bsddisklabel.c: revision 1.42
usr.sbin/sysinst/bsddisklabel.c: revision 1.43
usr.sbin/sysinst/bsddisklabel.c: revision 1.44
usr.sbin/sysinst/bsddisklabel.c: revision 1.45
Use strlcpy in a few places to guarnatee 0-terminated strings
Rever previous: the d_packname in struct disklabel is not NUL terminated.
Disable the warning instead.
Do not force -Os optimization (unless SMALLPROG)
Remove unused "rel" global variable and make the -r option a no-op.
PR 55045: strlcpy(NULL, ..., 0) considered harmfull in some implementations.
PR misc/54886: bump threshold for automatic/default creation of a tmpfs /tmp
up slightly (to 384 MB ram). This will make sure the default install has
a > 64 MB /tmp available (number pulled out of thin air, 64 MB is the minimum
required by the ZFS tests).
Don't depend on common symbol definitions.
boardype should not be common.
Redo the root-size-limit check again after we grew the root partition
for kernel dumps. Auto-enable the /usr partition if it overflows.
For all non-root partitions, default to FFSv2.
When extending a partition (to fill the total disk size) do respect
size limits.
Do not suggest a size limited partition for extension by default.
Minor tweak to previous: when forcing a /usr partition just to have an
arbitrary extendable partition, still use its default size initially.
At the end of a new installation save entropy.
Ooops, backout previous - twice the entropy saving is not needed.
Instead slightly improve the (slightly) hidden other code that already
did it.
PR 55202: disable swapping if we started it due to low ram
it's "its"
Remove "If you booted from a floppy" message
Set HAVE_INSTALL_IMAGE for evbarm
Change mountpoint of boot ext2fs from /stand to /ext2 to avoid conflict.
Should be pulled up to netbsd-9, with fixes of PR/55060.
MBR type for Ext2 should be MBR_PTYPE_LNXEXT2, not MBR_PTYPE_FAT12.
Silence -Wstringop-truncation for ``name'' in disp_selected_part().
This variable is used only for display, and truncation seems harmless.
PR 55572: avoid crash when answering the mount point prompt for a previously
empty mount point with an emptry sting.
When adding a new partition in the concrete partition editor, make sure
to set a pointer to the partition table interface in the new entry.
Otherwise we may end up not writing back the partitions at all, leading
to further fallout later.
Receipe to reproduce the issue from Frederic Fauberteau, thanks!
In the concrete partitions editor, after deleting the last partition move
the menu selection to the "add a partition" entry (instead of the sentinel
line which is not an active menu entry).
Typo in comment
Keep a list of all partition tables from which we have deleted partitions
and make sure we update those partition tables when writing partitions,
even if no install related partition remains on them.
Fix display of timezone selection menu
If there is no current partitioning manager assume we are editing the
current system and make target_already_root() return true.
Fixes various fallout when using sysinst post installation.
PR 55377: mark boot partitions in the partition size display, as suggested
by Izumi Tsutsui (minor modifications + all bugs by me)
PR 55378: do not assume RAW_PART to be either 2 or 3
PR 55379: avoid creating bogus /etc/fstab lines for /dev/cd* if no
cdrom is available.
PR 55381: try to deal with moved (but not yet saved) partitions when
calculating free space
Apply patch provided by Izumi Tsutsui in PR 55382: make ext2 partitions
show up in the outer (MBR) partition table, needed for example on Cobalt
where firmware boots from that partition.
PR 55384: detangle pm->ptstart from the "install" flag (selecting a
target partition). Instead introduce a new PTI_INSTALL_TARGET per partition
flag and deal with it in the partitioning backends.
Honour pm->ptstart when allocating new partitions - it is supposed to be
the first sector usable by NetBSD.
If we have no explicitly marke target root partition, make sure to set
the proper flag on the implicit one.
When merging existing partitions with desired target system layout
information, only force the "mount" flag if the existing partitions
has a valid mount point.
Add a heuristic to detect and properly mark EFI system partitions
when re-using pre-existing partitions.
When MD code requests a reserved area (at the start of the disk)
make sure to properly account for the "lost" space during all calculations
and especially when expanding the main partition to fill the disk.
Avoid using the global "pm" or a passed device descriptons when we are
passing disk limits explicitly anyway.
Simplify/fix a few rounding calculations.
When creating new partitions for "full disk" use, pass a install target
hint to the partitioning backend (for the outer NetBSD partition).
Use an install target hint to mark a new partition active.
When compiled with BOOTSEL support, also name the new partition "NetBSD".
Remove more pm->ptstart abuse - calculate values localy where needed
instead.
Fix editing start and size of not yet existing outer partitions.
Previously we abused pm->ptstart / pm->ptsize to pass the bounds of the
NetBSD outer partition to the inner partition editor - but now this is
not a valid assumption any more, so explicitly fix the bounds if an
outer partition exists.
Remove very strange code that special-cased MSDOS file systems and refused
to newfs the partition (despite explicit request to do so) if it was
mountable.
Accidently carried over from a dim and distant past, before we had
fsck_newfs.
PR 55536: when we find existing partition tables and have alternative
formats available, offer to delete partitions and create new ones from
scratch (in some other or the same on-disk format).
Minor fix to previous: fix condition when we offer the partition type
switch - it makes sense even if the disk is partitioned but has no valid
partitions.
Before forcing MBR partitions into our disklabel, make sure they are not
there yet - could happen in various paths when reusing existing partitions
(or parts of that) - previously we would blindly duplicate identical
partitions.
Ooops, part of previous was not meant to be included yet
When renumbering partitions (after deletions) be slightly more lax
in matching, to cope with differences between MBR EFI partitions and
disklabel MSDOS partitions.
PR 55142: on popular demand bring back expert options to adjust the
number of free inodes, block size and fragment size for FFS and LFS.
Fix copy & pasto noticed by Jason Mitchell: change the type of a GPT
partition via "gpt type" - not "gpt label".
Fix copy & pasto (missing "again" label)
Remove dead code
Move MBR writing (if any) post disklabel writing, otherwise strange
interactions happen.
Properly convert partition default sizes in MB to number of sectors
 1.5 26-Apr-2025  tsutsui Remove obsolete MD 'PART_(ROOT|SWAP|BSD|RAW|USR|REST|FIRST_FREE)' defines.

Patch from Miod Vallat.
 1.4 17-Jun-2022  tsutsui branches: 1.4.4;
Use #define<space> consistently.
 1.3 16-Jun-2022  tsutsui Define DEFSWAPSIZE properly. DEFSWAPRAM seems obsolete.
 1.2 16-Nov-2018  martin Sync install size estimates with current reality
 1.1 26-Jul-2014  dholland branches: 1.1.2; 1.1.6; 1.1.26; 1.1.28;
Move sysinst sources to usr.sbin.

This commit only physically moves the sources - there are no other
changes, to maximize the probability that this will be treated as a
rename if we ever do manage to migrate away from CVS.

Moving sysinst has been discussed on and off for years and has two
goals: making it easier to work on sysinst, and also making sysinst
available on running systems for use installing chroots and VM images
and other such things. None of the latter is possible yet, but as they
say, one thing at a time.

Doing this now was approved in an impromptu fashion by mrg, riz,
riastradh, me, and groo.
 1.1.28.1 10-Jun-2019  christos Sync with HEAD
 1.1.26.1 26-Nov-2018  pgoyette Sync with HEAD, resolve a couple of conflicts
 1.1.6.2 20-Aug-2014  tls Rebase to HEAD as of a few days ago.
 1.1.6.1 26-Jul-2014  tls file md.h was added on branch tls-maxphys on 2014-08-20 00:05:16 +0000
 1.1.2.2 10-Aug-2014  tls Rebase.
 1.1.2.1 26-Jul-2014  tls file md.h was added on branch tls-earlyentropy on 2014-08-10 07:00:27 +0000
 1.4.4.1 02-Aug-2025  perseant Sync with HEAD
 1.1 26-Jul-2014  dholland branches: 1.1.2; 1.1.6;
Move sysinst sources to usr.sbin.

This commit only physically moves the sources - there are no other
changes, to maximize the probability that this will be treated as a
rename if we ever do manage to migrate away from CVS.

Moving sysinst has been discussed on and off for years and has two
goals: making it easier to work on sysinst, and also making sysinst
available on running systems for use installing chroots and VM images
and other such things. None of the latter is possible yet, but as they
say, one thing at a time.

Doing this now was approved in an impromptu fashion by mrg, riz,
riastradh, me, and groo.
 1.1.6.2 20-Aug-2014  tls Rebase to HEAD as of a few days ago.
 1.1.6.1 26-Jul-2014  tls file menus.md.en was added on branch tls-maxphys on 2014-08-20 00:05:16 +0000
 1.1.2.2 10-Aug-2014  tls Rebase.
 1.1.2.1 26-Jul-2014  tls file menus.md.en was added on branch tls-earlyentropy on 2014-08-10 07:00:27 +0000
 1.1 26-Jul-2014  dholland branches: 1.1.2; 1.1.6;
Move sysinst sources to usr.sbin.

This commit only physically moves the sources - there are no other
changes, to maximize the probability that this will be treated as a
rename if we ever do manage to migrate away from CVS.

Moving sysinst has been discussed on and off for years and has two
goals: making it easier to work on sysinst, and also making sysinst
available on running systems for use installing chroots and VM images
and other such things. None of the latter is possible yet, but as they
say, one thing at a time.

Doing this now was approved in an impromptu fashion by mrg, riz,
riastradh, me, and groo.
 1.1.6.2 20-Aug-2014  tls Rebase to HEAD as of a few days ago.
 1.1.6.1 26-Jul-2014  tls file msg.md.en was added on branch tls-maxphys on 2014-08-20 00:05:16 +0000
 1.1.2.2 10-Aug-2014  tls Rebase.
 1.1.2.1 26-Jul-2014  tls file msg.md.en was added on branch tls-earlyentropy on 2014-08-10 07:00:27 +0000
 1.2 11-Jun-2022  tsutsui Pull SMALLPROG stuff to disable unnecessary partitioning methods etc.
 1.1 26-Jul-2014  dholland branches: 1.1.2; 1.1.6;
Move sysinst sources to usr.sbin.

This commit only physically moves the sources - there are no other
changes, to maximize the probability that this will be treated as a
rename if we ever do manage to migrate away from CVS.

Moving sysinst has been discussed on and off for years and has two
goals: making it easier to work on sysinst, and also making sysinst
available on running systems for use installing chroots and VM images
and other such things. None of the latter is possible yet, but as they
say, one thing at a time.

Doing this now was approved in an impromptu fashion by mrg, riz,
riastradh, me, and groo.
 1.1.6.2 20-Aug-2014  tls Rebase to HEAD as of a few days ago.
 1.1.6.1 26-Jul-2014  tls file Makefile was added on branch tls-maxphys on 2014-08-20 00:05:17 +0000
 1.1.2.2 10-Aug-2014  tls Rebase.
 1.1.2.1 26-Jul-2014  tls file Makefile was added on branch tls-earlyentropy on 2014-08-10 07:00:27 +0000
 1.7 29-Jan-2022  martin When upgrading, update the boot code post extraction from
the updated target file system.
 1.6 12-Oct-2020  martin PR 55536: when we find existing partition tables and have alternative
formats available, offer to delete partitions and create new ones from
scratch (in some other or the same on-disk format).
 1.5 13-Jul-2019  martin branches: 1.5.2;
We may call md_pre_mount() multiple times for the same install set,
so pass an additional index argument so MD code knows which part
of the install will be mounted next.
 1.4 20-Jun-2019  christos Use _fmt_ msg_ methods when formats are needed.
 1.3 12-Jun-2019  martin Rework internal data structures and "interfaces to user interface" functions
to get rid of all disklabel assumptions.

Previously (even for GPT partitioning) struct disklabel was used, which
obviously breaks large disk setups. Also many MD parts and parts of the
user interface assumed (a) a struct disklabel is used internally to
store partitioning information and (b) partitions are named 'a' ... $MAXPART.

Get rid of this and replace it with a quite abstract interface that should
be able to deal with all variants in partition storage:

- partitions are stored in a (partly abstract) struct disk_partitions
and most parts of it are only accessed via accessor functions provided
by a "partitioning scheme".

- implement partitioning schemes for MBR, disklabel and GPT (with likely
RDB [amiga] and Apple Partition Map [mac*] to follow soon)

- partitioning schemes may be cascaded, e.g. on x86 when using MBR as
"outer partitions", we have disklabel as "inner partitions".

- all user interface goes via accessor functions in the partitioning scheme,
some of which return pointers to special user interface descriptors
(e.g. to allow editing partition flags, which are scheme specific)

Overall the user interface changes (in this initial step) are minimal but
noticable. A new Anita is needed for automatic test setups - many thanks
to Andreas Gustafsson for lots of early testing and a new Anita version,
and to Manuel Bouyer for cooperation and tests of the Anita release.

This work was sponsored by The NetBSD Foundation, Inc.
 1.2 03-Aug-2014  martin branches: 1.2.2; 1.2.6; 1.2.28;
(Finally) merge a slightly modified version of the 2012 GSoC results
from Eugene Lozovoy: add extended partitioning options to sysinst.
Still needs some testing and polishing, but it now is possible to use GPT
or to create a RAID set from scratch and install onto it.
 1.1 26-Jul-2014  dholland Move sysinst sources to usr.sbin.

This commit only physically moves the sources - there are no other
changes, to maximize the probability that this will be treated as a
rename if we ever do manage to migrate away from CVS.

Moving sysinst has been discussed on and off for years and has two
goals: making it easier to work on sysinst, and also making sysinst
available on running systems for use installing chroots and VM images
and other such things. None of the latter is possible yet, but as they
say, one thing at a time.

Doing this now was approved in an impromptu fashion by mrg, riz,
riastradh, me, and groo.
 1.2.28.1 13-Apr-2020  martin Mostly merge changes from HEAD upto 20200411
 1.2.6.2 20-Aug-2014  tls Rebase to HEAD as of a few days ago.
 1.2.6.1 03-Aug-2014  tls file md.c was added on branch tls-maxphys on 2014-08-20 00:05:17 +0000
 1.2.2.2 10-Aug-2014  tls Rebase.
 1.2.2.1 03-Aug-2014  tls file md.c was added on branch tls-earlyentropy on 2014-08-10 07:00:27 +0000
 1.5.2.2 02-Feb-2022  msaitoh Pull up following revision(s) (requested by martin in ticket #1422):
usr.sbin/sysinst/util.c: revision 1.64
usr.sbin/sysinst/arch/hpcsh/md.c: revision 1.11
usr.sbin/sysinst/arch/alpha/md.c: revision 1.10
usr.sbin/sysinst/arch/sparc64/md.c: revision 1.7
usr.sbin/sysinst/arch/emips/md.c: revision 1.10
usr.sbin/sysinst/arch/cobalt/md.c: revision 1.15
usr.sbin/sysinst/arch/x68k/md.c: revision 1.12
usr.sbin/sysinst/arch/sandpoint/md.c: revision 1.10
usr.sbin/sysinst/arch/luna68k/md.c: revision 1.10
usr.sbin/sysinst/arch/hp300/md.c: revision 1.12
usr.sbin/sysinst/arch/vax/md.c: revision 1.8
usr.sbin/sysinst/arch/hpcmips/md.c: revision 1.10
usr.sbin/sysinst/target.c: revision 1.16
usr.sbin/sysinst/arch/mvme68k/md.c: revision 1.12
usr.sbin/sysinst/arch/arc/md.c: revision 1.14
usr.sbin/sysinst/target.c: revision 1.17
usr.sbin/sysinst/arch/i386/md.c: revision 1.34
usr.sbin/sysinst/arch/mac68k/md.c: revision 1.11
usr.sbin/sysinst/arch/atari/md.c: revision 1.8
usr.sbin/sysinst/arch/sgimips/md.c: revision 1.10
usr.sbin/sysinst/arch/acorn32/md.c: revision 1.8
usr.sbin/sysinst/install.c: revision 1.22
usr.sbin/sysinst/arch/amiga/md.c: revision 1.7
usr.sbin/sysinst/arch/cats/md.c: revision 1.6
usr.sbin/sysinst/arch/dummy/md.c: revision 1.7
usr.sbin/sysinst/arch/shark/md.c: revision 1.7
usr.sbin/sysinst/arch/pmax/md.c: revision 1.9
usr.sbin/sysinst/arch/newsmips/md.c: revision 1.7
usr.sbin/sysinst/arch/mipsco/md.c: revision 1.9
usr.sbin/sysinst/arch/landisk/md.c: revision 1.15
usr.sbin/sysinst/arch/hppa/md.c: revision 1.9
usr.sbin/sysinst/arch/prep/md.c: revision 1.14
usr.sbin/sysinst/defs.h: revision 1.77
usr.sbin/sysinst/arch/ofppc/md.c: revision 1.13
usr.sbin/sysinst/arch/ews4800mips/md.c: revision 1.8
usr.sbin/sysinst/defs.h: revision 1.78
usr.sbin/sysinst/arch/macppc/md.c: revision 1.7
usr.sbin/sysinst/arch/evbppc/md.c: revision 1.10
usr.sbin/sysinst/defs.h: revision 1.79
usr.sbin/sysinst/gpt.c: revision 1.27
usr.sbin/sysinst/arch/bebox/md.c: revision 1.10
usr.sbin/sysinst/gpt.c: revision 1.28
usr.sbin/sysinst/arch/sparc/md.c: revision 1.7
usr.sbin/sysinst/arch/evbsh3/md.c: revision 1.7
usr.sbin/sysinst/arch/evbarm/md.c: revision 1.22
usr.sbin/sysinst/arch/news68k/md.c: revision 1.8
usr.sbin/sysinst/upgrade.c: revision 1.19
usr.sbin/sysinst/arch/zaurus/md.c: revision 1.12
usr.sbin/sysinst/arch/playstation2/md.c: revision 1.10
usr.sbin/sysinst/arch/hpcarm/md.c: revision 1.11
usr.sbin/sysinst/arch/evbmips/md.c: revision 1.10
usr.sbin/sysinst/main.c: revision 1.28
Add an option to set the directory where we look for message catalogs.
Try to get rid of all wedges we created (after unmounting).
When upgrading, update the boot code post extraction from
the updated target file system.
Do not defer wedge deletions when we have nothing mounted.
Define and use a constant for maximum disk name length.
 1.5.2.1 15-Oct-2020  bouyer Pull up following revision(s) (requested by martin in ticket #1113):
usr.sbin/sysinst/bsddisklabel.c: revision 1.46
usr.sbin/sysinst/bsddisklabel.c: revision 1.47
usr.sbin/sysinst/disklabel.c: revision 1.40
usr.sbin/sysinst/arch/cobalt/md.c: revision 1.13
usr.sbin/sysinst/bsddisklabel.c: revision 1.48
usr.sbin/sysinst/disklabel.c: revision 1.41
usr.sbin/sysinst/arch/cobalt/md.c: revision 1.14
usr.sbin/sysinst/bsddisklabel.c: revision 1.49
usr.sbin/sysinst/disklabel.c: revision 1.42
usr.sbin/sysinst/Makefile.inc: revision 1.34
usr.sbin/sysinst/disks.c: revision 1.70
usr.sbin/sysinst/arch/hp300/md.c: revision 1.11
usr.sbin/sysinst/disks.c: revision 1.71
usr.sbin/sysinst/arch/i386/md.h: revision 1.8
usr.sbin/sysinst/arch/arc/md.c: revision 1.13
usr.sbin/sysinst/mbr.h: revision 1.5
usr.sbin/sysinst/mbr.h: revision 1.6
usr.sbin/sysinst/arch/mac68k/md.c: revision 1.10
usr.sbin/sysinst/bsddisklabel.c: revision 1.50
usr.sbin/sysinst/arch/acorn32/md.c: revision 1.7
usr.sbin/sysinst/bsddisklabel.c: revision 1.51
usr.sbin/sysinst/bsddisklabel.c: revision 1.52
usr.sbin/sysinst/bsddisklabel.c: revision 1.53
usr.sbin/sysinst/bsddisklabel.c: revision 1.54
usr.sbin/sysinst/bsddisklabel.c: revision 1.55
usr.sbin/sysinst/bsddisklabel.c: revision 1.56
usr.sbin/sysinst/arch/dummy/md.c: revision 1.6
usr.sbin/sysinst/arch/amd64/md.h: revision 1.9
usr.sbin/sysinst/arch/evbsh3/md.c: revision 1.6
usr.sbin/sysinst/arch/sparc/md.c: revision 1.6
usr.sbin/sysinst/arch/zaurus/md.c: revision 1.10
usr.sbin/sysinst/arch/x68k/md.c: revision 1.11
usr.sbin/sysinst/arch/sandpoint/md.c: revision 1.9
usr.sbin/sysinst/arch/vax/md.c: revision 1.7
usr.sbin/sysinst/arch/luna68k/md.c: revision 1.9
usr.sbin/sysinst/gpt.c: revision 1.19
usr.sbin/sysinst/arch/i386/md.c: revision 1.31
usr.sbin/sysinst/arch/i386/md.c: revision 1.32
usr.sbin/sysinst/arch/evbarm/md.c: revision 1.17
usr.sbin/sysinst/arch/evbarm/md.c: revision 1.18
usr.sbin/sysinst/arch/evbarm/md.c: revision 1.19
usr.sbin/sysinst/arch/shark/md.c: revision 1.6
usr.sbin/sysinst/arch/landisk/md.c: revision 1.14
usr.sbin/sysinst/util.c: revision 1.43
usr.sbin/sysinst/gpt.c: revision 1.20
usr.sbin/sysinst/util.c: revision 1.44
usr.sbin/sysinst/gpt.c: revision 1.21
usr.sbin/sysinst/gpt.c: revision 1.22
usr.sbin/sysinst/arch/evbarm/msg.md.en: revision 1.2
usr.sbin/sysinst/arch/ofppc/md.c: revision 1.11
usr.sbin/sysinst/util.c: revision 1.46
usr.sbin/sysinst/arch/ofppc/md.c: revision 1.12
usr.sbin/sysinst/util.c: revision 1.47
usr.sbin/sysinst/arch/evbarm/md.h: revision 1.6
usr.sbin/sysinst/util.c: revision 1.48
usr.sbin/sysinst/arch/evbarm/md.h: revision 1.7
usr.sbin/sysinst/arch/evbmips/md.c: revision 1.9
usr.sbin/sysinst/msg.mi.fr: revision 1.28
usr.sbin/sysinst/msg.mi.fr: revision 1.29
usr.sbin/sysinst/arch/sgimips/md.c: revision 1.9
usr.sbin/sysinst/arch/evbarm/Makefile: revision 1.3
usr.sbin/sysinst/msg.mi.de: revision 1.23
usr.sbin/sysinst/arch/hpcsh/md.c: revision 1.10
usr.sbin/sysinst/msg.mi.de: revision 1.24
usr.sbin/sysinst/install.c: revision 1.15
usr.sbin/sysinst/install.c: revision 1.16
usr.sbin/sysinst/arch/sparc64/md.c: revision 1.6
usr.sbin/sysinst/install.c: revision 1.17
usr.sbin/sysinst/install.c: revision 1.18
usr.sbin/sysinst/partitions.h: revision 1.16
usr.sbin/sysinst/install.c: revision 1.19
usr.sbin/sysinst/partitions.h: revision 1.17
usr.sbin/sysinst/arch/evbppc/md.c: revision 1.9
usr.sbin/sysinst/arch/playstation2/md.c: revision 1.9
usr.sbin/sysinst/partitions.h: revision 1.18
usr.sbin/sysinst/arch/hpcarm/md.c: revision 1.9
usr.sbin/sysinst/partitions.h: revision 1.19
usr.sbin/sysinst/msg.mi.es: revision 1.24
usr.sbin/sysinst/msg.mi.es: revision 1.25
usr.sbin/sysinst/msg.mi.es: revision 1.26
usr.sbin/sysinst/arch/zaurus/md.c: revision 1.9
usr.sbin/sysinst/target.c: revision 1.13
usr.sbin/sysinst/target.c: revision 1.14
usr.sbin/sysinst/part_edit.c: revision 1.17
usr.sbin/sysinst/part_edit.c: revision 1.18
usr.sbin/sysinst/msg.mi.fr: revision 1.30
usr.sbin/sysinst/arch/mvme68k/md.c: revision 1.11
usr.sbin/sysinst/part_edit.c: revision 1.19
usr.sbin/sysinst/msg.mi.fr: revision 1.31
usr.sbin/sysinst/arch/alpha/md.c: revision 1.9
usr.sbin/sysinst/msg.mi.en: revision 1.30
usr.sbin/sysinst/defs.h: revision 1.56
usr.sbin/sysinst/msg.mi.en: revision 1.31
usr.sbin/sysinst/defs.h: revision 1.57
usr.sbin/sysinst/msg.mi.en: revision 1.32
usr.sbin/sysinst/arch/amiga/md.c: revision 1.6
usr.sbin/sysinst/arch/hpcmips/md.c: revision 1.9
usr.sbin/sysinst/defs.h: revision 1.58
usr.sbin/sysinst/arch/cats/md.c: revision 1.5
usr.sbin/sysinst/defs.h: revision 1.59
usr.sbin/sysinst/arch/newsmips/md.c: revision 1.6
usr.sbin/sysinst/arch/pmax/md.c: revision 1.8
usr.sbin/sysinst/arch/mipsco/md.c: revision 1.8
usr.sbin/sysinst/part_edit.c: revision 1.20
usr.sbin/sysinst/part_edit.c: revision 1.21
usr.sbin/sysinst/arch/macppc/md.c: revision 1.6
usr.sbin/sysinst/part_edit.c: revision 1.22
usr.sbin/sysinst/part_edit.c: revision 1.23
usr.sbin/sysinst/part_edit.c: revision 1.24
usr.sbin/sysinst/defs.h: revision 1.60
usr.sbin/sysinst/arch/mac68k/Makefile: revision 1.3
usr.sbin/sysinst/defs.h: revision 1.61
usr.sbin/sysinst/defs.h: revision 1.63
usr.sbin/sysinst/defs.h: revision 1.64
usr.sbin/sysinst/defs.h: revision 1.65
usr.sbin/sysinst/label.c: revision 1.21
usr.sbin/sysinst/defs.h: revision 1.66
usr.sbin/sysinst/label.c: revision 1.22
usr.sbin/sysinst/defs.h: revision 1.67
usr.sbin/sysinst/label.c: revision 1.23
usr.sbin/sysinst/label.c: revision 1.24
usr.sbin/sysinst/label.c: revision 1.25
usr.sbin/sysinst/label.c: revision 1.26
usr.sbin/sysinst/label.c: revision 1.27
usr.sbin/sysinst/msg.mi.pl: revision 1.31
usr.sbin/sysinst/label.c: revision 1.28
usr.sbin/sysinst/msg.mi.pl: revision 1.32
usr.sbin/sysinst/label.c: revision 1.29
usr.sbin/sysinst/arch/atari/md.c: revision 1.7
usr.sbin/sysinst/disklabel.c: revision 1.36
usr.sbin/sysinst/disklabel.c: revision 1.37
usr.sbin/sysinst/disklabel.c: revision 1.38
usr.sbin/sysinst/disklabel.c: revision 1.39
usr.sbin/sysinst/arch/bebox/md.c: revision 1.9
usr.sbin/sysinst/mbr.c: revision 1.32
usr.sbin/sysinst/disks.c: revision 1.66
usr.sbin/sysinst/mbr.c: revision 1.33
usr.sbin/sysinst/disks.c: revision 1.67
usr.sbin/sysinst/mbr.c: revision 1.34
usr.sbin/sysinst/arch/emips/md.c: revision 1.9
usr.sbin/sysinst/disks.c: revision 1.68
usr.sbin/sysinst/partitions.c: revision 1.11
usr.sbin/sysinst/mbr.c: revision 1.35
usr.sbin/sysinst/disks.c: revision 1.69
usr.sbin/sysinst/mbr.c: revision 1.36
usr.sbin/sysinst/arch/hppa/md.c: revision 1.8
usr.sbin/sysinst/arch/prep/md.c: revision 1.13
usr.sbin/sysinst/label.c: revision 1.30
usr.sbin/sysinst/arch/ews4800mips/md.c: revision 1.7
usr.sbin/sysinst/main.c: revision 1.21
usr.sbin/sysinst/main.c: revision 1.22
usr.sbin/sysinst/main.c: revision 1.23
usr.sbin/sysinst/bsddisklabel.c: revision 1.40
usr.sbin/sysinst/main.c: revision 1.24
usr.sbin/sysinst/arch/cobalt/md.h: revision 1.6
usr.sbin/sysinst/bsddisklabel.c: revision 1.41
usr.sbin/sysinst/main.c: revision 1.25
usr.sbin/sysinst/arch/news68k/md.c: revision 1.7
usr.sbin/sysinst/bsddisklabel.c: revision 1.42
usr.sbin/sysinst/bsddisklabel.c: revision 1.43
usr.sbin/sysinst/bsddisklabel.c: revision 1.44
usr.sbin/sysinst/bsddisklabel.c: revision 1.45
Use strlcpy in a few places to guarnatee 0-terminated strings
Rever previous: the d_packname in struct disklabel is not NUL terminated.
Disable the warning instead.
Do not force -Os optimization (unless SMALLPROG)
Remove unused "rel" global variable and make the -r option a no-op.
PR 55045: strlcpy(NULL, ..., 0) considered harmfull in some implementations.
PR misc/54886: bump threshold for automatic/default creation of a tmpfs /tmp
up slightly (to 384 MB ram). This will make sure the default install has
a > 64 MB /tmp available (number pulled out of thin air, 64 MB is the minimum
required by the ZFS tests).
Don't depend on common symbol definitions.
boardype should not be common.
Redo the root-size-limit check again after we grew the root partition
for kernel dumps. Auto-enable the /usr partition if it overflows.
For all non-root partitions, default to FFSv2.
When extending a partition (to fill the total disk size) do respect
size limits.
Do not suggest a size limited partition for extension by default.
Minor tweak to previous: when forcing a /usr partition just to have an
arbitrary extendable partition, still use its default size initially.
At the end of a new installation save entropy.
Ooops, backout previous - twice the entropy saving is not needed.
Instead slightly improve the (slightly) hidden other code that already
did it.
PR 55202: disable swapping if we started it due to low ram
it's "its"
Remove "If you booted from a floppy" message
Set HAVE_INSTALL_IMAGE for evbarm
Change mountpoint of boot ext2fs from /stand to /ext2 to avoid conflict.
Should be pulled up to netbsd-9, with fixes of PR/55060.
MBR type for Ext2 should be MBR_PTYPE_LNXEXT2, not MBR_PTYPE_FAT12.
Silence -Wstringop-truncation for ``name'' in disp_selected_part().
This variable is used only for display, and truncation seems harmless.
PR 55572: avoid crash when answering the mount point prompt for a previously
empty mount point with an emptry sting.
When adding a new partition in the concrete partition editor, make sure
to set a pointer to the partition table interface in the new entry.
Otherwise we may end up not writing back the partitions at all, leading
to further fallout later.
Receipe to reproduce the issue from Frederic Fauberteau, thanks!
In the concrete partitions editor, after deleting the last partition move
the menu selection to the "add a partition" entry (instead of the sentinel
line which is not an active menu entry).
Typo in comment
Keep a list of all partition tables from which we have deleted partitions
and make sure we update those partition tables when writing partitions,
even if no install related partition remains on them.
Fix display of timezone selection menu
If there is no current partitioning manager assume we are editing the
current system and make target_already_root() return true.
Fixes various fallout when using sysinst post installation.
PR 55377: mark boot partitions in the partition size display, as suggested
by Izumi Tsutsui (minor modifications + all bugs by me)
PR 55378: do not assume RAW_PART to be either 2 or 3
PR 55379: avoid creating bogus /etc/fstab lines for /dev/cd* if no
cdrom is available.
PR 55381: try to deal with moved (but not yet saved) partitions when
calculating free space
Apply patch provided by Izumi Tsutsui in PR 55382: make ext2 partitions
show up in the outer (MBR) partition table, needed for example on Cobalt
where firmware boots from that partition.
PR 55384: detangle pm->ptstart from the "install" flag (selecting a
target partition). Instead introduce a new PTI_INSTALL_TARGET per partition
flag and deal with it in the partitioning backends.
Honour pm->ptstart when allocating new partitions - it is supposed to be
the first sector usable by NetBSD.
If we have no explicitly marke target root partition, make sure to set
the proper flag on the implicit one.
When merging existing partitions with desired target system layout
information, only force the "mount" flag if the existing partitions
has a valid mount point.
Add a heuristic to detect and properly mark EFI system partitions
when re-using pre-existing partitions.
When MD code requests a reserved area (at the start of the disk)
make sure to properly account for the "lost" space during all calculations
and especially when expanding the main partition to fill the disk.
Avoid using the global "pm" or a passed device descriptons when we are
passing disk limits explicitly anyway.
Simplify/fix a few rounding calculations.
When creating new partitions for "full disk" use, pass a install target
hint to the partitioning backend (for the outer NetBSD partition).
Use an install target hint to mark a new partition active.
When compiled with BOOTSEL support, also name the new partition "NetBSD".
Remove more pm->ptstart abuse - calculate values localy where needed
instead.
Fix editing start and size of not yet existing outer partitions.
Previously we abused pm->ptstart / pm->ptsize to pass the bounds of the
NetBSD outer partition to the inner partition editor - but now this is
not a valid assumption any more, so explicitly fix the bounds if an
outer partition exists.
Remove very strange code that special-cased MSDOS file systems and refused
to newfs the partition (despite explicit request to do so) if it was
mountable.
Accidently carried over from a dim and distant past, before we had
fsck_newfs.
PR 55536: when we find existing partition tables and have alternative
formats available, offer to delete partitions and create new ones from
scratch (in some other or the same on-disk format).
Minor fix to previous: fix condition when we offer the partition type
switch - it makes sense even if the disk is partitioned but has no valid
partitions.
Before forcing MBR partitions into our disklabel, make sure they are not
there yet - could happen in various paths when reusing existing partitions
(or parts of that) - previously we would blindly duplicate identical
partitions.
Ooops, part of previous was not meant to be included yet
When renumbering partitions (after deletions) be slightly more lax
in matching, to cope with differences between MBR EFI partitions and
disklabel MSDOS partitions.
PR 55142: on popular demand bring back expert options to adjust the
number of free inodes, block size and fragment size for FFS and LFS.
Fix copy & pasto noticed by Jason Mitchell: change the type of a GPT
partition via "gpt type" - not "gpt label".
Fix copy & pasto (missing "again" label)
Remove dead code
Move MBR writing (if any) post disklabel writing, otherwise strange
interactions happen.
Properly convert partition default sizes in MB to number of sectors
 1.4 26-Apr-2025  tsutsui Remove obsolete MD 'PART_(ROOT|SWAP|BSD|RAW|USR|REST|FIRST_FREE)' defines.

Patch from Miod Vallat.
 1.3 16-Jun-2022  tsutsui branches: 1.3.4;
Define DEFSWAPSIZE properly. DEFSWAPRAM seems obsolete.
 1.2 16-Nov-2018  martin Sync install size estimates with current reality
 1.1 26-Jul-2014  dholland branches: 1.1.2; 1.1.6; 1.1.26; 1.1.28;
Move sysinst sources to usr.sbin.

This commit only physically moves the sources - there are no other
changes, to maximize the probability that this will be treated as a
rename if we ever do manage to migrate away from CVS.

Moving sysinst has been discussed on and off for years and has two
goals: making it easier to work on sysinst, and also making sysinst
available on running systems for use installing chroots and VM images
and other such things. None of the latter is possible yet, but as they
say, one thing at a time.

Doing this now was approved in an impromptu fashion by mrg, riz,
riastradh, me, and groo.
 1.1.28.1 10-Jun-2019  christos Sync with HEAD
 1.1.26.1 26-Nov-2018  pgoyette Sync with HEAD, resolve a couple of conflicts
 1.1.6.2 20-Aug-2014  tls Rebase to HEAD as of a few days ago.
 1.1.6.1 26-Jul-2014  tls file md.h was added on branch tls-maxphys on 2014-08-20 00:05:17 +0000
 1.1.2.2 10-Aug-2014  tls Rebase.
 1.1.2.1 26-Jul-2014  tls file md.h was added on branch tls-earlyentropy on 2014-08-10 07:00:27 +0000
 1.3.4.1 02-Aug-2025  perseant Sync with HEAD
 1.1 26-Jul-2014  dholland branches: 1.1.2; 1.1.6;
Move sysinst sources to usr.sbin.

This commit only physically moves the sources - there are no other
changes, to maximize the probability that this will be treated as a
rename if we ever do manage to migrate away from CVS.

Moving sysinst has been discussed on and off for years and has two
goals: making it easier to work on sysinst, and also making sysinst
available on running systems for use installing chroots and VM images
and other such things. None of the latter is possible yet, but as they
say, one thing at a time.

Doing this now was approved in an impromptu fashion by mrg, riz,
riastradh, me, and groo.
 1.1.6.2 20-Aug-2014  tls Rebase to HEAD as of a few days ago.
 1.1.6.1 26-Jul-2014  tls file menus.md.en was added on branch tls-maxphys on 2014-08-20 00:05:17 +0000
 1.1.2.2 10-Aug-2014  tls Rebase.
 1.1.2.1 26-Jul-2014  tls file menus.md.en was added on branch tls-earlyentropy on 2014-08-10 07:00:27 +0000
 1.1 26-Jul-2014  dholland branches: 1.1.2; 1.1.6;
Move sysinst sources to usr.sbin.

This commit only physically moves the sources - there are no other
changes, to maximize the probability that this will be treated as a
rename if we ever do manage to migrate away from CVS.

Moving sysinst has been discussed on and off for years and has two
goals: making it easier to work on sysinst, and also making sysinst
available on running systems for use installing chroots and VM images
and other such things. None of the latter is possible yet, but as they
say, one thing at a time.

Doing this now was approved in an impromptu fashion by mrg, riz,
riastradh, me, and groo.
 1.1.6.2 20-Aug-2014  tls Rebase to HEAD as of a few days ago.
 1.1.6.1 26-Jul-2014  tls file menus.md.es was added on branch tls-maxphys on 2014-08-20 00:05:17 +0000
 1.1.2.2 10-Aug-2014  tls Rebase.
 1.1.2.1 26-Jul-2014  tls file menus.md.es was added on branch tls-earlyentropy on 2014-08-10 07:00:27 +0000
 1.1 26-Jul-2014  dholland branches: 1.1.2; 1.1.6;
Move sysinst sources to usr.sbin.

This commit only physically moves the sources - there are no other
changes, to maximize the probability that this will be treated as a
rename if we ever do manage to migrate away from CVS.

Moving sysinst has been discussed on and off for years and has two
goals: making it easier to work on sysinst, and also making sysinst
available on running systems for use installing chroots and VM images
and other such things. None of the latter is possible yet, but as they
say, one thing at a time.

Doing this now was approved in an impromptu fashion by mrg, riz,
riastradh, me, and groo.
 1.1.6.2 20-Aug-2014  tls Rebase to HEAD as of a few days ago.
 1.1.6.1 26-Jul-2014  tls file menus.md.fr was added on branch tls-maxphys on 2014-08-20 00:05:17 +0000
 1.1.2.2 10-Aug-2014  tls Rebase.
 1.1.2.1 26-Jul-2014  tls file menus.md.fr was added on branch tls-earlyentropy on 2014-08-10 07:00:27 +0000
 1.1 26-Jul-2014  dholland branches: 1.1.2; 1.1.6;
Move sysinst sources to usr.sbin.

This commit only physically moves the sources - there are no other
changes, to maximize the probability that this will be treated as a
rename if we ever do manage to migrate away from CVS.

Moving sysinst has been discussed on and off for years and has two
goals: making it easier to work on sysinst, and also making sysinst
available on running systems for use installing chroots and VM images
and other such things. None of the latter is possible yet, but as they
say, one thing at a time.

Doing this now was approved in an impromptu fashion by mrg, riz,
riastradh, me, and groo.
 1.1.6.2 20-Aug-2014  tls Rebase to HEAD as of a few days ago.
 1.1.6.1 26-Jul-2014  tls file menus.md.pl was added on branch tls-maxphys on 2014-08-20 00:05:17 +0000
 1.1.2.2 10-Aug-2014  tls Rebase.
 1.1.2.1 26-Jul-2014  tls file menus.md.pl was added on branch tls-earlyentropy on 2014-08-10 07:00:27 +0000
 1.1 26-Jul-2014  dholland branches: 1.1.2; 1.1.6;
Move sysinst sources to usr.sbin.

This commit only physically moves the sources - there are no other
changes, to maximize the probability that this will be treated as a
rename if we ever do manage to migrate away from CVS.

Moving sysinst has been discussed on and off for years and has two
goals: making it easier to work on sysinst, and also making sysinst
available on running systems for use installing chroots and VM images
and other such things. None of the latter is possible yet, but as they
say, one thing at a time.

Doing this now was approved in an impromptu fashion by mrg, riz,
riastradh, me, and groo.
 1.1.6.2 20-Aug-2014  tls Rebase to HEAD as of a few days ago.
 1.1.6.1 26-Jul-2014  tls file msg.md.de was added on branch tls-maxphys on 2014-08-20 00:05:17 +0000
 1.1.2.2 10-Aug-2014  tls Rebase.
 1.1.2.1 26-Jul-2014  tls file msg.md.de was added on branch tls-earlyentropy on 2014-08-10 07:00:27 +0000
 1.1 26-Jul-2014  dholland branches: 1.1.2; 1.1.6;
Move sysinst sources to usr.sbin.

This commit only physically moves the sources - there are no other
changes, to maximize the probability that this will be treated as a
rename if we ever do manage to migrate away from CVS.

Moving sysinst has been discussed on and off for years and has two
goals: making it easier to work on sysinst, and also making sysinst
available on running systems for use installing chroots and VM images
and other such things. None of the latter is possible yet, but as they
say, one thing at a time.

Doing this now was approved in an impromptu fashion by mrg, riz,
riastradh, me, and groo.
 1.1.6.2 20-Aug-2014  tls Rebase to HEAD as of a few days ago.
 1.1.6.1 26-Jul-2014  tls file msg.md.en was added on branch tls-maxphys on 2014-08-20 00:05:17 +0000
 1.1.2.2 10-Aug-2014  tls Rebase.
 1.1.2.1 26-Jul-2014  tls file msg.md.en was added on branch tls-earlyentropy on 2014-08-10 07:00:27 +0000
 1.1 26-Jul-2014  dholland branches: 1.1.2; 1.1.6;
Move sysinst sources to usr.sbin.

This commit only physically moves the sources - there are no other
changes, to maximize the probability that this will be treated as a
rename if we ever do manage to migrate away from CVS.

Moving sysinst has been discussed on and off for years and has two
goals: making it easier to work on sysinst, and also making sysinst
available on running systems for use installing chroots and VM images
and other such things. None of the latter is possible yet, but as they
say, one thing at a time.

Doing this now was approved in an impromptu fashion by mrg, riz,
riastradh, me, and groo.
 1.1.6.2 20-Aug-2014  tls Rebase to HEAD as of a few days ago.
 1.1.6.1 26-Jul-2014  tls file msg.md.es was added on branch tls-maxphys on 2014-08-20 00:05:17 +0000
 1.1.2.2 10-Aug-2014  tls Rebase.
 1.1.2.1 26-Jul-2014  tls file msg.md.es was added on branch tls-earlyentropy on 2014-08-10 07:00:27 +0000
 1.1 26-Jul-2014  dholland branches: 1.1.2; 1.1.6;
Move sysinst sources to usr.sbin.

This commit only physically moves the sources - there are no other
changes, to maximize the probability that this will be treated as a
rename if we ever do manage to migrate away from CVS.

Moving sysinst has been discussed on and off for years and has two
goals: making it easier to work on sysinst, and also making sysinst
available on running systems for use installing chroots and VM images
and other such things. None of the latter is possible yet, but as they
say, one thing at a time.

Doing this now was approved in an impromptu fashion by mrg, riz,
riastradh, me, and groo.
 1.1.6.2 20-Aug-2014  tls Rebase to HEAD as of a few days ago.
 1.1.6.1 26-Jul-2014  tls file msg.md.fr was added on branch tls-maxphys on 2014-08-20 00:05:17 +0000
 1.1.2.2 10-Aug-2014  tls Rebase.
 1.1.2.1 26-Jul-2014  tls file msg.md.fr was added on branch tls-earlyentropy on 2014-08-10 07:00:27 +0000
 1.1 26-Jul-2014  dholland branches: 1.1.2; 1.1.6;
Move sysinst sources to usr.sbin.

This commit only physically moves the sources - there are no other
changes, to maximize the probability that this will be treated as a
rename if we ever do manage to migrate away from CVS.

Moving sysinst has been discussed on and off for years and has two
goals: making it easier to work on sysinst, and also making sysinst
available on running systems for use installing chroots and VM images
and other such things. None of the latter is possible yet, but as they
say, one thing at a time.

Doing this now was approved in an impromptu fashion by mrg, riz,
riastradh, me, and groo.
 1.1.6.2 20-Aug-2014  tls Rebase to HEAD as of a few days ago.
 1.1.6.1 26-Jul-2014  tls file msg.md.pl was added on branch tls-maxphys on 2014-08-20 00:05:17 +0000
 1.1.2.2 10-Aug-2014  tls Rebase.
 1.1.2.1 26-Jul-2014  tls file msg.md.pl was added on branch tls-earlyentropy on 2014-08-10 07:00:27 +0000
 1.2 12-Jun-2019  martin Rework internal data structures and "interfaces to user interface" functions
to get rid of all disklabel assumptions.

Previously (even for GPT partitioning) struct disklabel was used, which
obviously breaks large disk setups. Also many MD parts and parts of the
user interface assumed (a) a struct disklabel is used internally to
store partitioning information and (b) partitions are named 'a' ... $MAXPART.

Get rid of this and replace it with a quite abstract interface that should
be able to deal with all variants in partition storage:

- partitions are stored in a (partly abstract) struct disk_partitions
and most parts of it are only accessed via accessor functions provided
by a "partitioning scheme".

- implement partitioning schemes for MBR, disklabel and GPT (with likely
RDB [amiga] and Apple Partition Map [mac*] to follow soon)

- partitioning schemes may be cascaded, e.g. on x86 when using MBR as
"outer partitions", we have disklabel as "inner partitions".

- all user interface goes via accessor functions in the partitioning scheme,
some of which return pointers to special user interface descriptors
(e.g. to allow editing partition flags, which are scheme specific)

Overall the user interface changes (in this initial step) are minimal but
noticable. A new Anita is needed for automatic test setups - many thanks
to Andreas Gustafsson for lots of early testing and a new Anita version,
and to Manuel Bouyer for cooperation and tests of the Anita release.

This work was sponsored by The NetBSD Foundation, Inc.
 1.1 26-Jul-2014  dholland branches: 1.1.2; 1.1.6; 1.1.28;
Move sysinst sources to usr.sbin.

This commit only physically moves the sources - there are no other
changes, to maximize the probability that this will be treated as a
rename if we ever do manage to migrate away from CVS.

Moving sysinst has been discussed on and off for years and has two
goals: making it easier to work on sysinst, and also making sysinst
available on running systems for use installing chroots and VM images
and other such things. None of the latter is possible yet, but as they
say, one thing at a time.

Doing this now was approved in an impromptu fashion by mrg, riz,
riastradh, me, and groo.
 1.1.28.1 13-Apr-2020  martin Mostly merge changes from HEAD upto 20200411
 1.1.6.2 20-Aug-2014  tls Rebase to HEAD as of a few days ago.
 1.1.6.1 26-Jul-2014  tls file Makefile was added on branch tls-maxphys on 2014-08-20 00:05:17 +0000
 1.1.2.2 10-Aug-2014  tls Rebase.
 1.1.2.1 26-Jul-2014  tls file Makefile was added on branch tls-earlyentropy on 2014-08-10 07:00:27 +0000
 1.15 26-Apr-2025  tsutsui Remove obsolete MD 'PART_(ROOT|SWAP|BSD|RAW|USR|REST|FIRST_FREE)' defines.

Patch from Miod Vallat.
 1.14 10-Feb-2024  andvar branches: 1.14.2;
Fix various typos in comments, log messages and documentation.
 1.13 29-Jan-2022  martin When upgrading, update the boot code post extraction from
the updated target file system.
 1.12 14-Oct-2020  martin Fix copy & pasto (missing "again" label)
 1.11 12-Oct-2020  martin PR 55536: when we find existing partition tables and have alternative
formats available, offer to delete partitions and create new ones from
scratch (in some other or the same on-disk format).
 1.10 27-Jan-2020  martin Fix support for non-512-byte/sector disks again after I broke it when
introducing the abstract partition backends.
 1.9 09-Jan-2020  martin Finish conversion of extended partitioning parts to new abstract
backend interface. XXX still could use a lot of polishing.
 1.8 14-Aug-2019  martin When we ask the user to select a partitioning scheme and they refuse
(that is: select "Exit" in the menu), abort installation.
 1.7 13-Jul-2019  martin branches: 1.7.2;
We may call md_pre_mount() multiple times for the same install set,
so pass an additional index argument so MD code knows which part
of the install will be mounted next.
 1.6 20-Jun-2019  christos Use _fmt_ msg_ methods when formats are needed.
 1.5 13-Jun-2019  martin In the new world order disks may come without any partitioning scheme
attached - so the user may have to select one.
 1.4 12-Jun-2019  martin Rework internal data structures and "interfaces to user interface" functions
to get rid of all disklabel assumptions.

Previously (even for GPT partitioning) struct disklabel was used, which
obviously breaks large disk setups. Also many MD parts and parts of the
user interface assumed (a) a struct disklabel is used internally to
store partitioning information and (b) partitions are named 'a' ... $MAXPART.

Get rid of this and replace it with a quite abstract interface that should
be able to deal with all variants in partition storage:

- partitions are stored in a (partly abstract) struct disk_partitions
and most parts of it are only accessed via accessor functions provided
by a "partitioning scheme".

- implement partitioning schemes for MBR, disklabel and GPT (with likely
RDB [amiga] and Apple Partition Map [mac*] to follow soon)

- partitioning schemes may be cascaded, e.g. on x86 when using MBR as
"outer partitions", we have disklabel as "inner partitions".

- all user interface goes via accessor functions in the partitioning scheme,
some of which return pointers to special user interface descriptors
(e.g. to allow editing partition flags, which are scheme specific)

Overall the user interface changes (in this initial step) are minimal but
noticable. A new Anita is needed for automatic test setups - many thanks
to Andreas Gustafsson for lots of early testing and a new Anita version,
and to Manuel Bouyer for cooperation and tests of the Anita release.

This work was sponsored by The NetBSD Foundation, Inc.
 1.3 10-May-2015  martin branches: 1.3.16;
Backout the previous incorrect fix for PR 49440 and redo it more globaly:
get rid of the global "yesno", introduce utility functions "ask_yesno()"
and "ask_noyes()" instead, greatly simplifying a lot of code.
Pass in a pointer to the return value to various "set source" menus.
 1.2 03-Aug-2014  martin branches: 1.2.2; 1.2.4; 1.2.6;
(Finally) merge a slightly modified version of the 2012 GSoC results
from Eugene Lozovoy: add extended partitioning options to sysinst.
Still needs some testing and polishing, but it now is possible to use GPT
or to create a RAID set from scratch and install onto it.
 1.1 26-Jul-2014  dholland Move sysinst sources to usr.sbin.

This commit only physically moves the sources - there are no other
changes, to maximize the probability that this will be treated as a
rename if we ever do manage to migrate away from CVS.

Moving sysinst has been discussed on and off for years and has two
goals: making it easier to work on sysinst, and also making sysinst
available on running systems for use installing chroots and VM images
and other such things. None of the latter is possible yet, but as they
say, one thing at a time.

Doing this now was approved in an impromptu fashion by mrg, riz,
riastradh, me, and groo.
 1.2.6.2 20-Aug-2014  tls Rebase to HEAD as of a few days ago.
 1.2.6.1 03-Aug-2014  tls file md.c was added on branch tls-maxphys on 2014-08-20 00:05:17 +0000
 1.2.4.1 14-May-2015  snj Pull up following revision(s) (requested by martin in ticket #756):
usr.sbin/sysinst/arch/arc/md.c: revision 1.4
usr.sbin/sysinst/arch/atari/md.c: revision 1.3
usr.sbin/sysinst/arch/cobalt/md.c: revision 1.4
usr.sbin/sysinst/arch/emips/md.c: revision 1.3
usr.sbin/sysinst/arch/evbarm/md.c: revision 1.4
usr.sbin/sysinst/arch/evbarm64/md.c: revision 1.2
usr.sbin/sysinst/arch/hp300/md.c: revision 1.4
usr.sbin/sysinst/arch/i386/md.c: revision 1.6
usr.sbin/sysinst/arch/mac68k/md.c: revision 1.3
usr.sbin/sysinst/arch/mac68k/md.c: revision 1.4
usr.sbin/sysinst/arch/mac68k/menus.md.de: revisions 1.3, 1.4
usr.sbin/sysinst/arch/mac68k/menus.md.en: revisions 1.3, 1.4
usr.sbin/sysinst/arch/mac68k/menus.md.es: revisions 1.3, 1.4
usr.sbin/sysinst/arch/mac68k/menus.md.pl: revisions 1.3, 1.4
usr.sbin/sysinst/arch/mvme68k/md.c: revision 1.4
usr.sbin/sysinst/arch/ofppc/md.c: revision 1.3
usr.sbin/sysinst/arch/prep/md.c: revisions 1.3, 1.4
usr.sbin/sysinst/arch/prep/menus.md.en: revision 1.2
usr.sbin/sysinst/arch/x68k/md.c: revision 1.4
usr.sbin/sysinst/configmenu.c: revisions 1.4, 1.5
usr.sbin/sysinst/defs.h: revisions 1.8, 1.9
usr.sbin/sysinst/disks.c: revision 1.9
usr.sbin/sysinst/install.c: revision 1.4
usr.sbin/sysinst/label.c: revision 1.3
usr.sbin/sysinst/mbr.c: revision 1.5
usr.sbin/sysinst/menus.mi: revisions 1.9, 1.10
usr.sbin/sysinst/net.c: revisions 1.18-1.20
usr.sbin/sysinst/partman.c: revision 1.10
usr.sbin/sysinst/upgrade.c: revision 1.4
usr.sbin/sysinst/util.c: revisions 1.6, 1.7
Backout the previous incorrect fix for PR 49440 and redo it more globaly:
get rid of the global "yesno", introduce utility functions "ask_yesno()"
and "ask_noyes()" instead, greatly simplifying a lot of code.
Pass in a pointer to the return value to various "set source" menus.
--
Make it compile on architectures that do not support INET6 in sysinst
--
Remove a few more (ab-)usages of "yesno".
--
More (ab-)usages of "yesno"
--
Make "ask_yesno" and "ask_noyes" take a const char * as argument, moving
the deconst() dance into the utility functions and simplifying all callers.
--
Missed a few more "yesno" in previous
 1.2.2.2 10-Aug-2014  tls Rebase.
 1.2.2.1 03-Aug-2014  tls file md.c was added on branch tls-earlyentropy on 2014-08-10 07:00:27 +0000
 1.3.16.1 13-Apr-2020  martin Mostly merge changes from HEAD upto 20200411
 1.7.2.4 02-Feb-2022  msaitoh Pull up following revision(s) (requested by martin in ticket #1422):
usr.sbin/sysinst/util.c: revision 1.64
usr.sbin/sysinst/arch/hpcsh/md.c: revision 1.11
usr.sbin/sysinst/arch/alpha/md.c: revision 1.10
usr.sbin/sysinst/arch/sparc64/md.c: revision 1.7
usr.sbin/sysinst/arch/emips/md.c: revision 1.10
usr.sbin/sysinst/arch/cobalt/md.c: revision 1.15
usr.sbin/sysinst/arch/x68k/md.c: revision 1.12
usr.sbin/sysinst/arch/sandpoint/md.c: revision 1.10
usr.sbin/sysinst/arch/luna68k/md.c: revision 1.10
usr.sbin/sysinst/arch/hp300/md.c: revision 1.12
usr.sbin/sysinst/arch/vax/md.c: revision 1.8
usr.sbin/sysinst/arch/hpcmips/md.c: revision 1.10
usr.sbin/sysinst/target.c: revision 1.16
usr.sbin/sysinst/arch/mvme68k/md.c: revision 1.12
usr.sbin/sysinst/arch/arc/md.c: revision 1.14
usr.sbin/sysinst/target.c: revision 1.17
usr.sbin/sysinst/arch/i386/md.c: revision 1.34
usr.sbin/sysinst/arch/mac68k/md.c: revision 1.11
usr.sbin/sysinst/arch/atari/md.c: revision 1.8
usr.sbin/sysinst/arch/sgimips/md.c: revision 1.10
usr.sbin/sysinst/arch/acorn32/md.c: revision 1.8
usr.sbin/sysinst/install.c: revision 1.22
usr.sbin/sysinst/arch/amiga/md.c: revision 1.7
usr.sbin/sysinst/arch/cats/md.c: revision 1.6
usr.sbin/sysinst/arch/dummy/md.c: revision 1.7
usr.sbin/sysinst/arch/shark/md.c: revision 1.7
usr.sbin/sysinst/arch/pmax/md.c: revision 1.9
usr.sbin/sysinst/arch/newsmips/md.c: revision 1.7
usr.sbin/sysinst/arch/mipsco/md.c: revision 1.9
usr.sbin/sysinst/arch/landisk/md.c: revision 1.15
usr.sbin/sysinst/arch/hppa/md.c: revision 1.9
usr.sbin/sysinst/arch/prep/md.c: revision 1.14
usr.sbin/sysinst/defs.h: revision 1.77
usr.sbin/sysinst/arch/ofppc/md.c: revision 1.13
usr.sbin/sysinst/arch/ews4800mips/md.c: revision 1.8
usr.sbin/sysinst/defs.h: revision 1.78
usr.sbin/sysinst/arch/macppc/md.c: revision 1.7
usr.sbin/sysinst/arch/evbppc/md.c: revision 1.10
usr.sbin/sysinst/defs.h: revision 1.79
usr.sbin/sysinst/gpt.c: revision 1.27
usr.sbin/sysinst/arch/bebox/md.c: revision 1.10
usr.sbin/sysinst/gpt.c: revision 1.28
usr.sbin/sysinst/arch/sparc/md.c: revision 1.7
usr.sbin/sysinst/arch/evbsh3/md.c: revision 1.7
usr.sbin/sysinst/arch/evbarm/md.c: revision 1.22
usr.sbin/sysinst/arch/news68k/md.c: revision 1.8
usr.sbin/sysinst/upgrade.c: revision 1.19
usr.sbin/sysinst/arch/zaurus/md.c: revision 1.12
usr.sbin/sysinst/arch/playstation2/md.c: revision 1.10
usr.sbin/sysinst/arch/hpcarm/md.c: revision 1.11
usr.sbin/sysinst/arch/evbmips/md.c: revision 1.10
usr.sbin/sysinst/main.c: revision 1.28
Add an option to set the directory where we look for message catalogs.
Try to get rid of all wedges we created (after unmounting).
When upgrading, update the boot code post extraction from
the updated target file system.
Do not defer wedge deletions when we have nothing mounted.
Define and use a constant for maximum disk name length.
 1.7.2.3 15-Oct-2020  bouyer Pull up following revision(s) (requested by martin in ticket #1113):
usr.sbin/sysinst/bsddisklabel.c: revision 1.46
usr.sbin/sysinst/bsddisklabel.c: revision 1.47
usr.sbin/sysinst/disklabel.c: revision 1.40
usr.sbin/sysinst/arch/cobalt/md.c: revision 1.13
usr.sbin/sysinst/bsddisklabel.c: revision 1.48
usr.sbin/sysinst/disklabel.c: revision 1.41
usr.sbin/sysinst/arch/cobalt/md.c: revision 1.14
usr.sbin/sysinst/bsddisklabel.c: revision 1.49
usr.sbin/sysinst/disklabel.c: revision 1.42
usr.sbin/sysinst/Makefile.inc: revision 1.34
usr.sbin/sysinst/disks.c: revision 1.70
usr.sbin/sysinst/arch/hp300/md.c: revision 1.11
usr.sbin/sysinst/disks.c: revision 1.71
usr.sbin/sysinst/arch/i386/md.h: revision 1.8
usr.sbin/sysinst/arch/arc/md.c: revision 1.13
usr.sbin/sysinst/mbr.h: revision 1.5
usr.sbin/sysinst/mbr.h: revision 1.6
usr.sbin/sysinst/arch/mac68k/md.c: revision 1.10
usr.sbin/sysinst/bsddisklabel.c: revision 1.50
usr.sbin/sysinst/arch/acorn32/md.c: revision 1.7
usr.sbin/sysinst/bsddisklabel.c: revision 1.51
usr.sbin/sysinst/bsddisklabel.c: revision 1.52
usr.sbin/sysinst/bsddisklabel.c: revision 1.53
usr.sbin/sysinst/bsddisklabel.c: revision 1.54
usr.sbin/sysinst/bsddisklabel.c: revision 1.55
usr.sbin/sysinst/bsddisklabel.c: revision 1.56
usr.sbin/sysinst/arch/dummy/md.c: revision 1.6
usr.sbin/sysinst/arch/amd64/md.h: revision 1.9
usr.sbin/sysinst/arch/evbsh3/md.c: revision 1.6
usr.sbin/sysinst/arch/sparc/md.c: revision 1.6
usr.sbin/sysinst/arch/zaurus/md.c: revision 1.10
usr.sbin/sysinst/arch/x68k/md.c: revision 1.11
usr.sbin/sysinst/arch/sandpoint/md.c: revision 1.9
usr.sbin/sysinst/arch/vax/md.c: revision 1.7
usr.sbin/sysinst/arch/luna68k/md.c: revision 1.9
usr.sbin/sysinst/gpt.c: revision 1.19
usr.sbin/sysinst/arch/i386/md.c: revision 1.31
usr.sbin/sysinst/arch/i386/md.c: revision 1.32
usr.sbin/sysinst/arch/evbarm/md.c: revision 1.17
usr.sbin/sysinst/arch/evbarm/md.c: revision 1.18
usr.sbin/sysinst/arch/evbarm/md.c: revision 1.19
usr.sbin/sysinst/arch/shark/md.c: revision 1.6
usr.sbin/sysinst/arch/landisk/md.c: revision 1.14
usr.sbin/sysinst/util.c: revision 1.43
usr.sbin/sysinst/gpt.c: revision 1.20
usr.sbin/sysinst/util.c: revision 1.44
usr.sbin/sysinst/gpt.c: revision 1.21
usr.sbin/sysinst/gpt.c: revision 1.22
usr.sbin/sysinst/arch/evbarm/msg.md.en: revision 1.2
usr.sbin/sysinst/arch/ofppc/md.c: revision 1.11
usr.sbin/sysinst/util.c: revision 1.46
usr.sbin/sysinst/arch/ofppc/md.c: revision 1.12
usr.sbin/sysinst/util.c: revision 1.47
usr.sbin/sysinst/arch/evbarm/md.h: revision 1.6
usr.sbin/sysinst/util.c: revision 1.48
usr.sbin/sysinst/arch/evbarm/md.h: revision 1.7
usr.sbin/sysinst/arch/evbmips/md.c: revision 1.9
usr.sbin/sysinst/msg.mi.fr: revision 1.28
usr.sbin/sysinst/msg.mi.fr: revision 1.29
usr.sbin/sysinst/arch/sgimips/md.c: revision 1.9
usr.sbin/sysinst/arch/evbarm/Makefile: revision 1.3
usr.sbin/sysinst/msg.mi.de: revision 1.23
usr.sbin/sysinst/arch/hpcsh/md.c: revision 1.10
usr.sbin/sysinst/msg.mi.de: revision 1.24
usr.sbin/sysinst/install.c: revision 1.15
usr.sbin/sysinst/install.c: revision 1.16
usr.sbin/sysinst/arch/sparc64/md.c: revision 1.6
usr.sbin/sysinst/install.c: revision 1.17
usr.sbin/sysinst/install.c: revision 1.18
usr.sbin/sysinst/partitions.h: revision 1.16
usr.sbin/sysinst/install.c: revision 1.19
usr.sbin/sysinst/partitions.h: revision 1.17
usr.sbin/sysinst/arch/evbppc/md.c: revision 1.9
usr.sbin/sysinst/arch/playstation2/md.c: revision 1.9
usr.sbin/sysinst/partitions.h: revision 1.18
usr.sbin/sysinst/arch/hpcarm/md.c: revision 1.9
usr.sbin/sysinst/partitions.h: revision 1.19
usr.sbin/sysinst/msg.mi.es: revision 1.24
usr.sbin/sysinst/msg.mi.es: revision 1.25
usr.sbin/sysinst/msg.mi.es: revision 1.26
usr.sbin/sysinst/arch/zaurus/md.c: revision 1.9
usr.sbin/sysinst/target.c: revision 1.13
usr.sbin/sysinst/target.c: revision 1.14
usr.sbin/sysinst/part_edit.c: revision 1.17
usr.sbin/sysinst/part_edit.c: revision 1.18
usr.sbin/sysinst/msg.mi.fr: revision 1.30
usr.sbin/sysinst/arch/mvme68k/md.c: revision 1.11
usr.sbin/sysinst/part_edit.c: revision 1.19
usr.sbin/sysinst/msg.mi.fr: revision 1.31
usr.sbin/sysinst/arch/alpha/md.c: revision 1.9
usr.sbin/sysinst/msg.mi.en: revision 1.30
usr.sbin/sysinst/defs.h: revision 1.56
usr.sbin/sysinst/msg.mi.en: revision 1.31
usr.sbin/sysinst/defs.h: revision 1.57
usr.sbin/sysinst/msg.mi.en: revision 1.32
usr.sbin/sysinst/arch/amiga/md.c: revision 1.6
usr.sbin/sysinst/arch/hpcmips/md.c: revision 1.9
usr.sbin/sysinst/defs.h: revision 1.58
usr.sbin/sysinst/arch/cats/md.c: revision 1.5
usr.sbin/sysinst/defs.h: revision 1.59
usr.sbin/sysinst/arch/newsmips/md.c: revision 1.6
usr.sbin/sysinst/arch/pmax/md.c: revision 1.8
usr.sbin/sysinst/arch/mipsco/md.c: revision 1.8
usr.sbin/sysinst/part_edit.c: revision 1.20
usr.sbin/sysinst/part_edit.c: revision 1.21
usr.sbin/sysinst/arch/macppc/md.c: revision 1.6
usr.sbin/sysinst/part_edit.c: revision 1.22
usr.sbin/sysinst/part_edit.c: revision 1.23
usr.sbin/sysinst/part_edit.c: revision 1.24
usr.sbin/sysinst/defs.h: revision 1.60
usr.sbin/sysinst/arch/mac68k/Makefile: revision 1.3
usr.sbin/sysinst/defs.h: revision 1.61
usr.sbin/sysinst/defs.h: revision 1.63
usr.sbin/sysinst/defs.h: revision 1.64
usr.sbin/sysinst/defs.h: revision 1.65
usr.sbin/sysinst/label.c: revision 1.21
usr.sbin/sysinst/defs.h: revision 1.66
usr.sbin/sysinst/label.c: revision 1.22
usr.sbin/sysinst/defs.h: revision 1.67
usr.sbin/sysinst/label.c: revision 1.23
usr.sbin/sysinst/label.c: revision 1.24
usr.sbin/sysinst/label.c: revision 1.25
usr.sbin/sysinst/label.c: revision 1.26
usr.sbin/sysinst/label.c: revision 1.27
usr.sbin/sysinst/msg.mi.pl: revision 1.31
usr.sbin/sysinst/label.c: revision 1.28
usr.sbin/sysinst/msg.mi.pl: revision 1.32
usr.sbin/sysinst/label.c: revision 1.29
usr.sbin/sysinst/arch/atari/md.c: revision 1.7
usr.sbin/sysinst/disklabel.c: revision 1.36
usr.sbin/sysinst/disklabel.c: revision 1.37
usr.sbin/sysinst/disklabel.c: revision 1.38
usr.sbin/sysinst/disklabel.c: revision 1.39
usr.sbin/sysinst/arch/bebox/md.c: revision 1.9
usr.sbin/sysinst/mbr.c: revision 1.32
usr.sbin/sysinst/disks.c: revision 1.66
usr.sbin/sysinst/mbr.c: revision 1.33
usr.sbin/sysinst/disks.c: revision 1.67
usr.sbin/sysinst/mbr.c: revision 1.34
usr.sbin/sysinst/arch/emips/md.c: revision 1.9
usr.sbin/sysinst/disks.c: revision 1.68
usr.sbin/sysinst/partitions.c: revision 1.11
usr.sbin/sysinst/mbr.c: revision 1.35
usr.sbin/sysinst/disks.c: revision 1.69
usr.sbin/sysinst/mbr.c: revision 1.36
usr.sbin/sysinst/arch/hppa/md.c: revision 1.8
usr.sbin/sysinst/arch/prep/md.c: revision 1.13
usr.sbin/sysinst/label.c: revision 1.30
usr.sbin/sysinst/arch/ews4800mips/md.c: revision 1.7
usr.sbin/sysinst/main.c: revision 1.21
usr.sbin/sysinst/main.c: revision 1.22
usr.sbin/sysinst/main.c: revision 1.23
usr.sbin/sysinst/bsddisklabel.c: revision 1.40
usr.sbin/sysinst/main.c: revision 1.24
usr.sbin/sysinst/arch/cobalt/md.h: revision 1.6
usr.sbin/sysinst/bsddisklabel.c: revision 1.41
usr.sbin/sysinst/main.c: revision 1.25
usr.sbin/sysinst/arch/news68k/md.c: revision 1.7
usr.sbin/sysinst/bsddisklabel.c: revision 1.42
usr.sbin/sysinst/bsddisklabel.c: revision 1.43
usr.sbin/sysinst/bsddisklabel.c: revision 1.44
usr.sbin/sysinst/bsddisklabel.c: revision 1.45
Use strlcpy in a few places to guarnatee 0-terminated strings
Rever previous: the d_packname in struct disklabel is not NUL terminated.
Disable the warning instead.
Do not force -Os optimization (unless SMALLPROG)
Remove unused "rel" global variable and make the -r option a no-op.
PR 55045: strlcpy(NULL, ..., 0) considered harmfull in some implementations.
PR misc/54886: bump threshold for automatic/default creation of a tmpfs /tmp
up slightly (to 384 MB ram). This will make sure the default install has
a > 64 MB /tmp available (number pulled out of thin air, 64 MB is the minimum
required by the ZFS tests).
Don't depend on common symbol definitions.
boardype should not be common.
Redo the root-size-limit check again after we grew the root partition
for kernel dumps. Auto-enable the /usr partition if it overflows.
For all non-root partitions, default to FFSv2.
When extending a partition (to fill the total disk size) do respect
size limits.
Do not suggest a size limited partition for extension by default.
Minor tweak to previous: when forcing a /usr partition just to have an
arbitrary extendable partition, still use its default size initially.
At the end of a new installation save entropy.
Ooops, backout previous - twice the entropy saving is not needed.
Instead slightly improve the (slightly) hidden other code that already
did it.
PR 55202: disable swapping if we started it due to low ram
it's "its"
Remove "If you booted from a floppy" message
Set HAVE_INSTALL_IMAGE for evbarm
Change mountpoint of boot ext2fs from /stand to /ext2 to avoid conflict.
Should be pulled up to netbsd-9, with fixes of PR/55060.
MBR type for Ext2 should be MBR_PTYPE_LNXEXT2, not MBR_PTYPE_FAT12.
Silence -Wstringop-truncation for ``name'' in disp_selected_part().
This variable is used only for display, and truncation seems harmless.
PR 55572: avoid crash when answering the mount point prompt for a previously
empty mount point with an emptry sting.
When adding a new partition in the concrete partition editor, make sure
to set a pointer to the partition table interface in the new entry.
Otherwise we may end up not writing back the partitions at all, leading
to further fallout later.
Receipe to reproduce the issue from Frederic Fauberteau, thanks!
In the concrete partitions editor, after deleting the last partition move
the menu selection to the "add a partition" entry (instead of the sentinel
line which is not an active menu entry).
Typo in comment
Keep a list of all partition tables from which we have deleted partitions
and make sure we update those partition tables when writing partitions,
even if no install related partition remains on them.
Fix display of timezone selection menu
If there is no current partitioning manager assume we are editing the
current system and make target_already_root() return true.
Fixes various fallout when using sysinst post installation.
PR 55377: mark boot partitions in the partition size display, as suggested
by Izumi Tsutsui (minor modifications + all bugs by me)
PR 55378: do not assume RAW_PART to be either 2 or 3
PR 55379: avoid creating bogus /etc/fstab lines for /dev/cd* if no
cdrom is available.
PR 55381: try to deal with moved (but not yet saved) partitions when
calculating free space
Apply patch provided by Izumi Tsutsui in PR 55382: make ext2 partitions
show up in the outer (MBR) partition table, needed for example on Cobalt
where firmware boots from that partition.
PR 55384: detangle pm->ptstart from the "install" flag (selecting a
target partition). Instead introduce a new PTI_INSTALL_TARGET per partition
flag and deal with it in the partitioning backends.
Honour pm->ptstart when allocating new partitions - it is supposed to be
the first sector usable by NetBSD.
If we have no explicitly marke target root partition, make sure to set
the proper flag on the implicit one.
When merging existing partitions with desired target system layout
information, only force the "mount" flag if the existing partitions
has a valid mount point.
Add a heuristic to detect and properly mark EFI system partitions
when re-using pre-existing partitions.
When MD code requests a reserved area (at the start of the disk)
make sure to properly account for the "lost" space during all calculations
and especially when expanding the main partition to fill the disk.
Avoid using the global "pm" or a passed device descriptons when we are
passing disk limits explicitly anyway.
Simplify/fix a few rounding calculations.
When creating new partitions for "full disk" use, pass a install target
hint to the partitioning backend (for the outer NetBSD partition).
Use an install target hint to mark a new partition active.
When compiled with BOOTSEL support, also name the new partition "NetBSD".
Remove more pm->ptstart abuse - calculate values localy where needed
instead.
Fix editing start and size of not yet existing outer partitions.
Previously we abused pm->ptstart / pm->ptsize to pass the bounds of the
NetBSD outer partition to the inner partition editor - but now this is
not a valid assumption any more, so explicitly fix the bounds if an
outer partition exists.
Remove very strange code that special-cased MSDOS file systems and refused
to newfs the partition (despite explicit request to do so) if it was
mountable.
Accidently carried over from a dim and distant past, before we had
fsck_newfs.
PR 55536: when we find existing partition tables and have alternative
formats available, offer to delete partitions and create new ones from
scratch (in some other or the same on-disk format).
Minor fix to previous: fix condition when we offer the partition type
switch - it makes sense even if the disk is partitioned but has no valid
partitions.
Before forcing MBR partitions into our disklabel, make sure they are not
there yet - could happen in various paths when reusing existing partitions
(or parts of that) - previously we would blindly duplicate identical
partitions.
Ooops, part of previous was not meant to be included yet
When renumbering partitions (after deletions) be slightly more lax
in matching, to cope with differences between MBR EFI partitions and
disklabel MSDOS partitions.
PR 55142: on popular demand bring back expert options to adjust the
number of free inodes, block size and fragment size for FFS and LFS.
Fix copy & pasto noticed by Jason Mitchell: change the type of a GPT
partition via "gpt type" - not "gpt label".
Fix copy & pasto (missing "again" label)
Remove dead code
Move MBR writing (if any) post disklabel writing, otherwise strange
interactions happen.
Properly convert partition default sizes in MB to number of sectors
 1.7.2.2 28-Jan-2020  msaitoh Pull up following revision(s) (requested by martin in ticket #668):
usr.sbin/sysinst/arch/cobalt/md.c: revision 1.11
usr.sbin/sysinst/arch/cobalt/md.c: revision 1.12
usr.sbin/sysinst/arch/arc/md.c: revision 1.11
usr.sbin/sysinst/arch/arc/md.c: revision 1.12
usr.sbin/sysinst/partman.c: revision 1.43
usr.sbin/sysinst/partman.c: revision 1.46
usr.sbin/sysinst/partman.c: revision 1.47
usr.sbin/sysinst/partman.c: revision 1.48
usr.sbin/sysinst/partman.c: revision 1.49
usr.sbin/sysinst/msg.pm.fr: revision 1.2
usr.sbin/sysinst/upgrade.c: revision 1.14
usr.sbin/sysinst/arch/i386/md.c: revision 1.28
usr.sbin/sysinst/arch/i386/md.c: revision 1.29
usr.sbin/sysinst/arch/ofppc/md.c: revision 1.9
usr.sbin/sysinst/arch/sandpoint/md.c: revision 1.7
usr.sbin/sysinst/arch/sandpoint/md.c: revision 1.8
usr.sbin/sysinst/gpt.c: revision 1.14
usr.sbin/sysinst/gpt.c: revision 1.15
usr.sbin/sysinst/arch/luna68k/md.c: revision 1.8
usr.sbin/sysinst/gpt.c: revision 1.16
usr.sbin/sysinst/msg.pm.de: revision 1.2
usr.sbin/sysinst/arch/evbarm/md.c: revision 1.11
usr.sbin/sysinst/arch/evbarm/md.c: revision 1.12
usr.sbin/sysinst/arch/evbarm/md.c: revision 1.13
usr.sbin/sysinst/arch/evbarm/md.c: revision 1.14
usr.sbin/sysinst/sizemultname.c: revision 1.4
usr.sbin/sysinst/msg.pm.en: revision 1.2
usr.sbin/sysinst/arch/landisk/md.c: revision 1.12
usr.sbin/sysinst/util.c: revision 1.41
usr.sbin/sysinst/arch/landisk/md.c: revision 1.13
usr.sbin/sysinst/util.c: revision 1.42
usr.sbin/sysinst/arch/ofppc/md.c: revision 1.10
usr.sbin/sysinst/partitions.c: revision 1.9
usr.sbin/sysinst/arch/evbarm/md.h: revision 1.4
usr.sbin/sysinst/arch/evbarm/md.h: revision 1.5
usr.sbin/sysinst/arch/evbmips/md.c: revision 1.7
usr.sbin/sysinst/arch/evbmips/md.c: revision 1.8
usr.sbin/sysinst/msg.mi.fr: revision 1.25
usr.sbin/sysinst/msg.mi.de: revision 1.20
usr.sbin/sysinst/install.c: revision 1.14
usr.sbin/sysinst/partitions.h: revision 1.13
usr.sbin/sysinst/partitions.h: revision 1.14
usr.sbin/sysinst/arch/evbppc/md.c: revision 1.7
usr.sbin/sysinst/arch/playstation2/md.c: revision 1.7
usr.sbin/sysinst/msg.mi.en: revision 1.27
usr.sbin/sysinst/partitions.h: revision 1.15
usr.sbin/sysinst/arch/evbppc/md.c: revision 1.8
usr.sbin/sysinst/arch/hpcarm/md.c: revision 1.7
usr.sbin/sysinst/arch/playstation2/md.c: revision 1.8
usr.sbin/sysinst/msg.pm.pl: revision 1.2
usr.sbin/sysinst/arch/hpcarm/md.c: revision 1.8
usr.sbin/sysinst/msg.mi.es: revision 1.21
usr.sbin/sysinst/arch/zaurus/md.c: revision 1.7
usr.sbin/sysinst/target.c: revision 1.11
usr.sbin/sysinst/arch/zaurus/md.c: revision 1.8
usr.sbin/sysinst/part_edit.c: revision 1.14
usr.sbin/sysinst/part_edit.c: revision 1.15
usr.sbin/sysinst/part_edit.c: revision 1.16
usr.sbin/sysinst/defs.h: revision 1.50
usr.sbin/sysinst/defs.h: revision 1.51
usr.sbin/sysinst/defs.h: revision 1.52
usr.sbin/sysinst/defs.h: revision 1.53
usr.sbin/sysinst/defs.h: revision 1.54
usr.sbin/sysinst/arch/hpcmips/md.c: revision 1.7
usr.sbin/sysinst/arch/hpcmips/md.c: revision 1.8
usr.sbin/sysinst/arch/hpcsh/md.c: revision 1.8
usr.sbin/sysinst/msg.pm.es: revision 1.2
usr.sbin/sysinst/arch/hpcsh/md.c: revision 1.9
usr.sbin/sysinst/label.c: revision 1.18
usr.sbin/sysinst/label.c: revision 1.19
usr.sbin/sysinst/net.c: revision 1.35
usr.sbin/sysinst/msg.mi.pl: revision 1.28
usr.sbin/sysinst/disklabel.c: revision 1.28
usr.sbin/sysinst/disklabel.c: revision 1.29
usr.sbin/sysinst/mbr.c: revision 1.24
usr.sbin/sysinst/disks.c: revision 1.59
usr.sbin/sysinst/mbr.c: revision 1.25
usr.sbin/sysinst/mbr.c: revision 1.26
usr.sbin/sysinst/mbr.c: revision 1.27
usr.sbin/sysinst/mbr.c: revision 1.28
usr.sbin/sysinst/label.c: revision 1.20
usr.sbin/sysinst/mbr.c: revision 1.29
usr.sbin/sysinst/bsddisklabel.c: revision 1.34
usr.sbin/sysinst/bsddisklabel.c: revision 1.35
usr.sbin/sysinst/bsddisklabel.c: revision 1.36
usr.sbin/sysinst/bsddisklabel.c: revision 1.37
usr.sbin/sysinst/disklabel.c: revision 1.30
usr.sbin/sysinst/bsddisklabel.c: revision 1.38
usr.sbin/sysinst/disklabel.c: revision 1.31
usr.sbin/sysinst/disklabel.c: revision 1.32
usr.sbin/sysinst/disklabel.c: revision 1.33
usr.sbin/sysinst/disklabel.c: revision 1.34
usr.sbin/sysinst/disks.c: revision 1.60
usr.sbin/sysinst/disks.c: revision 1.61
usr.sbin/sysinst/arch/bebox/md.c: revision 1.7
usr.sbin/sysinst/disks.c: revision 1.62
usr.sbin/sysinst/arch/bebox/md.c: revision 1.8
usr.sbin/sysinst/mbr.c: revision 1.30
usr.sbin/sysinst/partitions.c: revision 1.10
usr.sbin/sysinst/arch/prep/md.c: revision 1.11
usr.sbin/sysinst/arch/prep/md.c: revision 1.12
usr.sbin/sysinst/menus.pm: revision 1.3
usr.sbin/sysinst/main.c: revision 1.20
usr.sbin/sysinst/menus.mi: revision 1.20
usr.sbin/sysinst/menus.mi: revision 1.21
avoid calling snprintf/strlcat with an input parameter the same
as the output. from martin@. fixes gcc 8 restrict warnings.
Finish conversion of extended partitioning parts to new abstract
backend interface. XXX still could use a lot of polishing.
Instead of a (bogus) attempt to query the model via ofctl, use the (now
fixed) sysctl hw.model instead.
When reading the secondary disklabel partitions from an existing disklabel
set the mbr partitions as parent.
Move the LABELSECTOR check and make it FS type specific - some partition
types (FFS, RAID) are allowed to overlap with the LABELSECTOR.
When asked to create a whole-disk partition for unknown usage, do not only
assert(false), but actually return an error (in case "assert" is a nop).
PR install/54787: when trying to derive proper alignement and first offset
from exisiting partitions, use the first partition offset if it is already
closer to the start of the disk than the prefered alignment - we can not
move existing partitions around.
Fix handling of inner/outer partitions (e.g. MBR and disklabel) in
extended partitioning:
- when editing a disk with such a schme, offer both partitions in two
steps
- when commiting changes save the inner partitions after the outer ones
Add a method to query the partitioning schemes "internal idea" of a
cylinder size - whatever that means in the real world.
Avoid using the global "pm" variable in utility functions - during
extended partitioning they may point to a different device.
Remove useless calls to get_ramsize() - return value is ignored and
the function has no side effects.
Fix /tmp tmpfs handling and on machines with enough RAM default to
creating a /tmp tmpfs with 25% of ram size limit. Suggested by ad@.
PR install/54872: fix printf argument order, sectors and heads were
swapped in the bios geometry display.
First try to bring evbarm installation closer to current reality.
hide disklabel_non_bootable() under NO_DISKLABEL_BOOT like the usage.
should fix most builds.
Deal with even stranger fictious empty disklabels (PR kern/54882).
Factor out all RAM size thresholds as defines to avoid magic numbers.
To work around PR misc/54886 bump the threshold for a tmpfs /tmp mount
up to 256 MB.
When retrying sets during extraction, reset the relevant statistics
to avoid counting retried sets multiple times.
Reported by kim.
Fix support for non-512-byte/sector disks again after I broke it when
introducing the abstract partition backends.
Use a few strlcpy() instead of strncpy() for network ioctl structs.
We seem to have no formal documentation stating the various
char if*_name[IFNAMSIZ]; /* if name, e.g. "en0" */
elements in ioctls are nul terminated, but the peanut gallery claims
it is so - and at least half of the code in-tree touching them agrees.
Too much disklabel magic happening in the kernel - to compensate force
MBR first when trying to identify the existing partitioning scheme of
a disk.
 1.7.2.1 18-Aug-2019  msaitoh Pull up following revision(s) (requested by martin in ticket #77):
usr.sbin/sysinst/arch/sandpoint/md.c: revision 1.6
usr.sbin/sysinst/arch/playstation2/md.c: revision 1.6
usr.sbin/sysinst/arch/evbppc/md.c: revision 1.6
usr.sbin/sysinst/arch/hpcarm/md.c: revision 1.6
usr.sbin/sysinst/arch/zaurus/md.c: revision 1.6
usr.sbin/sysinst/arch/arc/md.c: revision 1.9
usr.sbin/sysinst/arch/hpcmips/md.c: revision 1.6
usr.sbin/sysinst/arch/bebox/md.c: revision 1.6
usr.sbin/sysinst/arch/hpcsh/md.c: revision 1.7
usr.sbin/sysinst/arch/landisk/md.c: revision 1.11
usr.sbin/sysinst/arch/prep/md.c: revision 1.9
usr.sbin/sysinst/arch/i386/md.c: revision 1.21
usr.sbin/sysinst/arch/evbmips/md.c: revision 1.6
usr.sbin/sysinst/arch/evbarm/md.c: revision 1.9
usr.sbin/sysinst/arch/cobalt/md.c: revision 1.9
usr.sbin/sysinst/arch/ofppc/md.c: revision 1.8
When we ask the user to select a partitioning scheme and they refuse
(that is: select "Exit" in the menu), abort installation.
 1.14.2.1 02-Aug-2025  perseant Sync with HEAD
 1.5 16-Jun-2022  tsutsui Define DEFSWAPSIZE properly. DEFSWAPRAM seems obsolete.
 1.4 02-Oct-2019  maya Split out /rescue to its own set and adapt installers/images to add it.

This is meant to make updates safer: if something goes wrong with updating
base, we still have the old, standalone /rescue to recover from.
 1.3 12-Jun-2019  martin branches: 1.3.2;
Rework internal data structures and "interfaces to user interface" functions
to get rid of all disklabel assumptions.

Previously (even for GPT partitioning) struct disklabel was used, which
obviously breaks large disk setups. Also many MD parts and parts of the
user interface assumed (a) a struct disklabel is used internally to
store partitioning information and (b) partitions are named 'a' ... $MAXPART.

Get rid of this and replace it with a quite abstract interface that should
be able to deal with all variants in partition storage:

- partitions are stored in a (partly abstract) struct disk_partitions
and most parts of it are only accessed via accessor functions provided
by a "partitioning scheme".

- implement partitioning schemes for MBR, disklabel and GPT (with likely
RDB [amiga] and Apple Partition Map [mac*] to follow soon)

- partitioning schemes may be cascaded, e.g. on x86 when using MBR as
"outer partitions", we have disklabel as "inner partitions".

- all user interface goes via accessor functions in the partitioning scheme,
some of which return pointers to special user interface descriptors
(e.g. to allow editing partition flags, which are scheme specific)

Overall the user interface changes (in this initial step) are minimal but
noticable. A new Anita is needed for automatic test setups - many thanks
to Andreas Gustafsson for lots of early testing and a new Anita version,
and to Manuel Bouyer for cooperation and tests of the Anita release.

This work was sponsored by The NetBSD Foundation, Inc.
 1.2 16-Nov-2018  martin Sync install size estimates with current reality
 1.1 26-Jul-2014  dholland branches: 1.1.2; 1.1.6; 1.1.26; 1.1.28;
Move sysinst sources to usr.sbin.

This commit only physically moves the sources - there are no other
changes, to maximize the probability that this will be treated as a
rename if we ever do manage to migrate away from CVS.

Moving sysinst has been discussed on and off for years and has two
goals: making it easier to work on sysinst, and also making sysinst
available on running systems for use installing chroots and VM images
and other such things. None of the latter is possible yet, but as they
say, one thing at a time.

Doing this now was approved in an impromptu fashion by mrg, riz,
riastradh, me, and groo.
 1.1.28.2 13-Apr-2020  martin Mostly merge changes from HEAD upto 20200411
 1.1.28.1 10-Jun-2019  christos Sync with HEAD
 1.1.26.1 26-Nov-2018  pgoyette Sync with HEAD, resolve a couple of conflicts
 1.1.6.2 20-Aug-2014  tls Rebase to HEAD as of a few days ago.
 1.1.6.1 26-Jul-2014  tls file md.h was added on branch tls-maxphys on 2014-08-20 00:05:17 +0000
 1.1.2.2 10-Aug-2014  tls Rebase.
 1.1.2.1 26-Jul-2014  tls file md.h was added on branch tls-earlyentropy on 2014-08-10 07:00:27 +0000
 1.3.2.1 17-Nov-2019  martin Pull up following revision(s) (requested by maya in ticket #435):

distrib/sets/maketars: revision 1.90
usr.sbin/sysinst/arch/playstation2/md.h: revision 1.2
usr.sbin/sysinst/arch/sandpoint/md.h: revision 1.3
usr.sbin/sysinst/arch/evbppc/md.h: revision 1.3
usr.sbin/sysinst/arch/hpcarm/md.h: revision 1.3
usr.sbin/sysinst/arch/mvme68k/md.h: revision 1.3
distrib/sun3/MakeInstTape: revision 1.3
usr.sbin/sysinst/util.c: revision 1.33
distrib/sets/lists/rescue/mi: revision 1.1
distrib/sets/lists/base/rescue.sun2: file removal
usr.sbin/sysinst/arch/zaurus/md.h: revision 1.3
distrib/sets/lists/base/rescue.ad.m68k.shl: file removal
distrib/sets/regpkgset: revision 1.13
usr.sbin/sysinst/arch/i386/md.h: revision 1.7
distrib/sets/lists/base/rescue.sparc: file removal
distrib/notes/mvme68k/xfer: revision 1.19
distrib/sets/sets.subr: revision 1.187
distrib/common/bootimage/Makefile.bootimage: revision 1.22
usr.sbin/sysinst/msg.mi.de: revision 1.16
usr.sbin/sysinst/arch/atari/md.h: revision 1.3
rescue/Makefile: revision 1.38
distrib/sets/lists/base/rescue.macppc: file removal
usr.sbin/sysinst/arch/arc/md.h: revision 1.4
distrib/miniroot/install.sub: revision 1.49
usr.sbin/sysinst/arch/acorn32/md.h: revision 1.3
usr.sbin/sysinst/arch/x68k/md.h: revision 1.3
usr.sbin/sysinst/arch/hpcmips/md.h: revision 1.3
usr.sbin/sysinst/arch/bebox/md.h: revision 1.3
usr.sbin/sysinst/arch/hpcsh/md.h: revision 1.2
distrib/sets/lists/base/rescue.shark: file removal
usr.sbin/sysinst/arch/emips/md.h: revision 1.5
distrib/utils/embedded/mkimage: revision 1.70
usr.sbin/sysinst/arch/shark/md.h: revision 1.3
usr.sbin/sysinst/arch/pmax/md.h: revision 1.4
usr.sbin/sysinst/arch/amiga/md.h: revision 1.4
usr.sbin/sysinst/arch/hp300/md.h: revision 1.5
rescue/list.ldconfig: file removal
distrib/sets/lists/base/rescue.ad.m68k: file removal
usr.sbin/sysinst/arch/prep/md.h: revision 1.4
usr.sbin/sysinst/arch/cats/md.h: revision 1.4
usr.sbin/sysinst/arch/amd64/md.h: revision 1.7
usr.sbin/sysinst/msg.mi.es: revision 1.17
usr.sbin/sysinst/msg.mi.fr: revision 1.20
usr.sbin/sysinst/msg.mi.pl: revision 1.23
distrib/sets/lists/base/rescue.i386: file removal
usr.sbin/sysinst/arch/evbarm/md.h: revision 1.3
distrib/sets/lists/base/rescue.vax: file removal
distrib/amd64/uefi-installimage/Makefile.bootimage: revision 1.12
usr.sbin/sysinst/arch/evbmips/md.h: revision 1.3
distrib/sets/lists/base/rescue.mi: file removal
distrib/sets/README: revision 1.14
usr.sbin/sysinst/arch/sgimips/md.h: revision 1.4
distrib/sets/lists/base/rescue.sparc64: file removal
distrib/sets/lists/base/rescue.mi: revision 1.45
distrib/sets/lists/base/rescue.mi: revision 1.46
usr.sbin/sysinst/arch/ofppc/md.h: revision 1.4
usr.sbin/sysinst/arch/cobalt/md.h: revision 1.4
distrib/sets/lists/base/rescue.ad.arm: file removal
distrib/sets/lists/base/rescue.mac68k: file removal
usr.sbin/sysinst/defs.h: revision 1.45
usr.sbin/sysinst/arch/landisk/md.h: revision 1.2
distrib/notes/atari/xfer: revision 1.17
etc/Makefile: revision 1.441
usr.sbin/sysinst/msg.mi.en: revision 1.22
distrib/sun2/MakeInstTape: revision 1.2

Remove ldconfig from /rescue, and mark it MI obsolete.
- ldconfig in netbsd refers to a.out binaries only. We've been ELF-only
since NetBSD 2.0 or so, and having it in /rescue served little purpose
even before that, as /rescue is standalone.
- Using MI obsolete to avoid the need for MD set lists where ldconfig
is the sole entry

Mark /rescue/edlabel as MI-obsolete, so we can remove all remaining MD
rescue set list files.

Split out /rescue to its own set and adapt installers/images to add it.

This is meant to make updates safer: if something goes wrong with updating
base, we still have the old, standalone /rescue to recover from.
 1.1 26-Jul-2014  dholland branches: 1.1.2; 1.1.6;
Move sysinst sources to usr.sbin.

This commit only physically moves the sources - there are no other
changes, to maximize the probability that this will be treated as a
rename if we ever do manage to migrate away from CVS.

Moving sysinst has been discussed on and off for years and has two
goals: making it easier to work on sysinst, and also making sysinst
available on running systems for use installing chroots and VM images
and other such things. None of the latter is possible yet, but as they
say, one thing at a time.

Doing this now was approved in an impromptu fashion by mrg, riz,
riastradh, me, and groo.
 1.1.6.2 20-Aug-2014  tls Rebase to HEAD as of a few days ago.
 1.1.6.1 26-Jul-2014  tls file menus.md.en was added on branch tls-maxphys on 2014-08-20 00:05:17 +0000
 1.1.2.2 10-Aug-2014  tls Rebase.
 1.1.2.1 26-Jul-2014  tls file menus.md.en was added on branch tls-earlyentropy on 2014-08-10 07:00:27 +0000
 1.1 26-Jul-2014  dholland branches: 1.1.2; 1.1.6;
Move sysinst sources to usr.sbin.

This commit only physically moves the sources - there are no other
changes, to maximize the probability that this will be treated as a
rename if we ever do manage to migrate away from CVS.

Moving sysinst has been discussed on and off for years and has two
goals: making it easier to work on sysinst, and also making sysinst
available on running systems for use installing chroots and VM images
and other such things. None of the latter is possible yet, but as they
say, one thing at a time.

Doing this now was approved in an impromptu fashion by mrg, riz,
riastradh, me, and groo.
 1.1.6.2 20-Aug-2014  tls Rebase to HEAD as of a few days ago.
 1.1.6.1 26-Jul-2014  tls file menus.md.es was added on branch tls-maxphys on 2014-08-20 00:05:17 +0000
 1.1.2.2 10-Aug-2014  tls Rebase.
 1.1.2.1 26-Jul-2014  tls file menus.md.es was added on branch tls-earlyentropy on 2014-08-10 07:00:27 +0000
 1.1 26-Jul-2014  dholland branches: 1.1.2; 1.1.6;
Move sysinst sources to usr.sbin.

This commit only physically moves the sources - there are no other
changes, to maximize the probability that this will be treated as a
rename if we ever do manage to migrate away from CVS.

Moving sysinst has been discussed on and off for years and has two
goals: making it easier to work on sysinst, and also making sysinst
available on running systems for use installing chroots and VM images
and other such things. None of the latter is possible yet, but as they
say, one thing at a time.

Doing this now was approved in an impromptu fashion by mrg, riz,
riastradh, me, and groo.
 1.1.6.2 20-Aug-2014  tls Rebase to HEAD as of a few days ago.
 1.1.6.1 26-Jul-2014  tls file menus.md.pl was added on branch tls-maxphys on 2014-08-20 00:05:17 +0000
 1.1.2.2 10-Aug-2014  tls Rebase.
 1.1.2.1 26-Jul-2014  tls file menus.md.pl was added on branch tls-earlyentropy on 2014-08-10 07:00:27 +0000
 1.1 26-Jul-2014  dholland branches: 1.1.2; 1.1.6;
Move sysinst sources to usr.sbin.

This commit only physically moves the sources - there are no other
changes, to maximize the probability that this will be treated as a
rename if we ever do manage to migrate away from CVS.

Moving sysinst has been discussed on and off for years and has two
goals: making it easier to work on sysinst, and also making sysinst
available on running systems for use installing chroots and VM images
and other such things. None of the latter is possible yet, but as they
say, one thing at a time.

Doing this now was approved in an impromptu fashion by mrg, riz,
riastradh, me, and groo.
 1.1.6.2 20-Aug-2014  tls Rebase to HEAD as of a few days ago.
 1.1.6.1 26-Jul-2014  tls file msg.md.de was added on branch tls-maxphys on 2014-08-20 00:05:17 +0000
 1.1.2.2 10-Aug-2014  tls Rebase.
 1.1.2.1 26-Jul-2014  tls file msg.md.de was added on branch tls-earlyentropy on 2014-08-10 07:00:27 +0000
 1.1 26-Jul-2014  dholland branches: 1.1.2; 1.1.6;
Move sysinst sources to usr.sbin.

This commit only physically moves the sources - there are no other
changes, to maximize the probability that this will be treated as a
rename if we ever do manage to migrate away from CVS.

Moving sysinst has been discussed on and off for years and has two
goals: making it easier to work on sysinst, and also making sysinst
available on running systems for use installing chroots and VM images
and other such things. None of the latter is possible yet, but as they
say, one thing at a time.

Doing this now was approved in an impromptu fashion by mrg, riz,
riastradh, me, and groo.
 1.1.6.2 20-Aug-2014  tls Rebase to HEAD as of a few days ago.
 1.1.6.1 26-Jul-2014  tls file msg.md.en was added on branch tls-maxphys on 2014-08-20 00:05:17 +0000
 1.1.2.2 10-Aug-2014  tls Rebase.
 1.1.2.1 26-Jul-2014  tls file msg.md.en was added on branch tls-earlyentropy on 2014-08-10 07:00:27 +0000
 1.1 26-Jul-2014  dholland branches: 1.1.2; 1.1.6;
Move sysinst sources to usr.sbin.

This commit only physically moves the sources - there are no other
changes, to maximize the probability that this will be treated as a
rename if we ever do manage to migrate away from CVS.

Moving sysinst has been discussed on and off for years and has two
goals: making it easier to work on sysinst, and also making sysinst
available on running systems for use installing chroots and VM images
and other such things. None of the latter is possible yet, but as they
say, one thing at a time.

Doing this now was approved in an impromptu fashion by mrg, riz,
riastradh, me, and groo.
 1.1.6.2 20-Aug-2014  tls Rebase to HEAD as of a few days ago.
 1.1.6.1 26-Jul-2014  tls file msg.md.es was added on branch tls-maxphys on 2014-08-20 00:05:17 +0000
 1.1.2.2 10-Aug-2014  tls Rebase.
 1.1.2.1 26-Jul-2014  tls file msg.md.es was added on branch tls-earlyentropy on 2014-08-10 07:00:27 +0000
 1.1 26-Jul-2014  dholland branches: 1.1.2; 1.1.6;
Move sysinst sources to usr.sbin.

This commit only physically moves the sources - there are no other
changes, to maximize the probability that this will be treated as a
rename if we ever do manage to migrate away from CVS.

Moving sysinst has been discussed on and off for years and has two
goals: making it easier to work on sysinst, and also making sysinst
available on running systems for use installing chroots and VM images
and other such things. None of the latter is possible yet, but as they
say, one thing at a time.

Doing this now was approved in an impromptu fashion by mrg, riz,
riastradh, me, and groo.
 1.1.6.2 20-Aug-2014  tls Rebase to HEAD as of a few days ago.
 1.1.6.1 26-Jul-2014  tls file msg.md.pl was added on branch tls-maxphys on 2014-08-20 00:05:17 +0000
 1.1.2.2 10-Aug-2014  tls Rebase.
 1.1.2.1 26-Jul-2014  tls file msg.md.pl was added on branch tls-earlyentropy on 2014-08-10 07:00:27 +0000
 1.2 12-Jun-2019  martin Rework internal data structures and "interfaces to user interface" functions
to get rid of all disklabel assumptions.

Previously (even for GPT partitioning) struct disklabel was used, which
obviously breaks large disk setups. Also many MD parts and parts of the
user interface assumed (a) a struct disklabel is used internally to
store partitioning information and (b) partitions are named 'a' ... $MAXPART.

Get rid of this and replace it with a quite abstract interface that should
be able to deal with all variants in partition storage:

- partitions are stored in a (partly abstract) struct disk_partitions
and most parts of it are only accessed via accessor functions provided
by a "partitioning scheme".

- implement partitioning schemes for MBR, disklabel and GPT (with likely
RDB [amiga] and Apple Partition Map [mac*] to follow soon)

- partitioning schemes may be cascaded, e.g. on x86 when using MBR as
"outer partitions", we have disklabel as "inner partitions".

- all user interface goes via accessor functions in the partitioning scheme,
some of which return pointers to special user interface descriptors
(e.g. to allow editing partition flags, which are scheme specific)

Overall the user interface changes (in this initial step) are minimal but
noticable. A new Anita is needed for automatic test setups - many thanks
to Andreas Gustafsson for lots of early testing and a new Anita version,
and to Manuel Bouyer for cooperation and tests of the Anita release.

This work was sponsored by The NetBSD Foundation, Inc.
 1.1 26-Jul-2014  dholland branches: 1.1.2; 1.1.6; 1.1.28;
Move sysinst sources to usr.sbin.

This commit only physically moves the sources - there are no other
changes, to maximize the probability that this will be treated as a
rename if we ever do manage to migrate away from CVS.

Moving sysinst has been discussed on and off for years and has two
goals: making it easier to work on sysinst, and also making sysinst
available on running systems for use installing chroots and VM images
and other such things. None of the latter is possible yet, but as they
say, one thing at a time.

Doing this now was approved in an impromptu fashion by mrg, riz,
riastradh, me, and groo.
 1.1.28.1 13-Apr-2020  martin Mostly merge changes from HEAD upto 20200411
 1.1.6.2 20-Aug-2014  tls Rebase to HEAD as of a few days ago.
 1.1.6.1 26-Jul-2014  tls file Makefile was added on branch tls-maxphys on 2014-08-20 00:05:17 +0000
 1.1.2.2 10-Aug-2014  tls Rebase.
 1.1.2.1 26-Jul-2014  tls file Makefile was added on branch tls-earlyentropy on 2014-08-10 07:00:27 +0000
 1.1 26-Jul-2014  dholland branches: 1.1.2; 1.1.6;
Move sysinst sources to usr.sbin.

This commit only physically moves the sources - there are no other
changes, to maximize the probability that this will be treated as a
rename if we ever do manage to migrate away from CVS.

Moving sysinst has been discussed on and off for years and has two
goals: making it easier to work on sysinst, and also making sysinst
available on running systems for use installing chroots and VM images
and other such things. None of the latter is possible yet, but as they
say, one thing at a time.

Doing this now was approved in an impromptu fashion by mrg, riz,
riastradh, me, and groo.
 1.1.6.2 20-Aug-2014  tls Rebase to HEAD as of a few days ago.
 1.1.6.1 26-Jul-2014  tls file mbr_buf.S was added on branch tls-maxphys on 2014-08-20 00:05:17 +0000
 1.1.2.2 10-Aug-2014  tls Rebase.
 1.1.2.1 26-Jul-2014  tls file mbr_buf.S was added on branch tls-earlyentropy on 2014-08-10 07:00:27 +0000
 1.10 29-Jan-2022  martin When upgrading, update the boot code post extraction from
the updated target file system.
 1.9 12-Oct-2020  martin PR 55536: when we find existing partition tables and have alternative
formats available, offer to delete partitions and create new ones from
scratch (in some other or the same on-disk format).
 1.8 27-Jan-2020  martin Fix support for non-512-byte/sector disks again after I broke it when
introducing the abstract partition backends.
 1.7 09-Jan-2020  martin Finish conversion of extended partitioning parts to new abstract
backend interface. XXX still could use a lot of polishing.
 1.6 14-Aug-2019  martin When we ask the user to select a partitioning scheme and they refuse
(that is: select "Exit" in the menu), abort installation.
 1.5 13-Jul-2019  martin branches: 1.5.2;
We may call md_pre_mount() multiple times for the same install set,
so pass an additional index argument so MD code knows which part
of the install will be mounted next.
 1.4 20-Jun-2019  christos Use _fmt_ msg_ methods when formats are needed.
 1.3 12-Jun-2019  martin Rework internal data structures and "interfaces to user interface" functions
to get rid of all disklabel assumptions.

Previously (even for GPT partitioning) struct disklabel was used, which
obviously breaks large disk setups. Also many MD parts and parts of the
user interface assumed (a) a struct disklabel is used internally to
store partitioning information and (b) partitions are named 'a' ... $MAXPART.

Get rid of this and replace it with a quite abstract interface that should
be able to deal with all variants in partition storage:

- partitions are stored in a (partly abstract) struct disk_partitions
and most parts of it are only accessed via accessor functions provided
by a "partitioning scheme".

- implement partitioning schemes for MBR, disklabel and GPT (with likely
RDB [amiga] and Apple Partition Map [mac*] to follow soon)

- partitioning schemes may be cascaded, e.g. on x86 when using MBR as
"outer partitions", we have disklabel as "inner partitions".

- all user interface goes via accessor functions in the partitioning scheme,
some of which return pointers to special user interface descriptors
(e.g. to allow editing partition flags, which are scheme specific)

Overall the user interface changes (in this initial step) are minimal but
noticable. A new Anita is needed for automatic test setups - many thanks
to Andreas Gustafsson for lots of early testing and a new Anita version,
and to Manuel Bouyer for cooperation and tests of the Anita release.

This work was sponsored by The NetBSD Foundation, Inc.
 1.2 03-Aug-2014  martin branches: 1.2.2; 1.2.6; 1.2.28;
(Finally) merge a slightly modified version of the 2012 GSoC results
from Eugene Lozovoy: add extended partitioning options to sysinst.
Still needs some testing and polishing, but it now is possible to use GPT
or to create a RAID set from scratch and install onto it.
 1.1 26-Jul-2014  dholland Move sysinst sources to usr.sbin.

This commit only physically moves the sources - there are no other
changes, to maximize the probability that this will be treated as a
rename if we ever do manage to migrate away from CVS.

Moving sysinst has been discussed on and off for years and has two
goals: making it easier to work on sysinst, and also making sysinst
available on running systems for use installing chroots and VM images
and other such things. None of the latter is possible yet, but as they
say, one thing at a time.

Doing this now was approved in an impromptu fashion by mrg, riz,
riastradh, me, and groo.
 1.2.28.1 13-Apr-2020  martin Mostly merge changes from HEAD upto 20200411
 1.2.6.2 20-Aug-2014  tls Rebase to HEAD as of a few days ago.
 1.2.6.1 03-Aug-2014  tls file md.c was added on branch tls-maxphys on 2014-08-20 00:05:17 +0000
 1.2.2.2 10-Aug-2014  tls Rebase.
 1.2.2.1 03-Aug-2014  tls file md.c was added on branch tls-earlyentropy on 2014-08-10 07:00:27 +0000
 1.5.2.4 02-Feb-2022  msaitoh Pull up following revision(s) (requested by martin in ticket #1422):
usr.sbin/sysinst/util.c: revision 1.64
usr.sbin/sysinst/arch/hpcsh/md.c: revision 1.11
usr.sbin/sysinst/arch/alpha/md.c: revision 1.10
usr.sbin/sysinst/arch/sparc64/md.c: revision 1.7
usr.sbin/sysinst/arch/emips/md.c: revision 1.10
usr.sbin/sysinst/arch/cobalt/md.c: revision 1.15
usr.sbin/sysinst/arch/x68k/md.c: revision 1.12
usr.sbin/sysinst/arch/sandpoint/md.c: revision 1.10
usr.sbin/sysinst/arch/luna68k/md.c: revision 1.10
usr.sbin/sysinst/arch/hp300/md.c: revision 1.12
usr.sbin/sysinst/arch/vax/md.c: revision 1.8
usr.sbin/sysinst/arch/hpcmips/md.c: revision 1.10
usr.sbin/sysinst/target.c: revision 1.16
usr.sbin/sysinst/arch/mvme68k/md.c: revision 1.12
usr.sbin/sysinst/arch/arc/md.c: revision 1.14
usr.sbin/sysinst/target.c: revision 1.17
usr.sbin/sysinst/arch/i386/md.c: revision 1.34
usr.sbin/sysinst/arch/mac68k/md.c: revision 1.11
usr.sbin/sysinst/arch/atari/md.c: revision 1.8
usr.sbin/sysinst/arch/sgimips/md.c: revision 1.10
usr.sbin/sysinst/arch/acorn32/md.c: revision 1.8
usr.sbin/sysinst/install.c: revision 1.22
usr.sbin/sysinst/arch/amiga/md.c: revision 1.7
usr.sbin/sysinst/arch/cats/md.c: revision 1.6
usr.sbin/sysinst/arch/dummy/md.c: revision 1.7
usr.sbin/sysinst/arch/shark/md.c: revision 1.7
usr.sbin/sysinst/arch/pmax/md.c: revision 1.9
usr.sbin/sysinst/arch/newsmips/md.c: revision 1.7
usr.sbin/sysinst/arch/mipsco/md.c: revision 1.9
usr.sbin/sysinst/arch/landisk/md.c: revision 1.15
usr.sbin/sysinst/arch/hppa/md.c: revision 1.9
usr.sbin/sysinst/arch/prep/md.c: revision 1.14
usr.sbin/sysinst/defs.h: revision 1.77
usr.sbin/sysinst/arch/ofppc/md.c: revision 1.13
usr.sbin/sysinst/arch/ews4800mips/md.c: revision 1.8
usr.sbin/sysinst/defs.h: revision 1.78
usr.sbin/sysinst/arch/macppc/md.c: revision 1.7
usr.sbin/sysinst/arch/evbppc/md.c: revision 1.10
usr.sbin/sysinst/defs.h: revision 1.79
usr.sbin/sysinst/gpt.c: revision 1.27
usr.sbin/sysinst/arch/bebox/md.c: revision 1.10
usr.sbin/sysinst/gpt.c: revision 1.28
usr.sbin/sysinst/arch/sparc/md.c: revision 1.7
usr.sbin/sysinst/arch/evbsh3/md.c: revision 1.7
usr.sbin/sysinst/arch/evbarm/md.c: revision 1.22
usr.sbin/sysinst/arch/news68k/md.c: revision 1.8
usr.sbin/sysinst/upgrade.c: revision 1.19
usr.sbin/sysinst/arch/zaurus/md.c: revision 1.12
usr.sbin/sysinst/arch/playstation2/md.c: revision 1.10
usr.sbin/sysinst/arch/hpcarm/md.c: revision 1.11
usr.sbin/sysinst/arch/evbmips/md.c: revision 1.10
usr.sbin/sysinst/main.c: revision 1.28
Add an option to set the directory where we look for message catalogs.
Try to get rid of all wedges we created (after unmounting).
When upgrading, update the boot code post extraction from
the updated target file system.
Do not defer wedge deletions when we have nothing mounted.
Define and use a constant for maximum disk name length.
 1.5.2.3 15-Oct-2020  bouyer Pull up following revision(s) (requested by martin in ticket #1113):
usr.sbin/sysinst/bsddisklabel.c: revision 1.46
usr.sbin/sysinst/bsddisklabel.c: revision 1.47
usr.sbin/sysinst/disklabel.c: revision 1.40
usr.sbin/sysinst/arch/cobalt/md.c: revision 1.13
usr.sbin/sysinst/bsddisklabel.c: revision 1.48
usr.sbin/sysinst/disklabel.c: revision 1.41
usr.sbin/sysinst/arch/cobalt/md.c: revision 1.14
usr.sbin/sysinst/bsddisklabel.c: revision 1.49
usr.sbin/sysinst/disklabel.c: revision 1.42
usr.sbin/sysinst/Makefile.inc: revision 1.34
usr.sbin/sysinst/disks.c: revision 1.70
usr.sbin/sysinst/arch/hp300/md.c: revision 1.11
usr.sbin/sysinst/disks.c: revision 1.71
usr.sbin/sysinst/arch/i386/md.h: revision 1.8
usr.sbin/sysinst/arch/arc/md.c: revision 1.13
usr.sbin/sysinst/mbr.h: revision 1.5
usr.sbin/sysinst/mbr.h: revision 1.6
usr.sbin/sysinst/arch/mac68k/md.c: revision 1.10
usr.sbin/sysinst/bsddisklabel.c: revision 1.50
usr.sbin/sysinst/arch/acorn32/md.c: revision 1.7
usr.sbin/sysinst/bsddisklabel.c: revision 1.51
usr.sbin/sysinst/bsddisklabel.c: revision 1.52
usr.sbin/sysinst/bsddisklabel.c: revision 1.53
usr.sbin/sysinst/bsddisklabel.c: revision 1.54
usr.sbin/sysinst/bsddisklabel.c: revision 1.55
usr.sbin/sysinst/bsddisklabel.c: revision 1.56
usr.sbin/sysinst/arch/dummy/md.c: revision 1.6
usr.sbin/sysinst/arch/amd64/md.h: revision 1.9
usr.sbin/sysinst/arch/evbsh3/md.c: revision 1.6
usr.sbin/sysinst/arch/sparc/md.c: revision 1.6
usr.sbin/sysinst/arch/zaurus/md.c: revision 1.10
usr.sbin/sysinst/arch/x68k/md.c: revision 1.11
usr.sbin/sysinst/arch/sandpoint/md.c: revision 1.9
usr.sbin/sysinst/arch/vax/md.c: revision 1.7
usr.sbin/sysinst/arch/luna68k/md.c: revision 1.9
usr.sbin/sysinst/gpt.c: revision 1.19
usr.sbin/sysinst/arch/i386/md.c: revision 1.31
usr.sbin/sysinst/arch/i386/md.c: revision 1.32
usr.sbin/sysinst/arch/evbarm/md.c: revision 1.17
usr.sbin/sysinst/arch/evbarm/md.c: revision 1.18
usr.sbin/sysinst/arch/evbarm/md.c: revision 1.19
usr.sbin/sysinst/arch/shark/md.c: revision 1.6
usr.sbin/sysinst/arch/landisk/md.c: revision 1.14
usr.sbin/sysinst/util.c: revision 1.43
usr.sbin/sysinst/gpt.c: revision 1.20
usr.sbin/sysinst/util.c: revision 1.44
usr.sbin/sysinst/gpt.c: revision 1.21
usr.sbin/sysinst/gpt.c: revision 1.22
usr.sbin/sysinst/arch/evbarm/msg.md.en: revision 1.2
usr.sbin/sysinst/arch/ofppc/md.c: revision 1.11
usr.sbin/sysinst/util.c: revision 1.46
usr.sbin/sysinst/arch/ofppc/md.c: revision 1.12
usr.sbin/sysinst/util.c: revision 1.47
usr.sbin/sysinst/arch/evbarm/md.h: revision 1.6
usr.sbin/sysinst/util.c: revision 1.48
usr.sbin/sysinst/arch/evbarm/md.h: revision 1.7
usr.sbin/sysinst/arch/evbmips/md.c: revision 1.9
usr.sbin/sysinst/msg.mi.fr: revision 1.28
usr.sbin/sysinst/msg.mi.fr: revision 1.29
usr.sbin/sysinst/arch/sgimips/md.c: revision 1.9
usr.sbin/sysinst/arch/evbarm/Makefile: revision 1.3
usr.sbin/sysinst/msg.mi.de: revision 1.23
usr.sbin/sysinst/arch/hpcsh/md.c: revision 1.10
usr.sbin/sysinst/msg.mi.de: revision 1.24
usr.sbin/sysinst/install.c: revision 1.15
usr.sbin/sysinst/install.c: revision 1.16
usr.sbin/sysinst/arch/sparc64/md.c: revision 1.6
usr.sbin/sysinst/install.c: revision 1.17
usr.sbin/sysinst/install.c: revision 1.18
usr.sbin/sysinst/partitions.h: revision 1.16
usr.sbin/sysinst/install.c: revision 1.19
usr.sbin/sysinst/partitions.h: revision 1.17
usr.sbin/sysinst/arch/evbppc/md.c: revision 1.9
usr.sbin/sysinst/arch/playstation2/md.c: revision 1.9
usr.sbin/sysinst/partitions.h: revision 1.18
usr.sbin/sysinst/arch/hpcarm/md.c: revision 1.9
usr.sbin/sysinst/partitions.h: revision 1.19
usr.sbin/sysinst/msg.mi.es: revision 1.24
usr.sbin/sysinst/msg.mi.es: revision 1.25
usr.sbin/sysinst/msg.mi.es: revision 1.26
usr.sbin/sysinst/arch/zaurus/md.c: revision 1.9
usr.sbin/sysinst/target.c: revision 1.13
usr.sbin/sysinst/target.c: revision 1.14
usr.sbin/sysinst/part_edit.c: revision 1.17
usr.sbin/sysinst/part_edit.c: revision 1.18
usr.sbin/sysinst/msg.mi.fr: revision 1.30
usr.sbin/sysinst/arch/mvme68k/md.c: revision 1.11
usr.sbin/sysinst/part_edit.c: revision 1.19
usr.sbin/sysinst/msg.mi.fr: revision 1.31
usr.sbin/sysinst/arch/alpha/md.c: revision 1.9
usr.sbin/sysinst/msg.mi.en: revision 1.30
usr.sbin/sysinst/defs.h: revision 1.56
usr.sbin/sysinst/msg.mi.en: revision 1.31
usr.sbin/sysinst/defs.h: revision 1.57
usr.sbin/sysinst/msg.mi.en: revision 1.32
usr.sbin/sysinst/arch/amiga/md.c: revision 1.6
usr.sbin/sysinst/arch/hpcmips/md.c: revision 1.9
usr.sbin/sysinst/defs.h: revision 1.58
usr.sbin/sysinst/arch/cats/md.c: revision 1.5
usr.sbin/sysinst/defs.h: revision 1.59
usr.sbin/sysinst/arch/newsmips/md.c: revision 1.6
usr.sbin/sysinst/arch/pmax/md.c: revision 1.8
usr.sbin/sysinst/arch/mipsco/md.c: revision 1.8
usr.sbin/sysinst/part_edit.c: revision 1.20
usr.sbin/sysinst/part_edit.c: revision 1.21
usr.sbin/sysinst/arch/macppc/md.c: revision 1.6
usr.sbin/sysinst/part_edit.c: revision 1.22
usr.sbin/sysinst/part_edit.c: revision 1.23
usr.sbin/sysinst/part_edit.c: revision 1.24
usr.sbin/sysinst/defs.h: revision 1.60
usr.sbin/sysinst/arch/mac68k/Makefile: revision 1.3
usr.sbin/sysinst/defs.h: revision 1.61
usr.sbin/sysinst/defs.h: revision 1.63
usr.sbin/sysinst/defs.h: revision 1.64
usr.sbin/sysinst/defs.h: revision 1.65
usr.sbin/sysinst/label.c: revision 1.21
usr.sbin/sysinst/defs.h: revision 1.66
usr.sbin/sysinst/label.c: revision 1.22
usr.sbin/sysinst/defs.h: revision 1.67
usr.sbin/sysinst/label.c: revision 1.23
usr.sbin/sysinst/label.c: revision 1.24
usr.sbin/sysinst/label.c: revision 1.25
usr.sbin/sysinst/label.c: revision 1.26
usr.sbin/sysinst/label.c: revision 1.27
usr.sbin/sysinst/msg.mi.pl: revision 1.31
usr.sbin/sysinst/label.c: revision 1.28
usr.sbin/sysinst/msg.mi.pl: revision 1.32
usr.sbin/sysinst/label.c: revision 1.29
usr.sbin/sysinst/arch/atari/md.c: revision 1.7
usr.sbin/sysinst/disklabel.c: revision 1.36
usr.sbin/sysinst/disklabel.c: revision 1.37
usr.sbin/sysinst/disklabel.c: revision 1.38
usr.sbin/sysinst/disklabel.c: revision 1.39
usr.sbin/sysinst/arch/bebox/md.c: revision 1.9
usr.sbin/sysinst/mbr.c: revision 1.32
usr.sbin/sysinst/disks.c: revision 1.66
usr.sbin/sysinst/mbr.c: revision 1.33
usr.sbin/sysinst/disks.c: revision 1.67
usr.sbin/sysinst/mbr.c: revision 1.34
usr.sbin/sysinst/arch/emips/md.c: revision 1.9
usr.sbin/sysinst/disks.c: revision 1.68
usr.sbin/sysinst/partitions.c: revision 1.11
usr.sbin/sysinst/mbr.c: revision 1.35
usr.sbin/sysinst/disks.c: revision 1.69
usr.sbin/sysinst/mbr.c: revision 1.36
usr.sbin/sysinst/arch/hppa/md.c: revision 1.8
usr.sbin/sysinst/arch/prep/md.c: revision 1.13
usr.sbin/sysinst/label.c: revision 1.30
usr.sbin/sysinst/arch/ews4800mips/md.c: revision 1.7
usr.sbin/sysinst/main.c: revision 1.21
usr.sbin/sysinst/main.c: revision 1.22
usr.sbin/sysinst/main.c: revision 1.23
usr.sbin/sysinst/bsddisklabel.c: revision 1.40
usr.sbin/sysinst/main.c: revision 1.24
usr.sbin/sysinst/arch/cobalt/md.h: revision 1.6
usr.sbin/sysinst/bsddisklabel.c: revision 1.41
usr.sbin/sysinst/main.c: revision 1.25
usr.sbin/sysinst/arch/news68k/md.c: revision 1.7
usr.sbin/sysinst/bsddisklabel.c: revision 1.42
usr.sbin/sysinst/bsddisklabel.c: revision 1.43
usr.sbin/sysinst/bsddisklabel.c: revision 1.44
usr.sbin/sysinst/bsddisklabel.c: revision 1.45
Use strlcpy in a few places to guarnatee 0-terminated strings
Rever previous: the d_packname in struct disklabel is not NUL terminated.
Disable the warning instead.
Do not force -Os optimization (unless SMALLPROG)
Remove unused "rel" global variable and make the -r option a no-op.
PR 55045: strlcpy(NULL, ..., 0) considered harmfull in some implementations.
PR misc/54886: bump threshold for automatic/default creation of a tmpfs /tmp
up slightly (to 384 MB ram). This will make sure the default install has
a > 64 MB /tmp available (number pulled out of thin air, 64 MB is the minimum
required by the ZFS tests).
Don't depend on common symbol definitions.
boardype should not be common.
Redo the root-size-limit check again after we grew the root partition
for kernel dumps. Auto-enable the /usr partition if it overflows.
For all non-root partitions, default to FFSv2.
When extending a partition (to fill the total disk size) do respect
size limits.
Do not suggest a size limited partition for extension by default.
Minor tweak to previous: when forcing a /usr partition just to have an
arbitrary extendable partition, still use its default size initially.
At the end of a new installation save entropy.
Ooops, backout previous - twice the entropy saving is not needed.
Instead slightly improve the (slightly) hidden other code that already
did it.
PR 55202: disable swapping if we started it due to low ram
it's "its"
Remove "If you booted from a floppy" message
Set HAVE_INSTALL_IMAGE for evbarm
Change mountpoint of boot ext2fs from /stand to /ext2 to avoid conflict.
Should be pulled up to netbsd-9, with fixes of PR/55060.
MBR type for Ext2 should be MBR_PTYPE_LNXEXT2, not MBR_PTYPE_FAT12.
Silence -Wstringop-truncation for ``name'' in disp_selected_part().
This variable is used only for display, and truncation seems harmless.
PR 55572: avoid crash when answering the mount point prompt for a previously
empty mount point with an emptry sting.
When adding a new partition in the concrete partition editor, make sure
to set a pointer to the partition table interface in the new entry.
Otherwise we may end up not writing back the partitions at all, leading
to further fallout later.
Receipe to reproduce the issue from Frederic Fauberteau, thanks!
In the concrete partitions editor, after deleting the last partition move
the menu selection to the "add a partition" entry (instead of the sentinel
line which is not an active menu entry).
Typo in comment
Keep a list of all partition tables from which we have deleted partitions
and make sure we update those partition tables when writing partitions,
even if no install related partition remains on them.
Fix display of timezone selection menu
If there is no current partitioning manager assume we are editing the
current system and make target_already_root() return true.
Fixes various fallout when using sysinst post installation.
PR 55377: mark boot partitions in the partition size display, as suggested
by Izumi Tsutsui (minor modifications + all bugs by me)
PR 55378: do not assume RAW_PART to be either 2 or 3
PR 55379: avoid creating bogus /etc/fstab lines for /dev/cd* if no
cdrom is available.
PR 55381: try to deal with moved (but not yet saved) partitions when
calculating free space
Apply patch provided by Izumi Tsutsui in PR 55382: make ext2 partitions
show up in the outer (MBR) partition table, needed for example on Cobalt
where firmware boots from that partition.
PR 55384: detangle pm->ptstart from the "install" flag (selecting a
target partition). Instead introduce a new PTI_INSTALL_TARGET per partition
flag and deal with it in the partitioning backends.
Honour pm->ptstart when allocating new partitions - it is supposed to be
the first sector usable by NetBSD.
If we have no explicitly marke target root partition, make sure to set
the proper flag on the implicit one.
When merging existing partitions with desired target system layout
information, only force the "mount" flag if the existing partitions
has a valid mount point.
Add a heuristic to detect and properly mark EFI system partitions
when re-using pre-existing partitions.
When MD code requests a reserved area (at the start of the disk)
make sure to properly account for the "lost" space during all calculations
and especially when expanding the main partition to fill the disk.
Avoid using the global "pm" or a passed device descriptons when we are
passing disk limits explicitly anyway.
Simplify/fix a few rounding calculations.
When creating new partitions for "full disk" use, pass a install target
hint to the partitioning backend (for the outer NetBSD partition).
Use an install target hint to mark a new partition active.
When compiled with BOOTSEL support, also name the new partition "NetBSD".
Remove more pm->ptstart abuse - calculate values localy where needed
instead.
Fix editing start and size of not yet existing outer partitions.
Previously we abused pm->ptstart / pm->ptsize to pass the bounds of the
NetBSD outer partition to the inner partition editor - but now this is
not a valid assumption any more, so explicitly fix the bounds if an
outer partition exists.
Remove very strange code that special-cased MSDOS file systems and refused
to newfs the partition (despite explicit request to do so) if it was
mountable.
Accidently carried over from a dim and distant past, before we had
fsck_newfs.
PR 55536: when we find existing partition tables and have alternative
formats available, offer to delete partitions and create new ones from
scratch (in some other or the same on-disk format).
Minor fix to previous: fix condition when we offer the partition type
switch - it makes sense even if the disk is partitioned but has no valid
partitions.
Before forcing MBR partitions into our disklabel, make sure they are not
there yet - could happen in various paths when reusing existing partitions
(or parts of that) - previously we would blindly duplicate identical
partitions.
Ooops, part of previous was not meant to be included yet
When renumbering partitions (after deletions) be slightly more lax
in matching, to cope with differences between MBR EFI partitions and
disklabel MSDOS partitions.
PR 55142: on popular demand bring back expert options to adjust the
number of free inodes, block size and fragment size for FFS and LFS.
Fix copy & pasto noticed by Jason Mitchell: change the type of a GPT
partition via "gpt type" - not "gpt label".
Fix copy & pasto (missing "again" label)
Remove dead code
Move MBR writing (if any) post disklabel writing, otherwise strange
interactions happen.
Properly convert partition default sizes in MB to number of sectors
 1.5.2.2 28-Jan-2020  msaitoh Pull up following revision(s) (requested by martin in ticket #668):
usr.sbin/sysinst/arch/cobalt/md.c: revision 1.11
usr.sbin/sysinst/arch/cobalt/md.c: revision 1.12
usr.sbin/sysinst/arch/arc/md.c: revision 1.11
usr.sbin/sysinst/arch/arc/md.c: revision 1.12
usr.sbin/sysinst/partman.c: revision 1.43
usr.sbin/sysinst/partman.c: revision 1.46
usr.sbin/sysinst/partman.c: revision 1.47
usr.sbin/sysinst/partman.c: revision 1.48
usr.sbin/sysinst/partman.c: revision 1.49
usr.sbin/sysinst/msg.pm.fr: revision 1.2
usr.sbin/sysinst/upgrade.c: revision 1.14
usr.sbin/sysinst/arch/i386/md.c: revision 1.28
usr.sbin/sysinst/arch/i386/md.c: revision 1.29
usr.sbin/sysinst/arch/ofppc/md.c: revision 1.9
usr.sbin/sysinst/arch/sandpoint/md.c: revision 1.7
usr.sbin/sysinst/arch/sandpoint/md.c: revision 1.8
usr.sbin/sysinst/gpt.c: revision 1.14
usr.sbin/sysinst/gpt.c: revision 1.15
usr.sbin/sysinst/arch/luna68k/md.c: revision 1.8
usr.sbin/sysinst/gpt.c: revision 1.16
usr.sbin/sysinst/msg.pm.de: revision 1.2
usr.sbin/sysinst/arch/evbarm/md.c: revision 1.11
usr.sbin/sysinst/arch/evbarm/md.c: revision 1.12
usr.sbin/sysinst/arch/evbarm/md.c: revision 1.13
usr.sbin/sysinst/arch/evbarm/md.c: revision 1.14
usr.sbin/sysinst/sizemultname.c: revision 1.4
usr.sbin/sysinst/msg.pm.en: revision 1.2
usr.sbin/sysinst/arch/landisk/md.c: revision 1.12
usr.sbin/sysinst/util.c: revision 1.41
usr.sbin/sysinst/arch/landisk/md.c: revision 1.13
usr.sbin/sysinst/util.c: revision 1.42
usr.sbin/sysinst/arch/ofppc/md.c: revision 1.10
usr.sbin/sysinst/partitions.c: revision 1.9
usr.sbin/sysinst/arch/evbarm/md.h: revision 1.4
usr.sbin/sysinst/arch/evbarm/md.h: revision 1.5
usr.sbin/sysinst/arch/evbmips/md.c: revision 1.7
usr.sbin/sysinst/arch/evbmips/md.c: revision 1.8
usr.sbin/sysinst/msg.mi.fr: revision 1.25
usr.sbin/sysinst/msg.mi.de: revision 1.20
usr.sbin/sysinst/install.c: revision 1.14
usr.sbin/sysinst/partitions.h: revision 1.13
usr.sbin/sysinst/partitions.h: revision 1.14
usr.sbin/sysinst/arch/evbppc/md.c: revision 1.7
usr.sbin/sysinst/arch/playstation2/md.c: revision 1.7
usr.sbin/sysinst/msg.mi.en: revision 1.27
usr.sbin/sysinst/partitions.h: revision 1.15
usr.sbin/sysinst/arch/evbppc/md.c: revision 1.8
usr.sbin/sysinst/arch/hpcarm/md.c: revision 1.7
usr.sbin/sysinst/arch/playstation2/md.c: revision 1.8
usr.sbin/sysinst/msg.pm.pl: revision 1.2
usr.sbin/sysinst/arch/hpcarm/md.c: revision 1.8
usr.sbin/sysinst/msg.mi.es: revision 1.21
usr.sbin/sysinst/arch/zaurus/md.c: revision 1.7
usr.sbin/sysinst/target.c: revision 1.11
usr.sbin/sysinst/arch/zaurus/md.c: revision 1.8
usr.sbin/sysinst/part_edit.c: revision 1.14
usr.sbin/sysinst/part_edit.c: revision 1.15
usr.sbin/sysinst/part_edit.c: revision 1.16
usr.sbin/sysinst/defs.h: revision 1.50
usr.sbin/sysinst/defs.h: revision 1.51
usr.sbin/sysinst/defs.h: revision 1.52
usr.sbin/sysinst/defs.h: revision 1.53
usr.sbin/sysinst/defs.h: revision 1.54
usr.sbin/sysinst/arch/hpcmips/md.c: revision 1.7
usr.sbin/sysinst/arch/hpcmips/md.c: revision 1.8
usr.sbin/sysinst/arch/hpcsh/md.c: revision 1.8
usr.sbin/sysinst/msg.pm.es: revision 1.2
usr.sbin/sysinst/arch/hpcsh/md.c: revision 1.9
usr.sbin/sysinst/label.c: revision 1.18
usr.sbin/sysinst/label.c: revision 1.19
usr.sbin/sysinst/net.c: revision 1.35
usr.sbin/sysinst/msg.mi.pl: revision 1.28
usr.sbin/sysinst/disklabel.c: revision 1.28
usr.sbin/sysinst/disklabel.c: revision 1.29
usr.sbin/sysinst/mbr.c: revision 1.24
usr.sbin/sysinst/disks.c: revision 1.59
usr.sbin/sysinst/mbr.c: revision 1.25
usr.sbin/sysinst/mbr.c: revision 1.26
usr.sbin/sysinst/mbr.c: revision 1.27
usr.sbin/sysinst/mbr.c: revision 1.28
usr.sbin/sysinst/label.c: revision 1.20
usr.sbin/sysinst/mbr.c: revision 1.29
usr.sbin/sysinst/bsddisklabel.c: revision 1.34
usr.sbin/sysinst/bsddisklabel.c: revision 1.35
usr.sbin/sysinst/bsddisklabel.c: revision 1.36
usr.sbin/sysinst/bsddisklabel.c: revision 1.37
usr.sbin/sysinst/disklabel.c: revision 1.30
usr.sbin/sysinst/bsddisklabel.c: revision 1.38
usr.sbin/sysinst/disklabel.c: revision 1.31
usr.sbin/sysinst/disklabel.c: revision 1.32
usr.sbin/sysinst/disklabel.c: revision 1.33
usr.sbin/sysinst/disklabel.c: revision 1.34
usr.sbin/sysinst/disks.c: revision 1.60
usr.sbin/sysinst/disks.c: revision 1.61
usr.sbin/sysinst/arch/bebox/md.c: revision 1.7
usr.sbin/sysinst/disks.c: revision 1.62
usr.sbin/sysinst/arch/bebox/md.c: revision 1.8
usr.sbin/sysinst/mbr.c: revision 1.30
usr.sbin/sysinst/partitions.c: revision 1.10
usr.sbin/sysinst/arch/prep/md.c: revision 1.11
usr.sbin/sysinst/arch/prep/md.c: revision 1.12
usr.sbin/sysinst/menus.pm: revision 1.3
usr.sbin/sysinst/main.c: revision 1.20
usr.sbin/sysinst/menus.mi: revision 1.20
usr.sbin/sysinst/menus.mi: revision 1.21
avoid calling snprintf/strlcat with an input parameter the same
as the output. from martin@. fixes gcc 8 restrict warnings.
Finish conversion of extended partitioning parts to new abstract
backend interface. XXX still could use a lot of polishing.
Instead of a (bogus) attempt to query the model via ofctl, use the (now
fixed) sysctl hw.model instead.
When reading the secondary disklabel partitions from an existing disklabel
set the mbr partitions as parent.
Move the LABELSECTOR check and make it FS type specific - some partition
types (FFS, RAID) are allowed to overlap with the LABELSECTOR.
When asked to create a whole-disk partition for unknown usage, do not only
assert(false), but actually return an error (in case "assert" is a nop).
PR install/54787: when trying to derive proper alignement and first offset
from exisiting partitions, use the first partition offset if it is already
closer to the start of the disk than the prefered alignment - we can not
move existing partitions around.
Fix handling of inner/outer partitions (e.g. MBR and disklabel) in
extended partitioning:
- when editing a disk with such a schme, offer both partitions in two
steps
- when commiting changes save the inner partitions after the outer ones
Add a method to query the partitioning schemes "internal idea" of a
cylinder size - whatever that means in the real world.
Avoid using the global "pm" variable in utility functions - during
extended partitioning they may point to a different device.
Remove useless calls to get_ramsize() - return value is ignored and
the function has no side effects.
Fix /tmp tmpfs handling and on machines with enough RAM default to
creating a /tmp tmpfs with 25% of ram size limit. Suggested by ad@.
PR install/54872: fix printf argument order, sectors and heads were
swapped in the bios geometry display.
First try to bring evbarm installation closer to current reality.
hide disklabel_non_bootable() under NO_DISKLABEL_BOOT like the usage.
should fix most builds.
Deal with even stranger fictious empty disklabels (PR kern/54882).
Factor out all RAM size thresholds as defines to avoid magic numbers.
To work around PR misc/54886 bump the threshold for a tmpfs /tmp mount
up to 256 MB.
When retrying sets during extraction, reset the relevant statistics
to avoid counting retried sets multiple times.
Reported by kim.
Fix support for non-512-byte/sector disks again after I broke it when
introducing the abstract partition backends.
Use a few strlcpy() instead of strncpy() for network ioctl structs.
We seem to have no formal documentation stating the various
char if*_name[IFNAMSIZ]; /* if name, e.g. "en0" */
elements in ioctls are nul terminated, but the peanut gallery claims
it is so - and at least half of the code in-tree touching them agrees.
Too much disklabel magic happening in the kernel - to compensate force
MBR first when trying to identify the existing partitioning scheme of
a disk.
 1.5.2.1 18-Aug-2019  msaitoh Pull up following revision(s) (requested by martin in ticket #77):
usr.sbin/sysinst/arch/sandpoint/md.c: revision 1.6
usr.sbin/sysinst/arch/playstation2/md.c: revision 1.6
usr.sbin/sysinst/arch/evbppc/md.c: revision 1.6
usr.sbin/sysinst/arch/hpcarm/md.c: revision 1.6
usr.sbin/sysinst/arch/zaurus/md.c: revision 1.6
usr.sbin/sysinst/arch/arc/md.c: revision 1.9
usr.sbin/sysinst/arch/hpcmips/md.c: revision 1.6
usr.sbin/sysinst/arch/bebox/md.c: revision 1.6
usr.sbin/sysinst/arch/hpcsh/md.c: revision 1.7
usr.sbin/sysinst/arch/landisk/md.c: revision 1.11
usr.sbin/sysinst/arch/prep/md.c: revision 1.9
usr.sbin/sysinst/arch/i386/md.c: revision 1.21
usr.sbin/sysinst/arch/evbmips/md.c: revision 1.6
usr.sbin/sysinst/arch/evbarm/md.c: revision 1.9
usr.sbin/sysinst/arch/cobalt/md.c: revision 1.9
usr.sbin/sysinst/arch/ofppc/md.c: revision 1.8
When we ask the user to select a partitioning scheme and they refuse
(that is: select "Exit" in the menu), abort installation.
 1.4 26-Apr-2025  tsutsui Remove obsolete MD 'PART_(ROOT|SWAP|BSD|RAW|USR|REST|FIRST_FREE)' defines.

Patch from Miod Vallat.
 1.3 16-Jun-2022  tsutsui branches: 1.3.4;
Define DEFSWAPSIZE properly. DEFSWAPRAM seems obsolete.
 1.2 02-Oct-2019  maya Split out /rescue to its own set and adapt installers/images to add it.

This is meant to make updates safer: if something goes wrong with updating
base, we still have the old, standalone /rescue to recover from.
 1.1 26-Jul-2014  dholland branches: 1.1.2; 1.1.6; 1.1.28; 1.1.30;
Move sysinst sources to usr.sbin.

This commit only physically moves the sources - there are no other
changes, to maximize the probability that this will be treated as a
rename if we ever do manage to migrate away from CVS.

Moving sysinst has been discussed on and off for years and has two
goals: making it easier to work on sysinst, and also making sysinst
available on running systems for use installing chroots and VM images
and other such things. None of the latter is possible yet, but as they
say, one thing at a time.

Doing this now was approved in an impromptu fashion by mrg, riz,
riastradh, me, and groo.
 1.1.30.1 17-Nov-2019  martin Pull up following revision(s) (requested by maya in ticket #435):

distrib/sets/maketars: revision 1.90
usr.sbin/sysinst/arch/playstation2/md.h: revision 1.2
usr.sbin/sysinst/arch/sandpoint/md.h: revision 1.3
usr.sbin/sysinst/arch/evbppc/md.h: revision 1.3
usr.sbin/sysinst/arch/hpcarm/md.h: revision 1.3
usr.sbin/sysinst/arch/mvme68k/md.h: revision 1.3
distrib/sun3/MakeInstTape: revision 1.3
usr.sbin/sysinst/util.c: revision 1.33
distrib/sets/lists/rescue/mi: revision 1.1
distrib/sets/lists/base/rescue.sun2: file removal
usr.sbin/sysinst/arch/zaurus/md.h: revision 1.3
distrib/sets/lists/base/rescue.ad.m68k.shl: file removal
distrib/sets/regpkgset: revision 1.13
usr.sbin/sysinst/arch/i386/md.h: revision 1.7
distrib/sets/lists/base/rescue.sparc: file removal
distrib/notes/mvme68k/xfer: revision 1.19
distrib/sets/sets.subr: revision 1.187
distrib/common/bootimage/Makefile.bootimage: revision 1.22
usr.sbin/sysinst/msg.mi.de: revision 1.16
usr.sbin/sysinst/arch/atari/md.h: revision 1.3
rescue/Makefile: revision 1.38
distrib/sets/lists/base/rescue.macppc: file removal
usr.sbin/sysinst/arch/arc/md.h: revision 1.4
distrib/miniroot/install.sub: revision 1.49
usr.sbin/sysinst/arch/acorn32/md.h: revision 1.3
usr.sbin/sysinst/arch/x68k/md.h: revision 1.3
usr.sbin/sysinst/arch/hpcmips/md.h: revision 1.3
usr.sbin/sysinst/arch/bebox/md.h: revision 1.3
usr.sbin/sysinst/arch/hpcsh/md.h: revision 1.2
distrib/sets/lists/base/rescue.shark: file removal
usr.sbin/sysinst/arch/emips/md.h: revision 1.5
distrib/utils/embedded/mkimage: revision 1.70
usr.sbin/sysinst/arch/shark/md.h: revision 1.3
usr.sbin/sysinst/arch/pmax/md.h: revision 1.4
usr.sbin/sysinst/arch/amiga/md.h: revision 1.4
usr.sbin/sysinst/arch/hp300/md.h: revision 1.5
rescue/list.ldconfig: file removal
distrib/sets/lists/base/rescue.ad.m68k: file removal
usr.sbin/sysinst/arch/prep/md.h: revision 1.4
usr.sbin/sysinst/arch/cats/md.h: revision 1.4
usr.sbin/sysinst/arch/amd64/md.h: revision 1.7
usr.sbin/sysinst/msg.mi.es: revision 1.17
usr.sbin/sysinst/msg.mi.fr: revision 1.20
usr.sbin/sysinst/msg.mi.pl: revision 1.23
distrib/sets/lists/base/rescue.i386: file removal
usr.sbin/sysinst/arch/evbarm/md.h: revision 1.3
distrib/sets/lists/base/rescue.vax: file removal
distrib/amd64/uefi-installimage/Makefile.bootimage: revision 1.12
usr.sbin/sysinst/arch/evbmips/md.h: revision 1.3
distrib/sets/lists/base/rescue.mi: file removal
distrib/sets/README: revision 1.14
usr.sbin/sysinst/arch/sgimips/md.h: revision 1.4
distrib/sets/lists/base/rescue.sparc64: file removal
distrib/sets/lists/base/rescue.mi: revision 1.45
distrib/sets/lists/base/rescue.mi: revision 1.46
usr.sbin/sysinst/arch/ofppc/md.h: revision 1.4
usr.sbin/sysinst/arch/cobalt/md.h: revision 1.4
distrib/sets/lists/base/rescue.ad.arm: file removal
distrib/sets/lists/base/rescue.mac68k: file removal
usr.sbin/sysinst/defs.h: revision 1.45
usr.sbin/sysinst/arch/landisk/md.h: revision 1.2
distrib/notes/atari/xfer: revision 1.17
etc/Makefile: revision 1.441
usr.sbin/sysinst/msg.mi.en: revision 1.22
distrib/sun2/MakeInstTape: revision 1.2

Remove ldconfig from /rescue, and mark it MI obsolete.
- ldconfig in netbsd refers to a.out binaries only. We've been ELF-only
since NetBSD 2.0 or so, and having it in /rescue served little purpose
even before that, as /rescue is standalone.
- Using MI obsolete to avoid the need for MD set lists where ldconfig
is the sole entry

Mark /rescue/edlabel as MI-obsolete, so we can remove all remaining MD
rescue set list files.

Split out /rescue to its own set and adapt installers/images to add it.

This is meant to make updates safer: if something goes wrong with updating
base, we still have the old, standalone /rescue to recover from.
 1.1.28.1 13-Apr-2020  martin Mostly merge changes from HEAD upto 20200411
 1.1.6.2 20-Aug-2014  tls Rebase to HEAD as of a few days ago.
 1.1.6.1 26-Jul-2014  tls file md.h was added on branch tls-maxphys on 2014-08-20 00:05:17 +0000
 1.1.2.2 10-Aug-2014  tls Rebase.
 1.1.2.1 26-Jul-2014  tls file md.h was added on branch tls-earlyentropy on 2014-08-10 07:00:27 +0000
 1.3.4.1 02-Aug-2025  perseant Sync with HEAD
 1.1 26-Jul-2014  dholland branches: 1.1.2; 1.1.6;
Move sysinst sources to usr.sbin.

This commit only physically moves the sources - there are no other
changes, to maximize the probability that this will be treated as a
rename if we ever do manage to migrate away from CVS.

Moving sysinst has been discussed on and off for years and has two
goals: making it easier to work on sysinst, and also making sysinst
available on running systems for use installing chroots and VM images
and other such things. None of the latter is possible yet, but as they
say, one thing at a time.

Doing this now was approved in an impromptu fashion by mrg, riz,
riastradh, me, and groo.
 1.1.6.2 20-Aug-2014  tls Rebase to HEAD as of a few days ago.
 1.1.6.1 26-Jul-2014  tls file menus.md.en was added on branch tls-maxphys on 2014-08-20 00:05:17 +0000
 1.1.2.2 10-Aug-2014  tls Rebase.
 1.1.2.1 26-Jul-2014  tls file menus.md.en was added on branch tls-earlyentropy on 2014-08-10 07:00:27 +0000
 1.1 26-Jul-2014  dholland branches: 1.1.2; 1.1.6;
Move sysinst sources to usr.sbin.

This commit only physically moves the sources - there are no other
changes, to maximize the probability that this will be treated as a
rename if we ever do manage to migrate away from CVS.

Moving sysinst has been discussed on and off for years and has two
goals: making it easier to work on sysinst, and also making sysinst
available on running systems for use installing chroots and VM images
and other such things. None of the latter is possible yet, but as they
say, one thing at a time.

Doing this now was approved in an impromptu fashion by mrg, riz,
riastradh, me, and groo.
 1.1.6.2 20-Aug-2014  tls Rebase to HEAD as of a few days ago.
 1.1.6.1 26-Jul-2014  tls file menus.md.es was added on branch tls-maxphys on 2014-08-20 00:05:17 +0000
 1.1.2.2 10-Aug-2014  tls Rebase.
 1.1.2.1 26-Jul-2014  tls file menus.md.es was added on branch tls-earlyentropy on 2014-08-10 07:00:27 +0000
 1.1 26-Jul-2014  dholland branches: 1.1.2; 1.1.6;
Move sysinst sources to usr.sbin.

This commit only physically moves the sources - there are no other
changes, to maximize the probability that this will be treated as a
rename if we ever do manage to migrate away from CVS.

Moving sysinst has been discussed on and off for years and has two
goals: making it easier to work on sysinst, and also making sysinst
available on running systems for use installing chroots and VM images
and other such things. None of the latter is possible yet, but as they
say, one thing at a time.

Doing this now was approved in an impromptu fashion by mrg, riz,
riastradh, me, and groo.
 1.1.6.2 20-Aug-2014  tls Rebase to HEAD as of a few days ago.
 1.1.6.1 26-Jul-2014  tls file menus.md.fr was added on branch tls-maxphys on 2014-08-20 00:05:17 +0000
 1.1.2.2 10-Aug-2014  tls Rebase.
 1.1.2.1 26-Jul-2014  tls file menus.md.fr was added on branch tls-earlyentropy on 2014-08-10 07:00:27 +0000
 1.1 26-Jul-2014  dholland branches: 1.1.2; 1.1.6;
Move sysinst sources to usr.sbin.

This commit only physically moves the sources - there are no other
changes, to maximize the probability that this will be treated as a
rename if we ever do manage to migrate away from CVS.

Moving sysinst has been discussed on and off for years and has two
goals: making it easier to work on sysinst, and also making sysinst
available on running systems for use installing chroots and VM images
and other such things. None of the latter is possible yet, but as they
say, one thing at a time.

Doing this now was approved in an impromptu fashion by mrg, riz,
riastradh, me, and groo.
 1.1.6.2 20-Aug-2014  tls Rebase to HEAD as of a few days ago.
 1.1.6.1 26-Jul-2014  tls file menus.md.pl was added on branch tls-maxphys on 2014-08-20 00:05:17 +0000
 1.1.2.2 10-Aug-2014  tls Rebase.
 1.1.2.1 26-Jul-2014  tls file menus.md.pl was added on branch tls-earlyentropy on 2014-08-10 07:00:27 +0000
 1.3 14-Nov-2019  martin Fix missing newlines in bios match display, pointed out by maxv.
 1.2 03-Aug-2014  martin branches: 1.2.2; 1.2.6; 1.2.28; 1.2.30;
(Finally) merge a slightly modified version of the 2012 GSoC results
from Eugene Lozovoy: add extended partitioning options to sysinst.
Still needs some testing and polishing, but it now is possible to use GPT
or to create a RAID set from scratch and install onto it.
 1.1 26-Jul-2014  dholland Move sysinst sources to usr.sbin.

This commit only physically moves the sources - there are no other
changes, to maximize the probability that this will be treated as a
rename if we ever do manage to migrate away from CVS.

Moving sysinst has been discussed on and off for years and has two
goals: making it easier to work on sysinst, and also making sysinst
available on running systems for use installing chroots and VM images
and other such things. None of the latter is possible yet, but as they
say, one thing at a time.

Doing this now was approved in an impromptu fashion by mrg, riz,
riastradh, me, and groo.
 1.2.30.1 17-Nov-2019  msaitoh Pull up following revision(s) (requested by martin in ticket #436):
usr.sbin/sysinst/disks.c: revision 1.55
usr.sbin/sysinst/msg.mi.en: revision 1.24
usr.sbin/sysinst/mbr.c: revision 1.22
usr.sbin/sysinst/disks.c: revision 1.56
usr.sbin/sysinst/msg.mi.en: revision 1.25
usr.sbin/sysinst/disks.c: revision 1.57
usr.sbin/sysinst/arch/playstation2/msg.md.pl: revision 1.3
usr.sbin/sysinst/Makefile.inc: revision 1.30
usr.sbin/sysinst/configmenu.c: revision 1.11
usr.sbin/sysinst/util.c: revision 1.35
usr.sbin/sysinst/gpt.c: revision 1.12
usr.sbin/sysinst/util.c: revision 1.36
usr.sbin/sysinst/arch/playstation2/msg.md.de: revision 1.3
usr.sbin/sysinst/arch/i386/menus.md: revision 1.3
usr.sbin/sysinst/util.c: revision 1.37
usr.sbin/sysinst/part_edit.c: revision 1.11
usr.sbin/sysinst/arch/i386/msg.md.en: revision 1.2
usr.sbin/sysinst/util.c: revision 1.38
usr.sbin/sysinst/part_edit.c: revision 1.12
usr.sbin/sysinst/arch/i386/msg.md.en: revision 1.3
usr.sbin/sysinst/util.c: revision 1.39
usr.sbin/sysinst/part_edit.c: revision 1.13
usr.sbin/sysinst/arch/i386/msg.md.en: revision 1.4
usr.sbin/sysinst/disklabel.c: revision 1.15
usr.sbin/sysinst/bsddisklabel.c: revision 1.30
usr.sbin/sysinst/arch/i386/msg.md.es: revision 1.2
usr.sbin/sysinst/bsddisklabel.c: revision 1.31
usr.sbin/sysinst/arch/i386/msg.md.es: revision 1.3
usr.sbin/sysinst/arch/i386/msg.md.es: revision 1.4
usr.sbin/sysinst/mbr.h: revision 1.4
usr.sbin/sysinst/main.c: revision 1.18
usr.sbin/sysinst/partman.c: revision 1.44
usr.sbin/sysinst/msg.mi.de: revision 1.17
usr.sbin/sysinst/arch/i386/msg.md.fr: revision 1.2
usr.sbin/sysinst/msg.mi.de: revision 1.18
usr.sbin/sysinst/arch/i386/msg.md.fr: revision 1.3
usr.sbin/sysinst/arch/playstation2/msg.md.en: revision 1.3
usr.sbin/sysinst/arch/i386/msg.md.fr: revision 1.4
usr.sbin/sysinst/arch/amd64/md.c: revision 1.2
usr.sbin/sysinst/arch/ews4800mips/Makefile: revision 1.3
usr.sbin/sysinst/arch/playstation2/msg.md.es: revision 1.3
usr.sbin/sysinst/label.c: revision 1.13
usr.sbin/sysinst/Makefile.inc: revision 1.29
usr.sbin/sysinst/label.c: revision 1.14
usr.sbin/sysinst/util.c: revision 1.40
usr.sbin/sysinst/partitions.c: revision 1.5
usr.sbin/sysinst/arch/amd64/md.h: revision 1.8
usr.sbin/sysinst/msg.mi.es: revision 1.18
usr.sbin/sysinst/net.c: revision 1.34
usr.sbin/sysinst/msg.mi.es: revision 1.19
usr.sbin/sysinst/arch/i386/msg.md.pl: revision 1.2
usr.sbin/sysinst/arch/i386/md.c: revision 1.22
usr.sbin/sysinst/msg.mi.fr: revision 1.22
usr.sbin/sysinst/arch/playstation2/msg.md.fr: revision 1.3
usr.sbin/sysinst/arch/i386/msg.md.pl: revision 1.3
usr.sbin/sysinst/arch/i386/md.c: revision 1.23
usr.sbin/sysinst/msg.mi.pl: revision 1.25
usr.sbin/sysinst/msg.mi.fr: revision 1.23
usr.sbin/sysinst/arch/i386/msg.md.pl: revision 1.4
usr.sbin/sysinst/arch/i386/md.c: revision 1.24
usr.sbin/sysinst/partitions.h: revision 1.8
usr.sbin/sysinst/msg.mi.pl: revision 1.26
usr.sbin/sysinst/arch/i386/msg.md.de: revision 1.2
usr.sbin/sysinst/arch/i386/msg.md.de: revision 1.3
usr.sbin/sysinst/arch/i386/msg.md.de: revision 1.4
usr.sbin/sysinst/run.c: revision 1.13
usr.sbin/sysinst/defs.h: revision 1.46
usr.sbin/sysinst/install.c: revision 1.12
usr.sbin/sysinst/defs.h: revision 1.47
usr.sbin/sysinst/install.c: revision 1.13
usr.sbin/sysinst/defs.h: revision 1.48
Add options to the various partitioning stages that allow cloning of
alien partitions (optionally including data).
PR 54467: we trust our own sets, extract them with -P to allow symlink
redirection (especially for updates and chroot services - back out
once a better solution for those is implemented)
Make cloning support optional, so we can save some space on very small
install media.
Drop MBR and cloning support on crunched install media.
Make tar extraction flags depend on our usage of pax-as-tar or bsdtar.
Fix missing newlines in bios match display, pointed out by maxv.
Drop unused variable.
Fix table of bios geomatries
knf style adjustments
Make the bootblock selection menu more sane, pointed out by maxv
Make sure all menus have a translatable exit option (or none at all).
On amd64 support installation with a KASLR kernel, via "custom install"
and selecting the GENERIC_KASLR kernel set.
Setup /prekern and boot.cfg accordingly.
 1.2.28.1 13-Apr-2020  martin Mostly merge changes from HEAD upto 20200411
 1.2.6.2 20-Aug-2014  tls Rebase to HEAD as of a few days ago.
 1.2.6.1 03-Aug-2014  tls file msg.md.de was added on branch tls-maxphys on 2014-08-20 00:05:17 +0000
 1.2.2.2 10-Aug-2014  tls Rebase.
 1.2.2.1 03-Aug-2014  tls file msg.md.de was added on branch tls-earlyentropy on 2014-08-10 07:00:27 +0000
 1.3 14-Nov-2019  martin Fix missing newlines in bios match display, pointed out by maxv.
 1.2 03-Aug-2014  martin branches: 1.2.2; 1.2.6; 1.2.28; 1.2.30;
(Finally) merge a slightly modified version of the 2012 GSoC results
from Eugene Lozovoy: add extended partitioning options to sysinst.
Still needs some testing and polishing, but it now is possible to use GPT
or to create a RAID set from scratch and install onto it.
 1.1 26-Jul-2014  dholland Move sysinst sources to usr.sbin.

This commit only physically moves the sources - there are no other
changes, to maximize the probability that this will be treated as a
rename if we ever do manage to migrate away from CVS.

Moving sysinst has been discussed on and off for years and has two
goals: making it easier to work on sysinst, and also making sysinst
available on running systems for use installing chroots and VM images
and other such things. None of the latter is possible yet, but as they
say, one thing at a time.

Doing this now was approved in an impromptu fashion by mrg, riz,
riastradh, me, and groo.
 1.2.30.1 17-Nov-2019  msaitoh Pull up following revision(s) (requested by martin in ticket #436):
usr.sbin/sysinst/disks.c: revision 1.55
usr.sbin/sysinst/msg.mi.en: revision 1.24
usr.sbin/sysinst/mbr.c: revision 1.22
usr.sbin/sysinst/disks.c: revision 1.56
usr.sbin/sysinst/msg.mi.en: revision 1.25
usr.sbin/sysinst/disks.c: revision 1.57
usr.sbin/sysinst/arch/playstation2/msg.md.pl: revision 1.3
usr.sbin/sysinst/Makefile.inc: revision 1.30
usr.sbin/sysinst/configmenu.c: revision 1.11
usr.sbin/sysinst/util.c: revision 1.35
usr.sbin/sysinst/gpt.c: revision 1.12
usr.sbin/sysinst/util.c: revision 1.36
usr.sbin/sysinst/arch/playstation2/msg.md.de: revision 1.3
usr.sbin/sysinst/arch/i386/menus.md: revision 1.3
usr.sbin/sysinst/util.c: revision 1.37
usr.sbin/sysinst/part_edit.c: revision 1.11
usr.sbin/sysinst/arch/i386/msg.md.en: revision 1.2
usr.sbin/sysinst/util.c: revision 1.38
usr.sbin/sysinst/part_edit.c: revision 1.12
usr.sbin/sysinst/arch/i386/msg.md.en: revision 1.3
usr.sbin/sysinst/util.c: revision 1.39
usr.sbin/sysinst/part_edit.c: revision 1.13
usr.sbin/sysinst/arch/i386/msg.md.en: revision 1.4
usr.sbin/sysinst/disklabel.c: revision 1.15
usr.sbin/sysinst/bsddisklabel.c: revision 1.30
usr.sbin/sysinst/arch/i386/msg.md.es: revision 1.2
usr.sbin/sysinst/bsddisklabel.c: revision 1.31
usr.sbin/sysinst/arch/i386/msg.md.es: revision 1.3
usr.sbin/sysinst/arch/i386/msg.md.es: revision 1.4
usr.sbin/sysinst/mbr.h: revision 1.4
usr.sbin/sysinst/main.c: revision 1.18
usr.sbin/sysinst/partman.c: revision 1.44
usr.sbin/sysinst/msg.mi.de: revision 1.17
usr.sbin/sysinst/arch/i386/msg.md.fr: revision 1.2
usr.sbin/sysinst/msg.mi.de: revision 1.18
usr.sbin/sysinst/arch/i386/msg.md.fr: revision 1.3
usr.sbin/sysinst/arch/playstation2/msg.md.en: revision 1.3
usr.sbin/sysinst/arch/i386/msg.md.fr: revision 1.4
usr.sbin/sysinst/arch/amd64/md.c: revision 1.2
usr.sbin/sysinst/arch/ews4800mips/Makefile: revision 1.3
usr.sbin/sysinst/arch/playstation2/msg.md.es: revision 1.3
usr.sbin/sysinst/label.c: revision 1.13
usr.sbin/sysinst/Makefile.inc: revision 1.29
usr.sbin/sysinst/label.c: revision 1.14
usr.sbin/sysinst/util.c: revision 1.40
usr.sbin/sysinst/partitions.c: revision 1.5
usr.sbin/sysinst/arch/amd64/md.h: revision 1.8
usr.sbin/sysinst/msg.mi.es: revision 1.18
usr.sbin/sysinst/net.c: revision 1.34
usr.sbin/sysinst/msg.mi.es: revision 1.19
usr.sbin/sysinst/arch/i386/msg.md.pl: revision 1.2
usr.sbin/sysinst/arch/i386/md.c: revision 1.22
usr.sbin/sysinst/msg.mi.fr: revision 1.22
usr.sbin/sysinst/arch/playstation2/msg.md.fr: revision 1.3
usr.sbin/sysinst/arch/i386/msg.md.pl: revision 1.3
usr.sbin/sysinst/arch/i386/md.c: revision 1.23
usr.sbin/sysinst/msg.mi.pl: revision 1.25
usr.sbin/sysinst/msg.mi.fr: revision 1.23
usr.sbin/sysinst/arch/i386/msg.md.pl: revision 1.4
usr.sbin/sysinst/arch/i386/md.c: revision 1.24
usr.sbin/sysinst/partitions.h: revision 1.8
usr.sbin/sysinst/msg.mi.pl: revision 1.26
usr.sbin/sysinst/arch/i386/msg.md.de: revision 1.2
usr.sbin/sysinst/arch/i386/msg.md.de: revision 1.3
usr.sbin/sysinst/arch/i386/msg.md.de: revision 1.4
usr.sbin/sysinst/run.c: revision 1.13
usr.sbin/sysinst/defs.h: revision 1.46
usr.sbin/sysinst/install.c: revision 1.12
usr.sbin/sysinst/defs.h: revision 1.47
usr.sbin/sysinst/install.c: revision 1.13
usr.sbin/sysinst/defs.h: revision 1.48
Add options to the various partitioning stages that allow cloning of
alien partitions (optionally including data).
PR 54467: we trust our own sets, extract them with -P to allow symlink
redirection (especially for updates and chroot services - back out
once a better solution for those is implemented)
Make cloning support optional, so we can save some space on very small
install media.
Drop MBR and cloning support on crunched install media.
Make tar extraction flags depend on our usage of pax-as-tar or bsdtar.
Fix missing newlines in bios match display, pointed out by maxv.
Drop unused variable.
Fix table of bios geomatries
knf style adjustments
Make the bootblock selection menu more sane, pointed out by maxv
Make sure all menus have a translatable exit option (or none at all).
On amd64 support installation with a KASLR kernel, via "custom install"
and selecting the GENERIC_KASLR kernel set.
Setup /prekern and boot.cfg accordingly.
 1.2.28.1 13-Apr-2020  martin Mostly merge changes from HEAD upto 20200411
 1.2.6.2 20-Aug-2014  tls Rebase to HEAD as of a few days ago.
 1.2.6.1 03-Aug-2014  tls file msg.md.en was added on branch tls-maxphys on 2014-08-20 00:05:17 +0000
 1.2.2.2 10-Aug-2014  tls Rebase.
 1.2.2.1 03-Aug-2014  tls file msg.md.en was added on branch tls-earlyentropy on 2014-08-10 07:00:27 +0000
 1.3 14-Nov-2019  martin Fix missing newlines in bios match display, pointed out by maxv.
 1.2 03-Aug-2014  martin branches: 1.2.2; 1.2.6; 1.2.28; 1.2.30;
(Finally) merge a slightly modified version of the 2012 GSoC results
from Eugene Lozovoy: add extended partitioning options to sysinst.
Still needs some testing and polishing, but it now is possible to use GPT
or to create a RAID set from scratch and install onto it.
 1.1 26-Jul-2014  dholland Move sysinst sources to usr.sbin.

This commit only physically moves the sources - there are no other
changes, to maximize the probability that this will be treated as a
rename if we ever do manage to migrate away from CVS.

Moving sysinst has been discussed on and off for years and has two
goals: making it easier to work on sysinst, and also making sysinst
available on running systems for use installing chroots and VM images
and other such things. None of the latter is possible yet, but as they
say, one thing at a time.

Doing this now was approved in an impromptu fashion by mrg, riz,
riastradh, me, and groo.
 1.2.30.1 17-Nov-2019  msaitoh Pull up following revision(s) (requested by martin in ticket #436):
usr.sbin/sysinst/disks.c: revision 1.55
usr.sbin/sysinst/msg.mi.en: revision 1.24
usr.sbin/sysinst/mbr.c: revision 1.22
usr.sbin/sysinst/disks.c: revision 1.56
usr.sbin/sysinst/msg.mi.en: revision 1.25
usr.sbin/sysinst/disks.c: revision 1.57
usr.sbin/sysinst/arch/playstation2/msg.md.pl: revision 1.3
usr.sbin/sysinst/Makefile.inc: revision 1.30
usr.sbin/sysinst/configmenu.c: revision 1.11
usr.sbin/sysinst/util.c: revision 1.35
usr.sbin/sysinst/gpt.c: revision 1.12
usr.sbin/sysinst/util.c: revision 1.36
usr.sbin/sysinst/arch/playstation2/msg.md.de: revision 1.3
usr.sbin/sysinst/arch/i386/menus.md: revision 1.3
usr.sbin/sysinst/util.c: revision 1.37
usr.sbin/sysinst/part_edit.c: revision 1.11
usr.sbin/sysinst/arch/i386/msg.md.en: revision 1.2
usr.sbin/sysinst/util.c: revision 1.38
usr.sbin/sysinst/part_edit.c: revision 1.12
usr.sbin/sysinst/arch/i386/msg.md.en: revision 1.3
usr.sbin/sysinst/util.c: revision 1.39
usr.sbin/sysinst/part_edit.c: revision 1.13
usr.sbin/sysinst/arch/i386/msg.md.en: revision 1.4
usr.sbin/sysinst/disklabel.c: revision 1.15
usr.sbin/sysinst/bsddisklabel.c: revision 1.30
usr.sbin/sysinst/arch/i386/msg.md.es: revision 1.2
usr.sbin/sysinst/bsddisklabel.c: revision 1.31
usr.sbin/sysinst/arch/i386/msg.md.es: revision 1.3
usr.sbin/sysinst/arch/i386/msg.md.es: revision 1.4
usr.sbin/sysinst/mbr.h: revision 1.4
usr.sbin/sysinst/main.c: revision 1.18
usr.sbin/sysinst/partman.c: revision 1.44
usr.sbin/sysinst/msg.mi.de: revision 1.17
usr.sbin/sysinst/arch/i386/msg.md.fr: revision 1.2
usr.sbin/sysinst/msg.mi.de: revision 1.18
usr.sbin/sysinst/arch/i386/msg.md.fr: revision 1.3
usr.sbin/sysinst/arch/playstation2/msg.md.en: revision 1.3
usr.sbin/sysinst/arch/i386/msg.md.fr: revision 1.4
usr.sbin/sysinst/arch/amd64/md.c: revision 1.2
usr.sbin/sysinst/arch/ews4800mips/Makefile: revision 1.3
usr.sbin/sysinst/arch/playstation2/msg.md.es: revision 1.3
usr.sbin/sysinst/label.c: revision 1.13
usr.sbin/sysinst/Makefile.inc: revision 1.29
usr.sbin/sysinst/label.c: revision 1.14
usr.sbin/sysinst/util.c: revision 1.40
usr.sbin/sysinst/partitions.c: revision 1.5
usr.sbin/sysinst/arch/amd64/md.h: revision 1.8
usr.sbin/sysinst/msg.mi.es: revision 1.18
usr.sbin/sysinst/net.c: revision 1.34
usr.sbin/sysinst/msg.mi.es: revision 1.19
usr.sbin/sysinst/arch/i386/msg.md.pl: revision 1.2
usr.sbin/sysinst/arch/i386/md.c: revision 1.22
usr.sbin/sysinst/msg.mi.fr: revision 1.22
usr.sbin/sysinst/arch/playstation2/msg.md.fr: revision 1.3
usr.sbin/sysinst/arch/i386/msg.md.pl: revision 1.3
usr.sbin/sysinst/arch/i386/md.c: revision 1.23
usr.sbin/sysinst/msg.mi.pl: revision 1.25
usr.sbin/sysinst/msg.mi.fr: revision 1.23
usr.sbin/sysinst/arch/i386/msg.md.pl: revision 1.4
usr.sbin/sysinst/arch/i386/md.c: revision 1.24
usr.sbin/sysinst/partitions.h: revision 1.8
usr.sbin/sysinst/msg.mi.pl: revision 1.26
usr.sbin/sysinst/arch/i386/msg.md.de: revision 1.2
usr.sbin/sysinst/arch/i386/msg.md.de: revision 1.3
usr.sbin/sysinst/arch/i386/msg.md.de: revision 1.4
usr.sbin/sysinst/run.c: revision 1.13
usr.sbin/sysinst/defs.h: revision 1.46
usr.sbin/sysinst/install.c: revision 1.12
usr.sbin/sysinst/defs.h: revision 1.47
usr.sbin/sysinst/install.c: revision 1.13
usr.sbin/sysinst/defs.h: revision 1.48
Add options to the various partitioning stages that allow cloning of
alien partitions (optionally including data).
PR 54467: we trust our own sets, extract them with -P to allow symlink
redirection (especially for updates and chroot services - back out
once a better solution for those is implemented)
Make cloning support optional, so we can save some space on very small
install media.
Drop MBR and cloning support on crunched install media.
Make tar extraction flags depend on our usage of pax-as-tar or bsdtar.
Fix missing newlines in bios match display, pointed out by maxv.
Drop unused variable.
Fix table of bios geomatries
knf style adjustments
Make the bootblock selection menu more sane, pointed out by maxv
Make sure all menus have a translatable exit option (or none at all).
On amd64 support installation with a KASLR kernel, via "custom install"
and selecting the GENERIC_KASLR kernel set.
Setup /prekern and boot.cfg accordingly.
 1.2.28.1 13-Apr-2020  martin Mostly merge changes from HEAD upto 20200411
 1.2.6.2 20-Aug-2014  tls Rebase to HEAD as of a few days ago.
 1.2.6.1 03-Aug-2014  tls file msg.md.es was added on branch tls-maxphys on 2014-08-20 00:05:17 +0000
 1.2.2.2 10-Aug-2014  tls Rebase.
 1.2.2.1 03-Aug-2014  tls file msg.md.es was added on branch tls-earlyentropy on 2014-08-10 07:00:27 +0000
 1.3 14-Nov-2019  martin Fix missing newlines in bios match display, pointed out by maxv.
 1.2 03-Aug-2014  martin branches: 1.2.2; 1.2.6; 1.2.28; 1.2.30;
(Finally) merge a slightly modified version of the 2012 GSoC results
from Eugene Lozovoy: add extended partitioning options to sysinst.
Still needs some testing and polishing, but it now is possible to use GPT
or to create a RAID set from scratch and install onto it.
 1.1 26-Jul-2014  dholland Move sysinst sources to usr.sbin.

This commit only physically moves the sources - there are no other
changes, to maximize the probability that this will be treated as a
rename if we ever do manage to migrate away from CVS.

Moving sysinst has been discussed on and off for years and has two
goals: making it easier to work on sysinst, and also making sysinst
available on running systems for use installing chroots and VM images
and other such things. None of the latter is possible yet, but as they
say, one thing at a time.

Doing this now was approved in an impromptu fashion by mrg, riz,
riastradh, me, and groo.
 1.2.30.1 17-Nov-2019  msaitoh Pull up following revision(s) (requested by martin in ticket #436):
usr.sbin/sysinst/disks.c: revision 1.55
usr.sbin/sysinst/msg.mi.en: revision 1.24
usr.sbin/sysinst/mbr.c: revision 1.22
usr.sbin/sysinst/disks.c: revision 1.56
usr.sbin/sysinst/msg.mi.en: revision 1.25
usr.sbin/sysinst/disks.c: revision 1.57
usr.sbin/sysinst/arch/playstation2/msg.md.pl: revision 1.3
usr.sbin/sysinst/Makefile.inc: revision 1.30
usr.sbin/sysinst/configmenu.c: revision 1.11
usr.sbin/sysinst/util.c: revision 1.35
usr.sbin/sysinst/gpt.c: revision 1.12
usr.sbin/sysinst/util.c: revision 1.36
usr.sbin/sysinst/arch/playstation2/msg.md.de: revision 1.3
usr.sbin/sysinst/arch/i386/menus.md: revision 1.3
usr.sbin/sysinst/util.c: revision 1.37
usr.sbin/sysinst/part_edit.c: revision 1.11
usr.sbin/sysinst/arch/i386/msg.md.en: revision 1.2
usr.sbin/sysinst/util.c: revision 1.38
usr.sbin/sysinst/part_edit.c: revision 1.12
usr.sbin/sysinst/arch/i386/msg.md.en: revision 1.3
usr.sbin/sysinst/util.c: revision 1.39
usr.sbin/sysinst/part_edit.c: revision 1.13
usr.sbin/sysinst/arch/i386/msg.md.en: revision 1.4
usr.sbin/sysinst/disklabel.c: revision 1.15
usr.sbin/sysinst/bsddisklabel.c: revision 1.30
usr.sbin/sysinst/arch/i386/msg.md.es: revision 1.2
usr.sbin/sysinst/bsddisklabel.c: revision 1.31
usr.sbin/sysinst/arch/i386/msg.md.es: revision 1.3
usr.sbin/sysinst/arch/i386/msg.md.es: revision 1.4
usr.sbin/sysinst/mbr.h: revision 1.4
usr.sbin/sysinst/main.c: revision 1.18
usr.sbin/sysinst/partman.c: revision 1.44
usr.sbin/sysinst/msg.mi.de: revision 1.17
usr.sbin/sysinst/arch/i386/msg.md.fr: revision 1.2
usr.sbin/sysinst/msg.mi.de: revision 1.18
usr.sbin/sysinst/arch/i386/msg.md.fr: revision 1.3
usr.sbin/sysinst/arch/playstation2/msg.md.en: revision 1.3
usr.sbin/sysinst/arch/i386/msg.md.fr: revision 1.4
usr.sbin/sysinst/arch/amd64/md.c: revision 1.2
usr.sbin/sysinst/arch/ews4800mips/Makefile: revision 1.3
usr.sbin/sysinst/arch/playstation2/msg.md.es: revision 1.3
usr.sbin/sysinst/label.c: revision 1.13
usr.sbin/sysinst/Makefile.inc: revision 1.29
usr.sbin/sysinst/label.c: revision 1.14
usr.sbin/sysinst/util.c: revision 1.40
usr.sbin/sysinst/partitions.c: revision 1.5
usr.sbin/sysinst/arch/amd64/md.h: revision 1.8
usr.sbin/sysinst/msg.mi.es: revision 1.18
usr.sbin/sysinst/net.c: revision 1.34
usr.sbin/sysinst/msg.mi.es: revision 1.19
usr.sbin/sysinst/arch/i386/msg.md.pl: revision 1.2
usr.sbin/sysinst/arch/i386/md.c: revision 1.22
usr.sbin/sysinst/msg.mi.fr: revision 1.22
usr.sbin/sysinst/arch/playstation2/msg.md.fr: revision 1.3
usr.sbin/sysinst/arch/i386/msg.md.pl: revision 1.3
usr.sbin/sysinst/arch/i386/md.c: revision 1.23
usr.sbin/sysinst/msg.mi.pl: revision 1.25
usr.sbin/sysinst/msg.mi.fr: revision 1.23
usr.sbin/sysinst/arch/i386/msg.md.pl: revision 1.4
usr.sbin/sysinst/arch/i386/md.c: revision 1.24
usr.sbin/sysinst/partitions.h: revision 1.8
usr.sbin/sysinst/msg.mi.pl: revision 1.26
usr.sbin/sysinst/arch/i386/msg.md.de: revision 1.2
usr.sbin/sysinst/arch/i386/msg.md.de: revision 1.3
usr.sbin/sysinst/arch/i386/msg.md.de: revision 1.4
usr.sbin/sysinst/run.c: revision 1.13
usr.sbin/sysinst/defs.h: revision 1.46
usr.sbin/sysinst/install.c: revision 1.12
usr.sbin/sysinst/defs.h: revision 1.47
usr.sbin/sysinst/install.c: revision 1.13
usr.sbin/sysinst/defs.h: revision 1.48
Add options to the various partitioning stages that allow cloning of
alien partitions (optionally including data).
PR 54467: we trust our own sets, extract them with -P to allow symlink
redirection (especially for updates and chroot services - back out
once a better solution for those is implemented)
Make cloning support optional, so we can save some space on very small
install media.
Drop MBR and cloning support on crunched install media.
Make tar extraction flags depend on our usage of pax-as-tar or bsdtar.
Fix missing newlines in bios match display, pointed out by maxv.
Drop unused variable.
Fix table of bios geomatries
knf style adjustments
Make the bootblock selection menu more sane, pointed out by maxv
Make sure all menus have a translatable exit option (or none at all).
On amd64 support installation with a KASLR kernel, via "custom install"
and selecting the GENERIC_KASLR kernel set.
Setup /prekern and boot.cfg accordingly.
 1.2.28.1 13-Apr-2020  martin Mostly merge changes from HEAD upto 20200411
 1.2.6.2 20-Aug-2014  tls Rebase to HEAD as of a few days ago.
 1.2.6.1 03-Aug-2014  tls file msg.md.fr was added on branch tls-maxphys on 2014-08-20 00:05:17 +0000
 1.2.2.2 10-Aug-2014  tls Rebase.
 1.2.2.1 03-Aug-2014  tls file msg.md.fr was added on branch tls-earlyentropy on 2014-08-10 07:00:27 +0000
 1.3 14-Nov-2019  martin Fix missing newlines in bios match display, pointed out by maxv.
 1.2 03-Aug-2014  martin branches: 1.2.2; 1.2.6; 1.2.28; 1.2.30;
(Finally) merge a slightly modified version of the 2012 GSoC results
from Eugene Lozovoy: add extended partitioning options to sysinst.
Still needs some testing and polishing, but it now is possible to use GPT
or to create a RAID set from scratch and install onto it.
 1.1 26-Jul-2014  dholland Move sysinst sources to usr.sbin.

This commit only physically moves the sources - there are no other
changes, to maximize the probability that this will be treated as a
rename if we ever do manage to migrate away from CVS.

Moving sysinst has been discussed on and off for years and has two
goals: making it easier to work on sysinst, and also making sysinst
available on running systems for use installing chroots and VM images
and other such things. None of the latter is possible yet, but as they
say, one thing at a time.

Doing this now was approved in an impromptu fashion by mrg, riz,
riastradh, me, and groo.
 1.2.30.1 17-Nov-2019  msaitoh Pull up following revision(s) (requested by martin in ticket #436):
usr.sbin/sysinst/disks.c: revision 1.55
usr.sbin/sysinst/msg.mi.en: revision 1.24
usr.sbin/sysinst/mbr.c: revision 1.22
usr.sbin/sysinst/disks.c: revision 1.56
usr.sbin/sysinst/msg.mi.en: revision 1.25
usr.sbin/sysinst/disks.c: revision 1.57
usr.sbin/sysinst/arch/playstation2/msg.md.pl: revision 1.3
usr.sbin/sysinst/Makefile.inc: revision 1.30
usr.sbin/sysinst/configmenu.c: revision 1.11
usr.sbin/sysinst/util.c: revision 1.35
usr.sbin/sysinst/gpt.c: revision 1.12
usr.sbin/sysinst/util.c: revision 1.36
usr.sbin/sysinst/arch/playstation2/msg.md.de: revision 1.3
usr.sbin/sysinst/arch/i386/menus.md: revision 1.3
usr.sbin/sysinst/util.c: revision 1.37
usr.sbin/sysinst/part_edit.c: revision 1.11
usr.sbin/sysinst/arch/i386/msg.md.en: revision 1.2
usr.sbin/sysinst/util.c: revision 1.38
usr.sbin/sysinst/part_edit.c: revision 1.12
usr.sbin/sysinst/arch/i386/msg.md.en: revision 1.3
usr.sbin/sysinst/util.c: revision 1.39
usr.sbin/sysinst/part_edit.c: revision 1.13
usr.sbin/sysinst/arch/i386/msg.md.en: revision 1.4
usr.sbin/sysinst/disklabel.c: revision 1.15
usr.sbin/sysinst/bsddisklabel.c: revision 1.30
usr.sbin/sysinst/arch/i386/msg.md.es: revision 1.2
usr.sbin/sysinst/bsddisklabel.c: revision 1.31
usr.sbin/sysinst/arch/i386/msg.md.es: revision 1.3
usr.sbin/sysinst/arch/i386/msg.md.es: revision 1.4
usr.sbin/sysinst/mbr.h: revision 1.4
usr.sbin/sysinst/main.c: revision 1.18
usr.sbin/sysinst/partman.c: revision 1.44
usr.sbin/sysinst/msg.mi.de: revision 1.17
usr.sbin/sysinst/arch/i386/msg.md.fr: revision 1.2
usr.sbin/sysinst/msg.mi.de: revision 1.18
usr.sbin/sysinst/arch/i386/msg.md.fr: revision 1.3
usr.sbin/sysinst/arch/playstation2/msg.md.en: revision 1.3
usr.sbin/sysinst/arch/i386/msg.md.fr: revision 1.4
usr.sbin/sysinst/arch/amd64/md.c: revision 1.2
usr.sbin/sysinst/arch/ews4800mips/Makefile: revision 1.3
usr.sbin/sysinst/arch/playstation2/msg.md.es: revision 1.3
usr.sbin/sysinst/label.c: revision 1.13
usr.sbin/sysinst/Makefile.inc: revision 1.29
usr.sbin/sysinst/label.c: revision 1.14
usr.sbin/sysinst/util.c: revision 1.40
usr.sbin/sysinst/partitions.c: revision 1.5
usr.sbin/sysinst/arch/amd64/md.h: revision 1.8
usr.sbin/sysinst/msg.mi.es: revision 1.18
usr.sbin/sysinst/net.c: revision 1.34
usr.sbin/sysinst/msg.mi.es: revision 1.19
usr.sbin/sysinst/arch/i386/msg.md.pl: revision 1.2
usr.sbin/sysinst/arch/i386/md.c: revision 1.22
usr.sbin/sysinst/msg.mi.fr: revision 1.22
usr.sbin/sysinst/arch/playstation2/msg.md.fr: revision 1.3
usr.sbin/sysinst/arch/i386/msg.md.pl: revision 1.3
usr.sbin/sysinst/arch/i386/md.c: revision 1.23
usr.sbin/sysinst/msg.mi.pl: revision 1.25
usr.sbin/sysinst/msg.mi.fr: revision 1.23
usr.sbin/sysinst/arch/i386/msg.md.pl: revision 1.4
usr.sbin/sysinst/arch/i386/md.c: revision 1.24
usr.sbin/sysinst/partitions.h: revision 1.8
usr.sbin/sysinst/msg.mi.pl: revision 1.26
usr.sbin/sysinst/arch/i386/msg.md.de: revision 1.2
usr.sbin/sysinst/arch/i386/msg.md.de: revision 1.3
usr.sbin/sysinst/arch/i386/msg.md.de: revision 1.4
usr.sbin/sysinst/run.c: revision 1.13
usr.sbin/sysinst/defs.h: revision 1.46
usr.sbin/sysinst/install.c: revision 1.12
usr.sbin/sysinst/defs.h: revision 1.47
usr.sbin/sysinst/install.c: revision 1.13
usr.sbin/sysinst/defs.h: revision 1.48
Add options to the various partitioning stages that allow cloning of
alien partitions (optionally including data).
PR 54467: we trust our own sets, extract them with -P to allow symlink
redirection (especially for updates and chroot services - back out
once a better solution for those is implemented)
Make cloning support optional, so we can save some space on very small
install media.
Drop MBR and cloning support on crunched install media.
Make tar extraction flags depend on our usage of pax-as-tar or bsdtar.
Fix missing newlines in bios match display, pointed out by maxv.
Drop unused variable.
Fix table of bios geomatries
knf style adjustments
Make the bootblock selection menu more sane, pointed out by maxv
Make sure all menus have a translatable exit option (or none at all).
On amd64 support installation with a KASLR kernel, via "custom install"
and selecting the GENERIC_KASLR kernel set.
Setup /prekern and boot.cfg accordingly.
 1.2.28.1 13-Apr-2020  martin Mostly merge changes from HEAD upto 20200411
 1.2.6.2 20-Aug-2014  tls Rebase to HEAD as of a few days ago.
 1.2.6.1 03-Aug-2014  tls file msg.md.pl was added on branch tls-maxphys on 2014-08-20 00:05:17 +0000
 1.2.2.2 10-Aug-2014  tls Rebase.
 1.2.2.1 03-Aug-2014  tls file msg.md.pl was added on branch tls-earlyentropy on 2014-08-10 07:00:27 +0000
 1.1 26-Jul-2014  dholland branches: 1.1.2; 1.1.6;
Move sysinst sources to usr.sbin.

This commit only physically moves the sources - there are no other
changes, to maximize the probability that this will be treated as a
rename if we ever do manage to migrate away from CVS.

Moving sysinst has been discussed on and off for years and has two
goals: making it easier to work on sysinst, and also making sysinst
available on running systems for use installing chroots and VM images
and other such things. None of the latter is possible yet, but as they
say, one thing at a time.

Doing this now was approved in an impromptu fashion by mrg, riz,
riastradh, me, and groo.
 1.1.6.2 20-Aug-2014  tls Rebase to HEAD as of a few days ago.
 1.1.6.1 26-Jul-2014  tls file Makefile was added on branch tls-maxphys on 2014-08-20 00:05:17 +0000
 1.1.2.2 10-Aug-2014  tls Rebase.
 1.1.2.1 26-Jul-2014  tls file Makefile was added on branch tls-earlyentropy on 2014-08-10 07:00:28 +0000
 1.10 17-Feb-2025  andvar s/opportuinty/opportunity/ in comments.

From Miod Vallat by email.
 1.9 29-Jan-2022  martin branches: 1.9.4;
When upgrading, update the boot code post extraction from
the updated target file system.
 1.8 12-Oct-2020  martin PR 55536: when we find existing partition tables and have alternative
formats available, offer to delete partitions and create new ones from
scratch (in some other or the same on-disk format).
 1.7 15-Dec-2019  martin After installing boot blocks with RUN_NO_CLEAR (and handling the
potential errors) make sure to clear the stdscreen.
 1.6 13-Jul-2019  martin branches: 1.6.2;
We may call md_pre_mount() multiple times for the same install set,
so pass an additional index argument so MD code knows which part
of the install will be mounted next.
 1.5 20-Jun-2019  christos Use _fmt_ msg_ methods when formats are needed.
 1.4 12-Jun-2019  martin Rework internal data structures and "interfaces to user interface" functions
to get rid of all disklabel assumptions.

Previously (even for GPT partitioning) struct disklabel was used, which
obviously breaks large disk setups. Also many MD parts and parts of the
user interface assumed (a) a struct disklabel is used internally to
store partitioning information and (b) partitions are named 'a' ... $MAXPART.

Get rid of this and replace it with a quite abstract interface that should
be able to deal with all variants in partition storage:

- partitions are stored in a (partly abstract) struct disk_partitions
and most parts of it are only accessed via accessor functions provided
by a "partitioning scheme".

- implement partitioning schemes for MBR, disklabel and GPT (with likely
RDB [amiga] and Apple Partition Map [mac*] to follow soon)

- partitioning schemes may be cascaded, e.g. on x86 when using MBR as
"outer partitions", we have disklabel as "inner partitions".

- all user interface goes via accessor functions in the partitioning scheme,
some of which return pointers to special user interface descriptors
(e.g. to allow editing partition flags, which are scheme specific)

Overall the user interface changes (in this initial step) are minimal but
noticable. A new Anita is needed for automatic test setups - many thanks
to Andreas Gustafsson for lots of early testing and a new Anita version,
and to Manuel Bouyer for cooperation and tests of the Anita release.

This work was sponsored by The NetBSD Foundation, Inc.
 1.3 18-May-2018  joerg branches: 1.3.2;
deconst -> __UNCONST, the former involves UB with NULL arithmetic.
 1.2 03-Aug-2014  martin branches: 1.2.2; 1.2.6; 1.2.20; 1.2.26;
(Finally) merge a slightly modified version of the 2012 GSoC results
from Eugene Lozovoy: add extended partitioning options to sysinst.
Still needs some testing and polishing, but it now is possible to use GPT
or to create a RAID set from scratch and install onto it.
 1.1 26-Jul-2014  dholland Move sysinst sources to usr.sbin.

This commit only physically moves the sources - there are no other
changes, to maximize the probability that this will be treated as a
rename if we ever do manage to migrate away from CVS.

Moving sysinst has been discussed on and off for years and has two
goals: making it easier to work on sysinst, and also making sysinst
available on running systems for use installing chroots and VM images
and other such things. None of the latter is possible yet, but as they
say, one thing at a time.

Doing this now was approved in an impromptu fashion by mrg, riz,
riastradh, me, and groo.
 1.2.26.1 21-May-2018  pgoyette Sync with HEAD
 1.2.20.1 09-Jun-2018  martin Pull up following revision(s) (requested by joerg in ticket #869):

usr.sbin/sysinst/arch/mvme68k/md.c: revision 1.5
usr.sbin/sysinst/net.c: revision 1.24
usr.sbin/sysinst/partman.c: revision 1.22
usr.sbin/sysinst/menus.mi: revision 1.12
usr.sbin/sysinst/arch/i386/md.c: revision 1.8
usr.sbin/sysinst/arch/alpha/md.c: revision 1.3
usr.sbin/sysinst/bsddisklabel.c: revision 1.3
usr.sbin/sysinst/arch/x68k/md.c: revision 1.5
usr.sbin/sysinst/arch/hp300/md.c: revision 1.5
usr.sbin/sysinst/arch/emips/md.c: revision 1.4
usr.sbin/sysinst/arch/pmax/md.c: revision 1.3
usr.sbin/sysinst/arch/mipsco/md.c: revision 1.3
usr.sbin/sysinst/arch/hppa/md.c: revision 1.3
usr.sbin/sysinst/util.c: revision 1.8
usr.sbin/sysinst/defs.h: revision 1.10
usr.sbin/sysinst/arch/landisk/md.c: revision 1.4

deconst -> __UNCONST, the former involves UB with NULL arithmetic.
 1.2.6.2 20-Aug-2014  tls Rebase to HEAD as of a few days ago.
 1.2.6.1 03-Aug-2014  tls file md.c was added on branch tls-maxphys on 2014-08-20 00:05:17 +0000
 1.2.2.2 10-Aug-2014  tls Rebase.
 1.2.2.1 03-Aug-2014  tls file md.c was added on branch tls-earlyentropy on 2014-08-10 07:00:28 +0000
 1.3.2.2 13-Apr-2020  martin Mostly merge changes from HEAD upto 20200411
 1.3.2.1 08-Apr-2020  martin Merge changes from current as of 20200406
 1.6.2.3 02-Feb-2022  msaitoh Pull up following revision(s) (requested by martin in ticket #1422):
usr.sbin/sysinst/util.c: revision 1.64
usr.sbin/sysinst/arch/hpcsh/md.c: revision 1.11
usr.sbin/sysinst/arch/alpha/md.c: revision 1.10
usr.sbin/sysinst/arch/sparc64/md.c: revision 1.7
usr.sbin/sysinst/arch/emips/md.c: revision 1.10
usr.sbin/sysinst/arch/cobalt/md.c: revision 1.15
usr.sbin/sysinst/arch/x68k/md.c: revision 1.12
usr.sbin/sysinst/arch/sandpoint/md.c: revision 1.10
usr.sbin/sysinst/arch/luna68k/md.c: revision 1.10
usr.sbin/sysinst/arch/hp300/md.c: revision 1.12
usr.sbin/sysinst/arch/vax/md.c: revision 1.8
usr.sbin/sysinst/arch/hpcmips/md.c: revision 1.10
usr.sbin/sysinst/target.c: revision 1.16
usr.sbin/sysinst/arch/mvme68k/md.c: revision 1.12
usr.sbin/sysinst/arch/arc/md.c: revision 1.14
usr.sbin/sysinst/target.c: revision 1.17
usr.sbin/sysinst/arch/i386/md.c: revision 1.34
usr.sbin/sysinst/arch/mac68k/md.c: revision 1.11
usr.sbin/sysinst/arch/atari/md.c: revision 1.8
usr.sbin/sysinst/arch/sgimips/md.c: revision 1.10
usr.sbin/sysinst/arch/acorn32/md.c: revision 1.8
usr.sbin/sysinst/install.c: revision 1.22
usr.sbin/sysinst/arch/amiga/md.c: revision 1.7
usr.sbin/sysinst/arch/cats/md.c: revision 1.6
usr.sbin/sysinst/arch/dummy/md.c: revision 1.7
usr.sbin/sysinst/arch/shark/md.c: revision 1.7
usr.sbin/sysinst/arch/pmax/md.c: revision 1.9
usr.sbin/sysinst/arch/newsmips/md.c: revision 1.7
usr.sbin/sysinst/arch/mipsco/md.c: revision 1.9
usr.sbin/sysinst/arch/landisk/md.c: revision 1.15
usr.sbin/sysinst/arch/hppa/md.c: revision 1.9
usr.sbin/sysinst/arch/prep/md.c: revision 1.14
usr.sbin/sysinst/defs.h: revision 1.77
usr.sbin/sysinst/arch/ofppc/md.c: revision 1.13
usr.sbin/sysinst/arch/ews4800mips/md.c: revision 1.8
usr.sbin/sysinst/defs.h: revision 1.78
usr.sbin/sysinst/arch/macppc/md.c: revision 1.7
usr.sbin/sysinst/arch/evbppc/md.c: revision 1.10
usr.sbin/sysinst/defs.h: revision 1.79
usr.sbin/sysinst/gpt.c: revision 1.27
usr.sbin/sysinst/arch/bebox/md.c: revision 1.10
usr.sbin/sysinst/gpt.c: revision 1.28
usr.sbin/sysinst/arch/sparc/md.c: revision 1.7
usr.sbin/sysinst/arch/evbsh3/md.c: revision 1.7
usr.sbin/sysinst/arch/evbarm/md.c: revision 1.22
usr.sbin/sysinst/arch/news68k/md.c: revision 1.8
usr.sbin/sysinst/upgrade.c: revision 1.19
usr.sbin/sysinst/arch/zaurus/md.c: revision 1.12
usr.sbin/sysinst/arch/playstation2/md.c: revision 1.10
usr.sbin/sysinst/arch/hpcarm/md.c: revision 1.11
usr.sbin/sysinst/arch/evbmips/md.c: revision 1.10
usr.sbin/sysinst/main.c: revision 1.28
Add an option to set the directory where we look for message catalogs.
Try to get rid of all wedges we created (after unmounting).
When upgrading, update the boot code post extraction from
the updated target file system.
Do not defer wedge deletions when we have nothing mounted.
Define and use a constant for maximum disk name length.
 1.6.2.2 15-Oct-2020  bouyer Pull up following revision(s) (requested by martin in ticket #1113):
usr.sbin/sysinst/bsddisklabel.c: revision 1.46
usr.sbin/sysinst/bsddisklabel.c: revision 1.47
usr.sbin/sysinst/disklabel.c: revision 1.40
usr.sbin/sysinst/arch/cobalt/md.c: revision 1.13
usr.sbin/sysinst/bsddisklabel.c: revision 1.48
usr.sbin/sysinst/disklabel.c: revision 1.41
usr.sbin/sysinst/arch/cobalt/md.c: revision 1.14
usr.sbin/sysinst/bsddisklabel.c: revision 1.49
usr.sbin/sysinst/disklabel.c: revision 1.42
usr.sbin/sysinst/Makefile.inc: revision 1.34
usr.sbin/sysinst/disks.c: revision 1.70
usr.sbin/sysinst/arch/hp300/md.c: revision 1.11
usr.sbin/sysinst/disks.c: revision 1.71
usr.sbin/sysinst/arch/i386/md.h: revision 1.8
usr.sbin/sysinst/arch/arc/md.c: revision 1.13
usr.sbin/sysinst/mbr.h: revision 1.5
usr.sbin/sysinst/mbr.h: revision 1.6
usr.sbin/sysinst/arch/mac68k/md.c: revision 1.10
usr.sbin/sysinst/bsddisklabel.c: revision 1.50
usr.sbin/sysinst/arch/acorn32/md.c: revision 1.7
usr.sbin/sysinst/bsddisklabel.c: revision 1.51
usr.sbin/sysinst/bsddisklabel.c: revision 1.52
usr.sbin/sysinst/bsddisklabel.c: revision 1.53
usr.sbin/sysinst/bsddisklabel.c: revision 1.54
usr.sbin/sysinst/bsddisklabel.c: revision 1.55
usr.sbin/sysinst/bsddisklabel.c: revision 1.56
usr.sbin/sysinst/arch/dummy/md.c: revision 1.6
usr.sbin/sysinst/arch/amd64/md.h: revision 1.9
usr.sbin/sysinst/arch/evbsh3/md.c: revision 1.6
usr.sbin/sysinst/arch/sparc/md.c: revision 1.6
usr.sbin/sysinst/arch/zaurus/md.c: revision 1.10
usr.sbin/sysinst/arch/x68k/md.c: revision 1.11
usr.sbin/sysinst/arch/sandpoint/md.c: revision 1.9
usr.sbin/sysinst/arch/vax/md.c: revision 1.7
usr.sbin/sysinst/arch/luna68k/md.c: revision 1.9
usr.sbin/sysinst/gpt.c: revision 1.19
usr.sbin/sysinst/arch/i386/md.c: revision 1.31
usr.sbin/sysinst/arch/i386/md.c: revision 1.32
usr.sbin/sysinst/arch/evbarm/md.c: revision 1.17
usr.sbin/sysinst/arch/evbarm/md.c: revision 1.18
usr.sbin/sysinst/arch/evbarm/md.c: revision 1.19
usr.sbin/sysinst/arch/shark/md.c: revision 1.6
usr.sbin/sysinst/arch/landisk/md.c: revision 1.14
usr.sbin/sysinst/util.c: revision 1.43
usr.sbin/sysinst/gpt.c: revision 1.20
usr.sbin/sysinst/util.c: revision 1.44
usr.sbin/sysinst/gpt.c: revision 1.21
usr.sbin/sysinst/gpt.c: revision 1.22
usr.sbin/sysinst/arch/evbarm/msg.md.en: revision 1.2
usr.sbin/sysinst/arch/ofppc/md.c: revision 1.11
usr.sbin/sysinst/util.c: revision 1.46
usr.sbin/sysinst/arch/ofppc/md.c: revision 1.12
usr.sbin/sysinst/util.c: revision 1.47
usr.sbin/sysinst/arch/evbarm/md.h: revision 1.6
usr.sbin/sysinst/util.c: revision 1.48
usr.sbin/sysinst/arch/evbarm/md.h: revision 1.7
usr.sbin/sysinst/arch/evbmips/md.c: revision 1.9
usr.sbin/sysinst/msg.mi.fr: revision 1.28
usr.sbin/sysinst/msg.mi.fr: revision 1.29
usr.sbin/sysinst/arch/sgimips/md.c: revision 1.9
usr.sbin/sysinst/arch/evbarm/Makefile: revision 1.3
usr.sbin/sysinst/msg.mi.de: revision 1.23
usr.sbin/sysinst/arch/hpcsh/md.c: revision 1.10
usr.sbin/sysinst/msg.mi.de: revision 1.24
usr.sbin/sysinst/install.c: revision 1.15
usr.sbin/sysinst/install.c: revision 1.16
usr.sbin/sysinst/arch/sparc64/md.c: revision 1.6
usr.sbin/sysinst/install.c: revision 1.17
usr.sbin/sysinst/install.c: revision 1.18
usr.sbin/sysinst/partitions.h: revision 1.16
usr.sbin/sysinst/install.c: revision 1.19
usr.sbin/sysinst/partitions.h: revision 1.17
usr.sbin/sysinst/arch/evbppc/md.c: revision 1.9
usr.sbin/sysinst/arch/playstation2/md.c: revision 1.9
usr.sbin/sysinst/partitions.h: revision 1.18
usr.sbin/sysinst/arch/hpcarm/md.c: revision 1.9
usr.sbin/sysinst/partitions.h: revision 1.19
usr.sbin/sysinst/msg.mi.es: revision 1.24
usr.sbin/sysinst/msg.mi.es: revision 1.25
usr.sbin/sysinst/msg.mi.es: revision 1.26
usr.sbin/sysinst/arch/zaurus/md.c: revision 1.9
usr.sbin/sysinst/target.c: revision 1.13
usr.sbin/sysinst/target.c: revision 1.14
usr.sbin/sysinst/part_edit.c: revision 1.17
usr.sbin/sysinst/part_edit.c: revision 1.18
usr.sbin/sysinst/msg.mi.fr: revision 1.30
usr.sbin/sysinst/arch/mvme68k/md.c: revision 1.11
usr.sbin/sysinst/part_edit.c: revision 1.19
usr.sbin/sysinst/msg.mi.fr: revision 1.31
usr.sbin/sysinst/arch/alpha/md.c: revision 1.9
usr.sbin/sysinst/msg.mi.en: revision 1.30
usr.sbin/sysinst/defs.h: revision 1.56
usr.sbin/sysinst/msg.mi.en: revision 1.31
usr.sbin/sysinst/defs.h: revision 1.57
usr.sbin/sysinst/msg.mi.en: revision 1.32
usr.sbin/sysinst/arch/amiga/md.c: revision 1.6
usr.sbin/sysinst/arch/hpcmips/md.c: revision 1.9
usr.sbin/sysinst/defs.h: revision 1.58
usr.sbin/sysinst/arch/cats/md.c: revision 1.5
usr.sbin/sysinst/defs.h: revision 1.59
usr.sbin/sysinst/arch/newsmips/md.c: revision 1.6
usr.sbin/sysinst/arch/pmax/md.c: revision 1.8
usr.sbin/sysinst/arch/mipsco/md.c: revision 1.8
usr.sbin/sysinst/part_edit.c: revision 1.20
usr.sbin/sysinst/part_edit.c: revision 1.21
usr.sbin/sysinst/arch/macppc/md.c: revision 1.6
usr.sbin/sysinst/part_edit.c: revision 1.22
usr.sbin/sysinst/part_edit.c: revision 1.23
usr.sbin/sysinst/part_edit.c: revision 1.24
usr.sbin/sysinst/defs.h: revision 1.60
usr.sbin/sysinst/arch/mac68k/Makefile: revision 1.3
usr.sbin/sysinst/defs.h: revision 1.61
usr.sbin/sysinst/defs.h: revision 1.63
usr.sbin/sysinst/defs.h: revision 1.64
usr.sbin/sysinst/defs.h: revision 1.65
usr.sbin/sysinst/label.c: revision 1.21
usr.sbin/sysinst/defs.h: revision 1.66
usr.sbin/sysinst/label.c: revision 1.22
usr.sbin/sysinst/defs.h: revision 1.67
usr.sbin/sysinst/label.c: revision 1.23
usr.sbin/sysinst/label.c: revision 1.24
usr.sbin/sysinst/label.c: revision 1.25
usr.sbin/sysinst/label.c: revision 1.26
usr.sbin/sysinst/label.c: revision 1.27
usr.sbin/sysinst/msg.mi.pl: revision 1.31
usr.sbin/sysinst/label.c: revision 1.28
usr.sbin/sysinst/msg.mi.pl: revision 1.32
usr.sbin/sysinst/label.c: revision 1.29
usr.sbin/sysinst/arch/atari/md.c: revision 1.7
usr.sbin/sysinst/disklabel.c: revision 1.36
usr.sbin/sysinst/disklabel.c: revision 1.37
usr.sbin/sysinst/disklabel.c: revision 1.38
usr.sbin/sysinst/disklabel.c: revision 1.39
usr.sbin/sysinst/arch/bebox/md.c: revision 1.9
usr.sbin/sysinst/mbr.c: revision 1.32
usr.sbin/sysinst/disks.c: revision 1.66
usr.sbin/sysinst/mbr.c: revision 1.33
usr.sbin/sysinst/disks.c: revision 1.67
usr.sbin/sysinst/mbr.c: revision 1.34
usr.sbin/sysinst/arch/emips/md.c: revision 1.9
usr.sbin/sysinst/disks.c: revision 1.68
usr.sbin/sysinst/partitions.c: revision 1.11
usr.sbin/sysinst/mbr.c: revision 1.35
usr.sbin/sysinst/disks.c: revision 1.69
usr.sbin/sysinst/mbr.c: revision 1.36
usr.sbin/sysinst/arch/hppa/md.c: revision 1.8
usr.sbin/sysinst/arch/prep/md.c: revision 1.13
usr.sbin/sysinst/label.c: revision 1.30
usr.sbin/sysinst/arch/ews4800mips/md.c: revision 1.7
usr.sbin/sysinst/main.c: revision 1.21
usr.sbin/sysinst/main.c: revision 1.22
usr.sbin/sysinst/main.c: revision 1.23
usr.sbin/sysinst/bsddisklabel.c: revision 1.40
usr.sbin/sysinst/main.c: revision 1.24
usr.sbin/sysinst/arch/cobalt/md.h: revision 1.6
usr.sbin/sysinst/bsddisklabel.c: revision 1.41
usr.sbin/sysinst/main.c: revision 1.25
usr.sbin/sysinst/arch/news68k/md.c: revision 1.7
usr.sbin/sysinst/bsddisklabel.c: revision 1.42
usr.sbin/sysinst/bsddisklabel.c: revision 1.43
usr.sbin/sysinst/bsddisklabel.c: revision 1.44
usr.sbin/sysinst/bsddisklabel.c: revision 1.45
Use strlcpy in a few places to guarnatee 0-terminated strings
Rever previous: the d_packname in struct disklabel is not NUL terminated.
Disable the warning instead.
Do not force -Os optimization (unless SMALLPROG)
Remove unused "rel" global variable and make the -r option a no-op.
PR 55045: strlcpy(NULL, ..., 0) considered harmfull in some implementations.
PR misc/54886: bump threshold for automatic/default creation of a tmpfs /tmp
up slightly (to 384 MB ram). This will make sure the default install has
a > 64 MB /tmp available (number pulled out of thin air, 64 MB is the minimum
required by the ZFS tests).
Don't depend on common symbol definitions.
boardype should not be common.
Redo the root-size-limit check again after we grew the root partition
for kernel dumps. Auto-enable the /usr partition if it overflows.
For all non-root partitions, default to FFSv2.
When extending a partition (to fill the total disk size) do respect
size limits.
Do not suggest a size limited partition for extension by default.
Minor tweak to previous: when forcing a /usr partition just to have an
arbitrary extendable partition, still use its default size initially.
At the end of a new installation save entropy.
Ooops, backout previous - twice the entropy saving is not needed.
Instead slightly improve the (slightly) hidden other code that already
did it.
PR 55202: disable swapping if we started it due to low ram
it's "its"
Remove "If you booted from a floppy" message
Set HAVE_INSTALL_IMAGE for evbarm
Change mountpoint of boot ext2fs from /stand to /ext2 to avoid conflict.
Should be pulled up to netbsd-9, with fixes of PR/55060.
MBR type for Ext2 should be MBR_PTYPE_LNXEXT2, not MBR_PTYPE_FAT12.
Silence -Wstringop-truncation for ``name'' in disp_selected_part().
This variable is used only for display, and truncation seems harmless.
PR 55572: avoid crash when answering the mount point prompt for a previously
empty mount point with an emptry sting.
When adding a new partition in the concrete partition editor, make sure
to set a pointer to the partition table interface in the new entry.
Otherwise we may end up not writing back the partitions at all, leading
to further fallout later.
Receipe to reproduce the issue from Frederic Fauberteau, thanks!
In the concrete partitions editor, after deleting the last partition move
the menu selection to the "add a partition" entry (instead of the sentinel
line which is not an active menu entry).
Typo in comment
Keep a list of all partition tables from which we have deleted partitions
and make sure we update those partition tables when writing partitions,
even if no install related partition remains on them.
Fix display of timezone selection menu
If there is no current partitioning manager assume we are editing the
current system and make target_already_root() return true.
Fixes various fallout when using sysinst post installation.
PR 55377: mark boot partitions in the partition size display, as suggested
by Izumi Tsutsui (minor modifications + all bugs by me)
PR 55378: do not assume RAW_PART to be either 2 or 3
PR 55379: avoid creating bogus /etc/fstab lines for /dev/cd* if no
cdrom is available.
PR 55381: try to deal with moved (but not yet saved) partitions when
calculating free space
Apply patch provided by Izumi Tsutsui in PR 55382: make ext2 partitions
show up in the outer (MBR) partition table, needed for example on Cobalt
where firmware boots from that partition.
PR 55384: detangle pm->ptstart from the "install" flag (selecting a
target partition). Instead introduce a new PTI_INSTALL_TARGET per partition
flag and deal with it in the partitioning backends.
Honour pm->ptstart when allocating new partitions - it is supposed to be
the first sector usable by NetBSD.
If we have no explicitly marke target root partition, make sure to set
the proper flag on the implicit one.
When merging existing partitions with desired target system layout
information, only force the "mount" flag if the existing partitions
has a valid mount point.
Add a heuristic to detect and properly mark EFI system partitions
when re-using pre-existing partitions.
When MD code requests a reserved area (at the start of the disk)
make sure to properly account for the "lost" space during all calculations
and especially when expanding the main partition to fill the disk.
Avoid using the global "pm" or a passed device descriptons when we are
passing disk limits explicitly anyway.
Simplify/fix a few rounding calculations.
When creating new partitions for "full disk" use, pass a install target
hint to the partitioning backend (for the outer NetBSD partition).
Use an install target hint to mark a new partition active.
When compiled with BOOTSEL support, also name the new partition "NetBSD".
Remove more pm->ptstart abuse - calculate values localy where needed
instead.
Fix editing start and size of not yet existing outer partitions.
Previously we abused pm->ptstart / pm->ptsize to pass the bounds of the
NetBSD outer partition to the inner partition editor - but now this is
not a valid assumption any more, so explicitly fix the bounds if an
outer partition exists.
Remove very strange code that special-cased MSDOS file systems and refused
to newfs the partition (despite explicit request to do so) if it was
mountable.
Accidently carried over from a dim and distant past, before we had
fsck_newfs.
PR 55536: when we find existing partition tables and have alternative
formats available, offer to delete partitions and create new ones from
scratch (in some other or the same on-disk format).
Minor fix to previous: fix condition when we offer the partition type
switch - it makes sense even if the disk is partitioned but has no valid
partitions.
Before forcing MBR partitions into our disklabel, make sure they are not
there yet - could happen in various paths when reusing existing partitions
(or parts of that) - previously we would blindly duplicate identical
partitions.
Ooops, part of previous was not meant to be included yet
When renumbering partitions (after deletions) be slightly more lax
in matching, to cope with differences between MBR EFI partitions and
disklabel MSDOS partitions.
PR 55142: on popular demand bring back expert options to adjust the
number of free inodes, block size and fragment size for FFS and LFS.
Fix copy & pasto noticed by Jason Mitchell: change the type of a GPT
partition via "gpt type" - not "gpt label".
Fix copy & pasto (missing "again" label)
Remove dead code
Move MBR writing (if any) post disklabel writing, otherwise strange
interactions happen.
Properly convert partition default sizes in MB to number of sectors
 1.6.2.1 17-Dec-2019  msaitoh Pull up following revision(s) (requested by martin in ticket #560):
usr.sbin/sysinst/partitions.h: revision 1.11
usr.sbin/sysinst/defs.h: revision 1.49
usr.sbin/sysinst/mbr.c: revision 1.23
usr.sbin/sysinst/msg.mi.en: revision 1.26
usr.sbin/sysinst/disks.c: revision 1.58
usr.sbin/sysinst/arch/evbarm/menus.md.pl: revision 1.2
usr.sbin/sysinst/msg.mi.es: revision 1.20
usr.sbin/sysinst/arch/mvme68k/md.c: revision 1.9
usr.sbin/sysinst/gpt.c: revision 1.13
usr.sbin/sysinst/arch/evbarm/md.c: revision 1.10
usr.sbin/sysinst/arch/arc/md.c: revision 1.10
usr.sbin/sysinst/disklabel.c: revision 1.18
usr.sbin/sysinst/bsddisklabel.c: revision 1.33
usr.sbin/sysinst/disklabel.c: revision 1.19
usr.sbin/sysinst/main.c: revision 1.19
usr.sbin/sysinst/partman.c: revision 1.45
usr.sbin/sysinst/arch/alpha/md.c: revision 1.7
usr.sbin/sysinst/msg.mi.de: revision 1.19
usr.sbin/sysinst/arch/evbarm/menus.md.en: revision 1.2
usr.sbin/sysinst/arch/x68k/md.h: revision 1.4
usr.sbin/sysinst/arch/x68k/md.c: revision 1.9
usr.sbin/sysinst/arch/evbarm/menus.md.es: revision 1.2
usr.sbin/sysinst/wskbd.c: revision 1.4
usr.sbin/sysinst/label.c: revision 1.15
usr.sbin/sysinst/arch/amiga/md.h: revision 1.5
usr.sbin/sysinst/label.c: revision 1.16
usr.sbin/sysinst/arch/hp300/md.c: revision 1.9
usr.sbin/sysinst/arch/emips/md.c: revision 1.8
usr.sbin/sysinst/label.c: revision 1.17
usr.sbin/sysinst/arch/pmax/md.c: revision 1.7
usr.sbin/sysinst/partitions.c: revision 1.6
usr.sbin/sysinst/arch/prep/md.c: revision 1.10
usr.sbin/sysinst/arch/mipsco/md.c: revision 1.7
usr.sbin/sysinst/partitions.c: revision 1.7
usr.sbin/sysinst/partitions.c: revision 1.8
usr.sbin/sysinst/arch/ews4800mips/md.c: revision 1.5
usr.sbin/sysinst/disklabel.c: revision 1.20
usr.sbin/sysinst/arch/evbarm/menus.md.fr: revision 1.2
usr.sbin/sysinst/msg.mi.fr: revision 1.24
usr.sbin/sysinst/disklabel.c: revision 1.21
usr.sbin/sysinst/partitions.h: revision 1.9
usr.sbin/sysinst/msg.mi.pl: revision 1.27
usr.sbin/sysinst/disklabel.c: revision 1.22
usr.sbin/sysinst/disklabel.c: revision 1.23
usr.sbin/sysinst/arch/i386/md.c: revision 1.27
usr.sbin/sysinst/disklabel.c: revision 1.24
usr.sbin/sysinst/disklabel.c: revision 1.25
usr.sbin/sysinst/arch/cobalt/md.h: revision 1.5
usr.sbin/sysinst/disklabel.c: revision 1.26
usr.sbin/sysinst/disklabel.c: revision 1.27
usr.sbin/sysinst/partitions.h: revision 1.10
usr.sbin/sysinst/arch/cobalt/md.c: revision 1.10
PR install/54582: allow MD code to disable on-disk presence verification
of "real" disklabels. Auto-enable this (at run time) when there is no other
partitioning scheme but disklabel configured.
Hard-coded enable this for x68k to allow using kernel based translations
for native Human68k partitions.
Get rid of the evbarm preliminary menu: do not bother to ask the user
whether this is a RPi - query the FDT instead.
PR 54065: add optional "old compat" variant of ext2fs in file system
type selection and use that as default for the cobalt boot file system.
For now rely on the kernel mapping native RDB partitions.
Fix detection of existing disklabels in the case when we only have
the disklabel partitioning scheme available.
Fix DISKLABEL_NO_ONDISK_VERIFY (accidently disabled in previous)
Fix inverted comparison
Do not try to change the keyboard layout if we are not running on the
console.
When trying to tell a fictious but empty label from a real one, skip
partition a if it has the same start and size as the raw partition.
Remove bogus assert.
When finding (paritioning scheme native) partition types for file systems
from our install description, pass the partition type (not only the file
system type). Sometimes (e.g. EFI boot partition on GPT) the filesystem
type (MSDOS) is not a unique selector.
Adapt MD parts to changes in get_fs_part_type (pass partition type).
If a fictious label has no RAW_PART assume there is no valid disk label.
Pass proper track size when initializing the default alignment - this is
important with sunlabels.
Fix overlapping partitions display
Reject (what we consider) empty/invalid fake disklabels no matter whether
we have other partitioning schemes available or not.
Do not show disklabel command invocation by default (only if there are
errors).
After installing boot blocks with RUN_NO_CLEAR (and handling the
potential errors) make sure to clear the stdscreen.
 1.9.4.1 02-Aug-2025  perseant Sync with HEAD
 1.6 26-Apr-2025  tsutsui Remove obsolete MD 'PART_(ROOT|SWAP|BSD|RAW|USR|REST|FIRST_FREE)' defines.

Patch from Miod Vallat.
 1.5 16-Jun-2022  tsutsui branches: 1.5.4;
Define DEFSWAPSIZE properly. DEFSWAPRAM seems obsolete.
 1.4 02-Oct-2019  maya Split out /rescue to its own set and adapt installers/images to add it.

This is meant to make updates safer: if something goes wrong with updating
base, we still have the old, standalone /rescue to recover from.
 1.3 16-Nov-2018  martin branches: 1.3.2;
Sync install size estimates with current reality
 1.2 04-Nov-2016  flxd branches: 1.2.12; 1.2.14;
Add new USB-enabled kernel config(s) based upon GENERIC for pmax, include it as kernel set in the build and make it a choice in sysinst.
OK simonb@
 1.1 26-Jul-2014  dholland branches: 1.1.2; 1.1.6; 1.1.10;
Move sysinst sources to usr.sbin.

This commit only physically moves the sources - there are no other
changes, to maximize the probability that this will be treated as a
rename if we ever do manage to migrate away from CVS.

Moving sysinst has been discussed on and off for years and has two
goals: making it easier to work on sysinst, and also making sysinst
available on running systems for use installing chroots and VM images
and other such things. None of the latter is possible yet, but as they
say, one thing at a time.

Doing this now was approved in an impromptu fashion by mrg, riz,
riastradh, me, and groo.
 1.1.10.1 07-Jan-2017  pgoyette Sync with HEAD. (Note that most of these changes are simply $NetBSD$
tag issues.)
 1.1.6.2 20-Aug-2014  tls Rebase to HEAD as of a few days ago.
 1.1.6.1 26-Jul-2014  tls file md.h was added on branch tls-maxphys on 2014-08-20 00:05:17 +0000
 1.1.2.2 10-Aug-2014  tls Rebase.
 1.1.2.1 26-Jul-2014  tls file md.h was added on branch tls-earlyentropy on 2014-08-10 07:00:28 +0000
 1.2.14.2 13-Apr-2020  martin Mostly merge changes from HEAD upto 20200411
 1.2.14.1 10-Jun-2019  christos Sync with HEAD
 1.2.12.1 26-Nov-2018  pgoyette Sync with HEAD, resolve a couple of conflicts
 1.3.2.1 17-Nov-2019  martin Pull up following revision(s) (requested by maya in ticket #435):

distrib/sets/maketars: revision 1.90
usr.sbin/sysinst/arch/playstation2/md.h: revision 1.2
usr.sbin/sysinst/arch/sandpoint/md.h: revision 1.3
usr.sbin/sysinst/arch/evbppc/md.h: revision 1.3
usr.sbin/sysinst/arch/hpcarm/md.h: revision 1.3
usr.sbin/sysinst/arch/mvme68k/md.h: revision 1.3
distrib/sun3/MakeInstTape: revision 1.3
usr.sbin/sysinst/util.c: revision 1.33
distrib/sets/lists/rescue/mi: revision 1.1
distrib/sets/lists/base/rescue.sun2: file removal
usr.sbin/sysinst/arch/zaurus/md.h: revision 1.3
distrib/sets/lists/base/rescue.ad.m68k.shl: file removal
distrib/sets/regpkgset: revision 1.13
usr.sbin/sysinst/arch/i386/md.h: revision 1.7
distrib/sets/lists/base/rescue.sparc: file removal
distrib/notes/mvme68k/xfer: revision 1.19
distrib/sets/sets.subr: revision 1.187
distrib/common/bootimage/Makefile.bootimage: revision 1.22
usr.sbin/sysinst/msg.mi.de: revision 1.16
usr.sbin/sysinst/arch/atari/md.h: revision 1.3
rescue/Makefile: revision 1.38
distrib/sets/lists/base/rescue.macppc: file removal
usr.sbin/sysinst/arch/arc/md.h: revision 1.4
distrib/miniroot/install.sub: revision 1.49
usr.sbin/sysinst/arch/acorn32/md.h: revision 1.3
usr.sbin/sysinst/arch/x68k/md.h: revision 1.3
usr.sbin/sysinst/arch/hpcmips/md.h: revision 1.3
usr.sbin/sysinst/arch/bebox/md.h: revision 1.3
usr.sbin/sysinst/arch/hpcsh/md.h: revision 1.2
distrib/sets/lists/base/rescue.shark: file removal
usr.sbin/sysinst/arch/emips/md.h: revision 1.5
distrib/utils/embedded/mkimage: revision 1.70
usr.sbin/sysinst/arch/shark/md.h: revision 1.3
usr.sbin/sysinst/arch/pmax/md.h: revision 1.4
usr.sbin/sysinst/arch/amiga/md.h: revision 1.4
usr.sbin/sysinst/arch/hp300/md.h: revision 1.5
rescue/list.ldconfig: file removal
distrib/sets/lists/base/rescue.ad.m68k: file removal
usr.sbin/sysinst/arch/prep/md.h: revision 1.4
usr.sbin/sysinst/arch/cats/md.h: revision 1.4
usr.sbin/sysinst/arch/amd64/md.h: revision 1.7
usr.sbin/sysinst/msg.mi.es: revision 1.17
usr.sbin/sysinst/msg.mi.fr: revision 1.20
usr.sbin/sysinst/msg.mi.pl: revision 1.23
distrib/sets/lists/base/rescue.i386: file removal
usr.sbin/sysinst/arch/evbarm/md.h: revision 1.3
distrib/sets/lists/base/rescue.vax: file removal
distrib/amd64/uefi-installimage/Makefile.bootimage: revision 1.12
usr.sbin/sysinst/arch/evbmips/md.h: revision 1.3
distrib/sets/lists/base/rescue.mi: file removal
distrib/sets/README: revision 1.14
usr.sbin/sysinst/arch/sgimips/md.h: revision 1.4
distrib/sets/lists/base/rescue.sparc64: file removal
distrib/sets/lists/base/rescue.mi: revision 1.45
distrib/sets/lists/base/rescue.mi: revision 1.46
usr.sbin/sysinst/arch/ofppc/md.h: revision 1.4
usr.sbin/sysinst/arch/cobalt/md.h: revision 1.4
distrib/sets/lists/base/rescue.ad.arm: file removal
distrib/sets/lists/base/rescue.mac68k: file removal
usr.sbin/sysinst/defs.h: revision 1.45
usr.sbin/sysinst/arch/landisk/md.h: revision 1.2
distrib/notes/atari/xfer: revision 1.17
etc/Makefile: revision 1.441
usr.sbin/sysinst/msg.mi.en: revision 1.22
distrib/sun2/MakeInstTape: revision 1.2

Remove ldconfig from /rescue, and mark it MI obsolete.
- ldconfig in netbsd refers to a.out binaries only. We've been ELF-only
since NetBSD 2.0 or so, and having it in /rescue served little purpose
even before that, as /rescue is standalone.
- Using MI obsolete to avoid the need for MD set lists where ldconfig
is the sole entry

Mark /rescue/edlabel as MI-obsolete, so we can remove all remaining MD
rescue set list files.

Split out /rescue to its own set and adapt installers/images to add it.

This is meant to make updates safer: if something goes wrong with updating
base, we still have the old, standalone /rescue to recover from.
 1.5.4.1 02-Aug-2025  perseant Sync with HEAD
 1.1 26-Jul-2014  dholland branches: 1.1.2; 1.1.6;
Move sysinst sources to usr.sbin.

This commit only physically moves the sources - there are no other
changes, to maximize the probability that this will be treated as a
rename if we ever do manage to migrate away from CVS.

Moving sysinst has been discussed on and off for years and has two
goals: making it easier to work on sysinst, and also making sysinst
available on running systems for use installing chroots and VM images
and other such things. None of the latter is possible yet, but as they
say, one thing at a time.

Doing this now was approved in an impromptu fashion by mrg, riz,
riastradh, me, and groo.
 1.1.6.2 20-Aug-2014  tls Rebase to HEAD as of a few days ago.
 1.1.6.1 26-Jul-2014  tls file menus.md.en was added on branch tls-maxphys on 2014-08-20 00:05:17 +0000
 1.1.2.2 10-Aug-2014  tls Rebase.
 1.1.2.1 26-Jul-2014  tls file menus.md.en was added on branch tls-earlyentropy on 2014-08-10 07:00:28 +0000
 1.1 26-Jul-2014  dholland branches: 1.1.2; 1.1.6;
Move sysinst sources to usr.sbin.

This commit only physically moves the sources - there are no other
changes, to maximize the probability that this will be treated as a
rename if we ever do manage to migrate away from CVS.

Moving sysinst has been discussed on and off for years and has two
goals: making it easier to work on sysinst, and also making sysinst
available on running systems for use installing chroots and VM images
and other such things. None of the latter is possible yet, but as they
say, one thing at a time.

Doing this now was approved in an impromptu fashion by mrg, riz,
riastradh, me, and groo.
 1.1.6.2 20-Aug-2014  tls Rebase to HEAD as of a few days ago.
 1.1.6.1 26-Jul-2014  tls file menus.md.es was added on branch tls-maxphys on 2014-08-20 00:05:17 +0000
 1.1.2.2 10-Aug-2014  tls Rebase.
 1.1.2.1 26-Jul-2014  tls file menus.md.es was added on branch tls-earlyentropy on 2014-08-10 07:00:28 +0000
 1.1 26-Jul-2014  dholland branches: 1.1.2; 1.1.6;
Move sysinst sources to usr.sbin.

This commit only physically moves the sources - there are no other
changes, to maximize the probability that this will be treated as a
rename if we ever do manage to migrate away from CVS.

Moving sysinst has been discussed on and off for years and has two
goals: making it easier to work on sysinst, and also making sysinst
available on running systems for use installing chroots and VM images
and other such things. None of the latter is possible yet, but as they
say, one thing at a time.

Doing this now was approved in an impromptu fashion by mrg, riz,
riastradh, me, and groo.
 1.1.6.2 20-Aug-2014  tls Rebase to HEAD as of a few days ago.
 1.1.6.1 26-Jul-2014  tls file menus.md.fr was added on branch tls-maxphys on 2014-08-20 00:05:17 +0000
 1.1.2.2 10-Aug-2014  tls Rebase.
 1.1.2.1 26-Jul-2014  tls file menus.md.fr was added on branch tls-earlyentropy on 2014-08-10 07:00:28 +0000
 1.1 26-Jul-2014  dholland branches: 1.1.2; 1.1.6;
Move sysinst sources to usr.sbin.

This commit only physically moves the sources - there are no other
changes, to maximize the probability that this will be treated as a
rename if we ever do manage to migrate away from CVS.

Moving sysinst has been discussed on and off for years and has two
goals: making it easier to work on sysinst, and also making sysinst
available on running systems for use installing chroots and VM images
and other such things. None of the latter is possible yet, but as they
say, one thing at a time.

Doing this now was approved in an impromptu fashion by mrg, riz,
riastradh, me, and groo.
 1.1.6.2 20-Aug-2014  tls Rebase to HEAD as of a few days ago.
 1.1.6.1 26-Jul-2014  tls file menus.md.pl was added on branch tls-maxphys on 2014-08-20 00:05:17 +0000
 1.1.2.2 10-Aug-2014  tls Rebase.
 1.1.2.1 26-Jul-2014  tls file menus.md.pl was added on branch tls-earlyentropy on 2014-08-10 07:00:28 +0000
 1.2 04-Nov-2016  flxd Add new USB-enabled kernel config(s) based upon GENERIC for pmax, include it as kernel set in the build and make it a choice in sysinst.
OK simonb@
 1.1 26-Jul-2014  dholland branches: 1.1.2; 1.1.6; 1.1.10;
Move sysinst sources to usr.sbin.

This commit only physically moves the sources - there are no other
changes, to maximize the probability that this will be treated as a
rename if we ever do manage to migrate away from CVS.

Moving sysinst has been discussed on and off for years and has two
goals: making it easier to work on sysinst, and also making sysinst
available on running systems for use installing chroots and VM images
and other such things. None of the latter is possible yet, but as they
say, one thing at a time.

Doing this now was approved in an impromptu fashion by mrg, riz,
riastradh, me, and groo.
 1.1.10.1 07-Jan-2017  pgoyette Sync with HEAD. (Note that most of these changes are simply $NetBSD$
tag issues.)
 1.1.6.2 20-Aug-2014  tls Rebase to HEAD as of a few days ago.
 1.1.6.1 26-Jul-2014  tls file msg.md.de was added on branch tls-maxphys on 2014-08-20 00:05:17 +0000
 1.1.2.2 10-Aug-2014  tls Rebase.
 1.1.2.1 26-Jul-2014  tls file msg.md.de was added on branch tls-earlyentropy on 2014-08-10 07:00:28 +0000
 1.2 04-Nov-2016  flxd Add new USB-enabled kernel config(s) based upon GENERIC for pmax, include it as kernel set in the build and make it a choice in sysinst.
OK simonb@
 1.1 26-Jul-2014  dholland branches: 1.1.2; 1.1.6; 1.1.10;
Move sysinst sources to usr.sbin.

This commit only physically moves the sources - there are no other
changes, to maximize the probability that this will be treated as a
rename if we ever do manage to migrate away from CVS.

Moving sysinst has been discussed on and off for years and has two
goals: making it easier to work on sysinst, and also making sysinst
available on running systems for use installing chroots and VM images
and other such things. None of the latter is possible yet, but as they
say, one thing at a time.

Doing this now was approved in an impromptu fashion by mrg, riz,
riastradh, me, and groo.
 1.1.10.1 07-Jan-2017  pgoyette Sync with HEAD. (Note that most of these changes are simply $NetBSD$
tag issues.)
 1.1.6.2 20-Aug-2014  tls Rebase to HEAD as of a few days ago.
 1.1.6.1 26-Jul-2014  tls file msg.md.en was added on branch tls-maxphys on 2014-08-20 00:05:17 +0000
 1.1.2.2 10-Aug-2014  tls Rebase.
 1.1.2.1 26-Jul-2014  tls file msg.md.en was added on branch tls-earlyentropy on 2014-08-10 07:00:28 +0000
 1.2 04-Nov-2016  flxd Add new USB-enabled kernel config(s) based upon GENERIC for pmax, include it as kernel set in the build and make it a choice in sysinst.
OK simonb@
 1.1 26-Jul-2014  dholland branches: 1.1.2; 1.1.6; 1.1.10;
Move sysinst sources to usr.sbin.

This commit only physically moves the sources - there are no other
changes, to maximize the probability that this will be treated as a
rename if we ever do manage to migrate away from CVS.

Moving sysinst has been discussed on and off for years and has two
goals: making it easier to work on sysinst, and also making sysinst
available on running systems for use installing chroots and VM images
and other such things. None of the latter is possible yet, but as they
say, one thing at a time.

Doing this now was approved in an impromptu fashion by mrg, riz,
riastradh, me, and groo.
 1.1.10.1 07-Jan-2017  pgoyette Sync with HEAD. (Note that most of these changes are simply $NetBSD$
tag issues.)
 1.1.6.2 20-Aug-2014  tls Rebase to HEAD as of a few days ago.
 1.1.6.1 26-Jul-2014  tls file msg.md.es was added on branch tls-maxphys on 2014-08-20 00:05:17 +0000
 1.1.2.2 10-Aug-2014  tls Rebase.
 1.1.2.1 26-Jul-2014  tls file msg.md.es was added on branch tls-earlyentropy on 2014-08-10 07:00:28 +0000
 1.2 04-Nov-2016  flxd Add new USB-enabled kernel config(s) based upon GENERIC for pmax, include it as kernel set in the build and make it a choice in sysinst.
OK simonb@
 1.1 26-Jul-2014  dholland branches: 1.1.2; 1.1.6; 1.1.10;
Move sysinst sources to usr.sbin.

This commit only physically moves the sources - there are no other
changes, to maximize the probability that this will be treated as a
rename if we ever do manage to migrate away from CVS.

Moving sysinst has been discussed on and off for years and has two
goals: making it easier to work on sysinst, and also making sysinst
available on running systems for use installing chroots and VM images
and other such things. None of the latter is possible yet, but as they
say, one thing at a time.

Doing this now was approved in an impromptu fashion by mrg, riz,
riastradh, me, and groo.
 1.1.10.1 07-Jan-2017  pgoyette Sync with HEAD. (Note that most of these changes are simply $NetBSD$
tag issues.)
 1.1.6.2 20-Aug-2014  tls Rebase to HEAD as of a few days ago.
 1.1.6.1 26-Jul-2014  tls file msg.md.fr was added on branch tls-maxphys on 2014-08-20 00:05:17 +0000
 1.1.2.2 10-Aug-2014  tls Rebase.
 1.1.2.1 26-Jul-2014  tls file msg.md.fr was added on branch tls-earlyentropy on 2014-08-10 07:00:28 +0000
 1.2 04-Nov-2016  flxd Add new USB-enabled kernel config(s) based upon GENERIC for pmax, include it as kernel set in the build and make it a choice in sysinst.
OK simonb@
 1.1 26-Jul-2014  dholland branches: 1.1.2; 1.1.6; 1.1.10;
Move sysinst sources to usr.sbin.

This commit only physically moves the sources - there are no other
changes, to maximize the probability that this will be treated as a
rename if we ever do manage to migrate away from CVS.

Moving sysinst has been discussed on and off for years and has two
goals: making it easier to work on sysinst, and also making sysinst
available on running systems for use installing chroots and VM images
and other such things. None of the latter is possible yet, but as they
say, one thing at a time.

Doing this now was approved in an impromptu fashion by mrg, riz,
riastradh, me, and groo.
 1.1.10.1 07-Jan-2017  pgoyette Sync with HEAD. (Note that most of these changes are simply $NetBSD$
tag issues.)
 1.1.6.2 20-Aug-2014  tls Rebase to HEAD as of a few days ago.
 1.1.6.1 26-Jul-2014  tls file msg.md.pl was added on branch tls-maxphys on 2014-08-20 00:05:17 +0000
 1.1.2.2 10-Aug-2014  tls Rebase.
 1.1.2.1 26-Jul-2014  tls file msg.md.pl was added on branch tls-earlyentropy on 2014-08-10 07:00:28 +0000
 1.2 12-Jun-2019  martin Rework internal data structures and "interfaces to user interface" functions
to get rid of all disklabel assumptions.

Previously (even for GPT partitioning) struct disklabel was used, which
obviously breaks large disk setups. Also many MD parts and parts of the
user interface assumed (a) a struct disklabel is used internally to
store partitioning information and (b) partitions are named 'a' ... $MAXPART.

Get rid of this and replace it with a quite abstract interface that should
be able to deal with all variants in partition storage:

- partitions are stored in a (partly abstract) struct disk_partitions
and most parts of it are only accessed via accessor functions provided
by a "partitioning scheme".

- implement partitioning schemes for MBR, disklabel and GPT (with likely
RDB [amiga] and Apple Partition Map [mac*] to follow soon)

- partitioning schemes may be cascaded, e.g. on x86 when using MBR as
"outer partitions", we have disklabel as "inner partitions".

- all user interface goes via accessor functions in the partitioning scheme,
some of which return pointers to special user interface descriptors
(e.g. to allow editing partition flags, which are scheme specific)

Overall the user interface changes (in this initial step) are minimal but
noticable. A new Anita is needed for automatic test setups - many thanks
to Andreas Gustafsson for lots of early testing and a new Anita version,
and to Manuel Bouyer for cooperation and tests of the Anita release.

This work was sponsored by The NetBSD Foundation, Inc.
 1.1 26-Jul-2014  dholland branches: 1.1.2; 1.1.6; 1.1.28;
Move sysinst sources to usr.sbin.

This commit only physically moves the sources - there are no other
changes, to maximize the probability that this will be treated as a
rename if we ever do manage to migrate away from CVS.

Moving sysinst has been discussed on and off for years and has two
goals: making it easier to work on sysinst, and also making sysinst
available on running systems for use installing chroots and VM images
and other such things. None of the latter is possible yet, but as they
say, one thing at a time.

Doing this now was approved in an impromptu fashion by mrg, riz,
riastradh, me, and groo.
 1.1.28.1 13-Apr-2020  martin Mostly merge changes from HEAD upto 20200411
 1.1.6.2 20-Aug-2014  tls Rebase to HEAD as of a few days ago.
 1.1.6.1 26-Jul-2014  tls file Makefile was added on branch tls-maxphys on 2014-08-20 00:05:17 +0000
 1.1.2.2 10-Aug-2014  tls Rebase.
 1.1.2.1 26-Jul-2014  tls file Makefile was added on branch tls-earlyentropy on 2014-08-10 07:00:28 +0000
 1.14 29-Jan-2022  martin When upgrading, update the boot code post extraction from
the updated target file system.
 1.13 12-Oct-2020  martin PR 55536: when we find existing partition tables and have alternative
formats available, offer to delete partitions and create new ones from
scratch (in some other or the same on-disk format).
 1.12 27-Jan-2020  martin Fix support for non-512-byte/sector disks again after I broke it when
introducing the abstract partition backends.
 1.11 09-Jan-2020  martin Finish conversion of extended partitioning parts to new abstract
backend interface. XXX still could use a lot of polishing.
 1.10 14-Dec-2019  martin Adapt MD parts to changes in get_fs_part_type (pass partition type).
 1.9 14-Aug-2019  martin When we ask the user to select a partitioning scheme and they refuse
(that is: select "Exit" in the menu), abort installation.
 1.8 13-Jul-2019  martin branches: 1.8.2;
We may call md_pre_mount() multiple times for the same install set,
so pass an additional index argument so MD code knows which part
of the install will be mounted next.
 1.7 20-Jun-2019  christos Use _fmt_ msg_ methods when formats are needed.
 1.6 13-Jun-2019  martin In the new world order disks may come without any partitioning scheme
attached - so the user may have to select one.
 1.5 12-Jun-2019  martin Rework internal data structures and "interfaces to user interface" functions
to get rid of all disklabel assumptions.

Previously (even for GPT partitioning) struct disklabel was used, which
obviously breaks large disk setups. Also many MD parts and parts of the
user interface assumed (a) a struct disklabel is used internally to
store partitioning information and (b) partitions are named 'a' ... $MAXPART.

Get rid of this and replace it with a quite abstract interface that should
be able to deal with all variants in partition storage:

- partitions are stored in a (partly abstract) struct disk_partitions
and most parts of it are only accessed via accessor functions provided
by a "partitioning scheme".

- implement partitioning schemes for MBR, disklabel and GPT (with likely
RDB [amiga] and Apple Partition Map [mac*] to follow soon)

- partitioning schemes may be cascaded, e.g. on x86 when using MBR as
"outer partitions", we have disklabel as "inner partitions".

- all user interface goes via accessor functions in the partitioning scheme,
some of which return pointers to special user interface descriptors
(e.g. to allow editing partition flags, which are scheme specific)

Overall the user interface changes (in this initial step) are minimal but
noticable. A new Anita is needed for automatic test setups - many thanks
to Andreas Gustafsson for lots of early testing and a new Anita version,
and to Manuel Bouyer for cooperation and tests of the Anita release.

This work was sponsored by The NetBSD Foundation, Inc.
 1.4 11-May-2015  martin branches: 1.4.16;
More (ab-)usages of "yesno"
 1.3 10-May-2015  martin Backout the previous incorrect fix for PR 49440 and redo it more globaly:
get rid of the global "yesno", introduce utility functions "ask_yesno()"
and "ask_noyes()" instead, greatly simplifying a lot of code.
Pass in a pointer to the return value to various "set source" menus.
 1.2 03-Aug-2014  martin branches: 1.2.2; 1.2.4; 1.2.6;
(Finally) merge a slightly modified version of the 2012 GSoC results
from Eugene Lozovoy: add extended partitioning options to sysinst.
Still needs some testing and polishing, but it now is possible to use GPT
or to create a RAID set from scratch and install onto it.
 1.1 26-Jul-2014  dholland Move sysinst sources to usr.sbin.

This commit only physically moves the sources - there are no other
changes, to maximize the probability that this will be treated as a
rename if we ever do manage to migrate away from CVS.

Moving sysinst has been discussed on and off for years and has two
goals: making it easier to work on sysinst, and also making sysinst
available on running systems for use installing chroots and VM images
and other such things. None of the latter is possible yet, but as they
say, one thing at a time.

Doing this now was approved in an impromptu fashion by mrg, riz,
riastradh, me, and groo.
 1.2.6.2 20-Aug-2014  tls Rebase to HEAD as of a few days ago.
 1.2.6.1 03-Aug-2014  tls file md.c was added on branch tls-maxphys on 2014-08-20 00:05:17 +0000
 1.2.4.1 14-May-2015  snj Pull up following revision(s) (requested by martin in ticket #756):
usr.sbin/sysinst/arch/arc/md.c: revision 1.4
usr.sbin/sysinst/arch/atari/md.c: revision 1.3
usr.sbin/sysinst/arch/cobalt/md.c: revision 1.4
usr.sbin/sysinst/arch/emips/md.c: revision 1.3
usr.sbin/sysinst/arch/evbarm/md.c: revision 1.4
usr.sbin/sysinst/arch/evbarm64/md.c: revision 1.2
usr.sbin/sysinst/arch/hp300/md.c: revision 1.4
usr.sbin/sysinst/arch/i386/md.c: revision 1.6
usr.sbin/sysinst/arch/mac68k/md.c: revision 1.3
usr.sbin/sysinst/arch/mac68k/md.c: revision 1.4
usr.sbin/sysinst/arch/mac68k/menus.md.de: revisions 1.3, 1.4
usr.sbin/sysinst/arch/mac68k/menus.md.en: revisions 1.3, 1.4
usr.sbin/sysinst/arch/mac68k/menus.md.es: revisions 1.3, 1.4
usr.sbin/sysinst/arch/mac68k/menus.md.pl: revisions 1.3, 1.4
usr.sbin/sysinst/arch/mvme68k/md.c: revision 1.4
usr.sbin/sysinst/arch/ofppc/md.c: revision 1.3
usr.sbin/sysinst/arch/prep/md.c: revisions 1.3, 1.4
usr.sbin/sysinst/arch/prep/menus.md.en: revision 1.2
usr.sbin/sysinst/arch/x68k/md.c: revision 1.4
usr.sbin/sysinst/configmenu.c: revisions 1.4, 1.5
usr.sbin/sysinst/defs.h: revisions 1.8, 1.9
usr.sbin/sysinst/disks.c: revision 1.9
usr.sbin/sysinst/install.c: revision 1.4
usr.sbin/sysinst/label.c: revision 1.3
usr.sbin/sysinst/mbr.c: revision 1.5
usr.sbin/sysinst/menus.mi: revisions 1.9, 1.10
usr.sbin/sysinst/net.c: revisions 1.18-1.20
usr.sbin/sysinst/partman.c: revision 1.10
usr.sbin/sysinst/upgrade.c: revision 1.4
usr.sbin/sysinst/util.c: revisions 1.6, 1.7
Backout the previous incorrect fix for PR 49440 and redo it more globaly:
get rid of the global "yesno", introduce utility functions "ask_yesno()"
and "ask_noyes()" instead, greatly simplifying a lot of code.
Pass in a pointer to the return value to various "set source" menus.
--
Make it compile on architectures that do not support INET6 in sysinst
--
Remove a few more (ab-)usages of "yesno".
--
More (ab-)usages of "yesno"
--
Make "ask_yesno" and "ask_noyes" take a const char * as argument, moving
the deconst() dance into the utility functions and simplifying all callers.
--
Missed a few more "yesno" in previous
 1.2.2.2 10-Aug-2014  tls Rebase.
 1.2.2.1 03-Aug-2014  tls file md.c was added on branch tls-earlyentropy on 2014-08-10 07:00:28 +0000
 1.4.16.1 13-Apr-2020  martin Mostly merge changes from HEAD upto 20200411
 1.8.2.5 02-Feb-2022  msaitoh Pull up following revision(s) (requested by martin in ticket #1422):
usr.sbin/sysinst/util.c: revision 1.64
usr.sbin/sysinst/arch/hpcsh/md.c: revision 1.11
usr.sbin/sysinst/arch/alpha/md.c: revision 1.10
usr.sbin/sysinst/arch/sparc64/md.c: revision 1.7
usr.sbin/sysinst/arch/emips/md.c: revision 1.10
usr.sbin/sysinst/arch/cobalt/md.c: revision 1.15
usr.sbin/sysinst/arch/x68k/md.c: revision 1.12
usr.sbin/sysinst/arch/sandpoint/md.c: revision 1.10
usr.sbin/sysinst/arch/luna68k/md.c: revision 1.10
usr.sbin/sysinst/arch/hp300/md.c: revision 1.12
usr.sbin/sysinst/arch/vax/md.c: revision 1.8
usr.sbin/sysinst/arch/hpcmips/md.c: revision 1.10
usr.sbin/sysinst/target.c: revision 1.16
usr.sbin/sysinst/arch/mvme68k/md.c: revision 1.12
usr.sbin/sysinst/arch/arc/md.c: revision 1.14
usr.sbin/sysinst/target.c: revision 1.17
usr.sbin/sysinst/arch/i386/md.c: revision 1.34
usr.sbin/sysinst/arch/mac68k/md.c: revision 1.11
usr.sbin/sysinst/arch/atari/md.c: revision 1.8
usr.sbin/sysinst/arch/sgimips/md.c: revision 1.10
usr.sbin/sysinst/arch/acorn32/md.c: revision 1.8
usr.sbin/sysinst/install.c: revision 1.22
usr.sbin/sysinst/arch/amiga/md.c: revision 1.7
usr.sbin/sysinst/arch/cats/md.c: revision 1.6
usr.sbin/sysinst/arch/dummy/md.c: revision 1.7
usr.sbin/sysinst/arch/shark/md.c: revision 1.7
usr.sbin/sysinst/arch/pmax/md.c: revision 1.9
usr.sbin/sysinst/arch/newsmips/md.c: revision 1.7
usr.sbin/sysinst/arch/mipsco/md.c: revision 1.9
usr.sbin/sysinst/arch/landisk/md.c: revision 1.15
usr.sbin/sysinst/arch/hppa/md.c: revision 1.9
usr.sbin/sysinst/arch/prep/md.c: revision 1.14
usr.sbin/sysinst/defs.h: revision 1.77
usr.sbin/sysinst/arch/ofppc/md.c: revision 1.13
usr.sbin/sysinst/arch/ews4800mips/md.c: revision 1.8
usr.sbin/sysinst/defs.h: revision 1.78
usr.sbin/sysinst/arch/macppc/md.c: revision 1.7
usr.sbin/sysinst/arch/evbppc/md.c: revision 1.10
usr.sbin/sysinst/defs.h: revision 1.79
usr.sbin/sysinst/gpt.c: revision 1.27
usr.sbin/sysinst/arch/bebox/md.c: revision 1.10
usr.sbin/sysinst/gpt.c: revision 1.28
usr.sbin/sysinst/arch/sparc/md.c: revision 1.7
usr.sbin/sysinst/arch/evbsh3/md.c: revision 1.7
usr.sbin/sysinst/arch/evbarm/md.c: revision 1.22
usr.sbin/sysinst/arch/news68k/md.c: revision 1.8
usr.sbin/sysinst/upgrade.c: revision 1.19
usr.sbin/sysinst/arch/zaurus/md.c: revision 1.12
usr.sbin/sysinst/arch/playstation2/md.c: revision 1.10
usr.sbin/sysinst/arch/hpcarm/md.c: revision 1.11
usr.sbin/sysinst/arch/evbmips/md.c: revision 1.10
usr.sbin/sysinst/main.c: revision 1.28
Add an option to set the directory where we look for message catalogs.
Try to get rid of all wedges we created (after unmounting).
When upgrading, update the boot code post extraction from
the updated target file system.
Do not defer wedge deletions when we have nothing mounted.
Define and use a constant for maximum disk name length.
 1.8.2.4 15-Oct-2020  bouyer Pull up following revision(s) (requested by martin in ticket #1113):
usr.sbin/sysinst/bsddisklabel.c: revision 1.46
usr.sbin/sysinst/bsddisklabel.c: revision 1.47
usr.sbin/sysinst/disklabel.c: revision 1.40
usr.sbin/sysinst/arch/cobalt/md.c: revision 1.13
usr.sbin/sysinst/bsddisklabel.c: revision 1.48
usr.sbin/sysinst/disklabel.c: revision 1.41
usr.sbin/sysinst/arch/cobalt/md.c: revision 1.14
usr.sbin/sysinst/bsddisklabel.c: revision 1.49
usr.sbin/sysinst/disklabel.c: revision 1.42
usr.sbin/sysinst/Makefile.inc: revision 1.34
usr.sbin/sysinst/disks.c: revision 1.70
usr.sbin/sysinst/arch/hp300/md.c: revision 1.11
usr.sbin/sysinst/disks.c: revision 1.71
usr.sbin/sysinst/arch/i386/md.h: revision 1.8
usr.sbin/sysinst/arch/arc/md.c: revision 1.13
usr.sbin/sysinst/mbr.h: revision 1.5
usr.sbin/sysinst/mbr.h: revision 1.6
usr.sbin/sysinst/arch/mac68k/md.c: revision 1.10
usr.sbin/sysinst/bsddisklabel.c: revision 1.50
usr.sbin/sysinst/arch/acorn32/md.c: revision 1.7
usr.sbin/sysinst/bsddisklabel.c: revision 1.51
usr.sbin/sysinst/bsddisklabel.c: revision 1.52
usr.sbin/sysinst/bsddisklabel.c: revision 1.53
usr.sbin/sysinst/bsddisklabel.c: revision 1.54
usr.sbin/sysinst/bsddisklabel.c: revision 1.55
usr.sbin/sysinst/bsddisklabel.c: revision 1.56
usr.sbin/sysinst/arch/dummy/md.c: revision 1.6
usr.sbin/sysinst/arch/amd64/md.h: revision 1.9
usr.sbin/sysinst/arch/evbsh3/md.c: revision 1.6
usr.sbin/sysinst/arch/sparc/md.c: revision 1.6
usr.sbin/sysinst/arch/zaurus/md.c: revision 1.10
usr.sbin/sysinst/arch/x68k/md.c: revision 1.11
usr.sbin/sysinst/arch/sandpoint/md.c: revision 1.9
usr.sbin/sysinst/arch/vax/md.c: revision 1.7
usr.sbin/sysinst/arch/luna68k/md.c: revision 1.9
usr.sbin/sysinst/gpt.c: revision 1.19
usr.sbin/sysinst/arch/i386/md.c: revision 1.31
usr.sbin/sysinst/arch/i386/md.c: revision 1.32
usr.sbin/sysinst/arch/evbarm/md.c: revision 1.17
usr.sbin/sysinst/arch/evbarm/md.c: revision 1.18
usr.sbin/sysinst/arch/evbarm/md.c: revision 1.19
usr.sbin/sysinst/arch/shark/md.c: revision 1.6
usr.sbin/sysinst/arch/landisk/md.c: revision 1.14
usr.sbin/sysinst/util.c: revision 1.43
usr.sbin/sysinst/gpt.c: revision 1.20
usr.sbin/sysinst/util.c: revision 1.44
usr.sbin/sysinst/gpt.c: revision 1.21
usr.sbin/sysinst/gpt.c: revision 1.22
usr.sbin/sysinst/arch/evbarm/msg.md.en: revision 1.2
usr.sbin/sysinst/arch/ofppc/md.c: revision 1.11
usr.sbin/sysinst/util.c: revision 1.46
usr.sbin/sysinst/arch/ofppc/md.c: revision 1.12
usr.sbin/sysinst/util.c: revision 1.47
usr.sbin/sysinst/arch/evbarm/md.h: revision 1.6
usr.sbin/sysinst/util.c: revision 1.48
usr.sbin/sysinst/arch/evbarm/md.h: revision 1.7
usr.sbin/sysinst/arch/evbmips/md.c: revision 1.9
usr.sbin/sysinst/msg.mi.fr: revision 1.28
usr.sbin/sysinst/msg.mi.fr: revision 1.29
usr.sbin/sysinst/arch/sgimips/md.c: revision 1.9
usr.sbin/sysinst/arch/evbarm/Makefile: revision 1.3
usr.sbin/sysinst/msg.mi.de: revision 1.23
usr.sbin/sysinst/arch/hpcsh/md.c: revision 1.10
usr.sbin/sysinst/msg.mi.de: revision 1.24
usr.sbin/sysinst/install.c: revision 1.15
usr.sbin/sysinst/install.c: revision 1.16
usr.sbin/sysinst/arch/sparc64/md.c: revision 1.6
usr.sbin/sysinst/install.c: revision 1.17
usr.sbin/sysinst/install.c: revision 1.18
usr.sbin/sysinst/partitions.h: revision 1.16
usr.sbin/sysinst/install.c: revision 1.19
usr.sbin/sysinst/partitions.h: revision 1.17
usr.sbin/sysinst/arch/evbppc/md.c: revision 1.9
usr.sbin/sysinst/arch/playstation2/md.c: revision 1.9
usr.sbin/sysinst/partitions.h: revision 1.18
usr.sbin/sysinst/arch/hpcarm/md.c: revision 1.9
usr.sbin/sysinst/partitions.h: revision 1.19
usr.sbin/sysinst/msg.mi.es: revision 1.24
usr.sbin/sysinst/msg.mi.es: revision 1.25
usr.sbin/sysinst/msg.mi.es: revision 1.26
usr.sbin/sysinst/arch/zaurus/md.c: revision 1.9
usr.sbin/sysinst/target.c: revision 1.13
usr.sbin/sysinst/target.c: revision 1.14
usr.sbin/sysinst/part_edit.c: revision 1.17
usr.sbin/sysinst/part_edit.c: revision 1.18
usr.sbin/sysinst/msg.mi.fr: revision 1.30
usr.sbin/sysinst/arch/mvme68k/md.c: revision 1.11
usr.sbin/sysinst/part_edit.c: revision 1.19
usr.sbin/sysinst/msg.mi.fr: revision 1.31
usr.sbin/sysinst/arch/alpha/md.c: revision 1.9
usr.sbin/sysinst/msg.mi.en: revision 1.30
usr.sbin/sysinst/defs.h: revision 1.56
usr.sbin/sysinst/msg.mi.en: revision 1.31
usr.sbin/sysinst/defs.h: revision 1.57
usr.sbin/sysinst/msg.mi.en: revision 1.32
usr.sbin/sysinst/arch/amiga/md.c: revision 1.6
usr.sbin/sysinst/arch/hpcmips/md.c: revision 1.9
usr.sbin/sysinst/defs.h: revision 1.58
usr.sbin/sysinst/arch/cats/md.c: revision 1.5
usr.sbin/sysinst/defs.h: revision 1.59
usr.sbin/sysinst/arch/newsmips/md.c: revision 1.6
usr.sbin/sysinst/arch/pmax/md.c: revision 1.8
usr.sbin/sysinst/arch/mipsco/md.c: revision 1.8
usr.sbin/sysinst/part_edit.c: revision 1.20
usr.sbin/sysinst/part_edit.c: revision 1.21
usr.sbin/sysinst/arch/macppc/md.c: revision 1.6
usr.sbin/sysinst/part_edit.c: revision 1.22
usr.sbin/sysinst/part_edit.c: revision 1.23
usr.sbin/sysinst/part_edit.c: revision 1.24
usr.sbin/sysinst/defs.h: revision 1.60
usr.sbin/sysinst/arch/mac68k/Makefile: revision 1.3
usr.sbin/sysinst/defs.h: revision 1.61
usr.sbin/sysinst/defs.h: revision 1.63
usr.sbin/sysinst/defs.h: revision 1.64
usr.sbin/sysinst/defs.h: revision 1.65
usr.sbin/sysinst/label.c: revision 1.21
usr.sbin/sysinst/defs.h: revision 1.66
usr.sbin/sysinst/label.c: revision 1.22
usr.sbin/sysinst/defs.h: revision 1.67
usr.sbin/sysinst/label.c: revision 1.23
usr.sbin/sysinst/label.c: revision 1.24
usr.sbin/sysinst/label.c: revision 1.25
usr.sbin/sysinst/label.c: revision 1.26
usr.sbin/sysinst/label.c: revision 1.27
usr.sbin/sysinst/msg.mi.pl: revision 1.31
usr.sbin/sysinst/label.c: revision 1.28
usr.sbin/sysinst/msg.mi.pl: revision 1.32
usr.sbin/sysinst/label.c: revision 1.29
usr.sbin/sysinst/arch/atari/md.c: revision 1.7
usr.sbin/sysinst/disklabel.c: revision 1.36
usr.sbin/sysinst/disklabel.c: revision 1.37
usr.sbin/sysinst/disklabel.c: revision 1.38
usr.sbin/sysinst/disklabel.c: revision 1.39
usr.sbin/sysinst/arch/bebox/md.c: revision 1.9
usr.sbin/sysinst/mbr.c: revision 1.32
usr.sbin/sysinst/disks.c: revision 1.66
usr.sbin/sysinst/mbr.c: revision 1.33
usr.sbin/sysinst/disks.c: revision 1.67
usr.sbin/sysinst/mbr.c: revision 1.34
usr.sbin/sysinst/arch/emips/md.c: revision 1.9
usr.sbin/sysinst/disks.c: revision 1.68
usr.sbin/sysinst/partitions.c: revision 1.11
usr.sbin/sysinst/mbr.c: revision 1.35
usr.sbin/sysinst/disks.c: revision 1.69
usr.sbin/sysinst/mbr.c: revision 1.36
usr.sbin/sysinst/arch/hppa/md.c: revision 1.8
usr.sbin/sysinst/arch/prep/md.c: revision 1.13
usr.sbin/sysinst/label.c: revision 1.30
usr.sbin/sysinst/arch/ews4800mips/md.c: revision 1.7
usr.sbin/sysinst/main.c: revision 1.21
usr.sbin/sysinst/main.c: revision 1.22
usr.sbin/sysinst/main.c: revision 1.23
usr.sbin/sysinst/bsddisklabel.c: revision 1.40
usr.sbin/sysinst/main.c: revision 1.24
usr.sbin/sysinst/arch/cobalt/md.h: revision 1.6
usr.sbin/sysinst/bsddisklabel.c: revision 1.41
usr.sbin/sysinst/main.c: revision 1.25
usr.sbin/sysinst/arch/news68k/md.c: revision 1.7
usr.sbin/sysinst/bsddisklabel.c: revision 1.42
usr.sbin/sysinst/bsddisklabel.c: revision 1.43
usr.sbin/sysinst/bsddisklabel.c: revision 1.44
usr.sbin/sysinst/bsddisklabel.c: revision 1.45
Use strlcpy in a few places to guarnatee 0-terminated strings
Rever previous: the d_packname in struct disklabel is not NUL terminated.
Disable the warning instead.
Do not force -Os optimization (unless SMALLPROG)
Remove unused "rel" global variable and make the -r option a no-op.
PR 55045: strlcpy(NULL, ..., 0) considered harmfull in some implementations.
PR misc/54886: bump threshold for automatic/default creation of a tmpfs /tmp
up slightly (to 384 MB ram). This will make sure the default install has
a > 64 MB /tmp available (number pulled out of thin air, 64 MB is the minimum
required by the ZFS tests).
Don't depend on common symbol definitions.
boardype should not be common.
Redo the root-size-limit check again after we grew the root partition
for kernel dumps. Auto-enable the /usr partition if it overflows.
For all non-root partitions, default to FFSv2.
When extending a partition (to fill the total disk size) do respect
size limits.
Do not suggest a size limited partition for extension by default.
Minor tweak to previous: when forcing a /usr partition just to have an
arbitrary extendable partition, still use its default size initially.
At the end of a new installation save entropy.
Ooops, backout previous - twice the entropy saving is not needed.
Instead slightly improve the (slightly) hidden other code that already
did it.
PR 55202: disable swapping if we started it due to low ram
it's "its"
Remove "If you booted from a floppy" message
Set HAVE_INSTALL_IMAGE for evbarm
Change mountpoint of boot ext2fs from /stand to /ext2 to avoid conflict.
Should be pulled up to netbsd-9, with fixes of PR/55060.
MBR type for Ext2 should be MBR_PTYPE_LNXEXT2, not MBR_PTYPE_FAT12.
Silence -Wstringop-truncation for ``name'' in disp_selected_part().
This variable is used only for display, and truncation seems harmless.
PR 55572: avoid crash when answering the mount point prompt for a previously
empty mount point with an emptry sting.
When adding a new partition in the concrete partition editor, make sure
to set a pointer to the partition table interface in the new entry.
Otherwise we may end up not writing back the partitions at all, leading
to further fallout later.
Receipe to reproduce the issue from Frederic Fauberteau, thanks!
In the concrete partitions editor, after deleting the last partition move
the menu selection to the "add a partition" entry (instead of the sentinel
line which is not an active menu entry).
Typo in comment
Keep a list of all partition tables from which we have deleted partitions
and make sure we update those partition tables when writing partitions,
even if no install related partition remains on them.
Fix display of timezone selection menu
If there is no current partitioning manager assume we are editing the
current system and make target_already_root() return true.
Fixes various fallout when using sysinst post installation.
PR 55377: mark boot partitions in the partition size display, as suggested
by Izumi Tsutsui (minor modifications + all bugs by me)
PR 55378: do not assume RAW_PART to be either 2 or 3
PR 55379: avoid creating bogus /etc/fstab lines for /dev/cd* if no
cdrom is available.
PR 55381: try to deal with moved (but not yet saved) partitions when
calculating free space
Apply patch provided by Izumi Tsutsui in PR 55382: make ext2 partitions
show up in the outer (MBR) partition table, needed for example on Cobalt
where firmware boots from that partition.
PR 55384: detangle pm->ptstart from the "install" flag (selecting a
target partition). Instead introduce a new PTI_INSTALL_TARGET per partition
flag and deal with it in the partitioning backends.
Honour pm->ptstart when allocating new partitions - it is supposed to be
the first sector usable by NetBSD.
If we have no explicitly marke target root partition, make sure to set
the proper flag on the implicit one.
When merging existing partitions with desired target system layout
information, only force the "mount" flag if the existing partitions
has a valid mount point.
Add a heuristic to detect and properly mark EFI system partitions
when re-using pre-existing partitions.
When MD code requests a reserved area (at the start of the disk)
make sure to properly account for the "lost" space during all calculations
and especially when expanding the main partition to fill the disk.
Avoid using the global "pm" or a passed device descriptons when we are
passing disk limits explicitly anyway.
Simplify/fix a few rounding calculations.
When creating new partitions for "full disk" use, pass a install target
hint to the partitioning backend (for the outer NetBSD partition).
Use an install target hint to mark a new partition active.
When compiled with BOOTSEL support, also name the new partition "NetBSD".
Remove more pm->ptstart abuse - calculate values localy where needed
instead.
Fix editing start and size of not yet existing outer partitions.
Previously we abused pm->ptstart / pm->ptsize to pass the bounds of the
NetBSD outer partition to the inner partition editor - but now this is
not a valid assumption any more, so explicitly fix the bounds if an
outer partition exists.
Remove very strange code that special-cased MSDOS file systems and refused
to newfs the partition (despite explicit request to do so) if it was
mountable.
Accidently carried over from a dim and distant past, before we had
fsck_newfs.
PR 55536: when we find existing partition tables and have alternative
formats available, offer to delete partitions and create new ones from
scratch (in some other or the same on-disk format).
Minor fix to previous: fix condition when we offer the partition type
switch - it makes sense even if the disk is partitioned but has no valid
partitions.
Before forcing MBR partitions into our disklabel, make sure they are not
there yet - could happen in various paths when reusing existing partitions
(or parts of that) - previously we would blindly duplicate identical
partitions.
Ooops, part of previous was not meant to be included yet
When renumbering partitions (after deletions) be slightly more lax
in matching, to cope with differences between MBR EFI partitions and
disklabel MSDOS partitions.
PR 55142: on popular demand bring back expert options to adjust the
number of free inodes, block size and fragment size for FFS and LFS.
Fix copy & pasto noticed by Jason Mitchell: change the type of a GPT
partition via "gpt type" - not "gpt label".
Fix copy & pasto (missing "again" label)
Remove dead code
Move MBR writing (if any) post disklabel writing, otherwise strange
interactions happen.
Properly convert partition default sizes in MB to number of sectors
 1.8.2.3 28-Jan-2020  msaitoh Pull up following revision(s) (requested by martin in ticket #668):
usr.sbin/sysinst/arch/cobalt/md.c: revision 1.11
usr.sbin/sysinst/arch/cobalt/md.c: revision 1.12
usr.sbin/sysinst/arch/arc/md.c: revision 1.11
usr.sbin/sysinst/arch/arc/md.c: revision 1.12
usr.sbin/sysinst/partman.c: revision 1.43
usr.sbin/sysinst/partman.c: revision 1.46
usr.sbin/sysinst/partman.c: revision 1.47
usr.sbin/sysinst/partman.c: revision 1.48
usr.sbin/sysinst/partman.c: revision 1.49
usr.sbin/sysinst/msg.pm.fr: revision 1.2
usr.sbin/sysinst/upgrade.c: revision 1.14
usr.sbin/sysinst/arch/i386/md.c: revision 1.28
usr.sbin/sysinst/arch/i386/md.c: revision 1.29
usr.sbin/sysinst/arch/ofppc/md.c: revision 1.9
usr.sbin/sysinst/arch/sandpoint/md.c: revision 1.7
usr.sbin/sysinst/arch/sandpoint/md.c: revision 1.8
usr.sbin/sysinst/gpt.c: revision 1.14
usr.sbin/sysinst/gpt.c: revision 1.15
usr.sbin/sysinst/arch/luna68k/md.c: revision 1.8
usr.sbin/sysinst/gpt.c: revision 1.16
usr.sbin/sysinst/msg.pm.de: revision 1.2
usr.sbin/sysinst/arch/evbarm/md.c: revision 1.11
usr.sbin/sysinst/arch/evbarm/md.c: revision 1.12
usr.sbin/sysinst/arch/evbarm/md.c: revision 1.13
usr.sbin/sysinst/arch/evbarm/md.c: revision 1.14
usr.sbin/sysinst/sizemultname.c: revision 1.4
usr.sbin/sysinst/msg.pm.en: revision 1.2
usr.sbin/sysinst/arch/landisk/md.c: revision 1.12
usr.sbin/sysinst/util.c: revision 1.41
usr.sbin/sysinst/arch/landisk/md.c: revision 1.13
usr.sbin/sysinst/util.c: revision 1.42
usr.sbin/sysinst/arch/ofppc/md.c: revision 1.10
usr.sbin/sysinst/partitions.c: revision 1.9
usr.sbin/sysinst/arch/evbarm/md.h: revision 1.4
usr.sbin/sysinst/arch/evbarm/md.h: revision 1.5
usr.sbin/sysinst/arch/evbmips/md.c: revision 1.7
usr.sbin/sysinst/arch/evbmips/md.c: revision 1.8
usr.sbin/sysinst/msg.mi.fr: revision 1.25
usr.sbin/sysinst/msg.mi.de: revision 1.20
usr.sbin/sysinst/install.c: revision 1.14
usr.sbin/sysinst/partitions.h: revision 1.13
usr.sbin/sysinst/partitions.h: revision 1.14
usr.sbin/sysinst/arch/evbppc/md.c: revision 1.7
usr.sbin/sysinst/arch/playstation2/md.c: revision 1.7
usr.sbin/sysinst/msg.mi.en: revision 1.27
usr.sbin/sysinst/partitions.h: revision 1.15
usr.sbin/sysinst/arch/evbppc/md.c: revision 1.8
usr.sbin/sysinst/arch/hpcarm/md.c: revision 1.7
usr.sbin/sysinst/arch/playstation2/md.c: revision 1.8
usr.sbin/sysinst/msg.pm.pl: revision 1.2
usr.sbin/sysinst/arch/hpcarm/md.c: revision 1.8
usr.sbin/sysinst/msg.mi.es: revision 1.21
usr.sbin/sysinst/arch/zaurus/md.c: revision 1.7
usr.sbin/sysinst/target.c: revision 1.11
usr.sbin/sysinst/arch/zaurus/md.c: revision 1.8
usr.sbin/sysinst/part_edit.c: revision 1.14
usr.sbin/sysinst/part_edit.c: revision 1.15
usr.sbin/sysinst/part_edit.c: revision 1.16
usr.sbin/sysinst/defs.h: revision 1.50
usr.sbin/sysinst/defs.h: revision 1.51
usr.sbin/sysinst/defs.h: revision 1.52
usr.sbin/sysinst/defs.h: revision 1.53
usr.sbin/sysinst/defs.h: revision 1.54
usr.sbin/sysinst/arch/hpcmips/md.c: revision 1.7
usr.sbin/sysinst/arch/hpcmips/md.c: revision 1.8
usr.sbin/sysinst/arch/hpcsh/md.c: revision 1.8
usr.sbin/sysinst/msg.pm.es: revision 1.2
usr.sbin/sysinst/arch/hpcsh/md.c: revision 1.9
usr.sbin/sysinst/label.c: revision 1.18
usr.sbin/sysinst/label.c: revision 1.19
usr.sbin/sysinst/net.c: revision 1.35
usr.sbin/sysinst/msg.mi.pl: revision 1.28
usr.sbin/sysinst/disklabel.c: revision 1.28
usr.sbin/sysinst/disklabel.c: revision 1.29
usr.sbin/sysinst/mbr.c: revision 1.24
usr.sbin/sysinst/disks.c: revision 1.59
usr.sbin/sysinst/mbr.c: revision 1.25
usr.sbin/sysinst/mbr.c: revision 1.26
usr.sbin/sysinst/mbr.c: revision 1.27
usr.sbin/sysinst/mbr.c: revision 1.28
usr.sbin/sysinst/label.c: revision 1.20
usr.sbin/sysinst/mbr.c: revision 1.29
usr.sbin/sysinst/bsddisklabel.c: revision 1.34
usr.sbin/sysinst/bsddisklabel.c: revision 1.35
usr.sbin/sysinst/bsddisklabel.c: revision 1.36
usr.sbin/sysinst/bsddisklabel.c: revision 1.37
usr.sbin/sysinst/disklabel.c: revision 1.30
usr.sbin/sysinst/bsddisklabel.c: revision 1.38
usr.sbin/sysinst/disklabel.c: revision 1.31
usr.sbin/sysinst/disklabel.c: revision 1.32
usr.sbin/sysinst/disklabel.c: revision 1.33
usr.sbin/sysinst/disklabel.c: revision 1.34
usr.sbin/sysinst/disks.c: revision 1.60
usr.sbin/sysinst/disks.c: revision 1.61
usr.sbin/sysinst/arch/bebox/md.c: revision 1.7
usr.sbin/sysinst/disks.c: revision 1.62
usr.sbin/sysinst/arch/bebox/md.c: revision 1.8
usr.sbin/sysinst/mbr.c: revision 1.30
usr.sbin/sysinst/partitions.c: revision 1.10
usr.sbin/sysinst/arch/prep/md.c: revision 1.11
usr.sbin/sysinst/arch/prep/md.c: revision 1.12
usr.sbin/sysinst/menus.pm: revision 1.3
usr.sbin/sysinst/main.c: revision 1.20
usr.sbin/sysinst/menus.mi: revision 1.20
usr.sbin/sysinst/menus.mi: revision 1.21
avoid calling snprintf/strlcat with an input parameter the same
as the output. from martin@. fixes gcc 8 restrict warnings.
Finish conversion of extended partitioning parts to new abstract
backend interface. XXX still could use a lot of polishing.
Instead of a (bogus) attempt to query the model via ofctl, use the (now
fixed) sysctl hw.model instead.
When reading the secondary disklabel partitions from an existing disklabel
set the mbr partitions as parent.
Move the LABELSECTOR check and make it FS type specific - some partition
types (FFS, RAID) are allowed to overlap with the LABELSECTOR.
When asked to create a whole-disk partition for unknown usage, do not only
assert(false), but actually return an error (in case "assert" is a nop).
PR install/54787: when trying to derive proper alignement and first offset
from exisiting partitions, use the first partition offset if it is already
closer to the start of the disk than the prefered alignment - we can not
move existing partitions around.
Fix handling of inner/outer partitions (e.g. MBR and disklabel) in
extended partitioning:
- when editing a disk with such a schme, offer both partitions in two
steps
- when commiting changes save the inner partitions after the outer ones
Add a method to query the partitioning schemes "internal idea" of a
cylinder size - whatever that means in the real world.
Avoid using the global "pm" variable in utility functions - during
extended partitioning they may point to a different device.
Remove useless calls to get_ramsize() - return value is ignored and
the function has no side effects.
Fix /tmp tmpfs handling and on machines with enough RAM default to
creating a /tmp tmpfs with 25% of ram size limit. Suggested by ad@.
PR install/54872: fix printf argument order, sectors and heads were
swapped in the bios geometry display.
First try to bring evbarm installation closer to current reality.
hide disklabel_non_bootable() under NO_DISKLABEL_BOOT like the usage.
should fix most builds.
Deal with even stranger fictious empty disklabels (PR kern/54882).
Factor out all RAM size thresholds as defines to avoid magic numbers.
To work around PR misc/54886 bump the threshold for a tmpfs /tmp mount
up to 256 MB.
When retrying sets during extraction, reset the relevant statistics
to avoid counting retried sets multiple times.
Reported by kim.
Fix support for non-512-byte/sector disks again after I broke it when
introducing the abstract partition backends.
Use a few strlcpy() instead of strncpy() for network ioctl structs.
We seem to have no formal documentation stating the various
char if*_name[IFNAMSIZ]; /* if name, e.g. "en0" */
elements in ioctls are nul terminated, but the peanut gallery claims
it is so - and at least half of the code in-tree touching them agrees.
Too much disklabel magic happening in the kernel - to compensate force
MBR first when trying to identify the existing partitioning scheme of
a disk.
 1.8.2.2 17-Dec-2019  msaitoh Pull up following revision(s) (requested by martin in ticket #560):
usr.sbin/sysinst/partitions.h: revision 1.11
usr.sbin/sysinst/defs.h: revision 1.49
usr.sbin/sysinst/mbr.c: revision 1.23
usr.sbin/sysinst/msg.mi.en: revision 1.26
usr.sbin/sysinst/disks.c: revision 1.58
usr.sbin/sysinst/arch/evbarm/menus.md.pl: revision 1.2
usr.sbin/sysinst/msg.mi.es: revision 1.20
usr.sbin/sysinst/arch/mvme68k/md.c: revision 1.9
usr.sbin/sysinst/gpt.c: revision 1.13
usr.sbin/sysinst/arch/evbarm/md.c: revision 1.10
usr.sbin/sysinst/arch/arc/md.c: revision 1.10
usr.sbin/sysinst/disklabel.c: revision 1.18
usr.sbin/sysinst/bsddisklabel.c: revision 1.33
usr.sbin/sysinst/disklabel.c: revision 1.19
usr.sbin/sysinst/main.c: revision 1.19
usr.sbin/sysinst/partman.c: revision 1.45
usr.sbin/sysinst/arch/alpha/md.c: revision 1.7
usr.sbin/sysinst/msg.mi.de: revision 1.19
usr.sbin/sysinst/arch/evbarm/menus.md.en: revision 1.2
usr.sbin/sysinst/arch/x68k/md.h: revision 1.4
usr.sbin/sysinst/arch/x68k/md.c: revision 1.9
usr.sbin/sysinst/arch/evbarm/menus.md.es: revision 1.2
usr.sbin/sysinst/wskbd.c: revision 1.4
usr.sbin/sysinst/label.c: revision 1.15
usr.sbin/sysinst/arch/amiga/md.h: revision 1.5
usr.sbin/sysinst/label.c: revision 1.16
usr.sbin/sysinst/arch/hp300/md.c: revision 1.9
usr.sbin/sysinst/arch/emips/md.c: revision 1.8
usr.sbin/sysinst/label.c: revision 1.17
usr.sbin/sysinst/arch/pmax/md.c: revision 1.7
usr.sbin/sysinst/partitions.c: revision 1.6
usr.sbin/sysinst/arch/prep/md.c: revision 1.10
usr.sbin/sysinst/arch/mipsco/md.c: revision 1.7
usr.sbin/sysinst/partitions.c: revision 1.7
usr.sbin/sysinst/partitions.c: revision 1.8
usr.sbin/sysinst/arch/ews4800mips/md.c: revision 1.5
usr.sbin/sysinst/disklabel.c: revision 1.20
usr.sbin/sysinst/arch/evbarm/menus.md.fr: revision 1.2
usr.sbin/sysinst/msg.mi.fr: revision 1.24
usr.sbin/sysinst/disklabel.c: revision 1.21
usr.sbin/sysinst/partitions.h: revision 1.9
usr.sbin/sysinst/msg.mi.pl: revision 1.27
usr.sbin/sysinst/disklabel.c: revision 1.22
usr.sbin/sysinst/disklabel.c: revision 1.23
usr.sbin/sysinst/arch/i386/md.c: revision 1.27
usr.sbin/sysinst/disklabel.c: revision 1.24
usr.sbin/sysinst/disklabel.c: revision 1.25
usr.sbin/sysinst/arch/cobalt/md.h: revision 1.5
usr.sbin/sysinst/disklabel.c: revision 1.26
usr.sbin/sysinst/disklabel.c: revision 1.27
usr.sbin/sysinst/partitions.h: revision 1.10
usr.sbin/sysinst/arch/cobalt/md.c: revision 1.10
PR install/54582: allow MD code to disable on-disk presence verification
of "real" disklabels. Auto-enable this (at run time) when there is no other
partitioning scheme but disklabel configured.
Hard-coded enable this for x68k to allow using kernel based translations
for native Human68k partitions.
Get rid of the evbarm preliminary menu: do not bother to ask the user
whether this is a RPi - query the FDT instead.
PR 54065: add optional "old compat" variant of ext2fs in file system
type selection and use that as default for the cobalt boot file system.
For now rely on the kernel mapping native RDB partitions.
Fix detection of existing disklabels in the case when we only have
the disklabel partitioning scheme available.
Fix DISKLABEL_NO_ONDISK_VERIFY (accidently disabled in previous)
Fix inverted comparison
Do not try to change the keyboard layout if we are not running on the
console.
When trying to tell a fictious but empty label from a real one, skip
partition a if it has the same start and size as the raw partition.
Remove bogus assert.
When finding (paritioning scheme native) partition types for file systems
from our install description, pass the partition type (not only the file
system type). Sometimes (e.g. EFI boot partition on GPT) the filesystem
type (MSDOS) is not a unique selector.
Adapt MD parts to changes in get_fs_part_type (pass partition type).
If a fictious label has no RAW_PART assume there is no valid disk label.
Pass proper track size when initializing the default alignment - this is
important with sunlabels.
Fix overlapping partitions display
Reject (what we consider) empty/invalid fake disklabels no matter whether
we have other partitioning schemes available or not.
Do not show disklabel command invocation by default (only if there are
errors).
After installing boot blocks with RUN_NO_CLEAR (and handling the
potential errors) make sure to clear the stdscreen.
 1.8.2.1 18-Aug-2019  msaitoh Pull up following revision(s) (requested by martin in ticket #77):
usr.sbin/sysinst/arch/sandpoint/md.c: revision 1.6
usr.sbin/sysinst/arch/playstation2/md.c: revision 1.6
usr.sbin/sysinst/arch/evbppc/md.c: revision 1.6
usr.sbin/sysinst/arch/hpcarm/md.c: revision 1.6
usr.sbin/sysinst/arch/zaurus/md.c: revision 1.6
usr.sbin/sysinst/arch/arc/md.c: revision 1.9
usr.sbin/sysinst/arch/hpcmips/md.c: revision 1.6
usr.sbin/sysinst/arch/bebox/md.c: revision 1.6
usr.sbin/sysinst/arch/hpcsh/md.c: revision 1.7
usr.sbin/sysinst/arch/landisk/md.c: revision 1.11
usr.sbin/sysinst/arch/prep/md.c: revision 1.9
usr.sbin/sysinst/arch/i386/md.c: revision 1.21
usr.sbin/sysinst/arch/evbmips/md.c: revision 1.6
usr.sbin/sysinst/arch/evbarm/md.c: revision 1.9
usr.sbin/sysinst/arch/cobalt/md.c: revision 1.9
usr.sbin/sysinst/arch/ofppc/md.c: revision 1.8
When we ask the user to select a partitioning scheme and they refuse
(that is: select "Exit" in the menu), abort installation.
 1.5 16-Jun-2022  tsutsui Define DEFSWAPSIZE properly. DEFSWAPRAM seems obsolete.
 1.4 02-Oct-2019  maya Split out /rescue to its own set and adapt installers/images to add it.

This is meant to make updates safer: if something goes wrong with updating
base, we still have the old, standalone /rescue to recover from.
 1.3 12-Jun-2019  martin branches: 1.3.2;
Rework internal data structures and "interfaces to user interface" functions
to get rid of all disklabel assumptions.

Previously (even for GPT partitioning) struct disklabel was used, which
obviously breaks large disk setups. Also many MD parts and parts of the
user interface assumed (a) a struct disklabel is used internally to
store partitioning information and (b) partitions are named 'a' ... $MAXPART.

Get rid of this and replace it with a quite abstract interface that should
be able to deal with all variants in partition storage:

- partitions are stored in a (partly abstract) struct disk_partitions
and most parts of it are only accessed via accessor functions provided
by a "partitioning scheme".

- implement partitioning schemes for MBR, disklabel and GPT (with likely
RDB [amiga] and Apple Partition Map [mac*] to follow soon)

- partitioning schemes may be cascaded, e.g. on x86 when using MBR as
"outer partitions", we have disklabel as "inner partitions".

- all user interface goes via accessor functions in the partitioning scheme,
some of which return pointers to special user interface descriptors
(e.g. to allow editing partition flags, which are scheme specific)

Overall the user interface changes (in this initial step) are minimal but
noticable. A new Anita is needed for automatic test setups - many thanks
to Andreas Gustafsson for lots of early testing and a new Anita version,
and to Manuel Bouyer for cooperation and tests of the Anita release.

This work was sponsored by The NetBSD Foundation, Inc.
 1.2 16-Nov-2018  martin Sync install size estimates with current reality
 1.1 26-Jul-2014  dholland branches: 1.1.2; 1.1.6; 1.1.26; 1.1.28;
Move sysinst sources to usr.sbin.

This commit only physically moves the sources - there are no other
changes, to maximize the probability that this will be treated as a
rename if we ever do manage to migrate away from CVS.

Moving sysinst has been discussed on and off for years and has two
goals: making it easier to work on sysinst, and also making sysinst
available on running systems for use installing chroots and VM images
and other such things. None of the latter is possible yet, but as they
say, one thing at a time.

Doing this now was approved in an impromptu fashion by mrg, riz,
riastradh, me, and groo.
 1.1.28.2 13-Apr-2020  martin Mostly merge changes from HEAD upto 20200411
 1.1.28.1 10-Jun-2019  christos Sync with HEAD
 1.1.26.1 26-Nov-2018  pgoyette Sync with HEAD, resolve a couple of conflicts
 1.1.6.2 20-Aug-2014  tls Rebase to HEAD as of a few days ago.
 1.1.6.1 26-Jul-2014  tls file md.h was added on branch tls-maxphys on 2014-08-20 00:05:17 +0000
 1.1.2.2 10-Aug-2014  tls Rebase.
 1.1.2.1 26-Jul-2014  tls file md.h was added on branch tls-earlyentropy on 2014-08-10 07:00:28 +0000
 1.3.2.1 17-Nov-2019  martin Pull up following revision(s) (requested by maya in ticket #435):

distrib/sets/maketars: revision 1.90
usr.sbin/sysinst/arch/playstation2/md.h: revision 1.2
usr.sbin/sysinst/arch/sandpoint/md.h: revision 1.3
usr.sbin/sysinst/arch/evbppc/md.h: revision 1.3
usr.sbin/sysinst/arch/hpcarm/md.h: revision 1.3
usr.sbin/sysinst/arch/mvme68k/md.h: revision 1.3
distrib/sun3/MakeInstTape: revision 1.3
usr.sbin/sysinst/util.c: revision 1.33
distrib/sets/lists/rescue/mi: revision 1.1
distrib/sets/lists/base/rescue.sun2: file removal
usr.sbin/sysinst/arch/zaurus/md.h: revision 1.3
distrib/sets/lists/base/rescue.ad.m68k.shl: file removal
distrib/sets/regpkgset: revision 1.13
usr.sbin/sysinst/arch/i386/md.h: revision 1.7
distrib/sets/lists/base/rescue.sparc: file removal
distrib/notes/mvme68k/xfer: revision 1.19
distrib/sets/sets.subr: revision 1.187
distrib/common/bootimage/Makefile.bootimage: revision 1.22
usr.sbin/sysinst/msg.mi.de: revision 1.16
usr.sbin/sysinst/arch/atari/md.h: revision 1.3
rescue/Makefile: revision 1.38
distrib/sets/lists/base/rescue.macppc: file removal
usr.sbin/sysinst/arch/arc/md.h: revision 1.4
distrib/miniroot/install.sub: revision 1.49
usr.sbin/sysinst/arch/acorn32/md.h: revision 1.3
usr.sbin/sysinst/arch/x68k/md.h: revision 1.3
usr.sbin/sysinst/arch/hpcmips/md.h: revision 1.3
usr.sbin/sysinst/arch/bebox/md.h: revision 1.3
usr.sbin/sysinst/arch/hpcsh/md.h: revision 1.2
distrib/sets/lists/base/rescue.shark: file removal
usr.sbin/sysinst/arch/emips/md.h: revision 1.5
distrib/utils/embedded/mkimage: revision 1.70
usr.sbin/sysinst/arch/shark/md.h: revision 1.3
usr.sbin/sysinst/arch/pmax/md.h: revision 1.4
usr.sbin/sysinst/arch/amiga/md.h: revision 1.4
usr.sbin/sysinst/arch/hp300/md.h: revision 1.5
rescue/list.ldconfig: file removal
distrib/sets/lists/base/rescue.ad.m68k: file removal
usr.sbin/sysinst/arch/prep/md.h: revision 1.4
usr.sbin/sysinst/arch/cats/md.h: revision 1.4
usr.sbin/sysinst/arch/amd64/md.h: revision 1.7
usr.sbin/sysinst/msg.mi.es: revision 1.17
usr.sbin/sysinst/msg.mi.fr: revision 1.20
usr.sbin/sysinst/msg.mi.pl: revision 1.23
distrib/sets/lists/base/rescue.i386: file removal
usr.sbin/sysinst/arch/evbarm/md.h: revision 1.3
distrib/sets/lists/base/rescue.vax: file removal
distrib/amd64/uefi-installimage/Makefile.bootimage: revision 1.12
usr.sbin/sysinst/arch/evbmips/md.h: revision 1.3
distrib/sets/lists/base/rescue.mi: file removal
distrib/sets/README: revision 1.14
usr.sbin/sysinst/arch/sgimips/md.h: revision 1.4
distrib/sets/lists/base/rescue.sparc64: file removal
distrib/sets/lists/base/rescue.mi: revision 1.45
distrib/sets/lists/base/rescue.mi: revision 1.46
usr.sbin/sysinst/arch/ofppc/md.h: revision 1.4
usr.sbin/sysinst/arch/cobalt/md.h: revision 1.4
distrib/sets/lists/base/rescue.ad.arm: file removal
distrib/sets/lists/base/rescue.mac68k: file removal
usr.sbin/sysinst/defs.h: revision 1.45
usr.sbin/sysinst/arch/landisk/md.h: revision 1.2
distrib/notes/atari/xfer: revision 1.17
etc/Makefile: revision 1.441
usr.sbin/sysinst/msg.mi.en: revision 1.22
distrib/sun2/MakeInstTape: revision 1.2

Remove ldconfig from /rescue, and mark it MI obsolete.
- ldconfig in netbsd refers to a.out binaries only. We've been ELF-only
since NetBSD 2.0 or so, and having it in /rescue served little purpose
even before that, as /rescue is standalone.
- Using MI obsolete to avoid the need for MD set lists where ldconfig
is the sole entry

Mark /rescue/edlabel as MI-obsolete, so we can remove all remaining MD
rescue set list files.

Split out /rescue to its own set and adapt installers/images to add it.

This is meant to make updates safer: if something goes wrong with updating
base, we still have the old, standalone /rescue to recover from.
 1.2 11-May-2015  martin More (ab-)usages of "yesno"
 1.1 26-Jul-2014  dholland branches: 1.1.2; 1.1.4; 1.1.6;
Move sysinst sources to usr.sbin.

This commit only physically moves the sources - there are no other
changes, to maximize the probability that this will be treated as a
rename if we ever do manage to migrate away from CVS.

Moving sysinst has been discussed on and off for years and has two
goals: making it easier to work on sysinst, and also making sysinst
available on running systems for use installing chroots and VM images
and other such things. None of the latter is possible yet, but as they
say, one thing at a time.

Doing this now was approved in an impromptu fashion by mrg, riz,
riastradh, me, and groo.
 1.1.6.2 20-Aug-2014  tls Rebase to HEAD as of a few days ago.
 1.1.6.1 26-Jul-2014  tls file menus.md.en was added on branch tls-maxphys on 2014-08-20 00:05:17 +0000
 1.1.4.1 14-May-2015  snj Pull up following revision(s) (requested by martin in ticket #756):
usr.sbin/sysinst/arch/arc/md.c: revision 1.4
usr.sbin/sysinst/arch/atari/md.c: revision 1.3
usr.sbin/sysinst/arch/cobalt/md.c: revision 1.4
usr.sbin/sysinst/arch/emips/md.c: revision 1.3
usr.sbin/sysinst/arch/evbarm/md.c: revision 1.4
usr.sbin/sysinst/arch/evbarm64/md.c: revision 1.2
usr.sbin/sysinst/arch/hp300/md.c: revision 1.4
usr.sbin/sysinst/arch/i386/md.c: revision 1.6
usr.sbin/sysinst/arch/mac68k/md.c: revision 1.3
usr.sbin/sysinst/arch/mac68k/md.c: revision 1.4
usr.sbin/sysinst/arch/mac68k/menus.md.de: revisions 1.3, 1.4
usr.sbin/sysinst/arch/mac68k/menus.md.en: revisions 1.3, 1.4
usr.sbin/sysinst/arch/mac68k/menus.md.es: revisions 1.3, 1.4
usr.sbin/sysinst/arch/mac68k/menus.md.pl: revisions 1.3, 1.4
usr.sbin/sysinst/arch/mvme68k/md.c: revision 1.4
usr.sbin/sysinst/arch/ofppc/md.c: revision 1.3
usr.sbin/sysinst/arch/prep/md.c: revisions 1.3, 1.4
usr.sbin/sysinst/arch/prep/menus.md.en: revision 1.2
usr.sbin/sysinst/arch/x68k/md.c: revision 1.4
usr.sbin/sysinst/configmenu.c: revisions 1.4, 1.5
usr.sbin/sysinst/defs.h: revisions 1.8, 1.9
usr.sbin/sysinst/disks.c: revision 1.9
usr.sbin/sysinst/install.c: revision 1.4
usr.sbin/sysinst/label.c: revision 1.3
usr.sbin/sysinst/mbr.c: revision 1.5
usr.sbin/sysinst/menus.mi: revisions 1.9, 1.10
usr.sbin/sysinst/net.c: revisions 1.18-1.20
usr.sbin/sysinst/partman.c: revision 1.10
usr.sbin/sysinst/upgrade.c: revision 1.4
usr.sbin/sysinst/util.c: revisions 1.6, 1.7
Backout the previous incorrect fix for PR 49440 and redo it more globaly:
get rid of the global "yesno", introduce utility functions "ask_yesno()"
and "ask_noyes()" instead, greatly simplifying a lot of code.
Pass in a pointer to the return value to various "set source" menus.
--
Make it compile on architectures that do not support INET6 in sysinst
--
Remove a few more (ab-)usages of "yesno".
--
More (ab-)usages of "yesno"
--
Make "ask_yesno" and "ask_noyes" take a const char * as argument, moving
the deconst() dance into the utility functions and simplifying all callers.
--
Missed a few more "yesno" in previous
 1.1.2.2 10-Aug-2014  tls Rebase.
 1.1.2.1 26-Jul-2014  tls file menus.md.en was added on branch tls-earlyentropy on 2014-08-10 07:00:28 +0000
 1.1 26-Jul-2014  dholland branches: 1.1.2; 1.1.6;
Move sysinst sources to usr.sbin.

This commit only physically moves the sources - there are no other
changes, to maximize the probability that this will be treated as a
rename if we ever do manage to migrate away from CVS.

Moving sysinst has been discussed on and off for years and has two
goals: making it easier to work on sysinst, and also making sysinst
available on running systems for use installing chroots and VM images
and other such things. None of the latter is possible yet, but as they
say, one thing at a time.

Doing this now was approved in an impromptu fashion by mrg, riz,
riastradh, me, and groo.
 1.1.6.2 20-Aug-2014  tls Rebase to HEAD as of a few days ago.
 1.1.6.1 26-Jul-2014  tls file menus.md.es was added on branch tls-maxphys on 2014-08-20 00:05:17 +0000
 1.1.2.2 10-Aug-2014  tls Rebase.
 1.1.2.1 26-Jul-2014  tls file menus.md.es was added on branch tls-earlyentropy on 2014-08-10 07:00:28 +0000
 1.1 26-Jul-2014  dholland branches: 1.1.2; 1.1.6;
Move sysinst sources to usr.sbin.

This commit only physically moves the sources - there are no other
changes, to maximize the probability that this will be treated as a
rename if we ever do manage to migrate away from CVS.

Moving sysinst has been discussed on and off for years and has two
goals: making it easier to work on sysinst, and also making sysinst
available on running systems for use installing chroots and VM images
and other such things. None of the latter is possible yet, but as they
say, one thing at a time.

Doing this now was approved in an impromptu fashion by mrg, riz,
riastradh, me, and groo.
 1.1.6.2 20-Aug-2014  tls Rebase to HEAD as of a few days ago.
 1.1.6.1 26-Jul-2014  tls file menus.md.pl was added on branch tls-maxphys on 2014-08-20 00:05:17 +0000
 1.1.2.2 10-Aug-2014  tls Rebase.
 1.1.2.1 26-Jul-2014  tls file menus.md.pl was added on branch tls-earlyentropy on 2014-08-10 07:00:28 +0000
 1.1 26-Jul-2014  dholland branches: 1.1.2; 1.1.6;
Move sysinst sources to usr.sbin.

This commit only physically moves the sources - there are no other
changes, to maximize the probability that this will be treated as a
rename if we ever do manage to migrate away from CVS.

Moving sysinst has been discussed on and off for years and has two
goals: making it easier to work on sysinst, and also making sysinst
available on running systems for use installing chroots and VM images
and other such things. None of the latter is possible yet, but as they
say, one thing at a time.

Doing this now was approved in an impromptu fashion by mrg, riz,
riastradh, me, and groo.
 1.1.6.2 20-Aug-2014  tls Rebase to HEAD as of a few days ago.
 1.1.6.1 26-Jul-2014  tls file msg.md.de was added on branch tls-maxphys on 2014-08-20 00:05:17 +0000
 1.1.2.2 10-Aug-2014  tls Rebase.
 1.1.2.1 26-Jul-2014  tls file msg.md.de was added on branch tls-earlyentropy on 2014-08-10 07:00:28 +0000
 1.1 26-Jul-2014  dholland branches: 1.1.2; 1.1.6;
Move sysinst sources to usr.sbin.

This commit only physically moves the sources - there are no other
changes, to maximize the probability that this will be treated as a
rename if we ever do manage to migrate away from CVS.

Moving sysinst has been discussed on and off for years and has two
goals: making it easier to work on sysinst, and also making sysinst
available on running systems for use installing chroots and VM images
and other such things. None of the latter is possible yet, but as they
say, one thing at a time.

Doing this now was approved in an impromptu fashion by mrg, riz,
riastradh, me, and groo.
 1.1.6.2 20-Aug-2014  tls Rebase to HEAD as of a few days ago.
 1.1.6.1 26-Jul-2014  tls file msg.md.en was added on branch tls-maxphys on 2014-08-20 00:05:17 +0000
 1.1.2.2 10-Aug-2014  tls Rebase.
 1.1.2.1 26-Jul-2014  tls file msg.md.en was added on branch tls-earlyentropy on 2014-08-10 07:00:28 +0000
 1.1 26-Jul-2014  dholland branches: 1.1.2; 1.1.6;
Move sysinst sources to usr.sbin.

This commit only physically moves the sources - there are no other
changes, to maximize the probability that this will be treated as a
rename if we ever do manage to migrate away from CVS.

Moving sysinst has been discussed on and off for years and has two
goals: making it easier to work on sysinst, and also making sysinst
available on running systems for use installing chroots and VM images
and other such things. None of the latter is possible yet, but as they
say, one thing at a time.

Doing this now was approved in an impromptu fashion by mrg, riz,
riastradh, me, and groo.
 1.1.6.2 20-Aug-2014  tls Rebase to HEAD as of a few days ago.
 1.1.6.1 26-Jul-2014  tls file msg.md.es was added on branch tls-maxphys on 2014-08-20 00:05:17 +0000
 1.1.2.2 10-Aug-2014  tls Rebase.
 1.1.2.1 26-Jul-2014  tls file msg.md.es was added on branch tls-earlyentropy on 2014-08-10 07:00:28 +0000
 1.1 26-Jul-2014  dholland branches: 1.1.2; 1.1.6;
Move sysinst sources to usr.sbin.

This commit only physically moves the sources - there are no other
changes, to maximize the probability that this will be treated as a
rename if we ever do manage to migrate away from CVS.

Moving sysinst has been discussed on and off for years and has two
goals: making it easier to work on sysinst, and also making sysinst
available on running systems for use installing chroots and VM images
and other such things. None of the latter is possible yet, but as they
say, one thing at a time.

Doing this now was approved in an impromptu fashion by mrg, riz,
riastradh, me, and groo.
 1.1.6.2 20-Aug-2014  tls Rebase to HEAD as of a few days ago.
 1.1.6.1 26-Jul-2014  tls file msg.md.pl was added on branch tls-maxphys on 2014-08-20 00:05:17 +0000
 1.1.2.2 10-Aug-2014  tls Rebase.
 1.1.2.1 26-Jul-2014  tls file msg.md.pl was added on branch tls-earlyentropy on 2014-08-10 07:00:28 +0000
 1.2 12-Jun-2019  martin Rework internal data structures and "interfaces to user interface" functions
to get rid of all disklabel assumptions.

Previously (even for GPT partitioning) struct disklabel was used, which
obviously breaks large disk setups. Also many MD parts and parts of the
user interface assumed (a) a struct disklabel is used internally to
store partitioning information and (b) partitions are named 'a' ... $MAXPART.

Get rid of this and replace it with a quite abstract interface that should
be able to deal with all variants in partition storage:

- partitions are stored in a (partly abstract) struct disk_partitions
and most parts of it are only accessed via accessor functions provided
by a "partitioning scheme".

- implement partitioning schemes for MBR, disklabel and GPT (with likely
RDB [amiga] and Apple Partition Map [mac*] to follow soon)

- partitioning schemes may be cascaded, e.g. on x86 when using MBR as
"outer partitions", we have disklabel as "inner partitions".

- all user interface goes via accessor functions in the partitioning scheme,
some of which return pointers to special user interface descriptors
(e.g. to allow editing partition flags, which are scheme specific)

Overall the user interface changes (in this initial step) are minimal but
noticable. A new Anita is needed for automatic test setups - many thanks
to Andreas Gustafsson for lots of early testing and a new Anita version,
and to Manuel Bouyer for cooperation and tests of the Anita release.

This work was sponsored by The NetBSD Foundation, Inc.
 1.1 26-Jul-2014  dholland branches: 1.1.2; 1.1.6; 1.1.28;
Move sysinst sources to usr.sbin.

This commit only physically moves the sources - there are no other
changes, to maximize the probability that this will be treated as a
rename if we ever do manage to migrate away from CVS.

Moving sysinst has been discussed on and off for years and has two
goals: making it easier to work on sysinst, and also making sysinst
available on running systems for use installing chroots and VM images
and other such things. None of the latter is possible yet, but as they
say, one thing at a time.

Doing this now was approved in an impromptu fashion by mrg, riz,
riastradh, me, and groo.
 1.1.28.1 13-Apr-2020  martin Mostly merge changes from HEAD upto 20200411
 1.1.6.2 20-Aug-2014  tls Rebase to HEAD as of a few days ago.
 1.1.6.1 26-Jul-2014  tls file Makefile was added on branch tls-maxphys on 2014-08-20 00:05:17 +0000
 1.1.2.2 10-Aug-2014  tls Rebase.
 1.1.2.1 26-Jul-2014  tls file Makefile was added on branch tls-earlyentropy on 2014-08-10 07:00:28 +0000
 1.10 29-Jan-2022  martin When upgrading, update the boot code post extraction from
the updated target file system.
 1.9 12-Oct-2020  martin PR 55536: when we find existing partition tables and have alternative
formats available, offer to delete partitions and create new ones from
scratch (in some other or the same on-disk format).
 1.8 27-Jan-2020  martin Fix support for non-512-byte/sector disks again after I broke it when
introducing the abstract partition backends.
 1.7 09-Jan-2020  martin Finish conversion of extended partitioning parts to new abstract
backend interface. XXX still could use a lot of polishing.
 1.6 14-Aug-2019  martin When we ask the user to select a partitioning scheme and they refuse
(that is: select "Exit" in the menu), abort installation.
 1.5 13-Jul-2019  martin branches: 1.5.2;
We may call md_pre_mount() multiple times for the same install set,
so pass an additional index argument so MD code knows which part
of the install will be mounted next.
 1.4 13-Jun-2019  martin In the new world order disks may come without any partitioning scheme
attached - so the user may have to select one.
 1.3 12-Jun-2019  martin Rework internal data structures and "interfaces to user interface" functions
to get rid of all disklabel assumptions.

Previously (even for GPT partitioning) struct disklabel was used, which
obviously breaks large disk setups. Also many MD parts and parts of the
user interface assumed (a) a struct disklabel is used internally to
store partitioning information and (b) partitions are named 'a' ... $MAXPART.

Get rid of this and replace it with a quite abstract interface that should
be able to deal with all variants in partition storage:

- partitions are stored in a (partly abstract) struct disk_partitions
and most parts of it are only accessed via accessor functions provided
by a "partitioning scheme".

- implement partitioning schemes for MBR, disklabel and GPT (with likely
RDB [amiga] and Apple Partition Map [mac*] to follow soon)

- partitioning schemes may be cascaded, e.g. on x86 when using MBR as
"outer partitions", we have disklabel as "inner partitions".

- all user interface goes via accessor functions in the partitioning scheme,
some of which return pointers to special user interface descriptors
(e.g. to allow editing partition flags, which are scheme specific)

Overall the user interface changes (in this initial step) are minimal but
noticable. A new Anita is needed for automatic test setups - many thanks
to Andreas Gustafsson for lots of early testing and a new Anita version,
and to Manuel Bouyer for cooperation and tests of the Anita release.

This work was sponsored by The NetBSD Foundation, Inc.
 1.2 03-Aug-2014  martin branches: 1.2.2; 1.2.6; 1.2.28;
(Finally) merge a slightly modified version of the 2012 GSoC results
from Eugene Lozovoy: add extended partitioning options to sysinst.
Still needs some testing and polishing, but it now is possible to use GPT
or to create a RAID set from scratch and install onto it.
 1.1 26-Jul-2014  dholland Move sysinst sources to usr.sbin.

This commit only physically moves the sources - there are no other
changes, to maximize the probability that this will be treated as a
rename if we ever do manage to migrate away from CVS.

Moving sysinst has been discussed on and off for years and has two
goals: making it easier to work on sysinst, and also making sysinst
available on running systems for use installing chroots and VM images
and other such things. None of the latter is possible yet, but as they
say, one thing at a time.

Doing this now was approved in an impromptu fashion by mrg, riz,
riastradh, me, and groo.
 1.2.28.1 13-Apr-2020  martin Mostly merge changes from HEAD upto 20200411
 1.2.6.2 20-Aug-2014  tls Rebase to HEAD as of a few days ago.
 1.2.6.1 03-Aug-2014  tls file md.c was added on branch tls-maxphys on 2014-08-20 00:05:17 +0000
 1.2.2.2 10-Aug-2014  tls Rebase.
 1.2.2.1 03-Aug-2014  tls file md.c was added on branch tls-earlyentropy on 2014-08-10 07:00:28 +0000
 1.5.2.4 02-Feb-2022  msaitoh Pull up following revision(s) (requested by martin in ticket #1422):
usr.sbin/sysinst/util.c: revision 1.64
usr.sbin/sysinst/arch/hpcsh/md.c: revision 1.11
usr.sbin/sysinst/arch/alpha/md.c: revision 1.10
usr.sbin/sysinst/arch/sparc64/md.c: revision 1.7
usr.sbin/sysinst/arch/emips/md.c: revision 1.10
usr.sbin/sysinst/arch/cobalt/md.c: revision 1.15
usr.sbin/sysinst/arch/x68k/md.c: revision 1.12
usr.sbin/sysinst/arch/sandpoint/md.c: revision 1.10
usr.sbin/sysinst/arch/luna68k/md.c: revision 1.10
usr.sbin/sysinst/arch/hp300/md.c: revision 1.12
usr.sbin/sysinst/arch/vax/md.c: revision 1.8
usr.sbin/sysinst/arch/hpcmips/md.c: revision 1.10
usr.sbin/sysinst/target.c: revision 1.16
usr.sbin/sysinst/arch/mvme68k/md.c: revision 1.12
usr.sbin/sysinst/arch/arc/md.c: revision 1.14
usr.sbin/sysinst/target.c: revision 1.17
usr.sbin/sysinst/arch/i386/md.c: revision 1.34
usr.sbin/sysinst/arch/mac68k/md.c: revision 1.11
usr.sbin/sysinst/arch/atari/md.c: revision 1.8
usr.sbin/sysinst/arch/sgimips/md.c: revision 1.10
usr.sbin/sysinst/arch/acorn32/md.c: revision 1.8
usr.sbin/sysinst/install.c: revision 1.22
usr.sbin/sysinst/arch/amiga/md.c: revision 1.7
usr.sbin/sysinst/arch/cats/md.c: revision 1.6
usr.sbin/sysinst/arch/dummy/md.c: revision 1.7
usr.sbin/sysinst/arch/shark/md.c: revision 1.7
usr.sbin/sysinst/arch/pmax/md.c: revision 1.9
usr.sbin/sysinst/arch/newsmips/md.c: revision 1.7
usr.sbin/sysinst/arch/mipsco/md.c: revision 1.9
usr.sbin/sysinst/arch/landisk/md.c: revision 1.15
usr.sbin/sysinst/arch/hppa/md.c: revision 1.9
usr.sbin/sysinst/arch/prep/md.c: revision 1.14
usr.sbin/sysinst/defs.h: revision 1.77
usr.sbin/sysinst/arch/ofppc/md.c: revision 1.13
usr.sbin/sysinst/arch/ews4800mips/md.c: revision 1.8
usr.sbin/sysinst/defs.h: revision 1.78
usr.sbin/sysinst/arch/macppc/md.c: revision 1.7
usr.sbin/sysinst/arch/evbppc/md.c: revision 1.10
usr.sbin/sysinst/defs.h: revision 1.79
usr.sbin/sysinst/gpt.c: revision 1.27
usr.sbin/sysinst/arch/bebox/md.c: revision 1.10
usr.sbin/sysinst/gpt.c: revision 1.28
usr.sbin/sysinst/arch/sparc/md.c: revision 1.7
usr.sbin/sysinst/arch/evbsh3/md.c: revision 1.7
usr.sbin/sysinst/arch/evbarm/md.c: revision 1.22
usr.sbin/sysinst/arch/news68k/md.c: revision 1.8
usr.sbin/sysinst/upgrade.c: revision 1.19
usr.sbin/sysinst/arch/zaurus/md.c: revision 1.12
usr.sbin/sysinst/arch/playstation2/md.c: revision 1.10
usr.sbin/sysinst/arch/hpcarm/md.c: revision 1.11
usr.sbin/sysinst/arch/evbmips/md.c: revision 1.10
usr.sbin/sysinst/main.c: revision 1.28
Add an option to set the directory where we look for message catalogs.
Try to get rid of all wedges we created (after unmounting).
When upgrading, update the boot code post extraction from
the updated target file system.
Do not defer wedge deletions when we have nothing mounted.
Define and use a constant for maximum disk name length.
 1.5.2.3 15-Oct-2020  bouyer Pull up following revision(s) (requested by martin in ticket #1113):
usr.sbin/sysinst/bsddisklabel.c: revision 1.46
usr.sbin/sysinst/bsddisklabel.c: revision 1.47
usr.sbin/sysinst/disklabel.c: revision 1.40
usr.sbin/sysinst/arch/cobalt/md.c: revision 1.13
usr.sbin/sysinst/bsddisklabel.c: revision 1.48
usr.sbin/sysinst/disklabel.c: revision 1.41
usr.sbin/sysinst/arch/cobalt/md.c: revision 1.14
usr.sbin/sysinst/bsddisklabel.c: revision 1.49
usr.sbin/sysinst/disklabel.c: revision 1.42
usr.sbin/sysinst/Makefile.inc: revision 1.34
usr.sbin/sysinst/disks.c: revision 1.70
usr.sbin/sysinst/arch/hp300/md.c: revision 1.11
usr.sbin/sysinst/disks.c: revision 1.71
usr.sbin/sysinst/arch/i386/md.h: revision 1.8
usr.sbin/sysinst/arch/arc/md.c: revision 1.13
usr.sbin/sysinst/mbr.h: revision 1.5
usr.sbin/sysinst/mbr.h: revision 1.6
usr.sbin/sysinst/arch/mac68k/md.c: revision 1.10
usr.sbin/sysinst/bsddisklabel.c: revision 1.50
usr.sbin/sysinst/arch/acorn32/md.c: revision 1.7
usr.sbin/sysinst/bsddisklabel.c: revision 1.51
usr.sbin/sysinst/bsddisklabel.c: revision 1.52
usr.sbin/sysinst/bsddisklabel.c: revision 1.53
usr.sbin/sysinst/bsddisklabel.c: revision 1.54
usr.sbin/sysinst/bsddisklabel.c: revision 1.55
usr.sbin/sysinst/bsddisklabel.c: revision 1.56
usr.sbin/sysinst/arch/dummy/md.c: revision 1.6
usr.sbin/sysinst/arch/amd64/md.h: revision 1.9
usr.sbin/sysinst/arch/evbsh3/md.c: revision 1.6
usr.sbin/sysinst/arch/sparc/md.c: revision 1.6
usr.sbin/sysinst/arch/zaurus/md.c: revision 1.10
usr.sbin/sysinst/arch/x68k/md.c: revision 1.11
usr.sbin/sysinst/arch/sandpoint/md.c: revision 1.9
usr.sbin/sysinst/arch/vax/md.c: revision 1.7
usr.sbin/sysinst/arch/luna68k/md.c: revision 1.9
usr.sbin/sysinst/gpt.c: revision 1.19
usr.sbin/sysinst/arch/i386/md.c: revision 1.31
usr.sbin/sysinst/arch/i386/md.c: revision 1.32
usr.sbin/sysinst/arch/evbarm/md.c: revision 1.17
usr.sbin/sysinst/arch/evbarm/md.c: revision 1.18
usr.sbin/sysinst/arch/evbarm/md.c: revision 1.19
usr.sbin/sysinst/arch/shark/md.c: revision 1.6
usr.sbin/sysinst/arch/landisk/md.c: revision 1.14
usr.sbin/sysinst/util.c: revision 1.43
usr.sbin/sysinst/gpt.c: revision 1.20
usr.sbin/sysinst/util.c: revision 1.44
usr.sbin/sysinst/gpt.c: revision 1.21
usr.sbin/sysinst/gpt.c: revision 1.22
usr.sbin/sysinst/arch/evbarm/msg.md.en: revision 1.2
usr.sbin/sysinst/arch/ofppc/md.c: revision 1.11
usr.sbin/sysinst/util.c: revision 1.46
usr.sbin/sysinst/arch/ofppc/md.c: revision 1.12
usr.sbin/sysinst/util.c: revision 1.47
usr.sbin/sysinst/arch/evbarm/md.h: revision 1.6
usr.sbin/sysinst/util.c: revision 1.48
usr.sbin/sysinst/arch/evbarm/md.h: revision 1.7
usr.sbin/sysinst/arch/evbmips/md.c: revision 1.9
usr.sbin/sysinst/msg.mi.fr: revision 1.28
usr.sbin/sysinst/msg.mi.fr: revision 1.29
usr.sbin/sysinst/arch/sgimips/md.c: revision 1.9
usr.sbin/sysinst/arch/evbarm/Makefile: revision 1.3
usr.sbin/sysinst/msg.mi.de: revision 1.23
usr.sbin/sysinst/arch/hpcsh/md.c: revision 1.10
usr.sbin/sysinst/msg.mi.de: revision 1.24
usr.sbin/sysinst/install.c: revision 1.15
usr.sbin/sysinst/install.c: revision 1.16
usr.sbin/sysinst/arch/sparc64/md.c: revision 1.6
usr.sbin/sysinst/install.c: revision 1.17
usr.sbin/sysinst/install.c: revision 1.18
usr.sbin/sysinst/partitions.h: revision 1.16
usr.sbin/sysinst/install.c: revision 1.19
usr.sbin/sysinst/partitions.h: revision 1.17
usr.sbin/sysinst/arch/evbppc/md.c: revision 1.9
usr.sbin/sysinst/arch/playstation2/md.c: revision 1.9
usr.sbin/sysinst/partitions.h: revision 1.18
usr.sbin/sysinst/arch/hpcarm/md.c: revision 1.9
usr.sbin/sysinst/partitions.h: revision 1.19
usr.sbin/sysinst/msg.mi.es: revision 1.24
usr.sbin/sysinst/msg.mi.es: revision 1.25
usr.sbin/sysinst/msg.mi.es: revision 1.26
usr.sbin/sysinst/arch/zaurus/md.c: revision 1.9
usr.sbin/sysinst/target.c: revision 1.13
usr.sbin/sysinst/target.c: revision 1.14
usr.sbin/sysinst/part_edit.c: revision 1.17
usr.sbin/sysinst/part_edit.c: revision 1.18
usr.sbin/sysinst/msg.mi.fr: revision 1.30
usr.sbin/sysinst/arch/mvme68k/md.c: revision 1.11
usr.sbin/sysinst/part_edit.c: revision 1.19
usr.sbin/sysinst/msg.mi.fr: revision 1.31
usr.sbin/sysinst/arch/alpha/md.c: revision 1.9
usr.sbin/sysinst/msg.mi.en: revision 1.30
usr.sbin/sysinst/defs.h: revision 1.56
usr.sbin/sysinst/msg.mi.en: revision 1.31
usr.sbin/sysinst/defs.h: revision 1.57
usr.sbin/sysinst/msg.mi.en: revision 1.32
usr.sbin/sysinst/arch/amiga/md.c: revision 1.6
usr.sbin/sysinst/arch/hpcmips/md.c: revision 1.9
usr.sbin/sysinst/defs.h: revision 1.58
usr.sbin/sysinst/arch/cats/md.c: revision 1.5
usr.sbin/sysinst/defs.h: revision 1.59
usr.sbin/sysinst/arch/newsmips/md.c: revision 1.6
usr.sbin/sysinst/arch/pmax/md.c: revision 1.8
usr.sbin/sysinst/arch/mipsco/md.c: revision 1.8
usr.sbin/sysinst/part_edit.c: revision 1.20
usr.sbin/sysinst/part_edit.c: revision 1.21
usr.sbin/sysinst/arch/macppc/md.c: revision 1.6
usr.sbin/sysinst/part_edit.c: revision 1.22
usr.sbin/sysinst/part_edit.c: revision 1.23
usr.sbin/sysinst/part_edit.c: revision 1.24
usr.sbin/sysinst/defs.h: revision 1.60
usr.sbin/sysinst/arch/mac68k/Makefile: revision 1.3
usr.sbin/sysinst/defs.h: revision 1.61
usr.sbin/sysinst/defs.h: revision 1.63
usr.sbin/sysinst/defs.h: revision 1.64
usr.sbin/sysinst/defs.h: revision 1.65
usr.sbin/sysinst/label.c: revision 1.21
usr.sbin/sysinst/defs.h: revision 1.66
usr.sbin/sysinst/label.c: revision 1.22
usr.sbin/sysinst/defs.h: revision 1.67
usr.sbin/sysinst/label.c: revision 1.23
usr.sbin/sysinst/label.c: revision 1.24
usr.sbin/sysinst/label.c: revision 1.25
usr.sbin/sysinst/label.c: revision 1.26
usr.sbin/sysinst/label.c: revision 1.27
usr.sbin/sysinst/msg.mi.pl: revision 1.31
usr.sbin/sysinst/label.c: revision 1.28
usr.sbin/sysinst/msg.mi.pl: revision 1.32
usr.sbin/sysinst/label.c: revision 1.29
usr.sbin/sysinst/arch/atari/md.c: revision 1.7
usr.sbin/sysinst/disklabel.c: revision 1.36
usr.sbin/sysinst/disklabel.c: revision 1.37
usr.sbin/sysinst/disklabel.c: revision 1.38
usr.sbin/sysinst/disklabel.c: revision 1.39
usr.sbin/sysinst/arch/bebox/md.c: revision 1.9
usr.sbin/sysinst/mbr.c: revision 1.32
usr.sbin/sysinst/disks.c: revision 1.66
usr.sbin/sysinst/mbr.c: revision 1.33
usr.sbin/sysinst/disks.c: revision 1.67
usr.sbin/sysinst/mbr.c: revision 1.34
usr.sbin/sysinst/arch/emips/md.c: revision 1.9
usr.sbin/sysinst/disks.c: revision 1.68
usr.sbin/sysinst/partitions.c: revision 1.11
usr.sbin/sysinst/mbr.c: revision 1.35
usr.sbin/sysinst/disks.c: revision 1.69
usr.sbin/sysinst/mbr.c: revision 1.36
usr.sbin/sysinst/arch/hppa/md.c: revision 1.8
usr.sbin/sysinst/arch/prep/md.c: revision 1.13
usr.sbin/sysinst/label.c: revision 1.30
usr.sbin/sysinst/arch/ews4800mips/md.c: revision 1.7
usr.sbin/sysinst/main.c: revision 1.21
usr.sbin/sysinst/main.c: revision 1.22
usr.sbin/sysinst/main.c: revision 1.23
usr.sbin/sysinst/bsddisklabel.c: revision 1.40
usr.sbin/sysinst/main.c: revision 1.24
usr.sbin/sysinst/arch/cobalt/md.h: revision 1.6
usr.sbin/sysinst/bsddisklabel.c: revision 1.41
usr.sbin/sysinst/main.c: revision 1.25
usr.sbin/sysinst/arch/news68k/md.c: revision 1.7
usr.sbin/sysinst/bsddisklabel.c: revision 1.42
usr.sbin/sysinst/bsddisklabel.c: revision 1.43
usr.sbin/sysinst/bsddisklabel.c: revision 1.44
usr.sbin/sysinst/bsddisklabel.c: revision 1.45
Use strlcpy in a few places to guarnatee 0-terminated strings
Rever previous: the d_packname in struct disklabel is not NUL terminated.
Disable the warning instead.
Do not force -Os optimization (unless SMALLPROG)
Remove unused "rel" global variable and make the -r option a no-op.
PR 55045: strlcpy(NULL, ..., 0) considered harmfull in some implementations.
PR misc/54886: bump threshold for automatic/default creation of a tmpfs /tmp
up slightly (to 384 MB ram). This will make sure the default install has
a > 64 MB /tmp available (number pulled out of thin air, 64 MB is the minimum
required by the ZFS tests).
Don't depend on common symbol definitions.
boardype should not be common.
Redo the root-size-limit check again after we grew the root partition
for kernel dumps. Auto-enable the /usr partition if it overflows.
For all non-root partitions, default to FFSv2.
When extending a partition (to fill the total disk size) do respect
size limits.
Do not suggest a size limited partition for extension by default.
Minor tweak to previous: when forcing a /usr partition just to have an
arbitrary extendable partition, still use its default size initially.
At the end of a new installation save entropy.
Ooops, backout previous - twice the entropy saving is not needed.
Instead slightly improve the (slightly) hidden other code that already
did it.
PR 55202: disable swapping if we started it due to low ram
it's "its"
Remove "If you booted from a floppy" message
Set HAVE_INSTALL_IMAGE for evbarm
Change mountpoint of boot ext2fs from /stand to /ext2 to avoid conflict.
Should be pulled up to netbsd-9, with fixes of PR/55060.
MBR type for Ext2 should be MBR_PTYPE_LNXEXT2, not MBR_PTYPE_FAT12.
Silence -Wstringop-truncation for ``name'' in disp_selected_part().
This variable is used only for display, and truncation seems harmless.
PR 55572: avoid crash when answering the mount point prompt for a previously
empty mount point with an emptry sting.
When adding a new partition in the concrete partition editor, make sure
to set a pointer to the partition table interface in the new entry.
Otherwise we may end up not writing back the partitions at all, leading
to further fallout later.
Receipe to reproduce the issue from Frederic Fauberteau, thanks!
In the concrete partitions editor, after deleting the last partition move
the menu selection to the "add a partition" entry (instead of the sentinel
line which is not an active menu entry).
Typo in comment
Keep a list of all partition tables from which we have deleted partitions
and make sure we update those partition tables when writing partitions,
even if no install related partition remains on them.
Fix display of timezone selection menu
If there is no current partitioning manager assume we are editing the
current system and make target_already_root() return true.
Fixes various fallout when using sysinst post installation.
PR 55377: mark boot partitions in the partition size display, as suggested
by Izumi Tsutsui (minor modifications + all bugs by me)
PR 55378: do not assume RAW_PART to be either 2 or 3
PR 55379: avoid creating bogus /etc/fstab lines for /dev/cd* if no
cdrom is available.
PR 55381: try to deal with moved (but not yet saved) partitions when
calculating free space
Apply patch provided by Izumi Tsutsui in PR 55382: make ext2 partitions
show up in the outer (MBR) partition table, needed for example on Cobalt
where firmware boots from that partition.
PR 55384: detangle pm->ptstart from the "install" flag (selecting a
target partition). Instead introduce a new PTI_INSTALL_TARGET per partition
flag and deal with it in the partitioning backends.
Honour pm->ptstart when allocating new partitions - it is supposed to be
the first sector usable by NetBSD.
If we have no explicitly marke target root partition, make sure to set
the proper flag on the implicit one.
When merging existing partitions with desired target system layout
information, only force the "mount" flag if the existing partitions
has a valid mount point.
Add a heuristic to detect and properly mark EFI system partitions
when re-using pre-existing partitions.
When MD code requests a reserved area (at the start of the disk)
make sure to properly account for the "lost" space during all calculations
and especially when expanding the main partition to fill the disk.
Avoid using the global "pm" or a passed device descriptons when we are
passing disk limits explicitly anyway.
Simplify/fix a few rounding calculations.
When creating new partitions for "full disk" use, pass a install target
hint to the partitioning backend (for the outer NetBSD partition).
Use an install target hint to mark a new partition active.
When compiled with BOOTSEL support, also name the new partition "NetBSD".
Remove more pm->ptstart abuse - calculate values localy where needed
instead.
Fix editing start and size of not yet existing outer partitions.
Previously we abused pm->ptstart / pm->ptsize to pass the bounds of the
NetBSD outer partition to the inner partition editor - but now this is
not a valid assumption any more, so explicitly fix the bounds if an
outer partition exists.
Remove very strange code that special-cased MSDOS file systems and refused
to newfs the partition (despite explicit request to do so) if it was
mountable.
Accidently carried over from a dim and distant past, before we had
fsck_newfs.
PR 55536: when we find existing partition tables and have alternative
formats available, offer to delete partitions and create new ones from
scratch (in some other or the same on-disk format).
Minor fix to previous: fix condition when we offer the partition type
switch - it makes sense even if the disk is partitioned but has no valid
partitions.
Before forcing MBR partitions into our disklabel, make sure they are not
there yet - could happen in various paths when reusing existing partitions
(or parts of that) - previously we would blindly duplicate identical
partitions.
Ooops, part of previous was not meant to be included yet
When renumbering partitions (after deletions) be slightly more lax
in matching, to cope with differences between MBR EFI partitions and
disklabel MSDOS partitions.
PR 55142: on popular demand bring back expert options to adjust the
number of free inodes, block size and fragment size for FFS and LFS.
Fix copy & pasto noticed by Jason Mitchell: change the type of a GPT
partition via "gpt type" - not "gpt label".
Fix copy & pasto (missing "again" label)
Remove dead code
Move MBR writing (if any) post disklabel writing, otherwise strange
interactions happen.
Properly convert partition default sizes in MB to number of sectors
 1.5.2.2 28-Jan-2020  msaitoh Pull up following revision(s) (requested by martin in ticket #668):
usr.sbin/sysinst/arch/cobalt/md.c: revision 1.11
usr.sbin/sysinst/arch/cobalt/md.c: revision 1.12
usr.sbin/sysinst/arch/arc/md.c: revision 1.11
usr.sbin/sysinst/arch/arc/md.c: revision 1.12
usr.sbin/sysinst/partman.c: revision 1.43
usr.sbin/sysinst/partman.c: revision 1.46
usr.sbin/sysinst/partman.c: revision 1.47
usr.sbin/sysinst/partman.c: revision 1.48
usr.sbin/sysinst/partman.c: revision 1.49
usr.sbin/sysinst/msg.pm.fr: revision 1.2
usr.sbin/sysinst/upgrade.c: revision 1.14
usr.sbin/sysinst/arch/i386/md.c: revision 1.28
usr.sbin/sysinst/arch/i386/md.c: revision 1.29
usr.sbin/sysinst/arch/ofppc/md.c: revision 1.9
usr.sbin/sysinst/arch/sandpoint/md.c: revision 1.7
usr.sbin/sysinst/arch/sandpoint/md.c: revision 1.8
usr.sbin/sysinst/gpt.c: revision 1.14
usr.sbin/sysinst/gpt.c: revision 1.15
usr.sbin/sysinst/arch/luna68k/md.c: revision 1.8
usr.sbin/sysinst/gpt.c: revision 1.16
usr.sbin/sysinst/msg.pm.de: revision 1.2
usr.sbin/sysinst/arch/evbarm/md.c: revision 1.11
usr.sbin/sysinst/arch/evbarm/md.c: revision 1.12
usr.sbin/sysinst/arch/evbarm/md.c: revision 1.13
usr.sbin/sysinst/arch/evbarm/md.c: revision 1.14
usr.sbin/sysinst/sizemultname.c: revision 1.4
usr.sbin/sysinst/msg.pm.en: revision 1.2
usr.sbin/sysinst/arch/landisk/md.c: revision 1.12
usr.sbin/sysinst/util.c: revision 1.41
usr.sbin/sysinst/arch/landisk/md.c: revision 1.13
usr.sbin/sysinst/util.c: revision 1.42
usr.sbin/sysinst/arch/ofppc/md.c: revision 1.10
usr.sbin/sysinst/partitions.c: revision 1.9
usr.sbin/sysinst/arch/evbarm/md.h: revision 1.4
usr.sbin/sysinst/arch/evbarm/md.h: revision 1.5
usr.sbin/sysinst/arch/evbmips/md.c: revision 1.7
usr.sbin/sysinst/arch/evbmips/md.c: revision 1.8
usr.sbin/sysinst/msg.mi.fr: revision 1.25
usr.sbin/sysinst/msg.mi.de: revision 1.20
usr.sbin/sysinst/install.c: revision 1.14
usr.sbin/sysinst/partitions.h: revision 1.13
usr.sbin/sysinst/partitions.h: revision 1.14
usr.sbin/sysinst/arch/evbppc/md.c: revision 1.7
usr.sbin/sysinst/arch/playstation2/md.c: revision 1.7
usr.sbin/sysinst/msg.mi.en: revision 1.27
usr.sbin/sysinst/partitions.h: revision 1.15
usr.sbin/sysinst/arch/evbppc/md.c: revision 1.8
usr.sbin/sysinst/arch/hpcarm/md.c: revision 1.7
usr.sbin/sysinst/arch/playstation2/md.c: revision 1.8
usr.sbin/sysinst/msg.pm.pl: revision 1.2
usr.sbin/sysinst/arch/hpcarm/md.c: revision 1.8
usr.sbin/sysinst/msg.mi.es: revision 1.21
usr.sbin/sysinst/arch/zaurus/md.c: revision 1.7
usr.sbin/sysinst/target.c: revision 1.11
usr.sbin/sysinst/arch/zaurus/md.c: revision 1.8
usr.sbin/sysinst/part_edit.c: revision 1.14
usr.sbin/sysinst/part_edit.c: revision 1.15
usr.sbin/sysinst/part_edit.c: revision 1.16
usr.sbin/sysinst/defs.h: revision 1.50
usr.sbin/sysinst/defs.h: revision 1.51
usr.sbin/sysinst/defs.h: revision 1.52
usr.sbin/sysinst/defs.h: revision 1.53
usr.sbin/sysinst/defs.h: revision 1.54
usr.sbin/sysinst/arch/hpcmips/md.c: revision 1.7
usr.sbin/sysinst/arch/hpcmips/md.c: revision 1.8
usr.sbin/sysinst/arch/hpcsh/md.c: revision 1.8
usr.sbin/sysinst/msg.pm.es: revision 1.2
usr.sbin/sysinst/arch/hpcsh/md.c: revision 1.9
usr.sbin/sysinst/label.c: revision 1.18
usr.sbin/sysinst/label.c: revision 1.19
usr.sbin/sysinst/net.c: revision 1.35
usr.sbin/sysinst/msg.mi.pl: revision 1.28
usr.sbin/sysinst/disklabel.c: revision 1.28
usr.sbin/sysinst/disklabel.c: revision 1.29
usr.sbin/sysinst/mbr.c: revision 1.24
usr.sbin/sysinst/disks.c: revision 1.59
usr.sbin/sysinst/mbr.c: revision 1.25
usr.sbin/sysinst/mbr.c: revision 1.26
usr.sbin/sysinst/mbr.c: revision 1.27
usr.sbin/sysinst/mbr.c: revision 1.28
usr.sbin/sysinst/label.c: revision 1.20
usr.sbin/sysinst/mbr.c: revision 1.29
usr.sbin/sysinst/bsddisklabel.c: revision 1.34
usr.sbin/sysinst/bsddisklabel.c: revision 1.35
usr.sbin/sysinst/bsddisklabel.c: revision 1.36
usr.sbin/sysinst/bsddisklabel.c: revision 1.37
usr.sbin/sysinst/disklabel.c: revision 1.30
usr.sbin/sysinst/bsddisklabel.c: revision 1.38
usr.sbin/sysinst/disklabel.c: revision 1.31
usr.sbin/sysinst/disklabel.c: revision 1.32
usr.sbin/sysinst/disklabel.c: revision 1.33
usr.sbin/sysinst/disklabel.c: revision 1.34
usr.sbin/sysinst/disks.c: revision 1.60
usr.sbin/sysinst/disks.c: revision 1.61
usr.sbin/sysinst/arch/bebox/md.c: revision 1.7
usr.sbin/sysinst/disks.c: revision 1.62
usr.sbin/sysinst/arch/bebox/md.c: revision 1.8
usr.sbin/sysinst/mbr.c: revision 1.30
usr.sbin/sysinst/partitions.c: revision 1.10
usr.sbin/sysinst/arch/prep/md.c: revision 1.11
usr.sbin/sysinst/arch/prep/md.c: revision 1.12
usr.sbin/sysinst/menus.pm: revision 1.3
usr.sbin/sysinst/main.c: revision 1.20
usr.sbin/sysinst/menus.mi: revision 1.20
usr.sbin/sysinst/menus.mi: revision 1.21
avoid calling snprintf/strlcat with an input parameter the same
as the output. from martin@. fixes gcc 8 restrict warnings.
Finish conversion of extended partitioning parts to new abstract
backend interface. XXX still could use a lot of polishing.
Instead of a (bogus) attempt to query the model via ofctl, use the (now
fixed) sysctl hw.model instead.
When reading the secondary disklabel partitions from an existing disklabel
set the mbr partitions as parent.
Move the LABELSECTOR check and make it FS type specific - some partition
types (FFS, RAID) are allowed to overlap with the LABELSECTOR.
When asked to create a whole-disk partition for unknown usage, do not only
assert(false), but actually return an error (in case "assert" is a nop).
PR install/54787: when trying to derive proper alignement and first offset
from exisiting partitions, use the first partition offset if it is already
closer to the start of the disk than the prefered alignment - we can not
move existing partitions around.
Fix handling of inner/outer partitions (e.g. MBR and disklabel) in
extended partitioning:
- when editing a disk with such a schme, offer both partitions in two
steps
- when commiting changes save the inner partitions after the outer ones
Add a method to query the partitioning schemes "internal idea" of a
cylinder size - whatever that means in the real world.
Avoid using the global "pm" variable in utility functions - during
extended partitioning they may point to a different device.
Remove useless calls to get_ramsize() - return value is ignored and
the function has no side effects.
Fix /tmp tmpfs handling and on machines with enough RAM default to
creating a /tmp tmpfs with 25% of ram size limit. Suggested by ad@.
PR install/54872: fix printf argument order, sectors and heads were
swapped in the bios geometry display.
First try to bring evbarm installation closer to current reality.
hide disklabel_non_bootable() under NO_DISKLABEL_BOOT like the usage.
should fix most builds.
Deal with even stranger fictious empty disklabels (PR kern/54882).
Factor out all RAM size thresholds as defines to avoid magic numbers.
To work around PR misc/54886 bump the threshold for a tmpfs /tmp mount
up to 256 MB.
When retrying sets during extraction, reset the relevant statistics
to avoid counting retried sets multiple times.
Reported by kim.
Fix support for non-512-byte/sector disks again after I broke it when
introducing the abstract partition backends.
Use a few strlcpy() instead of strncpy() for network ioctl structs.
We seem to have no formal documentation stating the various
char if*_name[IFNAMSIZ]; /* if name, e.g. "en0" */
elements in ioctls are nul terminated, but the peanut gallery claims
it is so - and at least half of the code in-tree touching them agrees.
Too much disklabel magic happening in the kernel - to compensate force
MBR first when trying to identify the existing partitioning scheme of
a disk.
 1.5.2.1 18-Aug-2019  msaitoh Pull up following revision(s) (requested by martin in ticket #77):
usr.sbin/sysinst/arch/sandpoint/md.c: revision 1.6
usr.sbin/sysinst/arch/playstation2/md.c: revision 1.6
usr.sbin/sysinst/arch/evbppc/md.c: revision 1.6
usr.sbin/sysinst/arch/hpcarm/md.c: revision 1.6
usr.sbin/sysinst/arch/zaurus/md.c: revision 1.6
usr.sbin/sysinst/arch/arc/md.c: revision 1.9
usr.sbin/sysinst/arch/hpcmips/md.c: revision 1.6
usr.sbin/sysinst/arch/bebox/md.c: revision 1.6
usr.sbin/sysinst/arch/hpcsh/md.c: revision 1.7
usr.sbin/sysinst/arch/landisk/md.c: revision 1.11
usr.sbin/sysinst/arch/prep/md.c: revision 1.9
usr.sbin/sysinst/arch/i386/md.c: revision 1.21
usr.sbin/sysinst/arch/evbmips/md.c: revision 1.6
usr.sbin/sysinst/arch/evbarm/md.c: revision 1.9
usr.sbin/sysinst/arch/cobalt/md.c: revision 1.9
usr.sbin/sysinst/arch/ofppc/md.c: revision 1.8
When we ask the user to select a partitioning scheme and they refuse
(that is: select "Exit" in the menu), abort installation.
 1.3 02-Oct-2019  maya Split out /rescue to its own set and adapt installers/images to add it.

This is meant to make updates safer: if something goes wrong with updating
base, we still have the old, standalone /rescue to recover from.
 1.2 18-Nov-2018  martin branches: 1.2.2;
More size estimate fixes
 1.1 26-Jul-2014  dholland branches: 1.1.2; 1.1.6; 1.1.26; 1.1.28;
Move sysinst sources to usr.sbin.

This commit only physically moves the sources - there are no other
changes, to maximize the probability that this will be treated as a
rename if we ever do manage to migrate away from CVS.

Moving sysinst has been discussed on and off for years and has two
goals: making it easier to work on sysinst, and also making sysinst
available on running systems for use installing chroots and VM images
and other such things. None of the latter is possible yet, but as they
say, one thing at a time.

Doing this now was approved in an impromptu fashion by mrg, riz,
riastradh, me, and groo.
 1.1.28.2 13-Apr-2020  martin Mostly merge changes from HEAD upto 20200411
 1.1.28.1 10-Jun-2019  christos Sync with HEAD
 1.1.26.1 26-Nov-2018  pgoyette Sync with HEAD, resolve a couple of conflicts
 1.1.6.2 20-Aug-2014  tls Rebase to HEAD as of a few days ago.
 1.1.6.1 26-Jul-2014  tls file md.h was added on branch tls-maxphys on 2014-08-20 00:05:17 +0000
 1.1.2.2 10-Aug-2014  tls Rebase.
 1.1.2.1 26-Jul-2014  tls file md.h was added on branch tls-earlyentropy on 2014-08-10 07:00:28 +0000
 1.2.2.1 17-Nov-2019  martin Pull up following revision(s) (requested by maya in ticket #435):

distrib/sets/maketars: revision 1.90
usr.sbin/sysinst/arch/playstation2/md.h: revision 1.2
usr.sbin/sysinst/arch/sandpoint/md.h: revision 1.3
usr.sbin/sysinst/arch/evbppc/md.h: revision 1.3
usr.sbin/sysinst/arch/hpcarm/md.h: revision 1.3
usr.sbin/sysinst/arch/mvme68k/md.h: revision 1.3
distrib/sun3/MakeInstTape: revision 1.3
usr.sbin/sysinst/util.c: revision 1.33
distrib/sets/lists/rescue/mi: revision 1.1
distrib/sets/lists/base/rescue.sun2: file removal
usr.sbin/sysinst/arch/zaurus/md.h: revision 1.3
distrib/sets/lists/base/rescue.ad.m68k.shl: file removal
distrib/sets/regpkgset: revision 1.13
usr.sbin/sysinst/arch/i386/md.h: revision 1.7
distrib/sets/lists/base/rescue.sparc: file removal
distrib/notes/mvme68k/xfer: revision 1.19
distrib/sets/sets.subr: revision 1.187
distrib/common/bootimage/Makefile.bootimage: revision 1.22
usr.sbin/sysinst/msg.mi.de: revision 1.16
usr.sbin/sysinst/arch/atari/md.h: revision 1.3
rescue/Makefile: revision 1.38
distrib/sets/lists/base/rescue.macppc: file removal
usr.sbin/sysinst/arch/arc/md.h: revision 1.4
distrib/miniroot/install.sub: revision 1.49
usr.sbin/sysinst/arch/acorn32/md.h: revision 1.3
usr.sbin/sysinst/arch/x68k/md.h: revision 1.3
usr.sbin/sysinst/arch/hpcmips/md.h: revision 1.3
usr.sbin/sysinst/arch/bebox/md.h: revision 1.3
usr.sbin/sysinst/arch/hpcsh/md.h: revision 1.2
distrib/sets/lists/base/rescue.shark: file removal
usr.sbin/sysinst/arch/emips/md.h: revision 1.5
distrib/utils/embedded/mkimage: revision 1.70
usr.sbin/sysinst/arch/shark/md.h: revision 1.3
usr.sbin/sysinst/arch/pmax/md.h: revision 1.4
usr.sbin/sysinst/arch/amiga/md.h: revision 1.4
usr.sbin/sysinst/arch/hp300/md.h: revision 1.5
rescue/list.ldconfig: file removal
distrib/sets/lists/base/rescue.ad.m68k: file removal
usr.sbin/sysinst/arch/prep/md.h: revision 1.4
usr.sbin/sysinst/arch/cats/md.h: revision 1.4
usr.sbin/sysinst/arch/amd64/md.h: revision 1.7
usr.sbin/sysinst/msg.mi.es: revision 1.17
usr.sbin/sysinst/msg.mi.fr: revision 1.20
usr.sbin/sysinst/msg.mi.pl: revision 1.23
distrib/sets/lists/base/rescue.i386: file removal
usr.sbin/sysinst/arch/evbarm/md.h: revision 1.3
distrib/sets/lists/base/rescue.vax: file removal
distrib/amd64/uefi-installimage/Makefile.bootimage: revision 1.12
usr.sbin/sysinst/arch/evbmips/md.h: revision 1.3
distrib/sets/lists/base/rescue.mi: file removal
distrib/sets/README: revision 1.14
usr.sbin/sysinst/arch/sgimips/md.h: revision 1.4
distrib/sets/lists/base/rescue.sparc64: file removal
distrib/sets/lists/base/rescue.mi: revision 1.45
distrib/sets/lists/base/rescue.mi: revision 1.46
usr.sbin/sysinst/arch/ofppc/md.h: revision 1.4
usr.sbin/sysinst/arch/cobalt/md.h: revision 1.4
distrib/sets/lists/base/rescue.ad.arm: file removal
distrib/sets/lists/base/rescue.mac68k: file removal
usr.sbin/sysinst/defs.h: revision 1.45
usr.sbin/sysinst/arch/landisk/md.h: revision 1.2
distrib/notes/atari/xfer: revision 1.17
etc/Makefile: revision 1.441
usr.sbin/sysinst/msg.mi.en: revision 1.22
distrib/sun2/MakeInstTape: revision 1.2

Remove ldconfig from /rescue, and mark it MI obsolete.
- ldconfig in netbsd refers to a.out binaries only. We've been ELF-only
since NetBSD 2.0 or so, and having it in /rescue served little purpose
even before that, as /rescue is standalone.
- Using MI obsolete to avoid the need for MD set lists where ldconfig
is the sole entry

Mark /rescue/edlabel as MI-obsolete, so we can remove all remaining MD
rescue set list files.

Split out /rescue to its own set and adapt installers/images to add it.

This is meant to make updates safer: if something goes wrong with updating
base, we still have the old, standalone /rescue to recover from.
 1.1 26-Jul-2014  dholland branches: 1.1.2; 1.1.6;
Move sysinst sources to usr.sbin.

This commit only physically moves the sources - there are no other
changes, to maximize the probability that this will be treated as a
rename if we ever do manage to migrate away from CVS.

Moving sysinst has been discussed on and off for years and has two
goals: making it easier to work on sysinst, and also making sysinst
available on running systems for use installing chroots and VM images
and other such things. None of the latter is possible yet, but as they
say, one thing at a time.

Doing this now was approved in an impromptu fashion by mrg, riz,
riastradh, me, and groo.
 1.1.6.2 20-Aug-2014  tls Rebase to HEAD as of a few days ago.
 1.1.6.1 26-Jul-2014  tls file menus.md.en was added on branch tls-maxphys on 2014-08-20 00:05:17 +0000
 1.1.2.2 10-Aug-2014  tls Rebase.
 1.1.2.1 26-Jul-2014  tls file menus.md.en was added on branch tls-earlyentropy on 2014-08-10 07:00:28 +0000
 1.1 26-Jul-2014  dholland branches: 1.1.2; 1.1.6;
Move sysinst sources to usr.sbin.

This commit only physically moves the sources - there are no other
changes, to maximize the probability that this will be treated as a
rename if we ever do manage to migrate away from CVS.

Moving sysinst has been discussed on and off for years and has two
goals: making it easier to work on sysinst, and also making sysinst
available on running systems for use installing chroots and VM images
and other such things. None of the latter is possible yet, but as they
say, one thing at a time.

Doing this now was approved in an impromptu fashion by mrg, riz,
riastradh, me, and groo.
 1.1.6.2 20-Aug-2014  tls Rebase to HEAD as of a few days ago.
 1.1.6.1 26-Jul-2014  tls file menus.md.es was added on branch tls-maxphys on 2014-08-20 00:05:17 +0000
 1.1.2.2 10-Aug-2014  tls Rebase.
 1.1.2.1 26-Jul-2014  tls file menus.md.es was added on branch tls-earlyentropy on 2014-08-10 07:00:28 +0000
 1.1 26-Jul-2014  dholland branches: 1.1.2; 1.1.6;
Move sysinst sources to usr.sbin.

This commit only physically moves the sources - there are no other
changes, to maximize the probability that this will be treated as a
rename if we ever do manage to migrate away from CVS.

Moving sysinst has been discussed on and off for years and has two
goals: making it easier to work on sysinst, and also making sysinst
available on running systems for use installing chroots and VM images
and other such things. None of the latter is possible yet, but as they
say, one thing at a time.

Doing this now was approved in an impromptu fashion by mrg, riz,
riastradh, me, and groo.
 1.1.6.2 20-Aug-2014  tls Rebase to HEAD as of a few days ago.
 1.1.6.1 26-Jul-2014  tls file menus.md.fr was added on branch tls-maxphys on 2014-08-20 00:05:17 +0000
 1.1.2.2 10-Aug-2014  tls Rebase.
 1.1.2.1 26-Jul-2014  tls file menus.md.fr was added on branch tls-earlyentropy on 2014-08-10 07:00:28 +0000
 1.1 26-Jul-2014  dholland branches: 1.1.2; 1.1.6;
Move sysinst sources to usr.sbin.

This commit only physically moves the sources - there are no other
changes, to maximize the probability that this will be treated as a
rename if we ever do manage to migrate away from CVS.

Moving sysinst has been discussed on and off for years and has two
goals: making it easier to work on sysinst, and also making sysinst
available on running systems for use installing chroots and VM images
and other such things. None of the latter is possible yet, but as they
say, one thing at a time.

Doing this now was approved in an impromptu fashion by mrg, riz,
riastradh, me, and groo.
 1.1.6.2 20-Aug-2014  tls Rebase to HEAD as of a few days ago.
 1.1.6.1 26-Jul-2014  tls file menus.md.pl was added on branch tls-maxphys on 2014-08-20 00:05:17 +0000
 1.1.2.2 10-Aug-2014  tls Rebase.
 1.1.2.1 26-Jul-2014  tls file menus.md.pl was added on branch tls-earlyentropy on 2014-08-10 07:00:28 +0000
 1.1 26-Jul-2014  dholland branches: 1.1.2; 1.1.6;
Move sysinst sources to usr.sbin.

This commit only physically moves the sources - there are no other
changes, to maximize the probability that this will be treated as a
rename if we ever do manage to migrate away from CVS.

Moving sysinst has been discussed on and off for years and has two
goals: making it easier to work on sysinst, and also making sysinst
available on running systems for use installing chroots and VM images
and other such things. None of the latter is possible yet, but as they
say, one thing at a time.

Doing this now was approved in an impromptu fashion by mrg, riz,
riastradh, me, and groo.
 1.1.6.2 20-Aug-2014  tls Rebase to HEAD as of a few days ago.
 1.1.6.1 26-Jul-2014  tls file msg.md.de was added on branch tls-maxphys on 2014-08-20 00:05:17 +0000
 1.1.2.2 10-Aug-2014  tls Rebase.
 1.1.2.1 26-Jul-2014  tls file msg.md.de was added on branch tls-earlyentropy on 2014-08-10 07:00:28 +0000
 1.1 26-Jul-2014  dholland branches: 1.1.2; 1.1.6;
Move sysinst sources to usr.sbin.

This commit only physically moves the sources - there are no other
changes, to maximize the probability that this will be treated as a
rename if we ever do manage to migrate away from CVS.

Moving sysinst has been discussed on and off for years and has two
goals: making it easier to work on sysinst, and also making sysinst
available on running systems for use installing chroots and VM images
and other such things. None of the latter is possible yet, but as they
say, one thing at a time.

Doing this now was approved in an impromptu fashion by mrg, riz,
riastradh, me, and groo.
 1.1.6.2 20-Aug-2014  tls Rebase to HEAD as of a few days ago.
 1.1.6.1 26-Jul-2014  tls file msg.md.en was added on branch tls-maxphys on 2014-08-20 00:05:17 +0000
 1.1.2.2 10-Aug-2014  tls Rebase.
 1.1.2.1 26-Jul-2014  tls file msg.md.en was added on branch tls-earlyentropy on 2014-08-10 07:00:28 +0000
 1.1 26-Jul-2014  dholland branches: 1.1.2; 1.1.6;
Move sysinst sources to usr.sbin.

This commit only physically moves the sources - there are no other
changes, to maximize the probability that this will be treated as a
rename if we ever do manage to migrate away from CVS.

Moving sysinst has been discussed on and off for years and has two
goals: making it easier to work on sysinst, and also making sysinst
available on running systems for use installing chroots and VM images
and other such things. None of the latter is possible yet, but as they
say, one thing at a time.

Doing this now was approved in an impromptu fashion by mrg, riz,
riastradh, me, and groo.
 1.1.6.2 20-Aug-2014  tls Rebase to HEAD as of a few days ago.
 1.1.6.1 26-Jul-2014  tls file msg.md.es was added on branch tls-maxphys on 2014-08-20 00:05:17 +0000
 1.1.2.2 10-Aug-2014  tls Rebase.
 1.1.2.1 26-Jul-2014  tls file msg.md.es was added on branch tls-earlyentropy on 2014-08-10 07:00:28 +0000
 1.1 26-Jul-2014  dholland branches: 1.1.2; 1.1.6;
Move sysinst sources to usr.sbin.

This commit only physically moves the sources - there are no other
changes, to maximize the probability that this will be treated as a
rename if we ever do manage to migrate away from CVS.

Moving sysinst has been discussed on and off for years and has two
goals: making it easier to work on sysinst, and also making sysinst
available on running systems for use installing chroots and VM images
and other such things. None of the latter is possible yet, but as they
say, one thing at a time.

Doing this now was approved in an impromptu fashion by mrg, riz,
riastradh, me, and groo.
 1.1.6.2 20-Aug-2014  tls Rebase to HEAD as of a few days ago.
 1.1.6.1 26-Jul-2014  tls file msg.md.fr was added on branch tls-maxphys on 2014-08-20 00:05:17 +0000
 1.1.2.2 10-Aug-2014  tls Rebase.
 1.1.2.1 26-Jul-2014  tls file msg.md.fr was added on branch tls-earlyentropy on 2014-08-10 07:00:28 +0000
 1.1 26-Jul-2014  dholland branches: 1.1.2; 1.1.6;
Move sysinst sources to usr.sbin.

This commit only physically moves the sources - there are no other
changes, to maximize the probability that this will be treated as a
rename if we ever do manage to migrate away from CVS.

Moving sysinst has been discussed on and off for years and has two
goals: making it easier to work on sysinst, and also making sysinst
available on running systems for use installing chroots and VM images
and other such things. None of the latter is possible yet, but as they
say, one thing at a time.

Doing this now was approved in an impromptu fashion by mrg, riz,
riastradh, me, and groo.
 1.1.6.2 20-Aug-2014  tls Rebase to HEAD as of a few days ago.
 1.1.6.1 26-Jul-2014  tls file msg.md.pl was added on branch tls-maxphys on 2014-08-20 00:05:17 +0000
 1.1.2.2 10-Aug-2014  tls Rebase.
 1.1.2.1 26-Jul-2014  tls file msg.md.pl was added on branch tls-earlyentropy on 2014-08-10 07:00:28 +0000
 1.1 26-Jul-2014  dholland branches: 1.1.2; 1.1.6;
Move sysinst sources to usr.sbin.

This commit only physically moves the sources - there are no other
changes, to maximize the probability that this will be treated as a
rename if we ever do manage to migrate away from CVS.

Moving sysinst has been discussed on and off for years and has two
goals: making it easier to work on sysinst, and also making sysinst
available on running systems for use installing chroots and VM images
and other such things. None of the latter is possible yet, but as they
say, one thing at a time.

Doing this now was approved in an impromptu fashion by mrg, riz,
riastradh, me, and groo.
 1.1.6.2 20-Aug-2014  tls Rebase to HEAD as of a few days ago.
 1.1.6.1 26-Jul-2014  tls file Makefile was added on branch tls-maxphys on 2014-08-20 00:05:17 +0000
 1.1.2.2 10-Aug-2014  tls Rebase.
 1.1.2.1 26-Jul-2014  tls file Makefile was added on branch tls-earlyentropy on 2014-08-10 07:00:28 +0000
 1.10 29-Jan-2022  martin When upgrading, update the boot code post extraction from
the updated target file system.
 1.9 12-Oct-2020  martin PR 55536: when we find existing partition tables and have alternative
formats available, offer to delete partitions and create new ones from
scratch (in some other or the same on-disk format).
 1.8 13-Jul-2019  martin branches: 1.8.2;
We may call md_pre_mount() multiple times for the same install set,
so pass an additional index argument so MD code knows which part
of the install will be mounted next.
 1.7 12-Jun-2019  martin Rework internal data structures and "interfaces to user interface" functions
to get rid of all disklabel assumptions.

Previously (even for GPT partitioning) struct disklabel was used, which
obviously breaks large disk setups. Also many MD parts and parts of the
user interface assumed (a) a struct disklabel is used internally to
store partitioning information and (b) partitions are named 'a' ... $MAXPART.

Get rid of this and replace it with a quite abstract interface that should
be able to deal with all variants in partition storage:

- partitions are stored in a (partly abstract) struct disk_partitions
and most parts of it are only accessed via accessor functions provided
by a "partitioning scheme".

- implement partitioning schemes for MBR, disklabel and GPT (with likely
RDB [amiga] and Apple Partition Map [mac*] to follow soon)

- partitioning schemes may be cascaded, e.g. on x86 when using MBR as
"outer partitions", we have disklabel as "inner partitions".

- all user interface goes via accessor functions in the partitioning scheme,
some of which return pointers to special user interface descriptors
(e.g. to allow editing partition flags, which are scheme specific)

Overall the user interface changes (in this initial step) are minimal but
noticable. A new Anita is needed for automatic test setups - many thanks
to Andreas Gustafsson for lots of early testing and a new Anita version,
and to Manuel Bouyer for cooperation and tests of the Anita release.

This work was sponsored by The NetBSD Foundation, Inc.
 1.6 17-Sep-2018  tsutsui Make sure to install a bootloader even on upgrade installation.

Fixes another part of port-sgimips/53583.
Should be pulled up (with rev 1.5) to netbsd-7 and netbsd-8.
 1.5 08-Sep-2018  martin PR port-sgimips/53583: fetch kernel name always before using it.
Make the struct utsname local to avoid future similar issues.
 1.4 17-Mar-2018  jmcneill branches: 1.4.2;
Official builds now append a timestamp to the kernel config name, so we
can no longer rely on matching an exact name like "(INSTALL32_IP3x)".

Strip the trailing ) from the version strings checked so sysinst will
install the correct bootloader and kernel again.
 1.3 02-Jan-2015  abs branches: 1.3.8; 1.3.14;
Rather than scatter set_swap() calls wrapped in ram size checks through
md_post_disklabel() and md_pre_update(), abstract them out to an MI
set_swap_if_low_ram() and call from the appropriate MI places.
Now all platforms add swap if the system has <= 32M of RAM.
 1.2 03-Aug-2014  martin branches: 1.2.2; 1.2.4; 1.2.6;
(Finally) merge a slightly modified version of the 2012 GSoC results
from Eugene Lozovoy: add extended partitioning options to sysinst.
Still needs some testing and polishing, but it now is possible to use GPT
or to create a RAID set from scratch and install onto it.
 1.1 26-Jul-2014  dholland Move sysinst sources to usr.sbin.

This commit only physically moves the sources - there are no other
changes, to maximize the probability that this will be treated as a
rename if we ever do manage to migrate away from CVS.

Moving sysinst has been discussed on and off for years and has two
goals: making it easier to work on sysinst, and also making sysinst
available on running systems for use installing chroots and VM images
and other such things. None of the latter is possible yet, but as they
say, one thing at a time.

Doing this now was approved in an impromptu fashion by mrg, riz,
riastradh, me, and groo.
 1.2.6.2 20-Aug-2014  tls Rebase to HEAD as of a few days ago.
 1.2.6.1 03-Aug-2014  tls file md.c was added on branch tls-maxphys on 2014-08-20 00:05:17 +0000
 1.2.4.3 30-Oct-2018  sborrill Pull up the following revisions(s) (requested by tsutsui in ticket #1640):
usr.sbin/sysinst/arch/sgimips/md.c: revision 1.5-1.6

PR port-sgimips/53583: fetch kernel name always before using it.
Make the struct utsname local to avoid future similar issues.
Make sure to install a bootloader even on upgrade installation.
 1.2.4.2 21-Mar-2018  martin Pull up following revision(s) (requested by jmcneill in ticket #1584):
usr.sbin/sysinst/arch/sgimips/md.c: revision 1.4
Official builds now append a timestamp to the kernel config name, so we
can no longer rely on matching an exact name like "(INSTALL32_IP3x)".
Strip the trailing ) from the version strings checked so sysinst will
install the correct bootloader and kernel again.
 1.2.4.1 11-Jan-2015  snj Pull up following revision(s) (requested by abs in ticket #400):
usr.sbin/sysinst/arch/arc/md.c: revision 1.3
usr.sbin/sysinst/arch/cobalt/md.c: revision 1.3
usr.sbin/sysinst/arch/evbsh3/md.c: revision 1.3
usr.sbin/sysinst/arch/hp300/md.c: revision 1.3
usr.sbin/sysinst/arch/hpcsh/md.c: revision 1.3
usr.sbin/sysinst/arch/i386/md.c: revision 1.5
usr.sbin/sysinst/arch/luna68k/md.c: revision 1.4
usr.sbin/sysinst/arch/mvme68k/md.c: revision 1.3
usr.sbin/sysinst/arch/news68k/md.c: revision 1.3
usr.sbin/sysinst/arch/sgimips/md.c: revision 1.3
usr.sbin/sysinst/arch/vax/md.c: revision 1.3
usr.sbin/sysinst/arch/x68k/md.c: revision 1.3
usr.sbin/sysinst/defs.h: revision 1.6
usr.sbin/sysinst/disks.c: revision 1.7
usr.sbin/sysinst/install.c: revision 1.3
usr.sbin/sysinst/partman.c: revision 1.8
usr.sbin/sysinst/upgrade.c: revision 1.3
Rather than scatter set_swap() calls wrapped in ram size checks through
md_post_disklabel() and md_pre_update(), abstract them out to an MI
set_swap_if_low_ram() and call from the appropriate MI places.
Now all platforms add swap if the system has <= 32M of RAM.
 1.2.2.2 10-Aug-2014  tls Rebase.
 1.2.2.1 03-Aug-2014  tls file md.c was added on branch tls-earlyentropy on 2014-08-10 07:00:28 +0000
 1.3.14.2 30-Sep-2018  pgoyette Ssync with HEAD
 1.3.14.1 22-Mar-2018  pgoyette Synch with HEAD, resolve conflicts
 1.3.8.2 23-Sep-2018  martin Pull up following revision(s) (requested by tsutsui in ticket #1032):

usr.sbin/sysinst/arch/sgimips/md.c: revision 1.5
usr.sbin/sysinst/arch/sgimips/md.c: revision 1.6

PR port-sgimips/53583: fetch kernel name always before using it.

Make the struct utsname local to avoid future similar issues.
Make sure to install a bootloader even on upgrade installation.

-

Fixes another part of port-sgimips/53583.
Should be pulled up (with rev 1.5) to netbsd-7 and netbsd-8.
 1.3.8.1 18-Mar-2018  martin Pull up following revision(s) (requested by jmcneill in ticket #643):
usr.sbin/sysinst/arch/sgimips/md.c: revision 1.4
Official builds now append a timestamp to the kernel config name, so we
can no longer rely on matching an exact name like "(INSTALL32_IP3x)".
Strip the trailing ) from the version strings checked so sysinst will
install the correct bootloader and kernel again.
 1.4.2.2 13-Apr-2020  martin Mostly merge changes from HEAD upto 20200411
 1.4.2.1 10-Jun-2019  christos Sync with HEAD
 1.8.2.2 02-Feb-2022  msaitoh Pull up following revision(s) (requested by martin in ticket #1422):
usr.sbin/sysinst/util.c: revision 1.64
usr.sbin/sysinst/arch/hpcsh/md.c: revision 1.11
usr.sbin/sysinst/arch/alpha/md.c: revision 1.10
usr.sbin/sysinst/arch/sparc64/md.c: revision 1.7
usr.sbin/sysinst/arch/emips/md.c: revision 1.10
usr.sbin/sysinst/arch/cobalt/md.c: revision 1.15
usr.sbin/sysinst/arch/x68k/md.c: revision 1.12
usr.sbin/sysinst/arch/sandpoint/md.c: revision 1.10
usr.sbin/sysinst/arch/luna68k/md.c: revision 1.10
usr.sbin/sysinst/arch/hp300/md.c: revision 1.12
usr.sbin/sysinst/arch/vax/md.c: revision 1.8
usr.sbin/sysinst/arch/hpcmips/md.c: revision 1.10
usr.sbin/sysinst/target.c: revision 1.16
usr.sbin/sysinst/arch/mvme68k/md.c: revision 1.12
usr.sbin/sysinst/arch/arc/md.c: revision 1.14
usr.sbin/sysinst/target.c: revision 1.17
usr.sbin/sysinst/arch/i386/md.c: revision 1.34
usr.sbin/sysinst/arch/mac68k/md.c: revision 1.11
usr.sbin/sysinst/arch/atari/md.c: revision 1.8
usr.sbin/sysinst/arch/sgimips/md.c: revision 1.10
usr.sbin/sysinst/arch/acorn32/md.c: revision 1.8
usr.sbin/sysinst/install.c: revision 1.22
usr.sbin/sysinst/arch/amiga/md.c: revision 1.7
usr.sbin/sysinst/arch/cats/md.c: revision 1.6
usr.sbin/sysinst/arch/dummy/md.c: revision 1.7
usr.sbin/sysinst/arch/shark/md.c: revision 1.7
usr.sbin/sysinst/arch/pmax/md.c: revision 1.9
usr.sbin/sysinst/arch/newsmips/md.c: revision 1.7
usr.sbin/sysinst/arch/mipsco/md.c: revision 1.9
usr.sbin/sysinst/arch/landisk/md.c: revision 1.15
usr.sbin/sysinst/arch/hppa/md.c: revision 1.9
usr.sbin/sysinst/arch/prep/md.c: revision 1.14
usr.sbin/sysinst/defs.h: revision 1.77
usr.sbin/sysinst/arch/ofppc/md.c: revision 1.13
usr.sbin/sysinst/arch/ews4800mips/md.c: revision 1.8
usr.sbin/sysinst/defs.h: revision 1.78
usr.sbin/sysinst/arch/macppc/md.c: revision 1.7
usr.sbin/sysinst/arch/evbppc/md.c: revision 1.10
usr.sbin/sysinst/defs.h: revision 1.79
usr.sbin/sysinst/gpt.c: revision 1.27
usr.sbin/sysinst/arch/bebox/md.c: revision 1.10
usr.sbin/sysinst/gpt.c: revision 1.28
usr.sbin/sysinst/arch/sparc/md.c: revision 1.7
usr.sbin/sysinst/arch/evbsh3/md.c: revision 1.7
usr.sbin/sysinst/arch/evbarm/md.c: revision 1.22
usr.sbin/sysinst/arch/news68k/md.c: revision 1.8
usr.sbin/sysinst/upgrade.c: revision 1.19
usr.sbin/sysinst/arch/zaurus/md.c: revision 1.12
usr.sbin/sysinst/arch/playstation2/md.c: revision 1.10
usr.sbin/sysinst/arch/hpcarm/md.c: revision 1.11
usr.sbin/sysinst/arch/evbmips/md.c: revision 1.10
usr.sbin/sysinst/main.c: revision 1.28
Add an option to set the directory where we look for message catalogs.
Try to get rid of all wedges we created (after unmounting).
When upgrading, update the boot code post extraction from
the updated target file system.
Do not defer wedge deletions when we have nothing mounted.
Define and use a constant for maximum disk name length.
 1.8.2.1 15-Oct-2020  bouyer Pull up following revision(s) (requested by martin in ticket #1113):
usr.sbin/sysinst/bsddisklabel.c: revision 1.46
usr.sbin/sysinst/bsddisklabel.c: revision 1.47
usr.sbin/sysinst/disklabel.c: revision 1.40
usr.sbin/sysinst/arch/cobalt/md.c: revision 1.13
usr.sbin/sysinst/bsddisklabel.c: revision 1.48
usr.sbin/sysinst/disklabel.c: revision 1.41
usr.sbin/sysinst/arch/cobalt/md.c: revision 1.14
usr.sbin/sysinst/bsddisklabel.c: revision 1.49
usr.sbin/sysinst/disklabel.c: revision 1.42
usr.sbin/sysinst/Makefile.inc: revision 1.34
usr.sbin/sysinst/disks.c: revision 1.70
usr.sbin/sysinst/arch/hp300/md.c: revision 1.11
usr.sbin/sysinst/disks.c: revision 1.71
usr.sbin/sysinst/arch/i386/md.h: revision 1.8
usr.sbin/sysinst/arch/arc/md.c: revision 1.13
usr.sbin/sysinst/mbr.h: revision 1.5
usr.sbin/sysinst/mbr.h: revision 1.6
usr.sbin/sysinst/arch/mac68k/md.c: revision 1.10
usr.sbin/sysinst/bsddisklabel.c: revision 1.50
usr.sbin/sysinst/arch/acorn32/md.c: revision 1.7
usr.sbin/sysinst/bsddisklabel.c: revision 1.51
usr.sbin/sysinst/bsddisklabel.c: revision 1.52
usr.sbin/sysinst/bsddisklabel.c: revision 1.53
usr.sbin/sysinst/bsddisklabel.c: revision 1.54
usr.sbin/sysinst/bsddisklabel.c: revision 1.55
usr.sbin/sysinst/bsddisklabel.c: revision 1.56
usr.sbin/sysinst/arch/dummy/md.c: revision 1.6
usr.sbin/sysinst/arch/amd64/md.h: revision 1.9
usr.sbin/sysinst/arch/evbsh3/md.c: revision 1.6
usr.sbin/sysinst/arch/sparc/md.c: revision 1.6
usr.sbin/sysinst/arch/zaurus/md.c: revision 1.10
usr.sbin/sysinst/arch/x68k/md.c: revision 1.11
usr.sbin/sysinst/arch/sandpoint/md.c: revision 1.9
usr.sbin/sysinst/arch/vax/md.c: revision 1.7
usr.sbin/sysinst/arch/luna68k/md.c: revision 1.9
usr.sbin/sysinst/gpt.c: revision 1.19
usr.sbin/sysinst/arch/i386/md.c: revision 1.31
usr.sbin/sysinst/arch/i386/md.c: revision 1.32
usr.sbin/sysinst/arch/evbarm/md.c: revision 1.17
usr.sbin/sysinst/arch/evbarm/md.c: revision 1.18
usr.sbin/sysinst/arch/evbarm/md.c: revision 1.19
usr.sbin/sysinst/arch/shark/md.c: revision 1.6
usr.sbin/sysinst/arch/landisk/md.c: revision 1.14
usr.sbin/sysinst/util.c: revision 1.43
usr.sbin/sysinst/gpt.c: revision 1.20
usr.sbin/sysinst/util.c: revision 1.44
usr.sbin/sysinst/gpt.c: revision 1.21
usr.sbin/sysinst/gpt.c: revision 1.22
usr.sbin/sysinst/arch/evbarm/msg.md.en: revision 1.2
usr.sbin/sysinst/arch/ofppc/md.c: revision 1.11
usr.sbin/sysinst/util.c: revision 1.46
usr.sbin/sysinst/arch/ofppc/md.c: revision 1.12
usr.sbin/sysinst/util.c: revision 1.47
usr.sbin/sysinst/arch/evbarm/md.h: revision 1.6
usr.sbin/sysinst/util.c: revision 1.48
usr.sbin/sysinst/arch/evbarm/md.h: revision 1.7
usr.sbin/sysinst/arch/evbmips/md.c: revision 1.9
usr.sbin/sysinst/msg.mi.fr: revision 1.28
usr.sbin/sysinst/msg.mi.fr: revision 1.29
usr.sbin/sysinst/arch/sgimips/md.c: revision 1.9
usr.sbin/sysinst/arch/evbarm/Makefile: revision 1.3
usr.sbin/sysinst/msg.mi.de: revision 1.23
usr.sbin/sysinst/arch/hpcsh/md.c: revision 1.10
usr.sbin/sysinst/msg.mi.de: revision 1.24
usr.sbin/sysinst/install.c: revision 1.15
usr.sbin/sysinst/install.c: revision 1.16
usr.sbin/sysinst/arch/sparc64/md.c: revision 1.6
usr.sbin/sysinst/install.c: revision 1.17
usr.sbin/sysinst/install.c: revision 1.18
usr.sbin/sysinst/partitions.h: revision 1.16
usr.sbin/sysinst/install.c: revision 1.19
usr.sbin/sysinst/partitions.h: revision 1.17
usr.sbin/sysinst/arch/evbppc/md.c: revision 1.9
usr.sbin/sysinst/arch/playstation2/md.c: revision 1.9
usr.sbin/sysinst/partitions.h: revision 1.18
usr.sbin/sysinst/arch/hpcarm/md.c: revision 1.9
usr.sbin/sysinst/partitions.h: revision 1.19
usr.sbin/sysinst/msg.mi.es: revision 1.24
usr.sbin/sysinst/msg.mi.es: revision 1.25
usr.sbin/sysinst/msg.mi.es: revision 1.26
usr.sbin/sysinst/arch/zaurus/md.c: revision 1.9
usr.sbin/sysinst/target.c: revision 1.13
usr.sbin/sysinst/target.c: revision 1.14
usr.sbin/sysinst/part_edit.c: revision 1.17
usr.sbin/sysinst/part_edit.c: revision 1.18
usr.sbin/sysinst/msg.mi.fr: revision 1.30
usr.sbin/sysinst/arch/mvme68k/md.c: revision 1.11
usr.sbin/sysinst/part_edit.c: revision 1.19
usr.sbin/sysinst/msg.mi.fr: revision 1.31
usr.sbin/sysinst/arch/alpha/md.c: revision 1.9
usr.sbin/sysinst/msg.mi.en: revision 1.30
usr.sbin/sysinst/defs.h: revision 1.56
usr.sbin/sysinst/msg.mi.en: revision 1.31
usr.sbin/sysinst/defs.h: revision 1.57
usr.sbin/sysinst/msg.mi.en: revision 1.32
usr.sbin/sysinst/arch/amiga/md.c: revision 1.6
usr.sbin/sysinst/arch/hpcmips/md.c: revision 1.9
usr.sbin/sysinst/defs.h: revision 1.58
usr.sbin/sysinst/arch/cats/md.c: revision 1.5
usr.sbin/sysinst/defs.h: revision 1.59
usr.sbin/sysinst/arch/newsmips/md.c: revision 1.6
usr.sbin/sysinst/arch/pmax/md.c: revision 1.8
usr.sbin/sysinst/arch/mipsco/md.c: revision 1.8
usr.sbin/sysinst/part_edit.c: revision 1.20
usr.sbin/sysinst/part_edit.c: revision 1.21
usr.sbin/sysinst/arch/macppc/md.c: revision 1.6
usr.sbin/sysinst/part_edit.c: revision 1.22
usr.sbin/sysinst/part_edit.c: revision 1.23
usr.sbin/sysinst/part_edit.c: revision 1.24
usr.sbin/sysinst/defs.h: revision 1.60
usr.sbin/sysinst/arch/mac68k/Makefile: revision 1.3
usr.sbin/sysinst/defs.h: revision 1.61
usr.sbin/sysinst/defs.h: revision 1.63
usr.sbin/sysinst/defs.h: revision 1.64
usr.sbin/sysinst/defs.h: revision 1.65
usr.sbin/sysinst/label.c: revision 1.21
usr.sbin/sysinst/defs.h: revision 1.66
usr.sbin/sysinst/label.c: revision 1.22
usr.sbin/sysinst/defs.h: revision 1.67
usr.sbin/sysinst/label.c: revision 1.23
usr.sbin/sysinst/label.c: revision 1.24
usr.sbin/sysinst/label.c: revision 1.25
usr.sbin/sysinst/label.c: revision 1.26
usr.sbin/sysinst/label.c: revision 1.27
usr.sbin/sysinst/msg.mi.pl: revision 1.31
usr.sbin/sysinst/label.c: revision 1.28
usr.sbin/sysinst/msg.mi.pl: revision 1.32
usr.sbin/sysinst/label.c: revision 1.29
usr.sbin/sysinst/arch/atari/md.c: revision 1.7
usr.sbin/sysinst/disklabel.c: revision 1.36
usr.sbin/sysinst/disklabel.c: revision 1.37
usr.sbin/sysinst/disklabel.c: revision 1.38
usr.sbin/sysinst/disklabel.c: revision 1.39
usr.sbin/sysinst/arch/bebox/md.c: revision 1.9
usr.sbin/sysinst/mbr.c: revision 1.32
usr.sbin/sysinst/disks.c: revision 1.66
usr.sbin/sysinst/mbr.c: revision 1.33
usr.sbin/sysinst/disks.c: revision 1.67
usr.sbin/sysinst/mbr.c: revision 1.34
usr.sbin/sysinst/arch/emips/md.c: revision 1.9
usr.sbin/sysinst/disks.c: revision 1.68
usr.sbin/sysinst/partitions.c: revision 1.11
usr.sbin/sysinst/mbr.c: revision 1.35
usr.sbin/sysinst/disks.c: revision 1.69
usr.sbin/sysinst/mbr.c: revision 1.36
usr.sbin/sysinst/arch/hppa/md.c: revision 1.8
usr.sbin/sysinst/arch/prep/md.c: revision 1.13
usr.sbin/sysinst/label.c: revision 1.30
usr.sbin/sysinst/arch/ews4800mips/md.c: revision 1.7
usr.sbin/sysinst/main.c: revision 1.21
usr.sbin/sysinst/main.c: revision 1.22
usr.sbin/sysinst/main.c: revision 1.23
usr.sbin/sysinst/bsddisklabel.c: revision 1.40
usr.sbin/sysinst/main.c: revision 1.24
usr.sbin/sysinst/arch/cobalt/md.h: revision 1.6
usr.sbin/sysinst/bsddisklabel.c: revision 1.41
usr.sbin/sysinst/main.c: revision 1.25
usr.sbin/sysinst/arch/news68k/md.c: revision 1.7
usr.sbin/sysinst/bsddisklabel.c: revision 1.42
usr.sbin/sysinst/bsddisklabel.c: revision 1.43
usr.sbin/sysinst/bsddisklabel.c: revision 1.44
usr.sbin/sysinst/bsddisklabel.c: revision 1.45
Use strlcpy in a few places to guarnatee 0-terminated strings
Rever previous: the d_packname in struct disklabel is not NUL terminated.
Disable the warning instead.
Do not force -Os optimization (unless SMALLPROG)
Remove unused "rel" global variable and make the -r option a no-op.
PR 55045: strlcpy(NULL, ..., 0) considered harmfull in some implementations.
PR misc/54886: bump threshold for automatic/default creation of a tmpfs /tmp
up slightly (to 384 MB ram). This will make sure the default install has
a > 64 MB /tmp available (number pulled out of thin air, 64 MB is the minimum
required by the ZFS tests).
Don't depend on common symbol definitions.
boardype should not be common.
Redo the root-size-limit check again after we grew the root partition
for kernel dumps. Auto-enable the /usr partition if it overflows.
For all non-root partitions, default to FFSv2.
When extending a partition (to fill the total disk size) do respect
size limits.
Do not suggest a size limited partition for extension by default.
Minor tweak to previous: when forcing a /usr partition just to have an
arbitrary extendable partition, still use its default size initially.
At the end of a new installation save entropy.
Ooops, backout previous - twice the entropy saving is not needed.
Instead slightly improve the (slightly) hidden other code that already
did it.
PR 55202: disable swapping if we started it due to low ram
it's "its"
Remove "If you booted from a floppy" message
Set HAVE_INSTALL_IMAGE for evbarm
Change mountpoint of boot ext2fs from /stand to /ext2 to avoid conflict.
Should be pulled up to netbsd-9, with fixes of PR/55060.
MBR type for Ext2 should be MBR_PTYPE_LNXEXT2, not MBR_PTYPE_FAT12.
Silence -Wstringop-truncation for ``name'' in disp_selected_part().
This variable is used only for display, and truncation seems harmless.
PR 55572: avoid crash when answering the mount point prompt for a previously
empty mount point with an emptry sting.
When adding a new partition in the concrete partition editor, make sure
to set a pointer to the partition table interface in the new entry.
Otherwise we may end up not writing back the partitions at all, leading
to further fallout later.
Receipe to reproduce the issue from Frederic Fauberteau, thanks!
In the concrete partitions editor, after deleting the last partition move
the menu selection to the "add a partition" entry (instead of the sentinel
line which is not an active menu entry).
Typo in comment
Keep a list of all partition tables from which we have deleted partitions
and make sure we update those partition tables when writing partitions,
even if no install related partition remains on them.
Fix display of timezone selection menu
If there is no current partitioning manager assume we are editing the
current system and make target_already_root() return true.
Fixes various fallout when using sysinst post installation.
PR 55377: mark boot partitions in the partition size display, as suggested
by Izumi Tsutsui (minor modifications + all bugs by me)
PR 55378: do not assume RAW_PART to be either 2 or 3
PR 55379: avoid creating bogus /etc/fstab lines for /dev/cd* if no
cdrom is available.
PR 55381: try to deal with moved (but not yet saved) partitions when
calculating free space
Apply patch provided by Izumi Tsutsui in PR 55382: make ext2 partitions
show up in the outer (MBR) partition table, needed for example on Cobalt
where firmware boots from that partition.
PR 55384: detangle pm->ptstart from the "install" flag (selecting a
target partition). Instead introduce a new PTI_INSTALL_TARGET per partition
flag and deal with it in the partitioning backends.
Honour pm->ptstart when allocating new partitions - it is supposed to be
the first sector usable by NetBSD.
If we have no explicitly marke target root partition, make sure to set
the proper flag on the implicit one.
When merging existing partitions with desired target system layout
information, only force the "mount" flag if the existing partitions
has a valid mount point.
Add a heuristic to detect and properly mark EFI system partitions
when re-using pre-existing partitions.
When MD code requests a reserved area (at the start of the disk)
make sure to properly account for the "lost" space during all calculations
and especially when expanding the main partition to fill the disk.
Avoid using the global "pm" or a passed device descriptons when we are
passing disk limits explicitly anyway.
Simplify/fix a few rounding calculations.
When creating new partitions for "full disk" use, pass a install target
hint to the partitioning backend (for the outer NetBSD partition).
Use an install target hint to mark a new partition active.
When compiled with BOOTSEL support, also name the new partition "NetBSD".
Remove more pm->ptstart abuse - calculate values localy where needed
instead.
Fix editing start and size of not yet existing outer partitions.
Previously we abused pm->ptstart / pm->ptsize to pass the bounds of the
NetBSD outer partition to the inner partition editor - but now this is
not a valid assumption any more, so explicitly fix the bounds if an
outer partition exists.
Remove very strange code that special-cased MSDOS file systems and refused
to newfs the partition (despite explicit request to do so) if it was
mountable.
Accidently carried over from a dim and distant past, before we had
fsck_newfs.
PR 55536: when we find existing partition tables and have alternative
formats available, offer to delete partitions and create new ones from
scratch (in some other or the same on-disk format).
Minor fix to previous: fix condition when we offer the partition type
switch - it makes sense even if the disk is partitioned but has no valid
partitions.
Before forcing MBR partitions into our disklabel, make sure they are not
there yet - could happen in various paths when reusing existing partitions
(or parts of that) - previously we would blindly duplicate identical
partitions.
Ooops, part of previous was not meant to be included yet
When renumbering partitions (after deletions) be slightly more lax
in matching, to cope with differences between MBR EFI partitions and
disklabel MSDOS partitions.
PR 55142: on popular demand bring back expert options to adjust the
number of free inodes, block size and fragment size for FFS and LFS.
Fix copy & pasto noticed by Jason Mitchell: change the type of a GPT
partition via "gpt type" - not "gpt label".
Fix copy & pasto (missing "again" label)
Remove dead code
Move MBR writing (if any) post disklabel writing, otherwise strange
interactions happen.
Properly convert partition default sizes in MB to number of sectors
 1.5 16-Jun-2022  tsutsui Define DEFSWAPSIZE properly. DEFSWAPRAM seems obsolete.
 1.4 02-Oct-2019  maya Split out /rescue to its own set and adapt installers/images to add it.

This is meant to make updates safer: if something goes wrong with updating
base, we still have the old, standalone /rescue to recover from.
 1.3 12-Jun-2019  martin branches: 1.3.2;
Rework internal data structures and "interfaces to user interface" functions
to get rid of all disklabel assumptions.

Previously (even for GPT partitioning) struct disklabel was used, which
obviously breaks large disk setups. Also many MD parts and parts of the
user interface assumed (a) a struct disklabel is used internally to
store partitioning information and (b) partitions are named 'a' ... $MAXPART.

Get rid of this and replace it with a quite abstract interface that should
be able to deal with all variants in partition storage:

- partitions are stored in a (partly abstract) struct disk_partitions
and most parts of it are only accessed via accessor functions provided
by a "partitioning scheme".

- implement partitioning schemes for MBR, disklabel and GPT (with likely
RDB [amiga] and Apple Partition Map [mac*] to follow soon)

- partitioning schemes may be cascaded, e.g. on x86 when using MBR as
"outer partitions", we have disklabel as "inner partitions".

- all user interface goes via accessor functions in the partitioning scheme,
some of which return pointers to special user interface descriptors
(e.g. to allow editing partition flags, which are scheme specific)

Overall the user interface changes (in this initial step) are minimal but
noticable. A new Anita is needed for automatic test setups - many thanks
to Andreas Gustafsson for lots of early testing and a new Anita version,
and to Manuel Bouyer for cooperation and tests of the Anita release.

This work was sponsored by The NetBSD Foundation, Inc.
 1.2 16-Nov-2018  martin Sync install size estimates with current reality
 1.1 26-Jul-2014  dholland branches: 1.1.2; 1.1.6; 1.1.26; 1.1.28;
Move sysinst sources to usr.sbin.

This commit only physically moves the sources - there are no other
changes, to maximize the probability that this will be treated as a
rename if we ever do manage to migrate away from CVS.

Moving sysinst has been discussed on and off for years and has two
goals: making it easier to work on sysinst, and also making sysinst
available on running systems for use installing chroots and VM images
and other such things. None of the latter is possible yet, but as they
say, one thing at a time.

Doing this now was approved in an impromptu fashion by mrg, riz,
riastradh, me, and groo.
 1.1.28.2 13-Apr-2020  martin Mostly merge changes from HEAD upto 20200411
 1.1.28.1 10-Jun-2019  christos Sync with HEAD
 1.1.26.1 26-Nov-2018  pgoyette Sync with HEAD, resolve a couple of conflicts
 1.1.6.2 20-Aug-2014  tls Rebase to HEAD as of a few days ago.
 1.1.6.1 26-Jul-2014  tls file md.h was added on branch tls-maxphys on 2014-08-20 00:05:17 +0000
 1.1.2.2 10-Aug-2014  tls Rebase.
 1.1.2.1 26-Jul-2014  tls file md.h was added on branch tls-earlyentropy on 2014-08-10 07:00:28 +0000
 1.3.2.1 17-Nov-2019  martin Pull up following revision(s) (requested by maya in ticket #435):

distrib/sets/maketars: revision 1.90
usr.sbin/sysinst/arch/playstation2/md.h: revision 1.2
usr.sbin/sysinst/arch/sandpoint/md.h: revision 1.3
usr.sbin/sysinst/arch/evbppc/md.h: revision 1.3
usr.sbin/sysinst/arch/hpcarm/md.h: revision 1.3
usr.sbin/sysinst/arch/mvme68k/md.h: revision 1.3
distrib/sun3/MakeInstTape: revision 1.3
usr.sbin/sysinst/util.c: revision 1.33
distrib/sets/lists/rescue/mi: revision 1.1
distrib/sets/lists/base/rescue.sun2: file removal
usr.sbin/sysinst/arch/zaurus/md.h: revision 1.3
distrib/sets/lists/base/rescue.ad.m68k.shl: file removal
distrib/sets/regpkgset: revision 1.13
usr.sbin/sysinst/arch/i386/md.h: revision 1.7
distrib/sets/lists/base/rescue.sparc: file removal
distrib/notes/mvme68k/xfer: revision 1.19
distrib/sets/sets.subr: revision 1.187
distrib/common/bootimage/Makefile.bootimage: revision 1.22
usr.sbin/sysinst/msg.mi.de: revision 1.16
usr.sbin/sysinst/arch/atari/md.h: revision 1.3
rescue/Makefile: revision 1.38
distrib/sets/lists/base/rescue.macppc: file removal
usr.sbin/sysinst/arch/arc/md.h: revision 1.4
distrib/miniroot/install.sub: revision 1.49
usr.sbin/sysinst/arch/acorn32/md.h: revision 1.3
usr.sbin/sysinst/arch/x68k/md.h: revision 1.3
usr.sbin/sysinst/arch/hpcmips/md.h: revision 1.3
usr.sbin/sysinst/arch/bebox/md.h: revision 1.3
usr.sbin/sysinst/arch/hpcsh/md.h: revision 1.2
distrib/sets/lists/base/rescue.shark: file removal
usr.sbin/sysinst/arch/emips/md.h: revision 1.5
distrib/utils/embedded/mkimage: revision 1.70
usr.sbin/sysinst/arch/shark/md.h: revision 1.3
usr.sbin/sysinst/arch/pmax/md.h: revision 1.4
usr.sbin/sysinst/arch/amiga/md.h: revision 1.4
usr.sbin/sysinst/arch/hp300/md.h: revision 1.5
rescue/list.ldconfig: file removal
distrib/sets/lists/base/rescue.ad.m68k: file removal
usr.sbin/sysinst/arch/prep/md.h: revision 1.4
usr.sbin/sysinst/arch/cats/md.h: revision 1.4
usr.sbin/sysinst/arch/amd64/md.h: revision 1.7
usr.sbin/sysinst/msg.mi.es: revision 1.17
usr.sbin/sysinst/msg.mi.fr: revision 1.20
usr.sbin/sysinst/msg.mi.pl: revision 1.23
distrib/sets/lists/base/rescue.i386: file removal
usr.sbin/sysinst/arch/evbarm/md.h: revision 1.3
distrib/sets/lists/base/rescue.vax: file removal
distrib/amd64/uefi-installimage/Makefile.bootimage: revision 1.12
usr.sbin/sysinst/arch/evbmips/md.h: revision 1.3
distrib/sets/lists/base/rescue.mi: file removal
distrib/sets/README: revision 1.14
usr.sbin/sysinst/arch/sgimips/md.h: revision 1.4
distrib/sets/lists/base/rescue.sparc64: file removal
distrib/sets/lists/base/rescue.mi: revision 1.45
distrib/sets/lists/base/rescue.mi: revision 1.46
usr.sbin/sysinst/arch/ofppc/md.h: revision 1.4
usr.sbin/sysinst/arch/cobalt/md.h: revision 1.4
distrib/sets/lists/base/rescue.ad.arm: file removal
distrib/sets/lists/base/rescue.mac68k: file removal
usr.sbin/sysinst/defs.h: revision 1.45
usr.sbin/sysinst/arch/landisk/md.h: revision 1.2
distrib/notes/atari/xfer: revision 1.17
etc/Makefile: revision 1.441
usr.sbin/sysinst/msg.mi.en: revision 1.22
distrib/sun2/MakeInstTape: revision 1.2

Remove ldconfig from /rescue, and mark it MI obsolete.
- ldconfig in netbsd refers to a.out binaries only. We've been ELF-only
since NetBSD 2.0 or so, and having it in /rescue served little purpose
even before that, as /rescue is standalone.
- Using MI obsolete to avoid the need for MD set lists where ldconfig
is the sole entry

Mark /rescue/edlabel as MI-obsolete, so we can remove all remaining MD
rescue set list files.

Split out /rescue to its own set and adapt installers/images to add it.

This is meant to make updates safer: if something goes wrong with updating
base, we still have the old, standalone /rescue to recover from.
 1.1 26-Jul-2014  dholland branches: 1.1.2; 1.1.6;
Move sysinst sources to usr.sbin.

This commit only physically moves the sources - there are no other
changes, to maximize the probability that this will be treated as a
rename if we ever do manage to migrate away from CVS.

Moving sysinst has been discussed on and off for years and has two
goals: making it easier to work on sysinst, and also making sysinst
available on running systems for use installing chroots and VM images
and other such things. None of the latter is possible yet, but as they
say, one thing at a time.

Doing this now was approved in an impromptu fashion by mrg, riz,
riastradh, me, and groo.
 1.1.6.2 20-Aug-2014  tls Rebase to HEAD as of a few days ago.
 1.1.6.1 26-Jul-2014  tls file menus.md.en was added on branch tls-maxphys on 2014-08-20 00:05:17 +0000
 1.1.2.2 10-Aug-2014  tls Rebase.
 1.1.2.1 26-Jul-2014  tls file menus.md.en was added on branch tls-earlyentropy on 2014-08-10 07:00:28 +0000
 1.1 26-Jul-2014  dholland branches: 1.1.2; 1.1.6;
Move sysinst sources to usr.sbin.

This commit only physically moves the sources - there are no other
changes, to maximize the probability that this will be treated as a
rename if we ever do manage to migrate away from CVS.

Moving sysinst has been discussed on and off for years and has two
goals: making it easier to work on sysinst, and also making sysinst
available on running systems for use installing chroots and VM images
and other such things. None of the latter is possible yet, but as they
say, one thing at a time.

Doing this now was approved in an impromptu fashion by mrg, riz,
riastradh, me, and groo.
 1.1.6.2 20-Aug-2014  tls Rebase to HEAD as of a few days ago.
 1.1.6.1 26-Jul-2014  tls file menus.md.es was added on branch tls-maxphys on 2014-08-20 00:05:17 +0000
 1.1.2.2 10-Aug-2014  tls Rebase.
 1.1.2.1 26-Jul-2014  tls file menus.md.es was added on branch tls-earlyentropy on 2014-08-10 07:00:28 +0000
 1.1 26-Jul-2014  dholland branches: 1.1.2; 1.1.6;
Move sysinst sources to usr.sbin.

This commit only physically moves the sources - there are no other
changes, to maximize the probability that this will be treated as a
rename if we ever do manage to migrate away from CVS.

Moving sysinst has been discussed on and off for years and has two
goals: making it easier to work on sysinst, and also making sysinst
available on running systems for use installing chroots and VM images
and other such things. None of the latter is possible yet, but as they
say, one thing at a time.

Doing this now was approved in an impromptu fashion by mrg, riz,
riastradh, me, and groo.
 1.1.6.2 20-Aug-2014  tls Rebase to HEAD as of a few days ago.
 1.1.6.1 26-Jul-2014  tls file menus.md.fr was added on branch tls-maxphys on 2014-08-20 00:05:17 +0000
 1.1.2.2 10-Aug-2014  tls Rebase.
 1.1.2.1 26-Jul-2014  tls file menus.md.fr was added on branch tls-earlyentropy on 2014-08-10 07:00:28 +0000
 1.1 26-Jul-2014  dholland branches: 1.1.2; 1.1.6;
Move sysinst sources to usr.sbin.

This commit only physically moves the sources - there are no other
changes, to maximize the probability that this will be treated as a
rename if we ever do manage to migrate away from CVS.

Moving sysinst has been discussed on and off for years and has two
goals: making it easier to work on sysinst, and also making sysinst
available on running systems for use installing chroots and VM images
and other such things. None of the latter is possible yet, but as they
say, one thing at a time.

Doing this now was approved in an impromptu fashion by mrg, riz,
riastradh, me, and groo.
 1.1.6.2 20-Aug-2014  tls Rebase to HEAD as of a few days ago.
 1.1.6.1 26-Jul-2014  tls file menus.md.pl was added on branch tls-maxphys on 2014-08-20 00:05:17 +0000
 1.1.2.2 10-Aug-2014  tls Rebase.
 1.1.2.1 26-Jul-2014  tls file menus.md.pl was added on branch tls-earlyentropy on 2014-08-10 07:00:28 +0000
 1.1 26-Jul-2014  dholland branches: 1.1.2; 1.1.6;
Move sysinst sources to usr.sbin.

This commit only physically moves the sources - there are no other
changes, to maximize the probability that this will be treated as a
rename if we ever do manage to migrate away from CVS.

Moving sysinst has been discussed on and off for years and has two
goals: making it easier to work on sysinst, and also making sysinst
available on running systems for use installing chroots and VM images
and other such things. None of the latter is possible yet, but as they
say, one thing at a time.

Doing this now was approved in an impromptu fashion by mrg, riz,
riastradh, me, and groo.
 1.1.6.2 20-Aug-2014  tls Rebase to HEAD as of a few days ago.
 1.1.6.1 26-Jul-2014  tls file msg.md.de was added on branch tls-maxphys on 2014-08-20 00:05:17 +0000
 1.1.2.2 10-Aug-2014  tls Rebase.
 1.1.2.1 26-Jul-2014  tls file msg.md.de was added on branch tls-earlyentropy on 2014-08-10 07:00:28 +0000
 1.1 26-Jul-2014  dholland branches: 1.1.2; 1.1.6;
Move sysinst sources to usr.sbin.

This commit only physically moves the sources - there are no other
changes, to maximize the probability that this will be treated as a
rename if we ever do manage to migrate away from CVS.

Moving sysinst has been discussed on and off for years and has two
goals: making it easier to work on sysinst, and also making sysinst
available on running systems for use installing chroots and VM images
and other such things. None of the latter is possible yet, but as they
say, one thing at a time.

Doing this now was approved in an impromptu fashion by mrg, riz,
riastradh, me, and groo.
 1.1.6.2 20-Aug-2014  tls Rebase to HEAD as of a few days ago.
 1.1.6.1 26-Jul-2014  tls file msg.md.en was added on branch tls-maxphys on 2014-08-20 00:05:17 +0000
 1.1.2.2 10-Aug-2014  tls Rebase.
 1.1.2.1 26-Jul-2014  tls file msg.md.en was added on branch tls-earlyentropy on 2014-08-10 07:00:28 +0000
 1.1 26-Jul-2014  dholland branches: 1.1.2; 1.1.6;
Move sysinst sources to usr.sbin.

This commit only physically moves the sources - there are no other
changes, to maximize the probability that this will be treated as a
rename if we ever do manage to migrate away from CVS.

Moving sysinst has been discussed on and off for years and has two
goals: making it easier to work on sysinst, and also making sysinst
available on running systems for use installing chroots and VM images
and other such things. None of the latter is possible yet, but as they
say, one thing at a time.

Doing this now was approved in an impromptu fashion by mrg, riz,
riastradh, me, and groo.
 1.1.6.2 20-Aug-2014  tls Rebase to HEAD as of a few days ago.
 1.1.6.1 26-Jul-2014  tls file msg.md.es was added on branch tls-maxphys on 2014-08-20 00:05:17 +0000
 1.1.2.2 10-Aug-2014  tls Rebase.
 1.1.2.1 26-Jul-2014  tls file msg.md.es was added on branch tls-earlyentropy on 2014-08-10 07:00:28 +0000
 1.1 26-Jul-2014  dholland branches: 1.1.2; 1.1.6;
Move sysinst sources to usr.sbin.

This commit only physically moves the sources - there are no other
changes, to maximize the probability that this will be treated as a
rename if we ever do manage to migrate away from CVS.

Moving sysinst has been discussed on and off for years and has two
goals: making it easier to work on sysinst, and also making sysinst
available on running systems for use installing chroots and VM images
and other such things. None of the latter is possible yet, but as they
say, one thing at a time.

Doing this now was approved in an impromptu fashion by mrg, riz,
riastradh, me, and groo.
 1.1.6.2 20-Aug-2014  tls Rebase to HEAD as of a few days ago.
 1.1.6.1 26-Jul-2014  tls file msg.md.fr was added on branch tls-maxphys on 2014-08-20 00:05:17 +0000
 1.1.2.2 10-Aug-2014  tls Rebase.
 1.1.2.1 26-Jul-2014  tls file msg.md.fr was added on branch tls-earlyentropy on 2014-08-10 07:00:28 +0000
 1.1 26-Jul-2014  dholland branches: 1.1.2; 1.1.6;
Move sysinst sources to usr.sbin.

This commit only physically moves the sources - there are no other
changes, to maximize the probability that this will be treated as a
rename if we ever do manage to migrate away from CVS.

Moving sysinst has been discussed on and off for years and has two
goals: making it easier to work on sysinst, and also making sysinst
available on running systems for use installing chroots and VM images
and other such things. None of the latter is possible yet, but as they
say, one thing at a time.

Doing this now was approved in an impromptu fashion by mrg, riz,
riastradh, me, and groo.
 1.1.6.2 20-Aug-2014  tls Rebase to HEAD as of a few days ago.
 1.1.6.1 26-Jul-2014  tls file msg.md.pl was added on branch tls-maxphys on 2014-08-20 00:05:17 +0000
 1.1.2.2 10-Aug-2014  tls Rebase.
 1.1.2.1 26-Jul-2014  tls file msg.md.pl was added on branch tls-earlyentropy on 2014-08-10 07:00:28 +0000
 1.1 26-Jul-2014  dholland branches: 1.1.2; 1.1.6;
Move sysinst sources to usr.sbin.

This commit only physically moves the sources - there are no other
changes, to maximize the probability that this will be treated as a
rename if we ever do manage to migrate away from CVS.

Moving sysinst has been discussed on and off for years and has two
goals: making it easier to work on sysinst, and also making sysinst
available on running systems for use installing chroots and VM images
and other such things. None of the latter is possible yet, but as they
say, one thing at a time.

Doing this now was approved in an impromptu fashion by mrg, riz,
riastradh, me, and groo.
 1.1.6.2 20-Aug-2014  tls Rebase to HEAD as of a few days ago.
 1.1.6.1 26-Jul-2014  tls file Makefile was added on branch tls-maxphys on 2014-08-20 00:05:17 +0000
 1.1.2.2 10-Aug-2014  tls Rebase.
 1.1.2.1 26-Jul-2014  tls file Makefile was added on branch tls-earlyentropy on 2014-08-10 07:00:28 +0000
 1.7 29-Jan-2022  martin When upgrading, update the boot code post extraction from
the updated target file system.
 1.6 12-Oct-2020  martin PR 55536: when we find existing partition tables and have alternative
formats available, offer to delete partitions and create new ones from
scratch (in some other or the same on-disk format).
 1.5 13-Jul-2019  martin branches: 1.5.2;
We may call md_pre_mount() multiple times for the same install set,
so pass an additional index argument so MD code knows which part
of the install will be mounted next.
 1.4 20-Jun-2019  christos Use _fmt_ msg_ methods when formats are needed.
 1.3 12-Jun-2019  martin Rework internal data structures and "interfaces to user interface" functions
to get rid of all disklabel assumptions.

Previously (even for GPT partitioning) struct disklabel was used, which
obviously breaks large disk setups. Also many MD parts and parts of the
user interface assumed (a) a struct disklabel is used internally to
store partitioning information and (b) partitions are named 'a' ... $MAXPART.

Get rid of this and replace it with a quite abstract interface that should
be able to deal with all variants in partition storage:

- partitions are stored in a (partly abstract) struct disk_partitions
and most parts of it are only accessed via accessor functions provided
by a "partitioning scheme".

- implement partitioning schemes for MBR, disklabel and GPT (with likely
RDB [amiga] and Apple Partition Map [mac*] to follow soon)

- partitioning schemes may be cascaded, e.g. on x86 when using MBR as
"outer partitions", we have disklabel as "inner partitions".

- all user interface goes via accessor functions in the partitioning scheme,
some of which return pointers to special user interface descriptors
(e.g. to allow editing partition flags, which are scheme specific)

Overall the user interface changes (in this initial step) are minimal but
noticable. A new Anita is needed for automatic test setups - many thanks
to Andreas Gustafsson for lots of early testing and a new Anita version,
and to Manuel Bouyer for cooperation and tests of the Anita release.

This work was sponsored by The NetBSD Foundation, Inc.
 1.2 03-Aug-2014  martin branches: 1.2.2; 1.2.6; 1.2.28;
(Finally) merge a slightly modified version of the 2012 GSoC results
from Eugene Lozovoy: add extended partitioning options to sysinst.
Still needs some testing and polishing, but it now is possible to use GPT
or to create a RAID set from scratch and install onto it.
 1.1 26-Jul-2014  dholland Move sysinst sources to usr.sbin.

This commit only physically moves the sources - there are no other
changes, to maximize the probability that this will be treated as a
rename if we ever do manage to migrate away from CVS.

Moving sysinst has been discussed on and off for years and has two
goals: making it easier to work on sysinst, and also making sysinst
available on running systems for use installing chroots and VM images
and other such things. None of the latter is possible yet, but as they
say, one thing at a time.

Doing this now was approved in an impromptu fashion by mrg, riz,
riastradh, me, and groo.
 1.2.28.1 13-Apr-2020  martin Mostly merge changes from HEAD upto 20200411
 1.2.6.2 20-Aug-2014  tls Rebase to HEAD as of a few days ago.
 1.2.6.1 03-Aug-2014  tls file md.c was added on branch tls-maxphys on 2014-08-20 00:05:17 +0000
 1.2.2.2 10-Aug-2014  tls Rebase.
 1.2.2.1 03-Aug-2014  tls file md.c was added on branch tls-earlyentropy on 2014-08-10 07:00:28 +0000
 1.5.2.2 02-Feb-2022  msaitoh Pull up following revision(s) (requested by martin in ticket #1422):
usr.sbin/sysinst/util.c: revision 1.64
usr.sbin/sysinst/arch/hpcsh/md.c: revision 1.11
usr.sbin/sysinst/arch/alpha/md.c: revision 1.10
usr.sbin/sysinst/arch/sparc64/md.c: revision 1.7
usr.sbin/sysinst/arch/emips/md.c: revision 1.10
usr.sbin/sysinst/arch/cobalt/md.c: revision 1.15
usr.sbin/sysinst/arch/x68k/md.c: revision 1.12
usr.sbin/sysinst/arch/sandpoint/md.c: revision 1.10
usr.sbin/sysinst/arch/luna68k/md.c: revision 1.10
usr.sbin/sysinst/arch/hp300/md.c: revision 1.12
usr.sbin/sysinst/arch/vax/md.c: revision 1.8
usr.sbin/sysinst/arch/hpcmips/md.c: revision 1.10
usr.sbin/sysinst/target.c: revision 1.16
usr.sbin/sysinst/arch/mvme68k/md.c: revision 1.12
usr.sbin/sysinst/arch/arc/md.c: revision 1.14
usr.sbin/sysinst/target.c: revision 1.17
usr.sbin/sysinst/arch/i386/md.c: revision 1.34
usr.sbin/sysinst/arch/mac68k/md.c: revision 1.11
usr.sbin/sysinst/arch/atari/md.c: revision 1.8
usr.sbin/sysinst/arch/sgimips/md.c: revision 1.10
usr.sbin/sysinst/arch/acorn32/md.c: revision 1.8
usr.sbin/sysinst/install.c: revision 1.22
usr.sbin/sysinst/arch/amiga/md.c: revision 1.7
usr.sbin/sysinst/arch/cats/md.c: revision 1.6
usr.sbin/sysinst/arch/dummy/md.c: revision 1.7
usr.sbin/sysinst/arch/shark/md.c: revision 1.7
usr.sbin/sysinst/arch/pmax/md.c: revision 1.9
usr.sbin/sysinst/arch/newsmips/md.c: revision 1.7
usr.sbin/sysinst/arch/mipsco/md.c: revision 1.9
usr.sbin/sysinst/arch/landisk/md.c: revision 1.15
usr.sbin/sysinst/arch/hppa/md.c: revision 1.9
usr.sbin/sysinst/arch/prep/md.c: revision 1.14
usr.sbin/sysinst/defs.h: revision 1.77
usr.sbin/sysinst/arch/ofppc/md.c: revision 1.13
usr.sbin/sysinst/arch/ews4800mips/md.c: revision 1.8
usr.sbin/sysinst/defs.h: revision 1.78
usr.sbin/sysinst/arch/macppc/md.c: revision 1.7
usr.sbin/sysinst/arch/evbppc/md.c: revision 1.10
usr.sbin/sysinst/defs.h: revision 1.79
usr.sbin/sysinst/gpt.c: revision 1.27
usr.sbin/sysinst/arch/bebox/md.c: revision 1.10
usr.sbin/sysinst/gpt.c: revision 1.28
usr.sbin/sysinst/arch/sparc/md.c: revision 1.7
usr.sbin/sysinst/arch/evbsh3/md.c: revision 1.7
usr.sbin/sysinst/arch/evbarm/md.c: revision 1.22
usr.sbin/sysinst/arch/news68k/md.c: revision 1.8
usr.sbin/sysinst/upgrade.c: revision 1.19
usr.sbin/sysinst/arch/zaurus/md.c: revision 1.12
usr.sbin/sysinst/arch/playstation2/md.c: revision 1.10
usr.sbin/sysinst/arch/hpcarm/md.c: revision 1.11
usr.sbin/sysinst/arch/evbmips/md.c: revision 1.10
usr.sbin/sysinst/main.c: revision 1.28
Add an option to set the directory where we look for message catalogs.
Try to get rid of all wedges we created (after unmounting).
When upgrading, update the boot code post extraction from
the updated target file system.
Do not defer wedge deletions when we have nothing mounted.
Define and use a constant for maximum disk name length.
 1.5.2.1 15-Oct-2020  bouyer Pull up following revision(s) (requested by martin in ticket #1113):
usr.sbin/sysinst/bsddisklabel.c: revision 1.46
usr.sbin/sysinst/bsddisklabel.c: revision 1.47
usr.sbin/sysinst/disklabel.c: revision 1.40
usr.sbin/sysinst/arch/cobalt/md.c: revision 1.13
usr.sbin/sysinst/bsddisklabel.c: revision 1.48
usr.sbin/sysinst/disklabel.c: revision 1.41
usr.sbin/sysinst/arch/cobalt/md.c: revision 1.14
usr.sbin/sysinst/bsddisklabel.c: revision 1.49
usr.sbin/sysinst/disklabel.c: revision 1.42
usr.sbin/sysinst/Makefile.inc: revision 1.34
usr.sbin/sysinst/disks.c: revision 1.70
usr.sbin/sysinst/arch/hp300/md.c: revision 1.11
usr.sbin/sysinst/disks.c: revision 1.71
usr.sbin/sysinst/arch/i386/md.h: revision 1.8
usr.sbin/sysinst/arch/arc/md.c: revision 1.13
usr.sbin/sysinst/mbr.h: revision 1.5
usr.sbin/sysinst/mbr.h: revision 1.6
usr.sbin/sysinst/arch/mac68k/md.c: revision 1.10
usr.sbin/sysinst/bsddisklabel.c: revision 1.50
usr.sbin/sysinst/arch/acorn32/md.c: revision 1.7
usr.sbin/sysinst/bsddisklabel.c: revision 1.51
usr.sbin/sysinst/bsddisklabel.c: revision 1.52
usr.sbin/sysinst/bsddisklabel.c: revision 1.53
usr.sbin/sysinst/bsddisklabel.c: revision 1.54
usr.sbin/sysinst/bsddisklabel.c: revision 1.55
usr.sbin/sysinst/bsddisklabel.c: revision 1.56
usr.sbin/sysinst/arch/dummy/md.c: revision 1.6
usr.sbin/sysinst/arch/amd64/md.h: revision 1.9
usr.sbin/sysinst/arch/evbsh3/md.c: revision 1.6
usr.sbin/sysinst/arch/sparc/md.c: revision 1.6
usr.sbin/sysinst/arch/zaurus/md.c: revision 1.10
usr.sbin/sysinst/arch/x68k/md.c: revision 1.11
usr.sbin/sysinst/arch/sandpoint/md.c: revision 1.9
usr.sbin/sysinst/arch/vax/md.c: revision 1.7
usr.sbin/sysinst/arch/luna68k/md.c: revision 1.9
usr.sbin/sysinst/gpt.c: revision 1.19
usr.sbin/sysinst/arch/i386/md.c: revision 1.31
usr.sbin/sysinst/arch/i386/md.c: revision 1.32
usr.sbin/sysinst/arch/evbarm/md.c: revision 1.17
usr.sbin/sysinst/arch/evbarm/md.c: revision 1.18
usr.sbin/sysinst/arch/evbarm/md.c: revision 1.19
usr.sbin/sysinst/arch/shark/md.c: revision 1.6
usr.sbin/sysinst/arch/landisk/md.c: revision 1.14
usr.sbin/sysinst/util.c: revision 1.43
usr.sbin/sysinst/gpt.c: revision 1.20
usr.sbin/sysinst/util.c: revision 1.44
usr.sbin/sysinst/gpt.c: revision 1.21
usr.sbin/sysinst/gpt.c: revision 1.22
usr.sbin/sysinst/arch/evbarm/msg.md.en: revision 1.2
usr.sbin/sysinst/arch/ofppc/md.c: revision 1.11
usr.sbin/sysinst/util.c: revision 1.46
usr.sbin/sysinst/arch/ofppc/md.c: revision 1.12
usr.sbin/sysinst/util.c: revision 1.47
usr.sbin/sysinst/arch/evbarm/md.h: revision 1.6
usr.sbin/sysinst/util.c: revision 1.48
usr.sbin/sysinst/arch/evbarm/md.h: revision 1.7
usr.sbin/sysinst/arch/evbmips/md.c: revision 1.9
usr.sbin/sysinst/msg.mi.fr: revision 1.28
usr.sbin/sysinst/msg.mi.fr: revision 1.29
usr.sbin/sysinst/arch/sgimips/md.c: revision 1.9
usr.sbin/sysinst/arch/evbarm/Makefile: revision 1.3
usr.sbin/sysinst/msg.mi.de: revision 1.23
usr.sbin/sysinst/arch/hpcsh/md.c: revision 1.10
usr.sbin/sysinst/msg.mi.de: revision 1.24
usr.sbin/sysinst/install.c: revision 1.15
usr.sbin/sysinst/install.c: revision 1.16
usr.sbin/sysinst/arch/sparc64/md.c: revision 1.6
usr.sbin/sysinst/install.c: revision 1.17
usr.sbin/sysinst/install.c: revision 1.18
usr.sbin/sysinst/partitions.h: revision 1.16
usr.sbin/sysinst/install.c: revision 1.19
usr.sbin/sysinst/partitions.h: revision 1.17
usr.sbin/sysinst/arch/evbppc/md.c: revision 1.9
usr.sbin/sysinst/arch/playstation2/md.c: revision 1.9
usr.sbin/sysinst/partitions.h: revision 1.18
usr.sbin/sysinst/arch/hpcarm/md.c: revision 1.9
usr.sbin/sysinst/partitions.h: revision 1.19
usr.sbin/sysinst/msg.mi.es: revision 1.24
usr.sbin/sysinst/msg.mi.es: revision 1.25
usr.sbin/sysinst/msg.mi.es: revision 1.26
usr.sbin/sysinst/arch/zaurus/md.c: revision 1.9
usr.sbin/sysinst/target.c: revision 1.13
usr.sbin/sysinst/target.c: revision 1.14
usr.sbin/sysinst/part_edit.c: revision 1.17
usr.sbin/sysinst/part_edit.c: revision 1.18
usr.sbin/sysinst/msg.mi.fr: revision 1.30
usr.sbin/sysinst/arch/mvme68k/md.c: revision 1.11
usr.sbin/sysinst/part_edit.c: revision 1.19
usr.sbin/sysinst/msg.mi.fr: revision 1.31
usr.sbin/sysinst/arch/alpha/md.c: revision 1.9
usr.sbin/sysinst/msg.mi.en: revision 1.30
usr.sbin/sysinst/defs.h: revision 1.56
usr.sbin/sysinst/msg.mi.en: revision 1.31
usr.sbin/sysinst/defs.h: revision 1.57
usr.sbin/sysinst/msg.mi.en: revision 1.32
usr.sbin/sysinst/arch/amiga/md.c: revision 1.6
usr.sbin/sysinst/arch/hpcmips/md.c: revision 1.9
usr.sbin/sysinst/defs.h: revision 1.58
usr.sbin/sysinst/arch/cats/md.c: revision 1.5
usr.sbin/sysinst/defs.h: revision 1.59
usr.sbin/sysinst/arch/newsmips/md.c: revision 1.6
usr.sbin/sysinst/arch/pmax/md.c: revision 1.8
usr.sbin/sysinst/arch/mipsco/md.c: revision 1.8
usr.sbin/sysinst/part_edit.c: revision 1.20
usr.sbin/sysinst/part_edit.c: revision 1.21
usr.sbin/sysinst/arch/macppc/md.c: revision 1.6
usr.sbin/sysinst/part_edit.c: revision 1.22
usr.sbin/sysinst/part_edit.c: revision 1.23
usr.sbin/sysinst/part_edit.c: revision 1.24
usr.sbin/sysinst/defs.h: revision 1.60
usr.sbin/sysinst/arch/mac68k/Makefile: revision 1.3
usr.sbin/sysinst/defs.h: revision 1.61
usr.sbin/sysinst/defs.h: revision 1.63
usr.sbin/sysinst/defs.h: revision 1.64
usr.sbin/sysinst/defs.h: revision 1.65
usr.sbin/sysinst/label.c: revision 1.21
usr.sbin/sysinst/defs.h: revision 1.66
usr.sbin/sysinst/label.c: revision 1.22
usr.sbin/sysinst/defs.h: revision 1.67
usr.sbin/sysinst/label.c: revision 1.23
usr.sbin/sysinst/label.c: revision 1.24
usr.sbin/sysinst/label.c: revision 1.25
usr.sbin/sysinst/label.c: revision 1.26
usr.sbin/sysinst/label.c: revision 1.27
usr.sbin/sysinst/msg.mi.pl: revision 1.31
usr.sbin/sysinst/label.c: revision 1.28
usr.sbin/sysinst/msg.mi.pl: revision 1.32
usr.sbin/sysinst/label.c: revision 1.29
usr.sbin/sysinst/arch/atari/md.c: revision 1.7
usr.sbin/sysinst/disklabel.c: revision 1.36
usr.sbin/sysinst/disklabel.c: revision 1.37
usr.sbin/sysinst/disklabel.c: revision 1.38
usr.sbin/sysinst/disklabel.c: revision 1.39
usr.sbin/sysinst/arch/bebox/md.c: revision 1.9
usr.sbin/sysinst/mbr.c: revision 1.32
usr.sbin/sysinst/disks.c: revision 1.66
usr.sbin/sysinst/mbr.c: revision 1.33
usr.sbin/sysinst/disks.c: revision 1.67
usr.sbin/sysinst/mbr.c: revision 1.34
usr.sbin/sysinst/arch/emips/md.c: revision 1.9
usr.sbin/sysinst/disks.c: revision 1.68
usr.sbin/sysinst/partitions.c: revision 1.11
usr.sbin/sysinst/mbr.c: revision 1.35
usr.sbin/sysinst/disks.c: revision 1.69
usr.sbin/sysinst/mbr.c: revision 1.36
usr.sbin/sysinst/arch/hppa/md.c: revision 1.8
usr.sbin/sysinst/arch/prep/md.c: revision 1.13
usr.sbin/sysinst/label.c: revision 1.30
usr.sbin/sysinst/arch/ews4800mips/md.c: revision 1.7
usr.sbin/sysinst/main.c: revision 1.21
usr.sbin/sysinst/main.c: revision 1.22
usr.sbin/sysinst/main.c: revision 1.23
usr.sbin/sysinst/bsddisklabel.c: revision 1.40
usr.sbin/sysinst/main.c: revision 1.24
usr.sbin/sysinst/arch/cobalt/md.h: revision 1.6
usr.sbin/sysinst/bsddisklabel.c: revision 1.41
usr.sbin/sysinst/main.c: revision 1.25
usr.sbin/sysinst/arch/news68k/md.c: revision 1.7
usr.sbin/sysinst/bsddisklabel.c: revision 1.42
usr.sbin/sysinst/bsddisklabel.c: revision 1.43
usr.sbin/sysinst/bsddisklabel.c: revision 1.44
usr.sbin/sysinst/bsddisklabel.c: revision 1.45
Use strlcpy in a few places to guarnatee 0-terminated strings
Rever previous: the d_packname in struct disklabel is not NUL terminated.
Disable the warning instead.
Do not force -Os optimization (unless SMALLPROG)
Remove unused "rel" global variable and make the -r option a no-op.
PR 55045: strlcpy(NULL, ..., 0) considered harmfull in some implementations.
PR misc/54886: bump threshold for automatic/default creation of a tmpfs /tmp
up slightly (to 384 MB ram). This will make sure the default install has
a > 64 MB /tmp available (number pulled out of thin air, 64 MB is the minimum
required by the ZFS tests).
Don't depend on common symbol definitions.
boardype should not be common.
Redo the root-size-limit check again after we grew the root partition
for kernel dumps. Auto-enable the /usr partition if it overflows.
For all non-root partitions, default to FFSv2.
When extending a partition (to fill the total disk size) do respect
size limits.
Do not suggest a size limited partition for extension by default.
Minor tweak to previous: when forcing a /usr partition just to have an
arbitrary extendable partition, still use its default size initially.
At the end of a new installation save entropy.
Ooops, backout previous - twice the entropy saving is not needed.
Instead slightly improve the (slightly) hidden other code that already
did it.
PR 55202: disable swapping if we started it due to low ram
it's "its"
Remove "If you booted from a floppy" message
Set HAVE_INSTALL_IMAGE for evbarm
Change mountpoint of boot ext2fs from /stand to /ext2 to avoid conflict.
Should be pulled up to netbsd-9, with fixes of PR/55060.
MBR type for Ext2 should be MBR_PTYPE_LNXEXT2, not MBR_PTYPE_FAT12.
Silence -Wstringop-truncation for ``name'' in disp_selected_part().
This variable is used only for display, and truncation seems harmless.
PR 55572: avoid crash when answering the mount point prompt for a previously
empty mount point with an emptry sting.
When adding a new partition in the concrete partition editor, make sure
to set a pointer to the partition table interface in the new entry.
Otherwise we may end up not writing back the partitions at all, leading
to further fallout later.
Receipe to reproduce the issue from Frederic Fauberteau, thanks!
In the concrete partitions editor, after deleting the last partition move
the menu selection to the "add a partition" entry (instead of the sentinel
line which is not an active menu entry).
Typo in comment
Keep a list of all partition tables from which we have deleted partitions
and make sure we update those partition tables when writing partitions,
even if no install related partition remains on them.
Fix display of timezone selection menu
If there is no current partitioning manager assume we are editing the
current system and make target_already_root() return true.
Fixes various fallout when using sysinst post installation.
PR 55377: mark boot partitions in the partition size display, as suggested
by Izumi Tsutsui (minor modifications + all bugs by me)
PR 55378: do not assume RAW_PART to be either 2 or 3
PR 55379: avoid creating bogus /etc/fstab lines for /dev/cd* if no
cdrom is available.
PR 55381: try to deal with moved (but not yet saved) partitions when
calculating free space
Apply patch provided by Izumi Tsutsui in PR 55382: make ext2 partitions
show up in the outer (MBR) partition table, needed for example on Cobalt
where firmware boots from that partition.
PR 55384: detangle pm->ptstart from the "install" flag (selecting a
target partition). Instead introduce a new PTI_INSTALL_TARGET per partition
flag and deal with it in the partitioning backends.
Honour pm->ptstart when allocating new partitions - it is supposed to be
the first sector usable by NetBSD.
If we have no explicitly marke target root partition, make sure to set
the proper flag on the implicit one.
When merging existing partitions with desired target system layout
information, only force the "mount" flag if the existing partitions
has a valid mount point.
Add a heuristic to detect and properly mark EFI system partitions
when re-using pre-existing partitions.
When MD code requests a reserved area (at the start of the disk)
make sure to properly account for the "lost" space during all calculations
and especially when expanding the main partition to fill the disk.
Avoid using the global "pm" or a passed device descriptons when we are
passing disk limits explicitly anyway.
Simplify/fix a few rounding calculations.
When creating new partitions for "full disk" use, pass a install target
hint to the partitioning backend (for the outer NetBSD partition).
Use an install target hint to mark a new partition active.
When compiled with BOOTSEL support, also name the new partition "NetBSD".
Remove more pm->ptstart abuse - calculate values localy where needed
instead.
Fix editing start and size of not yet existing outer partitions.
Previously we abused pm->ptstart / pm->ptsize to pass the bounds of the
NetBSD outer partition to the inner partition editor - but now this is
not a valid assumption any more, so explicitly fix the bounds if an
outer partition exists.
Remove very strange code that special-cased MSDOS file systems and refused
to newfs the partition (despite explicit request to do so) if it was
mountable.
Accidently carried over from a dim and distant past, before we had
fsck_newfs.
PR 55536: when we find existing partition tables and have alternative
formats available, offer to delete partitions and create new ones from
scratch (in some other or the same on-disk format).
Minor fix to previous: fix condition when we offer the partition type
switch - it makes sense even if the disk is partitioned but has no valid
partitions.
Before forcing MBR partitions into our disklabel, make sure they are not
there yet - could happen in various paths when reusing existing partitions
(or parts of that) - previously we would blindly duplicate identical
partitions.
Ooops, part of previous was not meant to be included yet
When renumbering partitions (after deletions) be slightly more lax
in matching, to cope with differences between MBR EFI partitions and
disklabel MSDOS partitions.
PR 55142: on popular demand bring back expert options to adjust the
number of free inodes, block size and fragment size for FFS and LFS.
Fix copy & pasto noticed by Jason Mitchell: change the type of a GPT
partition via "gpt type" - not "gpt label".
Fix copy & pasto (missing "again" label)
Remove dead code
Move MBR writing (if any) post disklabel writing, otherwise strange
interactions happen.
Properly convert partition default sizes in MB to number of sectors
 1.3 02-Oct-2019  maya Split out /rescue to its own set and adapt installers/images to add it.

This is meant to make updates safer: if something goes wrong with updating
base, we still have the old, standalone /rescue to recover from.
 1.2 18-Nov-2018  martin branches: 1.2.2;
More size estimate fixes
 1.1 26-Jul-2014  dholland branches: 1.1.2; 1.1.6; 1.1.26; 1.1.28;
Move sysinst sources to usr.sbin.

This commit only physically moves the sources - there are no other
changes, to maximize the probability that this will be treated as a
rename if we ever do manage to migrate away from CVS.

Moving sysinst has been discussed on and off for years and has two
goals: making it easier to work on sysinst, and also making sysinst
available on running systems for use installing chroots and VM images
and other such things. None of the latter is possible yet, but as they
say, one thing at a time.

Doing this now was approved in an impromptu fashion by mrg, riz,
riastradh, me, and groo.
 1.1.28.2 13-Apr-2020  martin Mostly merge changes from HEAD upto 20200411
 1.1.28.1 10-Jun-2019  christos Sync with HEAD
 1.1.26.1 26-Nov-2018  pgoyette Sync with HEAD, resolve a couple of conflicts
 1.1.6.2 20-Aug-2014  tls Rebase to HEAD as of a few days ago.
 1.1.6.1 26-Jul-2014  tls file md.h was added on branch tls-maxphys on 2014-08-20 00:05:17 +0000
 1.1.2.2 10-Aug-2014  tls Rebase.
 1.1.2.1 26-Jul-2014  tls file md.h was added on branch tls-earlyentropy on 2014-08-10 07:00:28 +0000
 1.2.2.1 17-Nov-2019  martin Pull up following revision(s) (requested by maya in ticket #435):

distrib/sets/maketars: revision 1.90
usr.sbin/sysinst/arch/playstation2/md.h: revision 1.2
usr.sbin/sysinst/arch/sandpoint/md.h: revision 1.3
usr.sbin/sysinst/arch/evbppc/md.h: revision 1.3
usr.sbin/sysinst/arch/hpcarm/md.h: revision 1.3
usr.sbin/sysinst/arch/mvme68k/md.h: revision 1.3
distrib/sun3/MakeInstTape: revision 1.3
usr.sbin/sysinst/util.c: revision 1.33
distrib/sets/lists/rescue/mi: revision 1.1
distrib/sets/lists/base/rescue.sun2: file removal
usr.sbin/sysinst/arch/zaurus/md.h: revision 1.3
distrib/sets/lists/base/rescue.ad.m68k.shl: file removal
distrib/sets/regpkgset: revision 1.13
usr.sbin/sysinst/arch/i386/md.h: revision 1.7
distrib/sets/lists/base/rescue.sparc: file removal
distrib/notes/mvme68k/xfer: revision 1.19
distrib/sets/sets.subr: revision 1.187
distrib/common/bootimage/Makefile.bootimage: revision 1.22
usr.sbin/sysinst/msg.mi.de: revision 1.16
usr.sbin/sysinst/arch/atari/md.h: revision 1.3
rescue/Makefile: revision 1.38
distrib/sets/lists/base/rescue.macppc: file removal
usr.sbin/sysinst/arch/arc/md.h: revision 1.4
distrib/miniroot/install.sub: revision 1.49
usr.sbin/sysinst/arch/acorn32/md.h: revision 1.3
usr.sbin/sysinst/arch/x68k/md.h: revision 1.3
usr.sbin/sysinst/arch/hpcmips/md.h: revision 1.3
usr.sbin/sysinst/arch/bebox/md.h: revision 1.3
usr.sbin/sysinst/arch/hpcsh/md.h: revision 1.2
distrib/sets/lists/base/rescue.shark: file removal
usr.sbin/sysinst/arch/emips/md.h: revision 1.5
distrib/utils/embedded/mkimage: revision 1.70
usr.sbin/sysinst/arch/shark/md.h: revision 1.3
usr.sbin/sysinst/arch/pmax/md.h: revision 1.4
usr.sbin/sysinst/arch/amiga/md.h: revision 1.4
usr.sbin/sysinst/arch/hp300/md.h: revision 1.5
rescue/list.ldconfig: file removal
distrib/sets/lists/base/rescue.ad.m68k: file removal
usr.sbin/sysinst/arch/prep/md.h: revision 1.4
usr.sbin/sysinst/arch/cats/md.h: revision 1.4
usr.sbin/sysinst/arch/amd64/md.h: revision 1.7
usr.sbin/sysinst/msg.mi.es: revision 1.17
usr.sbin/sysinst/msg.mi.fr: revision 1.20
usr.sbin/sysinst/msg.mi.pl: revision 1.23
distrib/sets/lists/base/rescue.i386: file removal
usr.sbin/sysinst/arch/evbarm/md.h: revision 1.3
distrib/sets/lists/base/rescue.vax: file removal
distrib/amd64/uefi-installimage/Makefile.bootimage: revision 1.12
usr.sbin/sysinst/arch/evbmips/md.h: revision 1.3
distrib/sets/lists/base/rescue.mi: file removal
distrib/sets/README: revision 1.14
usr.sbin/sysinst/arch/sgimips/md.h: revision 1.4
distrib/sets/lists/base/rescue.sparc64: file removal
distrib/sets/lists/base/rescue.mi: revision 1.45
distrib/sets/lists/base/rescue.mi: revision 1.46
usr.sbin/sysinst/arch/ofppc/md.h: revision 1.4
usr.sbin/sysinst/arch/cobalt/md.h: revision 1.4
distrib/sets/lists/base/rescue.ad.arm: file removal
distrib/sets/lists/base/rescue.mac68k: file removal
usr.sbin/sysinst/defs.h: revision 1.45
usr.sbin/sysinst/arch/landisk/md.h: revision 1.2
distrib/notes/atari/xfer: revision 1.17
etc/Makefile: revision 1.441
usr.sbin/sysinst/msg.mi.en: revision 1.22
distrib/sun2/MakeInstTape: revision 1.2

Remove ldconfig from /rescue, and mark it MI obsolete.
- ldconfig in netbsd refers to a.out binaries only. We've been ELF-only
since NetBSD 2.0 or so, and having it in /rescue served little purpose
even before that, as /rescue is standalone.
- Using MI obsolete to avoid the need for MD set lists where ldconfig
is the sole entry

Mark /rescue/edlabel as MI-obsolete, so we can remove all remaining MD
rescue set list files.

Split out /rescue to its own set and adapt installers/images to add it.

This is meant to make updates safer: if something goes wrong with updating
base, we still have the old, standalone /rescue to recover from.
 1.1 26-Jul-2014  dholland branches: 1.1.2; 1.1.6;
Move sysinst sources to usr.sbin.

This commit only physically moves the sources - there are no other
changes, to maximize the probability that this will be treated as a
rename if we ever do manage to migrate away from CVS.

Moving sysinst has been discussed on and off for years and has two
goals: making it easier to work on sysinst, and also making sysinst
available on running systems for use installing chroots and VM images
and other such things. None of the latter is possible yet, but as they
say, one thing at a time.

Doing this now was approved in an impromptu fashion by mrg, riz,
riastradh, me, and groo.
 1.1.6.2 20-Aug-2014  tls Rebase to HEAD as of a few days ago.
 1.1.6.1 26-Jul-2014  tls file menus.md.en was added on branch tls-maxphys on 2014-08-20 00:05:17 +0000
 1.1.2.2 10-Aug-2014  tls Rebase.
 1.1.2.1 26-Jul-2014  tls file menus.md.en was added on branch tls-earlyentropy on 2014-08-10 07:00:28 +0000
 1.1 26-Jul-2014  dholland branches: 1.1.2; 1.1.6;
Move sysinst sources to usr.sbin.

This commit only physically moves the sources - there are no other
changes, to maximize the probability that this will be treated as a
rename if we ever do manage to migrate away from CVS.

Moving sysinst has been discussed on and off for years and has two
goals: making it easier to work on sysinst, and also making sysinst
available on running systems for use installing chroots and VM images
and other such things. None of the latter is possible yet, but as they
say, one thing at a time.

Doing this now was approved in an impromptu fashion by mrg, riz,
riastradh, me, and groo.
 1.1.6.2 20-Aug-2014  tls Rebase to HEAD as of a few days ago.
 1.1.6.1 26-Jul-2014  tls file menus.md.es was added on branch tls-maxphys on 2014-08-20 00:05:17 +0000
 1.1.2.2 10-Aug-2014  tls Rebase.
 1.1.2.1 26-Jul-2014  tls file menus.md.es was added on branch tls-earlyentropy on 2014-08-10 07:00:28 +0000
 1.1 26-Jul-2014  dholland branches: 1.1.2; 1.1.6;
Move sysinst sources to usr.sbin.

This commit only physically moves the sources - there are no other
changes, to maximize the probability that this will be treated as a
rename if we ever do manage to migrate away from CVS.

Moving sysinst has been discussed on and off for years and has two
goals: making it easier to work on sysinst, and also making sysinst
available on running systems for use installing chroots and VM images
and other such things. None of the latter is possible yet, but as they
say, one thing at a time.

Doing this now was approved in an impromptu fashion by mrg, riz,
riastradh, me, and groo.
 1.1.6.2 20-Aug-2014  tls Rebase to HEAD as of a few days ago.
 1.1.6.1 26-Jul-2014  tls file menus.md.fr was added on branch tls-maxphys on 2014-08-20 00:05:17 +0000
 1.1.2.2 10-Aug-2014  tls Rebase.
 1.1.2.1 26-Jul-2014  tls file menus.md.fr was added on branch tls-earlyentropy on 2014-08-10 07:00:28 +0000
 1.1 26-Jul-2014  dholland branches: 1.1.2; 1.1.6;
Move sysinst sources to usr.sbin.

This commit only physically moves the sources - there are no other
changes, to maximize the probability that this will be treated as a
rename if we ever do manage to migrate away from CVS.

Moving sysinst has been discussed on and off for years and has two
goals: making it easier to work on sysinst, and also making sysinst
available on running systems for use installing chroots and VM images
and other such things. None of the latter is possible yet, but as they
say, one thing at a time.

Doing this now was approved in an impromptu fashion by mrg, riz,
riastradh, me, and groo.
 1.1.6.2 20-Aug-2014  tls Rebase to HEAD as of a few days ago.
 1.1.6.1 26-Jul-2014  tls file menus.md.pl was added on branch tls-maxphys on 2014-08-20 00:05:17 +0000
 1.1.2.2 10-Aug-2014  tls Rebase.
 1.1.2.1 26-Jul-2014  tls file menus.md.pl was added on branch tls-earlyentropy on 2014-08-10 07:00:28 +0000
 1.1 26-Jul-2014  dholland branches: 1.1.2; 1.1.6;
Move sysinst sources to usr.sbin.

This commit only physically moves the sources - there are no other
changes, to maximize the probability that this will be treated as a
rename if we ever do manage to migrate away from CVS.

Moving sysinst has been discussed on and off for years and has two
goals: making it easier to work on sysinst, and also making sysinst
available on running systems for use installing chroots and VM images
and other such things. None of the latter is possible yet, but as they
say, one thing at a time.

Doing this now was approved in an impromptu fashion by mrg, riz,
riastradh, me, and groo.
 1.1.6.2 20-Aug-2014  tls Rebase to HEAD as of a few days ago.
 1.1.6.1 26-Jul-2014  tls file msg.md.de was added on branch tls-maxphys on 2014-08-20 00:05:17 +0000
 1.1.2.2 10-Aug-2014  tls Rebase.
 1.1.2.1 26-Jul-2014  tls file msg.md.de was added on branch tls-earlyentropy on 2014-08-10 07:00:28 +0000
 1.1 26-Jul-2014  dholland branches: 1.1.2; 1.1.6;
Move sysinst sources to usr.sbin.

This commit only physically moves the sources - there are no other
changes, to maximize the probability that this will be treated as a
rename if we ever do manage to migrate away from CVS.

Moving sysinst has been discussed on and off for years and has two
goals: making it easier to work on sysinst, and also making sysinst
available on running systems for use installing chroots and VM images
and other such things. None of the latter is possible yet, but as they
say, one thing at a time.

Doing this now was approved in an impromptu fashion by mrg, riz,
riastradh, me, and groo.
 1.1.6.2 20-Aug-2014  tls Rebase to HEAD as of a few days ago.
 1.1.6.1 26-Jul-2014  tls file msg.md.en was added on branch tls-maxphys on 2014-08-20 00:05:17 +0000
 1.1.2.2 10-Aug-2014  tls Rebase.
 1.1.2.1 26-Jul-2014  tls file msg.md.en was added on branch tls-earlyentropy on 2014-08-10 07:00:28 +0000
 1.1 26-Jul-2014  dholland branches: 1.1.2; 1.1.6;
Move sysinst sources to usr.sbin.

This commit only physically moves the sources - there are no other
changes, to maximize the probability that this will be treated as a
rename if we ever do manage to migrate away from CVS.

Moving sysinst has been discussed on and off for years and has two
goals: making it easier to work on sysinst, and also making sysinst
available on running systems for use installing chroots and VM images
and other such things. None of the latter is possible yet, but as they
say, one thing at a time.

Doing this now was approved in an impromptu fashion by mrg, riz,
riastradh, me, and groo.
 1.1.6.2 20-Aug-2014  tls Rebase to HEAD as of a few days ago.
 1.1.6.1 26-Jul-2014  tls file msg.md.es was added on branch tls-maxphys on 2014-08-20 00:05:17 +0000
 1.1.2.2 10-Aug-2014  tls Rebase.
 1.1.2.1 26-Jul-2014  tls file msg.md.es was added on branch tls-earlyentropy on 2014-08-10 07:00:28 +0000
 1.1 26-Jul-2014  dholland branches: 1.1.2; 1.1.6;
Move sysinst sources to usr.sbin.

This commit only physically moves the sources - there are no other
changes, to maximize the probability that this will be treated as a
rename if we ever do manage to migrate away from CVS.

Moving sysinst has been discussed on and off for years and has two
goals: making it easier to work on sysinst, and also making sysinst
available on running systems for use installing chroots and VM images
and other such things. None of the latter is possible yet, but as they
say, one thing at a time.

Doing this now was approved in an impromptu fashion by mrg, riz,
riastradh, me, and groo.
 1.1.6.2 20-Aug-2014  tls Rebase to HEAD as of a few days ago.
 1.1.6.1 26-Jul-2014  tls file msg.md.fr was added on branch tls-maxphys on 2014-08-20 00:05:17 +0000
 1.1.2.2 10-Aug-2014  tls Rebase.
 1.1.2.1 26-Jul-2014  tls file msg.md.fr was added on branch tls-earlyentropy on 2014-08-10 07:00:28 +0000
 1.1 26-Jul-2014  dholland branches: 1.1.2; 1.1.6;
Move sysinst sources to usr.sbin.

This commit only physically moves the sources - there are no other
changes, to maximize the probability that this will be treated as a
rename if we ever do manage to migrate away from CVS.

Moving sysinst has been discussed on and off for years and has two
goals: making it easier to work on sysinst, and also making sysinst
available on running systems for use installing chroots and VM images
and other such things. None of the latter is possible yet, but as they
say, one thing at a time.

Doing this now was approved in an impromptu fashion by mrg, riz,
riastradh, me, and groo.
 1.1.6.2 20-Aug-2014  tls Rebase to HEAD as of a few days ago.
 1.1.6.1 26-Jul-2014  tls file msg.md.pl was added on branch tls-maxphys on 2014-08-20 00:05:17 +0000
 1.1.2.2 10-Aug-2014  tls Rebase.
 1.1.2.1 26-Jul-2014  tls file msg.md.pl was added on branch tls-earlyentropy on 2014-08-10 07:00:28 +0000
 1.1 26-Jul-2014  dholland branches: 1.1.2; 1.1.6;
Move sysinst sources to usr.sbin.

This commit only physically moves the sources - there are no other
changes, to maximize the probability that this will be treated as a
rename if we ever do manage to migrate away from CVS.

Moving sysinst has been discussed on and off for years and has two
goals: making it easier to work on sysinst, and also making sysinst
available on running systems for use installing chroots and VM images
and other such things. None of the latter is possible yet, but as they
say, one thing at a time.

Doing this now was approved in an impromptu fashion by mrg, riz,
riastradh, me, and groo.
 1.1.6.2 20-Aug-2014  tls Rebase to HEAD as of a few days ago.
 1.1.6.1 26-Jul-2014  tls file Makefile was added on branch tls-maxphys on 2014-08-20 00:05:17 +0000
 1.1.2.2 10-Aug-2014  tls Rebase.
 1.1.2.1 26-Jul-2014  tls file Makefile was added on branch tls-earlyentropy on 2014-08-10 07:00:28 +0000
 1.8 09-Dec-2022  martin Add set_default_sizemult() calls to some architectures obviously
lacking it.
 1.7 29-Jan-2022  martin When upgrading, update the boot code post extraction from
the updated target file system.
 1.6 12-Oct-2020  martin PR 55536: when we find existing partition tables and have alternative
formats available, offer to delete partitions and create new ones from
scratch (in some other or the same on-disk format).
 1.5 13-Jul-2019  martin branches: 1.5.2;
We may call md_pre_mount() multiple times for the same install set,
so pass an additional index argument so MD code knows which part
of the install will be mounted next.
 1.4 20-Jun-2019  christos Use _fmt_ msg_ methods when formats are needed.
 1.3 12-Jun-2019  martin Rework internal data structures and "interfaces to user interface" functions
to get rid of all disklabel assumptions.

Previously (even for GPT partitioning) struct disklabel was used, which
obviously breaks large disk setups. Also many MD parts and parts of the
user interface assumed (a) a struct disklabel is used internally to
store partitioning information and (b) partitions are named 'a' ... $MAXPART.

Get rid of this and replace it with a quite abstract interface that should
be able to deal with all variants in partition storage:

- partitions are stored in a (partly abstract) struct disk_partitions
and most parts of it are only accessed via accessor functions provided
by a "partitioning scheme".

- implement partitioning schemes for MBR, disklabel and GPT (with likely
RDB [amiga] and Apple Partition Map [mac*] to follow soon)

- partitioning schemes may be cascaded, e.g. on x86 when using MBR as
"outer partitions", we have disklabel as "inner partitions".

- all user interface goes via accessor functions in the partitioning scheme,
some of which return pointers to special user interface descriptors
(e.g. to allow editing partition flags, which are scheme specific)

Overall the user interface changes (in this initial step) are minimal but
noticable. A new Anita is needed for automatic test setups - many thanks
to Andreas Gustafsson for lots of early testing and a new Anita version,
and to Manuel Bouyer for cooperation and tests of the Anita release.

This work was sponsored by The NetBSD Foundation, Inc.
 1.2 03-Aug-2014  martin branches: 1.2.2; 1.2.6; 1.2.28;
(Finally) merge a slightly modified version of the 2012 GSoC results
from Eugene Lozovoy: add extended partitioning options to sysinst.
Still needs some testing and polishing, but it now is possible to use GPT
or to create a RAID set from scratch and install onto it.
 1.1 26-Jul-2014  dholland Move sysinst sources to usr.sbin.

This commit only physically moves the sources - there are no other
changes, to maximize the probability that this will be treated as a
rename if we ever do manage to migrate away from CVS.

Moving sysinst has been discussed on and off for years and has two
goals: making it easier to work on sysinst, and also making sysinst
available on running systems for use installing chroots and VM images
and other such things. None of the latter is possible yet, but as they
say, one thing at a time.

Doing this now was approved in an impromptu fashion by mrg, riz,
riastradh, me, and groo.
 1.2.28.1 13-Apr-2020  martin Mostly merge changes from HEAD upto 20200411
 1.2.6.2 20-Aug-2014  tls Rebase to HEAD as of a few days ago.
 1.2.6.1 03-Aug-2014  tls file md.c was added on branch tls-maxphys on 2014-08-20 00:05:17 +0000
 1.2.2.2 10-Aug-2014  tls Rebase.
 1.2.2.1 03-Aug-2014  tls file md.c was added on branch tls-earlyentropy on 2014-08-10 07:00:28 +0000
 1.5.2.3 14-Dec-2022  snj Pull up following revision(s) (requested by martin in ticket #1554):

usr.sbin/sysinst/arch/amiga/md.c: revision 1.10
usr.sbin/sysinst/arch/atari/md.c: revision 1.10
usr.sbin/sysinst/arch/dummy/md.c: revision 1.8
usr.sbin/sysinst/arch/sparc/md.c: revision 1.8
usr.sbin/sysinst/arch/sparc64/md.c: revision 1.8

Add set_default_sizemult() calls to some architectures obviously
lacking it.
 1.5.2.2 02-Feb-2022  msaitoh Pull up following revision(s) (requested by martin in ticket #1422):
usr.sbin/sysinst/util.c: revision 1.64
usr.sbin/sysinst/arch/hpcsh/md.c: revision 1.11
usr.sbin/sysinst/arch/alpha/md.c: revision 1.10
usr.sbin/sysinst/arch/sparc64/md.c: revision 1.7
usr.sbin/sysinst/arch/emips/md.c: revision 1.10
usr.sbin/sysinst/arch/cobalt/md.c: revision 1.15
usr.sbin/sysinst/arch/x68k/md.c: revision 1.12
usr.sbin/sysinst/arch/sandpoint/md.c: revision 1.10
usr.sbin/sysinst/arch/luna68k/md.c: revision 1.10
usr.sbin/sysinst/arch/hp300/md.c: revision 1.12
usr.sbin/sysinst/arch/vax/md.c: revision 1.8
usr.sbin/sysinst/arch/hpcmips/md.c: revision 1.10
usr.sbin/sysinst/target.c: revision 1.16
usr.sbin/sysinst/arch/mvme68k/md.c: revision 1.12
usr.sbin/sysinst/arch/arc/md.c: revision 1.14
usr.sbin/sysinst/target.c: revision 1.17
usr.sbin/sysinst/arch/i386/md.c: revision 1.34
usr.sbin/sysinst/arch/mac68k/md.c: revision 1.11
usr.sbin/sysinst/arch/atari/md.c: revision 1.8
usr.sbin/sysinst/arch/sgimips/md.c: revision 1.10
usr.sbin/sysinst/arch/acorn32/md.c: revision 1.8
usr.sbin/sysinst/install.c: revision 1.22
usr.sbin/sysinst/arch/amiga/md.c: revision 1.7
usr.sbin/sysinst/arch/cats/md.c: revision 1.6
usr.sbin/sysinst/arch/dummy/md.c: revision 1.7
usr.sbin/sysinst/arch/shark/md.c: revision 1.7
usr.sbin/sysinst/arch/pmax/md.c: revision 1.9
usr.sbin/sysinst/arch/newsmips/md.c: revision 1.7
usr.sbin/sysinst/arch/mipsco/md.c: revision 1.9
usr.sbin/sysinst/arch/landisk/md.c: revision 1.15
usr.sbin/sysinst/arch/hppa/md.c: revision 1.9
usr.sbin/sysinst/arch/prep/md.c: revision 1.14
usr.sbin/sysinst/defs.h: revision 1.77
usr.sbin/sysinst/arch/ofppc/md.c: revision 1.13
usr.sbin/sysinst/arch/ews4800mips/md.c: revision 1.8
usr.sbin/sysinst/defs.h: revision 1.78
usr.sbin/sysinst/arch/macppc/md.c: revision 1.7
usr.sbin/sysinst/arch/evbppc/md.c: revision 1.10
usr.sbin/sysinst/defs.h: revision 1.79
usr.sbin/sysinst/gpt.c: revision 1.27
usr.sbin/sysinst/arch/bebox/md.c: revision 1.10
usr.sbin/sysinst/gpt.c: revision 1.28
usr.sbin/sysinst/arch/sparc/md.c: revision 1.7
usr.sbin/sysinst/arch/evbsh3/md.c: revision 1.7
usr.sbin/sysinst/arch/evbarm/md.c: revision 1.22
usr.sbin/sysinst/arch/news68k/md.c: revision 1.8
usr.sbin/sysinst/upgrade.c: revision 1.19
usr.sbin/sysinst/arch/zaurus/md.c: revision 1.12
usr.sbin/sysinst/arch/playstation2/md.c: revision 1.10
usr.sbin/sysinst/arch/hpcarm/md.c: revision 1.11
usr.sbin/sysinst/arch/evbmips/md.c: revision 1.10
usr.sbin/sysinst/main.c: revision 1.28
Add an option to set the directory where we look for message catalogs.
Try to get rid of all wedges we created (after unmounting).
When upgrading, update the boot code post extraction from
the updated target file system.
Do not defer wedge deletions when we have nothing mounted.
Define and use a constant for maximum disk name length.
 1.5.2.1 15-Oct-2020  bouyer Pull up following revision(s) (requested by martin in ticket #1113):
usr.sbin/sysinst/bsddisklabel.c: revision 1.46
usr.sbin/sysinst/bsddisklabel.c: revision 1.47
usr.sbin/sysinst/disklabel.c: revision 1.40
usr.sbin/sysinst/arch/cobalt/md.c: revision 1.13
usr.sbin/sysinst/bsddisklabel.c: revision 1.48
usr.sbin/sysinst/disklabel.c: revision 1.41
usr.sbin/sysinst/arch/cobalt/md.c: revision 1.14
usr.sbin/sysinst/bsddisklabel.c: revision 1.49
usr.sbin/sysinst/disklabel.c: revision 1.42
usr.sbin/sysinst/Makefile.inc: revision 1.34
usr.sbin/sysinst/disks.c: revision 1.70
usr.sbin/sysinst/arch/hp300/md.c: revision 1.11
usr.sbin/sysinst/disks.c: revision 1.71
usr.sbin/sysinst/arch/i386/md.h: revision 1.8
usr.sbin/sysinst/arch/arc/md.c: revision 1.13
usr.sbin/sysinst/mbr.h: revision 1.5
usr.sbin/sysinst/mbr.h: revision 1.6
usr.sbin/sysinst/arch/mac68k/md.c: revision 1.10
usr.sbin/sysinst/bsddisklabel.c: revision 1.50
usr.sbin/sysinst/arch/acorn32/md.c: revision 1.7
usr.sbin/sysinst/bsddisklabel.c: revision 1.51
usr.sbin/sysinst/bsddisklabel.c: revision 1.52
usr.sbin/sysinst/bsddisklabel.c: revision 1.53
usr.sbin/sysinst/bsddisklabel.c: revision 1.54
usr.sbin/sysinst/bsddisklabel.c: revision 1.55
usr.sbin/sysinst/bsddisklabel.c: revision 1.56
usr.sbin/sysinst/arch/dummy/md.c: revision 1.6
usr.sbin/sysinst/arch/amd64/md.h: revision 1.9
usr.sbin/sysinst/arch/evbsh3/md.c: revision 1.6
usr.sbin/sysinst/arch/sparc/md.c: revision 1.6
usr.sbin/sysinst/arch/zaurus/md.c: revision 1.10
usr.sbin/sysinst/arch/x68k/md.c: revision 1.11
usr.sbin/sysinst/arch/sandpoint/md.c: revision 1.9
usr.sbin/sysinst/arch/vax/md.c: revision 1.7
usr.sbin/sysinst/arch/luna68k/md.c: revision 1.9
usr.sbin/sysinst/gpt.c: revision 1.19
usr.sbin/sysinst/arch/i386/md.c: revision 1.31
usr.sbin/sysinst/arch/i386/md.c: revision 1.32
usr.sbin/sysinst/arch/evbarm/md.c: revision 1.17
usr.sbin/sysinst/arch/evbarm/md.c: revision 1.18
usr.sbin/sysinst/arch/evbarm/md.c: revision 1.19
usr.sbin/sysinst/arch/shark/md.c: revision 1.6
usr.sbin/sysinst/arch/landisk/md.c: revision 1.14
usr.sbin/sysinst/util.c: revision 1.43
usr.sbin/sysinst/gpt.c: revision 1.20
usr.sbin/sysinst/util.c: revision 1.44
usr.sbin/sysinst/gpt.c: revision 1.21
usr.sbin/sysinst/gpt.c: revision 1.22
usr.sbin/sysinst/arch/evbarm/msg.md.en: revision 1.2
usr.sbin/sysinst/arch/ofppc/md.c: revision 1.11
usr.sbin/sysinst/util.c: revision 1.46
usr.sbin/sysinst/arch/ofppc/md.c: revision 1.12
usr.sbin/sysinst/util.c: revision 1.47
usr.sbin/sysinst/arch/evbarm/md.h: revision 1.6
usr.sbin/sysinst/util.c: revision 1.48
usr.sbin/sysinst/arch/evbarm/md.h: revision 1.7
usr.sbin/sysinst/arch/evbmips/md.c: revision 1.9
usr.sbin/sysinst/msg.mi.fr: revision 1.28
usr.sbin/sysinst/msg.mi.fr: revision 1.29
usr.sbin/sysinst/arch/sgimips/md.c: revision 1.9
usr.sbin/sysinst/arch/evbarm/Makefile: revision 1.3
usr.sbin/sysinst/msg.mi.de: revision 1.23
usr.sbin/sysinst/arch/hpcsh/md.c: revision 1.10
usr.sbin/sysinst/msg.mi.de: revision 1.24
usr.sbin/sysinst/install.c: revision 1.15
usr.sbin/sysinst/install.c: revision 1.16
usr.sbin/sysinst/arch/sparc64/md.c: revision 1.6
usr.sbin/sysinst/install.c: revision 1.17
usr.sbin/sysinst/install.c: revision 1.18
usr.sbin/sysinst/partitions.h: revision 1.16
usr.sbin/sysinst/install.c: revision 1.19
usr.sbin/sysinst/partitions.h: revision 1.17
usr.sbin/sysinst/arch/evbppc/md.c: revision 1.9
usr.sbin/sysinst/arch/playstation2/md.c: revision 1.9
usr.sbin/sysinst/partitions.h: revision 1.18
usr.sbin/sysinst/arch/hpcarm/md.c: revision 1.9
usr.sbin/sysinst/partitions.h: revision 1.19
usr.sbin/sysinst/msg.mi.es: revision 1.24
usr.sbin/sysinst/msg.mi.es: revision 1.25
usr.sbin/sysinst/msg.mi.es: revision 1.26
usr.sbin/sysinst/arch/zaurus/md.c: revision 1.9
usr.sbin/sysinst/target.c: revision 1.13
usr.sbin/sysinst/target.c: revision 1.14
usr.sbin/sysinst/part_edit.c: revision 1.17
usr.sbin/sysinst/part_edit.c: revision 1.18
usr.sbin/sysinst/msg.mi.fr: revision 1.30
usr.sbin/sysinst/arch/mvme68k/md.c: revision 1.11
usr.sbin/sysinst/part_edit.c: revision 1.19
usr.sbin/sysinst/msg.mi.fr: revision 1.31
usr.sbin/sysinst/arch/alpha/md.c: revision 1.9
usr.sbin/sysinst/msg.mi.en: revision 1.30
usr.sbin/sysinst/defs.h: revision 1.56
usr.sbin/sysinst/msg.mi.en: revision 1.31
usr.sbin/sysinst/defs.h: revision 1.57
usr.sbin/sysinst/msg.mi.en: revision 1.32
usr.sbin/sysinst/arch/amiga/md.c: revision 1.6
usr.sbin/sysinst/arch/hpcmips/md.c: revision 1.9
usr.sbin/sysinst/defs.h: revision 1.58
usr.sbin/sysinst/arch/cats/md.c: revision 1.5
usr.sbin/sysinst/defs.h: revision 1.59
usr.sbin/sysinst/arch/newsmips/md.c: revision 1.6
usr.sbin/sysinst/arch/pmax/md.c: revision 1.8
usr.sbin/sysinst/arch/mipsco/md.c: revision 1.8
usr.sbin/sysinst/part_edit.c: revision 1.20
usr.sbin/sysinst/part_edit.c: revision 1.21
usr.sbin/sysinst/arch/macppc/md.c: revision 1.6
usr.sbin/sysinst/part_edit.c: revision 1.22
usr.sbin/sysinst/part_edit.c: revision 1.23
usr.sbin/sysinst/part_edit.c: revision 1.24
usr.sbin/sysinst/defs.h: revision 1.60
usr.sbin/sysinst/arch/mac68k/Makefile: revision 1.3
usr.sbin/sysinst/defs.h: revision 1.61
usr.sbin/sysinst/defs.h: revision 1.63
usr.sbin/sysinst/defs.h: revision 1.64
usr.sbin/sysinst/defs.h: revision 1.65
usr.sbin/sysinst/label.c: revision 1.21
usr.sbin/sysinst/defs.h: revision 1.66
usr.sbin/sysinst/label.c: revision 1.22
usr.sbin/sysinst/defs.h: revision 1.67
usr.sbin/sysinst/label.c: revision 1.23
usr.sbin/sysinst/label.c: revision 1.24
usr.sbin/sysinst/label.c: revision 1.25
usr.sbin/sysinst/label.c: revision 1.26
usr.sbin/sysinst/label.c: revision 1.27
usr.sbin/sysinst/msg.mi.pl: revision 1.31
usr.sbin/sysinst/label.c: revision 1.28
usr.sbin/sysinst/msg.mi.pl: revision 1.32
usr.sbin/sysinst/label.c: revision 1.29
usr.sbin/sysinst/arch/atari/md.c: revision 1.7
usr.sbin/sysinst/disklabel.c: revision 1.36
usr.sbin/sysinst/disklabel.c: revision 1.37
usr.sbin/sysinst/disklabel.c: revision 1.38
usr.sbin/sysinst/disklabel.c: revision 1.39
usr.sbin/sysinst/arch/bebox/md.c: revision 1.9
usr.sbin/sysinst/mbr.c: revision 1.32
usr.sbin/sysinst/disks.c: revision 1.66
usr.sbin/sysinst/mbr.c: revision 1.33
usr.sbin/sysinst/disks.c: revision 1.67
usr.sbin/sysinst/mbr.c: revision 1.34
usr.sbin/sysinst/arch/emips/md.c: revision 1.9
usr.sbin/sysinst/disks.c: revision 1.68
usr.sbin/sysinst/partitions.c: revision 1.11
usr.sbin/sysinst/mbr.c: revision 1.35
usr.sbin/sysinst/disks.c: revision 1.69
usr.sbin/sysinst/mbr.c: revision 1.36
usr.sbin/sysinst/arch/hppa/md.c: revision 1.8
usr.sbin/sysinst/arch/prep/md.c: revision 1.13
usr.sbin/sysinst/label.c: revision 1.30
usr.sbin/sysinst/arch/ews4800mips/md.c: revision 1.7
usr.sbin/sysinst/main.c: revision 1.21
usr.sbin/sysinst/main.c: revision 1.22
usr.sbin/sysinst/main.c: revision 1.23
usr.sbin/sysinst/bsddisklabel.c: revision 1.40
usr.sbin/sysinst/main.c: revision 1.24
usr.sbin/sysinst/arch/cobalt/md.h: revision 1.6
usr.sbin/sysinst/bsddisklabel.c: revision 1.41
usr.sbin/sysinst/main.c: revision 1.25
usr.sbin/sysinst/arch/news68k/md.c: revision 1.7
usr.sbin/sysinst/bsddisklabel.c: revision 1.42
usr.sbin/sysinst/bsddisklabel.c: revision 1.43
usr.sbin/sysinst/bsddisklabel.c: revision 1.44
usr.sbin/sysinst/bsddisklabel.c: revision 1.45
Use strlcpy in a few places to guarnatee 0-terminated strings
Rever previous: the d_packname in struct disklabel is not NUL terminated.
Disable the warning instead.
Do not force -Os optimization (unless SMALLPROG)
Remove unused "rel" global variable and make the -r option a no-op.
PR 55045: strlcpy(NULL, ..., 0) considered harmfull in some implementations.
PR misc/54886: bump threshold for automatic/default creation of a tmpfs /tmp
up slightly (to 384 MB ram). This will make sure the default install has
a > 64 MB /tmp available (number pulled out of thin air, 64 MB is the minimum
required by the ZFS tests).
Don't depend on common symbol definitions.
boardype should not be common.
Redo the root-size-limit check again after we grew the root partition
for kernel dumps. Auto-enable the /usr partition if it overflows.
For all non-root partitions, default to FFSv2.
When extending a partition (to fill the total disk size) do respect
size limits.
Do not suggest a size limited partition for extension by default.
Minor tweak to previous: when forcing a /usr partition just to have an
arbitrary extendable partition, still use its default size initially.
At the end of a new installation save entropy.
Ooops, backout previous - twice the entropy saving is not needed.
Instead slightly improve the (slightly) hidden other code that already
did it.
PR 55202: disable swapping if we started it due to low ram
it's "its"
Remove "If you booted from a floppy" message
Set HAVE_INSTALL_IMAGE for evbarm
Change mountpoint of boot ext2fs from /stand to /ext2 to avoid conflict.
Should be pulled up to netbsd-9, with fixes of PR/55060.
MBR type for Ext2 should be MBR_PTYPE_LNXEXT2, not MBR_PTYPE_FAT12.
Silence -Wstringop-truncation for ``name'' in disp_selected_part().
This variable is used only for display, and truncation seems harmless.
PR 55572: avoid crash when answering the mount point prompt for a previously
empty mount point with an emptry sting.
When adding a new partition in the concrete partition editor, make sure
to set a pointer to the partition table interface in the new entry.
Otherwise we may end up not writing back the partitions at all, leading
to further fallout later.
Receipe to reproduce the issue from Frederic Fauberteau, thanks!
In the concrete partitions editor, after deleting the last partition move
the menu selection to the "add a partition" entry (instead of the sentinel
line which is not an active menu entry).
Typo in comment
Keep a list of all partition tables from which we have deleted partitions
and make sure we update those partition tables when writing partitions,
even if no install related partition remains on them.
Fix display of timezone selection menu
If there is no current partitioning manager assume we are editing the
current system and make target_already_root() return true.
Fixes various fallout when using sysinst post installation.
PR 55377: mark boot partitions in the partition size display, as suggested
by Izumi Tsutsui (minor modifications + all bugs by me)
PR 55378: do not assume RAW_PART to be either 2 or 3
PR 55379: avoid creating bogus /etc/fstab lines for /dev/cd* if no
cdrom is available.
PR 55381: try to deal with moved (but not yet saved) partitions when
calculating free space
Apply patch provided by Izumi Tsutsui in PR 55382: make ext2 partitions
show up in the outer (MBR) partition table, needed for example on Cobalt
where firmware boots from that partition.
PR 55384: detangle pm->ptstart from the "install" flag (selecting a
target partition). Instead introduce a new PTI_INSTALL_TARGET per partition
flag and deal with it in the partitioning backends.
Honour pm->ptstart when allocating new partitions - it is supposed to be
the first sector usable by NetBSD.
If we have no explicitly marke target root partition, make sure to set
the proper flag on the implicit one.
When merging existing partitions with desired target system layout
information, only force the "mount" flag if the existing partitions
has a valid mount point.
Add a heuristic to detect and properly mark EFI system partitions
when re-using pre-existing partitions.
When MD code requests a reserved area (at the start of the disk)
make sure to properly account for the "lost" space during all calculations
and especially when expanding the main partition to fill the disk.
Avoid using the global "pm" or a passed device descriptons when we are
passing disk limits explicitly anyway.
Simplify/fix a few rounding calculations.
When creating new partitions for "full disk" use, pass a install target
hint to the partitioning backend (for the outer NetBSD partition).
Use an install target hint to mark a new partition active.
When compiled with BOOTSEL support, also name the new partition "NetBSD".
Remove more pm->ptstart abuse - calculate values localy where needed
instead.
Fix editing start and size of not yet existing outer partitions.
Previously we abused pm->ptstart / pm->ptsize to pass the bounds of the
NetBSD outer partition to the inner partition editor - but now this is
not a valid assumption any more, so explicitly fix the bounds if an
outer partition exists.
Remove very strange code that special-cased MSDOS file systems and refused
to newfs the partition (despite explicit request to do so) if it was
mountable.
Accidently carried over from a dim and distant past, before we had
fsck_newfs.
PR 55536: when we find existing partition tables and have alternative
formats available, offer to delete partitions and create new ones from
scratch (in some other or the same on-disk format).
Minor fix to previous: fix condition when we offer the partition type
switch - it makes sense even if the disk is partitioned but has no valid
partitions.
Before forcing MBR partitions into our disklabel, make sure they are not
there yet - could happen in various paths when reusing existing partitions
(or parts of that) - previously we would blindly duplicate identical
partitions.
Ooops, part of previous was not meant to be included yet
When renumbering partitions (after deletions) be slightly more lax
in matching, to cope with differences between MBR EFI partitions and
disklabel MSDOS partitions.
PR 55142: on popular demand bring back expert options to adjust the
number of free inodes, block size and fragment size for FFS and LFS.
Fix copy & pasto noticed by Jason Mitchell: change the type of a GPT
partition via "gpt type" - not "gpt label".
Fix copy & pasto (missing "again" label)
Remove dead code
Move MBR writing (if any) post disklabel writing, otherwise strange
interactions happen.
Properly convert partition default sizes in MB to number of sectors
 1.6 26-Apr-2025  tsutsui Remove obsolete MD 'PART_(ROOT|SWAP|BSD|RAW|USR|REST|FIRST_FREE)' defines.

Patch from Miod Vallat.
 1.5 16-Jun-2022  tsutsui branches: 1.5.4;
Define DEFSWAPSIZE properly. DEFSWAPRAM seems obsolete.
 1.4 20-Jun-2019  martin Avoid architecture specific ifdefs in main code, move to MD macros.
 1.3 16-Nov-2018  martin Sync install size estimates with current reality
 1.2 05-Nov-2018  martin Get rid of hard coded disk names and use sysctl hw.disknames
instead.
 1.1 26-Jul-2014  dholland branches: 1.1.2; 1.1.6; 1.1.26; 1.1.28;
Move sysinst sources to usr.sbin.

This commit only physically moves the sources - there are no other
changes, to maximize the probability that this will be treated as a
rename if we ever do manage to migrate away from CVS.

Moving sysinst has been discussed on and off for years and has two
goals: making it easier to work on sysinst, and also making sysinst
available on running systems for use installing chroots and VM images
and other such things. None of the latter is possible yet, but as they
say, one thing at a time.

Doing this now was approved in an impromptu fashion by mrg, riz,
riastradh, me, and groo.
 1.1.28.2 13-Apr-2020  martin Mostly merge changes from HEAD upto 20200411
 1.1.28.1 10-Jun-2019  christos Sync with HEAD
 1.1.26.1 26-Nov-2018  pgoyette Sync with HEAD, resolve a couple of conflicts
 1.1.6.2 20-Aug-2014  tls Rebase to HEAD as of a few days ago.
 1.1.6.1 26-Jul-2014  tls file md.h was added on branch tls-maxphys on 2014-08-20 00:05:17 +0000
 1.1.2.2 10-Aug-2014  tls Rebase.
 1.1.2.1 26-Jul-2014  tls file md.h was added on branch tls-earlyentropy on 2014-08-10 07:00:28 +0000
 1.5.4.1 02-Aug-2025  perseant Sync with HEAD
 1.1 26-Jul-2014  dholland branches: 1.1.2; 1.1.6;
Move sysinst sources to usr.sbin.

This commit only physically moves the sources - there are no other
changes, to maximize the probability that this will be treated as a
rename if we ever do manage to migrate away from CVS.

Moving sysinst has been discussed on and off for years and has two
goals: making it easier to work on sysinst, and also making sysinst
available on running systems for use installing chroots and VM images
and other such things. None of the latter is possible yet, but as they
say, one thing at a time.

Doing this now was approved in an impromptu fashion by mrg, riz,
riastradh, me, and groo.
 1.1.6.2 20-Aug-2014  tls Rebase to HEAD as of a few days ago.
 1.1.6.1 26-Jul-2014  tls file menus.md.en was added on branch tls-maxphys on 2014-08-20 00:05:17 +0000
 1.1.2.2 10-Aug-2014  tls Rebase.
 1.1.2.1 26-Jul-2014  tls file menus.md.en was added on branch tls-earlyentropy on 2014-08-10 07:00:28 +0000
 1.1 26-Jul-2014  dholland branches: 1.1.2; 1.1.6;
Move sysinst sources to usr.sbin.

This commit only physically moves the sources - there are no other
changes, to maximize the probability that this will be treated as a
rename if we ever do manage to migrate away from CVS.

Moving sysinst has been discussed on and off for years and has two
goals: making it easier to work on sysinst, and also making sysinst
available on running systems for use installing chroots and VM images
and other such things. None of the latter is possible yet, but as they
say, one thing at a time.

Doing this now was approved in an impromptu fashion by mrg, riz,
riastradh, me, and groo.
 1.1.6.2 20-Aug-2014  tls Rebase to HEAD as of a few days ago.
 1.1.6.1 26-Jul-2014  tls file menus.md.es was added on branch tls-maxphys on 2014-08-20 00:05:17 +0000
 1.1.2.2 10-Aug-2014  tls Rebase.
 1.1.2.1 26-Jul-2014  tls file menus.md.es was added on branch tls-earlyentropy on 2014-08-10 07:00:28 +0000
 1.1 26-Jul-2014  dholland branches: 1.1.2; 1.1.6;
Move sysinst sources to usr.sbin.

This commit only physically moves the sources - there are no other
changes, to maximize the probability that this will be treated as a
rename if we ever do manage to migrate away from CVS.

Moving sysinst has been discussed on and off for years and has two
goals: making it easier to work on sysinst, and also making sysinst
available on running systems for use installing chroots and VM images
and other such things. None of the latter is possible yet, but as they
say, one thing at a time.

Doing this now was approved in an impromptu fashion by mrg, riz,
riastradh, me, and groo.
 1.1.6.2 20-Aug-2014  tls Rebase to HEAD as of a few days ago.
 1.1.6.1 26-Jul-2014  tls file menus.md.fr was added on branch tls-maxphys on 2014-08-20 00:05:17 +0000
 1.1.2.2 10-Aug-2014  tls Rebase.
 1.1.2.1 26-Jul-2014  tls file menus.md.fr was added on branch tls-earlyentropy on 2014-08-10 07:00:28 +0000
 1.1 26-Jul-2014  dholland branches: 1.1.2; 1.1.6;
Move sysinst sources to usr.sbin.

This commit only physically moves the sources - there are no other
changes, to maximize the probability that this will be treated as a
rename if we ever do manage to migrate away from CVS.

Moving sysinst has been discussed on and off for years and has two
goals: making it easier to work on sysinst, and also making sysinst
available on running systems for use installing chroots and VM images
and other such things. None of the latter is possible yet, but as they
say, one thing at a time.

Doing this now was approved in an impromptu fashion by mrg, riz,
riastradh, me, and groo.
 1.1.6.2 20-Aug-2014  tls Rebase to HEAD as of a few days ago.
 1.1.6.1 26-Jul-2014  tls file menus.md.pl was added on branch tls-maxphys on 2014-08-20 00:05:17 +0000
 1.1.2.2 10-Aug-2014  tls Rebase.
 1.1.2.1 26-Jul-2014  tls file menus.md.pl was added on branch tls-earlyentropy on 2014-08-10 07:00:28 +0000
 1.1 26-Jul-2014  dholland branches: 1.1.2; 1.1.6;
Move sysinst sources to usr.sbin.

This commit only physically moves the sources - there are no other
changes, to maximize the probability that this will be treated as a
rename if we ever do manage to migrate away from CVS.

Moving sysinst has been discussed on and off for years and has two
goals: making it easier to work on sysinst, and also making sysinst
available on running systems for use installing chroots and VM images
and other such things. None of the latter is possible yet, but as they
say, one thing at a time.

Doing this now was approved in an impromptu fashion by mrg, riz,
riastradh, me, and groo.
 1.1.6.2 20-Aug-2014  tls Rebase to HEAD as of a few days ago.
 1.1.6.1 26-Jul-2014  tls file msg.md.de was added on branch tls-maxphys on 2014-08-20 00:05:17 +0000
 1.1.2.2 10-Aug-2014  tls Rebase.
 1.1.2.1 26-Jul-2014  tls file msg.md.de was added on branch tls-earlyentropy on 2014-08-10 07:00:28 +0000
 1.1 26-Jul-2014  dholland branches: 1.1.2; 1.1.6;
Move sysinst sources to usr.sbin.

This commit only physically moves the sources - there are no other
changes, to maximize the probability that this will be treated as a
rename if we ever do manage to migrate away from CVS.

Moving sysinst has been discussed on and off for years and has two
goals: making it easier to work on sysinst, and also making sysinst
available on running systems for use installing chroots and VM images
and other such things. None of the latter is possible yet, but as they
say, one thing at a time.

Doing this now was approved in an impromptu fashion by mrg, riz,
riastradh, me, and groo.
 1.1.6.2 20-Aug-2014  tls Rebase to HEAD as of a few days ago.
 1.1.6.1 26-Jul-2014  tls file msg.md.en was added on branch tls-maxphys on 2014-08-20 00:05:17 +0000
 1.1.2.2 10-Aug-2014  tls Rebase.
 1.1.2.1 26-Jul-2014  tls file msg.md.en was added on branch tls-earlyentropy on 2014-08-10 07:00:28 +0000
 1.1 26-Jul-2014  dholland branches: 1.1.2; 1.1.6;
Move sysinst sources to usr.sbin.

This commit only physically moves the sources - there are no other
changes, to maximize the probability that this will be treated as a
rename if we ever do manage to migrate away from CVS.

Moving sysinst has been discussed on and off for years and has two
goals: making it easier to work on sysinst, and also making sysinst
available on running systems for use installing chroots and VM images
and other such things. None of the latter is possible yet, but as they
say, one thing at a time.

Doing this now was approved in an impromptu fashion by mrg, riz,
riastradh, me, and groo.
 1.1.6.2 20-Aug-2014  tls Rebase to HEAD as of a few days ago.
 1.1.6.1 26-Jul-2014  tls file msg.md.es was added on branch tls-maxphys on 2014-08-20 00:05:17 +0000
 1.1.2.2 10-Aug-2014  tls Rebase.
 1.1.2.1 26-Jul-2014  tls file msg.md.es was added on branch tls-earlyentropy on 2014-08-10 07:00:28 +0000
 1.1 26-Jul-2014  dholland branches: 1.1.2; 1.1.6;
Move sysinst sources to usr.sbin.

This commit only physically moves the sources - there are no other
changes, to maximize the probability that this will be treated as a
rename if we ever do manage to migrate away from CVS.

Moving sysinst has been discussed on and off for years and has two
goals: making it easier to work on sysinst, and also making sysinst
available on running systems for use installing chroots and VM images
and other such things. None of the latter is possible yet, but as they
say, one thing at a time.

Doing this now was approved in an impromptu fashion by mrg, riz,
riastradh, me, and groo.
 1.1.6.2 20-Aug-2014  tls Rebase to HEAD as of a few days ago.
 1.1.6.1 26-Jul-2014  tls file msg.md.fr was added on branch tls-maxphys on 2014-08-20 00:05:17 +0000
 1.1.2.2 10-Aug-2014  tls Rebase.
 1.1.2.1 26-Jul-2014  tls file msg.md.fr was added on branch tls-earlyentropy on 2014-08-10 07:00:28 +0000
 1.1 26-Jul-2014  dholland branches: 1.1.2; 1.1.6;
Move sysinst sources to usr.sbin.

This commit only physically moves the sources - there are no other
changes, to maximize the probability that this will be treated as a
rename if we ever do manage to migrate away from CVS.

Moving sysinst has been discussed on and off for years and has two
goals: making it easier to work on sysinst, and also making sysinst
available on running systems for use installing chroots and VM images
and other such things. None of the latter is possible yet, but as they
say, one thing at a time.

Doing this now was approved in an impromptu fashion by mrg, riz,
riastradh, me, and groo.
 1.1.6.2 20-Aug-2014  tls Rebase to HEAD as of a few days ago.
 1.1.6.1 26-Jul-2014  tls file msg.md.pl was added on branch tls-maxphys on 2014-08-20 00:05:17 +0000
 1.1.2.2 10-Aug-2014  tls Rebase.
 1.1.2.1 26-Jul-2014  tls file msg.md.pl was added on branch tls-earlyentropy on 2014-08-10 07:00:28 +0000
 1.1 26-Jul-2014  dholland branches: 1.1.2; 1.1.6;
Move sysinst sources to usr.sbin.

This commit only physically moves the sources - there are no other
changes, to maximize the probability that this will be treated as a
rename if we ever do manage to migrate away from CVS.

Moving sysinst has been discussed on and off for years and has two
goals: making it easier to work on sysinst, and also making sysinst
available on running systems for use installing chroots and VM images
and other such things. None of the latter is possible yet, but as they
say, one thing at a time.

Doing this now was approved in an impromptu fashion by mrg, riz,
riastradh, me, and groo.
 1.1.6.2 20-Aug-2014  tls Rebase to HEAD as of a few days ago.
 1.1.6.1 26-Jul-2014  tls file Makefile was added on branch tls-maxphys on 2014-08-20 00:05:17 +0000
 1.1.2.2 10-Aug-2014  tls Rebase.
 1.1.2.1 26-Jul-2014  tls file Makefile was added on branch tls-earlyentropy on 2014-08-10 07:00:28 +0000
 1.8 09-Dec-2022  martin Add set_default_sizemult() calls to some architectures obviously
lacking it.
 1.7 29-Jan-2022  martin When upgrading, update the boot code post extraction from
the updated target file system.
 1.6 12-Oct-2020  martin PR 55536: when we find existing partition tables and have alternative
formats available, offer to delete partitions and create new ones from
scratch (in some other or the same on-disk format).
 1.5 13-Jul-2019  martin branches: 1.5.2;
We may call md_pre_mount() multiple times for the same install set,
so pass an additional index argument so MD code knows which part
of the install will be mounted next.
 1.4 20-Jun-2019  christos Use _fmt_ msg_ methods when formats are needed.
 1.3 12-Jun-2019  martin Rework internal data structures and "interfaces to user interface" functions
to get rid of all disklabel assumptions.

Previously (even for GPT partitioning) struct disklabel was used, which
obviously breaks large disk setups. Also many MD parts and parts of the
user interface assumed (a) a struct disklabel is used internally to
store partitioning information and (b) partitions are named 'a' ... $MAXPART.

Get rid of this and replace it with a quite abstract interface that should
be able to deal with all variants in partition storage:

- partitions are stored in a (partly abstract) struct disk_partitions
and most parts of it are only accessed via accessor functions provided
by a "partitioning scheme".

- implement partitioning schemes for MBR, disklabel and GPT (with likely
RDB [amiga] and Apple Partition Map [mac*] to follow soon)

- partitioning schemes may be cascaded, e.g. on x86 when using MBR as
"outer partitions", we have disklabel as "inner partitions".

- all user interface goes via accessor functions in the partitioning scheme,
some of which return pointers to special user interface descriptors
(e.g. to allow editing partition flags, which are scheme specific)

Overall the user interface changes (in this initial step) are minimal but
noticable. A new Anita is needed for automatic test setups - many thanks
to Andreas Gustafsson for lots of early testing and a new Anita version,
and to Manuel Bouyer for cooperation and tests of the Anita release.

This work was sponsored by The NetBSD Foundation, Inc.
 1.2 03-Aug-2014  martin branches: 1.2.2; 1.2.6; 1.2.28;
(Finally) merge a slightly modified version of the 2012 GSoC results
from Eugene Lozovoy: add extended partitioning options to sysinst.
Still needs some testing and polishing, but it now is possible to use GPT
or to create a RAID set from scratch and install onto it.
 1.1 26-Jul-2014  dholland Move sysinst sources to usr.sbin.

This commit only physically moves the sources - there are no other
changes, to maximize the probability that this will be treated as a
rename if we ever do manage to migrate away from CVS.

Moving sysinst has been discussed on and off for years and has two
goals: making it easier to work on sysinst, and also making sysinst
available on running systems for use installing chroots and VM images
and other such things. None of the latter is possible yet, but as they
say, one thing at a time.

Doing this now was approved in an impromptu fashion by mrg, riz,
riastradh, me, and groo.
 1.2.28.1 13-Apr-2020  martin Mostly merge changes from HEAD upto 20200411
 1.2.6.2 20-Aug-2014  tls Rebase to HEAD as of a few days ago.
 1.2.6.1 03-Aug-2014  tls file md.c was added on branch tls-maxphys on 2014-08-20 00:05:17 +0000
 1.2.2.2 10-Aug-2014  tls Rebase.
 1.2.2.1 03-Aug-2014  tls file md.c was added on branch tls-earlyentropy on 2014-08-10 07:00:28 +0000
 1.5.2.3 14-Dec-2022  snj Pull up following revision(s) (requested by martin in ticket #1554):

usr.sbin/sysinst/arch/amiga/md.c: revision 1.10
usr.sbin/sysinst/arch/atari/md.c: revision 1.10
usr.sbin/sysinst/arch/dummy/md.c: revision 1.8
usr.sbin/sysinst/arch/sparc/md.c: revision 1.8
usr.sbin/sysinst/arch/sparc64/md.c: revision 1.8

Add set_default_sizemult() calls to some architectures obviously
lacking it.
 1.5.2.2 02-Feb-2022  msaitoh Pull up following revision(s) (requested by martin in ticket #1422):
usr.sbin/sysinst/util.c: revision 1.64
usr.sbin/sysinst/arch/hpcsh/md.c: revision 1.11
usr.sbin/sysinst/arch/alpha/md.c: revision 1.10
usr.sbin/sysinst/arch/sparc64/md.c: revision 1.7
usr.sbin/sysinst/arch/emips/md.c: revision 1.10
usr.sbin/sysinst/arch/cobalt/md.c: revision 1.15
usr.sbin/sysinst/arch/x68k/md.c: revision 1.12
usr.sbin/sysinst/arch/sandpoint/md.c: revision 1.10
usr.sbin/sysinst/arch/luna68k/md.c: revision 1.10
usr.sbin/sysinst/arch/hp300/md.c: revision 1.12
usr.sbin/sysinst/arch/vax/md.c: revision 1.8
usr.sbin/sysinst/arch/hpcmips/md.c: revision 1.10
usr.sbin/sysinst/target.c: revision 1.16
usr.sbin/sysinst/arch/mvme68k/md.c: revision 1.12
usr.sbin/sysinst/arch/arc/md.c: revision 1.14
usr.sbin/sysinst/target.c: revision 1.17
usr.sbin/sysinst/arch/i386/md.c: revision 1.34
usr.sbin/sysinst/arch/mac68k/md.c: revision 1.11
usr.sbin/sysinst/arch/atari/md.c: revision 1.8
usr.sbin/sysinst/arch/sgimips/md.c: revision 1.10
usr.sbin/sysinst/arch/acorn32/md.c: revision 1.8
usr.sbin/sysinst/install.c: revision 1.22
usr.sbin/sysinst/arch/amiga/md.c: revision 1.7
usr.sbin/sysinst/arch/cats/md.c: revision 1.6
usr.sbin/sysinst/arch/dummy/md.c: revision 1.7
usr.sbin/sysinst/arch/shark/md.c: revision 1.7
usr.sbin/sysinst/arch/pmax/md.c: revision 1.9
usr.sbin/sysinst/arch/newsmips/md.c: revision 1.7
usr.sbin/sysinst/arch/mipsco/md.c: revision 1.9
usr.sbin/sysinst/arch/landisk/md.c: revision 1.15
usr.sbin/sysinst/arch/hppa/md.c: revision 1.9
usr.sbin/sysinst/arch/prep/md.c: revision 1.14
usr.sbin/sysinst/defs.h: revision 1.77
usr.sbin/sysinst/arch/ofppc/md.c: revision 1.13
usr.sbin/sysinst/arch/ews4800mips/md.c: revision 1.8
usr.sbin/sysinst/defs.h: revision 1.78
usr.sbin/sysinst/arch/macppc/md.c: revision 1.7
usr.sbin/sysinst/arch/evbppc/md.c: revision 1.10
usr.sbin/sysinst/defs.h: revision 1.79
usr.sbin/sysinst/gpt.c: revision 1.27
usr.sbin/sysinst/arch/bebox/md.c: revision 1.10
usr.sbin/sysinst/gpt.c: revision 1.28
usr.sbin/sysinst/arch/sparc/md.c: revision 1.7
usr.sbin/sysinst/arch/evbsh3/md.c: revision 1.7
usr.sbin/sysinst/arch/evbarm/md.c: revision 1.22
usr.sbin/sysinst/arch/news68k/md.c: revision 1.8
usr.sbin/sysinst/upgrade.c: revision 1.19
usr.sbin/sysinst/arch/zaurus/md.c: revision 1.12
usr.sbin/sysinst/arch/playstation2/md.c: revision 1.10
usr.sbin/sysinst/arch/hpcarm/md.c: revision 1.11
usr.sbin/sysinst/arch/evbmips/md.c: revision 1.10
usr.sbin/sysinst/main.c: revision 1.28
Add an option to set the directory where we look for message catalogs.
Try to get rid of all wedges we created (after unmounting).
When upgrading, update the boot code post extraction from
the updated target file system.
Do not defer wedge deletions when we have nothing mounted.
Define and use a constant for maximum disk name length.
 1.5.2.1 15-Oct-2020  bouyer Pull up following revision(s) (requested by martin in ticket #1113):
usr.sbin/sysinst/bsddisklabel.c: revision 1.46
usr.sbin/sysinst/bsddisklabel.c: revision 1.47
usr.sbin/sysinst/disklabel.c: revision 1.40
usr.sbin/sysinst/arch/cobalt/md.c: revision 1.13
usr.sbin/sysinst/bsddisklabel.c: revision 1.48
usr.sbin/sysinst/disklabel.c: revision 1.41
usr.sbin/sysinst/arch/cobalt/md.c: revision 1.14
usr.sbin/sysinst/bsddisklabel.c: revision 1.49
usr.sbin/sysinst/disklabel.c: revision 1.42
usr.sbin/sysinst/Makefile.inc: revision 1.34
usr.sbin/sysinst/disks.c: revision 1.70
usr.sbin/sysinst/arch/hp300/md.c: revision 1.11
usr.sbin/sysinst/disks.c: revision 1.71
usr.sbin/sysinst/arch/i386/md.h: revision 1.8
usr.sbin/sysinst/arch/arc/md.c: revision 1.13
usr.sbin/sysinst/mbr.h: revision 1.5
usr.sbin/sysinst/mbr.h: revision 1.6
usr.sbin/sysinst/arch/mac68k/md.c: revision 1.10
usr.sbin/sysinst/bsddisklabel.c: revision 1.50
usr.sbin/sysinst/arch/acorn32/md.c: revision 1.7
usr.sbin/sysinst/bsddisklabel.c: revision 1.51
usr.sbin/sysinst/bsddisklabel.c: revision 1.52
usr.sbin/sysinst/bsddisklabel.c: revision 1.53
usr.sbin/sysinst/bsddisklabel.c: revision 1.54
usr.sbin/sysinst/bsddisklabel.c: revision 1.55
usr.sbin/sysinst/bsddisklabel.c: revision 1.56
usr.sbin/sysinst/arch/dummy/md.c: revision 1.6
usr.sbin/sysinst/arch/amd64/md.h: revision 1.9
usr.sbin/sysinst/arch/evbsh3/md.c: revision 1.6
usr.sbin/sysinst/arch/sparc/md.c: revision 1.6
usr.sbin/sysinst/arch/zaurus/md.c: revision 1.10
usr.sbin/sysinst/arch/x68k/md.c: revision 1.11
usr.sbin/sysinst/arch/sandpoint/md.c: revision 1.9
usr.sbin/sysinst/arch/vax/md.c: revision 1.7
usr.sbin/sysinst/arch/luna68k/md.c: revision 1.9
usr.sbin/sysinst/gpt.c: revision 1.19
usr.sbin/sysinst/arch/i386/md.c: revision 1.31
usr.sbin/sysinst/arch/i386/md.c: revision 1.32
usr.sbin/sysinst/arch/evbarm/md.c: revision 1.17
usr.sbin/sysinst/arch/evbarm/md.c: revision 1.18
usr.sbin/sysinst/arch/evbarm/md.c: revision 1.19
usr.sbin/sysinst/arch/shark/md.c: revision 1.6
usr.sbin/sysinst/arch/landisk/md.c: revision 1.14
usr.sbin/sysinst/util.c: revision 1.43
usr.sbin/sysinst/gpt.c: revision 1.20
usr.sbin/sysinst/util.c: revision 1.44
usr.sbin/sysinst/gpt.c: revision 1.21
usr.sbin/sysinst/gpt.c: revision 1.22
usr.sbin/sysinst/arch/evbarm/msg.md.en: revision 1.2
usr.sbin/sysinst/arch/ofppc/md.c: revision 1.11
usr.sbin/sysinst/util.c: revision 1.46
usr.sbin/sysinst/arch/ofppc/md.c: revision 1.12
usr.sbin/sysinst/util.c: revision 1.47
usr.sbin/sysinst/arch/evbarm/md.h: revision 1.6
usr.sbin/sysinst/util.c: revision 1.48
usr.sbin/sysinst/arch/evbarm/md.h: revision 1.7
usr.sbin/sysinst/arch/evbmips/md.c: revision 1.9
usr.sbin/sysinst/msg.mi.fr: revision 1.28
usr.sbin/sysinst/msg.mi.fr: revision 1.29
usr.sbin/sysinst/arch/sgimips/md.c: revision 1.9
usr.sbin/sysinst/arch/evbarm/Makefile: revision 1.3
usr.sbin/sysinst/msg.mi.de: revision 1.23
usr.sbin/sysinst/arch/hpcsh/md.c: revision 1.10
usr.sbin/sysinst/msg.mi.de: revision 1.24
usr.sbin/sysinst/install.c: revision 1.15
usr.sbin/sysinst/install.c: revision 1.16
usr.sbin/sysinst/arch/sparc64/md.c: revision 1.6
usr.sbin/sysinst/install.c: revision 1.17
usr.sbin/sysinst/install.c: revision 1.18
usr.sbin/sysinst/partitions.h: revision 1.16
usr.sbin/sysinst/install.c: revision 1.19
usr.sbin/sysinst/partitions.h: revision 1.17
usr.sbin/sysinst/arch/evbppc/md.c: revision 1.9
usr.sbin/sysinst/arch/playstation2/md.c: revision 1.9
usr.sbin/sysinst/partitions.h: revision 1.18
usr.sbin/sysinst/arch/hpcarm/md.c: revision 1.9
usr.sbin/sysinst/partitions.h: revision 1.19
usr.sbin/sysinst/msg.mi.es: revision 1.24
usr.sbin/sysinst/msg.mi.es: revision 1.25
usr.sbin/sysinst/msg.mi.es: revision 1.26
usr.sbin/sysinst/arch/zaurus/md.c: revision 1.9
usr.sbin/sysinst/target.c: revision 1.13
usr.sbin/sysinst/target.c: revision 1.14
usr.sbin/sysinst/part_edit.c: revision 1.17
usr.sbin/sysinst/part_edit.c: revision 1.18
usr.sbin/sysinst/msg.mi.fr: revision 1.30
usr.sbin/sysinst/arch/mvme68k/md.c: revision 1.11
usr.sbin/sysinst/part_edit.c: revision 1.19
usr.sbin/sysinst/msg.mi.fr: revision 1.31
usr.sbin/sysinst/arch/alpha/md.c: revision 1.9
usr.sbin/sysinst/msg.mi.en: revision 1.30
usr.sbin/sysinst/defs.h: revision 1.56
usr.sbin/sysinst/msg.mi.en: revision 1.31
usr.sbin/sysinst/defs.h: revision 1.57
usr.sbin/sysinst/msg.mi.en: revision 1.32
usr.sbin/sysinst/arch/amiga/md.c: revision 1.6
usr.sbin/sysinst/arch/hpcmips/md.c: revision 1.9
usr.sbin/sysinst/defs.h: revision 1.58
usr.sbin/sysinst/arch/cats/md.c: revision 1.5
usr.sbin/sysinst/defs.h: revision 1.59
usr.sbin/sysinst/arch/newsmips/md.c: revision 1.6
usr.sbin/sysinst/arch/pmax/md.c: revision 1.8
usr.sbin/sysinst/arch/mipsco/md.c: revision 1.8
usr.sbin/sysinst/part_edit.c: revision 1.20
usr.sbin/sysinst/part_edit.c: revision 1.21
usr.sbin/sysinst/arch/macppc/md.c: revision 1.6
usr.sbin/sysinst/part_edit.c: revision 1.22
usr.sbin/sysinst/part_edit.c: revision 1.23
usr.sbin/sysinst/part_edit.c: revision 1.24
usr.sbin/sysinst/defs.h: revision 1.60
usr.sbin/sysinst/arch/mac68k/Makefile: revision 1.3
usr.sbin/sysinst/defs.h: revision 1.61
usr.sbin/sysinst/defs.h: revision 1.63
usr.sbin/sysinst/defs.h: revision 1.64
usr.sbin/sysinst/defs.h: revision 1.65
usr.sbin/sysinst/label.c: revision 1.21
usr.sbin/sysinst/defs.h: revision 1.66
usr.sbin/sysinst/label.c: revision 1.22
usr.sbin/sysinst/defs.h: revision 1.67
usr.sbin/sysinst/label.c: revision 1.23
usr.sbin/sysinst/label.c: revision 1.24
usr.sbin/sysinst/label.c: revision 1.25
usr.sbin/sysinst/label.c: revision 1.26
usr.sbin/sysinst/label.c: revision 1.27
usr.sbin/sysinst/msg.mi.pl: revision 1.31
usr.sbin/sysinst/label.c: revision 1.28
usr.sbin/sysinst/msg.mi.pl: revision 1.32
usr.sbin/sysinst/label.c: revision 1.29
usr.sbin/sysinst/arch/atari/md.c: revision 1.7
usr.sbin/sysinst/disklabel.c: revision 1.36
usr.sbin/sysinst/disklabel.c: revision 1.37
usr.sbin/sysinst/disklabel.c: revision 1.38
usr.sbin/sysinst/disklabel.c: revision 1.39
usr.sbin/sysinst/arch/bebox/md.c: revision 1.9
usr.sbin/sysinst/mbr.c: revision 1.32
usr.sbin/sysinst/disks.c: revision 1.66
usr.sbin/sysinst/mbr.c: revision 1.33
usr.sbin/sysinst/disks.c: revision 1.67
usr.sbin/sysinst/mbr.c: revision 1.34
usr.sbin/sysinst/arch/emips/md.c: revision 1.9
usr.sbin/sysinst/disks.c: revision 1.68
usr.sbin/sysinst/partitions.c: revision 1.11
usr.sbin/sysinst/mbr.c: revision 1.35
usr.sbin/sysinst/disks.c: revision 1.69
usr.sbin/sysinst/mbr.c: revision 1.36
usr.sbin/sysinst/arch/hppa/md.c: revision 1.8
usr.sbin/sysinst/arch/prep/md.c: revision 1.13
usr.sbin/sysinst/label.c: revision 1.30
usr.sbin/sysinst/arch/ews4800mips/md.c: revision 1.7
usr.sbin/sysinst/main.c: revision 1.21
usr.sbin/sysinst/main.c: revision 1.22
usr.sbin/sysinst/main.c: revision 1.23
usr.sbin/sysinst/bsddisklabel.c: revision 1.40
usr.sbin/sysinst/main.c: revision 1.24
usr.sbin/sysinst/arch/cobalt/md.h: revision 1.6
usr.sbin/sysinst/bsddisklabel.c: revision 1.41
usr.sbin/sysinst/main.c: revision 1.25
usr.sbin/sysinst/arch/news68k/md.c: revision 1.7
usr.sbin/sysinst/bsddisklabel.c: revision 1.42
usr.sbin/sysinst/bsddisklabel.c: revision 1.43
usr.sbin/sysinst/bsddisklabel.c: revision 1.44
usr.sbin/sysinst/bsddisklabel.c: revision 1.45
Use strlcpy in a few places to guarnatee 0-terminated strings
Rever previous: the d_packname in struct disklabel is not NUL terminated.
Disable the warning instead.
Do not force -Os optimization (unless SMALLPROG)
Remove unused "rel" global variable and make the -r option a no-op.
PR 55045: strlcpy(NULL, ..., 0) considered harmfull in some implementations.
PR misc/54886: bump threshold for automatic/default creation of a tmpfs /tmp
up slightly (to 384 MB ram). This will make sure the default install has
a > 64 MB /tmp available (number pulled out of thin air, 64 MB is the minimum
required by the ZFS tests).
Don't depend on common symbol definitions.
boardype should not be common.
Redo the root-size-limit check again after we grew the root partition
for kernel dumps. Auto-enable the /usr partition if it overflows.
For all non-root partitions, default to FFSv2.
When extending a partition (to fill the total disk size) do respect
size limits.
Do not suggest a size limited partition for extension by default.
Minor tweak to previous: when forcing a /usr partition just to have an
arbitrary extendable partition, still use its default size initially.
At the end of a new installation save entropy.
Ooops, backout previous - twice the entropy saving is not needed.
Instead slightly improve the (slightly) hidden other code that already
did it.
PR 55202: disable swapping if we started it due to low ram
it's "its"
Remove "If you booted from a floppy" message
Set HAVE_INSTALL_IMAGE for evbarm
Change mountpoint of boot ext2fs from /stand to /ext2 to avoid conflict.
Should be pulled up to netbsd-9, with fixes of PR/55060.
MBR type for Ext2 should be MBR_PTYPE_LNXEXT2, not MBR_PTYPE_FAT12.
Silence -Wstringop-truncation for ``name'' in disp_selected_part().
This variable is used only for display, and truncation seems harmless.
PR 55572: avoid crash when answering the mount point prompt for a previously
empty mount point with an emptry sting.
When adding a new partition in the concrete partition editor, make sure
to set a pointer to the partition table interface in the new entry.
Otherwise we may end up not writing back the partitions at all, leading
to further fallout later.
Receipe to reproduce the issue from Frederic Fauberteau, thanks!
In the concrete partitions editor, after deleting the last partition move
the menu selection to the "add a partition" entry (instead of the sentinel
line which is not an active menu entry).
Typo in comment
Keep a list of all partition tables from which we have deleted partitions
and make sure we update those partition tables when writing partitions,
even if no install related partition remains on them.
Fix display of timezone selection menu
If there is no current partitioning manager assume we are editing the
current system and make target_already_root() return true.
Fixes various fallout when using sysinst post installation.
PR 55377: mark boot partitions in the partition size display, as suggested
by Izumi Tsutsui (minor modifications + all bugs by me)
PR 55378: do not assume RAW_PART to be either 2 or 3
PR 55379: avoid creating bogus /etc/fstab lines for /dev/cd* if no
cdrom is available.
PR 55381: try to deal with moved (but not yet saved) partitions when
calculating free space
Apply patch provided by Izumi Tsutsui in PR 55382: make ext2 partitions
show up in the outer (MBR) partition table, needed for example on Cobalt
where firmware boots from that partition.
PR 55384: detangle pm->ptstart from the "install" flag (selecting a
target partition). Instead introduce a new PTI_INSTALL_TARGET per partition
flag and deal with it in the partitioning backends.
Honour pm->ptstart when allocating new partitions - it is supposed to be
the first sector usable by NetBSD.
If we have no explicitly marke target root partition, make sure to set
the proper flag on the implicit one.
When merging existing partitions with desired target system layout
information, only force the "mount" flag if the existing partitions
has a valid mount point.
Add a heuristic to detect and properly mark EFI system partitions
when re-using pre-existing partitions.
When MD code requests a reserved area (at the start of the disk)
make sure to properly account for the "lost" space during all calculations
and especially when expanding the main partition to fill the disk.
Avoid using the global "pm" or a passed device descriptons when we are
passing disk limits explicitly anyway.
Simplify/fix a few rounding calculations.
When creating new partitions for "full disk" use, pass a install target
hint to the partitioning backend (for the outer NetBSD partition).
Use an install target hint to mark a new partition active.
When compiled with BOOTSEL support, also name the new partition "NetBSD".
Remove more pm->ptstart abuse - calculate values localy where needed
instead.
Fix editing start and size of not yet existing outer partitions.
Previously we abused pm->ptstart / pm->ptsize to pass the bounds of the
NetBSD outer partition to the inner partition editor - but now this is
not a valid assumption any more, so explicitly fix the bounds if an
outer partition exists.
Remove very strange code that special-cased MSDOS file systems and refused
to newfs the partition (despite explicit request to do so) if it was
mountable.
Accidently carried over from a dim and distant past, before we had
fsck_newfs.
PR 55536: when we find existing partition tables and have alternative
formats available, offer to delete partitions and create new ones from
scratch (in some other or the same on-disk format).
Minor fix to previous: fix condition when we offer the partition type
switch - it makes sense even if the disk is partitioned but has no valid
partitions.
Before forcing MBR partitions into our disklabel, make sure they are not
there yet - could happen in various paths when reusing existing partitions
(or parts of that) - previously we would blindly duplicate identical
partitions.
Ooops, part of previous was not meant to be included yet
When renumbering partitions (after deletions) be slightly more lax
in matching, to cope with differences between MBR EFI partitions and
disklabel MSDOS partitions.
PR 55142: on popular demand bring back expert options to adjust the
number of free inodes, block size and fragment size for FFS and LFS.
Fix copy & pasto noticed by Jason Mitchell: change the type of a GPT
partition via "gpt type" - not "gpt label".
Fix copy & pasto (missing "again" label)
Remove dead code
Move MBR writing (if any) post disklabel writing, otherwise strange
interactions happen.
Properly convert partition default sizes in MB to number of sectors
 1.9 26-Apr-2025  tsutsui Remove obsolete MD 'PART_(ROOT|SWAP|BSD|RAW|USR|REST|FIRST_FREE)' defines.

Patch from Miod Vallat.
 1.8 17-Jun-2022  tsutsui branches: 1.8.4;
Restore DEFSWAPSIZE value to (-1) to determine it by get_ramsize().

Thanks hannken@ for informing this botch.
 1.7 17-Jun-2022  hannken Remove now obsolete "#define DEFSWAPSIZE (-1)" to fix the build.
 1.6 16-Jun-2022  tsutsui Define DEFSWAPSIZE properly. DEFSWAPRAM seems obsolete.
 1.5 20-Jun-2019  martin Avoid architecture specific ifdefs in main code, move to MD macros.
 1.4 13-Jun-2019  martin Remove GPT boot (not available for sparc64 yet)
 1.3 12-Jun-2019  martin Rework internal data structures and "interfaces to user interface" functions
to get rid of all disklabel assumptions.

Previously (even for GPT partitioning) struct disklabel was used, which
obviously breaks large disk setups. Also many MD parts and parts of the
user interface assumed (a) a struct disklabel is used internally to
store partitioning information and (b) partitions are named 'a' ... $MAXPART.

Get rid of this and replace it with a quite abstract interface that should
be able to deal with all variants in partition storage:

- partitions are stored in a (partly abstract) struct disk_partitions
and most parts of it are only accessed via accessor functions provided
by a "partitioning scheme".

- implement partitioning schemes for MBR, disklabel and GPT (with likely
RDB [amiga] and Apple Partition Map [mac*] to follow soon)

- partitioning schemes may be cascaded, e.g. on x86 when using MBR as
"outer partitions", we have disklabel as "inner partitions".

- all user interface goes via accessor functions in the partitioning scheme,
some of which return pointers to special user interface descriptors
(e.g. to allow editing partition flags, which are scheme specific)

Overall the user interface changes (in this initial step) are minimal but
noticable. A new Anita is needed for automatic test setups - many thanks
to Andreas Gustafsson for lots of early testing and a new Anita version,
and to Manuel Bouyer for cooperation and tests of the Anita release.

This work was sponsored by The NetBSD Foundation, Inc.
 1.2 16-Nov-2018  martin Sync install size estimates with current reality
 1.1 26-Jul-2014  dholland branches: 1.1.2; 1.1.6; 1.1.26; 1.1.28;
Move sysinst sources to usr.sbin.

This commit only physically moves the sources - there are no other
changes, to maximize the probability that this will be treated as a
rename if we ever do manage to migrate away from CVS.

Moving sysinst has been discussed on and off for years and has two
goals: making it easier to work on sysinst, and also making sysinst
available on running systems for use installing chroots and VM images
and other such things. None of the latter is possible yet, but as they
say, one thing at a time.

Doing this now was approved in an impromptu fashion by mrg, riz,
riastradh, me, and groo.
 1.1.28.2 13-Apr-2020  martin Mostly merge changes from HEAD upto 20200411
 1.1.28.1 10-Jun-2019  christos Sync with HEAD
 1.1.26.1 26-Nov-2018  pgoyette Sync with HEAD, resolve a couple of conflicts
 1.1.6.2 20-Aug-2014  tls Rebase to HEAD as of a few days ago.
 1.1.6.1 26-Jul-2014  tls file md.h was added on branch tls-maxphys on 2014-08-20 00:05:17 +0000
 1.1.2.2 10-Aug-2014  tls Rebase.
 1.1.2.1 26-Jul-2014  tls file md.h was added on branch tls-earlyentropy on 2014-08-10 07:00:28 +0000
 1.8.4.1 02-Aug-2025  perseant Sync with HEAD
 1.1 26-Jul-2014  dholland branches: 1.1.2; 1.1.6;
Move sysinst sources to usr.sbin.

This commit only physically moves the sources - there are no other
changes, to maximize the probability that this will be treated as a
rename if we ever do manage to migrate away from CVS.

Moving sysinst has been discussed on and off for years and has two
goals: making it easier to work on sysinst, and also making sysinst
available on running systems for use installing chroots and VM images
and other such things. None of the latter is possible yet, but as they
say, one thing at a time.

Doing this now was approved in an impromptu fashion by mrg, riz,
riastradh, me, and groo.
 1.1.6.2 20-Aug-2014  tls Rebase to HEAD as of a few days ago.
 1.1.6.1 26-Jul-2014  tls file menus.md.en was added on branch tls-maxphys on 2014-08-20 00:05:17 +0000
 1.1.2.2 10-Aug-2014  tls Rebase.
 1.1.2.1 26-Jul-2014  tls file menus.md.en was added on branch tls-earlyentropy on 2014-08-10 07:00:28 +0000
 1.1 26-Jul-2014  dholland branches: 1.1.2; 1.1.6;
Move sysinst sources to usr.sbin.

This commit only physically moves the sources - there are no other
changes, to maximize the probability that this will be treated as a
rename if we ever do manage to migrate away from CVS.

Moving sysinst has been discussed on and off for years and has two
goals: making it easier to work on sysinst, and also making sysinst
available on running systems for use installing chroots and VM images
and other such things. None of the latter is possible yet, but as they
say, one thing at a time.

Doing this now was approved in an impromptu fashion by mrg, riz,
riastradh, me, and groo.
 1.1.6.2 20-Aug-2014  tls Rebase to HEAD as of a few days ago.
 1.1.6.1 26-Jul-2014  tls file menus.md.es was added on branch tls-maxphys on 2014-08-20 00:05:17 +0000
 1.1.2.2 10-Aug-2014  tls Rebase.
 1.1.2.1 26-Jul-2014  tls file menus.md.es was added on branch tls-earlyentropy on 2014-08-10 07:00:28 +0000
 1.1 26-Jul-2014  dholland branches: 1.1.2; 1.1.6;
Move sysinst sources to usr.sbin.

This commit only physically moves the sources - there are no other
changes, to maximize the probability that this will be treated as a
rename if we ever do manage to migrate away from CVS.

Moving sysinst has been discussed on and off for years and has two
goals: making it easier to work on sysinst, and also making sysinst
available on running systems for use installing chroots and VM images
and other such things. None of the latter is possible yet, but as they
say, one thing at a time.

Doing this now was approved in an impromptu fashion by mrg, riz,
riastradh, me, and groo.
 1.1.6.2 20-Aug-2014  tls Rebase to HEAD as of a few days ago.
 1.1.6.1 26-Jul-2014  tls file menus.md.fr was added on branch tls-maxphys on 2014-08-20 00:05:17 +0000
 1.1.2.2 10-Aug-2014  tls Rebase.
 1.1.2.1 26-Jul-2014  tls file menus.md.fr was added on branch tls-earlyentropy on 2014-08-10 07:00:28 +0000
 1.1 26-Jul-2014  dholland branches: 1.1.2; 1.1.6;
Move sysinst sources to usr.sbin.

This commit only physically moves the sources - there are no other
changes, to maximize the probability that this will be treated as a
rename if we ever do manage to migrate away from CVS.

Moving sysinst has been discussed on and off for years and has two
goals: making it easier to work on sysinst, and also making sysinst
available on running systems for use installing chroots and VM images
and other such things. None of the latter is possible yet, but as they
say, one thing at a time.

Doing this now was approved in an impromptu fashion by mrg, riz,
riastradh, me, and groo.
 1.1.6.2 20-Aug-2014  tls Rebase to HEAD as of a few days ago.
 1.1.6.1 26-Jul-2014  tls file menus.md.pl was added on branch tls-maxphys on 2014-08-20 00:05:17 +0000
 1.1.2.2 10-Aug-2014  tls Rebase.
 1.1.2.1 26-Jul-2014  tls file menus.md.pl was added on branch tls-earlyentropy on 2014-08-10 07:00:28 +0000
 1.1 26-Jul-2014  dholland branches: 1.1.2; 1.1.6;
Move sysinst sources to usr.sbin.

This commit only physically moves the sources - there are no other
changes, to maximize the probability that this will be treated as a
rename if we ever do manage to migrate away from CVS.

Moving sysinst has been discussed on and off for years and has two
goals: making it easier to work on sysinst, and also making sysinst
available on running systems for use installing chroots and VM images
and other such things. None of the latter is possible yet, but as they
say, one thing at a time.

Doing this now was approved in an impromptu fashion by mrg, riz,
riastradh, me, and groo.
 1.1.6.2 20-Aug-2014  tls Rebase to HEAD as of a few days ago.
 1.1.6.1 26-Jul-2014  tls file msg.md.de was added on branch tls-maxphys on 2014-08-20 00:05:17 +0000
 1.1.2.2 10-Aug-2014  tls Rebase.
 1.1.2.1 26-Jul-2014  tls file msg.md.de was added on branch tls-earlyentropy on 2014-08-10 07:00:28 +0000
 1.1 26-Jul-2014  dholland branches: 1.1.2; 1.1.6;
Move sysinst sources to usr.sbin.

This commit only physically moves the sources - there are no other
changes, to maximize the probability that this will be treated as a
rename if we ever do manage to migrate away from CVS.

Moving sysinst has been discussed on and off for years and has two
goals: making it easier to work on sysinst, and also making sysinst
available on running systems for use installing chroots and VM images
and other such things. None of the latter is possible yet, but as they
say, one thing at a time.

Doing this now was approved in an impromptu fashion by mrg, riz,
riastradh, me, and groo.
 1.1.6.2 20-Aug-2014  tls Rebase to HEAD as of a few days ago.
 1.1.6.1 26-Jul-2014  tls file msg.md.en was added on branch tls-maxphys on 2014-08-20 00:05:17 +0000
 1.1.2.2 10-Aug-2014  tls Rebase.
 1.1.2.1 26-Jul-2014  tls file msg.md.en was added on branch tls-earlyentropy on 2014-08-10 07:00:28 +0000
 1.1 26-Jul-2014  dholland branches: 1.1.2; 1.1.6;
Move sysinst sources to usr.sbin.

This commit only physically moves the sources - there are no other
changes, to maximize the probability that this will be treated as a
rename if we ever do manage to migrate away from CVS.

Moving sysinst has been discussed on and off for years and has two
goals: making it easier to work on sysinst, and also making sysinst
available on running systems for use installing chroots and VM images
and other such things. None of the latter is possible yet, but as they
say, one thing at a time.

Doing this now was approved in an impromptu fashion by mrg, riz,
riastradh, me, and groo.
 1.1.6.2 20-Aug-2014  tls Rebase to HEAD as of a few days ago.
 1.1.6.1 26-Jul-2014  tls file msg.md.es was added on branch tls-maxphys on 2014-08-20 00:05:17 +0000
 1.1.2.2 10-Aug-2014  tls Rebase.
 1.1.2.1 26-Jul-2014  tls file msg.md.es was added on branch tls-earlyentropy on 2014-08-10 07:00:28 +0000
 1.1 26-Jul-2014  dholland branches: 1.1.2; 1.1.6;
Move sysinst sources to usr.sbin.

This commit only physically moves the sources - there are no other
changes, to maximize the probability that this will be treated as a
rename if we ever do manage to migrate away from CVS.

Moving sysinst has been discussed on and off for years and has two
goals: making it easier to work on sysinst, and also making sysinst
available on running systems for use installing chroots and VM images
and other such things. None of the latter is possible yet, but as they
say, one thing at a time.

Doing this now was approved in an impromptu fashion by mrg, riz,
riastradh, me, and groo.
 1.1.6.2 20-Aug-2014  tls Rebase to HEAD as of a few days ago.
 1.1.6.1 26-Jul-2014  tls file msg.md.fr was added on branch tls-maxphys on 2014-08-20 00:05:17 +0000
 1.1.2.2 10-Aug-2014  tls Rebase.
 1.1.2.1 26-Jul-2014  tls file msg.md.fr was added on branch tls-earlyentropy on 2014-08-10 07:00:28 +0000
 1.1 26-Jul-2014  dholland branches: 1.1.2; 1.1.6;
Move sysinst sources to usr.sbin.

This commit only physically moves the sources - there are no other
changes, to maximize the probability that this will be treated as a
rename if we ever do manage to migrate away from CVS.

Moving sysinst has been discussed on and off for years and has two
goals: making it easier to work on sysinst, and also making sysinst
available on running systems for use installing chroots and VM images
and other such things. None of the latter is possible yet, but as they
say, one thing at a time.

Doing this now was approved in an impromptu fashion by mrg, riz,
riastradh, me, and groo.
 1.1.6.2 20-Aug-2014  tls Rebase to HEAD as of a few days ago.
 1.1.6.1 26-Jul-2014  tls file msg.md.pl was added on branch tls-maxphys on 2014-08-20 00:05:17 +0000
 1.1.2.2 10-Aug-2014  tls Rebase.
 1.1.2.1 26-Jul-2014  tls file msg.md.pl was added on branch tls-earlyentropy on 2014-08-10 07:00:28 +0000
 1.2 06-Nov-2020  martin Minimize the installer for crunched install media
 1.1 26-Jul-2014  dholland branches: 1.1.2; 1.1.6;
Move sysinst sources to usr.sbin.

This commit only physically moves the sources - there are no other
changes, to maximize the probability that this will be treated as a
rename if we ever do manage to migrate away from CVS.

Moving sysinst has been discussed on and off for years and has two
goals: making it easier to work on sysinst, and also making sysinst
available on running systems for use installing chroots and VM images
and other such things. None of the latter is possible yet, but as they
say, one thing at a time.

Doing this now was approved in an impromptu fashion by mrg, riz,
riastradh, me, and groo.
 1.1.6.2 20-Aug-2014  tls Rebase to HEAD as of a few days ago.
 1.1.6.1 26-Jul-2014  tls file Makefile was added on branch tls-maxphys on 2014-08-20 00:05:18 +0000
 1.1.2.2 10-Aug-2014  tls Rebase.
 1.1.2.1 26-Jul-2014  tls file Makefile was added on branch tls-earlyentropy on 2014-08-10 07:00:28 +0000
 1.8 29-Jan-2022  martin When upgrading, update the boot code post extraction from
the updated target file system.
 1.7 12-Oct-2020  martin PR 55536: when we find existing partition tables and have alternative
formats available, offer to delete partitions and create new ones from
scratch (in some other or the same on-disk format).
 1.6 13-Jul-2019  martin branches: 1.6.2;
We may call md_pre_mount() multiple times for the same install set,
so pass an additional index argument so MD code knows which part
of the install will be mounted next.
 1.5 20-Jun-2019  christos Use _fmt_ msg_ methods when formats are needed.
 1.4 12-Jun-2019  martin Rework internal data structures and "interfaces to user interface" functions
to get rid of all disklabel assumptions.

Previously (even for GPT partitioning) struct disklabel was used, which
obviously breaks large disk setups. Also many MD parts and parts of the
user interface assumed (a) a struct disklabel is used internally to
store partitioning information and (b) partitions are named 'a' ... $MAXPART.

Get rid of this and replace it with a quite abstract interface that should
be able to deal with all variants in partition storage:

- partitions are stored in a (partly abstract) struct disk_partitions
and most parts of it are only accessed via accessor functions provided
by a "partitioning scheme".

- implement partitioning schemes for MBR, disklabel and GPT (with likely
RDB [amiga] and Apple Partition Map [mac*] to follow soon)

- partitioning schemes may be cascaded, e.g. on x86 when using MBR as
"outer partitions", we have disklabel as "inner partitions".

- all user interface goes via accessor functions in the partitioning scheme,
some of which return pointers to special user interface descriptors
(e.g. to allow editing partition flags, which are scheme specific)

Overall the user interface changes (in this initial step) are minimal but
noticable. A new Anita is needed for automatic test setups - many thanks
to Andreas Gustafsson for lots of early testing and a new Anita version,
and to Manuel Bouyer for cooperation and tests of the Anita release.

This work was sponsored by The NetBSD Foundation, Inc.
 1.3 02-Jan-2015  abs branches: 1.3.16;
Rather than scatter set_swap() calls wrapped in ram size checks through
md_post_disklabel() and md_pre_update(), abstract them out to an MI
set_swap_if_low_ram() and call from the appropriate MI places.
Now all platforms add swap if the system has <= 32M of RAM.
 1.2 03-Aug-2014  martin branches: 1.2.2; 1.2.4; 1.2.6;
(Finally) merge a slightly modified version of the 2012 GSoC results
from Eugene Lozovoy: add extended partitioning options to sysinst.
Still needs some testing and polishing, but it now is possible to use GPT
or to create a RAID set from scratch and install onto it.
 1.1 26-Jul-2014  dholland Move sysinst sources to usr.sbin.

This commit only physically moves the sources - there are no other
changes, to maximize the probability that this will be treated as a
rename if we ever do manage to migrate away from CVS.

Moving sysinst has been discussed on and off for years and has two
goals: making it easier to work on sysinst, and also making sysinst
available on running systems for use installing chroots and VM images
and other such things. None of the latter is possible yet, but as they
say, one thing at a time.

Doing this now was approved in an impromptu fashion by mrg, riz,
riastradh, me, and groo.
 1.2.6.2 20-Aug-2014  tls Rebase to HEAD as of a few days ago.
 1.2.6.1 03-Aug-2014  tls file md.c was added on branch tls-maxphys on 2014-08-20 00:05:18 +0000
 1.2.4.1 11-Jan-2015  snj Pull up following revision(s) (requested by abs in ticket #400):
usr.sbin/sysinst/arch/arc/md.c: revision 1.3
usr.sbin/sysinst/arch/cobalt/md.c: revision 1.3
usr.sbin/sysinst/arch/evbsh3/md.c: revision 1.3
usr.sbin/sysinst/arch/hp300/md.c: revision 1.3
usr.sbin/sysinst/arch/hpcsh/md.c: revision 1.3
usr.sbin/sysinst/arch/i386/md.c: revision 1.5
usr.sbin/sysinst/arch/luna68k/md.c: revision 1.4
usr.sbin/sysinst/arch/mvme68k/md.c: revision 1.3
usr.sbin/sysinst/arch/news68k/md.c: revision 1.3
usr.sbin/sysinst/arch/sgimips/md.c: revision 1.3
usr.sbin/sysinst/arch/vax/md.c: revision 1.3
usr.sbin/sysinst/arch/x68k/md.c: revision 1.3
usr.sbin/sysinst/defs.h: revision 1.6
usr.sbin/sysinst/disks.c: revision 1.7
usr.sbin/sysinst/install.c: revision 1.3
usr.sbin/sysinst/partman.c: revision 1.8
usr.sbin/sysinst/upgrade.c: revision 1.3
Rather than scatter set_swap() calls wrapped in ram size checks through
md_post_disklabel() and md_pre_update(), abstract them out to an MI
set_swap_if_low_ram() and call from the appropriate MI places.
Now all platforms add swap if the system has <= 32M of RAM.
 1.2.2.2 10-Aug-2014  tls Rebase.
 1.2.2.1 03-Aug-2014  tls file md.c was added on branch tls-earlyentropy on 2014-08-10 07:00:28 +0000
 1.3.16.1 13-Apr-2020  martin Mostly merge changes from HEAD upto 20200411
 1.6.2.2 02-Feb-2022  msaitoh Pull up following revision(s) (requested by martin in ticket #1422):
usr.sbin/sysinst/util.c: revision 1.64
usr.sbin/sysinst/arch/hpcsh/md.c: revision 1.11
usr.sbin/sysinst/arch/alpha/md.c: revision 1.10
usr.sbin/sysinst/arch/sparc64/md.c: revision 1.7
usr.sbin/sysinst/arch/emips/md.c: revision 1.10
usr.sbin/sysinst/arch/cobalt/md.c: revision 1.15
usr.sbin/sysinst/arch/x68k/md.c: revision 1.12
usr.sbin/sysinst/arch/sandpoint/md.c: revision 1.10
usr.sbin/sysinst/arch/luna68k/md.c: revision 1.10
usr.sbin/sysinst/arch/hp300/md.c: revision 1.12
usr.sbin/sysinst/arch/vax/md.c: revision 1.8
usr.sbin/sysinst/arch/hpcmips/md.c: revision 1.10
usr.sbin/sysinst/target.c: revision 1.16
usr.sbin/sysinst/arch/mvme68k/md.c: revision 1.12
usr.sbin/sysinst/arch/arc/md.c: revision 1.14
usr.sbin/sysinst/target.c: revision 1.17
usr.sbin/sysinst/arch/i386/md.c: revision 1.34
usr.sbin/sysinst/arch/mac68k/md.c: revision 1.11
usr.sbin/sysinst/arch/atari/md.c: revision 1.8
usr.sbin/sysinst/arch/sgimips/md.c: revision 1.10
usr.sbin/sysinst/arch/acorn32/md.c: revision 1.8
usr.sbin/sysinst/install.c: revision 1.22
usr.sbin/sysinst/arch/amiga/md.c: revision 1.7
usr.sbin/sysinst/arch/cats/md.c: revision 1.6
usr.sbin/sysinst/arch/dummy/md.c: revision 1.7
usr.sbin/sysinst/arch/shark/md.c: revision 1.7
usr.sbin/sysinst/arch/pmax/md.c: revision 1.9
usr.sbin/sysinst/arch/newsmips/md.c: revision 1.7
usr.sbin/sysinst/arch/mipsco/md.c: revision 1.9
usr.sbin/sysinst/arch/landisk/md.c: revision 1.15
usr.sbin/sysinst/arch/hppa/md.c: revision 1.9
usr.sbin/sysinst/arch/prep/md.c: revision 1.14
usr.sbin/sysinst/defs.h: revision 1.77
usr.sbin/sysinst/arch/ofppc/md.c: revision 1.13
usr.sbin/sysinst/arch/ews4800mips/md.c: revision 1.8
usr.sbin/sysinst/defs.h: revision 1.78
usr.sbin/sysinst/arch/macppc/md.c: revision 1.7
usr.sbin/sysinst/arch/evbppc/md.c: revision 1.10
usr.sbin/sysinst/defs.h: revision 1.79
usr.sbin/sysinst/gpt.c: revision 1.27
usr.sbin/sysinst/arch/bebox/md.c: revision 1.10
usr.sbin/sysinst/gpt.c: revision 1.28
usr.sbin/sysinst/arch/sparc/md.c: revision 1.7
usr.sbin/sysinst/arch/evbsh3/md.c: revision 1.7
usr.sbin/sysinst/arch/evbarm/md.c: revision 1.22
usr.sbin/sysinst/arch/news68k/md.c: revision 1.8
usr.sbin/sysinst/upgrade.c: revision 1.19
usr.sbin/sysinst/arch/zaurus/md.c: revision 1.12
usr.sbin/sysinst/arch/playstation2/md.c: revision 1.10
usr.sbin/sysinst/arch/hpcarm/md.c: revision 1.11
usr.sbin/sysinst/arch/evbmips/md.c: revision 1.10
usr.sbin/sysinst/main.c: revision 1.28
Add an option to set the directory where we look for message catalogs.
Try to get rid of all wedges we created (after unmounting).
When upgrading, update the boot code post extraction from
the updated target file system.
Do not defer wedge deletions when we have nothing mounted.
Define and use a constant for maximum disk name length.
 1.6.2.1 15-Oct-2020  bouyer Pull up following revision(s) (requested by martin in ticket #1113):
usr.sbin/sysinst/bsddisklabel.c: revision 1.46
usr.sbin/sysinst/bsddisklabel.c: revision 1.47
usr.sbin/sysinst/disklabel.c: revision 1.40
usr.sbin/sysinst/arch/cobalt/md.c: revision 1.13
usr.sbin/sysinst/bsddisklabel.c: revision 1.48
usr.sbin/sysinst/disklabel.c: revision 1.41
usr.sbin/sysinst/arch/cobalt/md.c: revision 1.14
usr.sbin/sysinst/bsddisklabel.c: revision 1.49
usr.sbin/sysinst/disklabel.c: revision 1.42
usr.sbin/sysinst/Makefile.inc: revision 1.34
usr.sbin/sysinst/disks.c: revision 1.70
usr.sbin/sysinst/arch/hp300/md.c: revision 1.11
usr.sbin/sysinst/disks.c: revision 1.71
usr.sbin/sysinst/arch/i386/md.h: revision 1.8
usr.sbin/sysinst/arch/arc/md.c: revision 1.13
usr.sbin/sysinst/mbr.h: revision 1.5
usr.sbin/sysinst/mbr.h: revision 1.6
usr.sbin/sysinst/arch/mac68k/md.c: revision 1.10
usr.sbin/sysinst/bsddisklabel.c: revision 1.50
usr.sbin/sysinst/arch/acorn32/md.c: revision 1.7
usr.sbin/sysinst/bsddisklabel.c: revision 1.51
usr.sbin/sysinst/bsddisklabel.c: revision 1.52
usr.sbin/sysinst/bsddisklabel.c: revision 1.53
usr.sbin/sysinst/bsddisklabel.c: revision 1.54
usr.sbin/sysinst/bsddisklabel.c: revision 1.55
usr.sbin/sysinst/bsddisklabel.c: revision 1.56
usr.sbin/sysinst/arch/dummy/md.c: revision 1.6
usr.sbin/sysinst/arch/amd64/md.h: revision 1.9
usr.sbin/sysinst/arch/evbsh3/md.c: revision 1.6
usr.sbin/sysinst/arch/sparc/md.c: revision 1.6
usr.sbin/sysinst/arch/zaurus/md.c: revision 1.10
usr.sbin/sysinst/arch/x68k/md.c: revision 1.11
usr.sbin/sysinst/arch/sandpoint/md.c: revision 1.9
usr.sbin/sysinst/arch/vax/md.c: revision 1.7
usr.sbin/sysinst/arch/luna68k/md.c: revision 1.9
usr.sbin/sysinst/gpt.c: revision 1.19
usr.sbin/sysinst/arch/i386/md.c: revision 1.31
usr.sbin/sysinst/arch/i386/md.c: revision 1.32
usr.sbin/sysinst/arch/evbarm/md.c: revision 1.17
usr.sbin/sysinst/arch/evbarm/md.c: revision 1.18
usr.sbin/sysinst/arch/evbarm/md.c: revision 1.19
usr.sbin/sysinst/arch/shark/md.c: revision 1.6
usr.sbin/sysinst/arch/landisk/md.c: revision 1.14
usr.sbin/sysinst/util.c: revision 1.43
usr.sbin/sysinst/gpt.c: revision 1.20
usr.sbin/sysinst/util.c: revision 1.44
usr.sbin/sysinst/gpt.c: revision 1.21
usr.sbin/sysinst/gpt.c: revision 1.22
usr.sbin/sysinst/arch/evbarm/msg.md.en: revision 1.2
usr.sbin/sysinst/arch/ofppc/md.c: revision 1.11
usr.sbin/sysinst/util.c: revision 1.46
usr.sbin/sysinst/arch/ofppc/md.c: revision 1.12
usr.sbin/sysinst/util.c: revision 1.47
usr.sbin/sysinst/arch/evbarm/md.h: revision 1.6
usr.sbin/sysinst/util.c: revision 1.48
usr.sbin/sysinst/arch/evbarm/md.h: revision 1.7
usr.sbin/sysinst/arch/evbmips/md.c: revision 1.9
usr.sbin/sysinst/msg.mi.fr: revision 1.28
usr.sbin/sysinst/msg.mi.fr: revision 1.29
usr.sbin/sysinst/arch/sgimips/md.c: revision 1.9
usr.sbin/sysinst/arch/evbarm/Makefile: revision 1.3
usr.sbin/sysinst/msg.mi.de: revision 1.23
usr.sbin/sysinst/arch/hpcsh/md.c: revision 1.10
usr.sbin/sysinst/msg.mi.de: revision 1.24
usr.sbin/sysinst/install.c: revision 1.15
usr.sbin/sysinst/install.c: revision 1.16
usr.sbin/sysinst/arch/sparc64/md.c: revision 1.6
usr.sbin/sysinst/install.c: revision 1.17
usr.sbin/sysinst/install.c: revision 1.18
usr.sbin/sysinst/partitions.h: revision 1.16
usr.sbin/sysinst/install.c: revision 1.19
usr.sbin/sysinst/partitions.h: revision 1.17
usr.sbin/sysinst/arch/evbppc/md.c: revision 1.9
usr.sbin/sysinst/arch/playstation2/md.c: revision 1.9
usr.sbin/sysinst/partitions.h: revision 1.18
usr.sbin/sysinst/arch/hpcarm/md.c: revision 1.9
usr.sbin/sysinst/partitions.h: revision 1.19
usr.sbin/sysinst/msg.mi.es: revision 1.24
usr.sbin/sysinst/msg.mi.es: revision 1.25
usr.sbin/sysinst/msg.mi.es: revision 1.26
usr.sbin/sysinst/arch/zaurus/md.c: revision 1.9
usr.sbin/sysinst/target.c: revision 1.13
usr.sbin/sysinst/target.c: revision 1.14
usr.sbin/sysinst/part_edit.c: revision 1.17
usr.sbin/sysinst/part_edit.c: revision 1.18
usr.sbin/sysinst/msg.mi.fr: revision 1.30
usr.sbin/sysinst/arch/mvme68k/md.c: revision 1.11
usr.sbin/sysinst/part_edit.c: revision 1.19
usr.sbin/sysinst/msg.mi.fr: revision 1.31
usr.sbin/sysinst/arch/alpha/md.c: revision 1.9
usr.sbin/sysinst/msg.mi.en: revision 1.30
usr.sbin/sysinst/defs.h: revision 1.56
usr.sbin/sysinst/msg.mi.en: revision 1.31
usr.sbin/sysinst/defs.h: revision 1.57
usr.sbin/sysinst/msg.mi.en: revision 1.32
usr.sbin/sysinst/arch/amiga/md.c: revision 1.6
usr.sbin/sysinst/arch/hpcmips/md.c: revision 1.9
usr.sbin/sysinst/defs.h: revision 1.58
usr.sbin/sysinst/arch/cats/md.c: revision 1.5
usr.sbin/sysinst/defs.h: revision 1.59
usr.sbin/sysinst/arch/newsmips/md.c: revision 1.6
usr.sbin/sysinst/arch/pmax/md.c: revision 1.8
usr.sbin/sysinst/arch/mipsco/md.c: revision 1.8
usr.sbin/sysinst/part_edit.c: revision 1.20
usr.sbin/sysinst/part_edit.c: revision 1.21
usr.sbin/sysinst/arch/macppc/md.c: revision 1.6
usr.sbin/sysinst/part_edit.c: revision 1.22
usr.sbin/sysinst/part_edit.c: revision 1.23
usr.sbin/sysinst/part_edit.c: revision 1.24
usr.sbin/sysinst/defs.h: revision 1.60
usr.sbin/sysinst/arch/mac68k/Makefile: revision 1.3
usr.sbin/sysinst/defs.h: revision 1.61
usr.sbin/sysinst/defs.h: revision 1.63
usr.sbin/sysinst/defs.h: revision 1.64
usr.sbin/sysinst/defs.h: revision 1.65
usr.sbin/sysinst/label.c: revision 1.21
usr.sbin/sysinst/defs.h: revision 1.66
usr.sbin/sysinst/label.c: revision 1.22
usr.sbin/sysinst/defs.h: revision 1.67
usr.sbin/sysinst/label.c: revision 1.23
usr.sbin/sysinst/label.c: revision 1.24
usr.sbin/sysinst/label.c: revision 1.25
usr.sbin/sysinst/label.c: revision 1.26
usr.sbin/sysinst/label.c: revision 1.27
usr.sbin/sysinst/msg.mi.pl: revision 1.31
usr.sbin/sysinst/label.c: revision 1.28
usr.sbin/sysinst/msg.mi.pl: revision 1.32
usr.sbin/sysinst/label.c: revision 1.29
usr.sbin/sysinst/arch/atari/md.c: revision 1.7
usr.sbin/sysinst/disklabel.c: revision 1.36
usr.sbin/sysinst/disklabel.c: revision 1.37
usr.sbin/sysinst/disklabel.c: revision 1.38
usr.sbin/sysinst/disklabel.c: revision 1.39
usr.sbin/sysinst/arch/bebox/md.c: revision 1.9
usr.sbin/sysinst/mbr.c: revision 1.32
usr.sbin/sysinst/disks.c: revision 1.66
usr.sbin/sysinst/mbr.c: revision 1.33
usr.sbin/sysinst/disks.c: revision 1.67
usr.sbin/sysinst/mbr.c: revision 1.34
usr.sbin/sysinst/arch/emips/md.c: revision 1.9
usr.sbin/sysinst/disks.c: revision 1.68
usr.sbin/sysinst/partitions.c: revision 1.11
usr.sbin/sysinst/mbr.c: revision 1.35
usr.sbin/sysinst/disks.c: revision 1.69
usr.sbin/sysinst/mbr.c: revision 1.36
usr.sbin/sysinst/arch/hppa/md.c: revision 1.8
usr.sbin/sysinst/arch/prep/md.c: revision 1.13
usr.sbin/sysinst/label.c: revision 1.30
usr.sbin/sysinst/arch/ews4800mips/md.c: revision 1.7
usr.sbin/sysinst/main.c: revision 1.21
usr.sbin/sysinst/main.c: revision 1.22
usr.sbin/sysinst/main.c: revision 1.23
usr.sbin/sysinst/bsddisklabel.c: revision 1.40
usr.sbin/sysinst/main.c: revision 1.24
usr.sbin/sysinst/arch/cobalt/md.h: revision 1.6
usr.sbin/sysinst/bsddisklabel.c: revision 1.41
usr.sbin/sysinst/main.c: revision 1.25
usr.sbin/sysinst/arch/news68k/md.c: revision 1.7
usr.sbin/sysinst/bsddisklabel.c: revision 1.42
usr.sbin/sysinst/bsddisklabel.c: revision 1.43
usr.sbin/sysinst/bsddisklabel.c: revision 1.44
usr.sbin/sysinst/bsddisklabel.c: revision 1.45
Use strlcpy in a few places to guarnatee 0-terminated strings
Rever previous: the d_packname in struct disklabel is not NUL terminated.
Disable the warning instead.
Do not force -Os optimization (unless SMALLPROG)
Remove unused "rel" global variable and make the -r option a no-op.
PR 55045: strlcpy(NULL, ..., 0) considered harmfull in some implementations.
PR misc/54886: bump threshold for automatic/default creation of a tmpfs /tmp
up slightly (to 384 MB ram). This will make sure the default install has
a > 64 MB /tmp available (number pulled out of thin air, 64 MB is the minimum
required by the ZFS tests).
Don't depend on common symbol definitions.
boardype should not be common.
Redo the root-size-limit check again after we grew the root partition
for kernel dumps. Auto-enable the /usr partition if it overflows.
For all non-root partitions, default to FFSv2.
When extending a partition (to fill the total disk size) do respect
size limits.
Do not suggest a size limited partition for extension by default.
Minor tweak to previous: when forcing a /usr partition just to have an
arbitrary extendable partition, still use its default size initially.
At the end of a new installation save entropy.
Ooops, backout previous - twice the entropy saving is not needed.
Instead slightly improve the (slightly) hidden other code that already
did it.
PR 55202: disable swapping if we started it due to low ram
it's "its"
Remove "If you booted from a floppy" message
Set HAVE_INSTALL_IMAGE for evbarm
Change mountpoint of boot ext2fs from /stand to /ext2 to avoid conflict.
Should be pulled up to netbsd-9, with fixes of PR/55060.
MBR type for Ext2 should be MBR_PTYPE_LNXEXT2, not MBR_PTYPE_FAT12.
Silence -Wstringop-truncation for ``name'' in disp_selected_part().
This variable is used only for display, and truncation seems harmless.
PR 55572: avoid crash when answering the mount point prompt for a previously
empty mount point with an emptry sting.
When adding a new partition in the concrete partition editor, make sure
to set a pointer to the partition table interface in the new entry.
Otherwise we may end up not writing back the partitions at all, leading
to further fallout later.
Receipe to reproduce the issue from Frederic Fauberteau, thanks!
In the concrete partitions editor, after deleting the last partition move
the menu selection to the "add a partition" entry (instead of the sentinel
line which is not an active menu entry).
Typo in comment
Keep a list of all partition tables from which we have deleted partitions
and make sure we update those partition tables when writing partitions,
even if no install related partition remains on them.
Fix display of timezone selection menu
If there is no current partitioning manager assume we are editing the
current system and make target_already_root() return true.
Fixes various fallout when using sysinst post installation.
PR 55377: mark boot partitions in the partition size display, as suggested
by Izumi Tsutsui (minor modifications + all bugs by me)
PR 55378: do not assume RAW_PART to be either 2 or 3
PR 55379: avoid creating bogus /etc/fstab lines for /dev/cd* if no
cdrom is available.
PR 55381: try to deal with moved (but not yet saved) partitions when
calculating free space
Apply patch provided by Izumi Tsutsui in PR 55382: make ext2 partitions
show up in the outer (MBR) partition table, needed for example on Cobalt
where firmware boots from that partition.
PR 55384: detangle pm->ptstart from the "install" flag (selecting a
target partition). Instead introduce a new PTI_INSTALL_TARGET per partition
flag and deal with it in the partitioning backends.
Honour pm->ptstart when allocating new partitions - it is supposed to be
the first sector usable by NetBSD.
If we have no explicitly marke target root partition, make sure to set
the proper flag on the implicit one.
When merging existing partitions with desired target system layout
information, only force the "mount" flag if the existing partitions
has a valid mount point.
Add a heuristic to detect and properly mark EFI system partitions
when re-using pre-existing partitions.
When MD code requests a reserved area (at the start of the disk)
make sure to properly account for the "lost" space during all calculations
and especially when expanding the main partition to fill the disk.
Avoid using the global "pm" or a passed device descriptons when we are
passing disk limits explicitly anyway.
Simplify/fix a few rounding calculations.
When creating new partitions for "full disk" use, pass a install target
hint to the partitioning backend (for the outer NetBSD partition).
Use an install target hint to mark a new partition active.
When compiled with BOOTSEL support, also name the new partition "NetBSD".
Remove more pm->ptstart abuse - calculate values localy where needed
instead.
Fix editing start and size of not yet existing outer partitions.
Previously we abused pm->ptstart / pm->ptsize to pass the bounds of the
NetBSD outer partition to the inner partition editor - but now this is
not a valid assumption any more, so explicitly fix the bounds if an
outer partition exists.
Remove very strange code that special-cased MSDOS file systems and refused
to newfs the partition (despite explicit request to do so) if it was
mountable.
Accidently carried over from a dim and distant past, before we had
fsck_newfs.
PR 55536: when we find existing partition tables and have alternative
formats available, offer to delete partitions and create new ones from
scratch (in some other or the same on-disk format).
Minor fix to previous: fix condition when we offer the partition type
switch - it makes sense even if the disk is partitioned but has no valid
partitions.
Before forcing MBR partitions into our disklabel, make sure they are not
there yet - could happen in various paths when reusing existing partitions
(or parts of that) - previously we would blindly duplicate identical
partitions.
Ooops, part of previous was not meant to be included yet
When renumbering partitions (after deletions) be slightly more lax
in matching, to cope with differences between MBR EFI partitions and
disklabel MSDOS partitions.
PR 55142: on popular demand bring back expert options to adjust the
number of free inodes, block size and fragment size for FFS and LFS.
Fix copy & pasto noticed by Jason Mitchell: change the type of a GPT
partition via "gpt type" - not "gpt label".
Fix copy & pasto (missing "again" label)
Remove dead code
Move MBR writing (if any) post disklabel writing, otherwise strange
interactions happen.
Properly convert partition default sizes in MB to number of sectors
 1.7 26-Apr-2025  tsutsui Remove obsolete MD 'PART_(ROOT|SWAP|BSD|RAW|USR|REST|FIRST_FREE)' defines.

Patch from Miod Vallat.
 1.6 10-Dec-2022  jakllsch branches: 1.6.4;
VAX bootxx has had ffsv2 support since May 2018, allow its use as boot
filesystem in sysinst.

Sucessfully tested in simh-microvax3900 booting from FFSv2ea.
 1.5 16-Jun-2022  tsutsui Define DEFSWAPSIZE properly. DEFSWAPRAM seems obsolete.
 1.4 16-Nov-2018  martin Sync install size estimates with current reality
 1.3 07-Nov-2018  martin Unify handling of CDROM device names.
Skip CDs when looking for install targets (we do not support installing
onto a blueray with UDF).

Fix search for the default CDROM device and the CD we booted from
for ports with nonstandard CDROM device names.
 1.2 05-Nov-2018  martin Get rid of hard coded disk names and use sysctl hw.disknames
instead.
 1.1 26-Jul-2014  dholland branches: 1.1.2; 1.1.6; 1.1.26; 1.1.28;
Move sysinst sources to usr.sbin.

This commit only physically moves the sources - there are no other
changes, to maximize the probability that this will be treated as a
rename if we ever do manage to migrate away from CVS.

Moving sysinst has been discussed on and off for years and has two
goals: making it easier to work on sysinst, and also making sysinst
available on running systems for use installing chroots and VM images
and other such things. None of the latter is possible yet, but as they
say, one thing at a time.

Doing this now was approved in an impromptu fashion by mrg, riz,
riastradh, me, and groo.
 1.1.28.1 10-Jun-2019  christos Sync with HEAD
 1.1.26.1 26-Nov-2018  pgoyette Sync with HEAD, resolve a couple of conflicts
 1.1.6.2 20-Aug-2014  tls Rebase to HEAD as of a few days ago.
 1.1.6.1 26-Jul-2014  tls file md.h was added on branch tls-maxphys on 2014-08-20 00:05:18 +0000
 1.1.2.2 10-Aug-2014  tls Rebase.
 1.1.2.1 26-Jul-2014  tls file md.h was added on branch tls-earlyentropy on 2014-08-10 07:00:28 +0000
 1.6.4.1 02-Aug-2025  perseant Sync with HEAD
 1.1 26-Jul-2014  dholland branches: 1.1.2; 1.1.6;
Move sysinst sources to usr.sbin.

This commit only physically moves the sources - there are no other
changes, to maximize the probability that this will be treated as a
rename if we ever do manage to migrate away from CVS.

Moving sysinst has been discussed on and off for years and has two
goals: making it easier to work on sysinst, and also making sysinst
available on running systems for use installing chroots and VM images
and other such things. None of the latter is possible yet, but as they
say, one thing at a time.

Doing this now was approved in an impromptu fashion by mrg, riz,
riastradh, me, and groo.
 1.1.6.2 20-Aug-2014  tls Rebase to HEAD as of a few days ago.
 1.1.6.1 26-Jul-2014  tls file menus.md.en was added on branch tls-maxphys on 2014-08-20 00:05:18 +0000
 1.1.2.2 10-Aug-2014  tls Rebase.
 1.1.2.1 26-Jul-2014  tls file menus.md.en was added on branch tls-earlyentropy on 2014-08-10 07:00:28 +0000
 1.1 26-Jul-2014  dholland branches: 1.1.2; 1.1.6;
Move sysinst sources to usr.sbin.

This commit only physically moves the sources - there are no other
changes, to maximize the probability that this will be treated as a
rename if we ever do manage to migrate away from CVS.

Moving sysinst has been discussed on and off for years and has two
goals: making it easier to work on sysinst, and also making sysinst
available on running systems for use installing chroots and VM images
and other such things. None of the latter is possible yet, but as they
say, one thing at a time.

Doing this now was approved in an impromptu fashion by mrg, riz,
riastradh, me, and groo.
 1.1.6.2 20-Aug-2014  tls Rebase to HEAD as of a few days ago.
 1.1.6.1 26-Jul-2014  tls file menus.md.es was added on branch tls-maxphys on 2014-08-20 00:05:18 +0000
 1.1.2.2 10-Aug-2014  tls Rebase.
 1.1.2.1 26-Jul-2014  tls file menus.md.es was added on branch tls-earlyentropy on 2014-08-10 07:00:28 +0000
 1.1 26-Jul-2014  dholland branches: 1.1.2; 1.1.6;
Move sysinst sources to usr.sbin.

This commit only physically moves the sources - there are no other
changes, to maximize the probability that this will be treated as a
rename if we ever do manage to migrate away from CVS.

Moving sysinst has been discussed on and off for years and has two
goals: making it easier to work on sysinst, and also making sysinst
available on running systems for use installing chroots and VM images
and other such things. None of the latter is possible yet, but as they
say, one thing at a time.

Doing this now was approved in an impromptu fashion by mrg, riz,
riastradh, me, and groo.
 1.1.6.2 20-Aug-2014  tls Rebase to HEAD as of a few days ago.
 1.1.6.1 26-Jul-2014  tls file menus.md.fr was added on branch tls-maxphys on 2014-08-20 00:05:18 +0000
 1.1.2.2 10-Aug-2014  tls Rebase.
 1.1.2.1 26-Jul-2014  tls file menus.md.fr was added on branch tls-earlyentropy on 2014-08-10 07:00:28 +0000
 1.1 26-Jul-2014  dholland branches: 1.1.2; 1.1.6;
Move sysinst sources to usr.sbin.

This commit only physically moves the sources - there are no other
changes, to maximize the probability that this will be treated as a
rename if we ever do manage to migrate away from CVS.

Moving sysinst has been discussed on and off for years and has two
goals: making it easier to work on sysinst, and also making sysinst
available on running systems for use installing chroots and VM images
and other such things. None of the latter is possible yet, but as they
say, one thing at a time.

Doing this now was approved in an impromptu fashion by mrg, riz,
riastradh, me, and groo.
 1.1.6.2 20-Aug-2014  tls Rebase to HEAD as of a few days ago.
 1.1.6.1 26-Jul-2014  tls file menus.md.pl was added on branch tls-maxphys on 2014-08-20 00:05:18 +0000
 1.1.2.2 10-Aug-2014  tls Rebase.
 1.1.2.1 26-Jul-2014  tls file menus.md.pl was added on branch tls-earlyentropy on 2014-08-10 07:00:28 +0000
 1.1 26-Jul-2014  dholland branches: 1.1.2; 1.1.6;
Move sysinst sources to usr.sbin.

This commit only physically moves the sources - there are no other
changes, to maximize the probability that this will be treated as a
rename if we ever do manage to migrate away from CVS.

Moving sysinst has been discussed on and off for years and has two
goals: making it easier to work on sysinst, and also making sysinst
available on running systems for use installing chroots and VM images
and other such things. None of the latter is possible yet, but as they
say, one thing at a time.

Doing this now was approved in an impromptu fashion by mrg, riz,
riastradh, me, and groo.
 1.1.6.2 20-Aug-2014  tls Rebase to HEAD as of a few days ago.
 1.1.6.1 26-Jul-2014  tls file msg.md.de was added on branch tls-maxphys on 2014-08-20 00:05:18 +0000
 1.1.2.2 10-Aug-2014  tls Rebase.
 1.1.2.1 26-Jul-2014  tls file msg.md.de was added on branch tls-earlyentropy on 2014-08-10 07:00:28 +0000
 1.1 26-Jul-2014  dholland branches: 1.1.2; 1.1.6;
Move sysinst sources to usr.sbin.

This commit only physically moves the sources - there are no other
changes, to maximize the probability that this will be treated as a
rename if we ever do manage to migrate away from CVS.

Moving sysinst has been discussed on and off for years and has two
goals: making it easier to work on sysinst, and also making sysinst
available on running systems for use installing chroots and VM images
and other such things. None of the latter is possible yet, but as they
say, one thing at a time.

Doing this now was approved in an impromptu fashion by mrg, riz,
riastradh, me, and groo.
 1.1.6.2 20-Aug-2014  tls Rebase to HEAD as of a few days ago.
 1.1.6.1 26-Jul-2014  tls file msg.md.en was added on branch tls-maxphys on 2014-08-20 00:05:18 +0000
 1.1.2.2 10-Aug-2014  tls Rebase.
 1.1.2.1 26-Jul-2014  tls file msg.md.en was added on branch tls-earlyentropy on 2014-08-10 07:00:28 +0000
 1.1 26-Jul-2014  dholland branches: 1.1.2; 1.1.6;
Move sysinst sources to usr.sbin.

This commit only physically moves the sources - there are no other
changes, to maximize the probability that this will be treated as a
rename if we ever do manage to migrate away from CVS.

Moving sysinst has been discussed on and off for years and has two
goals: making it easier to work on sysinst, and also making sysinst
available on running systems for use installing chroots and VM images
and other such things. None of the latter is possible yet, but as they
say, one thing at a time.

Doing this now was approved in an impromptu fashion by mrg, riz,
riastradh, me, and groo.
 1.1.6.2 20-Aug-2014  tls Rebase to HEAD as of a few days ago.
 1.1.6.1 26-Jul-2014  tls file msg.md.es was added on branch tls-maxphys on 2014-08-20 00:05:18 +0000
 1.1.2.2 10-Aug-2014  tls Rebase.
 1.1.2.1 26-Jul-2014  tls file msg.md.es was added on branch tls-earlyentropy on 2014-08-10 07:00:28 +0000
 1.1 26-Jul-2014  dholland branches: 1.1.2; 1.1.6;
Move sysinst sources to usr.sbin.

This commit only physically moves the sources - there are no other
changes, to maximize the probability that this will be treated as a
rename if we ever do manage to migrate away from CVS.

Moving sysinst has been discussed on and off for years and has two
goals: making it easier to work on sysinst, and also making sysinst
available on running systems for use installing chroots and VM images
and other such things. None of the latter is possible yet, but as they
say, one thing at a time.

Doing this now was approved in an impromptu fashion by mrg, riz,
riastradh, me, and groo.
 1.1.6.2 20-Aug-2014  tls Rebase to HEAD as of a few days ago.
 1.1.6.1 26-Jul-2014  tls file msg.md.fr was added on branch tls-maxphys on 2014-08-20 00:05:18 +0000
 1.1.2.2 10-Aug-2014  tls Rebase.
 1.1.2.1 26-Jul-2014  tls file msg.md.fr was added on branch tls-earlyentropy on 2014-08-10 07:00:28 +0000
 1.1 26-Jul-2014  dholland branches: 1.1.2; 1.1.6;
Move sysinst sources to usr.sbin.

This commit only physically moves the sources - there are no other
changes, to maximize the probability that this will be treated as a
rename if we ever do manage to migrate away from CVS.

Moving sysinst has been discussed on and off for years and has two
goals: making it easier to work on sysinst, and also making sysinst
available on running systems for use installing chroots and VM images
and other such things. None of the latter is possible yet, but as they
say, one thing at a time.

Doing this now was approved in an impromptu fashion by mrg, riz,
riastradh, me, and groo.
 1.1.6.2 20-Aug-2014  tls Rebase to HEAD as of a few days ago.
 1.1.6.1 26-Jul-2014  tls file msg.md.pl was added on branch tls-maxphys on 2014-08-20 00:05:18 +0000
 1.1.2.2 10-Aug-2014  tls Rebase.
 1.1.2.1 26-Jul-2014  tls file msg.md.pl was added on branch tls-earlyentropy on 2014-08-10 07:00:28 +0000
 1.1 06-Jan-2024  thorpej First crack at virt68k sysinst support, more-or-less cloned from mvme68k
with the names changed to protect the guilty and boot block installation
removed.
 1.1 06-Jan-2024  thorpej First crack at virt68k sysinst support, more-or-less cloned from mvme68k
with the names changed to protect the guilty and boot block installation
removed.
 1.2 26-Apr-2025  tsutsui Remove obsolete MD 'PART_(ROOT|SWAP|BSD|RAW|USR|REST|FIRST_FREE)' defines.

Patch from Miod Vallat.
 1.1 06-Jan-2024  thorpej branches: 1.1.2;
First crack at virt68k sysinst support, more-or-less cloned from mvme68k
with the names changed to protect the guilty and boot block installation
removed.
 1.1.2.1 02-Aug-2025  perseant Sync with HEAD
 1.1 06-Jan-2024  thorpej First crack at virt68k sysinst support, more-or-less cloned from mvme68k
with the names changed to protect the guilty and boot block installation
removed.
 1.1 06-Jan-2024  thorpej First crack at virt68k sysinst support, more-or-less cloned from mvme68k
with the names changed to protect the guilty and boot block installation
removed.
 1.1 06-Jan-2024  thorpej First crack at virt68k sysinst support, more-or-less cloned from mvme68k
with the names changed to protect the guilty and boot block installation
removed.
 1.1 06-Jan-2024  thorpej First crack at virt68k sysinst support, more-or-less cloned from mvme68k
with the names changed to protect the guilty and boot block installation
removed.
 1.1 06-Jan-2024  thorpej First crack at virt68k sysinst support, more-or-less cloned from mvme68k
with the names changed to protect the guilty and boot block installation
removed.
 1.1 06-Jan-2024  thorpej First crack at virt68k sysinst support, more-or-less cloned from mvme68k
with the names changed to protect the guilty and boot block installation
removed.
 1.1 06-Jan-2024  thorpej First crack at virt68k sysinst support, more-or-less cloned from mvme68k
with the names changed to protect the guilty and boot block installation
removed.
 1.1 06-Jan-2024  thorpej First crack at virt68k sysinst support, more-or-less cloned from mvme68k
with the names changed to protect the guilty and boot block installation
removed.
 1.1 06-Jan-2024  thorpej First crack at virt68k sysinst support, more-or-less cloned from mvme68k
with the names changed to protect the guilty and boot block installation
removed.
 1.2 11-Jun-2022  tsutsui Pull SMALLPROG stuff to disable unnecessary partitioning methods etc.
 1.1 26-Jul-2014  dholland branches: 1.1.2; 1.1.6;
Move sysinst sources to usr.sbin.

This commit only physically moves the sources - there are no other
changes, to maximize the probability that this will be treated as a
rename if we ever do manage to migrate away from CVS.

Moving sysinst has been discussed on and off for years and has two
goals: making it easier to work on sysinst, and also making sysinst
available on running systems for use installing chroots and VM images
and other such things. None of the latter is possible yet, but as they
say, one thing at a time.

Doing this now was approved in an impromptu fashion by mrg, riz,
riastradh, me, and groo.
 1.1.6.2 20-Aug-2014  tls Rebase to HEAD as of a few days ago.
 1.1.6.1 26-Jul-2014  tls file Makefile was added on branch tls-maxphys on 2014-08-20 00:05:18 +0000
 1.1.2.2 10-Aug-2014  tls Rebase.
 1.1.2.1 26-Jul-2014  tls file Makefile was added on branch tls-earlyentropy on 2014-08-10 07:00:28 +0000
 1.13 24-Jun-2022  tsutsui Check on-disk disklabel properly even on ports without raw BSD disklabel.

Fixes PR install/56890.
 1.12 29-Jan-2022  martin When upgrading, update the boot code post extraction from
the updated target file system.
 1.11 12-Oct-2020  martin PR 55536: when we find existing partition tables and have alternative
formats available, offer to delete partitions and create new ones from
scratch (in some other or the same on-disk format).
 1.10 03-Feb-2020  martin PR install/54921: skip non-user partitions when checking for overlaps
 1.9 15-Dec-2019  martin After installing boot blocks with RUN_NO_CLEAR (and handling the
potential errors) make sure to clear the stdscreen.
 1.8 13-Jul-2019  martin branches: 1.8.2;
We may call md_pre_mount() multiple times for the same install set,
so pass an additional index argument so MD code knows which part
of the install will be mounted next.
 1.7 20-Jun-2019  christos Use _fmt_ msg_ methods when formats are needed.
 1.6 12-Jun-2019  martin Rework internal data structures and "interfaces to user interface" functions
to get rid of all disklabel assumptions.

Previously (even for GPT partitioning) struct disklabel was used, which
obviously breaks large disk setups. Also many MD parts and parts of the
user interface assumed (a) a struct disklabel is used internally to
store partitioning information and (b) partitions are named 'a' ... $MAXPART.

Get rid of this and replace it with a quite abstract interface that should
be able to deal with all variants in partition storage:

- partitions are stored in a (partly abstract) struct disk_partitions
and most parts of it are only accessed via accessor functions provided
by a "partitioning scheme".

- implement partitioning schemes for MBR, disklabel and GPT (with likely
RDB [amiga] and Apple Partition Map [mac*] to follow soon)

- partitioning schemes may be cascaded, e.g. on x86 when using MBR as
"outer partitions", we have disklabel as "inner partitions".

- all user interface goes via accessor functions in the partitioning scheme,
some of which return pointers to special user interface descriptors
(e.g. to allow editing partition flags, which are scheme specific)

Overall the user interface changes (in this initial step) are minimal but
noticable. A new Anita is needed for automatic test setups - many thanks
to Andreas Gustafsson for lots of early testing and a new Anita version,
and to Manuel Bouyer for cooperation and tests of the Anita release.

This work was sponsored by The NetBSD Foundation, Inc.
 1.5 18-May-2018  joerg branches: 1.5.2;
deconst -> __UNCONST, the former involves UB with NULL arithmetic.
 1.4 10-May-2015  martin branches: 1.4.8; 1.4.14;
Backout the previous incorrect fix for PR 49440 and redo it more globaly:
get rid of the global "yesno", introduce utility functions "ask_yesno()"
and "ask_noyes()" instead, greatly simplifying a lot of code.
Pass in a pointer to the return value to various "set source" menus.
 1.3 02-Jan-2015  abs Rather than scatter set_swap() calls wrapped in ram size checks through
md_post_disklabel() and md_pre_update(), abstract them out to an MI
set_swap_if_low_ram() and call from the appropriate MI places.
Now all platforms add swap if the system has <= 32M of RAM.
 1.2 03-Aug-2014  martin branches: 1.2.2; 1.2.4; 1.2.6;
(Finally) merge a slightly modified version of the 2012 GSoC results
from Eugene Lozovoy: add extended partitioning options to sysinst.
Still needs some testing and polishing, but it now is possible to use GPT
or to create a RAID set from scratch and install onto it.
 1.1 26-Jul-2014  dholland Move sysinst sources to usr.sbin.

This commit only physically moves the sources - there are no other
changes, to maximize the probability that this will be treated as a
rename if we ever do manage to migrate away from CVS.

Moving sysinst has been discussed on and off for years and has two
goals: making it easier to work on sysinst, and also making sysinst
available on running systems for use installing chroots and VM images
and other such things. None of the latter is possible yet, but as they
say, one thing at a time.

Doing this now was approved in an impromptu fashion by mrg, riz,
riastradh, me, and groo.
 1.2.6.2 20-Aug-2014  tls Rebase to HEAD as of a few days ago.
 1.2.6.1 03-Aug-2014  tls file md.c was added on branch tls-maxphys on 2014-08-20 00:05:18 +0000
 1.2.4.2 14-May-2015  snj Pull up following revision(s) (requested by martin in ticket #756):
usr.sbin/sysinst/arch/arc/md.c: revision 1.4
usr.sbin/sysinst/arch/atari/md.c: revision 1.3
usr.sbin/sysinst/arch/cobalt/md.c: revision 1.4
usr.sbin/sysinst/arch/emips/md.c: revision 1.3
usr.sbin/sysinst/arch/evbarm/md.c: revision 1.4
usr.sbin/sysinst/arch/evbarm64/md.c: revision 1.2
usr.sbin/sysinst/arch/hp300/md.c: revision 1.4
usr.sbin/sysinst/arch/i386/md.c: revision 1.6
usr.sbin/sysinst/arch/mac68k/md.c: revision 1.3
usr.sbin/sysinst/arch/mac68k/md.c: revision 1.4
usr.sbin/sysinst/arch/mac68k/menus.md.de: revisions 1.3, 1.4
usr.sbin/sysinst/arch/mac68k/menus.md.en: revisions 1.3, 1.4
usr.sbin/sysinst/arch/mac68k/menus.md.es: revisions 1.3, 1.4
usr.sbin/sysinst/arch/mac68k/menus.md.pl: revisions 1.3, 1.4
usr.sbin/sysinst/arch/mvme68k/md.c: revision 1.4
usr.sbin/sysinst/arch/ofppc/md.c: revision 1.3
usr.sbin/sysinst/arch/prep/md.c: revisions 1.3, 1.4
usr.sbin/sysinst/arch/prep/menus.md.en: revision 1.2
usr.sbin/sysinst/arch/x68k/md.c: revision 1.4
usr.sbin/sysinst/configmenu.c: revisions 1.4, 1.5
usr.sbin/sysinst/defs.h: revisions 1.8, 1.9
usr.sbin/sysinst/disks.c: revision 1.9
usr.sbin/sysinst/install.c: revision 1.4
usr.sbin/sysinst/label.c: revision 1.3
usr.sbin/sysinst/mbr.c: revision 1.5
usr.sbin/sysinst/menus.mi: revisions 1.9, 1.10
usr.sbin/sysinst/net.c: revisions 1.18-1.20
usr.sbin/sysinst/partman.c: revision 1.10
usr.sbin/sysinst/upgrade.c: revision 1.4
usr.sbin/sysinst/util.c: revisions 1.6, 1.7
Backout the previous incorrect fix for PR 49440 and redo it more globaly:
get rid of the global "yesno", introduce utility functions "ask_yesno()"
and "ask_noyes()" instead, greatly simplifying a lot of code.
Pass in a pointer to the return value to various "set source" menus.
--
Make it compile on architectures that do not support INET6 in sysinst
--
Remove a few more (ab-)usages of "yesno".
--
More (ab-)usages of "yesno"
--
Make "ask_yesno" and "ask_noyes" take a const char * as argument, moving
the deconst() dance into the utility functions and simplifying all callers.
--
Missed a few more "yesno" in previous
 1.2.4.1 11-Jan-2015  snj Pull up following revision(s) (requested by abs in ticket #400):
usr.sbin/sysinst/arch/arc/md.c: revision 1.3
usr.sbin/sysinst/arch/cobalt/md.c: revision 1.3
usr.sbin/sysinst/arch/evbsh3/md.c: revision 1.3
usr.sbin/sysinst/arch/hp300/md.c: revision 1.3
usr.sbin/sysinst/arch/hpcsh/md.c: revision 1.3
usr.sbin/sysinst/arch/i386/md.c: revision 1.5
usr.sbin/sysinst/arch/luna68k/md.c: revision 1.4
usr.sbin/sysinst/arch/mvme68k/md.c: revision 1.3
usr.sbin/sysinst/arch/news68k/md.c: revision 1.3
usr.sbin/sysinst/arch/sgimips/md.c: revision 1.3
usr.sbin/sysinst/arch/vax/md.c: revision 1.3
usr.sbin/sysinst/arch/x68k/md.c: revision 1.3
usr.sbin/sysinst/defs.h: revision 1.6
usr.sbin/sysinst/disks.c: revision 1.7
usr.sbin/sysinst/install.c: revision 1.3
usr.sbin/sysinst/partman.c: revision 1.8
usr.sbin/sysinst/upgrade.c: revision 1.3
Rather than scatter set_swap() calls wrapped in ram size checks through
md_post_disklabel() and md_pre_update(), abstract them out to an MI
set_swap_if_low_ram() and call from the appropriate MI places.
Now all platforms add swap if the system has <= 32M of RAM.
 1.2.2.2 10-Aug-2014  tls Rebase.
 1.2.2.1 03-Aug-2014  tls file md.c was added on branch tls-earlyentropy on 2014-08-10 07:00:28 +0000
 1.4.14.1 21-May-2018  pgoyette Sync with HEAD
 1.4.8.1 09-Jun-2018  martin Pull up following revision(s) (requested by joerg in ticket #869):

usr.sbin/sysinst/arch/mvme68k/md.c: revision 1.5
usr.sbin/sysinst/net.c: revision 1.24
usr.sbin/sysinst/partman.c: revision 1.22
usr.sbin/sysinst/menus.mi: revision 1.12
usr.sbin/sysinst/arch/i386/md.c: revision 1.8
usr.sbin/sysinst/arch/alpha/md.c: revision 1.3
usr.sbin/sysinst/bsddisklabel.c: revision 1.3
usr.sbin/sysinst/arch/x68k/md.c: revision 1.5
usr.sbin/sysinst/arch/hp300/md.c: revision 1.5
usr.sbin/sysinst/arch/emips/md.c: revision 1.4
usr.sbin/sysinst/arch/pmax/md.c: revision 1.3
usr.sbin/sysinst/arch/mipsco/md.c: revision 1.3
usr.sbin/sysinst/arch/hppa/md.c: revision 1.3
usr.sbin/sysinst/util.c: revision 1.8
usr.sbin/sysinst/defs.h: revision 1.10
usr.sbin/sysinst/arch/landisk/md.c: revision 1.4

deconst -> __UNCONST, the former involves UB with NULL arithmetic.
 1.5.2.1 13-Apr-2020  martin Mostly merge changes from HEAD upto 20200411
 1.8.2.5 02-Jan-2023  martin Pull up following revision(s) (requested by tsutsui in ticket #1559):

usr.sbin/sysinst/arch/x68k/md.c: revision 1.13
usr.sbin/sysinst/disklabel.c: revision 1.49
usr.sbin/sysinst/defs.h: revision 1.85
usr.sbin/sysinst/arch/amiga/md.c: revision 1.8
usr.sbin/sysinst/arch/amiga/md.c: revision 1.9

Check on-disk disklabel properly even on ports without raw BSD disklabel.
Fixes PR install/56890.

Fix typo
 1.8.2.4 02-Feb-2022  msaitoh Pull up following revision(s) (requested by martin in ticket #1422):
usr.sbin/sysinst/util.c: revision 1.64
usr.sbin/sysinst/arch/hpcsh/md.c: revision 1.11
usr.sbin/sysinst/arch/alpha/md.c: revision 1.10
usr.sbin/sysinst/arch/sparc64/md.c: revision 1.7
usr.sbin/sysinst/arch/emips/md.c: revision 1.10
usr.sbin/sysinst/arch/cobalt/md.c: revision 1.15
usr.sbin/sysinst/arch/x68k/md.c: revision 1.12
usr.sbin/sysinst/arch/sandpoint/md.c: revision 1.10
usr.sbin/sysinst/arch/luna68k/md.c: revision 1.10
usr.sbin/sysinst/arch/hp300/md.c: revision 1.12
usr.sbin/sysinst/arch/vax/md.c: revision 1.8
usr.sbin/sysinst/arch/hpcmips/md.c: revision 1.10
usr.sbin/sysinst/target.c: revision 1.16
usr.sbin/sysinst/arch/mvme68k/md.c: revision 1.12
usr.sbin/sysinst/arch/arc/md.c: revision 1.14
usr.sbin/sysinst/target.c: revision 1.17
usr.sbin/sysinst/arch/i386/md.c: revision 1.34
usr.sbin/sysinst/arch/mac68k/md.c: revision 1.11
usr.sbin/sysinst/arch/atari/md.c: revision 1.8
usr.sbin/sysinst/arch/sgimips/md.c: revision 1.10
usr.sbin/sysinst/arch/acorn32/md.c: revision 1.8
usr.sbin/sysinst/install.c: revision 1.22
usr.sbin/sysinst/arch/amiga/md.c: revision 1.7
usr.sbin/sysinst/arch/cats/md.c: revision 1.6
usr.sbin/sysinst/arch/dummy/md.c: revision 1.7
usr.sbin/sysinst/arch/shark/md.c: revision 1.7
usr.sbin/sysinst/arch/pmax/md.c: revision 1.9
usr.sbin/sysinst/arch/newsmips/md.c: revision 1.7
usr.sbin/sysinst/arch/mipsco/md.c: revision 1.9
usr.sbin/sysinst/arch/landisk/md.c: revision 1.15
usr.sbin/sysinst/arch/hppa/md.c: revision 1.9
usr.sbin/sysinst/arch/prep/md.c: revision 1.14
usr.sbin/sysinst/defs.h: revision 1.77
usr.sbin/sysinst/arch/ofppc/md.c: revision 1.13
usr.sbin/sysinst/arch/ews4800mips/md.c: revision 1.8
usr.sbin/sysinst/defs.h: revision 1.78
usr.sbin/sysinst/arch/macppc/md.c: revision 1.7
usr.sbin/sysinst/arch/evbppc/md.c: revision 1.10
usr.sbin/sysinst/defs.h: revision 1.79
usr.sbin/sysinst/gpt.c: revision 1.27
usr.sbin/sysinst/arch/bebox/md.c: revision 1.10
usr.sbin/sysinst/gpt.c: revision 1.28
usr.sbin/sysinst/arch/sparc/md.c: revision 1.7
usr.sbin/sysinst/arch/evbsh3/md.c: revision 1.7
usr.sbin/sysinst/arch/evbarm/md.c: revision 1.22
usr.sbin/sysinst/arch/news68k/md.c: revision 1.8
usr.sbin/sysinst/upgrade.c: revision 1.19
usr.sbin/sysinst/arch/zaurus/md.c: revision 1.12
usr.sbin/sysinst/arch/playstation2/md.c: revision 1.10
usr.sbin/sysinst/arch/hpcarm/md.c: revision 1.11
usr.sbin/sysinst/arch/evbmips/md.c: revision 1.10
usr.sbin/sysinst/main.c: revision 1.28
Add an option to set the directory where we look for message catalogs.
Try to get rid of all wedges we created (after unmounting).
When upgrading, update the boot code post extraction from
the updated target file system.
Do not defer wedge deletions when we have nothing mounted.
Define and use a constant for maximum disk name length.
 1.8.2.3 15-Oct-2020  bouyer Pull up following revision(s) (requested by martin in ticket #1113):
usr.sbin/sysinst/bsddisklabel.c: revision 1.46
usr.sbin/sysinst/bsddisklabel.c: revision 1.47
usr.sbin/sysinst/disklabel.c: revision 1.40
usr.sbin/sysinst/arch/cobalt/md.c: revision 1.13
usr.sbin/sysinst/bsddisklabel.c: revision 1.48
usr.sbin/sysinst/disklabel.c: revision 1.41
usr.sbin/sysinst/arch/cobalt/md.c: revision 1.14
usr.sbin/sysinst/bsddisklabel.c: revision 1.49
usr.sbin/sysinst/disklabel.c: revision 1.42
usr.sbin/sysinst/Makefile.inc: revision 1.34
usr.sbin/sysinst/disks.c: revision 1.70
usr.sbin/sysinst/arch/hp300/md.c: revision 1.11
usr.sbin/sysinst/disks.c: revision 1.71
usr.sbin/sysinst/arch/i386/md.h: revision 1.8
usr.sbin/sysinst/arch/arc/md.c: revision 1.13
usr.sbin/sysinst/mbr.h: revision 1.5
usr.sbin/sysinst/mbr.h: revision 1.6
usr.sbin/sysinst/arch/mac68k/md.c: revision 1.10
usr.sbin/sysinst/bsddisklabel.c: revision 1.50
usr.sbin/sysinst/arch/acorn32/md.c: revision 1.7
usr.sbin/sysinst/bsddisklabel.c: revision 1.51
usr.sbin/sysinst/bsddisklabel.c: revision 1.52
usr.sbin/sysinst/bsddisklabel.c: revision 1.53
usr.sbin/sysinst/bsddisklabel.c: revision 1.54
usr.sbin/sysinst/bsddisklabel.c: revision 1.55
usr.sbin/sysinst/bsddisklabel.c: revision 1.56
usr.sbin/sysinst/arch/dummy/md.c: revision 1.6
usr.sbin/sysinst/arch/amd64/md.h: revision 1.9
usr.sbin/sysinst/arch/evbsh3/md.c: revision 1.6
usr.sbin/sysinst/arch/sparc/md.c: revision 1.6
usr.sbin/sysinst/arch/zaurus/md.c: revision 1.10
usr.sbin/sysinst/arch/x68k/md.c: revision 1.11
usr.sbin/sysinst/arch/sandpoint/md.c: revision 1.9
usr.sbin/sysinst/arch/vax/md.c: revision 1.7
usr.sbin/sysinst/arch/luna68k/md.c: revision 1.9
usr.sbin/sysinst/gpt.c: revision 1.19
usr.sbin/sysinst/arch/i386/md.c: revision 1.31
usr.sbin/sysinst/arch/i386/md.c: revision 1.32
usr.sbin/sysinst/arch/evbarm/md.c: revision 1.17
usr.sbin/sysinst/arch/evbarm/md.c: revision 1.18
usr.sbin/sysinst/arch/evbarm/md.c: revision 1.19
usr.sbin/sysinst/arch/shark/md.c: revision 1.6
usr.sbin/sysinst/arch/landisk/md.c: revision 1.14
usr.sbin/sysinst/util.c: revision 1.43
usr.sbin/sysinst/gpt.c: revision 1.20
usr.sbin/sysinst/util.c: revision 1.44
usr.sbin/sysinst/gpt.c: revision 1.21
usr.sbin/sysinst/gpt.c: revision 1.22
usr.sbin/sysinst/arch/evbarm/msg.md.en: revision 1.2
usr.sbin/sysinst/arch/ofppc/md.c: revision 1.11
usr.sbin/sysinst/util.c: revision 1.46
usr.sbin/sysinst/arch/ofppc/md.c: revision 1.12
usr.sbin/sysinst/util.c: revision 1.47
usr.sbin/sysinst/arch/evbarm/md.h: revision 1.6
usr.sbin/sysinst/util.c: revision 1.48
usr.sbin/sysinst/arch/evbarm/md.h: revision 1.7
usr.sbin/sysinst/arch/evbmips/md.c: revision 1.9
usr.sbin/sysinst/msg.mi.fr: revision 1.28
usr.sbin/sysinst/msg.mi.fr: revision 1.29
usr.sbin/sysinst/arch/sgimips/md.c: revision 1.9
usr.sbin/sysinst/arch/evbarm/Makefile: revision 1.3
usr.sbin/sysinst/msg.mi.de: revision 1.23
usr.sbin/sysinst/arch/hpcsh/md.c: revision 1.10
usr.sbin/sysinst/msg.mi.de: revision 1.24
usr.sbin/sysinst/install.c: revision 1.15
usr.sbin/sysinst/install.c: revision 1.16
usr.sbin/sysinst/arch/sparc64/md.c: revision 1.6
usr.sbin/sysinst/install.c: revision 1.17
usr.sbin/sysinst/install.c: revision 1.18
usr.sbin/sysinst/partitions.h: revision 1.16
usr.sbin/sysinst/install.c: revision 1.19
usr.sbin/sysinst/partitions.h: revision 1.17
usr.sbin/sysinst/arch/evbppc/md.c: revision 1.9
usr.sbin/sysinst/arch/playstation2/md.c: revision 1.9
usr.sbin/sysinst/partitions.h: revision 1.18
usr.sbin/sysinst/arch/hpcarm/md.c: revision 1.9
usr.sbin/sysinst/partitions.h: revision 1.19
usr.sbin/sysinst/msg.mi.es: revision 1.24
usr.sbin/sysinst/msg.mi.es: revision 1.25
usr.sbin/sysinst/msg.mi.es: revision 1.26
usr.sbin/sysinst/arch/zaurus/md.c: revision 1.9
usr.sbin/sysinst/target.c: revision 1.13
usr.sbin/sysinst/target.c: revision 1.14
usr.sbin/sysinst/part_edit.c: revision 1.17
usr.sbin/sysinst/part_edit.c: revision 1.18
usr.sbin/sysinst/msg.mi.fr: revision 1.30
usr.sbin/sysinst/arch/mvme68k/md.c: revision 1.11
usr.sbin/sysinst/part_edit.c: revision 1.19
usr.sbin/sysinst/msg.mi.fr: revision 1.31
usr.sbin/sysinst/arch/alpha/md.c: revision 1.9
usr.sbin/sysinst/msg.mi.en: revision 1.30
usr.sbin/sysinst/defs.h: revision 1.56
usr.sbin/sysinst/msg.mi.en: revision 1.31
usr.sbin/sysinst/defs.h: revision 1.57
usr.sbin/sysinst/msg.mi.en: revision 1.32
usr.sbin/sysinst/arch/amiga/md.c: revision 1.6
usr.sbin/sysinst/arch/hpcmips/md.c: revision 1.9
usr.sbin/sysinst/defs.h: revision 1.58
usr.sbin/sysinst/arch/cats/md.c: revision 1.5
usr.sbin/sysinst/defs.h: revision 1.59
usr.sbin/sysinst/arch/newsmips/md.c: revision 1.6
usr.sbin/sysinst/arch/pmax/md.c: revision 1.8
usr.sbin/sysinst/arch/mipsco/md.c: revision 1.8
usr.sbin/sysinst/part_edit.c: revision 1.20
usr.sbin/sysinst/part_edit.c: revision 1.21
usr.sbin/sysinst/arch/macppc/md.c: revision 1.6
usr.sbin/sysinst/part_edit.c: revision 1.22
usr.sbin/sysinst/part_edit.c: revision 1.23
usr.sbin/sysinst/part_edit.c: revision 1.24
usr.sbin/sysinst/defs.h: revision 1.60
usr.sbin/sysinst/arch/mac68k/Makefile: revision 1.3
usr.sbin/sysinst/defs.h: revision 1.61
usr.sbin/sysinst/defs.h: revision 1.63
usr.sbin/sysinst/defs.h: revision 1.64
usr.sbin/sysinst/defs.h: revision 1.65
usr.sbin/sysinst/label.c: revision 1.21
usr.sbin/sysinst/defs.h: revision 1.66
usr.sbin/sysinst/label.c: revision 1.22
usr.sbin/sysinst/defs.h: revision 1.67
usr.sbin/sysinst/label.c: revision 1.23
usr.sbin/sysinst/label.c: revision 1.24
usr.sbin/sysinst/label.c: revision 1.25
usr.sbin/sysinst/label.c: revision 1.26
usr.sbin/sysinst/label.c: revision 1.27
usr.sbin/sysinst/msg.mi.pl: revision 1.31
usr.sbin/sysinst/label.c: revision 1.28
usr.sbin/sysinst/msg.mi.pl: revision 1.32
usr.sbin/sysinst/label.c: revision 1.29
usr.sbin/sysinst/arch/atari/md.c: revision 1.7
usr.sbin/sysinst/disklabel.c: revision 1.36
usr.sbin/sysinst/disklabel.c: revision 1.37
usr.sbin/sysinst/disklabel.c: revision 1.38
usr.sbin/sysinst/disklabel.c: revision 1.39
usr.sbin/sysinst/arch/bebox/md.c: revision 1.9
usr.sbin/sysinst/mbr.c: revision 1.32
usr.sbin/sysinst/disks.c: revision 1.66
usr.sbin/sysinst/mbr.c: revision 1.33
usr.sbin/sysinst/disks.c: revision 1.67
usr.sbin/sysinst/mbr.c: revision 1.34
usr.sbin/sysinst/arch/emips/md.c: revision 1.9
usr.sbin/sysinst/disks.c: revision 1.68
usr.sbin/sysinst/partitions.c: revision 1.11
usr.sbin/sysinst/mbr.c: revision 1.35
usr.sbin/sysinst/disks.c: revision 1.69
usr.sbin/sysinst/mbr.c: revision 1.36
usr.sbin/sysinst/arch/hppa/md.c: revision 1.8
usr.sbin/sysinst/arch/prep/md.c: revision 1.13
usr.sbin/sysinst/label.c: revision 1.30
usr.sbin/sysinst/arch/ews4800mips/md.c: revision 1.7
usr.sbin/sysinst/main.c: revision 1.21
usr.sbin/sysinst/main.c: revision 1.22
usr.sbin/sysinst/main.c: revision 1.23
usr.sbin/sysinst/bsddisklabel.c: revision 1.40
usr.sbin/sysinst/main.c: revision 1.24
usr.sbin/sysinst/arch/cobalt/md.h: revision 1.6
usr.sbin/sysinst/bsddisklabel.c: revision 1.41
usr.sbin/sysinst/main.c: revision 1.25
usr.sbin/sysinst/arch/news68k/md.c: revision 1.7
usr.sbin/sysinst/bsddisklabel.c: revision 1.42
usr.sbin/sysinst/bsddisklabel.c: revision 1.43
usr.sbin/sysinst/bsddisklabel.c: revision 1.44
usr.sbin/sysinst/bsddisklabel.c: revision 1.45
Use strlcpy in a few places to guarnatee 0-terminated strings
Rever previous: the d_packname in struct disklabel is not NUL terminated.
Disable the warning instead.
Do not force -Os optimization (unless SMALLPROG)
Remove unused "rel" global variable and make the -r option a no-op.
PR 55045: strlcpy(NULL, ..., 0) considered harmfull in some implementations.
PR misc/54886: bump threshold for automatic/default creation of a tmpfs /tmp
up slightly (to 384 MB ram). This will make sure the default install has
a > 64 MB /tmp available (number pulled out of thin air, 64 MB is the minimum
required by the ZFS tests).
Don't depend on common symbol definitions.
boardype should not be common.
Redo the root-size-limit check again after we grew the root partition
for kernel dumps. Auto-enable the /usr partition if it overflows.
For all non-root partitions, default to FFSv2.
When extending a partition (to fill the total disk size) do respect
size limits.
Do not suggest a size limited partition for extension by default.
Minor tweak to previous: when forcing a /usr partition just to have an
arbitrary extendable partition, still use its default size initially.
At the end of a new installation save entropy.
Ooops, backout previous - twice the entropy saving is not needed.
Instead slightly improve the (slightly) hidden other code that already
did it.
PR 55202: disable swapping if we started it due to low ram
it's "its"
Remove "If you booted from a floppy" message
Set HAVE_INSTALL_IMAGE for evbarm
Change mountpoint of boot ext2fs from /stand to /ext2 to avoid conflict.
Should be pulled up to netbsd-9, with fixes of PR/55060.
MBR type for Ext2 should be MBR_PTYPE_LNXEXT2, not MBR_PTYPE_FAT12.
Silence -Wstringop-truncation for ``name'' in disp_selected_part().
This variable is used only for display, and truncation seems harmless.
PR 55572: avoid crash when answering the mount point prompt for a previously
empty mount point with an emptry sting.
When adding a new partition in the concrete partition editor, make sure
to set a pointer to the partition table interface in the new entry.
Otherwise we may end up not writing back the partitions at all, leading
to further fallout later.
Receipe to reproduce the issue from Frederic Fauberteau, thanks!
In the concrete partitions editor, after deleting the last partition move
the menu selection to the "add a partition" entry (instead of the sentinel
line which is not an active menu entry).
Typo in comment
Keep a list of all partition tables from which we have deleted partitions
and make sure we update those partition tables when writing partitions,
even if no install related partition remains on them.
Fix display of timezone selection menu
If there is no current partitioning manager assume we are editing the
current system and make target_already_root() return true.
Fixes various fallout when using sysinst post installation.
PR 55377: mark boot partitions in the partition size display, as suggested
by Izumi Tsutsui (minor modifications + all bugs by me)
PR 55378: do not assume RAW_PART to be either 2 or 3
PR 55379: avoid creating bogus /etc/fstab lines for /dev/cd* if no
cdrom is available.
PR 55381: try to deal with moved (but not yet saved) partitions when
calculating free space
Apply patch provided by Izumi Tsutsui in PR 55382: make ext2 partitions
show up in the outer (MBR) partition table, needed for example on Cobalt
where firmware boots from that partition.
PR 55384: detangle pm->ptstart from the "install" flag (selecting a
target partition). Instead introduce a new PTI_INSTALL_TARGET per partition
flag and deal with it in the partitioning backends.
Honour pm->ptstart when allocating new partitions - it is supposed to be
the first sector usable by NetBSD.
If we have no explicitly marke target root partition, make sure to set
the proper flag on the implicit one.
When merging existing partitions with desired target system layout
information, only force the "mount" flag if the existing partitions
has a valid mount point.
Add a heuristic to detect and properly mark EFI system partitions
when re-using pre-existing partitions.
When MD code requests a reserved area (at the start of the disk)
make sure to properly account for the "lost" space during all calculations
and especially when expanding the main partition to fill the disk.
Avoid using the global "pm" or a passed device descriptons when we are
passing disk limits explicitly anyway.
Simplify/fix a few rounding calculations.
When creating new partitions for "full disk" use, pass a install target
hint to the partitioning backend (for the outer NetBSD partition).
Use an install target hint to mark a new partition active.
When compiled with BOOTSEL support, also name the new partition "NetBSD".
Remove more pm->ptstart abuse - calculate values localy where needed
instead.
Fix editing start and size of not yet existing outer partitions.
Previously we abused pm->ptstart / pm->ptsize to pass the bounds of the
NetBSD outer partition to the inner partition editor - but now this is
not a valid assumption any more, so explicitly fix the bounds if an
outer partition exists.
Remove very strange code that special-cased MSDOS file systems and refused
to newfs the partition (despite explicit request to do so) if it was
mountable.
Accidently carried over from a dim and distant past, before we had
fsck_newfs.
PR 55536: when we find existing partition tables and have alternative
formats available, offer to delete partitions and create new ones from
scratch (in some other or the same on-disk format).
Minor fix to previous: fix condition when we offer the partition type
switch - it makes sense even if the disk is partitioned but has no valid
partitions.
Before forcing MBR partitions into our disklabel, make sure they are not
there yet - could happen in various paths when reusing existing partitions
(or parts of that) - previously we would blindly duplicate identical
partitions.
Ooops, part of previous was not meant to be included yet
When renumbering partitions (after deletions) be slightly more lax
in matching, to cope with differences between MBR EFI partitions and
disklabel MSDOS partitions.
PR 55142: on popular demand bring back expert options to adjust the
number of free inodes, block size and fragment size for FFS and LFS.
Fix copy & pasto noticed by Jason Mitchell: change the type of a GPT
partition via "gpt type" - not "gpt label".
Fix copy & pasto (missing "again" label)
Remove dead code
Move MBR writing (if any) post disklabel writing, otherwise strange
interactions happen.
Properly convert partition default sizes in MB to number of sectors
 1.8.2.2 10-Feb-2020  bouyer Pull up following revision(s) (requested by martin in ticket #693):
usr.sbin/sysinst/arch/x68k/msg.md.en: revision 1.2
usr.sbin/sysinst/arch/x68k/md.c: revision 1.10
usr.sbin/sysinst/arch/mvme68k/msg.md.fr: revision 1.2
usr.sbin/sysinst/arch/x68k/msg.md.en: revision 1.3
usr.sbin/sysinst/arch/mvme68k/msg.md.fr: revision 1.3
usr.sbin/sysinst/msg.mi.en: revision 1.28
usr.sbin/sysinst/arch/hp300/md.c: revision 1.10
usr.sbin/sysinst/msg.mi.es: revision 1.22
usr.sbin/sysinst/target.c: revision 1.12
usr.sbin/sysinst/arch/mvme68k/md.c: revision 1.10
usr.sbin/sysinst/arch/i386/md.c: revision 1.30
usr.sbin/sysinst/arch/mvme68k/msg.md.pl: revision 1.2
usr.sbin/sysinst/arch/mvme68k/msg.md.pl: revision 1.3
usr.sbin/sysinst/bsddisklabel.c: revision 1.39
usr.sbin/sysinst/arch/mvme68k/msg.md.de: revision 1.2
usr.sbin/sysinst/arch/mac68k/md.c: revision 1.9
usr.sbin/sysinst/disklabel.c: revision 1.35
usr.sbin/sysinst/arch/mvme68k/msg.md.de: revision 1.3
usr.sbin/sysinst/defs.h: revision 1.55
usr.sbin/sysinst/disks.c: revision 1.63
usr.sbin/sysinst/disks.c: revision 1.64
usr.sbin/sysinst/mbr.c: revision 1.31
usr.sbin/sysinst/disks.c: revision 1.65
usr.sbin/sysinst/txtwalk.c: revision 1.3
usr.sbin/sysinst/txtwalk.c: revision 1.4
usr.sbin/sysinst/arch/mvme68k/msg.md.en: revision 1.2
usr.sbin/sysinst/arch/mvme68k/msg.md.en: revision 1.3
usr.sbin/sysinst/msg.mi.fr: revision 1.26
usr.sbin/sysinst/msg.mi.pl: revision 1.29
usr.sbin/sysinst/arch/mvme68k/msg.md.es: revision 1.2
usr.sbin/sysinst/upgrade.c: revision 1.15
usr.sbin/sysinst/arch/mvme68k/msg.md.es: revision 1.3
usr.sbin/sysinst/upgrade.c: revision 1.16
usr.sbin/sysinst/partman.c: revision 1.50
usr.sbin/sysinst/msg.mi.de: revision 1.21
remove unused "emptypart" message (or moved to ifdef notyet area)
PR install/54921: message "ordering" takes a %s argument.
PR install/54921: skip non-user partitions when checking for overlaps
bootxx_name() - fix oversight in previous change (do not assume first
partition is the root partition)
PR install/54934: always use -f on the installboot invocation. We come
here post-newfs (and maybe should have dd'd zeros to the start of the
disk before newfs instead).
Remove a bogus assert: when reading disklabel partitions and the outer
(MBR) partitioning has changed, but the changes have not yet been written
back to disk, we need to ignore the kernels idea of the disklabel and
instead continue with an empty one.
Deal with partitioning schemes having no inner counterpart.
Avoid NULL derefs.
Do not assum a partitioning scheme that supports innner partitions always
needs to actually have such partitions defined.
PR bin/54944: deal with escaped spaces in NAME= syntax in /etc/fstab.
PR bin/54944: explicitly reject GPT protective MBRs.
PR bin/54944: make the "explicit single wedge" selection also work for
upgrades.
Reformat a query to add an automatically detected swap partition
so it fits on narrow screens.
Make re-install sets also work for an explicit selected root wedge
Fix copy&pasto in previous - from kre.
Only a single partition can ever have the "extend" flag (grow to available
size).
Do not use -P for tar extractions - the in tree tar has been fixed.
Finish conversion to generic partitioning backend
 1.8.2.1 17-Dec-2019  msaitoh Pull up following revision(s) (requested by martin in ticket #560):
usr.sbin/sysinst/partitions.h: revision 1.11
usr.sbin/sysinst/defs.h: revision 1.49
usr.sbin/sysinst/mbr.c: revision 1.23
usr.sbin/sysinst/msg.mi.en: revision 1.26
usr.sbin/sysinst/disks.c: revision 1.58
usr.sbin/sysinst/arch/evbarm/menus.md.pl: revision 1.2
usr.sbin/sysinst/msg.mi.es: revision 1.20
usr.sbin/sysinst/arch/mvme68k/md.c: revision 1.9
usr.sbin/sysinst/gpt.c: revision 1.13
usr.sbin/sysinst/arch/evbarm/md.c: revision 1.10
usr.sbin/sysinst/arch/arc/md.c: revision 1.10
usr.sbin/sysinst/disklabel.c: revision 1.18
usr.sbin/sysinst/bsddisklabel.c: revision 1.33
usr.sbin/sysinst/disklabel.c: revision 1.19
usr.sbin/sysinst/main.c: revision 1.19
usr.sbin/sysinst/partman.c: revision 1.45
usr.sbin/sysinst/arch/alpha/md.c: revision 1.7
usr.sbin/sysinst/msg.mi.de: revision 1.19
usr.sbin/sysinst/arch/evbarm/menus.md.en: revision 1.2
usr.sbin/sysinst/arch/x68k/md.h: revision 1.4
usr.sbin/sysinst/arch/x68k/md.c: revision 1.9
usr.sbin/sysinst/arch/evbarm/menus.md.es: revision 1.2
usr.sbin/sysinst/wskbd.c: revision 1.4
usr.sbin/sysinst/label.c: revision 1.15
usr.sbin/sysinst/arch/amiga/md.h: revision 1.5
usr.sbin/sysinst/label.c: revision 1.16
usr.sbin/sysinst/arch/hp300/md.c: revision 1.9
usr.sbin/sysinst/arch/emips/md.c: revision 1.8
usr.sbin/sysinst/label.c: revision 1.17
usr.sbin/sysinst/arch/pmax/md.c: revision 1.7
usr.sbin/sysinst/partitions.c: revision 1.6
usr.sbin/sysinst/arch/prep/md.c: revision 1.10
usr.sbin/sysinst/arch/mipsco/md.c: revision 1.7
usr.sbin/sysinst/partitions.c: revision 1.7
usr.sbin/sysinst/partitions.c: revision 1.8
usr.sbin/sysinst/arch/ews4800mips/md.c: revision 1.5
usr.sbin/sysinst/disklabel.c: revision 1.20
usr.sbin/sysinst/arch/evbarm/menus.md.fr: revision 1.2
usr.sbin/sysinst/msg.mi.fr: revision 1.24
usr.sbin/sysinst/disklabel.c: revision 1.21
usr.sbin/sysinst/partitions.h: revision 1.9
usr.sbin/sysinst/msg.mi.pl: revision 1.27
usr.sbin/sysinst/disklabel.c: revision 1.22
usr.sbin/sysinst/disklabel.c: revision 1.23
usr.sbin/sysinst/arch/i386/md.c: revision 1.27
usr.sbin/sysinst/disklabel.c: revision 1.24
usr.sbin/sysinst/disklabel.c: revision 1.25
usr.sbin/sysinst/arch/cobalt/md.h: revision 1.5
usr.sbin/sysinst/disklabel.c: revision 1.26
usr.sbin/sysinst/disklabel.c: revision 1.27
usr.sbin/sysinst/partitions.h: revision 1.10
usr.sbin/sysinst/arch/cobalt/md.c: revision 1.10
PR install/54582: allow MD code to disable on-disk presence verification
of "real" disklabels. Auto-enable this (at run time) when there is no other
partitioning scheme but disklabel configured.
Hard-coded enable this for x68k to allow using kernel based translations
for native Human68k partitions.
Get rid of the evbarm preliminary menu: do not bother to ask the user
whether this is a RPi - query the FDT instead.
PR 54065: add optional "old compat" variant of ext2fs in file system
type selection and use that as default for the cobalt boot file system.
For now rely on the kernel mapping native RDB partitions.
Fix detection of existing disklabels in the case when we only have
the disklabel partitioning scheme available.
Fix DISKLABEL_NO_ONDISK_VERIFY (accidently disabled in previous)
Fix inverted comparison
Do not try to change the keyboard layout if we are not running on the
console.
When trying to tell a fictious but empty label from a real one, skip
partition a if it has the same start and size as the raw partition.
Remove bogus assert.
When finding (paritioning scheme native) partition types for file systems
from our install description, pass the partition type (not only the file
system type). Sometimes (e.g. EFI boot partition on GPT) the filesystem
type (MSDOS) is not a unique selector.
Adapt MD parts to changes in get_fs_part_type (pass partition type).
If a fictious label has no RAW_PART assume there is no valid disk label.
Pass proper track size when initializing the default alignment - this is
important with sunlabels.
Fix overlapping partitions display
Reject (what we consider) empty/invalid fake disklabels no matter whether
we have other partitioning schemes available or not.
Do not show disklabel command invocation by default (only if there are
errors).
After installing boot blocks with RUN_NO_CLEAR (and handling the
potential errors) make sure to clear the stdscreen.
 1.9 26-Apr-2025  tsutsui Remove obsolete MD 'PART_(ROOT|SWAP|BSD|RAW|USR|REST|FIRST_FREE)' defines.

Patch from Miod Vallat.
 1.8 17-Jun-2022  tsutsui branches: 1.8.4;
Use #define<space> consistently.
 1.7 17-Jun-2022  tsutsui Use consistent default partition sizes for similar ports.
 1.6 16-Jun-2022  tsutsui Define DEFSWAPSIZE properly. DEFSWAPRAM seems obsolete.
 1.5 05-Dec-2021  msaitoh s/existance/existence/ in comment.
 1.4 09-Dec-2019  martin PR install/54582: allow MD code to disable on-disk presence verification
of "real" disklabels. Auto-enable this (at run time) when there is no other
partitioning scheme but disklabel configured.
Hard-coded enable this for x68k to allow using kernel based translations
for native Human68k partitions.
 1.3 02-Oct-2019  maya Split out /rescue to its own set and adapt installers/images to add it.

This is meant to make updates safer: if something goes wrong with updating
base, we still have the old, standalone /rescue to recover from.
 1.2 16-Nov-2018  martin branches: 1.2.2;
Sync install size estimates with current reality
 1.1 26-Jul-2014  dholland branches: 1.1.2; 1.1.6; 1.1.26; 1.1.28;
Move sysinst sources to usr.sbin.

This commit only physically moves the sources - there are no other
changes, to maximize the probability that this will be treated as a
rename if we ever do manage to migrate away from CVS.

Moving sysinst has been discussed on and off for years and has two
goals: making it easier to work on sysinst, and also making sysinst
available on running systems for use installing chroots and VM images
and other such things. None of the latter is possible yet, but as they
say, one thing at a time.

Doing this now was approved in an impromptu fashion by mrg, riz,
riastradh, me, and groo.
 1.1.28.3 13-Apr-2020  martin Mostly merge changes from HEAD upto 20200411
 1.1.28.2 08-Apr-2020  martin Merge changes from current as of 20200406
 1.1.28.1 10-Jun-2019  christos Sync with HEAD
 1.1.26.1 26-Nov-2018  pgoyette Sync with HEAD, resolve a couple of conflicts
 1.1.6.2 20-Aug-2014  tls Rebase to HEAD as of a few days ago.
 1.1.6.1 26-Jul-2014  tls file md.h was added on branch tls-maxphys on 2014-08-20 00:05:18 +0000
 1.1.2.2 10-Aug-2014  tls Rebase.
 1.1.2.1 26-Jul-2014  tls file md.h was added on branch tls-earlyentropy on 2014-08-10 07:00:28 +0000
 1.2.2.2 17-Dec-2019  msaitoh Pull up following revision(s) (requested by martin in ticket #560):
usr.sbin/sysinst/partitions.h: revision 1.11
usr.sbin/sysinst/defs.h: revision 1.49
usr.sbin/sysinst/mbr.c: revision 1.23
usr.sbin/sysinst/msg.mi.en: revision 1.26
usr.sbin/sysinst/disks.c: revision 1.58
usr.sbin/sysinst/arch/evbarm/menus.md.pl: revision 1.2
usr.sbin/sysinst/msg.mi.es: revision 1.20
usr.sbin/sysinst/arch/mvme68k/md.c: revision 1.9
usr.sbin/sysinst/gpt.c: revision 1.13
usr.sbin/sysinst/arch/evbarm/md.c: revision 1.10
usr.sbin/sysinst/arch/arc/md.c: revision 1.10
usr.sbin/sysinst/disklabel.c: revision 1.18
usr.sbin/sysinst/bsddisklabel.c: revision 1.33
usr.sbin/sysinst/disklabel.c: revision 1.19
usr.sbin/sysinst/main.c: revision 1.19
usr.sbin/sysinst/partman.c: revision 1.45
usr.sbin/sysinst/arch/alpha/md.c: revision 1.7
usr.sbin/sysinst/msg.mi.de: revision 1.19
usr.sbin/sysinst/arch/evbarm/menus.md.en: revision 1.2
usr.sbin/sysinst/arch/x68k/md.h: revision 1.4
usr.sbin/sysinst/arch/x68k/md.c: revision 1.9
usr.sbin/sysinst/arch/evbarm/menus.md.es: revision 1.2
usr.sbin/sysinst/wskbd.c: revision 1.4
usr.sbin/sysinst/label.c: revision 1.15
usr.sbin/sysinst/arch/amiga/md.h: revision 1.5
usr.sbin/sysinst/label.c: revision 1.16
usr.sbin/sysinst/arch/hp300/md.c: revision 1.9
usr.sbin/sysinst/arch/emips/md.c: revision 1.8
usr.sbin/sysinst/label.c: revision 1.17
usr.sbin/sysinst/arch/pmax/md.c: revision 1.7
usr.sbin/sysinst/partitions.c: revision 1.6
usr.sbin/sysinst/arch/prep/md.c: revision 1.10
usr.sbin/sysinst/arch/mipsco/md.c: revision 1.7
usr.sbin/sysinst/partitions.c: revision 1.7
usr.sbin/sysinst/partitions.c: revision 1.8
usr.sbin/sysinst/arch/ews4800mips/md.c: revision 1.5
usr.sbin/sysinst/disklabel.c: revision 1.20
usr.sbin/sysinst/arch/evbarm/menus.md.fr: revision 1.2
usr.sbin/sysinst/msg.mi.fr: revision 1.24
usr.sbin/sysinst/disklabel.c: revision 1.21
usr.sbin/sysinst/partitions.h: revision 1.9
usr.sbin/sysinst/msg.mi.pl: revision 1.27
usr.sbin/sysinst/disklabel.c: revision 1.22
usr.sbin/sysinst/disklabel.c: revision 1.23
usr.sbin/sysinst/arch/i386/md.c: revision 1.27
usr.sbin/sysinst/disklabel.c: revision 1.24
usr.sbin/sysinst/disklabel.c: revision 1.25
usr.sbin/sysinst/arch/cobalt/md.h: revision 1.5
usr.sbin/sysinst/disklabel.c: revision 1.26
usr.sbin/sysinst/disklabel.c: revision 1.27
usr.sbin/sysinst/partitions.h: revision 1.10
usr.sbin/sysinst/arch/cobalt/md.c: revision 1.10
PR install/54582: allow MD code to disable on-disk presence verification
of "real" disklabels. Auto-enable this (at run time) when there is no other
partitioning scheme but disklabel configured.
Hard-coded enable this for x68k to allow using kernel based translations
for native Human68k partitions.
Get rid of the evbarm preliminary menu: do not bother to ask the user
whether this is a RPi - query the FDT instead.
PR 54065: add optional "old compat" variant of ext2fs in file system
type selection and use that as default for the cobalt boot file system.
For now rely on the kernel mapping native RDB partitions.
Fix detection of existing disklabels in the case when we only have
the disklabel partitioning scheme available.
Fix DISKLABEL_NO_ONDISK_VERIFY (accidently disabled in previous)
Fix inverted comparison
Do not try to change the keyboard layout if we are not running on the
console.
When trying to tell a fictious but empty label from a real one, skip
partition a if it has the same start and size as the raw partition.
Remove bogus assert.
When finding (paritioning scheme native) partition types for file systems
from our install description, pass the partition type (not only the file
system type). Sometimes (e.g. EFI boot partition on GPT) the filesystem
type (MSDOS) is not a unique selector.
Adapt MD parts to changes in get_fs_part_type (pass partition type).
If a fictious label has no RAW_PART assume there is no valid disk label.
Pass proper track size when initializing the default alignment - this is
important with sunlabels.
Fix overlapping partitions display
Reject (what we consider) empty/invalid fake disklabels no matter whether
we have other partitioning schemes available or not.
Do not show disklabel command invocation by default (only if there are
errors).
After installing boot blocks with RUN_NO_CLEAR (and handling the
potential errors) make sure to clear the stdscreen.
 1.2.2.1 17-Nov-2019  martin Pull up following revision(s) (requested by maya in ticket #435):

distrib/sets/maketars: revision 1.90
usr.sbin/sysinst/arch/playstation2/md.h: revision 1.2
usr.sbin/sysinst/arch/sandpoint/md.h: revision 1.3
usr.sbin/sysinst/arch/evbppc/md.h: revision 1.3
usr.sbin/sysinst/arch/hpcarm/md.h: revision 1.3
usr.sbin/sysinst/arch/mvme68k/md.h: revision 1.3
distrib/sun3/MakeInstTape: revision 1.3
usr.sbin/sysinst/util.c: revision 1.33
distrib/sets/lists/rescue/mi: revision 1.1
distrib/sets/lists/base/rescue.sun2: file removal
usr.sbin/sysinst/arch/zaurus/md.h: revision 1.3
distrib/sets/lists/base/rescue.ad.m68k.shl: file removal
distrib/sets/regpkgset: revision 1.13
usr.sbin/sysinst/arch/i386/md.h: revision 1.7
distrib/sets/lists/base/rescue.sparc: file removal
distrib/notes/mvme68k/xfer: revision 1.19
distrib/sets/sets.subr: revision 1.187
distrib/common/bootimage/Makefile.bootimage: revision 1.22
usr.sbin/sysinst/msg.mi.de: revision 1.16
usr.sbin/sysinst/arch/atari/md.h: revision 1.3
rescue/Makefile: revision 1.38
distrib/sets/lists/base/rescue.macppc: file removal
usr.sbin/sysinst/arch/arc/md.h: revision 1.4
distrib/miniroot/install.sub: revision 1.49
usr.sbin/sysinst/arch/acorn32/md.h: revision 1.3
usr.sbin/sysinst/arch/x68k/md.h: revision 1.3
usr.sbin/sysinst/arch/hpcmips/md.h: revision 1.3
usr.sbin/sysinst/arch/bebox/md.h: revision 1.3
usr.sbin/sysinst/arch/hpcsh/md.h: revision 1.2
distrib/sets/lists/base/rescue.shark: file removal
usr.sbin/sysinst/arch/emips/md.h: revision 1.5
distrib/utils/embedded/mkimage: revision 1.70
usr.sbin/sysinst/arch/shark/md.h: revision 1.3
usr.sbin/sysinst/arch/pmax/md.h: revision 1.4
usr.sbin/sysinst/arch/amiga/md.h: revision 1.4
usr.sbin/sysinst/arch/hp300/md.h: revision 1.5
rescue/list.ldconfig: file removal
distrib/sets/lists/base/rescue.ad.m68k: file removal
usr.sbin/sysinst/arch/prep/md.h: revision 1.4
usr.sbin/sysinst/arch/cats/md.h: revision 1.4
usr.sbin/sysinst/arch/amd64/md.h: revision 1.7
usr.sbin/sysinst/msg.mi.es: revision 1.17
usr.sbin/sysinst/msg.mi.fr: revision 1.20
usr.sbin/sysinst/msg.mi.pl: revision 1.23
distrib/sets/lists/base/rescue.i386: file removal
usr.sbin/sysinst/arch/evbarm/md.h: revision 1.3
distrib/sets/lists/base/rescue.vax: file removal
distrib/amd64/uefi-installimage/Makefile.bootimage: revision 1.12
usr.sbin/sysinst/arch/evbmips/md.h: revision 1.3
distrib/sets/lists/base/rescue.mi: file removal
distrib/sets/README: revision 1.14
usr.sbin/sysinst/arch/sgimips/md.h: revision 1.4
distrib/sets/lists/base/rescue.sparc64: file removal
distrib/sets/lists/base/rescue.mi: revision 1.45
distrib/sets/lists/base/rescue.mi: revision 1.46
usr.sbin/sysinst/arch/ofppc/md.h: revision 1.4
usr.sbin/sysinst/arch/cobalt/md.h: revision 1.4
distrib/sets/lists/base/rescue.ad.arm: file removal
distrib/sets/lists/base/rescue.mac68k: file removal
usr.sbin/sysinst/defs.h: revision 1.45
usr.sbin/sysinst/arch/landisk/md.h: revision 1.2
distrib/notes/atari/xfer: revision 1.17
etc/Makefile: revision 1.441
usr.sbin/sysinst/msg.mi.en: revision 1.22
distrib/sun2/MakeInstTape: revision 1.2

Remove ldconfig from /rescue, and mark it MI obsolete.
- ldconfig in netbsd refers to a.out binaries only. We've been ELF-only
since NetBSD 2.0 or so, and having it in /rescue served little purpose
even before that, as /rescue is standalone.
- Using MI obsolete to avoid the need for MD set lists where ldconfig
is the sole entry

Mark /rescue/edlabel as MI-obsolete, so we can remove all remaining MD
rescue set list files.

Split out /rescue to its own set and adapt installers/images to add it.

This is meant to make updates safer: if something goes wrong with updating
base, we still have the old, standalone /rescue to recover from.
 1.8.4.1 02-Aug-2025  perseant Sync with HEAD
 1.1 26-Jul-2014  dholland branches: 1.1.2; 1.1.6;
Move sysinst sources to usr.sbin.

This commit only physically moves the sources - there are no other
changes, to maximize the probability that this will be treated as a
rename if we ever do manage to migrate away from CVS.

Moving sysinst has been discussed on and off for years and has two
goals: making it easier to work on sysinst, and also making sysinst
available on running systems for use installing chroots and VM images
and other such things. None of the latter is possible yet, but as they
say, one thing at a time.

Doing this now was approved in an impromptu fashion by mrg, riz,
riastradh, me, and groo.
 1.1.6.2 20-Aug-2014  tls Rebase to HEAD as of a few days ago.
 1.1.6.1 26-Jul-2014  tls file menus.md.en was added on branch tls-maxphys on 2014-08-20 00:05:18 +0000
 1.1.2.2 10-Aug-2014  tls Rebase.
 1.1.2.1 26-Jul-2014  tls file menus.md.en was added on branch tls-earlyentropy on 2014-08-10 07:00:28 +0000
 1.4 08-Sep-2024  rillig fix a/an grammar in obvious cases
 1.3 03-Feb-2020  martin branches: 1.3.10;
PR install/54921: message "ordering" takes a %s argument.
 1.2 03-Feb-2020  martin remove unused "emptypart" message (or moved to ifdef notyet area)
 1.1 26-Jul-2014  dholland branches: 1.1.2; 1.1.6; 1.1.28; 1.1.30;
Move sysinst sources to usr.sbin.

This commit only physically moves the sources - there are no other
changes, to maximize the probability that this will be treated as a
rename if we ever do manage to migrate away from CVS.

Moving sysinst has been discussed on and off for years and has two
goals: making it easier to work on sysinst, and also making sysinst
available on running systems for use installing chroots and VM images
and other such things. None of the latter is possible yet, but as they
say, one thing at a time.

Doing this now was approved in an impromptu fashion by mrg, riz,
riastradh, me, and groo.
 1.1.30.1 10-Feb-2020  bouyer Pull up following revision(s) (requested by martin in ticket #693):
usr.sbin/sysinst/arch/x68k/msg.md.en: revision 1.2
usr.sbin/sysinst/arch/x68k/md.c: revision 1.10
usr.sbin/sysinst/arch/mvme68k/msg.md.fr: revision 1.2
usr.sbin/sysinst/arch/x68k/msg.md.en: revision 1.3
usr.sbin/sysinst/arch/mvme68k/msg.md.fr: revision 1.3
usr.sbin/sysinst/msg.mi.en: revision 1.28
usr.sbin/sysinst/arch/hp300/md.c: revision 1.10
usr.sbin/sysinst/msg.mi.es: revision 1.22
usr.sbin/sysinst/target.c: revision 1.12
usr.sbin/sysinst/arch/mvme68k/md.c: revision 1.10
usr.sbin/sysinst/arch/i386/md.c: revision 1.30
usr.sbin/sysinst/arch/mvme68k/msg.md.pl: revision 1.2
usr.sbin/sysinst/arch/mvme68k/msg.md.pl: revision 1.3
usr.sbin/sysinst/bsddisklabel.c: revision 1.39
usr.sbin/sysinst/arch/mvme68k/msg.md.de: revision 1.2
usr.sbin/sysinst/arch/mac68k/md.c: revision 1.9
usr.sbin/sysinst/disklabel.c: revision 1.35
usr.sbin/sysinst/arch/mvme68k/msg.md.de: revision 1.3
usr.sbin/sysinst/defs.h: revision 1.55
usr.sbin/sysinst/disks.c: revision 1.63
usr.sbin/sysinst/disks.c: revision 1.64
usr.sbin/sysinst/mbr.c: revision 1.31
usr.sbin/sysinst/disks.c: revision 1.65
usr.sbin/sysinst/txtwalk.c: revision 1.3
usr.sbin/sysinst/txtwalk.c: revision 1.4
usr.sbin/sysinst/arch/mvme68k/msg.md.en: revision 1.2
usr.sbin/sysinst/arch/mvme68k/msg.md.en: revision 1.3
usr.sbin/sysinst/msg.mi.fr: revision 1.26
usr.sbin/sysinst/msg.mi.pl: revision 1.29
usr.sbin/sysinst/arch/mvme68k/msg.md.es: revision 1.2
usr.sbin/sysinst/upgrade.c: revision 1.15
usr.sbin/sysinst/arch/mvme68k/msg.md.es: revision 1.3
usr.sbin/sysinst/upgrade.c: revision 1.16
usr.sbin/sysinst/partman.c: revision 1.50
usr.sbin/sysinst/msg.mi.de: revision 1.21
remove unused "emptypart" message (or moved to ifdef notyet area)
PR install/54921: message "ordering" takes a %s argument.
PR install/54921: skip non-user partitions when checking for overlaps
bootxx_name() - fix oversight in previous change (do not assume first
partition is the root partition)
PR install/54934: always use -f on the installboot invocation. We come
here post-newfs (and maybe should have dd'd zeros to the start of the
disk before newfs instead).
Remove a bogus assert: when reading disklabel partitions and the outer
(MBR) partitioning has changed, but the changes have not yet been written
back to disk, we need to ignore the kernels idea of the disklabel and
instead continue with an empty one.
Deal with partitioning schemes having no inner counterpart.
Avoid NULL derefs.
Do not assum a partitioning scheme that supports innner partitions always
needs to actually have such partitions defined.
PR bin/54944: deal with escaped spaces in NAME= syntax in /etc/fstab.
PR bin/54944: explicitly reject GPT protective MBRs.
PR bin/54944: make the "explicit single wedge" selection also work for
upgrades.
Reformat a query to add an automatically detected swap partition
so it fits on narrow screens.
Make re-install sets also work for an explicit selected root wedge
Fix copy&pasto in previous - from kre.
Only a single partition can ever have the "extend" flag (grow to available
size).
Do not use -P for tar extractions - the in tree tar has been fixed.
Finish conversion to generic partitioning backend
 1.1.28.1 08-Apr-2020  martin Merge changes from current as of 20200406
 1.1.6.2 20-Aug-2014  tls Rebase to HEAD as of a few days ago.
 1.1.6.1 26-Jul-2014  tls file msg.md.en was added on branch tls-maxphys on 2014-08-20 00:05:18 +0000
 1.1.2.2 10-Aug-2014  tls Rebase.
 1.1.2.1 26-Jul-2014  tls file msg.md.en was added on branch tls-earlyentropy on 2014-08-10 07:00:28 +0000
 1.3.10.1 02-Aug-2025  perseant Sync with HEAD
 1.2 12-Jun-2019  martin Rework internal data structures and "interfaces to user interface" functions
to get rid of all disklabel assumptions.

Previously (even for GPT partitioning) struct disklabel was used, which
obviously breaks large disk setups. Also many MD parts and parts of the
user interface assumed (a) a struct disklabel is used internally to
store partitioning information and (b) partitions are named 'a' ... $MAXPART.

Get rid of this and replace it with a quite abstract interface that should
be able to deal with all variants in partition storage:

- partitions are stored in a (partly abstract) struct disk_partitions
and most parts of it are only accessed via accessor functions provided
by a "partitioning scheme".

- implement partitioning schemes for MBR, disklabel and GPT (with likely
RDB [amiga] and Apple Partition Map [mac*] to follow soon)

- partitioning schemes may be cascaded, e.g. on x86 when using MBR as
"outer partitions", we have disklabel as "inner partitions".

- all user interface goes via accessor functions in the partitioning scheme,
some of which return pointers to special user interface descriptors
(e.g. to allow editing partition flags, which are scheme specific)

Overall the user interface changes (in this initial step) are minimal but
noticable. A new Anita is needed for automatic test setups - many thanks
to Andreas Gustafsson for lots of early testing and a new Anita version,
and to Manuel Bouyer for cooperation and tests of the Anita release.

This work was sponsored by The NetBSD Foundation, Inc.
 1.1 26-Jul-2014  dholland branches: 1.1.2; 1.1.6; 1.1.28;
Move sysinst sources to usr.sbin.

This commit only physically moves the sources - there are no other
changes, to maximize the probability that this will be treated as a
rename if we ever do manage to migrate away from CVS.

Moving sysinst has been discussed on and off for years and has two
goals: making it easier to work on sysinst, and also making sysinst
available on running systems for use installing chroots and VM images
and other such things. None of the latter is possible yet, but as they
say, one thing at a time.

Doing this now was approved in an impromptu fashion by mrg, riz,
riastradh, me, and groo.
 1.1.28.1 13-Apr-2020  martin Mostly merge changes from HEAD upto 20200411
 1.1.6.2 20-Aug-2014  tls Rebase to HEAD as of a few days ago.
 1.1.6.1 26-Jul-2014  tls file Makefile was added on branch tls-maxphys on 2014-08-20 00:05:18 +0000
 1.1.2.2 10-Aug-2014  tls Rebase.
 1.1.2.1 26-Jul-2014  tls file Makefile was added on branch tls-earlyentropy on 2014-08-10 07:00:28 +0000
 1.12 29-Jan-2022  martin When upgrading, update the boot code post extraction from
the updated target file system.
 1.11 09-Aug-2021  andvar fix various typos in comments and messages.
 1.10 14-Oct-2020  martin Fix copy & pasto (missing "again" label)
 1.9 12-Oct-2020  martin PR 55536: when we find existing partition tables and have alternative
formats available, offer to delete partitions and create new ones from
scratch (in some other or the same on-disk format).
 1.8 27-Jan-2020  martin Fix support for non-512-byte/sector disks again after I broke it when
introducing the abstract partition backends.
 1.7 09-Jan-2020  martin Finish conversion of extended partitioning parts to new abstract
backend interface. XXX still could use a lot of polishing.
 1.6 14-Aug-2019  martin When we ask the user to select a partitioning scheme and they refuse
(that is: select "Exit" in the menu), abort installation.
 1.5 13-Jul-2019  martin branches: 1.5.2;
We may call md_pre_mount() multiple times for the same install set,
so pass an additional index argument so MD code knows which part
of the install will be mounted next.
 1.4 13-Jun-2019  martin In the new world order disks may come without any partitioning scheme
attached - so the user may have to select one.
 1.3 12-Jun-2019  martin Rework internal data structures and "interfaces to user interface" functions
to get rid of all disklabel assumptions.

Previously (even for GPT partitioning) struct disklabel was used, which
obviously breaks large disk setups. Also many MD parts and parts of the
user interface assumed (a) a struct disklabel is used internally to
store partitioning information and (b) partitions are named 'a' ... $MAXPART.

Get rid of this and replace it with a quite abstract interface that should
be able to deal with all variants in partition storage:

- partitions are stored in a (partly abstract) struct disk_partitions
and most parts of it are only accessed via accessor functions provided
by a "partitioning scheme".

- implement partitioning schemes for MBR, disklabel and GPT (with likely
RDB [amiga] and Apple Partition Map [mac*] to follow soon)

- partitioning schemes may be cascaded, e.g. on x86 when using MBR as
"outer partitions", we have disklabel as "inner partitions".

- all user interface goes via accessor functions in the partitioning scheme,
some of which return pointers to special user interface descriptors
(e.g. to allow editing partition flags, which are scheme specific)

Overall the user interface changes (in this initial step) are minimal but
noticable. A new Anita is needed for automatic test setups - many thanks
to Andreas Gustafsson for lots of early testing and a new Anita version,
and to Manuel Bouyer for cooperation and tests of the Anita release.

This work was sponsored by The NetBSD Foundation, Inc.
 1.2 03-Aug-2014  martin branches: 1.2.2; 1.2.6; 1.2.28;
(Finally) merge a slightly modified version of the 2012 GSoC results
from Eugene Lozovoy: add extended partitioning options to sysinst.
Still needs some testing and polishing, but it now is possible to use GPT
or to create a RAID set from scratch and install onto it.
 1.1 26-Jul-2014  dholland Move sysinst sources to usr.sbin.

This commit only physically moves the sources - there are no other
changes, to maximize the probability that this will be treated as a
rename if we ever do manage to migrate away from CVS.

Moving sysinst has been discussed on and off for years and has two
goals: making it easier to work on sysinst, and also making sysinst
available on running systems for use installing chroots and VM images
and other such things. None of the latter is possible yet, but as they
say, one thing at a time.

Doing this now was approved in an impromptu fashion by mrg, riz,
riastradh, me, and groo.
 1.2.28.1 13-Apr-2020  martin Mostly merge changes from HEAD upto 20200411
 1.2.6.2 20-Aug-2014  tls Rebase to HEAD as of a few days ago.
 1.2.6.1 03-Aug-2014  tls file md.c was added on branch tls-maxphys on 2014-08-20 00:05:18 +0000
 1.2.2.2 10-Aug-2014  tls Rebase.
 1.2.2.1 03-Aug-2014  tls file md.c was added on branch tls-earlyentropy on 2014-08-10 07:00:28 +0000
 1.5.2.4 02-Feb-2022  msaitoh Pull up following revision(s) (requested by martin in ticket #1422):
usr.sbin/sysinst/util.c: revision 1.64
usr.sbin/sysinst/arch/hpcsh/md.c: revision 1.11
usr.sbin/sysinst/arch/alpha/md.c: revision 1.10
usr.sbin/sysinst/arch/sparc64/md.c: revision 1.7
usr.sbin/sysinst/arch/emips/md.c: revision 1.10
usr.sbin/sysinst/arch/cobalt/md.c: revision 1.15
usr.sbin/sysinst/arch/x68k/md.c: revision 1.12
usr.sbin/sysinst/arch/sandpoint/md.c: revision 1.10
usr.sbin/sysinst/arch/luna68k/md.c: revision 1.10
usr.sbin/sysinst/arch/hp300/md.c: revision 1.12
usr.sbin/sysinst/arch/vax/md.c: revision 1.8
usr.sbin/sysinst/arch/hpcmips/md.c: revision 1.10
usr.sbin/sysinst/target.c: revision 1.16
usr.sbin/sysinst/arch/mvme68k/md.c: revision 1.12
usr.sbin/sysinst/arch/arc/md.c: revision 1.14
usr.sbin/sysinst/target.c: revision 1.17
usr.sbin/sysinst/arch/i386/md.c: revision 1.34
usr.sbin/sysinst/arch/mac68k/md.c: revision 1.11
usr.sbin/sysinst/arch/atari/md.c: revision 1.8
usr.sbin/sysinst/arch/sgimips/md.c: revision 1.10
usr.sbin/sysinst/arch/acorn32/md.c: revision 1.8
usr.sbin/sysinst/install.c: revision 1.22
usr.sbin/sysinst/arch/amiga/md.c: revision 1.7
usr.sbin/sysinst/arch/cats/md.c: revision 1.6
usr.sbin/sysinst/arch/dummy/md.c: revision 1.7
usr.sbin/sysinst/arch/shark/md.c: revision 1.7
usr.sbin/sysinst/arch/pmax/md.c: revision 1.9
usr.sbin/sysinst/arch/newsmips/md.c: revision 1.7
usr.sbin/sysinst/arch/mipsco/md.c: revision 1.9
usr.sbin/sysinst/arch/landisk/md.c: revision 1.15
usr.sbin/sysinst/arch/hppa/md.c: revision 1.9
usr.sbin/sysinst/arch/prep/md.c: revision 1.14
usr.sbin/sysinst/defs.h: revision 1.77
usr.sbin/sysinst/arch/ofppc/md.c: revision 1.13
usr.sbin/sysinst/arch/ews4800mips/md.c: revision 1.8
usr.sbin/sysinst/defs.h: revision 1.78
usr.sbin/sysinst/arch/macppc/md.c: revision 1.7
usr.sbin/sysinst/arch/evbppc/md.c: revision 1.10
usr.sbin/sysinst/defs.h: revision 1.79
usr.sbin/sysinst/gpt.c: revision 1.27
usr.sbin/sysinst/arch/bebox/md.c: revision 1.10
usr.sbin/sysinst/gpt.c: revision 1.28
usr.sbin/sysinst/arch/sparc/md.c: revision 1.7
usr.sbin/sysinst/arch/evbsh3/md.c: revision 1.7
usr.sbin/sysinst/arch/evbarm/md.c: revision 1.22
usr.sbin/sysinst/arch/news68k/md.c: revision 1.8
usr.sbin/sysinst/upgrade.c: revision 1.19
usr.sbin/sysinst/arch/zaurus/md.c: revision 1.12
usr.sbin/sysinst/arch/playstation2/md.c: revision 1.10
usr.sbin/sysinst/arch/hpcarm/md.c: revision 1.11
usr.sbin/sysinst/arch/evbmips/md.c: revision 1.10
usr.sbin/sysinst/main.c: revision 1.28
Add an option to set the directory where we look for message catalogs.
Try to get rid of all wedges we created (after unmounting).
When upgrading, update the boot code post extraction from
the updated target file system.
Do not defer wedge deletions when we have nothing mounted.
Define and use a constant for maximum disk name length.
 1.5.2.3 15-Oct-2020  bouyer Pull up following revision(s) (requested by martin in ticket #1113):
usr.sbin/sysinst/bsddisklabel.c: revision 1.46
usr.sbin/sysinst/bsddisklabel.c: revision 1.47
usr.sbin/sysinst/disklabel.c: revision 1.40
usr.sbin/sysinst/arch/cobalt/md.c: revision 1.13
usr.sbin/sysinst/bsddisklabel.c: revision 1.48
usr.sbin/sysinst/disklabel.c: revision 1.41
usr.sbin/sysinst/arch/cobalt/md.c: revision 1.14
usr.sbin/sysinst/bsddisklabel.c: revision 1.49
usr.sbin/sysinst/disklabel.c: revision 1.42
usr.sbin/sysinst/Makefile.inc: revision 1.34
usr.sbin/sysinst/disks.c: revision 1.70
usr.sbin/sysinst/arch/hp300/md.c: revision 1.11
usr.sbin/sysinst/disks.c: revision 1.71
usr.sbin/sysinst/arch/i386/md.h: revision 1.8
usr.sbin/sysinst/arch/arc/md.c: revision 1.13
usr.sbin/sysinst/mbr.h: revision 1.5
usr.sbin/sysinst/mbr.h: revision 1.6
usr.sbin/sysinst/arch/mac68k/md.c: revision 1.10
usr.sbin/sysinst/bsddisklabel.c: revision 1.50
usr.sbin/sysinst/arch/acorn32/md.c: revision 1.7
usr.sbin/sysinst/bsddisklabel.c: revision 1.51
usr.sbin/sysinst/bsddisklabel.c: revision 1.52
usr.sbin/sysinst/bsddisklabel.c: revision 1.53
usr.sbin/sysinst/bsddisklabel.c: revision 1.54
usr.sbin/sysinst/bsddisklabel.c: revision 1.55
usr.sbin/sysinst/bsddisklabel.c: revision 1.56
usr.sbin/sysinst/arch/dummy/md.c: revision 1.6
usr.sbin/sysinst/arch/amd64/md.h: revision 1.9
usr.sbin/sysinst/arch/evbsh3/md.c: revision 1.6
usr.sbin/sysinst/arch/sparc/md.c: revision 1.6
usr.sbin/sysinst/arch/zaurus/md.c: revision 1.10
usr.sbin/sysinst/arch/x68k/md.c: revision 1.11
usr.sbin/sysinst/arch/sandpoint/md.c: revision 1.9
usr.sbin/sysinst/arch/vax/md.c: revision 1.7
usr.sbin/sysinst/arch/luna68k/md.c: revision 1.9
usr.sbin/sysinst/gpt.c: revision 1.19
usr.sbin/sysinst/arch/i386/md.c: revision 1.31
usr.sbin/sysinst/arch/i386/md.c: revision 1.32
usr.sbin/sysinst/arch/evbarm/md.c: revision 1.17
usr.sbin/sysinst/arch/evbarm/md.c: revision 1.18
usr.sbin/sysinst/arch/evbarm/md.c: revision 1.19
usr.sbin/sysinst/arch/shark/md.c: revision 1.6
usr.sbin/sysinst/arch/landisk/md.c: revision 1.14
usr.sbin/sysinst/util.c: revision 1.43
usr.sbin/sysinst/gpt.c: revision 1.20
usr.sbin/sysinst/util.c: revision 1.44
usr.sbin/sysinst/gpt.c: revision 1.21
usr.sbin/sysinst/gpt.c: revision 1.22
usr.sbin/sysinst/arch/evbarm/msg.md.en: revision 1.2
usr.sbin/sysinst/arch/ofppc/md.c: revision 1.11
usr.sbin/sysinst/util.c: revision 1.46
usr.sbin/sysinst/arch/ofppc/md.c: revision 1.12
usr.sbin/sysinst/util.c: revision 1.47
usr.sbin/sysinst/arch/evbarm/md.h: revision 1.6
usr.sbin/sysinst/util.c: revision 1.48
usr.sbin/sysinst/arch/evbarm/md.h: revision 1.7
usr.sbin/sysinst/arch/evbmips/md.c: revision 1.9
usr.sbin/sysinst/msg.mi.fr: revision 1.28
usr.sbin/sysinst/msg.mi.fr: revision 1.29
usr.sbin/sysinst/arch/sgimips/md.c: revision 1.9
usr.sbin/sysinst/arch/evbarm/Makefile: revision 1.3
usr.sbin/sysinst/msg.mi.de: revision 1.23
usr.sbin/sysinst/arch/hpcsh/md.c: revision 1.10
usr.sbin/sysinst/msg.mi.de: revision 1.24
usr.sbin/sysinst/install.c: revision 1.15
usr.sbin/sysinst/install.c: revision 1.16
usr.sbin/sysinst/arch/sparc64/md.c: revision 1.6
usr.sbin/sysinst/install.c: revision 1.17
usr.sbin/sysinst/install.c: revision 1.18
usr.sbin/sysinst/partitions.h: revision 1.16
usr.sbin/sysinst/install.c: revision 1.19
usr.sbin/sysinst/partitions.h: revision 1.17
usr.sbin/sysinst/arch/evbppc/md.c: revision 1.9
usr.sbin/sysinst/arch/playstation2/md.c: revision 1.9
usr.sbin/sysinst/partitions.h: revision 1.18
usr.sbin/sysinst/arch/hpcarm/md.c: revision 1.9
usr.sbin/sysinst/partitions.h: revision 1.19
usr.sbin/sysinst/msg.mi.es: revision 1.24
usr.sbin/sysinst/msg.mi.es: revision 1.25
usr.sbin/sysinst/msg.mi.es: revision 1.26
usr.sbin/sysinst/arch/zaurus/md.c: revision 1.9
usr.sbin/sysinst/target.c: revision 1.13
usr.sbin/sysinst/target.c: revision 1.14
usr.sbin/sysinst/part_edit.c: revision 1.17
usr.sbin/sysinst/part_edit.c: revision 1.18
usr.sbin/sysinst/msg.mi.fr: revision 1.30
usr.sbin/sysinst/arch/mvme68k/md.c: revision 1.11
usr.sbin/sysinst/part_edit.c: revision 1.19
usr.sbin/sysinst/msg.mi.fr: revision 1.31
usr.sbin/sysinst/arch/alpha/md.c: revision 1.9
usr.sbin/sysinst/msg.mi.en: revision 1.30
usr.sbin/sysinst/defs.h: revision 1.56
usr.sbin/sysinst/msg.mi.en: revision 1.31
usr.sbin/sysinst/defs.h: revision 1.57
usr.sbin/sysinst/msg.mi.en: revision 1.32
usr.sbin/sysinst/arch/amiga/md.c: revision 1.6
usr.sbin/sysinst/arch/hpcmips/md.c: revision 1.9
usr.sbin/sysinst/defs.h: revision 1.58
usr.sbin/sysinst/arch/cats/md.c: revision 1.5
usr.sbin/sysinst/defs.h: revision 1.59
usr.sbin/sysinst/arch/newsmips/md.c: revision 1.6
usr.sbin/sysinst/arch/pmax/md.c: revision 1.8
usr.sbin/sysinst/arch/mipsco/md.c: revision 1.8
usr.sbin/sysinst/part_edit.c: revision 1.20
usr.sbin/sysinst/part_edit.c: revision 1.21
usr.sbin/sysinst/arch/macppc/md.c: revision 1.6
usr.sbin/sysinst/part_edit.c: revision 1.22
usr.sbin/sysinst/part_edit.c: revision 1.23
usr.sbin/sysinst/part_edit.c: revision 1.24
usr.sbin/sysinst/defs.h: revision 1.60
usr.sbin/sysinst/arch/mac68k/Makefile: revision 1.3
usr.sbin/sysinst/defs.h: revision 1.61
usr.sbin/sysinst/defs.h: revision 1.63
usr.sbin/sysinst/defs.h: revision 1.64
usr.sbin/sysinst/defs.h: revision 1.65
usr.sbin/sysinst/label.c: revision 1.21
usr.sbin/sysinst/defs.h: revision 1.66
usr.sbin/sysinst/label.c: revision 1.22
usr.sbin/sysinst/defs.h: revision 1.67
usr.sbin/sysinst/label.c: revision 1.23
usr.sbin/sysinst/label.c: revision 1.24
usr.sbin/sysinst/label.c: revision 1.25
usr.sbin/sysinst/label.c: revision 1.26
usr.sbin/sysinst/label.c: revision 1.27
usr.sbin/sysinst/msg.mi.pl: revision 1.31
usr.sbin/sysinst/label.c: revision 1.28
usr.sbin/sysinst/msg.mi.pl: revision 1.32
usr.sbin/sysinst/label.c: revision 1.29
usr.sbin/sysinst/arch/atari/md.c: revision 1.7
usr.sbin/sysinst/disklabel.c: revision 1.36
usr.sbin/sysinst/disklabel.c: revision 1.37
usr.sbin/sysinst/disklabel.c: revision 1.38
usr.sbin/sysinst/disklabel.c: revision 1.39
usr.sbin/sysinst/arch/bebox/md.c: revision 1.9
usr.sbin/sysinst/mbr.c: revision 1.32
usr.sbin/sysinst/disks.c: revision 1.66
usr.sbin/sysinst/mbr.c: revision 1.33
usr.sbin/sysinst/disks.c: revision 1.67
usr.sbin/sysinst/mbr.c: revision 1.34
usr.sbin/sysinst/arch/emips/md.c: revision 1.9
usr.sbin/sysinst/disks.c: revision 1.68
usr.sbin/sysinst/partitions.c: revision 1.11
usr.sbin/sysinst/mbr.c: revision 1.35
usr.sbin/sysinst/disks.c: revision 1.69
usr.sbin/sysinst/mbr.c: revision 1.36
usr.sbin/sysinst/arch/hppa/md.c: revision 1.8
usr.sbin/sysinst/arch/prep/md.c: revision 1.13
usr.sbin/sysinst/label.c: revision 1.30
usr.sbin/sysinst/arch/ews4800mips/md.c: revision 1.7
usr.sbin/sysinst/main.c: revision 1.21
usr.sbin/sysinst/main.c: revision 1.22
usr.sbin/sysinst/main.c: revision 1.23
usr.sbin/sysinst/bsddisklabel.c: revision 1.40
usr.sbin/sysinst/main.c: revision 1.24
usr.sbin/sysinst/arch/cobalt/md.h: revision 1.6
usr.sbin/sysinst/bsddisklabel.c: revision 1.41
usr.sbin/sysinst/main.c: revision 1.25
usr.sbin/sysinst/arch/news68k/md.c: revision 1.7
usr.sbin/sysinst/bsddisklabel.c: revision 1.42
usr.sbin/sysinst/bsddisklabel.c: revision 1.43
usr.sbin/sysinst/bsddisklabel.c: revision 1.44
usr.sbin/sysinst/bsddisklabel.c: revision 1.45
Use strlcpy in a few places to guarnatee 0-terminated strings
Rever previous: the d_packname in struct disklabel is not NUL terminated.
Disable the warning instead.
Do not force -Os optimization (unless SMALLPROG)
Remove unused "rel" global variable and make the -r option a no-op.
PR 55045: strlcpy(NULL, ..., 0) considered harmfull in some implementations.
PR misc/54886: bump threshold for automatic/default creation of a tmpfs /tmp
up slightly (to 384 MB ram). This will make sure the default install has
a > 64 MB /tmp available (number pulled out of thin air, 64 MB is the minimum
required by the ZFS tests).
Don't depend on common symbol definitions.
boardype should not be common.
Redo the root-size-limit check again after we grew the root partition
for kernel dumps. Auto-enable the /usr partition if it overflows.
For all non-root partitions, default to FFSv2.
When extending a partition (to fill the total disk size) do respect
size limits.
Do not suggest a size limited partition for extension by default.
Minor tweak to previous: when forcing a /usr partition just to have an
arbitrary extendable partition, still use its default size initially.
At the end of a new installation save entropy.
Ooops, backout previous - twice the entropy saving is not needed.
Instead slightly improve the (slightly) hidden other code that already
did it.
PR 55202: disable swapping if we started it due to low ram
it's "its"
Remove "If you booted from a floppy" message
Set HAVE_INSTALL_IMAGE for evbarm
Change mountpoint of boot ext2fs from /stand to /ext2 to avoid conflict.
Should be pulled up to netbsd-9, with fixes of PR/55060.
MBR type for Ext2 should be MBR_PTYPE_LNXEXT2, not MBR_PTYPE_FAT12.
Silence -Wstringop-truncation for ``name'' in disp_selected_part().
This variable is used only for display, and truncation seems harmless.
PR 55572: avoid crash when answering the mount point prompt for a previously
empty mount point with an emptry sting.
When adding a new partition in the concrete partition editor, make sure
to set a pointer to the partition table interface in the new entry.
Otherwise we may end up not writing back the partitions at all, leading
to further fallout later.
Receipe to reproduce the issue from Frederic Fauberteau, thanks!
In the concrete partitions editor, after deleting the last partition move
the menu selection to the "add a partition" entry (instead of the sentinel
line which is not an active menu entry).
Typo in comment
Keep a list of all partition tables from which we have deleted partitions
and make sure we update those partition tables when writing partitions,
even if no install related partition remains on them.
Fix display of timezone selection menu
If there is no current partitioning manager assume we are editing the
current system and make target_already_root() return true.
Fixes various fallout when using sysinst post installation.
PR 55377: mark boot partitions in the partition size display, as suggested
by Izumi Tsutsui (minor modifications + all bugs by me)
PR 55378: do not assume RAW_PART to be either 2 or 3
PR 55379: avoid creating bogus /etc/fstab lines for /dev/cd* if no
cdrom is available.
PR 55381: try to deal with moved (but not yet saved) partitions when
calculating free space
Apply patch provided by Izumi Tsutsui in PR 55382: make ext2 partitions
show up in the outer (MBR) partition table, needed for example on Cobalt
where firmware boots from that partition.
PR 55384: detangle pm->ptstart from the "install" flag (selecting a
target partition). Instead introduce a new PTI_INSTALL_TARGET per partition
flag and deal with it in the partitioning backends.
Honour pm->ptstart when allocating new partitions - it is supposed to be
the first sector usable by NetBSD.
If we have no explicitly marke target root partition, make sure to set
the proper flag on the implicit one.
When merging existing partitions with desired target system layout
information, only force the "mount" flag if the existing partitions
has a valid mount point.
Add a heuristic to detect and properly mark EFI system partitions
when re-using pre-existing partitions.
When MD code requests a reserved area (at the start of the disk)
make sure to properly account for the "lost" space during all calculations
and especially when expanding the main partition to fill the disk.
Avoid using the global "pm" or a passed device descriptons when we are
passing disk limits explicitly anyway.
Simplify/fix a few rounding calculations.
When creating new partitions for "full disk" use, pass a install target
hint to the partitioning backend (for the outer NetBSD partition).
Use an install target hint to mark a new partition active.
When compiled with BOOTSEL support, also name the new partition "NetBSD".
Remove more pm->ptstart abuse - calculate values localy where needed
instead.
Fix editing start and size of not yet existing outer partitions.
Previously we abused pm->ptstart / pm->ptsize to pass the bounds of the
NetBSD outer partition to the inner partition editor - but now this is
not a valid assumption any more, so explicitly fix the bounds if an
outer partition exists.
Remove very strange code that special-cased MSDOS file systems and refused
to newfs the partition (despite explicit request to do so) if it was
mountable.
Accidently carried over from a dim and distant past, before we had
fsck_newfs.
PR 55536: when we find existing partition tables and have alternative
formats available, offer to delete partitions and create new ones from
scratch (in some other or the same on-disk format).
Minor fix to previous: fix condition when we offer the partition type
switch - it makes sense even if the disk is partitioned but has no valid
partitions.
Before forcing MBR partitions into our disklabel, make sure they are not
there yet - could happen in various paths when reusing existing partitions
(or parts of that) - previously we would blindly duplicate identical
partitions.
Ooops, part of previous was not meant to be included yet
When renumbering partitions (after deletions) be slightly more lax
in matching, to cope with differences between MBR EFI partitions and
disklabel MSDOS partitions.
PR 55142: on popular demand bring back expert options to adjust the
number of free inodes, block size and fragment size for FFS and LFS.
Fix copy & pasto noticed by Jason Mitchell: change the type of a GPT
partition via "gpt type" - not "gpt label".
Fix copy & pasto (missing "again" label)
Remove dead code
Move MBR writing (if any) post disklabel writing, otherwise strange
interactions happen.
Properly convert partition default sizes in MB to number of sectors
 1.5.2.2 28-Jan-2020  msaitoh Pull up following revision(s) (requested by martin in ticket #668):
usr.sbin/sysinst/arch/cobalt/md.c: revision 1.11
usr.sbin/sysinst/arch/cobalt/md.c: revision 1.12
usr.sbin/sysinst/arch/arc/md.c: revision 1.11
usr.sbin/sysinst/arch/arc/md.c: revision 1.12
usr.sbin/sysinst/partman.c: revision 1.43
usr.sbin/sysinst/partman.c: revision 1.46
usr.sbin/sysinst/partman.c: revision 1.47
usr.sbin/sysinst/partman.c: revision 1.48
usr.sbin/sysinst/partman.c: revision 1.49
usr.sbin/sysinst/msg.pm.fr: revision 1.2
usr.sbin/sysinst/upgrade.c: revision 1.14
usr.sbin/sysinst/arch/i386/md.c: revision 1.28
usr.sbin/sysinst/arch/i386/md.c: revision 1.29
usr.sbin/sysinst/arch/ofppc/md.c: revision 1.9
usr.sbin/sysinst/arch/sandpoint/md.c: revision 1.7
usr.sbin/sysinst/arch/sandpoint/md.c: revision 1.8
usr.sbin/sysinst/gpt.c: revision 1.14
usr.sbin/sysinst/gpt.c: revision 1.15
usr.sbin/sysinst/arch/luna68k/md.c: revision 1.8
usr.sbin/sysinst/gpt.c: revision 1.16
usr.sbin/sysinst/msg.pm.de: revision 1.2
usr.sbin/sysinst/arch/evbarm/md.c: revision 1.11
usr.sbin/sysinst/arch/evbarm/md.c: revision 1.12
usr.sbin/sysinst/arch/evbarm/md.c: revision 1.13
usr.sbin/sysinst/arch/evbarm/md.c: revision 1.14
usr.sbin/sysinst/sizemultname.c: revision 1.4
usr.sbin/sysinst/msg.pm.en: revision 1.2
usr.sbin/sysinst/arch/landisk/md.c: revision 1.12
usr.sbin/sysinst/util.c: revision 1.41
usr.sbin/sysinst/arch/landisk/md.c: revision 1.13
usr.sbin/sysinst/util.c: revision 1.42
usr.sbin/sysinst/arch/ofppc/md.c: revision 1.10
usr.sbin/sysinst/partitions.c: revision 1.9
usr.sbin/sysinst/arch/evbarm/md.h: revision 1.4
usr.sbin/sysinst/arch/evbarm/md.h: revision 1.5
usr.sbin/sysinst/arch/evbmips/md.c: revision 1.7
usr.sbin/sysinst/arch/evbmips/md.c: revision 1.8
usr.sbin/sysinst/msg.mi.fr: revision 1.25
usr.sbin/sysinst/msg.mi.de: revision 1.20
usr.sbin/sysinst/install.c: revision 1.14
usr.sbin/sysinst/partitions.h: revision 1.13
usr.sbin/sysinst/partitions.h: revision 1.14
usr.sbin/sysinst/arch/evbppc/md.c: revision 1.7
usr.sbin/sysinst/arch/playstation2/md.c: revision 1.7
usr.sbin/sysinst/msg.mi.en: revision 1.27
usr.sbin/sysinst/partitions.h: revision 1.15
usr.sbin/sysinst/arch/evbppc/md.c: revision 1.8
usr.sbin/sysinst/arch/hpcarm/md.c: revision 1.7
usr.sbin/sysinst/arch/playstation2/md.c: revision 1.8
usr.sbin/sysinst/msg.pm.pl: revision 1.2
usr.sbin/sysinst/arch/hpcarm/md.c: revision 1.8
usr.sbin/sysinst/msg.mi.es: revision 1.21
usr.sbin/sysinst/arch/zaurus/md.c: revision 1.7
usr.sbin/sysinst/target.c: revision 1.11
usr.sbin/sysinst/arch/zaurus/md.c: revision 1.8
usr.sbin/sysinst/part_edit.c: revision 1.14
usr.sbin/sysinst/part_edit.c: revision 1.15
usr.sbin/sysinst/part_edit.c: revision 1.16
usr.sbin/sysinst/defs.h: revision 1.50
usr.sbin/sysinst/defs.h: revision 1.51
usr.sbin/sysinst/defs.h: revision 1.52
usr.sbin/sysinst/defs.h: revision 1.53
usr.sbin/sysinst/defs.h: revision 1.54
usr.sbin/sysinst/arch/hpcmips/md.c: revision 1.7
usr.sbin/sysinst/arch/hpcmips/md.c: revision 1.8
usr.sbin/sysinst/arch/hpcsh/md.c: revision 1.8
usr.sbin/sysinst/msg.pm.es: revision 1.2
usr.sbin/sysinst/arch/hpcsh/md.c: revision 1.9
usr.sbin/sysinst/label.c: revision 1.18
usr.sbin/sysinst/label.c: revision 1.19
usr.sbin/sysinst/net.c: revision 1.35
usr.sbin/sysinst/msg.mi.pl: revision 1.28
usr.sbin/sysinst/disklabel.c: revision 1.28
usr.sbin/sysinst/disklabel.c: revision 1.29
usr.sbin/sysinst/mbr.c: revision 1.24
usr.sbin/sysinst/disks.c: revision 1.59
usr.sbin/sysinst/mbr.c: revision 1.25
usr.sbin/sysinst/mbr.c: revision 1.26
usr.sbin/sysinst/mbr.c: revision 1.27
usr.sbin/sysinst/mbr.c: revision 1.28
usr.sbin/sysinst/label.c: revision 1.20
usr.sbin/sysinst/mbr.c: revision 1.29
usr.sbin/sysinst/bsddisklabel.c: revision 1.34
usr.sbin/sysinst/bsddisklabel.c: revision 1.35
usr.sbin/sysinst/bsddisklabel.c: revision 1.36
usr.sbin/sysinst/bsddisklabel.c: revision 1.37
usr.sbin/sysinst/disklabel.c: revision 1.30
usr.sbin/sysinst/bsddisklabel.c: revision 1.38
usr.sbin/sysinst/disklabel.c: revision 1.31
usr.sbin/sysinst/disklabel.c: revision 1.32
usr.sbin/sysinst/disklabel.c: revision 1.33
usr.sbin/sysinst/disklabel.c: revision 1.34
usr.sbin/sysinst/disks.c: revision 1.60
usr.sbin/sysinst/disks.c: revision 1.61
usr.sbin/sysinst/arch/bebox/md.c: revision 1.7
usr.sbin/sysinst/disks.c: revision 1.62
usr.sbin/sysinst/arch/bebox/md.c: revision 1.8
usr.sbin/sysinst/mbr.c: revision 1.30
usr.sbin/sysinst/partitions.c: revision 1.10
usr.sbin/sysinst/arch/prep/md.c: revision 1.11
usr.sbin/sysinst/arch/prep/md.c: revision 1.12
usr.sbin/sysinst/menus.pm: revision 1.3
usr.sbin/sysinst/main.c: revision 1.20
usr.sbin/sysinst/menus.mi: revision 1.20
usr.sbin/sysinst/menus.mi: revision 1.21
avoid calling snprintf/strlcat with an input parameter the same
as the output. from martin@. fixes gcc 8 restrict warnings.
Finish conversion of extended partitioning parts to new abstract
backend interface. XXX still could use a lot of polishing.
Instead of a (bogus) attempt to query the model via ofctl, use the (now
fixed) sysctl hw.model instead.
When reading the secondary disklabel partitions from an existing disklabel
set the mbr partitions as parent.
Move the LABELSECTOR check and make it FS type specific - some partition
types (FFS, RAID) are allowed to overlap with the LABELSECTOR.
When asked to create a whole-disk partition for unknown usage, do not only
assert(false), but actually return an error (in case "assert" is a nop).
PR install/54787: when trying to derive proper alignement and first offset
from exisiting partitions, use the first partition offset if it is already
closer to the start of the disk than the prefered alignment - we can not
move existing partitions around.
Fix handling of inner/outer partitions (e.g. MBR and disklabel) in
extended partitioning:
- when editing a disk with such a schme, offer both partitions in two
steps
- when commiting changes save the inner partitions after the outer ones
Add a method to query the partitioning schemes "internal idea" of a
cylinder size - whatever that means in the real world.
Avoid using the global "pm" variable in utility functions - during
extended partitioning they may point to a different device.
Remove useless calls to get_ramsize() - return value is ignored and
the function has no side effects.
Fix /tmp tmpfs handling and on machines with enough RAM default to
creating a /tmp tmpfs with 25% of ram size limit. Suggested by ad@.
PR install/54872: fix printf argument order, sectors and heads were
swapped in the bios geometry display.
First try to bring evbarm installation closer to current reality.
hide disklabel_non_bootable() under NO_DISKLABEL_BOOT like the usage.
should fix most builds.
Deal with even stranger fictious empty disklabels (PR kern/54882).
Factor out all RAM size thresholds as defines to avoid magic numbers.
To work around PR misc/54886 bump the threshold for a tmpfs /tmp mount
up to 256 MB.
When retrying sets during extraction, reset the relevant statistics
to avoid counting retried sets multiple times.
Reported by kim.
Fix support for non-512-byte/sector disks again after I broke it when
introducing the abstract partition backends.
Use a few strlcpy() instead of strncpy() for network ioctl structs.
We seem to have no formal documentation stating the various
char if*_name[IFNAMSIZ]; /* if name, e.g. "en0" */
elements in ioctls are nul terminated, but the peanut gallery claims
it is so - and at least half of the code in-tree touching them agrees.
Too much disklabel magic happening in the kernel - to compensate force
MBR first when trying to identify the existing partitioning scheme of
a disk.
 1.5.2.1 18-Aug-2019  msaitoh Pull up following revision(s) (requested by martin in ticket #77):
usr.sbin/sysinst/arch/sandpoint/md.c: revision 1.6
usr.sbin/sysinst/arch/playstation2/md.c: revision 1.6
usr.sbin/sysinst/arch/evbppc/md.c: revision 1.6
usr.sbin/sysinst/arch/hpcarm/md.c: revision 1.6
usr.sbin/sysinst/arch/zaurus/md.c: revision 1.6
usr.sbin/sysinst/arch/arc/md.c: revision 1.9
usr.sbin/sysinst/arch/hpcmips/md.c: revision 1.6
usr.sbin/sysinst/arch/bebox/md.c: revision 1.6
usr.sbin/sysinst/arch/hpcsh/md.c: revision 1.7
usr.sbin/sysinst/arch/landisk/md.c: revision 1.11
usr.sbin/sysinst/arch/prep/md.c: revision 1.9
usr.sbin/sysinst/arch/i386/md.c: revision 1.21
usr.sbin/sysinst/arch/evbmips/md.c: revision 1.6
usr.sbin/sysinst/arch/evbarm/md.c: revision 1.9
usr.sbin/sysinst/arch/cobalt/md.c: revision 1.9
usr.sbin/sysinst/arch/ofppc/md.c: revision 1.8
When we ask the user to select a partitioning scheme and they refuse
(that is: select "Exit" in the menu), abort installation.
 1.4 26-Apr-2025  tsutsui Remove obsolete MD 'PART_(ROOT|SWAP|BSD|RAW|USR|REST|FIRST_FREE)' defines.

Patch from Miod Vallat.
 1.3 02-Oct-2019  maya branches: 1.3.10;
Split out /rescue to its own set and adapt installers/images to add it.

This is meant to make updates safer: if something goes wrong with updating
base, we still have the old, standalone /rescue to recover from.
 1.2 18-Nov-2018  martin branches: 1.2.2;
More size estimate fixes
 1.1 26-Jul-2014  dholland branches: 1.1.2; 1.1.6; 1.1.26; 1.1.28;
Move sysinst sources to usr.sbin.

This commit only physically moves the sources - there are no other
changes, to maximize the probability that this will be treated as a
rename if we ever do manage to migrate away from CVS.

Moving sysinst has been discussed on and off for years and has two
goals: making it easier to work on sysinst, and also making sysinst
available on running systems for use installing chroots and VM images
and other such things. None of the latter is possible yet, but as they
say, one thing at a time.

Doing this now was approved in an impromptu fashion by mrg, riz,
riastradh, me, and groo.
 1.1.28.2 13-Apr-2020  martin Mostly merge changes from HEAD upto 20200411
 1.1.28.1 10-Jun-2019  christos Sync with HEAD
 1.1.26.1 26-Nov-2018  pgoyette Sync with HEAD, resolve a couple of conflicts
 1.1.6.2 20-Aug-2014  tls Rebase to HEAD as of a few days ago.
 1.1.6.1 26-Jul-2014  tls file md.h was added on branch tls-maxphys on 2014-08-20 00:05:18 +0000
 1.1.2.2 10-Aug-2014  tls Rebase.
 1.1.2.1 26-Jul-2014  tls file md.h was added on branch tls-earlyentropy on 2014-08-10 07:00:28 +0000
 1.2.2.1 17-Nov-2019  martin Pull up following revision(s) (requested by maya in ticket #435):

distrib/sets/maketars: revision 1.90
usr.sbin/sysinst/arch/playstation2/md.h: revision 1.2
usr.sbin/sysinst/arch/sandpoint/md.h: revision 1.3
usr.sbin/sysinst/arch/evbppc/md.h: revision 1.3
usr.sbin/sysinst/arch/hpcarm/md.h: revision 1.3
usr.sbin/sysinst/arch/mvme68k/md.h: revision 1.3
distrib/sun3/MakeInstTape: revision 1.3
usr.sbin/sysinst/util.c: revision 1.33
distrib/sets/lists/rescue/mi: revision 1.1
distrib/sets/lists/base/rescue.sun2: file removal
usr.sbin/sysinst/arch/zaurus/md.h: revision 1.3
distrib/sets/lists/base/rescue.ad.m68k.shl: file removal
distrib/sets/regpkgset: revision 1.13
usr.sbin/sysinst/arch/i386/md.h: revision 1.7
distrib/sets/lists/base/rescue.sparc: file removal
distrib/notes/mvme68k/xfer: revision 1.19
distrib/sets/sets.subr: revision 1.187
distrib/common/bootimage/Makefile.bootimage: revision 1.22
usr.sbin/sysinst/msg.mi.de: revision 1.16
usr.sbin/sysinst/arch/atari/md.h: revision 1.3
rescue/Makefile: revision 1.38
distrib/sets/lists/base/rescue.macppc: file removal
usr.sbin/sysinst/arch/arc/md.h: revision 1.4
distrib/miniroot/install.sub: revision 1.49
usr.sbin/sysinst/arch/acorn32/md.h: revision 1.3
usr.sbin/sysinst/arch/x68k/md.h: revision 1.3
usr.sbin/sysinst/arch/hpcmips/md.h: revision 1.3
usr.sbin/sysinst/arch/bebox/md.h: revision 1.3
usr.sbin/sysinst/arch/hpcsh/md.h: revision 1.2
distrib/sets/lists/base/rescue.shark: file removal
usr.sbin/sysinst/arch/emips/md.h: revision 1.5
distrib/utils/embedded/mkimage: revision 1.70
usr.sbin/sysinst/arch/shark/md.h: revision 1.3
usr.sbin/sysinst/arch/pmax/md.h: revision 1.4
usr.sbin/sysinst/arch/amiga/md.h: revision 1.4
usr.sbin/sysinst/arch/hp300/md.h: revision 1.5
rescue/list.ldconfig: file removal
distrib/sets/lists/base/rescue.ad.m68k: file removal
usr.sbin/sysinst/arch/prep/md.h: revision 1.4
usr.sbin/sysinst/arch/cats/md.h: revision 1.4
usr.sbin/sysinst/arch/amd64/md.h: revision 1.7
usr.sbin/sysinst/msg.mi.es: revision 1.17
usr.sbin/sysinst/msg.mi.fr: revision 1.20
usr.sbin/sysinst/msg.mi.pl: revision 1.23
distrib/sets/lists/base/rescue.i386: file removal
usr.sbin/sysinst/arch/evbarm/md.h: revision 1.3
distrib/sets/lists/base/rescue.vax: file removal
distrib/amd64/uefi-installimage/Makefile.bootimage: revision 1.12
usr.sbin/sysinst/arch/evbmips/md.h: revision 1.3
distrib/sets/lists/base/rescue.mi: file removal
distrib/sets/README: revision 1.14
usr.sbin/sysinst/arch/sgimips/md.h: revision 1.4
distrib/sets/lists/base/rescue.sparc64: file removal
distrib/sets/lists/base/rescue.mi: revision 1.45
distrib/sets/lists/base/rescue.mi: revision 1.46
usr.sbin/sysinst/arch/ofppc/md.h: revision 1.4
usr.sbin/sysinst/arch/cobalt/md.h: revision 1.4
distrib/sets/lists/base/rescue.ad.arm: file removal
distrib/sets/lists/base/rescue.mac68k: file removal
usr.sbin/sysinst/defs.h: revision 1.45
usr.sbin/sysinst/arch/landisk/md.h: revision 1.2
distrib/notes/atari/xfer: revision 1.17
etc/Makefile: revision 1.441
usr.sbin/sysinst/msg.mi.en: revision 1.22
distrib/sun2/MakeInstTape: revision 1.2

Remove ldconfig from /rescue, and mark it MI obsolete.
- ldconfig in netbsd refers to a.out binaries only. We've been ELF-only
since NetBSD 2.0 or so, and having it in /rescue served little purpose
even before that, as /rescue is standalone.
- Using MI obsolete to avoid the need for MD set lists where ldconfig
is the sole entry

Mark /rescue/edlabel as MI-obsolete, so we can remove all remaining MD
rescue set list files.

Split out /rescue to its own set and adapt installers/images to add it.

This is meant to make updates safer: if something goes wrong with updating
base, we still have the old, standalone /rescue to recover from.
 1.3.10.1 02-Aug-2025  perseant Sync with HEAD
 1.1 26-Jul-2014  dholland branches: 1.1.2; 1.1.6;
Move sysinst sources to usr.sbin.

This commit only physically moves the sources - there are no other
changes, to maximize the probability that this will be treated as a
rename if we ever do manage to migrate away from CVS.

Moving sysinst has been discussed on and off for years and has two
goals: making it easier to work on sysinst, and also making sysinst
available on running systems for use installing chroots and VM images
and other such things. None of the latter is possible yet, but as they
say, one thing at a time.

Doing this now was approved in an impromptu fashion by mrg, riz,
riastradh, me, and groo.
 1.1.6.2 20-Aug-2014  tls Rebase to HEAD as of a few days ago.
 1.1.6.1 26-Jul-2014  tls file menus.md.en was added on branch tls-maxphys on 2014-08-20 00:05:18 +0000
 1.1.2.2 10-Aug-2014  tls Rebase.
 1.1.2.1 26-Jul-2014  tls file menus.md.en was added on branch tls-earlyentropy on 2014-08-10 07:00:28 +0000
 1.1 26-Jul-2014  dholland branches: 1.1.2; 1.1.6;
Move sysinst sources to usr.sbin.

This commit only physically moves the sources - there are no other
changes, to maximize the probability that this will be treated as a
rename if we ever do manage to migrate away from CVS.

Moving sysinst has been discussed on and off for years and has two
goals: making it easier to work on sysinst, and also making sysinst
available on running systems for use installing chroots and VM images
and other such things. None of the latter is possible yet, but as they
say, one thing at a time.

Doing this now was approved in an impromptu fashion by mrg, riz,
riastradh, me, and groo.
 1.1.6.2 20-Aug-2014  tls Rebase to HEAD as of a few days ago.
 1.1.6.1 26-Jul-2014  tls file menus.md.es was added on branch tls-maxphys on 2014-08-20 00:05:18 +0000
 1.1.2.2 10-Aug-2014  tls Rebase.
 1.1.2.1 26-Jul-2014  tls file menus.md.es was added on branch tls-earlyentropy on 2014-08-10 07:00:28 +0000
 1.1 26-Jul-2014  dholland branches: 1.1.2; 1.1.6;
Move sysinst sources to usr.sbin.

This commit only physically moves the sources - there are no other
changes, to maximize the probability that this will be treated as a
rename if we ever do manage to migrate away from CVS.

Moving sysinst has been discussed on and off for years and has two
goals: making it easier to work on sysinst, and also making sysinst
available on running systems for use installing chroots and VM images
and other such things. None of the latter is possible yet, but as they
say, one thing at a time.

Doing this now was approved in an impromptu fashion by mrg, riz,
riastradh, me, and groo.
 1.1.6.2 20-Aug-2014  tls Rebase to HEAD as of a few days ago.
 1.1.6.1 26-Jul-2014  tls file menus.md.fr was added on branch tls-maxphys on 2014-08-20 00:05:18 +0000
 1.1.2.2 10-Aug-2014  tls Rebase.
 1.1.2.1 26-Jul-2014  tls file menus.md.fr was added on branch tls-earlyentropy on 2014-08-10 07:00:28 +0000
 1.1 26-Jul-2014  dholland branches: 1.1.2; 1.1.6;
Move sysinst sources to usr.sbin.

This commit only physically moves the sources - there are no other
changes, to maximize the probability that this will be treated as a
rename if we ever do manage to migrate away from CVS.

Moving sysinst has been discussed on and off for years and has two
goals: making it easier to work on sysinst, and also making sysinst
available on running systems for use installing chroots and VM images
and other such things. None of the latter is possible yet, but as they
say, one thing at a time.

Doing this now was approved in an impromptu fashion by mrg, riz,
riastradh, me, and groo.
 1.1.6.2 20-Aug-2014  tls Rebase to HEAD as of a few days ago.
 1.1.6.1 26-Jul-2014  tls file menus.md.pl was added on branch tls-maxphys on 2014-08-20 00:05:18 +0000
 1.1.2.2 10-Aug-2014  tls Rebase.
 1.1.2.1 26-Jul-2014  tls file menus.md.pl was added on branch tls-earlyentropy on 2014-08-10 07:00:28 +0000
 1.1 26-Jul-2014  dholland branches: 1.1.2; 1.1.6;
Move sysinst sources to usr.sbin.

This commit only physically moves the sources - there are no other
changes, to maximize the probability that this will be treated as a
rename if we ever do manage to migrate away from CVS.

Moving sysinst has been discussed on and off for years and has two
goals: making it easier to work on sysinst, and also making sysinst
available on running systems for use installing chroots and VM images
and other such things. None of the latter is possible yet, but as they
say, one thing at a time.

Doing this now was approved in an impromptu fashion by mrg, riz,
riastradh, me, and groo.
 1.1.6.2 20-Aug-2014  tls Rebase to HEAD as of a few days ago.
 1.1.6.1 26-Jul-2014  tls file msg.md.de was added on branch tls-maxphys on 2014-08-20 00:05:18 +0000
 1.1.2.2 10-Aug-2014  tls Rebase.
 1.1.2.1 26-Jul-2014  tls file msg.md.de was added on branch tls-earlyentropy on 2014-08-10 07:00:28 +0000
 1.1 26-Jul-2014  dholland branches: 1.1.2; 1.1.6;
Move sysinst sources to usr.sbin.

This commit only physically moves the sources - there are no other
changes, to maximize the probability that this will be treated as a
rename if we ever do manage to migrate away from CVS.

Moving sysinst has been discussed on and off for years and has two
goals: making it easier to work on sysinst, and also making sysinst
available on running systems for use installing chroots and VM images
and other such things. None of the latter is possible yet, but as they
say, one thing at a time.

Doing this now was approved in an impromptu fashion by mrg, riz,
riastradh, me, and groo.
 1.1.6.2 20-Aug-2014  tls Rebase to HEAD as of a few days ago.
 1.1.6.1 26-Jul-2014  tls file msg.md.en was added on branch tls-maxphys on 2014-08-20 00:05:18 +0000
 1.1.2.2 10-Aug-2014  tls Rebase.
 1.1.2.1 26-Jul-2014  tls file msg.md.en was added on branch tls-earlyentropy on 2014-08-10 07:00:28 +0000
 1.1 26-Jul-2014  dholland branches: 1.1.2; 1.1.6;
Move sysinst sources to usr.sbin.

This commit only physically moves the sources - there are no other
changes, to maximize the probability that this will be treated as a
rename if we ever do manage to migrate away from CVS.

Moving sysinst has been discussed on and off for years and has two
goals: making it easier to work on sysinst, and also making sysinst
available on running systems for use installing chroots and VM images
and other such things. None of the latter is possible yet, but as they
say, one thing at a time.

Doing this now was approved in an impromptu fashion by mrg, riz,
riastradh, me, and groo.
 1.1.6.2 20-Aug-2014  tls Rebase to HEAD as of a few days ago.
 1.1.6.1 26-Jul-2014  tls file msg.md.es was added on branch tls-maxphys on 2014-08-20 00:05:18 +0000
 1.1.2.2 10-Aug-2014  tls Rebase.
 1.1.2.1 26-Jul-2014  tls file msg.md.es was added on branch tls-earlyentropy on 2014-08-10 07:00:28 +0000
 1.1 26-Jul-2014  dholland branches: 1.1.2; 1.1.6;
Move sysinst sources to usr.sbin.

This commit only physically moves the sources - there are no other
changes, to maximize the probability that this will be treated as a
rename if we ever do manage to migrate away from CVS.

Moving sysinst has been discussed on and off for years and has two
goals: making it easier to work on sysinst, and also making sysinst
available on running systems for use installing chroots and VM images
and other such things. None of the latter is possible yet, but as they
say, one thing at a time.

Doing this now was approved in an impromptu fashion by mrg, riz,
riastradh, me, and groo.
 1.1.6.2 20-Aug-2014  tls Rebase to HEAD as of a few days ago.
 1.1.6.1 26-Jul-2014  tls file msg.md.fr was added on branch tls-maxphys on 2014-08-20 00:05:18 +0000
 1.1.2.2 10-Aug-2014  tls Rebase.
 1.1.2.1 26-Jul-2014  tls file msg.md.fr was added on branch tls-earlyentropy on 2014-08-10 07:00:28 +0000
 1.1 26-Jul-2014  dholland branches: 1.1.2; 1.1.6;
Move sysinst sources to usr.sbin.

This commit only physically moves the sources - there are no other
changes, to maximize the probability that this will be treated as a
rename if we ever do manage to migrate away from CVS.

Moving sysinst has been discussed on and off for years and has two
goals: making it easier to work on sysinst, and also making sysinst
available on running systems for use installing chroots and VM images
and other such things. None of the latter is possible yet, but as they
say, one thing at a time.

Doing this now was approved in an impromptu fashion by mrg, riz,
riastradh, me, and groo.
 1.1.6.2 20-Aug-2014  tls Rebase to HEAD as of a few days ago.
 1.1.6.1 26-Jul-2014  tls file msg.md.pl was added on branch tls-maxphys on 2014-08-20 00:05:18 +0000
 1.1.2.2 10-Aug-2014  tls Rebase.
 1.1.2.1 26-Jul-2014  tls file msg.md.pl was added on branch tls-earlyentropy on 2014-08-10 07:00:28 +0000

RSS XML Feed