aboutsummaryrefslogtreecommitdiff
path: root/kvmx
diff options
context:
space:
mode:
Diffstat (limited to 'kvmx')
-rwxr-xr-xkvmx27
1 files changed, 26 insertions, 1 deletions
diff --git a/kvmx b/kvmx
index 2ed3dd4..0b8dc14 100755
--- a/kvmx
+++ b/kvmx
@@ -184,7 +184,8 @@ function __kvmx_initialize {
mkdir -p $STATE_DIR $LOG_DIR
- if [ ! -e "$image" ] && [ "$ACTION" != "up" ] && [ "$ACTION" != "purge" ] && [ "$ACTION" != "destroy" ]; then
+ if [ ! -e "$image" ] && [ "$ACTION" != "up" ] && [ "$ACTION" != "purge" ] \
+ && [ "$ACTION" != "destroy" ] && [ "$ACTION" != "install" ]; then
echo "$BASENAME: file not found: $image"
exit 1
fi
@@ -1295,6 +1296,30 @@ function kvmx_mv {
kvmx_rename $*
}
+# Install system
+function kvmx_install {
+ local media="$3"
+
+ if [ -z "$media" ]; then
+ echo "usage: $BASENAME install $VM <installation-media>"
+ exit 1
+ elif [ ! -e "$media" ]; then
+ echo "$BASENAME: file not found: $media"
+ exit 1
+ fi
+
+ if [ -z "$memory" ]; then
+ memory="2048"
+ fi
+
+ if [ ! -e "$image" ]; then
+ echo "Creating $image with size $size..."
+ qemu-img create -f qcow2 $image $size
+ fi
+
+ kvm -m $memory -net nic,model=virtio -net user -drive file=$image -cdrom $media
+}
+
# Dispatch
if type kvmx_$ACTION 2> /dev/null | grep -q "kvmx_$ACTION ()"; then
__kvmx_initialize