This file is indexed.

/usr/share/qemu/init/qemu-kvm-init is in qemu-system-common 1:2.11+dfsg-1ubuntu7.

This file is owned by root:root, with mode 0o755.

The actual contents of the file can be viewed below.

  1
  2
  3
  4
  5
  6
  7
  8
  9
 10
 11
 12
 13
 14
 15
 16
 17
 18
 19
 20
 21
 22
 23
 24
 25
 26
 27
 28
 29
 30
 31
 32
 33
 34
 35
 36
 37
 38
 39
 40
 41
 42
 43
 44
 45
 46
 47
 48
 49
 50
 51
 52
 53
 54
 55
 56
 57
 58
 59
 60
 61
 62
 63
 64
 65
 66
 67
 68
 69
 70
 71
 72
 73
 74
 75
 76
 77
 78
 79
 80
 81
 82
 83
 84
 85
 86
 87
 88
 89
 90
 91
 92
 93
 94
 95
 96
 97
 98
 99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
#!/bin/sh

# Detect our host arch
arch=`arch`
test -z "$arch" && exit 0

case "$arch" in
    x86_64 | i686)
        kvm=/usr/bin/qemu-system-x86_64
        if grep -qs "^flags.* vmx" /proc/cpuinfo; then
            modlist="kvm_intel $KVM_NESTED"
        elif grep -qs "^flags.* svm" /proc/cpuinfo; then
            modlist="kvm_amd"
        fi
        ;;
    ppc*)
        SMT=$(/usr/sbin/ppc64_cpu --smt 2>&1 | grep -q "SMT=[248]")
        if [ -n "$SMT" ]
        then
          echo "Error: You must disable SMT if you want to run QEMU/KVM on ppc64le archtecture"
          echo "In order to disable SMT, run: # ppc64_cpu --smt=off"
        fi
        kvm=/usr/bin/qemu-system-ppc64
        if [ `uname -m` != "ppc64le" ]; then
            exit 0
        fi
        if systemd-detect-virt --quiet --vm; then
            echo "Info: second level virtualization not supported, kvm-hv load might fail"
        fi
        modlist="kvm-hv"
        ;;
    *)
        # not supported on other arches
        exit 0
        ;;
esac

# Silently exit if the package isn't installed anymore
if [ -z "$kvm" -o ! -e "$kvm" ]; then
    exit 0
fi

[ -r /etc/default/qemu-kvm ] && . /etc/default/qemu-kvm

start() {
    if [ -n "$modlist" ]; then
        modprobe -b $modlist || true
    fi

    if systemd-detect-virt --quiet --container; then
        mknod /dev/kvm c 10 232 || true
        chown root:kvm /dev/kvm || true
        chmod g+rw /dev/kvm || true
    fi

    # Determine if we are running inside a VM
    IS_VM=0
    if type systemd-detect-virt 2>&1 >/dev/null; then
        systemd-detect-virt -vq && IS_VM=1
    else
        VM_STRINGS="KVM QEMU VMware VirtualBox Xen"
        VM_DETECT="$(dmesg | egrep -e '(Hypervisor detected|Booting paravirtualized kernel)' || true)"
        VM_DMIDECODE="$(cat /sys/class/dmi/id/*_vendor || true)"
        VM_SEARCH="${VM_DETECT}${VM_DMIDECODE} "
        for vm_string in $VM_STRINGS; do
            if [ -z "${VM_SEARCH##*$vm_string*}" ]; then
                IS_VM=1; break;
            fi
        done
    fi

    # Enable KSM, respecting the default configuration file. If 'AUTO' is
    # set, enable only if we aren't running inside a VM.
    if [ "$KSM_ENABLED" = "1" -o \( "$KSM_ENABLED" = "AUTO" -a "$IS_VM" = "0" \) ]; then
        [ -w /sys/kernel/mm/ksm/run ] && echo 1 > /sys/kernel/mm/ksm/run || true
        if [ -w /sys/kernel/mm/ksm/sleep_millisecs ]; then
            if [ -n "$SLEEP_MILLISECS" ]; then
                echo "$SLEEP_MILLISECS" > /sys/kernel/mm/ksm/sleep_millisecs || true
            fi
        fi
    else
        [ -w /sys/kernel/mm/ksm/run ] && echo 0 > /sys/kernel/mm/ksm/run || true
    fi

    # If /etc/default/qemu-kvm says to, load vhost_net.  Default is not to.
    if [ "$VHOST_NET_ENABLED" = "1" ]; then
        modprobe -b vhost_net || true
    fi

    # mount hugepages if available and requested
    if [ "x$KVM_HUGEPAGES" = "x1" ]; then
        if ! grep -q hugetlbfs /proc/filesystems; then
            logger -t qemu-kvm "Error: hugepages not available in the kernel!"
        elif grep -q /run/hugepages/kvm /proc/mounts; then
            logger -t qemu-kvm "/run/hugepages/kvm already mounted"
        elif ! getent group kvm > /dev/null 2>&1; then
            logger -t qemu-kvm "Error: group kvm does not exist!"
        else
            mkdir -p /run/hugepages/kvm
            mount -t hugetlbfs hugetlbfs-kvm -o mode=775,gid=kvm /run/hugepages/kvm
        fi
    fi
}

# See how we were called.
case "$1" in
    start)
        start
    ;;

    *)
        exit 0
    ;;
esac

exit $?