freebsd-dev/stand/common
Toomas Soome e307eb94ae loader: zfs should support bootonce an nextboot
bootonce feature is temporary, one time boot, activated by
"bectl activate -t BE", "bectl activate -T BE" will reset the bootonce flag.

By default, the bootonce setting is reset on attempt to boot and the next
boot will use previously active BE.

By setting zfs_bootonce_activate="YES" in rc.conf, the bootonce BE will
be set permanently active.

bootonce dataset name is recorded in boot pool labels, bootenv area.

in case of nextboot, the nextboot_enable boolean variable is recorded in
freebsd:nvstore nvlist, also stored in boot pool label bootenv area.
On boot, the loader will process /boot/nextboot.conf if nextboot_enable
is "YES", and will set nextboot_enable to "NO", preventing /boot/nextboot.conf
processing on next boot.

bootonce and nextboot features are usable in both UEFI and BIOS boot.

To use bootonce/nextboot features, the boot loader needs to be updated on disk;
if loader.efi is stored on ESP, then ESP needs to be updated and
for BIOS boot, stage2 (zfsboot or gptzfsboot) needs to be updated
(gpart or other tools).

At this time, only lua loader is updated.

Sponsored by:	Netflix, Klara Inc.
Differential Revision:	https://reviews.freebsd.org/D25512
2020-09-21 09:01:10 +00:00
..
bcache.c command_bcache() does not use argv 2019-05-07 10:01:45 +00:00
boot.c Create kernel module to parse Veriexec manifest based on envs 2019-04-03 03:57:37 +00:00
bootstrap.h loader: zfs should support bootonce an nextboot 2020-09-21 09:01:10 +00:00
commands.c loader: ignore some variable settings if input unverified 2019-07-17 23:33:14 +00:00
console.c
dev_net.c stand: dev_net: correct net_open's interpretation of params 2019-02-15 18:28:51 +00:00
dev_net.h
devopen.c loader: clean up devopen and devclose a bit 2019-12-13 08:41:37 +00:00
disk.c loader: disk_open() should honor D_PARTNONE 2019-06-06 16:27:05 +00:00
disk.h Distinguish between "no partition" and "choose best partition" with a constant. 2019-03-24 18:51:52 +00:00
help.common loader: implement map-vdisk and unmap-vdisk commands 2019-04-26 17:58:44 +00:00
install.c Fix compilation error for install.c in loader 2020-07-31 16:08:25 +00:00
interp_backslash.c Move to tabs for indentation and to 8-space notches, per style(9). 2018-02-08 17:07:27 +00:00
interp_forth.c veloader use vectx API for kernel and modules 2020-03-08 17:42:42 +00:00
interp_lua.c lualoader: drop the filename and word "LUA" from errors 2020-06-03 18:29:32 +00:00
interp_parse.c Move to tabs for indentation and to 8-space notches, per style(9). 2018-02-08 17:07:27 +00:00
interp_simple.c veloader use vectx API for kernel and modules 2020-03-08 17:42:42 +00:00
interp.c loader: fix userboot's ability to detect a guest's interpreter 2020-05-20 21:02:08 +00:00
isapnp.c Prefer uintXX_t to u_intXX_t 2018-03-13 16:33:00 +00:00
isapnp.h
load_elf32_obj.c
load_elf32.c
load_elf64_obj.c
load_elf64.c
load_elf_obj.c veloader use vectx API for kernel and modules 2020-03-08 17:42:42 +00:00
load_elf.c veloader use vectx API for kernel and modules 2020-03-08 17:42:42 +00:00
ls.c
Makefile.depend
md.c
merge_help.awk
metadata.c Remove sparc64 support from the boot loader. 2020-02-03 17:34:57 +00:00
misc.c zalloc_malloc:Free hexdump preceeding buffer when we detect overflow 2020-08-29 21:05:43 +00:00
module.c veloader use vectx API for kernel and modules 2020-03-08 17:42:42 +00:00
newvers.sh Fix stand/newvers.sh with zsh in sh mode 2020-08-12 15:49:10 +00:00
nvstore.c loader: zfs should support bootonce an nextboot 2020-09-21 09:01:10 +00:00
part.c loader: variable i is unused without MBR/GPT support built in 2020-06-16 07:05:03 +00:00
part.h loader: show APFS partition type name 2019-11-04 12:20:19 +00:00
paths.h Regularize my copyright notice 2019-12-04 16:56:11 +00:00
pnp.c Prefer uintXX_t to u_intXX_t 2018-03-13 16:33:00 +00:00
rbx.h
readin.h veloader use vectx API for kernel and modules 2020-03-08 18:48:01 +00:00
reloc_elf32.c
reloc_elf64.c
reloc_elf.c Remove sparc relocation support from reloc_elf.c. 2020-05-01 16:47:54 +00:00
self_reloc.c RISC-V boot1.efi and loader.efi support 2020-07-06 18:19:42 +00:00
vdisk.c loader: vdisk dereference after free 2019-12-13 08:20:20 +00:00
zfs_cmd.c loader: zfs_cmd.c does not really compile without libzfs.h 2020-06-16 07:30:34 +00:00