c789121f84
This is core part of migration. Things not migrated yet: - DispVM (qubes_restore needs to be almost rewritten) - VM xen config files should be fixed (use "script:" prefix in block device description, perhaps generate this files on VM start) Huge, slow xend not needed any more, now it conflicts with libxl
84 lines
1.9 KiB
Bash
Executable File
84 lines
1.9 KiB
Bash
Executable File
#!/bin/sh
|
|
#
|
|
# chkconfig: 2345 80 00
|
|
# description: Executes Qubes core scripts at Dom0 boot
|
|
#
|
|
### BEGIN INIT INFO
|
|
# Provides: qubes-core
|
|
# Required-Start: xend
|
|
# Default-Start: 3 4 5
|
|
# Default-Stop: 0 1 2 6
|
|
# Default-Enabled: yes
|
|
# Short-Description: Start/stop qubes-core services
|
|
# Description: Starts and stops the qubes-core serives
|
|
### END INIT INFO
|
|
|
|
# Source function library.
|
|
. /etc/rc.d/init.d/functions
|
|
|
|
|
|
start()
|
|
{
|
|
echo -n $"Executing Qubes Core scripts:"
|
|
modprobe evtchn
|
|
chgrp qubes /etc/xen
|
|
chmod 710 /etc/xen
|
|
chgrp qubes /var/run/xend
|
|
chmod 710 /var/run/xend
|
|
chgrp qubes /var/run/xend/xen-api.sock /var/run/xend/xmlrpc.sock
|
|
chmod 660 /var/run/xend/xen-api.sock /var/run/xend/xmlrpc.sock
|
|
chgrp qubes /var/run/xenstored/*
|
|
chmod 660 /var/run/xenstored/*
|
|
chgrp qubes /var/lib/xen
|
|
chmod 770 /var/lib/xen
|
|
chgrp qubes /var/log/xen
|
|
chmod 770 /var/log/xen
|
|
chgrp qubes /proc/xen/privcmd
|
|
chmod 660 /proc/xen/privcmd
|
|
chgrp qubes /dev/xen/evtchn
|
|
chmod 660 /dev/xen/evtchn
|
|
|
|
xl sched-credit -d 0 -w 512
|
|
cp /var/lib/qubes/qubes.xml /var/lib/qubes/backup/qubes-$(date +%F-%T).xml
|
|
|
|
/usr/lib/qubes/qmemman_daemon.py >/var/log/qubes/qmemman.log 2>/var/log/qubes/qmemman.errs &
|
|
MEM_CHANGE_THRESHOLD_KB=30000
|
|
MEMINFO_DELAY_USEC=100000
|
|
/usr/lib/qubes/meminfo-writer $MEM_CHANGE_THRESHOLD_KB $MEMINFO_DELAY_USEC &
|
|
|
|
touch /var/lock/subsys/qubes_core
|
|
success
|
|
echo
|
|
|
|
}
|
|
|
|
stop()
|
|
{
|
|
echo -n $"Shutting down all Qubes VMs:"
|
|
NETVM=$(qvm-get-default-netvm)
|
|
if [ "X"$NETVM = "X" ] ; then
|
|
NETVM="dom0"
|
|
fi
|
|
qvm-run -q --shutdown --all --wait --exclude $NETVM
|
|
rm -f /var/lock/subsys/qubes_core
|
|
killall meminfo-writer
|
|
killall qmemman_daemon.py
|
|
success
|
|
echo
|
|
}
|
|
|
|
case "$1" in
|
|
start)
|
|
start
|
|
;;
|
|
stop)
|
|
stop
|
|
;;
|
|
*)
|
|
echo $"Usage: $0 {start|stop}"
|
|
exit 3
|
|
;;
|
|
esac
|
|
|
|
exit $RETVAL
|