mirror of
https://github.com/AuxXxilium/arc-addons.git
synced 2024-11-23 21:50:52 +07:00
0c9b4f1d9b
Signed-off-by: AuxXxilium <info@auxxxilium.tech>
64 lines
2.4 KiB
Bash
Executable File
64 lines
2.4 KiB
Bash
Executable File
#!/usr/bin/env ash
|
||
#
|
||
# Copyright (C) 2023 AuxXxilium <https://github.com/AuxXxilium> and Ing <https://github.com/wjz304>
|
||
#
|
||
# From:https://github.com/007revad/Synology_enable_M2_volume
|
||
# From: https://github.com/PeterSuh-Q3/tcrp-addons/blob/main/nvmevolume-onthefly/src/install.sh
|
||
#
|
||
|
||
if grep -qw "/addons/nvmesystem.sh" "/addons/addons.sh"; then
|
||
echo "nvmevolume is not required if nvmesystem exists!"
|
||
exit 0
|
||
fi
|
||
|
||
if [ "${1}" = "late" ]; then
|
||
echo "Installing addon nvmevolume - ${1}"
|
||
mkdir -p "/tmpRoot/usr/arc/addons/"
|
||
cp -pf "${0}" "/tmpRoot/usr/arc/addons/"
|
||
|
||
SO_FILE="/tmpRoot/usr/lib/libhwcontrol.so.1"
|
||
[ ! -f "${SO_FILE}.bak" ] && cp -pf "${SO_FILE}" "${SO_FILE}.bak"
|
||
|
||
cp -pf "${SO_FILE}" "${SO_FILE}.tmp"
|
||
xxd -c $(xxd -p "${SO_FILE}.tmp" 2>/dev/null | wc -c) -p "${SO_FILE}.tmp" 2>/dev/null |
|
||
sed "s/803e00b801000000752.488b/803e00b8010000009090488b/" |
|
||
xxd -r -p >"${SO_FILE}" 2>/dev/null
|
||
rm -f "${SO_FILE}.tmp"
|
||
|
||
# Create storage pool page without RAID type.
|
||
cp -vpf /usr/bin/nvmevolume.sh /tmpRoot/usr/bin/nvmevolume.sh
|
||
|
||
[ ! -f "/tmpRoot/usr/bin/gzip" ] && cp -vpf /usr/bin/gzip /tmpRoot/usr/bin/gzip
|
||
|
||
mkdir -p "/tmpRoot/usr/lib/systemd/system"
|
||
DEST="/tmpRoot/usr/lib/systemd/system/nvmevolume.service"
|
||
{
|
||
echo "[Unit]"
|
||
echo "Description=Modify storage panel(nvmevolume)"
|
||
echo "Wants=smpkg-custom-install.service pkgctl-StorageManager.service"
|
||
echo "After=smpkg-custom-install.service"
|
||
echo "After=storagepanel.service" # storagepanel
|
||
echo "After=nvmesystem.service" # nvmesystem
|
||
echo
|
||
echo "[Service]"
|
||
echo "Type=oneshot"
|
||
echo "RemainAfterExit=yes"
|
||
echo "ExecStart=/usr/bin/nvmevolume.sh"
|
||
echo
|
||
echo "[Install]"
|
||
echo "WantedBy=multi-user.target"
|
||
} >"${DEST}"
|
||
elif [ "${1}" = "uninstall" ]; then
|
||
echo "Installing addon nvmevolume - ${1}"
|
||
|
||
SO_FILE="/tmpRoot/usr/lib/libhwcontrol.so.1"
|
||
[ -f "${SO_FILE}.bak" ] && mv -f "${SO_FILE}.bak" "${SO_FILE}"
|
||
|
||
rm -f "/tmpRoot/usr/lib/systemd/system/multi-user.target.wants/nvmevolume.service"
|
||
rm -f "/tmpRoot/usr/lib/systemd/system/nvmevolume.service"
|
||
|
||
# rm -f /tmpRoot/usr/bin/gzip
|
||
[ ! -f "/tmpRoot/usr/arc/revert.sh" ] && echo '#!/usr/bin/env bash' >/tmpRoot/usr/arc/revert.sh && chmod +x /tmpRoot/usr/arc/revert.sh
|
||
echo "/usr/bin/nvmevolume.sh -r" >>/tmpRoot/usr/arc/revert.sh
|
||
echo "rm -f /usr/bin/nvmevolume.sh" >>/tmpRoot/usr/arc/revert.sh
|
||
fi |