Unverified Commit 575da1f5 authored by Kroese's avatar Kroese Committed by GitHub
Browse files

feat: Store config in RAM (#559)

parent 3a507f5b
Loading
Loading
Loading
Loading
+4 −4
Original line number Diff line number Diff line
#!/usr/bin/env bash
set -Eeuo pipefail

[ -f "/run/qemu.end" ] && echo "QEMU is shutting down.." && exit 1
[ ! -f "/run/qemu.pid" ] && echo "QEMU is not running yet.." && exit 0
[ -f "/run/shm/qemu.end" ] && echo "QEMU is shutting down.." && exit 1
[ ! -f "/run/shm/qemu.pid" ] && echo "QEMU is not running yet.." && exit 0

file="/run/dsm.url"
address="/run/qemu.ip"
file="/run/shm/dsm.url"
address="/run/shm/qemu.ip"

[ ! -f  "$file" ] && echo "DSM has not enabled networking yet.." && exit 1

+4 −8
Original line number Diff line number Diff line
@@ -139,7 +139,7 @@ if [ -f "$RDC" ]; then
    (( rc != 0 )) && error "Failed to extract $RDC, reason $rc" && exit 92
  fi

  mkdir -p /run/extract
  rm -rf /run/extract && mkdir -p /run/extract
  for file in $TMP/usr/lib/libcurl.so.4 \
              $TMP/usr/lib/libmbedcrypto.so.5 \
              $TMP/usr/lib/libmbedtls.so.13 \
@@ -211,6 +211,7 @@ else

fi

rm -rf /run/extract
info "Install: Preparing system partition..."

BOOT=$(find "$TMP" -name "*.bin.zip")
@@ -275,15 +276,8 @@ PKG="$TMP/packages"
HDP="$TMP/synohdpack_img"

[ ! -f "$HDA.tgz" ] && error "The PAT file contains no OS image." && exit 64

mv "$HDA.tgz" "$HDA.txz"

if [[ "$ROOT" != [Nn]* ]]; then

  tar xpfJ "$HDA.txz" --absolute-names -C "$MOUNT/"

fi

[ -d "$PKG" ] && mv "$PKG/" "$MOUNT/.SynoUpgradePackages/"
rm -f "$MOUNT/.SynoUpgradePackages/ActiveInsight-"*

@@ -301,6 +295,8 @@ NUMBLOCKS="622560" # (4980480 * 512) / 4096

if [[ "$ROOT" != [Nn]* ]]; then

  tar xpfJ "$HDA.txz" --absolute-names --skip-old-files -C "$MOUNT/"

  info "Install: Installing system partition..."

  mke2fs -q -t ext4 -b 4096 -d "$MOUNT/" -L "$LABEL" -F -E "offset=$OFFSET" "$SYSTEM" "$NUMBLOCKS"
+1 −1
Original line number Diff line number Diff line
@@ -218,7 +218,7 @@ getInfo() {

  GATEWAY=$(ip r | grep default | awk '{print $3}')
  IP=$(ip address show dev "$VM_NET_DEV" | grep inet | awk '/inet / { print $2 }' | cut -f1 -d/)
  echo "$IP" > /run/qemu.ip
  echo "$IP" > /run/shm/qemu.ip

  return 0
}
+4 −4
Original line number Diff line number Diff line
@@ -10,10 +10,10 @@ API_HOST="127.0.0.1:2210"
QEMU_TERM=""
QEMU_PORT=7100
QEMU_TIMEOUT=50
QEMU_PID="/run/qemu.pid"
QEMU_LOG="/run/qemu.log"
QEMU_OUT="/run/qemu.out"
QEMU_END="/run/qemu.end"
QEMU_PID="/run/shm/qemu.pid"
QEMU_LOG="/run/shm/qemu.log"
QEMU_OUT="/run/shm/qemu.out"
QEMU_END="/run/shm/qemu.end"

if [[ "$KVM" == [Nn]* ]]; then
  API_TIMEOUT=$(( API_TIMEOUT*2 ))
+3 −3
Original line number Diff line number Diff line
@@ -6,9 +6,9 @@ set -Eeuo pipefail
info () { printf "%b%s%b" "\E[1;34m❯ \E[1;36m" "$1" "\E[0m\n" >&2; }
error () { printf "%b%s%b" "\E[1;31m❯ " "ERROR: $1" "\E[0m\n" >&2; }

file="/run/dsm.url"
address="/run/qemu.ip"
shutdown="/run/qemu.end"
file="/run/shm/dsm.url"
address="/run/shm/qemu.ip"
shutdown="/run/shm/qemu.end"
url="http://127.0.0.1:2210/read?command=10"

resp_err="Guest returned an invalid response:"
Loading