Commit Graph

370 Commits

Author SHA1 Message Date
Xin LI
fd596b5014 Partitions are only meaningful for i386 and amd64 architectures, so disable
these code on other architectures.
2006-08-08 14:28:03 +00:00
Xin LI
c7d9f7f033 Make sade(8) WARNS=3 clean. 2006-08-08 13:45:46 +00:00
Alexander Leidinger
2e14ff0f41 Say welcome to 'sade', the SysAdmins Disk Editor. It's the fdisk and disklabel part
of sysinstall. So sysinstall may retire now, we have the important non-install part
of it covered.

ATM it doesn't understand GEOM stuff (like mirror, stripe, raid, ...), but patches
to change this and to clean it up internally are more than welcome.

Submitted by:	mami@nyitolap.hu
2006-08-07 23:35:49 +00:00
Yoshihiro Takahashi
fe91068c3c Disable an SMP detection on pc98. 2006-03-10 12:18:41 +00:00
Sam Leffler
15b7ca11cd missed a case that needs WITH_SMP
Noticed by:	kensmith
2006-03-09 21:54:32 +00:00
Sam Leffler
9fe7600bbe 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 Davies
cb1dcbdeae 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
John Baldwin
7238c70c3b 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
John Baldwin
d61e43fe1e - 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
David E. O'Brien
bf716a5a75 Remove /stand when we are done with it.
Submitted by:	Ryan Sommers <ryans@gamersimpact.com>
2005-02-07 04:25:34 +00:00
Ruslan Ermilov
17100a2a55 Removed bitrot. 2005-01-13 13:34:00 +00:00
Ken Smith
83c7f6e5de 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 Moolenaar
e66a84ac14 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
Colin Percival
d37df47d31 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 Moolenaar
486b7efd12 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 Moolenaar
498609452e 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
Peter Grehan
ee607da1b8 Mods for powerpc.
Submitted by:  Suleiman Souhlal <refugee@segfaulted.com>
2004-05-15 05:06:19 +00:00
John Baldwin
1cbf549da4 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
John Baldwin
c686ba3b94 Remove unused variables. 2004-03-11 18:50:05 +00:00
Marcel Moolenaar
04b01085a5 In checkLabels(), deal with the fact that on ia64 we do not have a
disklabel.
2004-01-30 05:21:32 +00:00
Scott Long
0e1cbf3725 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
Robert Watson
7fba2041a7 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
Dag-Erling Smørgrav
79ef1f32da 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
Warner Losh
4cd54ca658 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
David E. O'Brien
c5f8ff3aee 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
David Schultz
1f80683394 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
Scott Long
acb9e0f3f6 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 Wemm
5e8db10ac1 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
John Baldwin
55b1eadc89 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
Robert Watson
b459937e0c 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 Davies
1fd65abf88 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
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
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
Marcel Moolenaar
6bd2f17909 ia64: make link /boot->efi/boot relative.
Approved by: re (murray)
2002-11-30 19:54:19 +00:00
John Baldwin
25fd437b15 - 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 Moolenaar
2017c38b33 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 Moolenaar
658b45adb4 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 Moolenaar
df81b3e662 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
Poul-Henning Kamp
9c95e0d9e9 Confirmed kill: "Bogon #1" is dead, killed by DEVFS. 2002-10-25 11:47:58 +00:00
Poul-Henning Kamp
09c3a0c7c5 Comment out more MAKEDEV bogosity ("BOGON #1" as Jordan put it :-) 2002-10-25 09:54:27 +00:00
Poul-Henning Kamp
ac715696fc Fix cut&paste mistake. 2002-10-23 14:37:43 +00:00
Poul-Henning Kamp
e20037ab6b Remove more private MAKEDEV kludges. 2002-10-22 15:25:19 +00:00
Poul-Henning Kamp
0dd72760f0 Give a real error on failure to mount DEVFS. 2002-10-22 15:07:17 +00:00
Poul-Henning Kamp
d8d00fade9 Pick up a prototyp from libdisk.h instead of having our own. 2002-10-22 09:13:27 +00:00
Poul-Henning Kamp
427baedb08 DEVFS has been nmountified, so use nmount(2) to mount it. 2002-10-21 21:41:19 +00:00
David E. O'Brien
eec2e4bdde * 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
Makoto Matsushita
069f4a6841 Create symlink for /etc/group. MAKEDEV file will use this file (group name
to gid conversion).

PR:		43455
Submitted by:	n-kogane@syd.odn.ad.jp
X-MFC after:	immediately if re@ permits, or after 4.7-RELEASE is out
2002-09-28 17:06:07 +00:00
David E. O'Brien
4807422fe7 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