diff -u procps-3.2.8/debian/control procps-3.2.8/debian/control --- procps-3.2.8/debian/control +++ procps-3.2.8/debian/control @@ -11,7 +11,7 @@ Depends: ${shlibs:Depends}, ${misc:Depends}, lsb-base (>= 3.0-10) Provides: watch Conflicts: watch, libproc-dev (<< 1:1.2.6-2), w-bassman (<< 1.0-3), procps-nonfree, pgrep (<< 3.3-5) -Replaces: watch, bsdutils (<< 2.9x-1) +Replaces: watch, bsdutils (<< 2.9x-1), qemu-kvm (<< 0.12.3-0ubuntu13) Recommends: psmisc Description: /proc file system utilities These are utilities to browse the /proc filesystem, which is not a real file diff -u procps-3.2.8/debian/rules procps-3.2.8/debian/rules --- procps-3.2.8/debian/rules +++ procps-3.2.8/debian/rules @@ -59,6 +59,7 @@ $(MAKE) $(CROSS) lib64=lib ln_f="ln -sf" ldconfig=echo DESTDIR=$(DEBROOT) install install --mode 644 -o root -g root debian/sysctl.conf $(DEBROOT)/etc/ install --mode 644 -o root -g root debian/sysctl.d/*.conf debian/sysctl.d/README $(DEBROOT)/etc/sysctl.d/ + install --mode 755 -o root -g root debian/kvm-ok $(DEBROOT)/usr/bin/ ifneq (,$(wildcard debian/sysctl.d/*.conf.$(DEB_HOST_ARCH))) # If a non-arch-specific default exists, install the arch-specific # version of the conf in place of it, otherwise, build up a general diff -u procps-3.2.8/debian/changelog procps-3.2.8/debian/changelog --- procps-3.2.8/debian/changelog +++ procps-3.2.8/debian/changelog @@ -1,3 +1,11 @@ +procps (1:3.2.8-1ubuntu5) UNRELEASED; urgency=low + + * debian/kvm-ok, debian/control: move the /usr/bin/kvm-ok utility from + the qemu-kvm package to procps, such that users can tell if their cpu + has VT before installing packages that use VT, LP: #429443 + + -- Dustin Kirkland Mon, 08 Mar 2010 18:39:45 -0600 + procps (1:3.2.8-1ubuntu4) lucid; urgency=low * debian/sysctl.d/10-zeropage.conf*: Reestablish a procps-controlled only in patch2: unchanged: --- procps-3.2.8.orig/debian/kvm-ok +++ procps-3.2.8/debian/kvm-ok @@ -0,0 +1,60 @@ +#!/bin/sh -e +# +# kvm-ok - check whether the CPU we're running on supports KVM acceleration +# Copyright (C) 2008-2010 Canonical Ltd. +# +# Authors: Dustin Kirkland +# +# This program is free software: you can redistribute it and/or modify +# it under the terms of the GNU General Public License version 2, +# as published by the Free Software Foundation. +# +# This program is distributed in the hope that it will be useful, +# but WITHOUT ANY WARRANTY; without even the implied warranty of +# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +# GNU General Public License for more details. +# +# You should have received a copy of the GNU General Public License +# along with this program. If not, see . + +verdict() { + # Print verdict + if [ "$1" = "0" ]; then + echo "KVM acceleration can be used" + exit 0 + else + echo "KVM acceleration can NOT be used" + exit 1 + fi +} + +# First, check cpu flags +if egrep "^flags.*:.*(svm|vmx)" /proc/cpuinfo > /dev/null; then + echo "INFO: Your CPU supports KVM extensions" +else + echo "INFO: Your CPU does not support KVM extensions" + verdict 1 +fi + +# Check for bios messages in dmesg +# BUG: Checking dmesg is the best we can do in userspace at this time. +# Ideally, the kernel would improve it's reporting by setting a +# flag such as svm_disabled|vmx_disabled in /proc/cpuinfo's flags. +if dmesg | grep -qs "kvm: disabled by bios"; then + echo "INFO: KVM is disabled by your BIOS" + echo "HINT: Enter your BIOS setup and enable Virtualization Technology (VT)," + echo " and then hard poweroff/poweron your system" + verdict 1 +fi + +# Now, check that the device exists +if [ -e /dev/kvm ]; then + echo "INFO: /dev/kvm exists" +else + echo "INFO: /dev/kvm does not exist" + grep -qs "^flags.*:.*vmx" /proc/cpuinfo && brand="intel" || brand="amd" + echo "HINT: sudo modprobe kvm kvm_$brand" + verdict 1 +fi + +verdict 0