Commit Graph

36 Commits

Author SHA1 Message Date
fvdl a5d73e00eb Rework the MBR code, and some of the labelling code.
* Use structures, not 2-dimensional arrays..
	* Use the DIOCGDEFLABEL ioctl to get the disk information,
	  to avoid confusion with (older) labels.
	* Don't ever call fdisk for partitioning. This was the
	  source of much confusion.
	* For the i386, use the BIOS geometry information passed by
	  the bootblocks.

Lots of things left to do, but it's a start.
1999-03-31 00:44:48 +00:00
kleink 270c5e6806 Typo. 1999-03-28 17:12:12 +00:00
ender 5a333883e0 Fix a typo. 1999-03-13 23:17:04 +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
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
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
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
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 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
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
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
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
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 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 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 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 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
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 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
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
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 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
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
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
phil 345ae6924d Recover more bits lost in my earlier blunder. Get update working.
Other minor tweeks.
1997-10-22 15:28:33 +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 fd205c739f Try to recover from a mistake of mine where I lost bits. 1997-10-17 22:17:05 +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