about summary refs log tree commit diff stats
path: root/linux/scripts/setup-virtual.sh
diff options
context:
space:
mode:
Diffstat (limited to 'linux/scripts/setup-virtual.sh')
-rw-r--r--linux/scripts/setup-virtual.sh78
1 files changed, 78 insertions, 0 deletions
diff --git a/linux/scripts/setup-virtual.sh b/linux/scripts/setup-virtual.sh
new file mode 100644
index 0000000..3583bb6
--- /dev/null
+++ b/linux/scripts/setup-virtual.sh
@@ -0,0 +1,78 @@
+#!/bin/sh
+
+# First we define the function
+ConfirmOrExit ()
+{
+    while true
+    do
+        echo -n "Please confirm (y or n) :"
+        read CONFIRM
+        case $CONFIRM in
+            y|Y|YES|yes|Yes) break ;;
+            n|N|no|NO|No)
+                echo "Aborting - you entered $CONFIRM"
+                exit
+                ;;
+            *) echo "Please enter only y or n"
+        esac
+    done
+    echo "You entered $CONFIRM. Continuing ..."
+}
+
+DEV_NAME=${1}
+IMG=${2}.qcow2
+SIZE=${3}
+CHROOT="/mnt"
+DEV="/dev/${DEV_NAME}"
+
+echo "/srv/qemu/img/${IMG}"
+echo "${SIZE}"
+echo "DEV_NAME=${DEV_NAME}"
+echo "DEV=${DEV}"
+echo "CHROOT=${CHROOT}"
+
+ConfirmOrExit
+
+#qemu-img create -f qcow2 example.qcow2 20G
+qemu-img create -f qcow2 /srv/qemu/img/${IMG} ${SIZE}
+qemu-nbd -c ${DEV} /srv/qemu/img/${IMG}
+
+parted --script ${DEV} \
+    mklabel gpt \
+    unit mib \
+    mkpart primary 2 4 \
+    name 1 grub \
+    mkpart ESP fat32 4 128 \
+    name 2 efi \
+    mkpart primary ext4 128 1128 \
+    name 3 boot \
+    mkpart primary ext4 1128 12128 \
+    name 4 root \
+    mkpart primary ext4 12128 14128 \
+    name 5 var \
+    mkpart primary ext4 14128 100% \
+    name 6 lvm \
+    set 1 bios_grub on \
+    set 2 boot on \
+    set 6 lvm on
+
+kpartx -a -s -l -u ${DEV}
+
+mkfs.fat -F 32  /dev/mapper/${DEV_NAME}p2
+mkfs.ext4       /dev/mapper/${DEV_NAME}p3
+mkfs.ext4       /dev/mapper/${DEV_NAME}p4
+mkfs.ext4       /dev/mapper/${DEV_NAME}p5
+pvcreate	/dev/mapper/${DEV_NAME}p6
+
+mount /dev/mapper/${DEV_NAME}p4 $CHROOT
+mkdir -p $CHROOT/proc
+mkdir -p $CHROOT/sys
+mkdir -p $CHROOT/dev
+mkdir -p $CHROOT/media
+
+mkdir -p $CHROOT/boot
+mount /dev/mapper/${DEV_NAME}p3 $CHROOT/boot
+mkdir -p $CHROOT/boot/efi
+mount /dev/mapper/${DEV_NAME}p2 $CHROOT/boot/efi
+mkdir -p $CHROOT/var
+mount /dev/mapper/${DEV_NAME}p5 $CHROOT/var