export APP_BASE="`$DIRNAME/kvmx app_base`"
source $APP_BASE/lib/kvmx/functions || exit 1
+ # Check dependencies
+ __kvmx_check_dependencies
+
# Alias to be used in config files
KVMX_BASE="$APP_BASE"
echo "$BASENAME: WARNING: Intel VT or AMD-V not present at /proc/cpuinfo, expect slow performance"
fi
+ if ! lsmod | grep -q '^kvm '; then
+ echo "$BASENAME: WARNING: kvm kernel module not loaded, expect slow performance"
+ fi
+
if ! groups `whoami` | grep -q 'kvm'; then
echo "$BASENAME: WARNING: user `whoami` not in kvm group, expect slow performance"
fi
spicy -h localhost -p $PORT &
elif [ "$spice_client" == "virt-viewer" ] && which virt-viewer &> /dev/null; then
remote-viewer spice://localhost:$PORT &
- else
+ elif [ "$spice_client" == "spicec" ]; then
if which spicec &> /dev/null; then
# https://lists.freedesktop.org/archives/spice-devel/2013-September/014643.html
SPICE_NOGRAB=1 spicec --host localhost --port $PORT &> $SPICELOG &
fi
+ else
+ echo "$BASENAME: spice_client $spice_client not currently supported"
+ exit 1
fi
SPICEPID="$!"
# Custom version
#
function kvmx_create_custom {
+ # Check dependencies
+ DEPENDENCIES="sudo apt qemu-img sed awk tr head debootstrap chroot"
+ __kvmx_check_dependencies
+
+ # Check for package requirements
+ #for req in debootstrap parted apt-transport-https; do
+ for req in debootstrap parted; do
+ kvmx_install_package $req
+ done
+
if [ -z "$TMP" ]; then
TMP="/tmp"
fi
fi
fi
- # Check for requirements.
- #for req in debootstrap parted apt-transport-https; do
- for req in debootstrap parted; do
- kvmx_install_package $req
- done
-
if [ -z "$image_type" ] || [ "$image_type" == "file" ]; then
echo "Creating image file..."
#kvmx_sudo_run dd if=/dev/zero of=$image bs=$size count=1
run_spice_client="1"
# SPICE client
-spice_client="spicec"
+#spice_client="spicec"
+#spice_client="virt-viewer"
+spice_client="spicy"
# Set this if you want to start an xpra session when the machine boots.
run_xpra="0"
ssh-keygen -t rsa -b 4096 -f $1 -N '' -C $2
fi
}
+
+# Check dependencies
+function __kvmx_check_dependencies {
+ if [ -z "$DEPENDENCIES" ]; then
+ DEPENDENCIES="ssh sudo apt kvm virt-viewer spicy socat screen sed awk"
+ fi
+
+ for dependency in $DEPENDENCIES; do
+ if ! which $dependency &> /dev/null; then
+ echo "$BASENAME: cannot find dependency program $dependency"
+ exit 1
+ fi
+ done
+}