From f86539d9e4e8cc1630c90896af82589d3f587b64 Mon Sep 17 00:00:00 2001 From: Kroese Date: Sat, 22 Apr 2023 16:57:30 +0200 Subject: [PATCH 01/13] Remove tabs --- run/run.sh | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/run/run.sh b/run/run.sh index e7a7cbd..3cc1cfa 100755 --- a/run/run.sh +++ b/run/run.sh @@ -61,7 +61,8 @@ KVM_OPTS="-machine type=q35,usb=off${KVM_OPTS}" RAM_OPTS=$(echo "-m ${RAM_SIZE}" | sed 's/MB/M/g;s/GB/G/g;s/TB/T/g') CPU_OPTS="-smp ${CPU_CORES},sockets=1,cores=${CPU_CORES},threads=1" EXTRA_OPTS="-device virtio-balloon-pci,id=balloon0 -object rng-random,id=rng0,filename=/dev/urandom -device virtio-rng-pci,rng=rng0" -ARGS="${DEF_OPTS} ${CPU_OPTS} ${RAM_OPTS} ${KVM_OPTS} ${MON_OPTS} ${SERIAL_OPTS} ${NET_OPTS} ${DISK_OPTS} ${EXTRA_OPTS}" + +ARGS=${"${DEF_OPTS} ${CPU_OPTS} ${RAM_OPTS} ${KVM_OPTS} ${MON_OPTS} ${SERIAL_OPTS} ${NET_OPTS} ${DISK_OPTS} ${EXTRA_OPTS}"//\t/}" if [ "$DEBUG" = "Y" ]; then echo && echo -n "qemu-system-x86_64 " From 333836395e93ace17d23d7c1fddacd665010685b Mon Sep 17 00:00:00 2001 From: Kroese Date: Sat, 22 Apr 2023 17:00:13 +0200 Subject: [PATCH 02/13] Force returnvalue 1 --- run/check.sh | 3 +-- 1 file changed, 1 insertion(+), 2 deletions(-) diff --git a/run/check.sh b/run/check.sh index 6179b26..cdc99ca 100644 --- a/run/check.sh +++ b/run/check.sh @@ -1,5 +1,5 @@ #!/usr/bin/env bash -set -eu +set -u # Docker Healthcheck @@ -14,7 +14,6 @@ fi IP=$(cat "${FILE}") if ! curl -m 3 -ILfSs "http://${IP}:${PORT}/" > /dev/null; then - echo "Failed to reach ${IP}:${PORT}" exit 1 fi From 339f20062c25cba1c20b6a98444405136d057387 Mon Sep 17 00:00:00 2001 From: Kroese Date: Sat, 22 Apr 2023 17:01:58 +0200 Subject: [PATCH 03/13] Remove tabs --- run/run.sh | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/run/run.sh b/run/run.sh index 3cc1cfa..b6cf0b5 100755 --- a/run/run.sh +++ b/run/run.sh @@ -62,7 +62,7 @@ RAM_OPTS=$(echo "-m ${RAM_SIZE}" | sed 's/MB/M/g;s/GB/G/g;s/TB/T/g') CPU_OPTS="-smp ${CPU_CORES},sockets=1,cores=${CPU_CORES},threads=1" EXTRA_OPTS="-device virtio-balloon-pci,id=balloon0 -object rng-random,id=rng0,filename=/dev/urandom -device virtio-rng-pci,rng=rng0" -ARGS=${"${DEF_OPTS} ${CPU_OPTS} ${RAM_OPTS} ${KVM_OPTS} ${MON_OPTS} ${SERIAL_OPTS} ${NET_OPTS} ${DISK_OPTS} ${EXTRA_OPTS}"//\t/}" +ARGS=${"${DEF_OPTS} ${CPU_OPTS} ${RAM_OPTS} ${KVM_OPTS} ${MON_OPTS} ${SERIAL_OPTS} ${NET_OPTS} ${DISK_OPTS} ${EXTRA_OPTS}"//\t/} if [ "$DEBUG" = "Y" ]; then echo && echo -n "qemu-system-x86_64 " From 287cec27a4f2bf6ef29fb71b8a4d0eed2fd44fdd Mon Sep 17 00:00:00 2001 From: Kroese Date: Sat, 22 Apr 2023 17:04:32 +0200 Subject: [PATCH 04/13] Remove tabs --- run/run.sh | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/run/run.sh b/run/run.sh index b6cf0b5..12e470a 100755 --- a/run/run.sh +++ b/run/run.sh @@ -62,7 +62,8 @@ RAM_OPTS=$(echo "-m ${RAM_SIZE}" | sed 's/MB/M/g;s/GB/G/g;s/TB/T/g') CPU_OPTS="-smp ${CPU_CORES},sockets=1,cores=${CPU_CORES},threads=1" EXTRA_OPTS="-device virtio-balloon-pci,id=balloon0 -object rng-random,id=rng0,filename=/dev/urandom -device virtio-rng-pci,rng=rng0" -ARGS=${"${DEF_OPTS} ${CPU_OPTS} ${RAM_OPTS} ${KVM_OPTS} ${MON_OPTS} ${SERIAL_OPTS} ${NET_OPTS} ${DISK_OPTS} ${EXTRA_OPTS}"//\t/} +ARGS="${DEF_OPTS} ${CPU_OPTS} ${RAM_OPTS} ${KVM_OPTS} ${MON_OPTS} ${SERIAL_OPTS} ${NET_OPTS} ${DISK_OPTS} ${EXTRA_OPTS}" +ARGS=${ARGS//\t/} if [ "$DEBUG" = "Y" ]; then echo && echo -n "qemu-system-x86_64 " From abc7b14d7350dd938cb7c3a89508593f613c73d4 Mon Sep 17 00:00:00 2001 From: Kroese Date: Sat, 22 Apr 2023 17:10:40 +0200 Subject: [PATCH 05/13] Comments --- run/disk.sh | 6 ++++-- 1 file changed, 4 insertions(+), 2 deletions(-) diff --git a/run/disk.sh b/run/disk.sh index 4eb4e27..b12df10 100644 --- a/run/disk.sh +++ b/run/disk.sh @@ -37,6 +37,7 @@ if [ -f "${DATA}" ]; then if [ "$ALLOCATE" = "N" ]; then + # Resize file by changing its length truncate -s "${DATA_SIZE}" "${DATA}"; else @@ -51,6 +52,7 @@ if [ -f "${DATA}" ]; then echo "ERROR: Specify a smaller size or disable preallocation with ALLOCATE=N." && exit 84 fi + # Resize file by allocating more space if ! fallocate -l "${DATA_SIZE}" "${DATA}"; then echo "ERROR: Could not allocate a file for the virtual disk." && exit 85 fi @@ -78,10 +80,9 @@ fi if [ ! -f "${DATA}" ]; then - # Create an empty file - if [ "$ALLOCATE" = "N" ]; then + # Create an empty file truncate -s "${DATA_SIZE}" "${DATA}" else @@ -94,6 +95,7 @@ if [ ! -f "${DATA}" ]; then echo "ERROR: Specify a smaller size or disable preallocation with ALLOCATE=N." && exit 86 fi + # Create an empty file if ! fallocate -l "${DATA_SIZE}" "${DATA}"; then rm -f "${DATA}" echo "ERROR: Could not allocate a file for the virtual disk." && exit 87 From b6bf5084761c9777a5a2928731f3a515888bb49c Mon Sep 17 00:00:00 2001 From: Kroese Date: Sat, 22 Apr 2023 17:11:31 +0200 Subject: [PATCH 06/13] Comments --- run/install.sh | 2 -- 1 file changed, 2 deletions(-) diff --git a/run/install.sh b/run/install.sh index 94162b9..1566539 100644 --- a/run/install.sh +++ b/run/install.sh @@ -2,14 +2,12 @@ set -eu # Display wait message on port 5000 - HTML="Please wait while Virtual DSM is installing..." /run/server.sh 5000 "${HTML}" > /dev/null & # Download the required files from the Synology website - DL="https://global.synologydownload.com/download/DSM" if [ -z "$URL" ]; then From e2689b25e9081d04f9d673a31b2b8a9080961c8b Mon Sep 17 00:00:00 2001 From: Kroese Date: Sat, 22 Apr 2023 17:24:07 +0200 Subject: [PATCH 07/13] Split lines --- run/server.sh | 6 ++++-- 1 file changed, 4 insertions(+), 2 deletions(-) diff --git a/run/server.sh b/run/server.sh index e615992..1c5f58d 100644 --- a/run/server.sh +++ b/run/server.sh @@ -3,7 +3,7 @@ set -eu trap exit SIGINT SIGTERM # Close any previous instances -script_name=${BASH_SOURCE[0]} +script_name="${BASH_SOURCE[0]}" for pid in $(pidof -x "$script_name"); do if [ "$pid" != $$ ]; then @@ -13,7 +13,9 @@ for pid in $(pidof -x "$script_name"); do done # Serve the page -HTML="

$2

" +HTML="\ +

$2

" + LENGTH="${#HTML}" RESPONSE="HTTP/1.1 200 OK\nContent-Length: ${LENGTH}\nConnection: close\n\n$HTML\n\n" From a0b17a2af8198bfab309d0991164d26295860e04 Mon Sep 17 00:00:00 2001 From: Kroese Date: Sat, 22 Apr 2023 17:37:38 +0200 Subject: [PATCH 08/13] Spacing --- run/network.sh | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/run/network.sh b/run/network.sh index f04409b..3786109 100644 --- a/run/network.sh +++ b/run/network.sh @@ -185,9 +185,9 @@ GATEWAY=$(ip r | grep default | awk '{print $3}') if [ "$DEBUG" = "Y" ]; then IP=$(ip address show dev "${VM_NET_DEV}" | grep inet | awk '/inet / { print $2 }' | cut -f1 -d/) - echo "Info: Container IP is ${IP} with gateway ${GATEWAY}" - ifconfig - ip route + echo "Info: Container IP is ${IP} with gateway ${GATEWAY}" && echo + ifconfig && echo + ip route && echo fi From add00c692b4234677474d14ec03c4f130281a1cd Mon Sep 17 00:00:00 2001 From: Kroese Date: Sat, 22 Apr 2023 17:38:35 +0200 Subject: [PATCH 09/13] Spacing --- run/network.sh | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/run/network.sh b/run/network.sh index 3786109..7e79d24 100644 --- a/run/network.sh +++ b/run/network.sh @@ -159,7 +159,7 @@ configureNAT () { [[ -z $(hostname -d) ]] || DNSMASQ_OPTS="$DNSMASQ_OPTS --dhcp-option=option:domain-name,$(hostname -d)" fi - [ "$DEBUG" = "Y" ] && echo && echo "$DNSMASQ $DNSMASQ_OPTS" + [ "$DEBUG" = "Y" ] && echo "$DNSMASQ $DNSMASQ_OPTS" && echo $DNSMASQ ${DNSMASQ_OPTS:+ $DNSMASQ_OPTS} } From 7dc64bd005608c2c707a07440afd171f77132d82 Mon Sep 17 00:00:00 2001 From: Kroese Date: Sat, 22 Apr 2023 17:45:48 +0200 Subject: [PATCH 10/13] Remove tabd --- run/run.sh | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/run/run.sh b/run/run.sh index 12e470a..5fabd17 100755 --- a/run/run.sh +++ b/run/run.sh @@ -63,11 +63,11 @@ CPU_OPTS="-smp ${CPU_CORES},sockets=1,cores=${CPU_CORES},threads=1" EXTRA_OPTS="-device virtio-balloon-pci,id=balloon0 -object rng-random,id=rng0,filename=/dev/urandom -device virtio-rng-pci,rng=rng0" ARGS="${DEF_OPTS} ${CPU_OPTS} ${RAM_OPTS} ${KVM_OPTS} ${MON_OPTS} ${SERIAL_OPTS} ${NET_OPTS} ${DISK_OPTS} ${EXTRA_OPTS}" -ARGS=${ARGS//\t/} +ARGS=$(echo "$ARGS" | sed 's/\t/ /g' | tr -s ' ') if [ "$DEBUG" = "Y" ]; then - echo && echo -n "qemu-system-x86_64 " - echo "${ARGS}" + echo -n "qemu-system-x86_64 " + echo "${ARGS}" && echo fi set -m From 695009e2f8ee3ac040b699e4a909aefcac158efa Mon Sep 17 00:00:00 2001 From: Kroese Date: Sat, 22 Apr 2023 17:49:57 +0200 Subject: [PATCH 11/13] Remove double spaces --- run/network.sh | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/run/network.sh b/run/network.sh index 7e79d24..62b98ad 100644 --- a/run/network.sh +++ b/run/network.sh @@ -121,7 +121,7 @@ configureNAT () { [[ $(< /proc/sys/net/ipv4/ip_forward) -eq 0 ]] && sysctl -w net.ipv4.ip_forward=1 # dnsmasq configuration: - DNSMASQ_OPTS="$DNSMASQ_OPTS --dhcp-range=$VM_NET_IP,$VM_NET_IP --dhcp-host=$VM_NET_MAC,,$VM_NET_IP,$VM_NET_HOST,infinite --dhcp-option=option:netmask,255.255.255.0" + DNSMASQ_OPTS="--dhcp-range=$VM_NET_IP,$VM_NET_IP --dhcp-host=$VM_NET_MAC,,$VM_NET_IP,$VM_NET_HOST,infinite --dhcp-option=option:netmask,255.255.255.0" # Create lease file for faster resolve echo "0 $VM_NET_MAC $VM_NET_IP $VM_NET_HOST 01:${VM_NET_MAC}" > /var/lib/misc/dnsmasq.leases @@ -159,6 +159,7 @@ configureNAT () { [[ -z $(hostname -d) ]] || DNSMASQ_OPTS="$DNSMASQ_OPTS --dhcp-option=option:domain-name,$(hostname -d)" fi + DNSMASQ_OPTS=$(echo "$DNSMASQ_OPTS" | sed 's/\t/ /g' | tr -s ' ') [ "$DEBUG" = "Y" ] && echo "$DNSMASQ $DNSMASQ_OPTS" && echo $DNSMASQ ${DNSMASQ_OPTS:+ $DNSMASQ_OPTS} From ca2c34c1349c1e82d6b43aa5158cb8caaf901cdd Mon Sep 17 00:00:00 2001 From: Kroese Date: Sat, 22 Apr 2023 17:51:09 +0200 Subject: [PATCH 12/13] DNSMASQ --- run/network.sh | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/run/network.sh b/run/network.sh index 62b98ad..658100f 100644 --- a/run/network.sh +++ b/run/network.sh @@ -121,7 +121,7 @@ configureNAT () { [[ $(< /proc/sys/net/ipv4/ip_forward) -eq 0 ]] && sysctl -w net.ipv4.ip_forward=1 # dnsmasq configuration: - DNSMASQ_OPTS="--dhcp-range=$VM_NET_IP,$VM_NET_IP --dhcp-host=$VM_NET_MAC,,$VM_NET_IP,$VM_NET_HOST,infinite --dhcp-option=option:netmask,255.255.255.0" + DNSMASQ_OPTS="$DNSMASQ_OPTS --dhcp-range=$VM_NET_IP,$VM_NET_IP --dhcp-host=$VM_NET_MAC,,$VM_NET_IP,$VM_NET_HOST,infinite --dhcp-option=option:netmask,255.255.255.0" # Create lease file for faster resolve echo "0 $VM_NET_MAC $VM_NET_IP $VM_NET_HOST 01:${VM_NET_MAC}" > /var/lib/misc/dnsmasq.leases From 28e65c3b41455c0abbd6c41e62d1568fbe3aeaa3 Mon Sep 17 00:00:00 2001 From: Kroese Date: Sat, 22 Apr 2023 17:59:50 +0200 Subject: [PATCH 13/13] Remove leading spaces --- run/network.sh | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/run/network.sh b/run/network.sh index 658100f..1a35131 100644 --- a/run/network.sh +++ b/run/network.sh @@ -159,7 +159,7 @@ configureNAT () { [[ -z $(hostname -d) ]] || DNSMASQ_OPTS="$DNSMASQ_OPTS --dhcp-option=option:domain-name,$(hostname -d)" fi - DNSMASQ_OPTS=$(echo "$DNSMASQ_OPTS" | sed 's/\t/ /g' | tr -s ' ') + DNSMASQ_OPTS=$(echo "$DNSMASQ_OPTS" | sed 's/\t/ /g' | tr -s ' ' | sed 's/^ *//') [ "$DEBUG" = "Y" ] && echo "$DNSMASQ $DNSMASQ_OPTS" && echo $DNSMASQ ${DNSMASQ_OPTS:+ $DNSMASQ_OPTS}