arc/tree: update

Signed-off-by: AuxXxilium <info@auxxxilium.tech>
This commit is contained in:
AuxXxilium
2023-11-02 21:01:31 +01:00
parent c2145344f8
commit cf081f1783
6 changed files with 43 additions and 93 deletions

View File

@@ -27,9 +27,7 @@ else
MACHINE="NATIVE"
fi
# Get Loader Disk information
LOADER_DISK="$(blkid | grep 'LABEL="ARC3"' | cut -d3 -f1)"
LOADER_DEVICE_NAME=$(echo "${LOADER_DISK}" | sed 's|/dev/||')
# Get Loader Disk Bus
BUS=$(getBus "${LOADER_DISK}")
# Set Warning to 0
@@ -539,10 +537,10 @@ function make() {
--msgbox "ERROR: No DSM Image found!" 0 0
fi
# Copy DSM Files to Locations if DSM Files not found
cp -f "${UNTAR_PAT_PATH}/grub_cksum.syno" "${BOOTLOADER_PATH}"
cp -f "${UNTAR_PAT_PATH}/GRUB_VER" "${BOOTLOADER_PATH}"
cp -f "${UNTAR_PAT_PATH}/grub_cksum.syno" "${SLPART_PATH}"
cp -f "${UNTAR_PAT_PATH}/GRUB_VER" "${SLPART_PATH}"
cp -f "${UNTAR_PAT_PATH}/grub_cksum.syno" "${PART1_PATH}"
cp -f "${UNTAR_PAT_PATH}/GRUB_VER" "${PART1_PATH}"
cp -f "${UNTAR_PAT_PATH}/grub_cksum.syno" "${PART2_PATH}"
cp -f "${UNTAR_PAT_PATH}/GRUB_VER" "${PART2_PATH}"
cp -f "${UNTAR_PAT_PATH}/zImage" "${ORI_ZIMAGE_FILE}"
cp -f "${UNTAR_PAT_PATH}/rd.gz" "${ORI_RDGZ_FILE}"
rm -rf "${UNTAR_PAT_PATH}"
@@ -1312,7 +1310,7 @@ function backupMenu() {
)
dialog --backtitle "$(backtitle)" --title "Restore Loader disk" --aspect 18 \
--infobox "Restore in progress..." 0 0
umount "${BOOTLOADER_PATH}" "${SLPART_PATH}" "${CACHE_PATH}"
umount "${PART1_PATH}" "${PART2_PATH}" "${PART3_PATH}"
if [ "${IFTOOL}" = "zip" ]; then
unzip -p "${TMP_PATH}/${USER_FILE}" | dd of="${LOADER_DISK}" bs=1M conv=fsync
elif [ "${IFTOOL}" = "gzip" ]; then
@@ -1400,8 +1398,8 @@ function backupMenu() {
writeConfigKey "productver" "${majorversion}.${minorversion}" "${USER_CONFIG_FILE}"
PRODUCTVER="$(readConfigKey "productver" "${USER_CONFIG_FILE}")"
if [ -n "${PRODUCTVER}" ]; then
cp -f "${DSMROOT_PATH}/.syno/patch/zImage" "${SLPART_PATH}"
cp -f "${DSMROOT_PATH}/.syno/patch/rd.gz" "${SLPART_PATH}"
cp -f "${DSMROOT_PATH}/.syno/patch/zImage" "${PART2_PATH}"
cp -f "${DSMROOT_PATH}/.syno/patch/rd.gz" "${PART2_PATH}"
TEXT="Installation found:\nModel: ${MODEL}\nVersion: ${PRODUCTVER}"
SN=$(_get_conf_kv SN "${DSMROOT_PATH}/etc/synoinfo.conf")
if [ -n "${SN}" ]; then
@@ -1509,7 +1507,7 @@ function backupMenu() {
)
dialog --backtitle "$(backtitle)" --title "Restore Loader disk" --aspect 18 \
--infobox "Restore in progress..." 0 0
umount "${BOOTLOADER_PATH}" "${SLPART_PATH}" "${CACHE_PATH}"
umount "${PART1_PATH}" "${PART2_PATH}" "${PART3_PATH}"
if [ "${IFTOOL}" = "zip" ]; then
unzip -p "${TMP_PATH}/${USER_FILE}" | dd of="${LOADER_DISK}" bs=1M conv=fsync
elif [ "${IFTOOL}" = "gzip" ]; then
@@ -1587,8 +1585,8 @@ function backupMenu() {
writeConfigKey "productver" "${majorversion}.${minorversion}" "${USER_CONFIG_FILE}"
PRODUCTVER="$(readConfigKey "productver" "${USER_CONFIG_FILE}")"
if [ -n "${PRODUCTVER}" ]; then
cp -f "${DSMROOT_PATH}/.syno/patch/zImage" "${SLPART_PATH}"
cp -f "${DSMROOT_PATH}/.syno/patch/rd.gz" "${SLPART_PATH}"
cp -f "${DSMROOT_PATH}/.syno/patch/zImage" "${PART2_PATH}"
cp -f "${DSMROOT_PATH}/.syno/patch/rd.gz" "${PART2_PATH}"
TEXT="Installation found:\nModel: ${MODEL}\nVersion: ${PRODUCTVER}"
SN=$(_get_conf_kv SN "${DSMROOT_PATH}/etc/synoinfo.conf")
if [ -n "${SN}" ]; then
@@ -1701,7 +1699,7 @@ function updateMenu() {
dialog --backtitle "$(backtitle)" --title "Upgrade Loader" --aspect 18 \
--infobox "Installing new Loader Image" 0 0
# Process complete update
umount "${BOOTLOADER_PATH}" "${SLPART_PATH}" "${CACHE_PATH}"
umount "${PART1_PATH}" "${PART2_PATH}" "${PART3_PATH}"
dd if="${TMP_PATH}/arc.img" of=$(blkid | grep 'LABEL="ARC3"' | cut -d3 -f1) bs=1M conv=fsync
# Ask for Boot
rm -f "${TMP_PATH}/arc.img"
@@ -1750,10 +1748,10 @@ function updateMenu() {
unzip -oq "${TMP_PATH}/update.zip" -d "${TMP_PATH}/update" >/dev/null 2>&1
dialog --backtitle "$(backtitle)" --title "Update Loader" --aspect 18 \
--infobox "Updating Loader Image" 0 0
cp -f "${TMP_PATH}/update/bzImage" "${CACHE_PATH}/bzImage-arc"
cp -f "${TMP_PATH}/update/rootfs.cpio.xz" "${CACHE_PATH}/initrd-arc"
cp -f "${TMP_PATH}/update/ARC-VERSION" "${BOOTLOADER_PATH}/ARC-VERSION"
cp -f "${TMP_PATH}/update/grub.cfg" "${BOOTLOADER_PATH}/boot/grub/grub.cfg"
cp -f "${TMP_PATH}/update/bzImage" "${PART3_PATH}/bzImage-arc"
cp -f "${TMP_PATH}/update/rootfs.cpio.xz" "${PART3_PATH}/initrd-arc"
cp -f "${TMP_PATH}/update/ARC-VERSION" "${PART1_PATH}/ARC-VERSION"
cp -f "${TMP_PATH}/update/grub.cfg" "${PART1_PATH}/boot/grub/grub.cfg"
rm -rf "${TMP_PATH}/update"
rm -f "${TMP_PATH}/update.zip"
dialog --backtitle "$(backtitle)" --title "Update Loader" --aspect 18 \
@@ -2441,10 +2439,10 @@ function saveMenu() {
--infobox "Saving ..." 0 0
RDXZ_PATH="${TMP_PATH}/rdxz_tmp"
mkdir -p "${RDXZ_PATH}"
(cd "${RDXZ_PATH}"; xz -dc <"${CACHE_PATH}/initrd-arc" | cpio -idm) >/dev/null 2>&1 || true
(cd "${RDXZ_PATH}"; xz -dc <"${PART3_PATH}/initrd-arc" | cpio -idm) >/dev/null 2>&1 || true
rm -rf "${RDXZ_PATH}/opt/arc"
cp -Rf "/opt" "${RDXZ_PATH}"
(cd "${RDXZ_PATH}"; find . 2>/dev/null | cpio -o -H newc -R root:root | xz --check=crc32 >"${CACHE_PATH}/initrd-arc") || true
(cd "${RDXZ_PATH}"; find . 2>/dev/null | cpio -o -H newc -R root:root | xz --check=crc32 >"${PART3_PATH}/initrd-arc") || true
rm -rf "${RDXZ_PATH}"
dialog --backtitle "$(backtitle)" --colors --aspect 18 \
--msgbox "Save to Disk is complete." 0 0
@@ -2493,7 +2491,7 @@ function resetLoader() {
# Clean old files
rm -f "${ORI_ZIMAGE_FILE}" "${ORI_RDGZ_FILE}" "${MOD_ZIMAGE_FILE}" "${MOD_RDGZ_FILE}" "${USER_CONFIG_FILE}"
rm -rf "${UNTAR_PAT_PATH}"
rm -rf "${CACHE_PATH}/${MODEL}"
rm -rf "${PART3_PATH}/${MODEL}"
fi
if [ ! -f "${USER_CONFIG_FILE}" ]; then
touch "${USER_CONFIG_FILE}"

View File

@@ -5,15 +5,7 @@ set -e
. ${ARC_PATH}/include/functions.sh
# Wait kernel enumerate the disks
CNT=3
while true; do
[ ${CNT} -eq 0 ] && break
LOADER_DISK="$(blkid | grep 'LABEL="ARC3"' | cut -d3 -f1)"
[ -n "${LOADER_DISK}" ] && break
CNT=$((${CNT} - 1))
sleep 1
done
# Get Loader Disk Bus
BUS=$(getBus "${LOADER_DISK}")
# Check if machine has EFI

View File

@@ -86,7 +86,7 @@ function untarAddon() {
###############################################################################
# Detect if has new local plugins to install/reinstall
function updateAddons() {
for F in $(ls ${CACHE_PATH}/*.addon 2>/dev/null); do
for F in $(ls ${PART3_PATH}/*.addon 2>/dev/null); do
ADDON=$(basename "${F}" | sed 's|.addon||')
rm -rf "${ADDONS_PATH}/${ADDON:?}"
mkdir -p "${ADDONS_PATH}/${ADDON}"

View File

@@ -3,9 +3,9 @@ ARC_VERSION="23.1.1"
ARC_TITLE="Arc ${ARC_VERSION}"
# Define paths
BOOTLOADER_PATH="/mnt/p1"
SLPART_PATH="/mnt/p2"
CACHE_PATH="/mnt/p3"
PART1_PATH="/mnt/p1"
PART2_PATH="/mnt/p2"
PART3_PATH="/mnt/p3"
DSMROOT_PATH="/mnt/dsmroot"
TMP_PATH="/tmp"
@@ -13,26 +13,26 @@ UNTAR_PAT_PATH="${TMP_PATH}/DSM"
RAMDISK_PATH="${TMP_PATH}/ramdisk"
LOG_FILE="${TMP_PATH}/log.txt"
USER_CONFIG_FILE="${BOOTLOADER_PATH}/user-config.yml"
GRUB_PATH="${BOOTLOADER_PATH}/boot/grub"
USER_CONFIG_FILE="${PART1_PATH}/user-config.yml"
GRUB_PATH="${PART1_PATH}/boot/grub"
ORI_ZIMAGE_FILE="${SLPART_PATH}/zImage"
ORI_RDGZ_FILE="${SLPART_PATH}/rd.gz"
ORI_ZIMAGE_FILE="${PART2_PATH}/zImage"
ORI_RDGZ_FILE="${PART2_PATH}/rd.gz"
ARC_BZIMAGE_FILE="${CACHE_PATH}/bzImage-arc"
ARC_RAMDISK_FILE="${CACHE_PATH}/initrd-arc"
MOD_ZIMAGE_FILE="${CACHE_PATH}/zImage-dsm"
MOD_RDGZ_FILE="${CACHE_PATH}/initrd-dsm"
ARC_BZIMAGE_FILE="${PART3_PATH}/bzImage-arc"
ARC_RAMDISK_FILE="${PART3_PATH}/initrd-arc"
MOD_ZIMAGE_FILE="${PART3_PATH}/zImage-dsm"
MOD_RDGZ_FILE="${PART3_PATH}/initrd-dsm"
ADDONS_PATH="${CACHE_PATH}/addons"
EXTENSIONS_PATH="${CACHE_PATH}/extensions"
MODULES_PATH="${CACHE_PATH}/modules"
MODEL_CONFIG_PATH="${CACHE_PATH}/configs"
PATCH_PATH="${CACHE_PATH}/patches"
LKM_PATH="${CACHE_PATH}/lkms"
USER_UP_PATH="${CACHE_PATH}/users"
BACKUPDIR="${CACHE_PATH}/backup"
ADDONS_PATH="${PART3_PATH}/addons"
EXTENSIONS_PATH="${PART3_PATH}/extensions"
MODULES_PATH="${PART3_PATH}/modules"
MODEL_CONFIG_PATH="${PART3_PATH}/configs"
PATCH_PATH="${PART3_PATH}/patches"
LKM_PATH="${PART3_PATH}/lkms"
USER_UP_PATH="${PART3_PATH}/users"
BACKUPDIR="${PART3_PATH}/backup"
BB_USER_CONFIG_FILE="${BACKUPDIR}/user-config.yml"
EXTRACTOR_PATH="${CACHE_PATH}/extractor"
EXTRACTOR_PATH="${PART3_PATH}/extractor"
EXTRACTOR_BIN="syno_extract_system_patch"

View File

@@ -82,7 +82,7 @@ function untarExtension() {
###############################################################################
# Detect if has new local plugins to install/reinstall
function updateExtensions() {
for F in $(ls ${CACHE_PATH}/*.extension 2>/dev/null); do
for F in $(ls ${PART3_PATH}/*.extension 2>/dev/null); do
EXTENSION=$(basename "${F}" | sed 's|.extension||')
rm -rf "${EXTENSIONS_PATH}/${EXTENSION:?}"
mkdir -p "${EXTENSIONS_PATH}/${EXTENSION}"

View File

@@ -5,34 +5,7 @@ set -e
. ${ARC_PATH}/include/functions.sh
# Wait kernel enumerate the disks
CNT=3
while true; do
[ ${CNT} -eq 0 ] && break
LOADER_DISK="$(blkid | grep 'LABEL="ARC3"' | cut -d3 -f1)"
[ -n "${LOADER_DISK}" ] && break
CNT=$((${CNT} - 1))
sleep 1
done
[ -z "${LOADER_DISK}" ] && die "Loader disk not found!"
NUM_PARTITIONS=$(blkid | grep "${LOADER_DISK}[0-9]\+" | cut -d: -f1 | wc -l)
[ ${NUM_PARTITIONS} -lt 3 ] && die "Loader disk seems to be damaged!"
[ ${NUM_PARTITIONS} -gt 3 ] && die "There are multiple loader disks, please insert only one loader disk!"
# Check partitions and ignore errors
fsck.vfat -aw ${LOADER_DISK}1 >/dev/null 2>&1 || true
fsck.ext2 -p ${LOADER_DISK}2 >/dev/null 2>&1 || true
fsck.ext4 -p ${LOADER_DISK}3 >/dev/null 2>&1 || true
# Make folders to mount partitions
mkdir -p ${BOOTLOADER_PATH}
mkdir -p ${SLPART_PATH}
mkdir -p ${CACHE_PATH}
mkdir -p ${DSMROOT_PATH}
# Mount the partitions
mount ${LOADER_DISK}1 ${BOOTLOADER_PATH} || die "Can't mount ${BOOTLOADER_PATH}"
mount ${LOADER_DISK}2 ${SLPART_PATH} || die "Can't mount ${SLPART_PATH}"
mount ${LOADER_DISK}3 ${CACHE_PATH} || die "Can't mount ${CACHE_PATH}"
[ -z "${LOADER_DISK}" ] && die "Loader Disk not found!"
# Shows title
clear
@@ -43,19 +16,6 @@ printf "\033[1;30m%*s\033[A\n" ${COLUMNS} ""
printf "\033[1;34m%*s\033[0m\n" $(((${#TITLE} + ${COLUMNS}) / 2)) "${TITLE}"
printf "\033[1;30m%*s\033[0m\n" ${COLUMNS} ""
# Move/link SSH machine keys to/from cache volume
[ ! -d "${PART3_PATH}/ssh" ] && cp -R "/etc/ssh" "${PART3_PATH}/ssh"
rm -rf "/etc/ssh"
ln -s "${PART3_PATH}/ssh" "/etc/ssh"
# Link bash history to cache volume
rm -rf ~/.bash_history
ln -s "${PART3_PATH}/.bash_history" ~/.bash_history
touch ~/.bash_history
if ! grep -q "arc.sh" ~/.bash_history; then
echo "arc.sh " >>~/.bash_history
fi
# If user config file not exists, initialize it
if [ ! -f "${USER_CONFIG_FILE}" ]; then
touch "${USER_CONFIG_FILE}"