Commit Graph

54 Commits

Author SHA1 Message Date
jhb
7040795aae - 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
nyan
91f57b58e2 Check correct machine name. 2002-10-14 13:02:30 +00:00
obrien
c48c3e3e1c * 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
3a0bf4f018 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
409662ce9f 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
456c123190 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
jkh
edd9684293 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
efabb9ccb1 $Id$ -> $FreeBSD$ 1999-08-28 01:35:59 +00:00
jkh
33daa8b33a 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
jkh
528868027c 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
jkh
e72da22834 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
jkh
8104dd7dfb Use properties code. 1998-10-14 11:23:48 +00:00
jkh
8fcd4bbef1 Catch more cases where the CDROM has been mounted. 1998-08-27 00:50:14 +00:00
jkh
f97b174944 MF22: various fixes for new XFree86 dist and cdrom warnings. 1998-07-21 06:44:42 +00:00
jkh
ca3cb4105e Adapt to new mount(2) argument syntax.
Submitted by:	bde
1998-01-16 15:07:55 +00:00
jkh
207189b145 Make all this work under -current again.
Submitted-By: Chuck Robey <chuckr@glue.umd.edu>
1997-04-03 13:44:59 +00:00
peter
83b3c2c161 Revert $FreeBSD$ to $Id$ 1997-02-22 14:13:04 +00:00
jkh
4747e96086 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
jkh
ea4f82e353 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
jkh
c7ed70aaeb 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
jkh
808a36ef65 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
jkh
6b8a0537c1 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
jkh
273faad711 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
jkh
9df35f7f8d 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
jkh
c69e47ec94 smart-alec error checking. 1996-12-12 16:55:37 +00:00
jkh
61be8f66cf Undo one of my memory optimization hacks - it actually made things more
complicated.
1996-12-12 08:33:38 +00:00
jkh
17cc23f578 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
jkh
3727883bdd 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
jkh
1583864055 Remove the now-unusable ports configuration code. Swapping CDs is bogus. 1996-10-14 21:32:39 +00:00
jkh
2bb87dfc53 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
jkh
b3eb03e7b2 DTRT if ESC is hit in a Yes/No dialog.
Noticed-by: jfieber
1996-10-09 09:53:41 +00:00
jkh
49e94fab07 Installation cleanup, round II. 1996-10-01 12:13:29 +00:00
jkh
d3739879c9 Conditionalize some annoying debug statements, update the docs. 1996-08-23 07:56:06 +00:00
jkh
d74ad799a0 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
jkh
4d9a926a37 Make CD version clash non-fatal. 1996-07-13 05:48:44 +00:00
jkh
394f0328da Fix EBUSY checking in devices.c - DTRT when it's detected on a CD. 1996-07-13 05:09:29 +00:00
jkh
9b9952dd90 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
jkh
7e51f09a84 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
jkh
0826bf5711 Make the CDROM auto-detection code a little more flexible about accepting
old CDs.
1996-06-14 18:23:26 +00:00
jkh
f27ab1365a 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
jkh
2a03e988da 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
jkh
e665fee23a 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
jkh
2d5b4f754e 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
jkh
6e8165c16a 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
jkh
ce1a5be689 Miscellaneous cleanup before big round of menu restructuring (to use new
libdialog features).
1996-03-02 07:31:58 +00:00
peter
03382d7ccd Update the -current sources from the 2.1 branch.
Approved (in spirit) by: jkh
1995-12-07 10:34:59 +00:00
peter
89e0ab3dba 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
rgrimes
1b1ee55538 Merge RELENG_2_0_5 into HEAD 1995-06-11 19:33:05 +00:00
rgrimes
bb2ad2880b Remove trailing whitespace. 1995-05-30 08:29:07 +00:00
jkh
4bc5a2dda3 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