Initial ARM support

Initial ARM support
This commit is contained in:
Kroese 2023-05-24 23:28:34 +02:00 committed by GitHub
commit 0ac93a8c7c
3 changed files with 45 additions and 28 deletions

View File

@ -10,11 +10,12 @@ DL="https://global.synologydownload.com/download/DSM"
if [ -z "$URL" ]; then if [ -z "$URL" ]; then
URL="$DL/release/7.2/64561/DSM_VirtualDSM_64561.pat" URL="$DL/release/7.2/64561/DSM_VirtualDSM_64561.pat"
#URL="$DL/release/7.0.1/42218/DSM_VirtualDSM_42218.pat"
#URL="$DL/release/7.1.1/42962-1/DSM_VirtualDSM_42962.pat" #URL="$DL/release/7.1.1/42962-1/DSM_VirtualDSM_42962.pat"
fi fi
[ "$ARCH" != "amd64" ] && URL="$DL/release/7.0.1/42218/DSM_VirtualDSM_42218.pat"
# Check if output is to interactive TTY # Check if output is to interactive TTY
if [ -t 1 ]; then if [ -t 1 ]; then
PROGRESS="--progress=bar:noscroll" PROGRESS="--progress=bar:noscroll"
@ -36,7 +37,7 @@ rm -rf "$TMP" && mkdir -p "$TMP"
[[ "${DEBUG}" == [Yy1]* ]] && set -x [[ "${DEBUG}" == [Yy1]* ]] && set -x
if [ ! -f "${RDC}" ]; then if [ ! -f "${RDC}" ] && [ "$ARCH" == "amd64" ]; then
info "Install: Downloading installer..." info "Install: Downloading installer..."
@ -68,6 +69,8 @@ if [ ! -f "${RDC}" ]; then
fi fi
if [ -f "${RDC}" ] && [ "$ARCH" == "amd64" ]; then
{ xz -dc <"$RDC" >"$TMP/rd" 2>/dev/null; rc=$?; } || : { xz -dc <"$RDC" >"$TMP/rd" 2>/dev/null; rc=$?; } || :
(( rc != 1 )) && error "Failed to unxz $RDC, reason $rc" && exit 91 (( rc != 1 )) && error "Failed to unxz $RDC, reason $rc" && exit 91
@ -91,6 +94,8 @@ chmod +x /run/extract/syno_extract_system_patch
rm -rf "$TMP" && mkdir -p "$TMP" rm -rf "$TMP" && mkdir -p "$TMP"
fi
info "Install: Downloading $(basename "$URL")..." info "Install: Downloading $(basename "$URL")..."
PAT="/$BASE.pat" PAT="/$BASE.pat"
@ -110,12 +115,18 @@ fi
info "Install: Extracting downloaded image..." info "Install: Extracting downloaded image..."
if { tar tf "$PAT"; } >/dev/null 2>&1; then if { tar tf "$PAT"; } >/dev/null 2>&1; then
tar xpf "$PAT" -C "$TMP/." tar xpf "$PAT" -C "$TMP/."
else else
[ "$ARCH" != "amd64" ] && error "Wrong architecture: $ARCH" && exit 65
export LD_LIBRARY_PATH="/run/extract" export LD_LIBRARY_PATH="/run/extract"
{ /run/extract/syno_extract_system_patch "$PAT" "$TMP/."; rc=$?; } || : { /run/extract/syno_extract_system_patch "$PAT" "$TMP/."; rc=$?; } || :
(( rc != 0 )) && error "Failed to extract PAT file, reason $rc" && exit 63 (( rc != 0 )) && error "Failed to extract PAT file, reason $rc" && exit 63
export LD_LIBRARY_PATH="" export LD_LIBRARY_PATH=""
fi fi
HDA="$TMP/hda1" HDA="$TMP/hda1"

View File

@ -62,8 +62,10 @@ else
fi fi
if [ -n "${KVM_ERR}" ]; then if [ -n "${KVM_ERR}" ]; then
if [ "$ARCH" == "amd64" ]; then
error "KVM acceleration not detected ${KVM_ERR}, see the FAQ about this." error "KVM acceleration not detected ${KVM_ERR}, see the FAQ about this."
[[ "${DEBUG}" != [Yy1]* ]] && exit 88 [[ "${DEBUG}" != [Yy1]* ]] && exit 88
fi
else else
KVM_OPTS=",accel=kvm -enable-kvm -cpu host" KVM_OPTS=",accel=kvm -enable-kvm -cpu host"
fi fi

View File

@ -18,7 +18,11 @@ fi
if [ -n "$HOST_CPU" ]; then if [ -n "$HOST_CPU" ]; then
HOST_CPU="$HOST_CPU,," HOST_CPU="$HOST_CPU,,"
else else
if [ "$ARCH" == "amd64" ]; then
HOST_CPU="QEMU, Virtual CPU, X86_64" HOST_CPU="QEMU, Virtual CPU, X86_64"
else
HOST_CPU="QEMU, Virtual CPU, $ARCH"
fi
fi fi
HOST_ARGS=() HOST_ARGS=()