Commit Graph

652 Commits

Author SHA1 Message Date
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
cjs
6a623f7271 Add <strings.h> where necessary, and remove support for tags. 1997-11-17 03:07:52 +00:00
cjs
f74fa34ebe Don't need real regexps on search. 1997-11-17 03:00:16 +00:00
cjs
963d5659fb Import of berkeley more(1) for use on install disks, because it's
considerably smaller than less(1), our replacement for it.
1997-11-17 02:37:15 +00:00
cjs
85527948f6 Add -DSMALL versions of ftp and sh for install disks. 1997-11-17 01:35:57 +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
07b16fa2db use CPPFLAGS instead of CFLAGS 1997-10-22 02:20:09 +00:00
lukem
e48b312006 use CPPFLAGS instead of CFLAGS, fix dependancies, add RCSID 1997-10-22 02:17:11 +00:00
lukem
ad6d6347fe use CPPFLAGS instead of CFLAGS 1997-10-22 02:11:56 +00:00
lukem
b885d5c559 use CPPFLAGS instead of CFLAGS 1997-10-22 01:42:36 +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
perry
945e8578f4 improve the net interface config stuff 1997-08-15 23:03:57 +00:00
phil
b218474661 In Config(): hostname.XXX -> ifconfig.XXX for new netstart. 1997-08-04 22:33:58 +00:00
perry
3148c0e429 Initial commit of new single floppy install/upgrade system. 1997-06-14 18:56:00 +00:00
gwr
02104984d9 Kill -D_ZLIB_PRIVATE 1997-05-13 23:14:11 +00:00
christos
d59123b39b - Makefile cleanups 1997-03-24 22:15:37 +00:00
gwr
a56800e144 The sources over in ../../../sbin/route/ now do what this wants,
so use those instead of the versions that were copied here.
1996-11-15 19:18:39 +00:00
jtc
34d9f1513d merge in 1.2 branch 1996-10-09 00:13:36 +00:00
gwr
a8791ca150 The hack to keep out deflate.c and related stuff belongs better here,
because that allows zlib to stay closer to the distributed version.
1996-09-24 20:40:10 +00:00
gwr
713bf81a5b lob off some more libc code 1996-09-13 18:57:38 +00:00
gwr
815a4d2d55 These files should be merged into src/sbin/route after the 1.2 release.
For now they can live here, so the sun3 ramdisk can use them.
1996-09-13 18:21:25 +00:00
gwr
a42e3b4603 This is a minimal zcat for installation media. 1996-09-12 20:24:00 +00:00
scottr
ea8086b766 Replace BSDSRCDIR use with relative paths. 1996-03-27 04:48:28 +00:00
gwr
d670c5bc9b add .NOTMAIN 1995-11-21 21:17:19 +00:00
gwr
5caec5db02 Put .PATH later so SRCDIR is defined 1995-10-13 18:35:17 +00:00
gwr
cba18d24c6 Minor cleanup 1995-10-13 18:10:06 +00:00
gwr
f75c79d821 Add some utilities all ports might use in a ramdisk root. 1995-10-08 23:08:46 +00:00