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

RSS XML Feed