xref: /freebsd/share/man/man8/beinstall.8 (revision e63d20b70ee1dbee9b075f29de6f30cdcfe1abe1)
1.\"
2.\" SPDX-License-Identifier: BSD-2-Clause
3.\"
4.\" Copyright (c) 2018 Mateusz Piotrowski <0mp@FreeBSD.org>
5.\"
6.\" Redistribution and use in source and binary forms, with or without
7.\" modification, are permitted provided that the following conditions
8.\" are met:
9.\" 1. Redistributions of source code must retain the above copyright
10.\"    notice, this list of conditions and the following disclaimer.
11.\" 2. Redistributions in binary form must reproduce the above copyright
12.\"    notice, this list of conditions and the following disclaimer in the
13.\"    documentation and/or other materials provided with the distribution.
14.\"
15.\" THIS SOFTWARE IS PROVIDED BY THE AUTHOR AND CONTRIBUTORS ``AS IS'' AND
16.\" ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
17.\" IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
18.\" ARE DISCLAIMED.  IN NO EVENT SHALL THE AUTHOR OR CONTRIBUTORS BE LIABLE
19.\" FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
20.\" DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS
21.\" OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION)
22.\" HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT
23.\" LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY
24.\" OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
25.\" SUCH DAMAGE.
26.Dd October 30, 2020
27.Dt BEINSTALL.SH 8
28.Os
29.Sh NAME
30.Nm beinstall.sh
31.Nd "install a boot environment using the current FreeBSD source tree"
32.Sh SYNOPSIS
33.Nm
34.Op Ar options Ar ...
35.Sh DESCRIPTION
36.Nm
37installs a boot environment using the current
38.Fx
39source tree.
40.Nm
41also automatically performs
42.Pa /etc
43updates
44(using
45.Xr etcupdate 8 )
46and
47package updates using
48.Xr pkg-upgrade 8
49automatically in the new boot environment sandbox.
50.Pp
51Upon successful completion, the system will be ready to boot into the new boot
52environment.
53Upon failure, the target boot environment will be destroyed.
54In all cases, the running system is left untouched
55and a reboot into a partially updated system
56(due to install or hardware failure) cannot happen.
57Additionally, the full installation process requires
58only one reboot as it is performed
59in a new boot environment.
60.Pp
61.Nm
62requires a fully built world and kernel.
63It also requires
64.Xr pkg 8 ,
65which is not present in the base system and has to be installed manually.
66.Pp
67The
68.Ar options
69provided to
70.Nm
71are world and kernel flags like
72.Ev KERNCONF
73as described in
74.Xr build 7 .
75.Sh ENVIRONMENT
76User modifiable variables.
77Set these in the environment if desired:
78.Bl -tag -width indent
79.It Ev BE_UTILITY Pq default: Dq Li "bectl"
80Utility to manage ZFS boot environments.
81This can be either
82.Xr bectl 8
83from the base system or
84.Xr beadm 1
85from ports (sysutils/beadm).
86.It Ev CONFIG_UPDATER Pq default: Dq Li "etcupdate"
87Config updater:
88.Xr etcupdate 8
89is supported.
90Set to an empty string to skip.
91.It Ev ETCUPDATE_FLAGS Pq default: Dq Li "-F"
92Flags for
93.Xr etcupdate 8
94if used.
95.It Ev NO_PKG_UPGRADE Pq default: Dq Li ""
96If not empty,
97.Dq Li pkg upgrade
98will be skipped.
99.El
100.Sh FILES
101.Bl -tag -width indent
102.It Sy src/ Ns Pa tools/build/beinstall.sh
103Place where
104.Nm
105lives in the src tree.
106.El
107.Sh SEE ALSO
108.Xr build 7 ,
109.Xr development 7 ,
110.Xr bectl 8 ,
111.Xr etcupdate 8 ,
112.Xr pkg 8
113.Sh HISTORY
114.Nm
115is inspired by and similar in function to
116Solaris/illumos-style upgrades.
117.Pp
118The
119.Nm
120manual page first appeared in
121.Fx 12.0 .
122.Sh AUTHORS
123The
124.Nm
125script was implemented by
126.An Will Andrews Aq Mt will@FreeBSD.org .
127This manual page was written by
128.An Mateusz Piotrowski Aq Mt 0mp@FreeBSD.org .
129