Home | History | Annotate | Download | only in sysinst
History log of /src/usr.sbin/sysinst/util.c
RevisionDateAuthorComments
 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.

RSS XML Feed