prepare-dvm.sh 823 B

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