Up to [cvs.NetBSD.org] / src / usr.sbin / sysinst
Request diff between arbitrary revisions
Keyword substitution: kv
Default branch: MAIN
cosmetics: fix indentation
Preparations to make the extended partitioning during normal installation more usefull - pass an optional install_description to partman().
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
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.
When upgrading, update the boot code post extraction from the updated target file system.
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).
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.
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
Remove dead code
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).
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.
Ooops, backout previous - twice the entropy saving is not needed. Instead slightly improve the (slightly) hidden other code that already did it.
At the end of a new installation save entropy.
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.
Remove useless calls to get_ramsize() - return value is ignored and the function has no side effects.
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.
Make cloning support optional, so we can save some space on very small install media.
Add options to the various partitioning stages that allow cloning of alien partitions (optionally including data).
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.
Oops, avoid double free.
Fix some memory leaks in error paths
For upgrade / re-install allow the currently running system as a target in the "disk" selection.
Use _fmt_ msg_ methods when formats are needed.
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.
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.
Sync with HEAD
Ssync with HEAD
Add NOPARTMAN compile-time option, which drops extended partitioning support provided by partman.c. It reduces, e.g., about 30KB for crunched binary in atari install floppy. OK christos
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
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.
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.
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.
Rebase to HEAD as of a few days ago.
Rebase.
file install.c was added on branch tls-maxphys on 2014-08-20 00:05:13 +0000
file install.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.