#63 recovery/rescue environment leveraging Btrfs features
Opened 2 years ago by chrismurphy. Modified 2 years ago

Background, and variations on this theme:
fedora-workstation#288 GUI based recovery
#23 OEM preload configuration design
GNOME, Boot Repair Session/App

  • Simple changes leveraging existing layout and tools
    Fedora has a pretty simple layout right now. Currently subvolumes root (mounted at /) and home (mounted at /home). Since 100% of the installation goes to root it's simple to just snapshot it at the very end, possibly naming the subvolume as root.rescue and then a BLS snippet for the rescue option merely uses rootflags=subvol=root.rescue

How would we upgrade this? We can create a rw snapshot, update it with dnf, then ro snapshot it, rename and cleanup everything, and viola.

Installer would need to learn how to create snapshots, and to create different drop-in bootloader snippets with variable rootflags=subvol argument.

  • Same basic idea as above, but a bit more sophisticated. If #62 materializes, we can make the default installation the rescue snapshot, and either replicate via send/receive or seed/sprout. And then btrfs subvolume snapshot root.rescue root to create pre-populated read-write root subvolume that goes on to be modified by the installer with the various post-install customizations that are required.

How would we upgrade this? By installing a root subvolume that Fedora infra has created rather than being local installer created, we can use this as a source snapshot for btrfs send -p and deliver incremental send streams to update the rescue environment to all Fedora users.

Installer needs to learn about seed/sprout or send/receive replication in addition to snapshot creation.


Log in to comment on this ticket.

Metadata