Commit Graph

344 Commits

Author SHA1 Message Date
he 2efafeabaa Add note about /usr/include/machine and e.g. /usr/include/i386 on upgrade. 1999-03-19 15:44:59 +00:00
perry 0547e6d3b2 URLs can't safely contain certain characters unless they are %XX hex
encoded. This means certain passwords, usernames, etc., will not work
with "ftp ftp://...."

This code, submitted by Alan Barrett <apb@iafrica.com>, fixes this by
hex encoding unsafe strings in a clean fashion. This should close a
couple of outstanding PRs. Thanks Alan!
1999-03-19 14:49:07 +00:00
simonb 826dd9708b Add "Set root's shell and password." 1999-03-17 12:42:42 +00:00
fvdl a4ca20e23e Start cleaning up geometry code by storing the disk geometry in a structure
with proper names, not an integer array with is numerically indexed.
1999-03-14 14:19:05 +00:00
ender 5a333883e0 Fix a typo. 1999-03-13 23:17:04 +00:00
marc a08745a0e8 if exec fails, perror() and _exit(). exit() is no good, because if
the child runs the atexit cleanup() function, the filesystems get
unmounted and things lose.
1999-03-11 16:48:27 +00:00
he 1a36836b8e If TIOCGWINSIZE returns 0 x 0, default to 80 x 24 instead of crashing. 1999-03-09 19:30:00 +00:00
garbled c6d6153ab6 Found another case of shell redirection in a run_prog. Tidy it up with
do_system, and appropriate logging calls.
1999-03-08 19:42:30 +00:00
lukem dcab0210a0 convert from NOxxx= to MKxxx=no.
include <bsd.own.mk> if testing a MKxxx variable.
1999-02-13 02:54:17 +00:00
he ff15f486fc Move extern declaration of do_system() from run.c to defs.h, used by i386/md.c 1999-02-01 14:08:35 +00:00
garbled ed77015dc8 When special casing these commands with do_system, remember to add
manual logging and scripting calls, so everything is recorded in it's
proper location.
1999-01-25 23:55:10 +00:00
garbled 851ee9e397 1) Remove all vestiges of tar from src/distrib. Use pax and appropriate
commandlines for all tar operations.  (work supplied by Matt Green)
2) Update arch/*/md.c to deal with new sysinst/run.c.  Special case
anything that needs to do a redirect or a pipe.
3) #if 0 some unused code in target.c. This code will need to be updated,
or special cased with do_system.

Big thank you to Matt for all his work on this.
1999-01-25 23:34:20 +00:00
garbled 5a277f5dfd Fix thinko. Thanks to mrg. 1999-01-23 15:54:31 +00:00
garbled 10218daeef Correct some oversights in the sysinst conversion. arch/alpha/md.c and
others allready had these fixes.
1999-01-23 06:19:17 +00:00
garbled 232877f475 Forgot to check this one file into the tree with sysinst. 1999-01-23 06:11:51 +00:00
tsubai da7b796faf Uncomment X11 stuff. 1999-01-21 08:55:40 +00:00
garbled 37a95fd205 Oops.. missed an external declaration in the merge.. compiles now. ;) 1999-01-21 08:13:02 +00:00
garbled 865c31ac7b This change includes the following:
Scripting and logging functionality for sysinst.
Child programs are run in a "display window" so you can actually see what
	they did before the screen flashes back and you loose it all.
Lots of curses fixups.  Removed nasty endwins that mangled the tty upon
	rentry.
Change the yes/no box to accept Y or N, and not require cursor motion to
	decide one or the other.
Perform curses redraws when doing things that could cause the kernel to
	spew printfs onto your screen.
1999-01-21 08:02:17 +00:00
tron 25e26cd4d4 NetBSD-current uses 169 as MBR partition ID, not 165.
Fixes PR install/6737 by Soren S. Jorvang.
1999-01-11 23:23:28 +00:00
simonb 309b01ee4b Add handling raid's as well 1999-01-10 00:52:33 +00:00
simonb 9e61ed141a Add handling ccd's 1999-01-09 12:58:03 +00:00
simonb b520d1bbc1 s/sprintf/snprintf/ 1998-12-16 22:35:26 +00:00
ragge 42b291e36f Sysinst support for vax. 1998-11-30 22:36:00 +00:00
bouyer 07b6364862 A few line overflow fixes, for 1.3.3. 1998-11-25 12:50:54 +00:00
sakamoto 4f70b04b16 Add bebox install floppy and sysinst files. 1998-11-19 08:58:02 +00:00
simonb 4a17f9c066 Remove comment saying a translation is needed - it's there! 1998-11-18 02:06:48 +00:00
bouyer cc52aa9190 Sync with msg.mi.eng. 1998-11-16 12:49:09 +00:00
simonb af44a7fb8d Add a missing "doingwhat" reason for a re-install of sets.
NOTE:  msg.mi.fr needs a French to Englist translation marked by the XXX
comment.
1998-11-16 02:28:13 +00:00
bouyer e45d95cb56 Make the warning about whole-disk installation less ambigous. 1998-11-11 17:58:42 +00:00
bouyer fa7460bdff Sync with menus.md.eng 1.15, msg.md.eng 1.7 1998-11-11 16:04:41 +00:00
bouyer d9605b4cef Translation of recently-added messages, from Stephane Engel. 1998-11-10 15:06:29 +00:00
jonathan 9e93af392d Handle ifconfig "media: ethernet manual" output for devices with
non-soft-settable media.  Treat that as if there was no media output.

Use a supplied media-string of "<null>" or "<default>" or synonyms to
avoid passing explicit media flags onto ifconfig.
1998-11-09 07:56:11 +00:00
jonathan 6ad9b1b1ef UI safety: change order of menu entries in BSD disklabel-editing menu,
so that the default option is to change a partition entry, rather than
proceed.  (The change-parittion menu has an option to quit.)
1998-11-08 04:42:21 +00:00
jonathan 9f856c8207 Fix sneezo during commit. 1998-11-08 02:56:27 +00:00
jonathan d325644fcd Fix thinko in previous commit (spelling mistake in argument name). 1998-11-08 02:55:07 +00:00
jonathan 39a8d7790a Use MI function label.c:savenewlabel() in MD code to to save labels,
now that cut-and-paste errors are resolved and MD changes unified.
Postponed for i386, pmax until 1.3.3 frozen.
1998-11-08 02:11:23 +00:00
jonathan 8b4f18eb50 Pull up change from arm32 version: only copy disktab.preinstall if not DEBUG.
Pull up rev 1.3 from arch/sparc/md.c version:
    add a "ta=4.2BSD" to disktab. fixing choosing X sets to install.
1998-11-08 02:06:27 +00:00
jonathan bdc004ebc2 Fix lossage from overly-aggressie undoing of i386 'd' partition lossage:
alpha, sparc, ppc md.c files had disktab string ":sd#.." to save
disklabel sector-size, when they really need ":se#..."
(Can now make this MI.)
1998-11-08 01:45:45 +00:00
jonathan 82e31c8f5a Change `layout' message to explicitly say that here, partitions are
being defined in the BSD disklabel (not the MBR).
1998-11-07 22:57:37 +00:00
jonathan 29dce06a1a Explain that this menu lets the user choose partition-size units for
either BSD disklabel partitions, or (on some ports) for MBR slices, too.

Note that ZBR disks make cyinder alignment rather academic.
1998-11-07 22:04:19 +00:00
jonathan 1823e2d762 Add text to `whole disk'' vs `normal' menu that explains to the user
just what the hell sysinst is asking for.  (Why do we include the
`dangerously dedicated at all?)

Fix dangerous UI botch: make `normal' install the default, not `whole disk'.
1998-11-07 20:57:52 +00:00
jonathan 06079cb5e7 Expand messages prompting for BIOS geometry; say explicitly that it's
the BIOS that's being asked for, and that the real geometry is for
comparison only.
1998-11-07 20:17:28 +00:00
simonb df9541e68b Move all partitioning menus up by one, and add an entry (two for the
i386) so that the partition menu items match the selector letters).

XXX: All the .fr files need checking - look for the comment
	/* XXX: ENGLISH -> FRENCH */
1998-11-03 13:26:03 +00:00
jonathan 56b85b59ae The disk-scanning loop in get_disks() had a magic upper bound of 5.
Replace with MAX_DISKS (size of the array of disk info).

Fixes a problem where sysinst cannot install onto disks rz5 or greater
on pmaxes (which use old SCSI with wired-down scsi devices, even for
GENERIC kernels).
1998-10-31 03:54:44 +00:00
phil be6397e767 Implement a config file (-f file) option that overrides compiled in
defaults for things like rel (release number), ftp host, ftp prefix,
cdrom device, cdrom directory and others.
1998-10-25 19:15:04 +00:00
phil c0b49a1eac Make all menus scrollable by default so small screens won't have
problems.
1998-10-22 05:38:50 +00:00
phil 984947d5b9 Change how network interfaces are selected to allow for longer names,
e.g. epic0.  (Fixes PR 5778)
1998-10-14 05:27:52 +00:00
erh b3edb8ba74 Add braces to make egcs happy. 1998-10-12 17:00:43 +00:00
mark 0220416488 Miscellaneous maintainance and debugging.
Fix several size / offset calculation errors.
Make some of the default partition sizes more realistic.
1998-10-06 01:43:12 +00:00
mark 0402c9b7d8 Add T_FILECORE to the DTYPE enum.
Add filecore to the fstype array.
1998-10-06 01:37:17 +00:00
phil 51fbe5aee3 Fix class c netmask. 1998-09-17 16:45:36 +00:00
phil 5807dd11b1 Comments added/modified to clarify how txtwalk works. 1998-09-17 05:57:28 +00:00
phil 3330188abd 1.3 has long since come and gone, update some entries, add a couple. 1998-09-17 04:11:54 +00:00
mrg a93789ab6a add a "ta=4.2BSD" to disktab. fixing choosing X sets to install. 1998-08-30 09:08:52 +00:00
perry e31adf91d8 bzero->memset 1998-08-10 02:23:45 +00:00
hubertf bc66f03729 /route/s/-f/flush/ 1998-08-05 07:44:58 +00:00
tsubai 04e0026f9b Add md part of sysinst. 1998-07-29 05:41:55 +00:00
rvb a3d43525ee Fix BIOS GEOMETRY menu 1998-07-21 14:53:36 +00:00
mrg 32f519716b - use an array MAXHOSTNAMELEN+1 size to hold hostnames
- ensure hostname from gethostname() is nul-terminated in all cases
- minor KNF
- use MAXHOSTNAMELEN over various other values/defines
- be safe will buffers that hold hostnames
1998-07-06 06:56:06 +00:00
mrg 58e5e70a16 remove bogus unnecessary "NetBSD-X.Y" directory from cdrom path; it will not exist for future cdroms 1998-06-22 12:18:52 +00:00
mrg d1b0d1b602 KNF. 1998-06-20 13:05:48 +00:00
mrg 3e6e1c5a04 KNF, and don't copy filesystem. 1998-06-20 12:46:00 +00:00
mrg 5725ca5157 initial sysinst support for the sparc, based on the alpha stuff. not heavily tested. 1998-06-06 05:34:00 +00:00
lukem 86d96336f3 spell successfully correctly 1998-06-02 14:14:46 +00:00
fvdl 4cefa17401 Forgot this in previous. 1998-05-15 15:19:25 +00:00
fvdl f998547470 Add MD cleanup function to do some thingd once the install is done.
Only implemented for the i386; behaviour for other ports is
unchanged. For the i386, make this function remove some extraneous
files in /, and frob rc.conf to have rc_configured=YES. The defaults
are reasonable, and it saves the user having to set TERM and mount
filesystems by hand in order to be able to edit /etc/rc.conf

(XXX not very clean, but it's a workaround to be more user-friendly
 for 1.3.2)

Also adapt a few messages slightly so they apply to both situations.
1998-05-15 15:12:29 +00:00
phil 8668166c18 Make sure fdisk gets told the proper BIOS geometry on every
execution of fdisk.  Otherwise we loose big time.  Should close
PR 5052.
1998-02-27 21:30:09 +00:00
phil 84c669fc44 Make the CDROM default path be .../NetBSD-<rel>/<machine>/binary/sets
as specified in release(7) for the ftp site.  This is because I'm
assuming that the CDROM would just be a copy of the ftp site minus
duplication.
1998-02-25 05:26:37 +00:00
jonathan 1483395dbe Move DOS BIOS-geometry and MBR-handling code to MI code for powerpc, arc:
* Split bios geometry and MBR partition editing code formerly in
    arch/i386/{md,fdisk}.c to mbr.c in mi  directory.
  * Leave /sbin/fdisk parsing/handling code in separate file,
    we may want to change it later. move to mi directory.
  * Create mbr.h with declarations for MBR/BIOS-geomotry code.
    #include "mbr.h" in  i386 md.h.
  * Use symbolic names for 386bsd and new NetBSD partition IDs.

Handle MBRs with both 386bsd and NetBSD partitions less stupidly.
1998-02-24 05:36:03 +00:00
jonathan 1cfa173f7c Add symbolic names for new NetBSD MBR partition ID and for Linux. 1998-02-24 04:32:22 +00:00
jonathan 0ed9642fe0 Add menu entries to md_distcustom for installing X11 sets
in menus.md.{eng,fr}, lifted verbatim from Alpha and pmax.
Give last split-floppy for each X11 set, for 1.3.

FIXME: if the number of floppies in any split set changes for 1.3.1,
syinst is hosed for 1.3.1. Same is true for any release: we can't
install from split sets if the count of floppies doesn't match
the precompiled version.

The number of floppies in a split set should be computed dynamically
from a directory listing, or read from a config file in the split
directory.
1998-02-23 22:55:09 +00:00
phil eaeadf7187 Take 3! Added prototypes instead of including defs.h. Compiles now
cleanly both with sysinst and standalone away from sysinst.
1998-02-20 07:43:52 +00:00
jonathan 98b0f2b8ad * Prune default CD path from "/Release/NetBSD/NetBSD-" back to "/NetBSD-".
* Add cp_to_target() to  copy a file from current root, to an absolute
  path relative to target root.

* Clean up alpha, arm32, i386, pmax MD code: use cp_to_target()
  NB: Alpha uses target_expand() when calling installboot.
* Add tests for target == current root. Intended to support
  `upgrade/reinstall' to current root, either for testing or easier
  minor-release upgrades. Only tested on pmax.
1998-02-20 02:33:51 +00:00
jonathan 2ce5d64f35 Pull up fixes for coment typos, punctuation, and (partial,inconsistent) KNF
from sysinst/arch/alpha/md.c.
1998-02-20 01:53:59 +00:00
jonathan 317aef44f1 Undo the include cleanups of previous revision. Fixes missing
prototypes when compiling into sysinst, rather than standalone testing.
1998-02-20 01:40:53 +00:00
jonathan 95eae8964b Remove comment references to /mnt: some ports support upgrading while
running from the target root.
1998-02-20 00:37:17 +00:00
phil a7a3b90218 Clean up the includes, make it work as an independent program better,
add a loop in the main to factor all command line parameters.
1998-02-19 19:38:39 +00:00
phil a924a02bc1 Make the primes generation go to the true square root of parameter
max.  (Pointed out by jb@dilbert.apo.nmsu.edu (Jon Brinkmann) on
usenet.)
1998-02-19 18:37:58 +00:00
thorpej fee167dd96 Needs <time.h> 1998-02-09 07:34:16 +00:00
phil c39e6b7b4f Moved selection of distribution sets to before selection of distribution
medium.
1998-02-09 07:03:38 +00:00
phil 4b083bc3ac Ask for custom/full and select distribution files before selecting
distribution medium.  Makes ftp fetch only needed files.
1998-02-09 06:55:27 +00:00
jonathan b59abe7c80 Set hostname (via sethostname()) after configuring network.
Save hostname in /etc/myname when saving networkg config.
From Nathan J. Williams <nathanw@mit.edu> in PR bin/4781.
1998-02-07 10:28:02 +00:00
jonathan 005abca7c5 Fix typo in table of files to check for in target. Found by Phil Nelson. 1998-02-07 09:32:32 +00:00
thorpej bf64e85e53 XXX No xserver set for now. 1998-02-01 02:11:01 +00:00
thorpej 6aed8140af Oops, fix a few stray "arm32"s.. (Guess where I copied these files from? :-) 1998-01-31 22:30:09 +00:00
thorpej ff2548ba56 First-cut at Alpha support in sysinst. 1998-01-31 22:28:33 +00:00
perry 4a5428be69 RCS Id Police. 1998-01-09 18:56:42 +00:00
fvdl 9630119c6d * mount NFS directory to get the sets from read-only,
same for floppies (from Christoph Badura)
* allow user to run 'Configure network' multiple times, to correct errors
  for example.
* deal with network interfaces that need explicit media type selection
  (i.e. ask for it when it is needed, also store it in the generated
  /etc/ifconfig.blah file on the destination disk)
1997-12-26 01:58:44 +00:00
fvdl 0eecf02c79 Fix naming of split sets to be loaded from floppy. From Christoph Badura. 1997-12-25 17:54:41 +00:00
matthias 675f5874b0 - call bim to install the boot program on the disk
- define DISKLABEL_CMD to make sysinst label the disk
1997-12-25 09:10:48 +00:00
cjs a85a1c039c Initialise the array primes at run-time rather than compile time
so it's put in bss rather than data. Saves 38K or so. :-) (Well,
only 125 bytes or so after commpression.)
1997-12-20 23:47:02 +00:00
fvdl e139ac966d Be sure to clear the screen after the fscks in the re-install option. 1997-12-19 00:57:56 +00:00
fvdl 1188ad336b Copy a temporary termcap file onto the harddisk for sysinst's convenience.
Enables sysinst to be run from the harddisk itself as well (PCMCIA workaround).
1997-12-19 00:57:18 +00:00
fvdl 65295d9fb4 Fix typo that made label overlap check unreliable. 1997-12-18 11:54:11 +00:00
phil 9ebbc533c7 Make sure last extension of split files matches BETA release.
(misc .ai -> .aj)
1997-12-16 01:13:58 +00:00
bouyer 4f685d31cb Sync with .eng. 1997-12-15 13:19:47 +00:00
fvdl 71e91aafda Add option to check for BIOS < 1024 root partition size limit, and
enable the user to re-edit things in case it fails.
1997-12-15 00:43:57 +00:00
jonathan 3c0420c31a Commit change from Dec 6 discussion on current_users:
use example rc.conf lines for setting rc_configured.
1997-12-12 22:26:32 +00:00
fvdl 5325d6d716 Mark partition as 'set' when changing the type. 1997-12-11 02:02:22 +00:00
fvdl 385f01a1ad Mark partitions as 'set' when changing the type, otherwise the change
will get lost if you only change the type.
1997-12-11 01:36:22 +00:00
bouyer 36ddb1973c Fix some line overflow. 1997-12-10 10:38:15 +00:00
phil ead95231ed pc532 partitions and md stuff. 1997-12-10 04:36:19 +00:00
jonathan 00a23f52d7 Delete implemented TODO items from the for-1.3 list.
Note special-purpose delay after run_prog() for untarring sets.
1997-12-07 03:03:19 +00:00
bouyer 5423c09ec6 Sync with .eng versions + correct some spellings/wording. 1997-12-05 17:37:41 +00:00
phil 00b12cbbd6 Ping the right host. (From Matthias Pfaller.) 1997-12-05 17:19:48 +00:00
simonb b0b1d20a3c Change the tar command that copies the diskimage files to the target
disk to use reletive pathnames to stop the "removing /" warnings.
Fixes pr#4579.
1997-12-05 14:55:09 +00:00
simonb c483af0a08 Fix typo in partition overlap checking - the inner loop check for
boringpart used the outer loop variable.
1997-12-05 14:46:01 +00:00
jonathan 3722de06d9 Put shell quotes around FTP URLs in case of shell metachars in passwords.
From PR #4580.
1997-12-05 14:26:27 +00:00
jonathan d7afdff3d0 * Add main menu option to reinstall sets or install additional sets.
(like upgrade but without trying to save etc.

* Add option to setls0urce menu to look in an already-mounted (local)
  directory.  Change `local fs' option to say umounted local fs.

* Change extract_file() to check that a tarball actually exists
  and give an explicit non-curses warning if it doesn't. (see above.)

* GNU tar returns a successful status if its gunzip child dies.
  Add short sleep() after tar commands in case of undetected errors.

* Change set-source selection code (except FTP, floppy) to check
  that the mandatory set files (base.tgz, etc.tgz) exist
  in the selected directory.  If they don't, warn the user and
  prompt the user to  change the selected directory.
  Give the user the option to explicitly continue even if
  base.tgz or etc.tgz not found, just in case.

* Change extract_file() to keep count of set unpacks that succeeded
  or failed. (Unreliable, given the broken return status of gnu tar.)
  Warn the user if there are errors and abort the installation/upgrade
  if we find any.  Does at least catch Ctrl-C interrupts of unpacking.

* Make unwind_mounts() signal-safe.

* Sense of target_verify_* is broken. Replace with predicates that
  return 1 iff the file or directory exists.

* Fix upgrade tests for existing etc.old (see above) before saving
  target /etc as /etc.old.

* Other detail fixes.
1997-12-05 14:00:59 +00:00
simonb 424f55f4b5 Add a cleanup function (set with atexit()) that shuts down curses nicely
and unmounts any filesystems left mounted when sysinst exits under any
circumstances.
1997-12-05 13:38:59 +00:00
bouyer 33e8f8cecb Sync with msg.mi.eng + better translation in one place. 1997-12-04 16:57:56 +00:00
jonathan ead082ab43 tar.gz -> .tgz as per release(7).
Clarify English text of localfssource: it's for an un-mounted
local filesystem, not an already-mounted pathname.
1997-12-04 13:24:30 +00:00
jonathan 7bd6655894 Add check for overlapping partitions:
* Add `partinfo' type, for description of a single partition,
   so we can pass labels by reference..
 * Add label.c with label initialization, naive overlap-check code,
   and a UI entrypoint edit_and_check_label() which iterates through
   checking a label for overlaps, and if any, giving the user the choice of
   fixing them or punting back to the main menu.
 * Change return type of md_make_bsd_partitions from void to int.
   Return 0 if the partition has problems (or the user gave up on it)
   and 1 if the partition is completed and looks OK.
 * Change install() to check return value of md_make_bsd_partitions().
   If it returns zero,  print an `abort' message and return to main menu.
 * Add label.c to all ports' Makefile.

MD code tested on pmax and cut-and-pasted to other ports.
1997-12-04 11:27:56 +00:00
jonathan fc3fa7cd7f Implement TODO item to unwind target mounts on completion:
* Add mount_with_unwind() that adds mountpoint to a LIFO queue
    of  mountpoints to undo on error.   Use in target_mount().
  * Add unwind_mounts() which traverses the LIFO queue and unmounts
    filesystems, silently ignoring errors.
  * create toplevel() function which displays banner message and
    calls unwind_mounts().
  * change toplevel menu to call toplevel() instead of inline banner.

Where to do unwinds needs more thought.  Perhaps we should only unwind
if an upgrade or install appears unsuccessful, so after a successful
install, the target is mounted (e.g., for upgrading /etc/rc.conf).
1997-12-04 09:05:35 +00:00
jonathan 6266fb93be Quote disktab(5) entry name so that label names with spaces
(e.g., "bsd disk") work CVS:
1997-12-02 11:00:59 +00:00
jonathan 4b1dd00797 Fix target_already_root() check: is_active_rootpart() takes a
string like "sd0a", and compares it against mounted_rootpart(),
which returns a string like "/dev/sd0a". For now, prepend "/dev".
1997-12-02 03:02:29 +00:00
fvdl 0cd2d70c37 * Check for an existing MBR not by looking at the geometry, but by looking
at used partitions. fdisk may report the number of cylinders > 1024
  correctly if no translation is used.
* Print out the end of the partition as well as the size when editing things.
* Enable the user to specify the BIOS geometry if he/she wishes.
* Fix 1023 / 1024 mixup. The reason BIOSs will return 1023 is an old IBM
  convention to use the last cylinder as diagnostic cylinder. The user
  can still skip the last ('real') cylinder if specified.
* Make some messages more verbose.
1997-11-29 21:49:13 +00:00
bouyer ffd59152fd French version of the sysinst messages, contributed by Stephane Engel
<steph@Inox.darh.ensta.fr>. Just put LANG=fr in Makefile.inc to
use them.
1997-11-27 10:10:54 +00:00
bouyer f5fee9d6a1 French version of the sysinst messages, contributed by Stephane Engel
<steph@Inox.darh.ensta.fr>. Just put LANG=fr in Makefile.inc to
use them.
1997-11-27 10:10:05 +00:00
phil 1e785c32c4 Reworked partitioning issues for i386, closes PRs 4520, 4534, 4536.
Other tweeks to make install better.
1997-11-25 20:34:59 +00:00
thorpej 75dd009b1d Update for the lay-of-the-land as described in release(7). As such, move
all pathname-on-server related definitions to MI code, since they are now
defined to be consistent across all platforms.  Also, nuke the "rels" global,
since release numbers are now always specified in "long form", i.e. 1.3A
vs. 13A.
1997-11-25 06:53:07 +00:00
thorpej 01278747a2 Prompt for keypress after FTP failure, so we know what went wrong.
From Havard.Eidnes@runit.sintef.no, PR #4521.
1997-11-25 00:24:52 +00:00
simonb 33960f8371 Load defaults for hostname, IP address and netmask if these are already
configured.
1997-11-22 14:16:55 +00:00
simonb 6cf76648f3 Don't try to ping a nameserver or default router if not is specified. Also
don't build an /etc/resolv.conf if a nameserver is not specified.
Fixes PRs #4548 and #4539.
1997-11-22 13:52:45 +00:00
simonb e2b222f32d If not network interfaces are found, just return without cycling forever
with no valid choices.
Fixes PR#4542 from Stephane Engel.
1997-11-22 00:29:33 +00:00
simonb b80b4d1cd0 Catch SIGINT and do a endwin() to leave tty in a sane state. 1997-11-21 12:08:06 +00:00
simonb cd110ecf63 Use a default of 32MB for the root filesystem with a custom partition
layout.
1997-11-19 14:06:47 +00:00
simonb 2ddb44e7f3 Backout previous chance with distrib set location. The should be done
in a MI manner when we work exactly what that is...
1997-11-17 21:27:47 +00:00
simonb cd1152e9eb Change the tar command that copies the diskimage files to the target
disk to use reletive pathnames to stop the "removing /" warnings.
1997-11-16 12:53:07 +00:00
simonb 06f521afad Distribution sets are in ..../binary, not ..../binary/Tarfiles 1997-11-16 12:50:05 +00:00
simonb c8f66d4491 Use bootp or dhcp to get some network services? (hostname, domain
name, name servers...)
1997-11-15 11:09:45 +00:00
simonb b2ba0b82ff Fix typo in a comment. 1997-11-14 23:47:49 +00:00
simonb 5a662afa53 A few more ideas. Clean SIGINT handling, loading from mounted
filesystems and from maximum entropy - better error message handling
1997-11-14 09:32:24 +00:00
phil a4f785ec69 Fix va_start call, PR 4477. 1997-11-13 17:26:25 +00:00
simonb 0c8e3514d7 Reposition some menus (the "change a partition" and "change distribution
sets" menus) so that the bottom of the menu doesn't go below the 24th
line of the screen.
1997-11-13 04:23:39 +00:00
jonathan 35fa360c0b * Create /mnt2 before unpacking sets, in case it's not on install media.
* Create target /kern after creating target /etc/fstab entry for /kern.
* Check for more  files in target when done: /etc/{rc,rc.subr,conf}
* Clean up warning exerciser.
1997-11-13 03:06:44 +00:00
jonathan bf4782e7cf Rephrase intro text to mention sysinst by name, mention upgrades, and
to fit in 80 colums even during _ALPHA.
1997-11-13 02:44:34 +00:00
phil 4ec8d82726 Clear up confusion of extract_dist() extract directory source. New var
ext_dir that is absolute directory name of where files are located to
extract.  All setup routines must set that directory name correctly.
Make target.c compile if DEBUG is set.
1997-11-11 00:43:31 +00:00
jonathan 9f8db6cd26 Add ideas from Simon Burge.
Mark things currently in progress, but which won't make it for today's
review, as `to do for release'.
1997-11-10 17:11:19 +00:00
jonathan 61531e7b2d fix typo ("/netsbd"). Use target call to copy /tmp/.hdprofile to target root. 1997-11-10 08:16:21 +00:00
jonathan f3e413c744 Only duplicate /install.usr into the target /usr if we /install.usr exists. 1997-11-10 06:08:55 +00:00
jonathan 8f4cc24742 Change dist_list[] order in all md.h files to unpack `base' before `etc'. 1997-11-10 03:57:00 +00:00
jonathan 35c15567d3 Better, more correct pipeline for usr/bin files, from Simon Burge. 1997-11-10 01:52:46 +00:00
jonathan b1def2c4bb Workaround for MI code running "/usr/bin/tar".
If installing from a pmax diskimage as both current root and target root,
the diskimage /usr/bin/tar is hidden underneath the target /usr mountpoint
when it's time to untar distribution files. From a comment in the change:

   Make sure any binaries in a diskimage /usrbin get copied
   into the current root's /usr/bin. (may be same as target /usr/bin.)
   The rest of sysinst uses /usr/bin/{tar,ftp,chgrp}.
   We cannot ship those in /usr/bin, because if we did
   an install with target root == current root, they'd
   be be hidden under the  target's /usr filesystem.

Requires updated diskimage build script which populates /usrbin with
tar, gzip, gunzip, ftp, and chgrp (all statically linked.)
1997-11-10 01:07:12 +00:00
phil 0e4140c713 - lower swap size for smaller systems
- fix bug in custom partition sizes that made huge swap partition defaults
1997-11-09 16:07:56 +00:00
phil 5337c61bc4 -TODO: Remove names as they were source name rather than names of who should
do it.
-change install confirmation message to outline install process
-move english print text into msg.mi.eng.
1997-11-09 15:54:15 +00:00
jonathan b3da2a1b88 Fix target prefixing to handle both root-in-swap (traditional miniroot)
and current-root-is-target-root (pmax diskimage.

 * Add code to check disk names (e.g., "sd0") against the current
   kern.root_device  sysctl (whic  does *not* include a partition).

 * Add new function must_mount_root():
   check to see if it's the same device as the root.  If not,
   the current and target root partitions cannot overlap.
   If they do, do statfs() on "/", and return 1 iff we get back
   "root_device" as the mounted-on filesystem, otherwise zero.

* Call must_mount_root() right after the user specifies a disk as
  install/upgrade target, and  if it returns 1, print a message asking
  them to mount root, and abort.

*  Use statfs("/")  mounted_from string to check if a disk partition
    (e.g., "sd0a") matches the current root.
1997-11-09 12:47:06 +00:00
jonathan 3b987e7971 * Add local definition of DISKLABEL_CMD to arch/i386/md.h.
* Remove default definition from disk.c.  Ports that don't support
  dislabels (e.g., amiga) can now just not define DISKLABEL_CMD.
1997-11-09 04:14:10 +00:00
mark b7fff31651 Initial commit of arm32 MD support for sysinst. 1997-11-08 02:17:16 +00:00
jonathan 5aa3e4ef06 reflect recent changes. Add more random ideas for features. 1997-11-07 14:12:27 +00:00
jonathan cb086002a9 Add annoyingly verbose comments to pmax md.c and md.h, to serve as
documentation for porting to more hosts.

Define DISKLABEL_CMD in MD code.
CAVS: ----------------------------------------------------------------------
1997-11-07 08:43:46 +00:00
jonathan 121b2869f7 * Add merge_etc() in upgrade.c. Copies /etc.old/fstab to /etc/fstab
as last step of upgrade, so /etc/fstab exists after reboot.

*  util.c: correct sense of test in sanity-check helper check_for().
   Change variable name to `found' for readability.
1997-11-06 09:02:36 +00:00
phil 483e07a88c - add TODO file for developer communication
- add user notification/response for errors during tar extraction
- twiddle ask_ynquestion()
1997-11-05 23:32:44 +00:00
mhitch f36de6c906 Use getrawpartition() rather than a constant when creating the new fstab. 1997-11-05 22:49:06 +00:00
mhitch 174cd0f5ef Add an option to install or upgrade from a local disk filesystem. Upgrade
still needs an option to specify the distribution sets from a filesystem
present in fstab.
Add "ados" to the list file recognized filesystems.
Increase label information table size to 16 to allow for 16 partitions.
1997-11-05 22:45:53 +00:00
phil 599cb5da3d Make extract_dist use the getit information. (Correct fix) 1997-11-05 07:48:52 +00:00
jonathan 77221dcc6a * Add code to run `test(1)' on target-root pathnames.
* Change find_disks: after mouting target root, check for
  /etc/fstab in target, and abort upgrade if not found.

* Change upgrade to check if the target root has /etc.old
  before renaming the target /etc -> /etc.old.  If found, abort.
  (may indicates a failed upgrade.)

*  Add save_etc(). saves target /etc as /etc.old, then copies back
   config files we might want during upgrade, in case target is current root.

* Fix logic that fscks and mounts disks. Use subroutines to
  fsck with a warning message and ok() on continue.  Same for doing mounts.

* Fix bug in extract_dist(). Do NOT do target prefixing on the dist_dir,
  since we didn't do target prefixing when mounting it.
  (At least, NFS does't.)

* Add function to  sanity-check target root.
   Call after upgrade/install  is done.

* Change MSG_realdir to print the strerror() of any errors.
  Change target_chdir() to check if chdir() returns -1 and return errno.

* Make sure /dev exists before cd'ing there and running MAKEDEV.

* Use target_fopen() and fprintf() to write network state to disk,
  to avoid inadvertent shell escapes.

* Fix silly typo in append_to_target_file. (maybe add shell quotes?)
1997-11-05 07:28:20 +00:00
phil 443efc08d3 Complete -r flag addition, info was static, now path names are runtime
constructed so -r flag makes a diffference in the distribution directory.
1997-11-05 01:23:06 +00:00
phil 9e973cbe0a - extract_dist now uses dist_list to know which to extract
- Added -r rel flag to change the release tag on the tar files.
- Added Usage
- Fixed a menu bug (missing exit)
- Made target_expand available to all functions to produce correct
	file names.
1997-11-04 01:39:03 +00:00
jonathan 409430d612 * Get current root device via sysctl(). Use it in target prefixing code.
Add more #ifdef DEBUG to target-prefixing.
* Fix niggle in creating a new resolv.conf: ctime()'s result ends in '\n',
  so don't include one after the %s for the timestamp.
* Change upgrade: add the same ``disk stuff done'' message used in install,
  so the user knows what's going to happen.
  (is a more tailored message useful?)
1997-11-03 09:47:00 +00:00
jonathan a5f389631d Make install() use msgc, not inline text, for the `disks done' text.
Expand that text, making clearer what sysinst is done, what kind of
errors to double-check for before proceeding, and what we're about to do next.
1997-11-03 06:18:08 +00:00
jonathan 3e74d705e2 * Clean up target.c to use a single consistent path-prefixing subroutine.
* Correct arg typo in mv_within_target_or_die().
* Add new path-prefixing entrypoints to fopen(), collect(), and do mounts.
* Use the above.  MI code is now clean of explicit references to /mnt.
* Lint: add `const' to collect()'s pathname arg.
  include <stdio.h> in factor.c, now that defs.h uses FILE*.
1997-11-03 02:38:41 +00:00
jonathan 2d4f71002f * Use getmaxpartitions() instead of explicit constant 8.
* Put newfs-and-mount code into a separate function, in case
  we want to support non-ffs filesystems.
* Check for the currently-mounted root, and don't newfs or mount it.
  Assumes md code will also avoid changing  that partition.
1997-11-03 00:04:53 +00:00
jonathan 17aa1054d7 Add more target_wrapper functions, to do
* renames of files from one pathname within the  target to another
    (e.g., mv_within_target_or_die("/etc", "/etc.old");
  *  check to see  if a partition name like "sd0a" is the current root
  *  Duplicate a file from the current root into the target root
     (for copying /netbsd from RAMdisk into the  target).
     A no-op if the root is the install target).
Start using these where appropriate.

Change net.c to avoid losing any information when updating network
config files: where possible, do appends to files that might have more
info than we got from the user (e.g., /etc/hosts.)

Where possible, add comment saying file was created/modified by sysinst.
1997-11-02 23:43:11 +00:00
phil 78a713a664 Add missing space in file name list. 1997-11-02 22:19:39 +00:00
jonathan 326ca1c813 Snip out common code that fetches and unpack setss in both upgrade()
and install().  Put it into a new function ``get_and_unpack_sets()''.
Fixes a typo (/sbin/umoount) in the upgrade() version.
1997-11-02 09:41:57 +00:00
jonathan 1b07f33492 copyright boilerplate (oops) 1997-11-02 08:30:39 +00:00
jonathan 2d01e4dc90 * Change sysinst MI code to use new install-target-filesystem access functions.
Add  target.c to Makefiles.

* Minor fixes:
  * Fix buglet in disks.c: make sure the target /etc exists before
    touching the target's /etc/fstab. (Could be even cleaner.)

   * If the target root is on /, don't copy our temporary /etc/resolv.conf
     to the target /etc/resolv.conf. (Could be even cleaner.)
   * Don't write the DNS hostname into /etc/defaultdomain.
     DNS  search paths are often not the same as YP group names.
1997-11-02 08:20:40 +00:00
jonathan cd7def2863 Use run_prog_or_continue to write bootblocks. pmaxes upgrade/install
from diskimage or NFS, so It's not absolutely fatal for the bootblock
update to fail.
1997-11-02 08:16:39 +00:00
jonathan a1d0279446 Add missing "xfont" set. Back in consistency with the message file.
(Why don't the curses menu for state and option match up horizontally?)
1997-11-02 08:15:02 +00:00
jonathan d9dbb24102 Add target path-prefixing code. Hide whethers the installation target
disk is at /mnt or / from the rest of sysinst.
1997-11-02 08:12:06 +00:00
jonathan 8315a3dff0 Add two variants of run_prog() for errors that aren't otherwise handled:
run_prog_or_die() -- aborts  if  system() returns an error.
   run_prog_or_continue() -- prints a  warning that installation may
	have failed but lets the user continue.  Suitable for running mkdir.
1997-11-02 03:45:27 +00:00
jonathan 57c4aa7f69 On pmax, write bootblocks to raw C partition, not A partition.
pmax still writes bootblocks with disklabel -B, not installboot.
1997-11-02 02:21:04 +00:00
jonathan 8f766ae320 Use max of (secperunit, (ntracks*secpertrack*ncyl)) when computing
RAW_PART for new labels, instead of just the latter.
Avoids shrinking RAW_PART label with pmax kernel-supplied default
labels or with already-labelled disks.

XXX Get real incore label, instead of default label instead (or as well)?
1997-11-01 23:44:23 +00:00
jonathan e1ba034070 Add xfont, xcontrib sets to compiled-in list. 1997-11-01 23:39:57 +00:00
phil 2cb88494a3 Tweeks to editing file system partitions, fix for PR4405, adding a method
to reselect the allocation multiplier while editing a disklabel.
1997-10-31 23:00:32 +00:00
jonathan a8e1a40058 Change MD label-edit code from i386 convention (d=whole disk, c=bsd slice),
to 4.3BSD-style (BSD uses whole disk, 8 partitions, c=RAW_PART, d=/usr).
Initialize variables appropriately.

May be a good starting template for sparc, vax, others?

Use symbolic defines to allow changing the partition used for /usr (to
add a /var partition, or for consistency with i386).
1997-10-31 22:21:19 +00:00
phil 0b0e2488e2 Add missing parameter to function call msg_display in menu editfsparts. 1997-10-31 17:15:10 +00:00
phil bc4e8c4cf1 Bug fixes for distribution sets from floppy, nfs and cdrom. 1997-10-30 00:03:32 +00:00
jonathan 945dbf344e Old pmax-specific changes from my tree:
* Use md_make_bsd_partitions() code lifted from the i386 version,
    modified to set D partition size.
  * Add the MD messages used by the above to sysisnt/arch/pmax/msg.md.eng.
  * Add X11 sets xbase, xserver, xcomp to arch/pmax/md.h.
1997-10-29 03:06:35 +00:00
phil 2db6dfbd84 Sync to current state. Tweeks for disk discovery, ... 1997-10-29 01:09:51 +00:00
phil d626993ee4 Sync with current state. Includes selection of distribution sets, tweeks
to disk detection, and floppy load.
1997-10-29 01:06:42 +00:00
jonathan 0c8d4acbc4 sysinst support for pmax, pass 0. 1997-10-27 03:34:32 +00:00
phil 345ae6924d Recover more bits lost in my earlier blunder. Get update working.
Other minor tweeks.
1997-10-22 15:28:33 +00:00
lukem e48b312006 use CPPFLAGS instead of CFLAGS, fix dependancies, add RCSID 1997-10-22 02:17:11 +00:00
phil 39725806db Floppy and cdrom distribution load. Other tweeks to improve installation
and upgrade.
1997-10-20 06:13:25 +00:00
phil 578886c5b8 Tweeks to make install better (take two)
- route messages to /dev/null
- remove // in some file names
- clear screen at proper times
1997-10-17 22:24:20 +00:00
phil fd205c739f Try to recover from a mistake of mine where I lost bits. 1997-10-17 22:17:05 +00:00
phil 88ca252c34 Tweeks to make install nicer. 1997-10-17 21:10:39 +00:00
phil 15274f8880 Update to current state. Install and upgrade nearly finished. Disk
discovery and geometry no longer use /kern/msgbuf.
1997-10-15 04:35:17 +00:00
phil 9f2b3143db Update to current state. 1997-10-07 04:01:29 +00:00
phil 7f55972efc Sync with current state. Fixes PR 4193. factor.c -- replce prime table with
code to generate needed primes.  Change copyright because prime table was only
code under previous copyright.
1997-10-01 05:04:24 +00:00
phil 35e522db38 Sync to current state. (detect ftp error, clean up directories ...) 1997-09-27 00:09:22 +00:00
phil af1d23bed3 Import of sysinst. Not quite ready, but other ports want access for
parallel development.  i386 version about 90% complete.  pc532 version
just started, other architectures later in coordination with portmasters.

This is a curses based, menu driven installation program.

Better error checking is needed.
1997-09-26 23:02:53 +00:00