Virtual DSM for Docker
-
[![Build]][build_url]
diff --git a/run/install.sh b/run/install.sh
index aeae0ce..fd0a05c 100644
--- a/run/install.sh
+++ b/run/install.sh
@@ -31,6 +31,8 @@ TMP="$STORAGE/tmp"
RD="$TMP/rd.gz"
rm -rf "$TMP" && mkdir -p "$TMP"
+[ "$DEBUG" = "Y" ] && set -x
+
LOC="$DL/release/7.0.1/42218/DSM_VirtualDSM_42218.pat"
{ curl -r 64493568-69886247 -sfk -o "$RD" "$LOC"; rc=$?; } || :
@@ -205,3 +207,6 @@ mv -f "$BOOT" "$STORAGE"/"$BASE".boot.img
mv -f "$SYSTEM" "$STORAGE"/"$BASE".system.img
rm -rf "$TMP"
+
+{ set +x; } 2>/dev/null
+[ "$DEBUG" = "Y" ] && echo
diff --git a/run/network.sh b/run/network.sh
index e3d6518..81d87ce 100644
--- a/run/network.sh
+++ b/run/network.sh
@@ -25,6 +25,7 @@ configureDHCP() {
NETWORK=$(ip -o route | grep "${VM_NET_DEV}" | grep -v default | awk '{print $1}')
IP=$(ip address show dev "${VM_NET_DEV}" | grep inet | awk '/inet / { print $2 }' | cut -f1 -d/)
+ [ "$DEBUG" = "Y" ] && set -x
{ ip link add link "${VM_NET_DEV}" "${VM_NET_VLAN}" type macvlan mode bridge 2> /dev/null ; rc=$?; } || :
if (( rc != 0 )); then
@@ -41,8 +42,6 @@ configureDHCP() {
ip route add "${NETWORK}" dev "${VM_NET_VLAN}" metric 0
ip route add default via "${GATEWAY}"
- echo "INFO: Acquiring an IP address via DHCP using MAC address ${VM_NET_MAC}..."
-
{ ip link add link "${VM_NET_DEV}" name "${VM_NET_TAP}" address "${VM_NET_MAC}" type macvtap mode bridge 2> /dev/null ; rc=$?; } || :
if (( rc != 0 )); then
@@ -55,6 +54,8 @@ configureDHCP() {
ip address flush "${VM_NET_DEV}"
ip address flush "${VM_NET_TAP}"
+ echo "INFO: Acquiring an IP address via DHCP using MAC address ${VM_NET_MAC}..."
+
DHCP_IP=$(dhclient -v "${VM_NET_TAP}" 2>&1 | grep ^bound | cut -d' ' -f3)
if [[ "${DHCP_IP}" == [0-9.]* ]]; then
@@ -65,6 +66,9 @@ configureDHCP() {
ip address flush "${VM_NET_TAP}"
+ { set +x; } 2>/dev/null
+ [ "$DEBUG" = "Y" ] && echo
+
TAP_NR=$(/dev/null
+ [ "$DEBUG" = "Y" ] && echo
+
#Check port forwarding flag
if [[ $(< /proc/sys/net/ipv4/ip_forward) -eq 0 ]]; then
{ sysctl -w net.ipv4.ip_forward=1 2> /dev/null ; rc=$?; } || :
@@ -188,9 +196,13 @@ configureNAT () {
fi
DNSMASQ_OPTS=$(echo "$DNSMASQ_OPTS" | sed 's/\t/ /g' | tr -s ' ' | sed 's/^ *//')
- [ "$DEBUG" = "Y" ] && echo "$DNSMASQ $DNSMASQ_OPTS" && echo
+
+ [ "$DEBUG" = "Y" ] && set -x
$DNSMASQ ${DNSMASQ_OPTS:+ $DNSMASQ_OPTS}
+
+ { set +x; } 2>/dev/null
+ [ "$DEBUG" = "Y" ] && echo
}
# ######################################
diff --git a/run/run.sh b/run/run.sh
index 8f5d346..f6a7d4b 100755
--- a/run/run.sh
+++ b/run/run.sh
@@ -72,7 +72,7 @@ EXTRA_OPTS="$EXTRA_OPTS -device virtio-rng-pci,rng=objrng0,id=rng0,bus=pcie.0,ad
ARGS="${DEF_OPTS} ${CPU_OPTS} ${RAM_OPTS} ${MAC_OPTS} ${MON_OPTS} ${SERIAL_OPTS} ${NET_OPTS} ${DISK_OPTS} ${EXTRA_OPTS}"
ARGS=$(echo "$ARGS" | sed 's/\t/ /g' | tr -s ' ')
-[ "$DEBUG" = "Y" ] && echo "qemu-system-x86_64 ${ARGS}" && echo
+[ "$DEBUG" = "Y" ] && set -x
set -m
(
@@ -80,6 +80,8 @@ set -m
)
set +m
+{ set +x; } 2>/dev/null
+
if (( KERNEL > 4 )); then
pidwait -F "${_QEMU_PID}" & wait $!
else
diff --git a/run/serial.sh b/run/serial.sh
index d0e62af..9886b4f 100644
--- a/run/serial.sh
+++ b/run/serial.sh
@@ -31,12 +31,14 @@ HOST_ARGS+=("-cpu_arch=${HOST_CPU}")
[ -n "$HOST_TIMESTAMP" ] && HOST_ARGS+=("-ts=${HOST_TIMESTAMP}")
if [ "$DEBUG" = "Y" ]; then
- echo -n "./run/host.bin "
- echo "${HOST_ARGS[*]}" && echo
+ set -x
+ ./run/host.bin "${HOST_ARGS[@]}" &
+ { set +x; } 2>/dev/null
+ echo
+else
+ ./run/host.bin "${HOST_ARGS[@]}" > /dev/null 2>&1 &
fi
-./run/host.bin "${HOST_ARGS[@]}" > /dev/null 2>&1 &
-
# Configure serial ports
SERIAL_OPTS="\