Commit Graph

374 Commits

Author SHA1 Message Date
kensmith
d715fc216c Remove sysinstall's ability to adjust the tape block size. Installs from
tape have been broken for quite a while, and I'll be removing the rest
of sysinstall's knowledge of tapes shortly.  I'm doing this piece now
because I want to switch from gnu's cpio to bsdcpio being integrated
into the installation environment and bsdcpio doesn't seem to handle
block sizes at all.
2008-08-20 13:21:04 +00:00
philip
9caeeb576e Fix a number of documentation-lags-behind-reality bugs in sysinstall(8).
While here, fix a couple of comments too.

Submitted by:	Oliver Fromme <olli -at- lurza.secnetix.de>
Approved by:	re (kensmith)
2007-06-25 16:37:17 +00:00
ceri
899b88ba12 Remove a warning regarding disk entries in /dev.
Approved by:	ru (mentor)
MFC after:	4 days
2006-11-11 12:59:59 +00:00
ceri
0c2fa6c52c Fix typos in comments. 2006-11-07 23:54:14 +00:00
erwin
c7db2750cc If the user did not chose a distribution from the menu, a sensible
default distribution (user) will be installed, however, no kernel
will be installed.  Fix this by installing a sensible default kernel,
SMP/GENERIC, depending on WITH_SMP and number of CPUS found.

Reviewed by:    jhb
2006-10-23 20:49:49 +00:00
ru
26c2f5823f Fix the output glitch. 2006-08-21 09:15:17 +00:00
simon
0eacf9737c Add FreeBSD version information to the menu title so it's possible to
see which release you are installing (really which FreeBSD version the
installer is running, but that shouldn't matter in all normal cases).

PR:		bin/100309
Submitted by:	Joao Barros <joao.barros@gmail.com> (original version)
Idea from:	FreeBSD ideas page
MFC after:	1 week
2006-07-15 12:23:56 +00:00
nyan
3b59efd81b Disable an SMP detection on pc98. 2006-03-10 12:18:41 +00:00
sam
83bdb1ecb3 missed a case that needs WITH_SMP
Noticed by:	kensmith
2006-03-09 21:54:32 +00:00
sam
fa1fbfedc2 Revamp base system packaging of kernels to enable up/smp selection
at runtime and to support distributing additional kernels:
o remove kernel from the base tarball
o add new kernel tarballs
o build + package both SMP and GENERIC kernels when an <arch>/conf/SMP
  config file is present
o add sysinstall support for multiple kernels
o update sysinstall to probe for the number of cpus on a system
  and auto-select smp/up kernel accordingly
o add a post-kernels install hook to fixup /boot/kernel
o add -ldevinfo to boot crunch for sysinstall's cpu probing logic

Notes:
1. On HEAD this code is not currently used because GENERIC kernels
   include SMP.  This work is mainly intended for RELENG_6 where the
   GENERIC kernel is UP.  If HEAD changes to match then just enable
   WITH_SMP in sysinstall/Makefile.
2. The cpu probing support is done with acpi and MPTable; this means
   some systems will require work for auto-detection to work.
3. The handling of /boot/kernel may need to be revisited; for now
   we rename one kernel at the last moment (SMP if installed, otherwise
   GENERIC).  There are other, possibly better, approaches.

Lots of help from ru, emaste, scottl, and jhb.
2006-03-08 18:02:32 +00:00
ceri
22046ca347 An i386 machine with 32MB of RAM requires a 700MB disk for auto-layout to
succeed, whilst an i386 with 256MB of RAM requires more.  Up the amount
of disk hinted at as a minimum requisite for auto-layout.

MFC after:	1 week
2005-12-29 19:25:17 +00:00
jhb
beec1e31ad Automatically switch to ttyv3 where the fixit shell is running when using
the standard console and any fixit mode.

MFC after:	1 day
2005-03-02 22:48:13 +00:00
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
obrien
9f12546f8e Remove /stand when we are done with it.
Submitted by:	Ryan Sommers <ryans@gamersimpact.com>
2005-02-07 04:25:34 +00:00
ru
1ad9577d5d Removed bitrot. 2005-01-13 13:34:00 +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
marcel
c95736ca87 o Save pointers to the chunks for root, home, swap, usr, var and tmp in
global variables. On ia64, save a pointer to the efi chunk as well.
o  At the same time, change checkLabels() to define these globals instead
   of having the caller of checkLabels() pass addresses to variables for
   these. Change the two callers correspondingly.
o  Spent a bit more time adjusting try_auto_label() to prepate for having
   the EFI partition created on ia64.
o  Remove efi_mountpoint(). The EFI chunk is now available without having
   to iterate over the disks and chunks to find it every time we need it.
o  On ia64, now that the root chunk is globally available, set the
   vfs.root.mountfrom tunable in loader.conf. This avoids that one cannot
   boot into FreeBSD after an install. The kernel cannot find the root
   device without a little help...
2004-08-07 01:19:54 +00:00
cperciva
e629b37603 Join the 21st century: Cryptography is no longer an optional component
of releases.  The -DNOCRYPT build option still exists for anyone who
really wants to build non-cryptographic binaries, but the "crypto"
release distribution is now part of "base", and anyone installing from a
release will get cryptographic binaries.

Approved by:	re (scottl), markm
Discussed on:	freebsd-current, in late April 2004
2004-08-06 07:27:08 +00:00
marcel
9c9fafff0c ia64 specific:
o  Remove the code that creates the boot directory on the EFI file
   system after it has been mounted, as well as remove the code
   that creates the symlink from /boot -> /efi/boot (*). As a result,
   /boot will be extracted onto the root file system.
o  Add a function efi_mountpoint() that returns the mount point of
   the EFI file system or NULL if no EFI partition is created. This
   function is used to both check whether there's an EFI file system
   and to return what its mount point is.
o  When there's no EFI file system, ask the user if this is what he
   or she wants. Since we extract /boot onto the root file system,
   we do not actually need an EFI file system for the installation to
   work. Whether one wants to install without an EFI partition is
   of course an entirely different question. We allow it...
o  When we're done installing and need to fix up the various bits
   and pieces, check if there's an EFI partition and if yes, move
   /boot to /efi/boot and create a symlink /boot -> /efi/boot (*).
   This is a much more reliable way to get /boot onto the EFI
   partition than creating the symlink up front and hope its being
   respected. It so happened that we never had the boot directory
   end up on the EFI partition. We make the symlink relative.

(*) /efi is a place holder for the actual EFI mount point of course.
2004-08-04 23:04:14 +00:00
marcel
52fb831b82 Move the inclusion of libdisk.h from sysinstall.h to the source files
that actually need it. This makes it easier for a platform porter to
find the files that may need tweaking to support whatever MD specific
partitioning is needed. It also helps to prevent that the libdisk API
gets exposed and/or used where it's not needed.
2004-08-02 23:18:48 +00:00
grehan
21c71b3b12 Mods for powerpc.
Submitted by:  Suleiman Souhlal <refugee@segfaulted.com>
2004-05-15 05:06:19 +00:00
jhb
7664209e3a Minor fixes for ia64 installs:
- Don't look for partitions inside a FreeBSD chunk on ia64 when mounting
  the filesystems just before the chroot and install.
- Write entries out to /etc/fstab for filesystems that aren't inside a
  FreeBSD chunk, but are a top-level chunk under the disk.
2004-05-07 19:15:56 +00:00
jhb
265fe61be8 Remove unused variables. 2004-03-11 18:50:05 +00:00
marcel
23743eed6f In checkLabels(), deal with the fact that on ia64 we do not have a
disklabel.
2004-01-30 05:21:32 +00:00
scottl
0f05bb7e9e Teach the Fixit environment how to deal with a dynamic root. Symlink
/libexec to /mnt2/libexec, and execute /mnt2/rescue/ldconfig to add
the /mnt2/lib and /mnt2/usr/lib library directories.  Thanks to John Baldwin
for working to track this down.

Submitted by:	jhb
2003-12-21 17:16:44 +00:00
rwatson
e983c8d12d Remove security profiles from sysinstall. Currently, security profile
selection is used to drive two configuration parameters:

(1) Default enable/disable for sshd
(2) Default enable/disable for securelevels

Replace this with an explicit choice to enable/disable sshd.  A
follow-up commit will add a configuration option to the Security
post-install configuration menu to set the securelevel in rc.conf
explicitly.  This should reduce the level of foot-shooting associated
with accidental enabling of securelevels, make the nature and
implications of the securelevel configuration options more explicit,
as well as make the choice to enable/disable sshd more explicit.

Approved by:	re (scottl)
2003-11-28 18:47:45 +00:00
des
d5e5722561 Various NFS-related bug fixes (mostly related to using variable_get()
instead of variable_cmp() to test boolean rc.conf variables).

Submitted by:	hmp
2003-10-19 13:37:12 +00:00
imp
d7ba3dd9a7 Add a new variable 'skipPCCARD'. This variable will cause sysinstall
to ignore all PC Card devices.

Submitted by: Anders Nordby
PR: bin/37650

MFC After: 2 weeks
2003-08-20 06:24:12 +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
das
72617c8745 Instead of unconditionally refusing to install if no swap partitions
are specified, prompt the user with a yes/no box.
2003-08-10 01:04:05 +00:00
scottl
f2f79e8c3f Teach sysinstall to recognize if acpi was turned off from the bootloader,
and then ask the user if this should be made permanent.

Approved by:	re
2003-05-31 11:28:28 +00:00
peter
edd5fa2492 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
jhb
0c04949ed7 Reword the infamouse mouse dialog to ask if you have a PS/2, serial, or
bus mouse instead of if you have a non-USB mouse.

Requested by:	many
Prodded by:	dougb
Approved by:	re (scottl)
2003-05-13 19:16:00 +00:00
rwatson
81d6b31102 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
ceri
e7c18881a0 s/to try and retry/to retry/
PR:		misc/48226
Submitted by:	Gary W. Swearingen <swear@attbi.com>
MFC After:	2 days
Approved by:	murray (mentor)
2003-02-19 21:48:28 +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
rwatson
7df36e7050 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
9a29be5ff2 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
08185d6b24 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
marcel
2d00e34130 ia64: make link /boot->efi/boot relative.
Approved by: re (murray)
2002-11-30 19:54:19 +00:00
jhb
f5ed172881 - Use WITH_SLICES to conditionalize the fdisk editor during install instead
of an explicit list of architecture defines.
- Tweak the message prior to the label editor in the !WITH_SLICES case to
  make it slightly less awkward since this is the first dialog we see after
  starting an install.
- Only offer to customize syscons settings if WITH_SYSCONS.
- Offer to enable Linux compat if WITH_LINUX.  Before we only did this for
  i386.
- On the alpha, offer to enable OSF/1 compat after asking about Linux
  compat.
- Only offer to configure moused(8) if WITH_MICE is defined.

Tested on:	i386, alpha, sparc64
Approved by:	re
2002-11-27 19:45:10 +00:00
marcel
5f52e523f0 Create a link /boot -> /<efi>/boot, where <efi> is the mountpoint
of the EFI file system. This makes the EFI partition non-optional.
I don't think that the links are actually correct, given that all
the mount points are under /mnt when sysinstall is run as init.
(ie a non-upgrade). Thus: I think I need to go in once more, but
at least this doesn't get lost...
2002-11-18 08:37:46 +00:00
marcel
dfa993f696 Add conditional code specific to ia64 to allow newfs(8)-ing FAT
partitions marked as being of type efi. This change adds code to
1. actually run the newfs command at mount time (install.c),
2. display the newfs state on screen (label.c)
3. allow toggling of the newfs state (label.c)

Even though newfs(8)-ing FAT partitions can be of use on i386
machines in general, it has been opted to minimize impact for
now.
2002-11-14 01:46:20 +00:00
marcel
f76e12575f Also test for type efi everywhere we currently test for type fat.
With this change there's no a priori difference between EFI and
FAT partitions. With this change and the corresponding change to
libdisk, we can create EFI partitions, just like regular FAT
partitions.
2002-11-13 05:39:59 +00:00
phk
ba809b16d3 Confirmed kill: "Bogon #1" is dead, killed by DEVFS. 2002-10-25 11:47:58 +00:00
phk
429bcd4374 Comment out more MAKEDEV bogosity ("BOGON #1" as Jordan put it :-) 2002-10-25 09:54:27 +00:00
phk
dc285b2281 Fix cut&paste mistake. 2002-10-23 14:37:43 +00:00
phk
81502b2227 Remove more private MAKEDEV kludges. 2002-10-22 15:25:19 +00:00
phk
6bcf9ad3c5 Give a real error on failure to mount DEVFS. 2002-10-22 15:07:17 +00:00
phk
0d693d8f22 Pick up a prototyp from libdisk.h instead of having our own. 2002-10-22 09:13:27 +00:00