Commit Graph

48 Commits

Author SHA1 Message Date
jkim
2696c9b917 Add `mediaOpen' function. This function mounts selected media device.
For example, you can dynamically generate and load configuration file
depending on the hardware configuration with the following template:

	mediaSetCDROM
	mediaOpen
	command='/dist/rescue/sh /dist/scripts/install.sh'
	system
	mediaClose
	configFile=/tmp/generated.cfg
	loadConfig

Now we have full access to files on the media before installation begins.
2006-01-27 21:00:31 +00:00
kensmith
1062d781d5 Remove support for configuring the X server from sysinstall. General
concensus seems to be that is best left for doing post-install.

Discussed on:	freebsd-current@
Tested with:	make release
Approved by:	re@
MFC after:	3 days
2004-08-30 21:03:09 +00:00
obrien
f266bbb141 Remove the vestiges of the old pre-"X_AS_PKG" way we used to handled the
installing XFree86 (version 3.3.6 and before).

Reviewed by:	jhb
2003-08-19 23:23:27 +00:00
jhb
dc23a6cc29 - Rename installFixupBin to installFixupBase to finish up the 'bin' to
'base' dist rename.
- Rework struct dist to allow for different types of dists.  There are
  currently three types of dists: DT_TARBALL, the traditonal gzipped and
  split tar file; DT_PACKAGE, a package; and DT_SUBDIST, a meta-dist in
  the tree that has its own array of dists as its contents.  For example,
  the 'base' dist is a DT_TARBALL dist, the 'perl' dist is a DT_PACKAGE
  dist, and the 'src' dist is a DT_SUBDIST dist with its own dist table
  that contains 'sbase', 'ssys', etc.
- Add helper macros for defining array entries for the different types of
  dists to try and make the statically defined dist table in dist.c more
  readable.
- Split the logic to deal with a DT_TARBALL dist out of distExtract()
  and into its own distExtractTarball() function.  distExtract() now
  calls other functions to extract each dist.
- Tweak the percentage complete calculation in distExtractTarball() to
  do the multiply prior to the divide so it doesn't have to use floating
  point.
- Axe the installPackage() function along with the special handling for
  the perl and XFree86 dists in distExtractAll() since distExtract()
  handles package dists directly now.
- Add back in subdists for the X packages based on the split up packages
  that XFree86-4 uses that as closely map to the X dists we used with
  X 3.3.x.
- Lots of things like distSetX() and the X dist masks are no longer
  #ifndef X_AS_PKG since we use them in both cases now.
- Make the entire installFixupXFree() function #ifndef X_AS_PKG, we only
  call it in that case anyways, and it's not suitable for the X_AS_PKG
  case.
- Add in X dist menus for the X_AS_PKG case.

Approved by:	re
2003-01-17 19:05:32 +00:00
jhb
9c5f468a4e Only include the diskPartitionEditor script command if WITH_SLICES is
defined.

Approved by:	re
2002-11-27 19:41:06 +00:00
jhb
6880dc45b6 Expand X_AS_PKG so that we don't declare distribution bitmasks or menus
for the X distributions if X_AS_PKG is defined.

Tested on:	i386
Approved by:	re
2002-11-27 18:36:30 +00:00
jhb
f21ffaa690 Fix handling of the 'noError' variable. According to the code comments,
one can set the 'noError' variable to ignore any errors that occur for the
next command.  However, the code was only unsetting 'noError' when an error
actually occurred, so if you set 'noError', the next command completed ok,
and the command after that failed, the second command's failure would be
ignored.  This fixes this by performing the 'noError' check earlier and
then unsetting 'noError' after every command that is run.

Sponsored by:	The Weather Channel
2002-06-03 19:42:49 +00:00
jhb
3566425519 Add a 'mediaClose' script command to close the open media. An example use
would be to unmount the CD you installed from and prompt the user to
eject it before rebooting the machine.

Sponsored by:	The Weather Channel
2002-06-03 19:39:28 +00:00
obrien
60f91e4cad Switch to using XFree86 version 4. We do this thru installing the package,
so know we have proper PKG registration and dependency information.

This is a WIP for 5.0 DP #1, so it is still rough around the edges and
does not GC the old XFree86 3.3.6 handling stuff that should be GC'ed.
Sponsored by:	FreeBSD Mall, Inc.
2002-04-02 20:42:54 +00:00
rwatson
1e1af75f40 Compensate for default disabling of network services in inetd.conf(5)
by providing the opportunity to edit inetd.conf during the system
installation process.  The following modifications were made:

(1) Expand the Anonymous FTP description dialog to indicate that inetd
    and ftpd must be enabled before it can be used.

(2) Introduce a new configInetd() pair of dialogs, the first describing
    inetd, giving a couple of examples of services that require it, and
    hinting at potential risk, then asking the user if they wish to
    enable it.  The second indicates that inetd.conf must be configured
    to enabled specific services, and asks if the user would like to
    load inetd.conf into the editor to modify it.  Add this
    configuration action to the index.

There are some further improvements that might be considered:

(1) Provide a more inetd.conf-specific configuration tool that speaks
    inetd.conf(5).  However, this is made difficult by the "yet another
    configuration format" nature of inetd.conf, as well as its use of
    commenting to disable services, rather than an in-syntax way to
    disable a service without commenting it out.  Submissions here
    would probably be welcome.

(2) There's some overlap between settings in the somewhat obtuse
    Security Profile mechanism and other settings, including the inetd
    setting, and NFS server configuration.  As features become
    individually tunable, they should probably be removed from the
    security profile mechanism.  Otherwise, somewhat counter-intuitively,
    sysinstall (in practice) queries multiple times whether inetd, nfsd,
    etc, should be enabled/disabled.  A possible future direction might
    be to drive profiles not by degree of paranoia, rather, the set
    of services desired.  Or simply to remove the Security Profile
    mechanism and resort to feature-driven configuration.

Reviewed by:	imp, chris, jake, nate, -arch, -stable
2001-08-02 03:25:16 +00:00
kris
307edbea2b Mark relevant functions __printflike()/__printf0like() and silence some of
the non-constant format string warnings.

MFC after:	1 week
2001-07-05 09:51:09 +00:00
dd
4a798fb83a Introduce DEVICE_INIT, DEVICE_GET, and DEVICE_SHUTDOWN macros. As the
names suggest, they perform methods on Device's.  In addition, they
check that the pointer passed to them is valid; if it isn't, they
pretend that the action failed.  This fixes some crashes due to NULL
dereferences (e.g., PR 26509).

Approved by:	jkh (some time ago)
2001-07-02 00:18:04 +00:00
jkh
1d57918341 One whack at the idea of having "security profiles" which select the
appropriate(?) defaults for "low", "medium" and "high" security
environments.  Medium is basically what we currently have with a little
seat-belt tightening where it made sense.  Low is the same as medium but
without the tightening.  High is positively fascist with nothing turned
on by default and an automatic call to 911 if it can find a modem.
2000-09-22 19:12:41 +00:00
jkh
602f6c1a70 Revise this for the brave new world of "crypto"
Submitted by:	markm
Approved by:	me!
2000-02-29 09:09:36 +00:00
jkh
44c4a7d34d Don't call it a Novice install, call it Standard.
Also say thousands of packages, not hundreds.
2000-02-18 07:09:45 +00:00
jkh
7ec94d00be Add support for FTP installation via HTTP proxies.
Submitted by:	Philipp Mergenthaler <un1i@rz.uni-karlsruhe.de>
PR:		11316
2000-01-04 04:50:07 +00:00
jkh
d3944eb60a Completely rip-out and redesign sysinstall's refresh model as well
as redoing all the menus to have proper, or at least non-hallucinogenic,
keyboard accelerators.

This requires my recent update to libdialog to work properly and will
probably also exhibit some other "interesting" behavior while the last
few missing screen clears are found (which is why I'm not going to MFC
immediately).  At least now, however, sysinstall does not gratuitously
redraw random screens at the drop of a hat and drive serial console
installers out of their minds.
1999-12-14 04:25:29 +00:00
jkh
4f4156cb29 Allow distributions to be excluded more easily in scripts.
Submitted by:	Brian Dean <brdean@unx.sas.com>
1999-11-08 11:51:57 +00:00
peter
efabb9ccb1 $Id$ -> $FreeBSD$ 1999-08-28 01:35:59 +00:00
jkh
19ffa5eea8 o Make package matching for specific package loading use the Latest/
feature of packages now so that no version info is embedded.

o Add a default X desktop menu offering afterstep, enlightenment, KDE, GNOME
  and Windowmaker desktops instead of the boring twm(1) based one if the
  user so chooses.  This will require a little testing.
1999-04-27 14:33:29 +00:00
jkh
d8fc4c742d Remove the registration stuff; we're redoing this and the emailed
registrations have a high failure rate for various reasons.
1999-04-24 01:53:55 +00:00
jkh
75fb26219b Totally change the way variables are accounted for in sysinstall.
Now we know which variables are internal and which need to be
backed to /etc/rc.conf.site.  rc.conf is not touched now.

Also kget kernel change information back properly and set up a loader.rc
file to use it.
1999-02-05 22:15:52 +00:00
jkh
ffd97e5342 o Break fixups into binary fixups and XFree86 based fixups.
o Move fixups into extraction routine so all consumers don't have to duplicate
  the right behavior.
o Make some things more orthogonal (just for asthetics sake)
o Add option to go back and do it again if XF86Setup fails (possibly with
  a different setup - this one has always annoyed me).
1998-11-15 09:06:20 +00:00
jkh
c1d10d181d MF22: Paul Traina's changes. 1998-07-18 09:42:02 +00:00
pst
4f718b5d5d Put all variables in VAR_ #define's to force a single location for all
of these magic knobs.  This is purely cosmetic and a documentation issue
so we don't have to glop through the source code looking for gems.
1997-09-17 16:18:22 +00:00
jkh
cb8ec218f6 Much better dispatch code and scripting support.
Submitted by:	pst
1997-09-16 18:57:18 +00:00
jkh
140da23855 Make upgrade potentially a little less interactive.
Add and document new loadConfig function (sort of like a script #include).
Make TCP/IP setup far less chatty when it doesn't need to be.
1997-09-08 11:09:11 +00:00
jkh
a6a2ca12c2 Make some changes to the way the label editor reads script variables
so you don't need to re-enter it for each and every filesystem. Heads up!
This change is incompatible with the previous scripting format,
so those folks (all 2 of you) using config files should take a look
at the changes to the sample install.cfg file for the diskLabelEditor's
new calling syntax.

Finally write a man page for this thing, documenting all of the above
and more.  I can't drive a stake through this thing's heart without
properly documenting it first, so please consider this step #1 in that
process (to be honest, sysinstall will also live on for some time in
the 2.2. branch since it's unlikely that the new install tools will ever
make it over there - they're strictly 3.0 material).
1997-08-11 13:08:29 +00:00
jkh
c8004d7830 Eliminate Samba configuration. Sorry, but this was another one of
those ideas that, like the Apache server setup, was well-intentioned
but doomed to fail in the face of change.  That and the fact that it
shouldn't be part of the installation tool, it should be part of the
post-installation setup tool (which we need to write).  Combining the
two utilities into one utility was my first conceptual mistake.

Apologies also to Coranth Gryphon, who worked hard on the Apache
and Samba server setup code.  These features were quite useful
for awhile, if that's any consolation, I just simply had the wrong
ideas about where to put them. :-(
1997-07-16 05:22:42 +00:00
jkh
e1b0f042d8 Adjust my installation script to more closely match reality.
Add a system command to script mechanism (so you can call things like
tzsetup from scripts).

Add noError variable for causing script errors to be ignored.
1997-06-22 09:45:41 +00:00
jkh
048f7b0819 Change the way that X configuration method is selected. 1997-06-21 15:45:15 +00:00
jkh
8f235bb8bf YAMF22 1997-06-13 17:55:32 +00:00
jkh
d75a722d2e YAMF22 1997-06-13 09:34:10 +00:00
jkh
f6bcf2cd23 YAMF22 1997-06-12 07:35:40 +00:00
jkh
9160ca00b5 Resurrect / implement some of the more esoteric scripting features,
such as partitioning a disk or overriding an interactive prompt.
1997-06-05 09:48:03 +00:00
jkh
5ce4b1077d Actually, rethink last commit and simply remove the apache configuration
entirely, as promised earlier (it's outdated now and doesn't really belong
in sysinstall).
1997-05-22 00:17:11 +00:00
jkh
d293740501 Sync with 2.2. 1997-03-10 21:11:57 +00:00
jkh
636598f561 Add a registration screen so we can finally start counting our little user
puppies.
1997-03-09 22:25:49 +00:00
peter
83b3c2c161 Revert $FreeBSD$ to $Id$ 1997-02-22 14:13:04 +00:00
jkh
b5a526ab91 Clean up a long-standing bug in the scripting code. You could set variables,
but you couldn't call functions!  Now you can do both.
Guard against whitespace pollution in variable names.
1997-01-16 10:24:09 +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
54029d7039 Now that I've got my source tree sorted out, bring all the things
I've been committing into 2.2 directly all this time.
1996-12-14 23:09:10 +00:00
jkh
dbb1ac2255 Use macros for package names so it's easier to update them in one
place (sysinstall.h) when packages change rev.

Change the way that the routing daemon is configured entirely, to
placate Joerg.  Also auto-load gated if it's specified, while we're at it.
1996-11-04 12:56:33 +00:00
jkh
49e94fab07 Installation cleanup, round II. 1996-10-01 12:13:29 +00:00
jkh
0d0ea501cb Document shortcuts.
Fix a bug which prevented variables from working properly
1996-07-02 10:57:58 +00:00
jkh
4578af9ab6 Allow argv[0] to be a command also. 1996-06-26 09:09:30 +00:00
jkh
c75ddabf83 Implement selective text attributes for the syscons vty / vt100 emulator
selection since an attribute which looks good on a color console doesn't
necessarily look good in an xterm.
1996-06-08 09:08:51 +00:00
jkh
7560ec91cb Fix some long-standing malloc bugs in the package handling code (freeing garbage
in one place, leaking memory in another).

Add a facility to invoke subsystems directly by naming them on
sysinstall's command-line when running post-install.  A replacement
for pkg_manage might, for example, be `/stand/sysinstall configPackages'

Fix bogon where upgrade shell was entered with tty modes spammed.

Fix bug with release name checking in ftp_strat.  Turned a bunch of
bogus exit()s into proper calls to systemShutdown().
1996-05-16 11:47:46 +00:00