diff --git a/dom0/aux-tools/cpufreq-xen.modules b/dom0/aux-tools/cpufreq-xen.modules new file mode 100755 index 00000000..defac8c6 --- /dev/null +++ b/dom0/aux-tools/cpufreq-xen.modules @@ -0,0 +1,12 @@ +#!/bin/sh + +if modinfo cpufreq-xen > /dev/null 2>&1; then + modprobe acpi-cpufreq || exit 1 + modprobe cpufreq-xen + + for f in /sys/devices/system/cpu/cpu[0-9]*/cpufreq/scaling_governor; do + echo xen > $f + done + +fi + diff --git a/dom0/qvm-core/qubes.py b/dom0/qvm-core/qubes.py index 2ea8c35f..15209760 100755 --- a/dom0/qvm-core/qubes.py +++ b/dom0/qvm-core/qubes.py @@ -829,6 +829,12 @@ class QubesVm(object): args['mem'] = str(self.memory) args['maxmem'] = str(self.maxmem) args['vcpus'] = str(self.vcpus) + args['ip'] = self.ip + args['mac'] = self.mac + args['gateway'] = self.gateway + args['dns1'] = self.gateway + args['dns2'] = self.secondary_dns + args['netmask'] = self.netmask if self.netvm is not None: args['netdev'] = "'mac={mac},script=/etc/xen/scripts/vif-route-qubes,ip={ip}".format(ip=self.ip, mac=self.mac) if self.netvm.qid != 0: diff --git a/dom0/qvm-tools/qvm-sync-clock b/dom0/qvm-tools/qvm-sync-clock index 911bf68a..30978af4 100755 --- a/dom0/qvm-tools/qvm-sync-clock +++ b/dom0/qvm-tools/qvm-sync-clock @@ -89,7 +89,10 @@ def main(): if vm.is_running() and vm.qid != 0 and vm.qid != clock_vm.qid: if verbose: print >> sys.stderr, '--> Syncing \'%s\' clock.' % vm.name - vm.run('root:date -u -s "%s"' % date_out, verbose=verbose) + try: + vm.run('root:date -u -s "%s"' % date_out, verbose=verbose) + except NotImplementedError: + pass main() diff --git a/rpm_spec/core-dom0.spec b/rpm_spec/core-dom0.spec index e2aa42d8..9316e9b9 100644 --- a/rpm_spec/core-dom0.spec +++ b/rpm_spec/core-dom0.spec @@ -122,6 +122,7 @@ cp ../qrexec/qubes_rpc_multiplexer $RPM_BUILD_ROOT/usr/lib/qubes cp aux-tools/qubes.ReceiveUpdates.policy $RPM_BUILD_ROOT/etc/qubes_rpc/policy/qubes.ReceiveUpdates cp aux-tools/qubes.ReceiveUpdates $RPM_BUILD_ROOT/etc/qubes_rpc/ install -D aux-tools/qubes-dom0.modules $RPM_BUILD_ROOT/etc/sysconfig/modules/qubes-dom0.modules +install -D aux-tools/cpufreq-xen.modules $RPM_BUILD_ROOT/etc/sysconfig/modules/cpufreq-xen.modules install -D aux-tools/qubes-dom0-updates.cron $RPM_BUILD_ROOT/etc/cron.daily/qubes-dom0-updates.cron install -D aux-tools/qubes-sync-clock.cron $RPM_BUILD_ROOT/etc/cron.d/qubes-sync-clock.cron @@ -214,6 +215,9 @@ echo 'installonlypkgs = kernel, kernel-qubes-vm' >> /etc/yum.conf sed 's/^PRELINKING\s*=.*/PRELINKING=no/' -i /etc/sysconfig/prelink +sed 's/^#\?\s*XENCONSOLED_LOG_HYPERVISOR\s*=.*/XENCONSOLED_LOG_HYPERVISOR=yes/' -i /etc/sysconfig/xenconsoled +sed 's/^#\?\s*XENCONSOLED_LOG_GUESTS\s*=.*/XENCONSOLED_LOG_HYPERVISOR=yes/' -i /etc/sysconfig/xenconsoled + chkconfig --add qubes_core || echo "WARNING: Cannot add service qubes_core!" chkconfig --add qubes_netvm || echo "WARNING: Cannot add service qubes_netvm!" chkconfig --add qubes_setupdvm || echo "WARNING: Cannot add service qubes_setupdvm!" @@ -355,6 +359,7 @@ fi /etc/NetworkManager/dispatcher.d/qubes_nmhook /etc/sysconfig/iptables /etc/sysconfig/modules/qubes-dom0.modules +/etc/sysconfig/modules/cpufreq-xen.modules /usr/lib64/pm-utils/sleep.d/01qubes-sync-vms-clock /usr/lib64/pm-utils/sleep.d/51qubes-suspend-netvm /usr/lib64/pm-utils/sleep.d/52qubes-pause-vms