BEINSTALL.SH(8)

πŸ“¦
version 15.1 Β· 2 versions
, in freebsd 15.1, nixpkgs unstable

πŸ’… BEINSTALL.SH(8) β€” bestie edition πŸŽ€

okay so this is the beinstall.sh page from the System Manager's Manual, and honestly? it's a whole vibe. let's get into it ✨


✨ NAME ✨

beinstall.sh β€” install a boot environment using the current FreeBSD source tree 🌸


πŸ¦‹ SYNOPSIS πŸ¦‹

beinstall.sh [options ...]

πŸ’– DESCRIPTION πŸ’–

beinstall.sh installs a boot environment using the current FreeBSD source tree. no cap. and it doesn't stop there β€” it also automatically performs /etc updates (using etcupdate(8)) and package updates using pkg-upgrade(8), and it does all of that automatically in the new boot environment sandbox. multitasking icon behavior, fr fr πŸ‘‘

Upon successful completion, the system will be ready to boot into the new boot environment. upon failure, the target boot environment will be destroyed. πŸ’€ dramatic but honest.

In all cases, the running system is left untouched, and a reboot into a partially updated system (due to install or hardware failure) cannot happen. that's the whole point, bestie. additionally, the full installation process requires only one reboot as it is performed in a new boot environment. one. single. reboot. we love to see it 🫢

beinstall.sh requires a fully built world and kernel. it also requires pkg(8), which is not present in the base system and has to be installed manually. yes, manually. sorry babes, you gotta do that part yourself πŸ™ˆ

The options provided to beinstall.sh are world and kernel flags like KERNCONF as described in build(7).


🌈 ENVIRONMENT 🌈

User modifiable variables. set these in the environment if desired:

  • BE_UTILITY (default: bectl) β€” utility to manage ZFS boot environments. this can be either bectl(8) from the base system or beadm(1) from ports (sysutils/beadm). pick your fighter πŸ’…
  • CONFIG_UPDATER (default: etcupdate) β€” config updater: etcupdate(8) is supported. set it to an empty string to skip. (yes, empty string, not unset. iykyk)
  • ETCUPDATE_FLAGS (default: -F) β€” flags for etcupdate(8) if used.
  • NO_PKG_UPGRADE (default: "") β€” if not empty, "pkg upgrade" will be skipped. simple as that πŸ“

πŸŽ€ FILES πŸŽ€

  • src/tools/build/beinstall.sh β€” place where beinstall.sh lives in the src tree.

⭐ SEE ALSO ⭐

build(7), development(7), bectl(8), etcupdate(8), pkg(8)


πŸ‘‘ HISTORY πŸ‘‘

beinstall.sh is inspired by and similar in function to Solaris/illumos-style upgrades. vintage inspo, honestly πŸ¦‹

The beinstall.sh manual page first appeared in FreeBSD 12.0.


πŸ’œ AUTHORS πŸ’œ

The beinstall.sh script was implemented by Will Andrews <will@FreeBSD.org>. This manual page was written by Mateusz Piotrowski <0mp@FreeBSD.org>.


πŸ’Œ and that's the whole page, bestie β€” go build your boot environment, stay iconic, and remember: your running system stays untouched the entire time. main character energy 🧚

this page came to you courtesy of Debian, dated October 30, 2020 β€” signed, sealed, and slayed πŸ’…πŸ”₯

πŸ“¦ where this page comes from