#!/bin/bash # Source Qubes library. . /usr/lib/qubes/init/functions set -e echo "Waiting for user session to quiesce." >&2 echo user | /bin/sh /etc/qubes-rpc/qubes.WaitForSession || : echo "Possibly running save script." >&2 possibly_run_save_script echo "Unmounting /rw filesystem." >&2 umount_retry /rw || echo "Giving up and proceeding. Warning: this may not work." >&2 dmesg -C qubesdb-watch /qubes-restore-complete & watch_pid=$! free | grep Mem: | (read label total used free shared buffers cached; qubesdb-write /qubes-used-mem $(( $used + $cached )) ) # we're still running in DispVM template echo "Waiting for restore signal." >&2 qubesdb-read /qubes-restore-complete >/dev/null || wait $watch_pid echo "Restore complete." >&2 # Reload random seed echo "Reloading random seed." >&2 reload_random_seed