freebsd-dev/stand/libsa
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
..
amd64
geli loader: implement GELI writes 2020-07-11 06:51:42 +00:00
i386
mips libsa: mips: fix typo that had slipped into the diff on local machine 2019-08-22 21:49:13 +00:00
powerpc
x86 Add support for hypervisor check on x86 2019-10-24 20:02:48 +00:00
zfs loader: zfs should support bootonce an nextboot 2020-09-21 09:01:10 +00:00
__main.c
abort.c Regularize the Netflix copyright 2019-02-04 21:28:25 +00:00
arp.c The libstand's panic() appends its own '\n' to the message, so that users of the API 2018-11-29 18:37:48 +00:00
assert.c The libstand's panic() appends its own '\n' to the message, so that users of the API 2018-11-29 18:37:48 +00:00
bcd.c
bootp.c libsa: bootp is using pointers with different sign 2018-08-01 12:06:39 +00:00
bootp.h libsa: bootp is using pointers with different sign 2018-08-01 12:06:39 +00:00
bootparam.c Prefer uintXX_t to u_intXX_t 2018-03-13 16:33:00 +00:00
bootparam.h
bzipfs.c The libstand's panic() appends its own '\n' to the message, so that users of the API 2018-11-29 18:37:48 +00:00
cd9660.c loader: cd9660_open() warn: is 'buf' large enough for 'struct iso_primary_descriptor'? 2019-12-13 12:36:16 +00:00
cd9660read.c loader: cd9660_open() warn: is 'buf' large enough for 'struct iso_primary_descriptor'? 2019-12-13 12:36:16 +00:00
close.c libsa: remobe unneeded check before free() 2018-06-14 09:10:34 +00:00
closeall.c
crc32_libkern.c Separate kernel crc32() implementation to its own header (gsb_crc32.h) and 2019-06-17 19:49:08 +00:00
dev.c
dosfs.c libsa: dos_checksum() should take unsigned chars 2018-08-07 10:48:36 +00:00
dosfs.h Prefer uintXX_t to u_intXX_t 2018-03-13 16:33:00 +00:00
environment.c libsa: remove leftover whitespace 2020-08-19 20:41:22 +00:00
ether.c
ext2fs.c Prefer uintXX_t to u_intXX_t 2018-03-13 16:33:00 +00:00
fstat.c
getopt.c
gets.c libsa: exit on EOF in ngets 2018-08-09 02:55:48 +00:00
globals.c
gpt.c loader: remove libsa/crc32.c and use version from zlib 2020-03-19 21:05:11 +00:00
gpt.h Eliminate unused uuid parameters from gptread and gptread_table. We 2019-06-05 02:34:58 +00:00
gzipfs.c libsa: gzipfs.c converts pointers to integer types with different sign 2018-08-07 10:53:51 +00:00
hexdump.c zalloc_malloc:Free hexdump preceeding buffer when we detect overflow 2020-08-29 21:05:43 +00:00
in_cksum.c
inet_ntoa.c
ioctl.c
iodesc.h
ip.c Remove unnecessary include from libstand. 2018-10-31 19:59:20 +00:00
libsa.3 libsa(3): Correct statement about FS Write-support, name change 2018-06-09 14:24:16 +00:00
lseek.c
Makefile zalloc_malloc:Free hexdump preceeding buffer when we detect overflow 2020-08-29 21:05:43 +00:00
Makefile.depend Enable veriexec for loader 2019-02-26 06:22:10 +00:00
net.c Wait a maximum of 300 seconds for network send/recv in libsa 2018-12-20 19:27:46 +00:00
net.h Allow efi loader to get network params from uboot 2019-07-12 00:54:20 +00:00
netif.c The libstand's panic() appends its own '\n' to the message, so that users of the API 2018-11-29 18:37:48 +00:00
netif.h
nfs.c Logging improvements to loader::nfs 2019-11-13 03:56:51 +00:00
nfsv2.h
nullfs.c libsa: replace remaining _write callbacks by null_write 2018-02-27 12:53:25 +00:00
open.c libsa: open() should use NULL instead of typecasted 0 2018-06-14 16:11:50 +00:00
pager.c
panic.c Split panic routine 2018-01-26 17:13:00 +00:00
pkgfs.c zalloc_malloc:Free hexdump preceeding buffer when we detect overflow 2020-08-29 21:05:43 +00:00
printf.c loader: asprinf does crash arm64 due to missing NULL pointer check 2019-11-01 06:54:07 +00:00
random.c Fix random() and srandom() prototypes to match the standard. 2017-12-02 00:07:19 +00:00
rarp.c libsa: Consolidate tftp sendrecv into net.c sendrecv 2018-02-15 19:49:15 +00:00
read.c libsa: f_rabuf could be NULL 2018-06-14 09:06:53 +00:00
readdir.c
rpc.c Prefer uintXX_t to u_intXX_t 2018-03-13 16:33:00 +00:00
rpc.h
rpcv2.h
saioctl.h
sbrk.c The libstand's panic() appends its own '\n' to the message, so that users of the API 2018-11-29 18:37:48 +00:00
smbios.c libsa: smbios: Parse the chassis type and export it as smbios.chassis.type 2020-08-20 12:50:49 +00:00
smbios.h Move smbios.c to libsa. 2020-02-20 00:46:22 +00:00
splitfs.c
stand.h zalloc_malloc:Free hexdump preceeding buffer when we detect overflow 2020-08-29 21:05:43 +00:00
stat.c
strcasecmp.c
strdup.c
strerror.c
tftp.c Improve interaction of vectx and tftp 2020-04-07 16:56:34 +00:00
tftp.h
twiddle.c
udp.c Remove unnecessary include from libstand. 2018-10-31 19:59:20 +00:00
ufs.c Move the pointers stored in the superblock into a separate 2020-06-19 01:02:53 +00:00
ufsread.c
uuid_from_string.c Regularize my copyright notice 2019-12-04 16:56:11 +00:00
uuid_to_string.c Regularize my copyright notice 2019-12-04 16:56:11 +00:00
write.c libsa: cstyle cleanup for open/close/read/write sources 2018-06-14 08:58:10 +00:00
xlocale_private.h Regularize the Netflix copyright 2019-02-04 21:28:25 +00:00
zalloc_defs.h loader: cstyle cleanup libsa zalloc sources 2019-09-17 11:35:53 +00:00
zalloc_malloc.c zalloc_malloc:Free hexdump preceeding buffer when we detect overflow 2020-08-29 21:05:43 +00:00
zalloc_mem.h loader: cstyle cleanup libsa zalloc sources 2019-09-17 11:35:53 +00:00
zalloc_protos.h loader: add memalign() to libsa 2019-09-17 13:15:27 +00:00
zalloc.c loader: fix typo in zalloc. 2019-09-20 05:22:34 +00:00