Commit Graph

307 Commits

Author SHA1 Message Date
sjg
b137080f19 Merge from head@274682 2014-11-19 01:07:58 +00:00
nwhitehorn
4da361c240 Rewrite some of the disk setup documentation to be clearer and contain
less obsolete information. Also move the entropy command down the list --
the list is ordered by likelihood of use rather than alphabetically.

MFC after:	1 week
2014-10-31 23:52:02 +00:00
nwhitehorn
73e76bf94f Only allow ZFS boot on GPT; the MBR ZFS bootblocks cannot be installed using
gpart bootcode as /boot/zfsboot needs to be split into multiple pieces by
hand and copied to different areas of the partition.
2014-10-12 17:59:31 +00:00
nwhitehorn
7b413fd1e3 Centralize determination of boot firmware (UEFI vs. BIOS/CSM) into a
function x86_bootmethod() and fix deviations from style(9).
2014-10-12 17:50:25 +00:00
dteske
b1da57a21d Optimize program flow for execution speed. Also fix some more style(9) nits
while here:
+ Fix an issue when extracting small archives where dialog_mixedgauge was
  not rendering; leaving the user wondering if anything happened.
+ Add #ifdef's to assuage compilation against older libarchive
  NB: Minimize diff between branches; make merging easier.
+ Add missing calls to end_dialog(3)
+ Change string processing from strtok(3) to strcspn(3) (O(1) optimization)
+ Use EXIT_SUCCESS and EXIT_FAILURE instead of 0/1
+ Optimize getenv(3) use, using stored results instead of calling repeatedly
  NB: Fixes copy/paste error wherein we display getenv(BSDINSTALL_DISTDIR) in
      an error msgbox when chdir(2) to getenv(BSDINSTALL_CHROOT) fails
      (wrong variable displayed in msgbox).
+ Use strtol(3) instead of [deprecated] atoi(3)
+ Add additional error checking (e.g., check return of archive_read_new(3))
+ Assign DECONST strings to static variables
+ Fix typo in distextract.c error message (s/Could could/Could not/)
+ Add comments and make a minor whitespace adjustment

Reviewed by:	nwhitehorn, julian
2014-10-01 18:59:57 +00:00
dteske
6ad59c5594 Use snprintf(3) in place of unbounded sprintf(3) (prevent buffer overflow).
Use adequately sized buffer for error(s) (512 -> PATH_MAX + 512).
Fix the following style(9) nits while here:
- distfetch.c uses PATH_MAX while distextract.c uses MAXPATHLEN;
  standardize on one (PATH_MAX)
- Move $FreeBSD$ from comment to __FBSDID()
- Sort included headers (alphabetically, sys/* at top)
- Add missing header includes (e.g., <stdlib.h> for getenv(3),
  calloc(3)/malloc(3)/free(3), and atoi(3); <string.h> for strdup(3),
  strrchr(3), strsep(3), and strcmp(3); <ctype.h> for isspace(3); and
  <unistd.h> for chdir(2), etc.)
- Remove rogue newline at end of distfetch.c
- Don't declare variables in if-, while-, or other statement
NB: To prevent masking of prior declarations atop function
- Perform stack alignment for variable declarations
- Add missing function prototype for count_files() in distextract.c
- Break out single-line multivariable-declarations
NB: Aligning similarly-named variables with one-char difference(s)
NB: Minimizes diffs and makes future diffs more clear
- Use err(3) family of functions (requires s/int err;/int retval;/g)

Reviewed by:	nwhitehorn, julian
2014-09-29 00:35:12 +00:00
allanjude
a7af222dcd Change the /var dataset in the default ZFS layout to have the
ZFS property canmount=off so that /var/db/pkg and other such directories
are part of the / dataset, and only /var/mail, /var/log, and /var/crash
are excluded from the ZFS boot environment (beadm).

PR:		193971
Approved by:	jmg
MFC after:	ASAP
Relnotes:	yes
Sponsored by:	ScaleEngine Inc.
2014-09-28 21:44:23 +00:00
des
757078cc13 Add a line to the post-installation configuration dialog to enable the
local_unbound service.

MFC after:	3 days
2014-09-26 11:38:10 +00:00
nwhitehorn
2e44338b35 ZFS support isn't actually experimental anymore, so no need to scare
people.
2014-09-14 02:31:53 +00:00
allanjude
cb96a5f02e Make the root-on-zfs part of the installer warn a user who booted the installer via UEFI that we do not support booting ZFS via UEFI yet
PR:		193595
Approved by:	nwhitehorn
MFC after:	5 days
Sponsored by:	ScaleEngine Inc.
CR:		https://reviews.freebsd.org/D782
2014-09-14 01:57:22 +00:00
nwhitehorn
7d76d60b0e Rename the choices in the partitioning methods dialog to reflect current
reality. In particular, draw a connection between the auto ZFS script and
the auto UFS one, since they fulfill similar functions. I'm not sure the
auto ZFS code is actually experimental anymore, so it might be worth
changing that label still.
2014-09-13 22:14:19 +00:00
nwhitehorn
7d7cd42c1e Make the default choice for the chroot shell at the end be "No". This allows
just pressing enter repeatedly to successfully install a reasonable system.
2014-09-13 22:03:51 +00:00
nwhitehorn
5630fccbd4 Add ZFS support to the bsdinstall partition editor and sade.
Submitted by:	Kurt Lidl (original version)
MFC after:	6 weeks
2014-09-13 18:24:54 +00:00
se
aee8320036 More man pages that need to know about vt in addition to syscons.
MFC after:	3 dayS
2014-08-26 10:55:08 +00:00
sjg
d7cd1d425c Merge head from 7/28 2014-08-19 06:50:54 +00:00
thompsa
ffe6b11ba6 Give a brief message as to what error was encountered to help the user along.
Reviewed by:	nwhitehorn
MFC after:	2 weeks
2014-08-07 01:51:01 +00:00
des
7ae51a973c Strip the patch level from the release name before trying to fetch the
distribution.

PR:		170264
Approved by:	nathanw
MFC after:	1 week
2014-07-24 17:43:42 +00:00
nwhitehorn
52fcd3cd61 Allow up to 512K for boot code on GPT with BIOS. As pmbr.s says in a comment,
"545K should be enough for any boot code". This rounds down slightly.

Reported by:	Matthew Fuller
MFC after:	2 weeks
2014-07-11 23:41:56 +00:00
nwhitehorn
6fa381c0bf After EFI support was added to the installer, it needed to allow boot
partitions of types other than "freebsd-boot" (in particular, "efi").
This allows the removal of some nasty hacks for supporting PowerPC systems,
in particular aliasing freebsd-boot to apple-boot on APM and an IBM-specific
code on MBR.

This changes the installer to use the correct names, which also breaks a
degeneracy in the meaning of "freebsd-boot" that allows the addition
of support for some newer IBM systems that can boot from GPT in addition to
MBR. Since I have no idea how to detect which those systems are, leave
the default on IBM PPC systems as MBR for now.
2014-07-04 15:55:32 +00:00
bapt
c0cd28f928 use .Mt to mark up email addresses consistently (part2)
PR:		191174
Submitted by:	Franco Fichtner  <franco@lastsummer.de>
2014-06-20 09:57:27 +00:00
dteske
951d63dbce Fix syntax error thrown at the point of creating the root pool, caused by
an embedded newline appearing within the options string surrounded by
double-quotes. Rework the logic that goes into setting dataset options on
the root pool dataset while we're here -- added two new variables (which
can be altered via scripting) ZFSBOOT_POOL_CREATE_OPTIONS and also
ZFSBOOT_BOOT_POOL_CREATE_OPTIONS for setting pool/dataset attributes at
the time of pool creation. The former is for setting options on the root
pool (zroot) and the latter is for setting options on the optional separate
boot pool (bootpool) implicitly enabled when using either GELI or MBR. The
default value for the root pool variable (ZFSBOOT_POOL_CREATE_OPTIONS) is
"-O compress=lz4 -O atime=off" and the default value for separate boot pool
variable (ZFSBOOT_BOOT_POOL_CREATE_OPTIONS) is NULL (no additional options
for the separate boot pool dataset).

Reviewed by:	allanjude
MFC after:	7 days
X-MFC-with:	r266107-266109
2014-05-22 19:36:29 +00:00
sjg
5860f0d106 Updated dependencies 2014-05-16 14:09:51 +00:00
brooks
274f59a96f Revert r261296. This removes the WITHOUT_NCURSESW option.
It was the wrong direction.  We will instead remove use of the
non-wide-character supporting libncurses.
2014-05-15 16:44:25 +00:00
roberto
cd93c84c8a Fix the "disks" variable reuse.
It starts off being used to track the grammar for the number of disks
(singular vs plural) and then it is reused as the list of available disks.

Replace the variable with disks_grammar and move 'disk' and 'disks' to
msg_ vars so they can be translated in the future.

Submitted by:	Allan Jude <freebsd@allanjude.com>
Reviewed by:	roberto
MFC after:		2 weeks
Sponsored by:	ScaleEngine Inc.
2014-05-15 02:37:59 +00:00
roberto
c0057ab005 Updates to the datasets created by zfsboot.
Set compress=lz4 for the entire pool, removing it from the individual
datasets

Remove exec=no from /usr/src, breaks the test suite.

Submitted by:	Allan Jude <freebsd@allanjude.com>
Reviewed by:	roberto
MFC after:		2 weeks
Sponsored by:	ScaleEngine Inc.
2014-05-15 02:31:02 +00:00
roberto
5ec52895ae Here is a patch for the bsdinstall root-on-zfs stuff that adds optional
encryption for swap, and optional gmirror for swap (which can be combined)

Submitted by:	Allan Jude <freebsd@allanjude.com>
Requested By:	roberto
Sponsored By:	ScaleEngine Inc.
MFC after:		2 weeks
2014-05-15 02:27:10 +00:00
sjg
1a7e48acf1 Updated dependencies 2014-05-10 05:16:28 +00:00
sjg
ed3fc70bf5 Merge from head 2014-05-08 23:54:15 +00:00
imp
2118f42afd Use src.opts.mk in preference to bsd.own.mk except where we need stuff
from the latter.
2014-05-06 04:22:01 +00:00
sjg
5e568154a0 Merge head 2014-04-28 07:50:45 +00:00
nwhitehorn
50efd3e888 Finish connecting up installer UEFI support. If the kernel was booted using
EFI, set up the disks for an EFI system. If booted from BIOS/CSM, set up
for BIOS.
2014-04-27 15:58:07 +00:00
nwhitehorn
881682da6d Add EFI support to the installer. This requires that the kernel provide
a sysctl to determine what firmware is in use. This sysctl does not exist
yet, so the following blocks are in front of the wheels:
- I've provisionally called this "hw.platform" after the equivalent thing
  on PPC
- The logic to check the sysctl is short-circuited to always choose BIOS.
  There's a comment in the top of the file about how to turn this off.

If IA64 acquired a boot1.efifat-like thing (probably with very few
modifications), the same code could be adapted there.
2014-04-26 16:55:38 +00:00
dteske
29b32a9988 Update zfsboot to coincide with r264840 to bsdconfig(8) adding
GEOM support (thereby adding GEOM support to the disk selection
menu of bsdinstall(8)'s `zfsboot' module updated herein).

MFC after:	1 week
X-MFC-with:	264840
2014-04-23 22:06:43 +00:00
dteske
aff0da331c When merging docsinstall and zfsboot updates to stable/9 it was discovered
that the slightly older dialog(1) requires --separate-output when using the
--checklist widget to force response to produce unquoted values (whereas in
stable/10 --checklist widget without --separate-output will only quote the
checklist labels in the response if the label is multi-word (contains any
whitespace).

Since these enhancements (see revisions 263956 and 264437) were developed
originally on 10, the --separate-output option was omitted. When merged to
stable/9, we (Allan Jude) and I found during testing that the "always-
quoting" of the response was causing things like struct interpolation to
fail (`f_struct device_$dev' would produce `f_struct device_\"da0\"' for
example -- literal quotes inherited from dialog(1) --checklist response).

To see the behavior, execute the following on stable/9 versus stable/10:

        dialog --checklist disks: 0 0 0 da0 "" off da1 "" off

Check both items and hit enter. On stable/10, the response is:

        da0 da1

On stable/9 the response is:

        "da0" "da1"

If you use the --separate-output option, the response is the same for both:

        da0
        da1

So applying --separate-output on every platform until either one of two
things occurs 1) dialog(1,3) gets synchronized between stable/9, higher or
2) we drop support for stable/9.

MFC after:      3 days
Reviewed by:    Allan Jude
2014-04-15 06:56:59 +00:00
dteske
c717c48c00 Fix typo in debug/log statement.
Submitted by:	Rick Miller <vmiller@hostileadmin.com>
2014-04-14 05:35:01 +00:00
imp
c39e6fc2c9 NO_MAN= has been deprecated in favor of MAN= for some time, go ahead
and finish the job. ncurses is now the only Makefile in the tree that
uses it since it wasn't a simple mechanical change, and will be
addressed in a future commit.
2014-04-13 05:21:56 +00:00
bdrewery
5552863ce9 Revert r263638 (create /root dataset) for now as it breaks install and needs
more work in cases such as single-user mode.
2014-03-26 13:41:30 +00:00
bdrewery
841158cbfb Create a root dataset so that /root is outside of the boot environment.
Discussed with:	dteske on sysinstall@
MFC after:	1 month
2014-03-22 15:59:26 +00:00
dteske
8d6b83dafa Add zfsboot to the scripted interface of bsdinstall(8); oops!
NB: If the zfsboot variables ($ZFSBOOT_*) are set, a script is
assumed to want zfsboot module instead of scriptedpart module.

Submitted by:	Loïc Brarda <loic.brarda@cern.ch>
Reviewed by:	nwhitehorn@
MFC after:	3 days
2014-02-16 06:56:44 +00:00
brooks
f1b43045b3 Merge from CheriBSD:
commit c1acf022c533c5ae27e0cd556977eafe3f5959eb
Author: Brooks Davis <brooks@one-eyed-alien.net>
Date:   Fri Jan 17 21:46:44 2014 +0000

    Add an option WITHOUT_NCURSESW to suppress building and linking to
    libncursesw.  While wide character support it useful we'd like to
    only need one ncurses library on embedded systems.

MFC after:	4 weeks
Sponsored by:	DARPA, AFRL
2014-01-30 21:08:36 +00:00
dteske
b57dd101a6 Dummy commit (whitespace changes and style nits) to show previous commit
(SVN r260866) was [in-part] Submitted-by: Christoph Mallon ...
<christoph.mallon@gmx.de>

MFC After:	3 days
X-MFC-With:	r260866
2014-01-20 03:39:08 +00:00
dteske
978dfbc517 Fix a bad comparison operator (s/==/=/), and address a use-case issue where-
in the one-line comment associated with the dumpdev setting was not present
for the case where the user deselects the dumpdev service (restoring pre-
r256348 behaviour.

MFC After:	3 days
2014-01-18 22:33:49 +00:00
gavin
1abdd16f08 Allow bsdinstall to use WPA-Enterprise networks when installing. This
only allows basic username/password config, and does not provide the
ability to set any of the other WPA options.  Regardless, this is
generally sufficient to associate.

Perhaps in the future this could allow full configuring (e.g. being able
to set "anonymous identity", and perhaps some of the more obscure WPA
options), though perhaps that will better belong in bsdconfig when that
grows wlan config ability.

MFC after:	1 week
2014-01-04 17:09:41 +00:00
gavin
cde12fe364 Lower the priority of the "connect to any open wireless network" network
description, so guaranteeing that any other defined network will be tried
first.

MFC after:	1 week
2014-01-04 16:44:05 +00:00
gavin
ab5cf84496 Remove what appears to be a stray debugging printf.
MFC after:	1 week
2014-01-04 16:41:43 +00:00
dteske
c09ab6dda4 Move the installer's keymap solution introduced by SVN r259468. The new
location of /etc/rc.local on the install media is more appropriate as it
knows serial vs. non-serial and can also do the change earlier (so that
even the initial Install dialog can benefit from the change).

MFC after:	3 days
2013-12-21 16:43:40 +00:00
dteske
35d79b6af9 When using a bootpool, set the cachefile property so that it gets
imported automatically upon reboot to the newly installed system.

MFC after: 1 day
2013-12-19 06:43:52 +00:00
dteske
d215e77160 Fix a regression that occurred with SVN revisions 259474 and 259476 where
installation to 3-4+ (depending on vdev type) vdevs would result in odd
error messages where the zpool `create' command appeared to repeat itself
(an artifact of printf when you supply too many arguments -- caused by
neglecting to properly quote the multi-word expansion of $*vdevs when
creating the pool(s)). Example error below (taken from bsdinstall_log):

DEBUG: zfs_create_boot: Creating root pool...
DEBUG: zfs_create_boot: zpool create -o altroot=/mnt -m none -f "zroot" \
ada0p3.nop ada1p3.nopzpool create ada2p3.nop "ada3p3.nop"
DEBUG: zfs_create_boot: retval=1 <output below>
cannot open 'ada1p3.nopzpool': no such GEOM provider
2013-12-19 06:41:30 +00:00
dteske
d6765683c9 In bsdinstall_log, it's rather confusing to see the following sequence:
DEBUG: Running installation step: hostname
  rm: /tmp/bsdinstall_etc/fstab: No such file or directory

The two lines are unrelated, and the rm is spurious. Let's add `-f' to
that rm(1) so it doesn't confuse us when debugging an install.

MFC after:	3 days
2013-12-18 21:16:57 +00:00
dteske
2918b19aa3 Fix "[: -eq: argument expected" error introduced by SVN r256343. The code
should not have used DIALOG_CANCEL because dialog.subr wasn't included to
define it. The effect of the error was that you could not cancel the
partition dialog. Discovered by checking bsdinstall_log for something else.

MFC after:	3 days
2013-12-18 21:13:50 +00:00
dteske
2977cb4d97 Auto-enable 4k sector alignment when disk encryption is requested (it is
required in such a case). But don't prevent the user from pointing the
gun at his/her foot -- you can disable 4k alignment after enabling geli).

MFC after:	3 days
2013-12-16 19:54:55 +00:00
dteske
0276966f19 Fix a long-standing edge-case that would result in a ghosted `zroot' pool
and subsequent headaches caused by multiple pools with the same name.
Specifically, blast away any labels on the designated swap partition.
Problem was when you install to a given layout *with* swap and then turn
around and re-install the same layout *without* swap (we weren't doing a
labelclear for the swap device, so would end up with an "UNAVAIL" status
zroot pool that may only exist in the pool cache).

MFC after:	3 days
2013-12-16 19:51:11 +00:00
dteske
e11c90e082 Add kern.geom.label.disk_ident.enable="0" to loader.conf(5).
Discussed on:	-current, -stable
MFC after:	3 days
2013-12-16 19:47:04 +00:00
dteske
af1737bdd0 De-uglify the geli(8)-setup infobox by adding a newline.
MFC after:	3 days
2013-12-16 19:44:45 +00:00
dteske
9a0d8387d6 fletcher4 is currently the default.
Discussed on:	-current
MFC after:	3 days
2013-12-16 19:43:04 +00:00
dteske
848379254c Improve default ZFS disk layout (tested):
+ For GPT, always provision zfs# partition after swap [for resizability]
+ For MBR, always use a boot pool to relialy place root vdevs at EOD
NB: Fixes edge-cases where MBR combination failed boot (e.g. swap-less)
+ Generalize boot pool logic so it can be used for any scheme (namely MBR)
+ Update existing comments and some whitespace fixes
+ Change some variable names to make reading/debugging the code easier
  in zfs_create_boot() (namely prepend zroot_ or bootpool_ to property)
+ Because zroot vdevs are at EOD, no longer need to calculate partsize
  (vdev consumes remaining space after allocating swap)
+ Optimize processing of disks -- no reason to loop over the disks 3-4
  separate times when we can logically use a single loop to do everything

Discussed on:	-stable
MFC after:	3 days
2013-12-16 19:37:15 +00:00
dteske
3f6c781fcb Bug-fixes and debugging improvments:
+ De-obfuscate debugging to show actual values
+ Change graid(8) syntax; s/destroy/delete/ [destroy is not invalid syntax]
+ Log commands that were previously quiet
+ Added some new comemnts and updated some existing ones
+ Add missing local for `disk' used in zfs_create_boot()
+ Use $disks instead of multiply-expanding $* in zfs_create_boot()
+ Pedantically unset variable holding geli(8) passphrase after use
+ Pedantically add double-quotes around zpool names and zfs datasets
+ Fix quotation expansion for zpool_cache entries of loader.conf(5)
+ Some limited whitespace changes

MFC after:	3 days
2013-12-16 18:53:09 +00:00
dteske
a1af8245fa Accept NULL input as also meaning zero swap.
MFC after:	3 days
2013-12-16 17:11:09 +00:00
dteske
52ad3a45b0 As per discussions on -current, re-add /var/mail (removed in r257842) but
this time with atime=on in support of various software that requires it.

Discussed on:	-current
MFC after:	3 days
2013-12-16 17:03:44 +00:00
dteske
20ef786e2b Mask error from newaliases(1) when the hostname is not fully qualified.
MFC after:	3 days
2013-12-16 15:52:44 +00:00
dteske
f6443b03f1 Add a fix for Long-standing problem with VMware. Described in below links:
https://communities.vmware.com/thread/107230
https://communities.vmware.com/docs/DOC-11677

Basically, ignore the ``function 62'' and ``function 63'' interpretations
of the left/right command key when we're in the lengthiest portion of the
installation (initiated by the `auto' module).

The net effect is that you can now (once you've started the installer from
the media) escape the VM without prematurely terminating the current action
due to spurious escape sequence.

MFC after:	3 days
2013-12-16 15:50:59 +00:00
dteske
a2907c1e4c I caught the following snippet at the end of my /var/log/bsdinstall_log:
===
DEBUG: Running installation step: services
local: Not in a function
/usr/libexec/bsdinstall/services: cannot create  : Read-only file system
/usr/libexec/bsdinstall/services: /tmp/bsdinstall/etc/rc.conf.services: \
 Permission denied
===
The `local: Not in a function' is obvious, and was introduced by myself in
SVN revision 256348.

The latter two are caused by the attempt to use "\" to continue the line
after using the ">>" redirect. This appears to attempt to write a file with
the name " " in the current directory and subsequently attempts to execute
the file that was originally intended for writing (which is not executable;
hence the `Permission denied'). That was introduced in SVN r228192 about
2 years ago, apparently unnoticed until I started going over the debug
outputs very carefully.

MFC after:	3 days
2013-12-12 20:47:18 +00:00
dteske
c1cb1ccfd4 Fix a regression introduced by SVN r257842; resulting in mountroot prompt
after attempting to install to encrypted ZFS root (caused by a typo in a
variable name -- ZFSBOOT_BOOT_FSNAME -> ZFSBOOT_BOOTFS_NAME).

MFC after:	3 days
2013-12-09 23:58:26 +00:00
dteske
aa13922be7 Fix a regression introduced by SVN r257842. Result was that after
successfully installing to encrypted ZFS root, the passphrase is
not accepted and a message about "incorrect key" is displayed.

MFC after:	3 days
2013-12-09 22:58:26 +00:00
eadler
aa42e6670a sed(1): Use /i instead of /I
the i modifier was added in r259132 since POSIX recently agreed to add
	it. Switch uses of /I to /i.
2013-12-09 22:56:19 +00:00
dteske
07998598b8 Forgot to utilize feature added in SVN r257782 to prevent truncating
/tmp/bsdinstall_log each time we exec a module.

MFC after:	3 days
2013-12-09 03:38:18 +00:00
dteske
0526a84d73 Fix a regression introduced by SVN r257842 that prevents Encryption from
being enabled.

MFC after:	3 days
2013-12-04 16:06:23 +00:00
dteske
142f1bd976 Switch default MBR bootcode from /boot/boot0 to /boot/mbr.
Reviewed by:	Allan Jude, nwhitehorn
Discussed on:	-current
2013-11-11 21:42:56 +00:00
dteske
ff748f24da Check the partition scheme before blowing away disks, instead of after.
The effects of this patch would only be noticeable if you were purposefully
setting a bad value and trying to see what happens; and leaving the disks
intact if a bad value has been set seems fair.
2013-11-11 02:13:47 +00:00
joel
2eebadc772 mdoc: add missing El. 2013-11-08 23:11:04 +00:00
dteske
fd1717ac3e I often forget that debugFile can begin with a + for deciding that debug
should be sent to both the file (minus the leading +) and stdout.
2013-11-08 10:19:48 +00:00
dteske
48ab78cd4b Copy the install log to the deployed /var/log directory so that we have
post-mortem data on how the machine was configured/installed.
2013-11-08 10:14:32 +00:00
dteske
0ebfc82a28 Semi-revert this one file out of r257842. The ttys(5) stuff, as we
discussed on -current, was not supposed to go in but get solved in
a different way -- e.g., init(8) logic).

Discussed on:   -current
2013-11-08 10:09:34 +00:00
dteske
c32f228833 A series of changes tested together as a whole:
+ Add a `-D FILE" command-line option for overriding the path to the
  bsdinstall log file (BSDINSTALL_LOG env var).
+ Document new `-D FILE' in the man page for bsdinstall.
+ If FILE in `-D FILE' begins with a +, debug output goes to stdout
  (interleaved between dialog(1) invocations/output) as well as to FILE
  (minus the leading + of course).
+ If BSDINSTALL_LOG cannot be written, then debugging is disabled (except in
  the case of a leading + in the pathname, wherein debug will still be
  printed to stdout).
+ Update source code formatting style.
+ Fix a dangling participle ("Begun ..." -> "Began ...")
+ Rewrite the docsinstall script (was necessary to abate direct dependency
  on BSDINSTALL_LOG (instead, use fault-tolerant bsdconfig framework which
  displays appropriate errors for package management).
NB: docsinstall is still using pkg(8) after this change.
+ Add additional debug output for dhclient/rtsol/wpa_cliscan
+ Display script errors in a textbox rather than just on stdout
+ Update many coments.
+ Add new f_show_err() API call (like f_show_msg but changes the dialog
  title to "Error")(see bsdconfig's `common.subr').
+ Add new f_eval_catch() API call for executing a command via eval but not
  before logging the command to debug. Several example cases documented in
  API header for function in bsdconfig's `common.subr'.
+ Fix dialog auto-sizing when launched as an rvalue to a pipe for indirected
  scripts (previously would default to 24x80 sizing in this case, now it can
  autosize to full size even when in a pipe chain).
+ Fix bug in f_snprintf if $format argument began with "-"; printf would
  misinterpret as a flag. (this is in bsdcofig's `strings.subr').
+ Add accompanying f_sprintf() and f_vsprintf() to go along with already
  existing f_snprintf() and f_vsnprintf() (see bsdconfig's `strings.subr').
+ Remove some unnecessary default ZFS datasets from the automatic "zfsboot"
  script. Such as: /usr/ports/distfiles /usr/ports/packages /usr/obj /var/db
  /var/empty /var/mail and /var/run (these can all be created as-needed once
  the system is installed).
+ Remove setuid=off for /usr/home (as discussed from last round of CFT).
+ Fix some i18n string violations in "zfsboot".
+ Bolster debugging output in "zfsboot".
+ Fix some string quoting issues in "zfsboot".
+ Fix some variable scope issues in "zfsboot".
+ Change "Create" to "Install" in "zfsboot" main menu.
+ Increase error checking in "zfsboot" (type-check arguments and such).
+ Add call to "graid destroy" killing automatic metadata (part of the series
  of pedantic destructions we do when bootstrapping a new/naked disk).
+ Make judicious use of new f_eval_catch() in "zfsboot".
+ Fixup some variable names for consistency (zfsboot).
+ Fix an underride syntax parameter expansion folly (zfsboot).
+ Confirm layout if not explicitly chosen when blindly proceeding (no
  longer have to touch anything on the ZFS menu if it scares you, just
  choose the omnibus "Install" option at the top and you'll be prompted to
  select vdev type and disks in the layout confirmation dialog).
+ Change numbered menu items to alphabetic for more efficient navigation.
+ Consolidate vdev selection and disk selection into a single stateful
  menu which performs validation and allows backing out to each previous
  menu as you go deeper.
+ Redesign the ``Last Chance'' dialog (still using the same colors, but
  make it conform to a tolerable width and make disks appear in a block-
  quote style indented region).
+ Fix a bug wherein we used the a lowercase variable name by accident
  (actual variable name declared as all-uppercase) at the time of
  initializing fstab(5) (not believed to cause any issues though).
+ Update the geli setup infobox for each provider being initialized
  (not just at the onset -- since each ``geli init'' causes kernel messages
  to push our infobox off-screen).

Reviewed by:	Allan Jude <freebsd@allanjude.com>
Discussed on:	-current
MFC after:	3 days
2013-11-08 09:57:03 +00:00
gjb
2ed67b9eb8 Switch to using pkg(8) for the doc install in bsdinstall(8).
This also bootstraps the system with pkg(8) for future use.

PR:		183488
Submitted by:	Joe Ennis
MFC after:	3 days
Sponsored by:	The FreeBSD Foundation
2013-11-06 15:49:31 +00:00
dteske
7057c4d3ee Make ZFSBOOT_BEROOT_NAME be ROOT by default. This is what sysutils/beadm
and OpenSolaris/Illumos beadm use.

Remove /usr/local and /var/db/pkg datasets.  Andriy Gapon writes:
I want to note that a good implementation of BEs should support a dependent
datasets feature.  Unfortunately, it seems that we do not have any good BE
implementation for FreeBSD right now.  If we had, personally I'd prefer to
have /usr/local in separate filesystem.

NOTE: Until then, remove these datasets.

Discussed on:	src-committers
Submitted by:	Bryan Drewery <bryan@shatow.net>
Reviewed by:	Allan Jude <freebsd@allanjude.com>
MFC after:	3 days
2013-10-15 18:06:33 +00:00
dteske
d7c7ee9fc1 Bump .Dd date (should have been part of SVN r256549) 2013-10-15 17:52:44 +00:00
dteske
519a31817b Man page updates to go along with SVN r256343, introducing zfsboot. 2013-10-15 17:33:30 +00:00
dteske
eab8a23e66 Fix SVN r256540: s/TMPETC/TMPBOOT/ for loader.conf(5) GELI entries. 2013-10-15 15:00:53 +00:00
dteske
a0c68431a2 Document BSDINSTALL_TMPBOOT environment variable introduced by SVN r256343. 2013-10-15 14:46:37 +00:00
dteske
578ce2bfe6 gjb writes: when doing encrypted zfs install, loader.conf should be updated
so bootpool is imported after boot:
        zpool_cache_load="YES"
        zpool_cache_type="/boot/zfs/zpool.cache"
        zpool_cache_name="/boot/zfs/zpool.cache"
otherwise /boot is a broken symlink after the system is up.
http://lists.freebsd.org/pipermail/freebsd-fs/2013-July/017891.html
NOTE: Fix a comment while here.

Reviewed by:	gjb
2013-10-15 14:18:15 +00:00
dteske
c3a4997f1d Add executable bit to docsinstall [old] and entropy [new] scripts.
Approved by:	re (gjb)
2013-10-15 02:07:29 +00:00
sjg
7fcd33c1fa Merge head@256284 2013-10-13 02:35:19 +00:00
sjg
292ec5d301 Updated dependencies 2013-10-13 00:24:00 +00:00
sjg
a5de61803f New dependencies 2013-10-13 00:22:44 +00:00
dteske
b1f224fcfd Remove the dumpdev configuration dialog, merge it into the regular
services configuration and enable it by default. Committed with
slight change to menu text for length and content.

Submitted by:	Allan Jude <freebsd@allanjude.com>
Approved by:	re (glebius)
2013-10-11 21:23:44 +00:00
dteske
f7403a583d Incorporate PR bin/161547 to detect when an interface is wireless.
Patch from PR modified slightly for whitespace and style.

PR:		bin/161547
Submitted by:	Warren Block <wblock@wonkity.com>
Reviewed by:	Allan Jude <freebsd@allanjude.com>
Approved by:	re (glebius)
2013-10-11 21:12:48 +00:00
dteske
0f6f2be75d Rewrite the keymap module to display an actual menu of selectable
keymaps *and* provide a mechanism for testing the selection. With
this commit, bsdinstall is no longer dependent on kbdmap(1). The
keymap test menu was originally submitted by Warren Block but was
modified).

Submitted by:	Warren Block <wblock@wonkity.com>
Reviewed by:	Allan Jude <freebsd@allanjude.com>
Approved by:	re (glebius)
2013-10-11 20:52:42 +00:00
dteske
4ff80fc958 Add zfsboot module as an option for automatic configuration. Default is
to run interactively but it can be scripted too (optinally completely
non-interactive). Currently supports GELI and all ZFS vdev types. Also
performs validation on selections/settings providing error messages if
necessary, explaining (in plain language) what the issue is. Currently
the auto partitioning of naked disks only supports GPT and MBR (VTOC8
pending for sparc64), so is only available for i386/amd64 install.

Submitted by:	Allan Jude <freebsd@allanjude.com>, myself
Reviewed by:	Allan Jude <freebsd@allanjude.com>
Approved by:	re (glebius)
2013-10-11 20:41:35 +00:00
des
4c595af020 After installation, dump 4096 bytes from /dev/random to /entropy in the
newly installed system.  This should greatly increase the amount of
entropy available when SSH host keys are generated during first boot.

Reviewed by:    markm, nathanw
Approved by:	re (gjb)
2013-10-11 20:21:44 +00:00
gavin
068e00d46b Remove ftp5.se.f.o, as per request to -hubs@
Approved by:	re (glebius)
MFC after:	3 days
2013-09-28 13:58:21 +00:00
brd
f1a7c5fc50 - Remove the is (Iceland) mirror per mail from the admins.
Approved by:	re
With hat: clusteradm@
2013-09-27 11:25:37 +00:00
nwhitehorn
23d9cd5eff Add installer support for CHRP/PAPR PowerPC systems that use MBR+BSD
formatting, like x86, but with an additional MBR slice containing a raw
boot partition.

Approved by:	re (gjb)
2013-09-23 14:18:34 +00:00
sjg
62bb106222 Merge from head 2013-09-05 20:18:59 +00:00
gjb
c063aad382 Make sure bootonly.iso for -BETAs and -RCs use the releases/
directory on the FTP mirrors to fetch distributions, since
these are always pushed to releases/ during the release cycle.

MFC after:	3 days
X-MFC-To:	stable/9, releng/9.2
2013-08-13 02:31:46 +00:00
gavin
6d513d7d46 Remove ftp2.tr.freebsd.org, it is out of date.
MFC after:	3 days
2013-07-23 12:20:27 +00:00
gavin
964b11bddf Update mirror list to more closely match
http://www.freebsd.org/doc/en_US.ISO8859-1/books/handbook/mirrors-ftp.html

MFC after:	1 week
2013-07-22 12:56:50 +00:00
bapt
0d23cf9207 Fix bindings of keys when in the partition editor. By adding the usual input binding to the "partlist" sub window.
This is a workaround, as for unknown yet reason the keys binded on the Partition Edition window are the one from partlist instead of the one from standard "formfield"

Reported by:	alfred, nwhitehorn
2013-06-17 15:16:14 +00:00
antoine
9966fe08a7 Add some missing DPADD. 2013-05-11 13:46:05 +00:00
sjg
97d8b94956 sync from head 2013-04-12 20:48:55 +00:00
mm
af89cb16bf Replace deprecated (or remove obsolete) libarchive 2.8 functions
with libarchive 3.0 counterparts
2013-03-22 10:17:42 +00:00
sjg
6d37b86f2b Updated dependencies 2013-03-11 17:21:52 +00:00
sjg
0ee5295509 Updated dependencies 2013-02-16 01:23:54 +00:00
obrien
3028e3f8ab Sync with HEAD. 2013-02-08 16:10:16 +00:00
nwhitehorn
4006779c7a If no resolv.conf has been made for the new system already and the install
media has one already, copy it in lieu of leaving things blank. This
reduces the foot-shooting potential for PXE installs that immediately
add packages.
2013-01-27 23:12:37 +00:00
nwhitehorn
0f7cb9fb67 Properly quote argument.
MFC after:	3 days
2013-01-27 14:49:54 +00:00
nwhitehorn
cdae92a55c Improve error handling and remove an unnecessary check on geom provider
type. GEOM provider names can't duplicate (or shouldn't -- devfs will either
break or only use the first one if they do) so using the first provider
by that name is a sufficient check. This also lets the scripted partitioner
install onto gmirror and geli and such things.
2013-01-22 17:06:28 +00:00
nwhitehorn
bfb934aaf0 Improve documentation of BSDINSTALL_DISTSITE and mdoc. 2013-01-22 15:26:19 +00:00
nwhitehorn
f10df35fdf Clarify that the setup script is optional. 2013-01-22 02:57:53 +00:00
nwhitehorn
e44fb893ef Update change date. 2013-01-22 02:47:08 +00:00
nwhitehorn
abbfa4c9e4 Document bsdinstall scripting as it currently operates. It may change in
the future depending on feedback from people using it to do unattended
system setup.
2013-01-22 02:40:06 +00:00
nwhitehorn
8a9c278485 Remove some debugging code that snuck in. 2013-01-21 02:47:14 +00:00
nwhitehorn
0728096587 Add a scripting frontend. Documentation and release(7) support coming later.
Scripts take the form:

------------------------------------
PARTITIONS=ada0
DISTRIBUTIONS="kernel.txz base.txz ports.txz"

#!/bin/sh
echo "sshd_enable=YES" >> /etc/rc.conf
pkg add puppet
echo "System setup complete"
------------------------------------

The second part of the script (beginning with #!) is run in the newly
installed system after the installation onto ada0 (with default partitioning,
see scriptedpart for more complicated scenarios) is complete.
2013-01-21 01:01:32 +00:00
nwhitehorn
d8e6882b0a If no partition configuration is specified in {}, use the automatic setup
the interactive installer uses.

Example: bsdinstall scriptedpart ada0
Result: Use entire disk for a FreeBSD system with default partition layout
2013-01-20 23:04:21 +00:00
nwhitehorn
23f188e63a Add a simple scripted partitioner. Documentation and more scripting support
will come soon. This lets the install process have a line like:

bsdinstall scriptedpart 'ada0 GPT {1.5G freebsd-ufs /, 10G freebsd-swap,
    auto freebsd-ufs /usr}'

to set up a system with a 1.5GB /, some swap space, and a /usr using the
rest of ada0.

MFC after:	1 month
2013-01-20 22:25:58 +00:00
nwhitehorn
04bf4448ba Make "Finish" the default choice in the partition editor. This lets you
successfully complete an installation with all defaults by pressing
Enter repeatedly until your machine reboots.

MFC after:	3 weeks
2013-01-20 03:55:08 +00:00
nwhitehorn
06869490de Note that cpufreq(4) is not available on all hardware.
PR:		bin/175139
MFC after:	2 weeks
2013-01-12 16:01:58 +00:00
joel
1521a9209e Remove EOL whitespace. 2013-01-12 08:44:54 +00:00
nwhitehorn
1f71059493 Make sade actually be a symlink to partedit, as per the commit message in
r244859, rather than a hardlink. This fixes installation if /usr/sbin
is on a different filesystem than /usr/libexec.

Submitted by:	se
2013-01-02 13:25:11 +00:00
nwhitehorn
0855954c85 Add a man page for the new sade(8), which is mostly the same uninformative
manpage as the old sade(8).
2012-12-30 14:44:14 +00:00
nwhitehorn
13d86a11bb Replace sade the extracted piece of sysinstall with sade the extracted
piece of bsdinstall (although this time with a symlink instead of duplicated
source code).

Discussed on:	freebsd-geom
MFC after:	3 months
2012-12-30 14:35:00 +00:00
nwhitehorn
abab2255bc If invoked as sade, don't complain about having a filesystem on / already
-- it's something you expect (and indeed hope for).

MFC after:	1 week
2012-12-30 14:33:16 +00:00
gjb
3919fe3091 Add missed BETA* to list.
Approved by:	simon (implicit)
MFC after:	3 days
X-MFC-With:	r244058
2012-12-09 22:55:51 +00:00
gjb
972c593040 Get 'uname -r' earlier, so it can be used to determine what branch is
being run to set BSDINSTALL_DISTSITE accordingly.  This change allows
non-RELEASE branches to use the FTP snapshots directory for bootonly.iso
installations.

Approved by:	simon
2012-12-09 22:53:53 +00:00
joel
d0d3e664b5 Remove snapshots.jp.freebsd.org. It stopped working years ago.
Discussed with:	hrs
2012-12-04 07:22:15 +00:00
joel
0e5d56e662 - Remove snapshots.se.freebsd.org [1]
- Add ftp6.se.freebsd.org

Discussed with:	brd [1]
2012-12-03 19:55:00 +00:00
sjg
778e93c51a Sync from head 2012-11-04 02:52:03 +00:00
dteske
4c9a8d4584 Fix bug introduced by r241902 (MANIFEST uses TAB delimiter).
PR:		bin/173140
Approved by:	adrian (co-mentor)
2012-10-27 19:56:57 +00:00
dteske
b8c74d455d Optimize syntax to use builtins and reduce unnecessary forking where possible.
Reviewed by:	nwhitehorn
Approved by:	adrian (co-mentor)
2012-10-22 18:14:27 +00:00
marcel
9dd41e3647 Sync FreeBSD's bmake branch with Juniper's internal bmake branch.
Requested by: Simon Gerraty <sjg@juniper.net>
2012-08-22 19:25:57 +00:00
dteske
dba327264b Fix "unexpected operator" error when passed multi-word first-argument
containing whitespace. Also make other changes to support multi-word
arguments.

PR:		bin/170759
Submitted by:	dteske
Reviewed by:	emaste (mentor)
Approved by:	emaste (mentor)
MFC after:	3 days
2012-08-21 13:46:46 +00:00
eadler
a6ace6deb5 Remove variables which are initialized but never used thereafter reported by gcc46 warning
Approved by:	cperciva
MFC After:	3 days
2012-06-19 06:09:47 +00:00
roberto
ea4708e2d1 Add the IPv6 tag to ftp4.fr.freebsd.org. 2012-05-10 13:30:42 +00:00
nwhitehorn
281f796715 Fix typo.
Submitted by:	pawel dot worach at gmail dot com
MFC after:	3 days
2012-04-04 23:14:01 +00:00
eadler
1ef5fe44d3 Remove trailing whitespace per mdoc lint warning
Disussed with:	gavin
No objection from:	doc
Approved by:	joel
MFC after:	3 days
2012-03-29 05:02:12 +00:00
joel
96b099d4c4 mdoc: document title should be all caps. 2012-03-25 19:34:05 +00:00
nwhitehorn
5bdddf5528 Make the chroot shell more functional by providing devfs.
Reported by:	Robert Simmons
MFC after:	4 days
2012-03-05 02:40:18 +00:00
nwhitehorn
607716a6c6 Fix segfault if distfetch and distextract binaries are run standalone
without the DISTRIBUTIONS environment variable set.

PR:		bin/165492
Submitted by:	Fernando Apesteguia
MFC after:	4 days
2012-02-26 22:09:21 +00:00
kevlo
58f6866e86 Fix a whitespace nit
Reviewed by:	bz
2012-01-31 05:49:49 +00:00
nwhitehorn
b41629d499 Experimental support for booting CHRP-type PowerPC systems from hard disks. 2012-01-25 03:37:39 +00:00
nwhitehorn
3ec7d90475 Warn if trying to install over an existing partition, which usually fails
anyway due to libarchive not being able to overwrite schg flags.

PR:		bin/164278
MFC after:	4 days
2012-01-18 15:59:23 +00:00
nwhitehorn
50bd4baccd Prevent user astonishment by providing the shell option at the end, after
any installer-provided configuration files have been copied. This allows
users to edit their fstab, if desired, and to see what the installer has
placed in rc.conf.

Requested by:	phk
MFC after:	1 day
2011-12-02 02:05:26 +00:00
kensmith
98cd494e62 Add a screen that asks if the user would like to enable crash dumps,
giving them a very brief description of the trade-offs.  Whether the
user opts in or out add an entry to what will become /etc/rc.conf
explaining what dumpdev is and how to turn on/off crash dumps.  The folks
who handle interacting with users submitting PRs have asked for this.

Reviewed by:	nwhitehorn
MFC after:	1 day
2011-12-02 00:38:47 +00:00
kevlo
6473db59df Plug memory leaks and fix open(2) error check.
Reviewed by:	nwhitehorn
MFC after:	3 days
2011-11-28 05:34:16 +00:00
nwhitehorn
42dab25a22 Provide an error message and error handling if there are no network
interfaces in the system. This is a non-fatal error except when doing a
network installation.

PR:		bin/161950
MFC after:	3 days
2011-10-25 16:35:48 +00:00
nwhitehorn
afe77a15ac Provide an error message instead of silent failure if no disks are present
in the system.

PR:		bin/161950
MFC after:	3 days
2011-10-25 16:30:16 +00:00
nwhitehorn
2a95de90da Avoid some "Invalid argument" errors in the installer.
PR:		bin/161926
MFC after:	5 days
2011-10-23 16:57:10 +00:00
kensmith
5adf6f1dc4 Escape the newline so we get a proper line continuation. Without this
the text of the menu selections doesn't get displayed properly and it
makes the installer appear to lock up for no obvious reason.

Reviewed by:	nwhitehorn
2011-10-18 11:29:10 +00:00
nwhitehorn
6d9ae0e723 Avoid magicking into existence sub-partitions due to leftover blocks when
creating new ones by destroying any geom that may have come into
existence immediately after adding a partition. The EBR partition scheme
is particularly enthusiastic about false positives in this case.

MFC after:	3 days
2011-10-08 16:45:03 +00:00
nwhitehorn
051600dbd7 Usability enhancements: do not allow setting a mountpoint on bsdlabel
container partitions, which didn't do anything anyway, and check for
an existing freebsd-boot partition before bothering the user to make one.

PR:		bin/160931
MFC after:	3 days
2011-10-08 14:59:12 +00:00