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

RSS XML Feed