-
Notifications
You must be signed in to change notification settings - Fork 14
Commit
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
- Loading branch information
1 parent
de7760b
commit ea96f0e
Showing
1 changed file
with
25 additions
and
3 deletions.
There are no files selected for viewing
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -1,8 +1,30 @@ | ||
# frzr | ||
|
||
frzr is a deployment and automatic update mechanism for operating systems. It deploys pre-built systems via read-only btrfs subvolumes, thus ensuring safe and atomic updates that never interrupt the user. | ||
frzr is a deployment and automatic update mechanism for operating systems. | ||
|
||
It deploys pre-built systems that have been generated using btrfs send to snapshot a rootfs image. | ||
|
||
## Features | ||
Despite frzr being the deployment software for chimeraos it has been designed to handle every linux distribution, | ||
even embedded ones or the more traditional ones. | ||
|
||
Each distibution can either be immutable or read/write, immutable distros can choose how they want to achieve the goal | ||
and implement a distro-specific way of unlocking the filesystem. | ||
|
||
frzr aims at: | ||
- ensuring safe and atomic updates that never interrupt the user | ||
- distributing a known tested and working copy of a system | ||
- allows easier transitioning among different operating systems and versions | ||
- allows installing one kernel that can be shared among all installed systems | ||
|
||
## How | ||
Updated system images are downloaded at boot time and deployed to an entirely separate subvolume so as not to interfere with the currently running system. Upon next boot, the newly installed system is started and the old one is deleted, completely seamlessly and invisibly. | ||
|
||
Persistence is handled by making `/home` and `/var` separate subvolumes mounted into the read-only root. | ||
`/etc` is made read-write via overlayfs. | ||
Actions to be performed when installing the system, unlocking it (if required) and uninstalling it are distro-specific and are provided | ||
via scripts that frzr runs when performing the requested action. | ||
|
||
## More | ||
To ease system management and system debuggability frzr can be used to keep a primary distro on the main btrfs subvolume and | ||
manage deployments in a completely separate way so that your beloved archlinux install will remain usable whenever you want to. | ||
|
||
Also frzr ships with utilities that are meant to regenerate bootloader entries whenever a kernel gets installed or uninstalled. |