mirror of
https://github.com/vdsm/virtual-dsm.git
synced 2025-11-07 02:23:42 +08:00
Compare commits
8 Commits
| Author | SHA1 | Date | |
|---|---|---|---|
|
|
f0ce992a27 | ||
|
|
6334cfc8bc | ||
|
|
451a569617 | ||
|
|
44d82d6544 | ||
|
|
618ec66401 | ||
|
|
d24ae86c12 | ||
|
|
32db74e50d | ||
|
|
503c89f08c |
18
src/disk.sh
18
src/disk.sh
@@ -27,9 +27,7 @@ addDisk () {
|
|||||||
local GB
|
local GB
|
||||||
local DIR
|
local DIR
|
||||||
local REQ
|
local REQ
|
||||||
local SIZE
|
|
||||||
local SPACE
|
local SPACE
|
||||||
local MIN_SIZE
|
|
||||||
local CUR_SIZE
|
local CUR_SIZE
|
||||||
local DATA_SIZE
|
local DATA_SIZE
|
||||||
local DISK_ID=$1
|
local DISK_ID=$1
|
||||||
@@ -46,8 +44,7 @@ addDisk () {
|
|||||||
DISK_SPACE=$(echo "${DISK_SPACE}" | sed 's/MB/M/g;s/GB/G/g;s/TB/T/g')
|
DISK_SPACE=$(echo "${DISK_SPACE}" | sed 's/MB/M/g;s/GB/G/g;s/TB/T/g')
|
||||||
DATA_SIZE=$(numfmt --from=iec "${DISK_SPACE}")
|
DATA_SIZE=$(numfmt --from=iec "${DISK_SPACE}")
|
||||||
|
|
||||||
MIN_SIZE=6442450944
|
if (( DATA_SIZE < 6442450944 )); then
|
||||||
if (( DATA_SIZE < MIN_SIZE )); then
|
|
||||||
error "Please increase ${DISK_DESC^^}_SIZE to at least 6 GB." && exit 83
|
error "Please increase ${DISK_DESC^^}_SIZE to at least 6 GB." && exit 83
|
||||||
fi
|
fi
|
||||||
|
|
||||||
@@ -119,19 +116,6 @@ addDisk () {
|
|||||||
fi
|
fi
|
||||||
|
|
||||||
fi
|
fi
|
||||||
|
|
||||||
# Check if file exists
|
|
||||||
if [ ! -f "${DISK_FILE}" ]; then
|
|
||||||
error "File for ${DISK_DESC} ($DISK_FILE) does not exist!" && exit 88
|
|
||||||
fi
|
|
||||||
|
|
||||||
fi
|
|
||||||
|
|
||||||
# Check the filesize
|
|
||||||
SIZE=$(stat -c%s "${DISK_FILE}")
|
|
||||||
|
|
||||||
if [[ SIZE -ne DATA_SIZE ]]; then
|
|
||||||
error "File for ${DISK_DESC} (${DISK_FILE}) has the wrong size: ${SIZE} bytes" && exit 89
|
|
||||||
fi
|
fi
|
||||||
|
|
||||||
DISK_OPTS="${DISK_OPTS} \
|
DISK_OPTS="${DISK_OPTS} \
|
||||||
|
|||||||
@@ -1,6 +1,8 @@
|
|||||||
#!/usr/bin/env bash
|
#!/usr/bin/env bash
|
||||||
set -Eeuo pipefail
|
set -Eeuo pipefail
|
||||||
|
|
||||||
|
: ${DEV:='Y'} # Controls whether device nodes are created.
|
||||||
|
|
||||||
if [ -f "$STORAGE"/dsm.ver ]; then
|
if [ -f "$STORAGE"/dsm.ver ]; then
|
||||||
BASE=$(cat "${STORAGE}/dsm.ver")
|
BASE=$(cat "${STORAGE}/dsm.ver")
|
||||||
else
|
else
|
||||||
@@ -107,8 +109,14 @@ if [ -f "${RDC}" ]; 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
|
||||||
|
|
||||||
|
if [[ "${DEV}" == [Nn]* ]]; then
|
||||||
|
# Exclude dev/ from cpio extract
|
||||||
|
{ (cd "$TMP" && cpio -it < "$TMP/rd" | grep -Ev 'dev/' | while read -r entry; do cpio -idm "$entry" < "$TMP/rd" 2>/dev/null; done); rc=$?; } || :
|
||||||
|
(( rc != 0 )) && error "Failed to extract $RDC, reason $rc" && exit 92
|
||||||
|
else
|
||||||
{ (cd "$TMP" && cpio -idm <"$TMP/rd" 2>/dev/null); rc=$?; } || :
|
{ (cd "$TMP" && cpio -idm <"$TMP/rd" 2>/dev/null); rc=$?; } || :
|
||||||
(( rc != 0 )) && error "Failed to cpio $RDC, reason $rc" && exit 92
|
(( rc != 0 )) && error "Failed to cpio $RDC, reason $rc" && exit 92
|
||||||
|
fi
|
||||||
|
|
||||||
mkdir -p /run/extract
|
mkdir -p /run/extract
|
||||||
for file in $TMP/usr/lib/libcurl.so.4 \
|
for file in $TMP/usr/lib/libcurl.so.4 \
|
||||||
@@ -240,7 +248,13 @@ MOUNT="$TMP/system"
|
|||||||
rm -rf "$MOUNT" && mkdir -p "$MOUNT"
|
rm -rf "$MOUNT" && mkdir -p "$MOUNT"
|
||||||
|
|
||||||
mv "$HDA.tgz" "$HDA.txz"
|
mv "$HDA.tgz" "$HDA.txz"
|
||||||
tar xpfJ "$HDA.txz" --absolute-names -C "$MOUNT/"
|
|
||||||
|
if [[ "${DEV}" == [Nn]* ]]; then
|
||||||
|
# Exclude dev/ from tar extract
|
||||||
|
tar xpfJ "$HDA.txz" --absolute-names --exclude="dev" -C "$MOUNT/"
|
||||||
|
else
|
||||||
|
tar xpfJ "$HDA.txz" --absolute-names -C "$MOUNT/"
|
||||||
|
fi
|
||||||
|
|
||||||
[ -d "$PKG" ] && mv "$PKG/" "$MOUNT/.SynoUpgradePackages/"
|
[ -d "$PKG" ] && mv "$PKG/" "$MOUNT/.SynoUpgradePackages/"
|
||||||
rm -f "$MOUNT/.SynoUpgradePackages/ActiveInsight-"*
|
rm -f "$MOUNT/.SynoUpgradePackages/ActiveInsight-"*
|
||||||
|
|||||||
Reference in New Issue
Block a user