76 lines
		
	
	
		
			1.8 KiB
		
	
	
	
		
			Bash
		
	
	
		
			Executable File
		
	
	
	
	
			
		
		
	
	
			76 lines
		
	
	
		
			1.8 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 2> /dev/null || modprobe xen-evtchn
 | |
|     /usr/lib/qubes/fix_dir_perms.sh
 | |
| 
 | |
|     xenstore-write /local/domain/0/name dom0
 | |
|     DOM0_MAXMEM=`/usr/sbin/xl info | grep total_memory | awk '{ print $3 }'`
 | |
|     xenstore-write /local/domain/0/memory/static-max $[ $DOM0_MAXMEM * 1024 ]
 | |
|     
 | |
|     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 &
 | |
| 
 | |
|     # Hide mounted devices from qubes-block list (at first udev run, only / is mounted)
 | |
|     for dev in `xenstore-list /local/domain/0/qubes-block-devices`; do
 | |
|     ( eval `udevadm info -q property -n $dev|sed -e 's/\([^=]*\)=\(.*\)/export \1="\2"/'`; 
 | |
|       /usr/lib/qubes/block_add_change > /dev/null
 | |
|     )
 | |
|     done
 | |
| 
 | |
|     touch /var/lock/subsys/qubes_core
 | |
|     success
 | |
|     echo
 | |
| 
 | |
| }
 | |
| 
 | |
| stop()
 | |
| {
 | |
|     echo -n $"Shutting down all Qubes VMs:"
 | |
|     qvm-shutdown -q --all --wait
 | |
|     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
 | 
