Commit Graph

54 Commits

Author SHA1 Message Date
John Baldwin
d61e43fe1e - Fix a bug in sysinstall related to mounting CD-ROMs. If mount(2) fails
with EBUSY and a cdrom is not mounted at /cdrom, sysinstall fails to
  treat it as an error and thinks that the disk mounted ok.  However, it
  doesn't find a cdrom.inf file so it complains.  Later when it tries to
  unmount the disk due to a mediaClose() umount(2) returns an error, and it
  never clears its internal mounted flag.  The fix here is to properly
  handle EBUSY as an error if there isn't a CD already mounted at /cdrom.
- Add a new CDROMInitQuiet variable that can be used to shut up the dialog
  box about the mount(2) system call failing when trying to mount a CD-ROM.
  This is used by the feature described below.
- When using a fixit CD, first try to see if we can mount the disc in the
  drive now and use it as a fixit CD.  If not, then prompt the user to
  insert the disc and try again.  If we do succeed on the first "silent"
  probe then we don't ask the user to eject the disk after leaving fixit
  mode.
- Add a simple file existence test to make sure that the disc that we mount
  really is a livefs disc.
- Explicitly switch back to ttyv0 when using the standard console after
  the fixit shell dies.  Previously this behavior worked accidentally
  because all the fixit modes popped up a dialog box which contained a
  hidden switch to ttyv0.

MFC after:	1 day
2005-03-02 22:27:22 +00:00
Yoshihiro Takahashi
0f8a77bf29 Check correct machine name. 2002-10-14 13:02:30 +00:00
David E. O'Brien
eec2e4bdde * Negative #if's are harder to read as they don't tell exactly what arch
something applies to.  So change #ifndef to an explicit list of defines.
* Treate sparc64 and ia64 as 64-bit platforms, which means larger roots.
* sparc64 should halt back to the firmware, not reset.
* sparc64 doesn't need to play MS-DOS/BIOS partition crap games.

Reviewed by:	jake
2002-10-11 22:30:09 +00:00
Murray Stokely
76ce87ffba Read the CD_VOLUME property from the cdrom.inf file and use it to
initialize the volume ID for the media device in use.
2002-04-13 12:44:18 +00:00
Murray Stokely
eda54d6828 Introduce the concept of previously mounted media to sysinstall.
This will now allow sysinstall to work properly if a FreeBSD CD/DVD is
already mounted as /cdrom, instead of just crapping out when it tries
to mount as /dist and gets EBUSY.

PR:		conf/28081
Tested by:	jhb
2001-09-05 02:30:50 +00:00
Nik Clayton
38363ccec2 Various changes to the messages so that they are now appropriate for both
CD and DVD releases of FreeBSD.
2001-06-27 17:48:43 +00:00
Jordan K. Hubbard
5e90bdab10 Remove the bogus check against "none" for release names (which
really doesn't make any sense, what was I smoking) and allow
the more canonical usage of "any" for either side of the comparison
for release name or architecture (meaning you can also set CD_VERSION=any
in a cdrom.inf file to cause sysinstall to always match it and likewise
with the architecture, if specified).

Sensibly suggested by:	Makoto MATSUSHITA <matusita@jp.FreeBSD.org>
2000-09-22 08:13:36 +00:00
Peter Wemm
97d92980a9 $Id$ -> $FreeBSD$ 1999-08-28 01:35:59 +00:00
Jordan K. Hubbard
b7f708e677 o Prevent alpha installs from grabbing x86 bits and vice-versa, at least
on CDs and FTP sites.

o Collapse some redundant code.

o Fix typo'd menu.

o Restrict searches properly to packages rather than categories.

o Small tweaks to signal handling.

All RELENG_3 candidates.
1999-05-15 14:34:22 +00:00
Jordan K. Hubbard
c80ac74f4b Replace old SAVE_USERCONFIG code with a customized version of Andrzej's
kget code.  Also collapse a redundant case in cdrom code.
1999-01-20 12:31:43 +00:00
Jordan K. Hubbard
8d8f2bab5a Collapse the "get" code substantially by combining common functions.
Also make mountpoint for each media type easier to change.
Also reshuffled some menus for easier usage.
1998-12-22 12:31:26 +00:00
Jordan K. Hubbard
c2245054e1 Use properties code. 1998-10-14 11:23:48 +00:00
Jordan K. Hubbard
0fc1c5c44a Catch more cases where the CDROM has been mounted. 1998-08-27 00:50:14 +00:00
Jordan K. Hubbard
9c5697dd4f MF22: various fixes for new XFree86 dist and cdrom warnings. 1998-07-21 06:44:42 +00:00
Jordan K. Hubbard
a8d70a4bb7 Adapt to new mount(2) argument syntax.
Submitted by:	bde
1998-01-16 15:07:55 +00:00
Jordan K. Hubbard
66b368e835 Make all this work under -current again.
Submitted-By: Chuck Robey <chuckr@glue.umd.edu>
1997-04-03 13:44:59 +00:00
Peter Wemm
b97fa2ef50 Revert $FreeBSD$ to $Id$ 1997-02-22 14:13:04 +00:00
Jordan K. Hubbard
aa5b6f64ea DTRT with a release string of "none" and use the correct (updated)
mountpoint name for fixit.
Submitted-By: joerg
1997-01-27 09:51:56 +00:00
Jordan K. Hubbard
5214787fd5 OK, I've got two ideas to file in the "really seemed like a good idea
at the time, but on further reflection..." bucket with these changes.

1. Checking the media before frobbing the disks was a fine idea, and
   I wish it could have worked, but that leads to a rather difficult
   situation when you need to mount the media someplace and you're about
   to:

	a) Chroot away from your present root.
	b) Newfs the root to be.

   You're basically screwed since there's no place to stick the mount
   point where it will be found following the newfs/chroot (and eliminating
   the chroot in favor of just using the "root bias" feature would work
   great for the distributions but not the pkg_add calls done by the
   package installer).

2. Automatic timeout handling.  I don't know why, but alarm() frequently
   returns no residual even when the alarm didn't go off, which defies
   the man page but hey, since when was that so unusual?  Take out timeouts
   but retain the code which temporarily replaces the SIGINT handler in
   favor of a more media-specific handler.  This way, at least, if it's hanging
   you can at least whap it.  I think the timeout code would have been losing
   over *really slow* links anyway, so it's probably best that it go.

This should fix NFS, tape & CDROM installs again (serves me right for getting
complacent and using just the FTP installs in my testing).
1997-01-24 19:24:51 +00:00
Jordan K. Hubbard
898f607a63 Argh! Moving the media initialization to before the disk scribbling
section was a good thing, since it made it possible to detect media problems
*before* the installation started, but it also caused various things to
be mounted BEFORE the chroot() call, which definitely messes things up.

Fix this by detecting the pre-chroot() case and mounting into a subdir.
1997-01-22 00:15:51 +00:00
Jordan K. Hubbard
1130b656e5 Make the long-awaited change from $Id$ to $FreeBSD$
This will make a number of things easier in the future, as well as (finally!)
avoiding the Id-smashing problem which has plagued developers for so long.

Boy, I'm glad we're not using sup anymore.  This update would have been
insane otherwise.
1997-01-14 07:20:47 +00:00
Jordan K. Hubbard
60191fe961 Add more protection when running as init and don't do stupid things.
Fix looping in fixit cdrom selection by adding a missing break.
Move unmount of cdrom down to proper place.
1997-01-12 11:13:43 +00:00
Jordan K. Hubbard
29d851f6c2 Do a better job of CDROM detection.
Use consistent spelling throughout.
Remove unmount in fixit_common() since that's bogus in the CDROM case and
properly "shut down" the media device instead.
1997-01-06 11:10:25 +00:00
Jordan K. Hubbard
434a0eeb38 1. Correct bogon in cdromInit when running multi-user which took cdrom offline
if wrong version.
2. Make sure network device is initialized in ftpInit
3. Eliminate bogus size values in the menus.  For now, we'll have to admit
   that nobody's added it up yet.  In the future, these menus should be
   build dynamically anyway, not declared static.
4. Add more debugging to networking code to chase the mystery ppp device
   problem.
1997-01-01 12:36:09 +00:00
Jordan K. Hubbard
6258ab4afc smart-alec error checking. 1996-12-12 16:55:37 +00:00
Jordan K. Hubbard
0da9521b5a Undo one of my memory optimization hacks - it actually made things more
complicated.
1996-12-12 08:33:38 +00:00
Jordan K. Hubbard
86767547be Be more efficient in how we use memory (stumbled across while looking for
something else) for attributes and variables.

Remove stack-stomper in sstrncpy().
1996-12-11 18:23:19 +00:00
Jordan K. Hubbard
0fd6d431cf Do a few things I've been threatening to do for a long time:
1. Don't use the MSDOSFS code for accessing FreeBSD distribution data.
   Use Robert Nordier's stand-alone DOS I/O library for the purpose.
   It this works as well as Robert says it does, it should drastically reduce
   (or even eliminate) our "I can't install from my DOS partition!" calls.

2. As a result of the above, go to stdio file descriptors for all
   media types.

3. Taking advantage of #2, start using libftpio for FTP transfers instead
   of maintaining our own parallel version of the FTP transfer code.
   Yay!  I ripped something out for a change!

#1 Submitted-By: Robert Nordier <rnordier@iafrica.com>
1996-12-11 09:35:06 +00:00
Jordan K. Hubbard
e738250b89 Remove the now-unusable ports configuration code. Swapping CDs is bogus. 1996-10-14 21:32:39 +00:00
Jordan K. Hubbard
04f11c618f Ahem. It might be nice if I included /usr/src/contrib in with the other
src dists.  This alone is a good reason to re-roll the SNAP before putting
it on CD.
1996-10-10 09:22:37 +00:00
Jordan K. Hubbard
b11806da8c DTRT if ESC is hit in a Yes/No dialog.
Noticed-by: jfieber
1996-10-09 09:53:41 +00:00
Jordan K. Hubbard
23c0fda959 Installation cleanup, round II. 1996-10-01 12:13:29 +00:00
Jordan K. Hubbard
fc8cb16597 Conditionalize some annoying debug statements, update the docs. 1996-08-23 07:56:06 +00:00
Jordan K. Hubbard
94dfd13efe 1. Fix the CD installation bogon for Novice install I mentioned.
2. Add some code for dealing with a ports collection on the second CD now.
1996-07-16 17:11:45 +00:00
Jordan K. Hubbard
6bcca21f51 Make CD version clash non-fatal. 1996-07-13 05:48:44 +00:00
Jordan K. Hubbard
f6d3326b0c Fix EBUSY checking in devices.c - DTRT when it's detected on a CD. 1996-07-13 05:09:29 +00:00
Jordan K. Hubbard
10712e5198 Fix something I broke with CDROM installation (well, I knew my first
test CD would turn at least one bug up :-).
1996-07-12 11:14:15 +00:00
Jordan K. Hubbard
cf1647cd2f Whoops! Now that I'm decompressing docs into /tmp, it's important to
make sure that /tmp is there first! :-)  While I'm at it, clean up the
somewhat inexplicably bogus Mkdir() function.
1996-07-08 08:54:36 +00:00
Jordan K. Hubbard
59fed81d91 Make the CDROM auto-detection code a little more flexible about accepting
old CDs.
1996-06-14 18:23:26 +00:00
Jordan K. Hubbard
3ee8cec854 Come up with a scheme for stamping the FreeBSD version number on CDs,
allowing sysinstall to automagically detect, mount and select an
appropriate FreeBSD CDROM as the installation media.  Defining "appropriate"
also requires that you check the version numbers since an older FreeBSD
CD could be in the drive, which is the purpose of this patch.
1996-06-11 05:06:32 +00:00
Jordan K. Hubbard
7b0a4c23a4 Make CDROMs automagically select as the default media type.
If you're running multi-user, check off items in the packages menu
based on whether or not they're actually installed.
1996-06-08 07:02:21 +00:00
Jordan K. Hubbard
2113a60c4b Bring this into sync.
I still have a _very very annoying_ display bug which occurs when a menu
item causes a submenu to be displayed - the screen repaints for the original
menu (which is restored upon return from the submenu) are off by about 4
characters.  I've tried restoring the screen, the cursor position, you name
it - same deal.  Grrrr!  This commit is my first step in trying to get someone
else to help me look into this one since I'm just tearing my hair out at this
point!
1996-04-23 01:29:35 +00:00
Jordan K. Hubbard
af4cbec4e1 1. Update all the copyrights to delete useless clauses 3 and 4.
2. Change more of the menu code over to new system.
3. Streamline label editor.
1996-04-13 13:32:15 +00:00
Jordan K. Hubbard
40ae4689df Lots of fixes:
1. Revamp package installer to use new dependency lists and also
   pkg_add's new `read from stdin' mode to prevent a copy of the package
   from hitting the disk unnecessarily.

2. More fixes for running "not as init" - don't get upset if CDROM already
   mounted, do the right thing instead.

3. If running as init, assume first-time install and _don't show the
   (W)rite option in the fdisk screen.

4. Many other little tweaks, some of which will have to wait for fuller testing
   until I can create a boot floppy (testing certain system-destroying
   features of sysinstall can be a royal pain).  Expect some more commits.
1996-03-18 15:28:10 +00:00
Jordan K. Hubbard
e07e86d046 Miscellaneous cleanup before big round of menu restructuring (to use new
libdialog features).
1996-03-02 07:31:58 +00:00
Peter Wemm
40b0c0d936 Update the -current sources from the 2.1 branch.
Approved (in spirit) by: jkh
1995-12-07 10:34:59 +00:00
Peter Wemm
5326bef3de This mega-commit brings in Jordan's latest sysinstall version..
This looks like it was developed offline, and is being spammed over the
top of the existing.  "That's fine by me!  I dont really care how you do
it, just get it in there..." said Jordan in a conversation a short while
ago...
1995-09-18 16:53:06 +00:00
Rodney W. Grimes
d3628763db Merge RELENG_2_0_5 into HEAD 1995-06-11 19:33:05 +00:00
Rodney W. Grimes
e5370bd7fe Remove trailing whitespace. 1995-05-30 08:29:07 +00:00
Jordan K. Hubbard
8fdde019ad Sync up my work for the night. This should implement ALL possible
installation methods and provide a fairly robust set of menu options.
This should also fix a few more bugs on Poul-Henning's latest gripe
list.
1995-05-29 11:01:42 +00:00