diff --git a/files/initrd/opt/arc/arc.sh b/files/initrd/opt/arc/arc.sh index efff0426..385947b8 100755 --- a/files/initrd/opt/arc/arc.sh +++ b/files/initrd/opt/arc/arc.sh @@ -66,15 +66,7 @@ BUILDDONE="$(readConfigKey "arc.builddone" "${USER_CONFIG_FILE}")" ntpCheck # Check for Dynamic Mode -if [ "${ARCDYN}" == "true" ] && [ "${OFFLINE}" == "false" ] && [ ! -f "${PART1_PATH}/dynamic" ]; then - curl -skL "https://github.com/AuxXxilium/arc/archive/refs/heads/main.zip" -o "${TMP_PATH}/main.zip" - unzip -o "${TMP_PATH}/main.zip" -d "${TMP_PATH}" 2>/dev/null - cp -rf "${TMP_PATH}/arc-main/files/initrd/opt" "${ARC_PATH}" - rm -rf "${TMP_PATH}/arc-main" - rm -f "${TMP_PATH}/main.zip" - echo "true" >"${PART1_PATH}/dynamic" - init.sh -fi +dynCheck ############################################################################### # Mounts backtitle dynamically @@ -1158,17 +1150,7 @@ else C) cloneLoader; NEXT="C" ;; Y) [ "${ARCDYN}" == "false" ] && ARCDYN='true' || ARCDYN='false' writeConfigKey "arc.dynamic" "${ARCDYN}" "${USER_CONFIG_FILE}" - if [ "${ARCDYN}" == "true" ]; then - curl -skL "https://github.com/AuxXxilium/arc/archive/refs/heads/main.zip" -o "${TMP_PATH}/main.zip" - unzip -o "${TMP_PATH}/main.zip" -d "${TMP_PATH}" 2>/dev/null - cp -rf "${TMP_PATH}/arc-main/files/initrd/opt" "${ARC_PATH}" - rm -rf "${TMP_PATH}/arc-main" - rm -f "${TMP_PATH}/main.zip" - echo "true" >"${PART1_PATH}/dynamic" - init.sh - else - rm -f "${PART1_PATH}/dynamic" - fi + dynCheck NEXT="Y" ;; F) formatDisks; NEXT="F" ;; diff --git a/files/initrd/opt/arc/boot.sh b/files/initrd/opt/arc/boot.sh index 2b36fe14..82a23e1b 100755 --- a/files/initrd/opt/arc/boot.sh +++ b/files/initrd/opt/arc/boot.sh @@ -7,6 +7,9 @@ function bootDSM () { # Check if machine has EFI [ -d /sys/firmware/efi ] && EFI=1 || EFI=0 + # Cleanup Dynamic Mode + [ -f "${PART1_PATH}/dynamic" ] && rm -f "${PART1_PATH}/dynamic" >/dev/null 2>&1 || true + # Print Title centralized clear COLUMNS=${COLUMNS:-50} diff --git a/files/initrd/opt/arc/include/functions.sh b/files/initrd/opt/arc/include/functions.sh index c1ac1026..7769b32d 100755 --- a/files/initrd/opt/arc/include/functions.sh +++ b/files/initrd/opt/arc/include/functions.sh @@ -642,4 +642,22 @@ function systemCheck () { fi # Screen Timeout checkCmdline "arc_cmdline" "nomodeset" && SCREENOFF="false" || SCREENOFF="true" +} + +############################################################################### +# Check Dynamic Mode +function dynCheck () { + ARCDYN="$(readConfigKey "arc.dynamic" "${USER_CONFIG_FILE}")" + OFFLINE="$(readConfigKey "arc.offline" "${USER_CONFIG_FILE}")" + if [ "${ARCDYN}" == "true" ] && [ "${OFFLINE}" == "false" ] && [ -f "${PART1_PATH}/dynamic" ]; then + curl -skL "https://github.com/AuxXxilium/arc/archive/refs/heads/main.zip" -o "${TMP_PATH}/main.zip" + unzip -qq -o "${TMP_PATH}/main.zip" -d "${TMP_PATH}" 2>/dev/null + cp -rf "${TMP_PATH}/arc-main/files/initrd/opt" "${ARC_PATH}" + rm -rf "${TMP_PATH}/arc-main" + rm -f "${TMP_PATH}/main.zip" + echo "true" >"${PART1_PATH}/dynamic" + init.sh + else + [ -f "${PART1_PATH}/dynamic" ] && rm -f "${PART1_PATH}/dynamic" >/dev/null 2>&1 || true + fi } \ No newline at end of file diff --git a/files/initrd/opt/arc/init.sh b/files/initrd/opt/arc/init.sh index f2cc7f65..4f18d80e 100755 --- a/files/initrd/opt/arc/init.sh +++ b/files/initrd/opt/arc/init.sh @@ -85,8 +85,8 @@ else writeConfigKey "automated" "false" "${USER_CONFIG_FILE}" fi [ $(echo "${ARC_VERSION}" | grep -q "s" | wc -l) -gt 0 ] && writeConfigKey "arc.branch" "s" "${USER_CONFIG_FILE}" || writeConfigKey "arc.branch" "" "${USER_CONFIG_FILE}" -[ -f "${PART3_PATH}/automated" ] && rm -f "${PART3_PATH}/automated" >/dev/null -[ -f "${PART1_PATH}/dynamic" ] && rm -f "${PART1_PATH}/dynamic" >/dev/null +[ -f "${PART3_PATH}/automated" ] && rm -f "${PART3_PATH}/automated" >/dev/null 2>&1 || true +[ -f "${PART1_PATH}/dynamic" ] && rm -f "${PART1_PATH}/dynamic" >/dev/null 2>&1 || true # Check for compatibility compatboot