qubes_core 1.7 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768697071727374
  1. #!/bin/sh
  2. #
  3. # chkconfig: 2345 99 00
  4. # description: Executes Qubes core scripts at Dom0 boot
  5. #
  6. ### BEGIN INIT INFO
  7. # Provides: qubes-core
  8. # Required-Start: xend
  9. # Default-Start: 3 4 5
  10. # Default-Stop: 0 1 2 6
  11. # Default-Enabled: yes
  12. # Short-Description: Start/stop qubes-core services
  13. # Description: Starts and stops the qubes-core serives
  14. ### END INIT INFO
  15. # Source function library.
  16. . /etc/rc.d/init.d/functions
  17. start()
  18. {
  19. echo -n $"Executing Qubes Core scripts:"
  20. chgrp qubes /etc/xen
  21. chmod 710 /etc/xen
  22. chgrp qubes /var/run/xend
  23. chmod 710 /var/run/xend
  24. chgrp qubes /var/run/xend/xen-api.sock /var/run/xend/xmlrpc.sock
  25. chmod 660 /var/run/xend/xen-api.sock /var/run/xend/xmlrpc.sock
  26. chgrp qubes /var/run/xenstored/*
  27. chmod 660 /var/run/xenstored/*
  28. xm sched-credit -d 0 -w 65535
  29. cp /var/lib/qubes/qubes.xml /var/lib/qubes/backup/qubes-$(date +%F-%T).xml
  30. /usr/lib/qubes/qmemman_daemon.py >/var/log/qubes/qmemman.log 2>/var/log/qubes/qmemman.errs &
  31. MEM_CHANGE_THRESHOLD_KB=30000
  32. MEMINFO_DELAY_USEC=100000
  33. /usr/lib/qubes/meminfo-writer $MEM_CHANGE_THRESHOLD_KB $MEMINFO_DELAY_USEC &
  34. touch /var/lock/subsys/qubes_core
  35. success
  36. echo
  37. }
  38. stop()
  39. {
  40. echo -n $"Shutting down all Qubes VMs:"
  41. NETVM=$(qvm-get-default-netvm)
  42. if [ "X"$NETVM = "X" ] ; then
  43. NETVM="dom0"
  44. fi
  45. qvm-run -q --shutdown --all --wait --exclude $NETVM
  46. rm -f /var/lock/subsys/qubes_core
  47. killall meminfo-writer
  48. killall qmemman_daemon.py
  49. killall qfilexchgd
  50. success
  51. echo
  52. }
  53. case "$1" in
  54. start)
  55. start
  56. ;;
  57. stop)
  58. stop
  59. ;;
  60. *)
  61. echo $"Usage: $0 {start|stop}"
  62. exit 3
  63. ;;
  64. esac
  65. exit $RETVAL