Use DSM 7.2 for new installs

This commit is contained in:
Kroese 2023-04-14 16:12:14 +02:00 committed by GitHub
parent d94bfca658
commit 01d874bf56

View File

@ -1,16 +1,15 @@
#!/usr/bin/env bash #!/usr/bin/env bash
set -eu set -eu
IMG="/storage"
[ ! -d "$IMG" ] && echo "Storage folder (${IMG}) not found!" && exit 69
if [ -z $URL ]; then if [ -z $URL ]; then
#URL="https://global.synologydownload.com/download/DSM/beta/7.2/64216/DSM_VirtualDSM_64216.pat" BASE="DSM_VirtualDSM_42962"
#URL="https://global.synologydownload.com/download/DSM/release/7.0.1/42218/DSM_VirtualDSM_42218.pat" else
URL="https://global.synologydownload.com/download/DSM/release/7.1.1/42962-1/DSM_VirtualDSM_42962.pat" BASE=$(basename "$URL" .pat)
fi fi
IMG="/storage"
BASE=$(basename "$URL" .pat)
[ ! -d "$IMG" ] && echo "Storage folder (${IMG}) not found!" && exit 69
[ ! -f "/run/server.sh" ] && echo "Script must run inside Docker container!" && exit 60 [ ! -f "/run/server.sh" ] && echo "Script must run inside Docker container!" && exit 60
[ ! -f "$IMG/$BASE.boot.img" ] && rm -f "$IMG"/"$BASE".system.img [ ! -f "$IMG/$BASE.boot.img" ] && rm -f "$IMG"/"$BASE".system.img
@ -19,17 +18,26 @@ BASE=$(basename "$URL" .pat)
# Display wait message on port 5000 # Display wait message on port 5000
/run/server.sh 5000 > /dev/null & /run/server.sh 5000 > /dev/null &
TMP="$IMG/tmp" if [ -z $URL ]; then
URL="https://global.synologydownload.com/download/DSM/beta/7.2/64216/DSM_VirtualDSM_64216.pat"
#URL="https://global.synologydownload.com/download/DSM/release/7.0.1/42218/DSM_VirtualDSM_42218.pat"
#URL="https://global.synologydownload.com/download/DSM/release/7.1.1/42962-1/DSM_VirtualDSM_42962.pat"
BASE=$(basename "$URL" .pat)
fi
echo "Install: Downloading extractor..." echo "Install: Downloading extractor..."
TMP="$IMG/tmp"
rm -rf $TMP && mkdir -p $TMP rm -rf $TMP && mkdir -p $TMP
FILE="$TMP/rd.gz" RD="$TMP/rd.gz"
curl -r 64493568-69886247 -s -k -o "$FILE" https://global.synologydownload.com/download/DSM/release/7.0.1/42218/DSM_VirtualDSM_42218.pat curl -r 64493568-69886247 -s -k -o "$RD" https://global.synologydownload.com/download/DSM/release/7.0.1/42218/DSM_VirtualDSM_42218.pat
set +e set +e
xz -dc <$TMP/rd.gz >$TMP/rd 2>/dev/null xz -dc <$RD >$TMP/rd 2>/dev/null
(cd $TMP && cpio -idm <$TMP/rd 2>/dev/null) (cd $TMP && cpio -idm <$TMP/rd 2>/dev/null)
set -e set -e
@ -41,22 +49,22 @@ done
mv /run/extract/scemd /run/extract/syno_extract_system_patch mv /run/extract/scemd /run/extract/syno_extract_system_patch
chmod +x /run/extract/syno_extract_system_patch chmod +x /run/extract/syno_extract_system_patch
rm -rf $TMP && mkdir -p $TMP
echo "Install: Downloading $URL..." echo "Install: Downloading $URL..."
FILE="$TMP/dsm.pat" PAT="$TMP/dsm.pat"
rm -rf $TMP && mkdir -p $TMP
# Check if running with interactive TTY or redirected to docker log # Check if running with interactive TTY or redirected to docker log
if [ -t 1 ]; then if [ -t 1 ]; then
wget "$URL" -O "$FILE" -q --no-check-certificate --show-progress wget "$URL" -O "$PAT" -q --no-check-certificate --show-progress
else else
wget "$URL" -O "$FILE" -q --no-check-certificate --show-progress --progress=dot:giga wget "$URL" -O "$PAT" -q --no-check-certificate --show-progress --progress=dot:giga
fi fi
[ ! -f "$FILE" ] && echo "Download failed" && exit 61 [ ! -f "$PAT" ] && echo "Download failed" && exit 61
SIZE=$(stat -c%s "$FILE") SIZE=$(stat -c%s "$PAT")
if ((SIZE<250000000)); then if ((SIZE<250000000)); then
echo "Invalid PAT file: File is an update pack which contains no OS image." && exit 62 echo "Invalid PAT file: File is an update pack which contains no OS image." && exit 62
@ -64,11 +72,11 @@ fi
echo "Install: Extracting downloaded system image..." echo "Install: Extracting downloaded system image..."
if { tar tf "$FILE"; } >/dev/null 2>&1; then if { tar tf "$PAT"; } >/dev/null 2>&1; then
tar xpf $FILE -C $TMP/. tar xpf $PAT -C $TMP/.
else else
export LD_LIBRARY_PATH="/run/extract" export LD_LIBRARY_PATH="/run/extract"
if ! /run/extract/syno_extract_system_patch $FILE $TMP/. ; then if ! /run/extract/syno_extract_system_patch $PAT $TMP/. ; then
echo "Invalid PAT file: File is an update pack which contains no OS image." && exit 63 echo "Invalid PAT file: File is an update pack which contains no OS image." && exit 63
fi fi
export LD_LIBRARY_PATH="" export LD_LIBRARY_PATH=""
@ -152,7 +160,7 @@ fi
rm -rf $MOUNT rm -rf $MOUNT
mv -f "$FILE" "$IMG"/"$BASE".pat mv -f "$PAT" "$IMG"/"$BASE".pat
mv -f "$BOOT" "$IMG"/"$BASE".boot.img mv -f "$BOOT" "$IMG"/"$BASE".boot.img
mv -f "$SYSTEM" "$IMG"/"$BASE".system.img mv -f "$SYSTEM" "$IMG"/"$BASE".system.img