About this Adrien,
# mkdir /live-root # mount -o subvolid=0 /dev/sda4 /live-root # rsync -aHA --exclude="/live-root" / /live-root
-- Indeed this is much better than my original idea I would also add -X to preserve all extended attributes.
If you had install your Funtoo box inside a subvolume....
For exemple :
Subvolid=0 ----> @root id=255 or any number
--- Please don't use @ in front of snapshots names, this is an horrible bad practice to ban. A VFS structure should remain transparent at anytime (this is the reason of why subvolumes are threaten like directories without fancy names by the kernel). What is true on a machine can be false on another, good luck for applications compatibility especially with complex structures implying nested directories/subvolumes.
You would be able to use this instead :
# mkdir /live-root # mount -o subvolid=0 /dev/sda4 /live-root # cd /live-root # btrfs subvolume snapshot @root @live-root
I think that you should add something about installing a Funtoo inside a subvolume instead of installing it directly inside the subvolid=0
--- Why not but I don't see clearly what would a major differences of installing a distribution in another subvolume rather than 0 would be.... I should dig to measure the consequences :-)