| ▲ | throw0101a 10 hours ago | |||||||||||||
When setting up root-on-ZFS on FreeBSD, it's worth knowing about boot environments (a concept originally from Solaris): * https://klarasystems.com/articles/managing-boot-environments... * https://wiki.freebsd.org/BootEnvironments * https://man.freebsd.org/cgi/man.cgi?query=bectl * https://dan.langille.org/category/open-source/freebsd/bectl/ * https://vermaden.wordpress.com/2022/03/14/zfs-boot-environme... It lets you patch/upgrade an isolated environment without touching the running bits, reboot into that environment, and if things aren't working well boot back into the last known-good one. | ||||||||||||||
| ▲ | fsmv 7 hours ago | parent | next [-] | |||||||||||||
Best feature of freebsd. I have really messed up the system and successfully restored a boot environment snapshot and everything is fine after. It happens by default with freebsd-update (I hope the new pkg replacement still does it too) | ||||||||||||||
| ▲ | goku12 7 hours ago | parent | prev | next [-] | |||||||||||||
Sounds a lot like the A/B update method used widely in Android and to a lesser extend for embedded GNU/Linux OTA updates. But it uses two distinct boot partitions. Since ZFS is involved here, I assume that boot environments take advantage of its copy-on-write mechanism to avoid duplicating the entire boot dataset. NixOS and Guix use a concept called 'system generations' to do the same without the support of the filesystem. LibOSTree can do the same and is called 'atomic rollback'. Talking about NixOS, does anybody know of a similar concept in the BSD world (preferably FreeBSD)? | ||||||||||||||
| ||||||||||||||
| ▲ | vermaden 7 hours ago | parent | prev | next [-] | |||||||||||||
I would add these to the list: - https://vermaden.wordpress.com/2025/11/25/zfs-boot-environme... | ||||||||||||||
| ▲ | _0xdd 5 hours ago | parent | prev | next [-] | |||||||||||||
Boot environments saved my ass many a time in the last few years. One of my favorite features! | ||||||||||||||
| ▲ | polyduekes 10 hours ago | parent | prev [-] | |||||||||||||
oh, i didnt knew the concept is taken from Solaris, which version of Solaris? and is there any official source that indicates it is from Solaris? | ||||||||||||||
| ||||||||||||||