Commit Graph

240 Commits

Author SHA1 Message Date
John Baldwin
4b6c29cebc - 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
John Baldwin
0a10e2868e Add a function driverFloppyCheck() that asks the user if they would like to
load drivers from the driver floppy if the "driver_floppy" variable is set
in the kernel environment and call this function after probing devices but
before displaying the main menu.

X-MFC after:	as soon as I finish committing to current
Approved by:	re@ (blanket)
2003-01-15 21:47:36 +00:00
Scott Long
9335d6884c Teach sysinstall about rpcbind, rpc.lockd, and rpc.statd. As an added
bonus, rpcbind will be enabled automatically if rpc.lockd, rpc.statd, amd,
NFS Server, or NIS is enabled.
2003-01-07 07:46:50 +00:00
Robert Watson
bf1e70b230 Reformulate how sysinstall handles file system options in the label
editor, in order to support specifying UFS2 as a newfs option.

(1) Support three different newfs types: NEWFS_UFS, NEWFS_MSDOS, and
    NEWFS_CUSTOM.  Don't mix up the arguments to them: you can't use
    soft updates on an msdos file system.

(2) Distinguish adding new arguments to the newfs command line from
    replacing it.  Permit the addition of new arguments by the user for
    NEWFS_UFS.  If we entirely replace the command line provided by
    sysinstall, call it NEWFS_CUSTOM.  'N' will now add additional
    arguments; 'Z' will opt to replace the newfs command line entirely,
    but will prompt the user with their current command line as a
    starting point.

(3) Construct the newfs command line dynamically based on the options
    provided by the user at label-time.  Right now, this means selecting
    UFS1 vs. UFS2, and the soft updates flag.  Drop in some variables
    to support ACLs and MAC Multilabel in the future also, but don't
    expose them now.

This provides sysinstall with the ability to do more "in band" editing
of the newfs command line, so we can provide more support for the user,
but doesn't sacrifice the ability to entirely specify the newfs command
line of the user is willing to give up on the cushiness factor.  It
also makes it easier for us to specify defaults in the future, and
define conditional behavior based on user configuration selections.
For now, we default to UFS1, and permit UFS2 to be used as the root
only on non-i386 systems.

While I was there, I dropped the default fragment and block sizes,
since newfs has much more sensible defaults now.

Reviewed by:	jhb, marcel
Approved by:	re
ia64 bits from:	marcel
2002-12-03 22:25:47 +00:00
John Baldwin
544cd27071 Rename installX11package() to installPackage() and tweak it so that it
can be used to install any arbitrary package.

Approved by:	re
2002-12-03 19:36:12 +00:00
Marcel Moolenaar
7e8dbd8b20 ia64 specific.
o  Mount the EFI file system as msdosfs and not ufs as it's a FAT
   file system. Introduce Mount_msdos() for this to go side-by-side
   with Mount().
o  Also, since mounting is performed as a command (which means it's
   queued, sorted, lost, found and executed), we cannot create a
   directory on the file system by calling mkdir. We must make sure
   the mkdir happens after the mount. Introduce Mkdir_command() to
   allow mkdir operations to be queued, sorted, lost, found and
   executed as well.

Approved by: re (jhb, rwatson)
2002-12-02 20:15:16 +00:00
John Baldwin
52c113d540 - Only declare the MBR menu for i386 that is not PC98.
- Only declare mouse menus if WITH_MICE.
- Only declare syscons menus if WITH_SYSCONS.
- Only declare fdisk editor functions if WITH_SLICES.

Approved by:	re
2002-11-27 19:58:57 +00:00
John Baldwin
8e5bc72116 - Add a configOSF1() function (#ifdef __alpha__) that creates /compat/osf1
in addition to setting osf1_enable to YES.
- Only define configLinux() #ifdef WITH_LINUX.

Approved by:	re
2002-11-27 19:37:00 +00:00
John Baldwin
75cd8b4038 Add some helper macros to make #ifdef's in sysinstall easier to read
and more maintainable.
- WITH_SYSCONS: defined on all arch's that support syscons (currently i386,
  alpha, and ia64)
- WITH_MICE: defined on all arch's that support moused(8) (currently i386,
  alpha, and ia64)
- WITH_SLICES: defined on all arch's that use disk slices (currently i386
  and ia64)
- WITH_LINUX: defined on all arch's that support Linux binary compat
  (currently i386 and alpha)

Approved by:	re
2002-11-27 19:30:50 +00:00
John Baldwin
6fe0921bc4 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
Yoshihiro Takahashi
676777ed92 - Added the MenuIPLType menu for selecting pc98 boot IPL.
- Disabled 'Syscons, Font', 'Syscons, Screenmap' and 'Syscons, Ttys' menus
  on pc98.
- Fixed the MenuMouseType and MenuMousePort menus for pc98.
- Fixed some comments for pc98.
2002-11-03 10:06:22 +00:00
Makoto Matsushita
9c499b692a Since NEWCARD is the default for i386, undef PCCARD_ARCH.
pccard.c is no longer needed for i386 also.

OKed by: imp, nyan
2002-10-20 11:16:41 +00:00
Makoto Matsushita
b1e41adda4 Add 'Sendmail' menu to set sendmail_enable variable.
Reviewed by:	bmah (description only)
2002-06-01 14:50:14 +00:00
John Baldwin
df349781bf Add a 'diskInteractive' variable that can be set to interactively partition
and label a disk from a sysinstall script.
2002-05-31 13:38:17 +00:00
David E. O'Brien
ee1c407b54 Add the ability to use Bzip'ed packages.
Also add the ability to use Bzip'ed distributions -- but this is exclusive
of being able to use Gzip'ed distributions.

Sponsored by:	FreeBSD Mall, Inc.
2002-04-30 22:40:06 +00:00
Murray Stokely
dd5650233b Add the concept of a volume to the device and package structures. If
these values are different for a given package, then we must prompt
the user to insert another disc before the package can be installed.
2002-04-13 12:43:07 +00:00
Murray Stokely
76494611d2 GCC >= 3 and C99 handle zero-length arrays differently than older
versions of GCC.  With this change, sysinstall compiles and works fine
with GCC 3.1 or 2.95.
2002-04-07 10:27:24 +00:00
Murray Stokely
adca9ffd3d Only build and link the pccard module on architectures that support it (and
that have room for pccardd on mfsroot.flp).
2002-03-29 23:03:17 +00:00
Robert Watson
86f2d72fd8 o Add a configSecurity menu to generally configure security settings,
and pull configSecurityProfile under that menu.  Add a menu option
  to determine whether LOMAC is enabled at boot.  Probably, eventually,
  many of the 'Security Profile' menu choices should be pulled out
  independently into the Security Menu, so as to make them individually
  selectable.

Sponsored by:	DARPA, NAI Labs
2001-12-21 18:30:50 +00:00
Matthew Dillon
b706fc664f cleanup 2001-12-10 02:18:05 +00:00
Matthew Dillon
06f33c6e7a Cleanup sysinstall's 'A'uto partitioning mode to provide more reasonable
defaults both in regards to the size of the partitions that are created
and in regards to safety and functional separation.

Still TODO: extend the previous partition to cover a deleted partition
if the previous partiton was auto-created, and supply some sort of
solution for /tmp.

Reviewed by:	Just about everyone
Approved by:	Nobody except maybe my pet mouse fred
Obtained from:	God, so complain to HIM
MFC after:	1 week
2001-12-09 09:47:09 +00:00
Makoto Matsushita
aab37bd55c Remove kget() feature, which is removed from 5-current kernel.
Since userconfig feature is implemented by tweaking variables (hint.*)
with loader(8), we can put back an equivalent feature.  Maybe the first
step for this is to commit yokota-san's patch (add userconfig command
for loader).

Approved by:	jkh
2001-12-01 13:13:27 +00:00
Jordan K. Hubbard
513cce4025 Add the ability to load klds from a floppy as part of the installation.
Submitted by:	"Daniel O'Connor" <doconnor@gsoft.com.au>
MFC after:	2 weeks
2001-10-12 22:39:02 +00:00
Jordan K. Hubbard
27a550e5ed DTRT in the restart case 2001-10-12 07:36:34 +00:00
Murray Stokely
a0769a8d73 Add a couple of functions to create persistent variables that will
survive a sysinstall Ctrl-C -> 'Restart'.  This fixes another annoying
bug where restarting sysinstall will try to reload kernel modules and
do other external things that have already been done.  For now, use
these persistent variables to keep track of module, usbd, and pccardd
initialization.

Bug found by: rwatson
MFC after:    1 week
2001-09-24 10:16:23 +00:00
Murray Stokely
9838440951 Silence warnings :
Use static as necessary.
   Use __unused as necessary.
   sizeof(int) != sizeof(void *)
2001-09-22 22:21:01 +00:00
Murray Stokely
eba8393e91 Add a function to free all of sysinstall's internal variables from the
environment.  This fixes an annoying bug where hitting Ctrl-C and
telling sysinstall to 'restart' will do no such thing since many of
the options are still set and so you won't be prompted for them
again.

MFC after:	1 week
2001-09-22 18:10:56 +00:00
Robert Watson
614af3941d o Reduce the number of offered security profiles, as we now have a more
conservative default, and actually prompt specifically for inetd rather
  than handling it as a side effect of the security profile.  Update the
  help file to reflect this change.
o Rename "Fascist" to "Extreme" in the source code, to match the names
  presented to the user.
o Remove portmap and inetd from profile management.  Portmap is now
  disabled by default, but automatically turned on if a feature requires
  it (such as NFS, etc).

This is an MFC candidate for 4.4-RELEASE.

Reviewed by:	freebsd-arch@FreeBSD.org
Approved by:	re@FreeBSD.org
MFC after:	2 days
2001-08-10 23:57:43 +00:00
Robert Watson
f3ea28cb07 In preparation for MFC of sysinstall changes to edit /etc/ttys in
post-install config, reduce the potential confusion from the existence
of both configTTYs and configTtys by renaming configTTYs to
configEtcTtys.  While this is not a C naming conflict, it was probably
a poor choice of names on my part.
2001-08-07 12:48:17 +00:00
Robert Watson
c17d6a73f2 Add the ability to modify /etc/ttys before first reboot during the
system installation process.  This allows users installing via serial
console to enable serial console login during the installation
process using an un-customized install.  The user is not prompted to
modify /etc/ttys during a normal install, but is offered the
opportunity during post-install configuration.

- Introduce configTTYs(), which describes the benefits of editing
  /etc/ttys, and asks for confirmation before spawning the editor.
- add configTTYs to the post-install configuration, as well as to
  the global configuration index.
2001-08-02 03:53:36 +00:00
Robert Watson
0c09bcb0e8 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
Andrey A. Chernov
3670a10826 Add ability to configure console terminal type in /etc/ttys
Reviewed by:	audit, jkh's silence
2001-07-17 04:09:50 +00:00
Kris Kennaway
a015c9348c 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
Dima Dorfman
13704ca508 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
Jimmy Olgeni
f3a6406c66 Add terminal type configuration to the Options screen. It allows selecting
a monochrome display after booting into sysinstall, if you have any trouble
with the default color scheme.

Approved by:	jkh
MFC after:	2 weeks
2001-06-13 10:25:09 +00:00
Jordan K. Hubbard
047d337348 Fix what was clearly a 3am brain-o; Boolean should be signed, not
unsigned.  C is kinda loose about this sort of thing but it's no excuse.

Spotted by:	kenny
2001-05-09 08:01:56 +00:00
Jordan K. Hubbard
061de247e0 Allow a script-using to disable the emergency holographic shell as
a security measure.

Requested by:	"David E. Cross" <crossd@enterprise.cs.rpi.edu>
2001-03-12 21:26:06 +00:00
Jordan K. Hubbard
b2cb10e515 Support setting soft updates from the label editor. 2001-03-10 19:51:04 +00:00
Peter Wemm
8ca420e7fa Ack! I finally got annoyed enough to actually kill this. There is no
need to manually force the network_interfaces variable in /etc/rc.conf,
and it only ever gets in the way.  rc.network and rc.network6 DTRT with
the default of 'auto'.  This should have died over a year ago.
2001-03-02 08:15:41 +00:00
Jordan K. Hubbard
621005e3cb Adapt sysinstall to use the new msgNoYes() function which assumes
no as a default.  Sysinstall should be both less dangerous and less
annoying as a result of this change, though that's just my opinion
(since they're the defaults which annoy ME the least :).
2000-12-14 02:49:02 +00:00
Tatsumi Hosokawa
b1d6bbc98d release/sysinstall/lndir.c has not been used, but statically linked
to sysinstall for long time.  Remove it.
2000-11-06 09:28:54 +00:00
Tatsumi Hosokawa
b98c5f70ff Moved driver modules for some PCI NICs and PCCARD-only NICs to mfsroot.flp.
http://people.freebsd.org/~hosokawa/driver-floppy/ for details.

Reviewed by:	current@FreeBSD.org
2000-10-31 07:39:07 +00:00
Eivind Eklund
dd92980bbd Teach sysinstall how to restart itself on Ctrl-C (as an addition to its old
tricks of rebooting and continuing where it was.)

Reviewed by:	jkh, jhb
2000-10-29 09:57:50 +00:00
Jordan K. Hubbard
042c61e58d Add another security configuration profile, call it "high" and
rename the previous one to indicate that it's not just high, it's
extreme (everything off, secure level raised).

Submitted mostly by:	Tony Finch <dot@dotat.at>
2000-10-14 21:02:31 +00:00
Jordan K. Hubbard
bd7064a794 Fix the http proxy fetch code.
Submitted by:	Philipp Mergenthaler <p@i609.hadiko.de>
PR:		21449
2000-09-25 20:19:43 +00:00
Jordan K. Hubbard
b9d13dac47 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
Jordan K. Hubbard
cf07fd263a Terminate, with extreme prejudice, the USAResident hack which
does bad things to /etc/make.conf in certain situations.  Also
soften the "don't install crypto from the USA!" messages since,
except for RSA (which is still noted), that's not so true anymore.
2000-07-24 18:00:16 +00:00
Jordan K. Hubbard
b0b1485813 Add a terminal entry for xterm; a lot of people are using xterms
in the serial-installation of FreeBSD.
2000-07-21 20:45:56 +00:00
David E. O'Brien
7090abf525 Allow the Fix-it functionality to detect that we are on a serial console,
and DTRT rather than start the fixit shell on a non-existant vty.

PR:	19837
Submitted by:	Doug Ambrisko <ambrisko@whistle.com>
Approved by:	JKH
2000-07-18 09:14:06 +00:00
Hajimu UMEMOTO
2931df8a40 IPv6 support.
IPv6 configuration is only done by rtsol.  Does someone really
need manual configuration? :-)
You can specify IPv6 DNS server as well.
We have only one server ftp7.jp.freebsd.org that speaks IPv6
in this time.  ftp7.jp speaks IPv4 as well and also listed as
Japan #7.

Approved by:	jkh
2000-07-14 08:33:10 +00:00