Add a writeable overlay on top of read-only files
Nix flake: github:ErrorNoInternet/overmask
AUR: https://aur.archlinux.org/packages/overmask
COPR: https://copr.fedorainfracloud.org/coprs/errornointernet/packages
$ git clone https://github.com/ErrorNoInternet/overmask $ cd overmask $ cargo install --path .# required for the virtual block device (/dev/nbd*) $ sudo modprobe nbd # create (empty) files to store data in $ touch overlay_file mask_file # device mode: # read from /dev/sda, but redirect all writes to overlay_file and # use mask_file to keep track of what has been written so that # future reads would be from overlay_file instead of /dev/sda $ overmask -s /dev/sda -o overlay_file -m mask_file dev # you can now send arbitrary write commands to the virtual block device $ sudo dd if=/dev/zero of=/dev/nbd0 # and all the zeros would be in overlay_file instead of /dev/sda