Up to [cvs.NetBSD.org] / src / usr.sbin / sysinst
Request diff between arbitrary revisions
Keyword substitution: kv
Default branch: MAIN
Mostly merge changes from HEAD upto 20200411
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.
Fix support for non-512-byte/sector disks again after I broke it when introducing the abstract partition backends.
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.
Rebase to HEAD as of a few days ago.
Rebase.
file sizemultname.c was added on branch tls-maxphys on 2014-08-20 00:05:14 +0000
file sizemultname.c was added on branch tls-earlyentropy on 2014-08-10 07:00:24 +0000
(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.
Move sysinst sources to usr.sbin. This commit only physically moves the sources - there are no other changes, to maximize the probability that this will be treated as a rename if we ever do manage to migrate away from CVS. Moving sysinst has been discussed on and off for years and has two goals: making it easier to work on sysinst, and also making sysinst available on running systems for use installing chroots and VM images and other such things. None of the latter is possible yet, but as they say, one thing at a time. Doing this now was approved in an impromptu fashion by mrg, riz, riastradh, me, and groo.