aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rwxr-xr-xkvmx-create45
-rw-r--r--kvmxfile7
2 files changed, 46 insertions, 6 deletions
diff --git a/kvmx-create b/kvmx-create
index 0982f4d..a908663 100755
--- a/kvmx-create
+++ b/kvmx-create
@@ -114,6 +114,14 @@ function kvmx_config {
kvmx_user_config ssh_custom y "Setup a custom SSH keypair (y/n)"
kvmx_user_config user user "Initial user name"
kvmx_user_config password $default_password "Initial user password"
+ kvmx_user_config net user "Networking config (user or tap)"
+
+ if [ "$net" == "tap" ]; then
+ kvmx_user_config net_ip 10.1.1.2 "IP address"
+ kvmx_user_config net_mask 255.255.0 "Netmask"
+ kvmx_user_config net_gateway 10.1.1.1 "Gateway"
+ kvmx_user_config net_dns 192.168.1.1 "DNS"
+ fi
if [ ! -z "$image_base" ]; then
image="$image_base/$hostname/box.img"
@@ -356,19 +364,44 @@ EOF
# Second stage procedure
function __kvmx_create_custom_second_stage {
- # Networking: eth0
- cat <<-EOF | $SUDO tee $WORK/etc/network/interfaces.d/eth0 > /dev/null
+ if [ ! -z "$net_ip" ] && [ ! -z "$net_mask" ] && [ ! -z "$net_gateway" ] && [ -z "$net_dns" ]; then
+ # DNS config
+ echo "nameserver $net_dns" > $WORK/etc/resolv.conf
+
+ # Networking: eth0
+ cat <<-EOF | $SUDO tee $WORK/etc/network/interfaces.d/eth0 > /dev/null
+auto eth0
+iface eth0 inet static
+ address $net_ip
+ netmask $net_mask
+ gateway $net_gateway
+EOF
+
+ # Networking: ens3
+ # See #799253 - virtio ens3 network interface
+ # https://bugs.debian.org/cgi-bin/bugreport.cgi?bug=799253
+ cat <<-EOF | $SUDO tee $WORK/etc/network/interfaces.d/ens3 > /dev/null
+auto ens3
+iface ens3 inet static
+ address $net_ip
+ netmask $net_mask
+ gateway $net_gateway
+EOF
+ else
+ # Networking: eth0
+ cat <<-EOF | $SUDO tee $WORK/etc/network/interfaces.d/eth0 > /dev/null
allow-hotplug eth0
iface eth0 inet dhcp
EOF
- # Networking: ens3
- # See #799253 - virtio ens3 network interface
- # https://bugs.debian.org/cgi-bin/bugreport.cgi?bug=799253
- cat <<-EOF | $SUDO tee $WORK/etc/network/interfaces.d/ens3 > /dev/null
+ # Networking: ens3
+ # See #799253 - virtio ens3 network interface
+ # https://bugs.debian.org/cgi-bin/bugreport.cgi?bug=799253
+ cat <<-EOF | $SUDO tee $WORK/etc/network/interfaces.d/ens3 > /dev/null
allow-hotplug ens3
iface ens3 inet dhcp
EOF
+ fi
# Locale
$APT_INSTALL locales
diff --git a/kvmxfile b/kvmxfile
index 08f9ffe..3247505 100644
--- a/kvmxfile
+++ b/kvmxfile
@@ -15,6 +15,13 @@ password="`head -c 20 /dev/urandom | base64`"
#net="tap"
net="user"
+# Networking: tap config only
+# This setting is used during virtual machine bootstrapping by kvmx-create.
+#net_ip="10.1.1.2"
+#net_mask="255.255.255.0"
+#net_gateway="10.1.1.1"
+#net_dns="192.168.1.1"
+
# Set this is you want to be able to share a single folder between host and guest.
# Needs ssh_support set to "y" and a workable SSH connection to the guest.
shared_folder="."