Commit Graph

245 Commits

Author SHA1 Message Date
peter
983be1edc4 Add __amd64__ ifdefs to enable the bootblock handling code, slices, etc.
Approved by:	re (murray)
Obtained from:	obrien
2003-05-24 21:12:14 +00:00
rwatson
d5f85fc552 Throw the switch--change to UFS2 as our default file system format for
FreeBSD 5.1-RELEASE and later:

- newfs(8) will now create UFS2 file systems unless UFS1 is specifically
  requested (-O1).  To do this, I just twiddled the Oflag default.

- sysinstall(8) will now select UFS2 as the default layout for new
  file systems unless specifically requested (use '1' and '2' to change
  the file system layout in the disk labeler).  To do this, I inverted
  the ufs2 flag into a ufs1 flag, since ufs2 is now the default and
  ufs1 is the edge case.  There's a slight semantic change in the
  key behavior: '2' no longer toggles, it changes the selection to UFS2.

This is very similar to a patch David O'Brien sent me at one point, and
that I couldn't find.

Approved by:	re (telecon)
Reviewed by:	mckusick, phk, bmah
2003-04-20 14:08:05 +00:00
robert
643b47086e Remove a function prototype for `crc' and an associated comment which
were useless for at least seven years and eight months.
2003-03-09 02:28:04 +00:00
sobomax
603a6ab0bb Add a new variable `noInet6', which if set disables IPv6 configuration
dialog for network interfaces.

MFC after:	20 days
2003-02-27 21:04:34 +00:00
jwd
41e9d6e16a - Increase the maximum device name length.
- Actually check that the entered device name does not exceed the
  maximum device name length.

PR:		misc/18466
MFC after:	2 weeks
2003-02-27 03:57:17 +00:00
jhb
63d3b75ded - 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
a3ebe6c39a 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
scottl
5d2401e623 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
rwatson
faff37d712 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
jhb
7b8b9da5f8 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
4625dcad11 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
jhb
e72db286f0 - 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
jhb
348ef400f6 - 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
jhb
ce04e637b7 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
jhb
50a6b0084c 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
nyan
c6dc39e1f6 - 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
matusita
30384334b8 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
matusita
015dd92b6c Add 'Sendmail' menu to set sendmail_enable variable.
Reviewed by:	bmah (description only)
2002-06-01 14:50:14 +00:00
jhb
ac7618cb22 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
obrien
632fc52ce6 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
e561272a2d 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
b066b3b4c6 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
c65b06dde4 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
rwatson
2022a3cb5c 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
dillon
5272f5c3d2 cleanup 2001-12-10 02:18:05 +00:00
dillon
4ae0f6f77f 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
matusita
8855784837 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
jkh
2f4ef90e9d 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
jkh
5035da6e56 DTRT in the restart case 2001-10-12 07:36:34 +00:00
murray
4de48356ff 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
cc330bdaa2 Silence warnings :
Use static as necessary.
   Use __unused as necessary.
   sizeof(int) != sizeof(void *)
2001-09-22 22:21:01 +00:00
murray
bd9b972481 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
rwatson
ea9eca835e 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
rwatson
5a257de463 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
rwatson
bee1ebf3c4 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
rwatson
5c1a617eb7 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
ache
fc37cda9e2 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
e2bdcc0245 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
84deb57eb0 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
olgeni
036ae16b50 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
jkh
b2d08ff4ca 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
jkh
75d1f2176e 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
jkh
59ae413597 Support setting soft updates from the label editor. 2001-03-10 19:51:04 +00:00
peter
1a766b6517 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
jkh
1c116fe777 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
hosokawa
73079989d1 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
hosokawa
f306aafb4e 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
5523c894ed 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
jkh
8f9e2bc2e1 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
jkh
57cccf7e72 Fix the http proxy fetch code.
Submitted by:	Philipp Mergenthaler <p@i609.hadiko.de>
PR:		21449
2000-09-25 20:19:43 +00:00