From 09f52a444ecee4aa441a5368fd1f4471439d8dfb Mon Sep 17 00:00:00 2001 From: AuxXxilium Date: Thu, 5 Dec 2024 18:53:21 +0100 Subject: [PATCH 1/6] grub: update Signed-off-by: AuxXxilium --- files/p1/boot/grub/grub.cfg | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/files/p1/boot/grub/grub.cfg b/files/p1/boot/grub/grub.cfg index 621ada99..3d40cb12 100644 --- a/files/p1/boot/grub/grub.cfg +++ b/files/p1/boot/grub/grub.cfg @@ -77,7 +77,7 @@ set menu_color_normal=white/black set menu_color_highlight=white/red set color_normal=white/black -set ARC_CMDLINE="earlyprintk earlycon=uart8250,io,0x3f8,115200n8 console=ttyS0,115200n8 root=/dev/ram rootwait nointremap net.ifnames=0 panic=5 split_lock_detect=off pcie_aspm=off intel_pstate=passive nox2apic nomodeset" +set ARC_CMDLINE="earlyprintk earlycon=uart8250,io,0x3f8,115200n8 console=ttyS0,115200n8 root=/dev/ram rootwait nox2apic nomodeset intremap=no_x2apic_optout net.ifnames=0 panic=5 split_lock_detect=off pcie_aspm=off intel_pstate=passive amd_pstate=passive" search --set=root --label "ARC3" if [ -s /zImage-dsm -a -s /initrd-dsm ]; then From e5ad10ab098182f234d049fdb4596797cf5db7f6 Mon Sep 17 00:00:00 2001 From: AuxXxilium Date: Thu, 5 Dec 2024 18:57:16 +0100 Subject: [PATCH 2/6] grub/boot: fix Signed-off-by: AuxXxilium --- files/initrd/opt/arc/boot.sh | 3 ++- files/p1/boot/grub/grub.cfg | 2 +- 2 files changed, 3 insertions(+), 2 deletions(-) diff --git a/files/initrd/opt/arc/boot.sh b/files/initrd/opt/arc/boot.sh index f36bd3c5..8b97ea5d 100755 --- a/files/initrd/opt/arc/boot.sh +++ b/files/initrd/opt/arc/boot.sh @@ -165,7 +165,8 @@ CMDLINE['panic']="${KERNELPANIC:-0}" CMDLINE['pcie_aspm']="off" CMDLINE['modprobe.blacklist']="${MODBLACKLIST}" [ $(cat /proc/cpuinfo | grep Intel | wc -l) -gt 0 ] && CMDLINE["intel_pstate"]="passive" -# CMDLINE['nointremap']="" # no need +[ $(cat /proc/cpuinfo | grep AMD | wc -l) -gt 0 ] && CMDLINE["amd_pstate"]="passive" +CMDLINE['intremap']="no_x2apic_optout" # CMDLINE['split_lock_detect']="off" # no need # CMDLINE['nomodeset']="" if echo "apollolake geminilake purley" | grep -wq "${PLATFORM}"; then diff --git a/files/p1/boot/grub/grub.cfg b/files/p1/boot/grub/grub.cfg index 3d40cb12..7fe67b13 100644 --- a/files/p1/boot/grub/grub.cfg +++ b/files/p1/boot/grub/grub.cfg @@ -77,7 +77,7 @@ set menu_color_normal=white/black set menu_color_highlight=white/red set color_normal=white/black -set ARC_CMDLINE="earlyprintk earlycon=uart8250,io,0x3f8,115200n8 console=ttyS0,115200n8 root=/dev/ram rootwait nox2apic nomodeset intremap=no_x2apic_optout net.ifnames=0 panic=5 split_lock_detect=off pcie_aspm=off intel_pstate=passive amd_pstate=passive" +set ARC_CMDLINE="earlyprintk earlycon=uart8250,io,0x3f8,115200n8 console=ttyS0,115200n8 root=/dev/ram rootwait nomodeset intremap=no_x2apic_optout net.ifnames=0 panic=5 split_lock_detect=off pcie_aspm=off intel_pstate=passive amd_pstate=passive" search --set=root --label "ARC3" if [ -s /zImage-dsm -a -s /initrd-dsm ]; then From 48780950bd2369ee160f6719d0ec6824d39a2734 Mon Sep 17 00:00:00 2001 From: AuxXxilium Date: Thu, 5 Dec 2024 19:10:45 +0100 Subject: [PATCH 3/6] boot: init: fix Signed-off-by: AuxXxilium --- files/initrd/opt/arc/boot.sh | 7 +++++++ files/initrd/opt/arc/init.sh | 1 + 2 files changed, 8 insertions(+) diff --git a/files/initrd/opt/arc/boot.sh b/files/initrd/opt/arc/boot.sh index 8b97ea5d..f3357a78 100755 --- a/files/initrd/opt/arc/boot.sh +++ b/files/initrd/opt/arc/boot.sh @@ -102,6 +102,13 @@ EMMCBOOT="$(readConfigKey "emmcboot" "${USER_CONFIG_FILE}")" MODBLACKLIST="$(readConfigKey "modblacklist" "${USER_CONFIG_FILE}")" ARCPATCH="$(readConfigKey "arc.patch" "${USER_CONFIG_FILE}")" +# HardwareID Check +if [ "${ARCPATCH}" = "true" ]; then + HARDWAREID=="$(readConfigKey "arc.hardwareid" "${USER_CONFIG_FILE}")" + HWIDSYS="$(genHWID)" + [ "${HARDWAREID}" != "${HWIDSYS}" ] && die "HardwareID does not match! - Loader can't boot to DSM." +fi + declare -A CMDLINE # Automated Cmdline diff --git a/files/initrd/opt/arc/init.sh b/files/initrd/opt/arc/init.sh index 694d5f8c..43fa35f3 100755 --- a/files/initrd/opt/arc/init.sh +++ b/files/initrd/opt/arc/init.sh @@ -38,6 +38,7 @@ initConfigKey "arc.confdone" "false" "${USER_CONFIG_FILE}" initConfigKey "arc.dynamic" "false" "${USER_CONFIG_FILE}" initConfigKey "arc.offline" "false" "${USER_CONFIG_FILE}" initConfigKey "arc.patch" "false" "${USER_CONFIG_FILE}" +initConfigKey "arc.hwardwareid" "" "${USER_CONFIG_FILE}" initConfigKey "arc.userid" "" "${USER_CONFIG_FILE}" initConfigKey "arc.version" "${ARC_VERSION}" "${USER_CONFIG_FILE}" initConfigKey "boot" "{}" "${USER_CONFIG_FILE}" From 831d4c63848b813f8ddbb7adf336e627afeefc74 Mon Sep 17 00:00:00 2001 From: AuxXxilium Date: Thu, 5 Dec 2024 19:20:37 +0100 Subject: [PATCH 4/6] arc-functions: fix Signed-off-by: AuxXxilium --- files/initrd/opt/arc/arc-functions.sh | 11 ++++++++--- 1 file changed, 8 insertions(+), 3 deletions(-) diff --git a/files/initrd/opt/arc/arc-functions.sh b/files/initrd/opt/arc/arc-functions.sh index a1b8eae7..312f052c 100755 --- a/files/initrd/opt/arc/arc-functions.sh +++ b/files/initrd/opt/arc/arc-functions.sh @@ -2376,12 +2376,14 @@ function genHardwareID() { if echo "${USERID}" | grep -vq "Hardware ID"; then dialog --backtitle "$(backtitle)" --title "HardwareID" \ --msgbox "HardwareID: ${HWID}\nYour HardwareID is registered to UserID: ${USERID}!" 6 70 + writeConfigKey "arc.hardwareid" "${HWID}" "${USER_CONFIG_FILE}" writeConfigKey "arc.userid" "${USERID}" "${USER_CONFIG_FILE}" break else dialog --backtitle "$(backtitle)" --title "HardwareID" \ --yes-label "Retry" --no-label "Cancel" --yesno "HardwareID: ${HWID}\nRegister your HardwareID on\nhttps://arc.auxxxilium.tech (Discord Account needed).\nPress Retry after you registered it." 8 60 - [ $? -ne 0 ] && USERID="" && break + [ $? -ne 0 ] && break + writeConfigKey "arc.hardwareid" "" "${USER_CONFIG_FILE}" writeConfigKey "arc.userid" "" "${USER_CONFIG_FILE}" fi done @@ -2396,15 +2398,18 @@ function checkHardwareID() { [ ! -f "${S_FILE}.bak" ] && cp -f "${S_FILE}" "${S_FILE}.bak" 2>/dev/null || true if echo "${USERID}" | grep -vq "Hardware ID"; then if curl -skL -m 10 "https://arc.auxxxilium.tech?hwid=${HWID}&userid=${USERID}" -o "${S_FILE}" 2>/dev/null; then + writeConfigKey "arc.hardwareid" "${HWID}" "${USER_CONFIG_FILE}" writeConfigKey "arc.userid" "${USERID}" "${USER_CONFIG_FILE}" else + writeConfigKey "arc.hardwareid" "" "${USER_CONFIG_FILE}" writeConfigKey "arc.userid" "" "${USER_CONFIG_FILE}" - mv -f "${S_FILE}.bak" "${S_FILE}" 2>/dev/null + [ -f "${S_FILE}.bak" ] && mv -f "${S_FILE}.bak" "${S_FILE}" 2>/dev/null fi else USERID="" + writeConfigKey "arc.hardwareid" "" "${USER_CONFIG_FILE}" writeConfigKey "arc.userid" "" "${USER_CONFIG_FILE}" - mv -f "${S_FILE}.bak" "${S_FILE}" 2>/dev/null + [ -f "${S_FILE}.bak" ] && mv -f "${S_FILE}.bak" "${S_FILE}" 2>/dev/null fi return } From f124199accd110a37f98ad45a5690b2f712b58c8 Mon Sep 17 00:00:00 2001 From: AuxXxilium Date: Thu, 5 Dec 2024 19:23:10 +0100 Subject: [PATCH 5/6] tree: fix typo Signed-off-by: AuxXxilium --- files/initrd/opt/arc/boot.sh | 4 ++-- files/initrd/opt/arc/init.sh | 2 +- 2 files changed, 3 insertions(+), 3 deletions(-) diff --git a/files/initrd/opt/arc/boot.sh b/files/initrd/opt/arc/boot.sh index f3357a78..ed8e3d26 100755 --- a/files/initrd/opt/arc/boot.sh +++ b/files/initrd/opt/arc/boot.sh @@ -105,8 +105,8 @@ ARCPATCH="$(readConfigKey "arc.patch" "${USER_CONFIG_FILE}")" # HardwareID Check if [ "${ARCPATCH}" = "true" ]; then HARDWAREID=="$(readConfigKey "arc.hardwareid" "${USER_CONFIG_FILE}")" - HWIDSYS="$(genHWID)" - [ "${HARDWAREID}" != "${HWIDSYS}" ] && die "HardwareID does not match! - Loader can't boot to DSM." + HWID="$(genHWID)" + [ "${HARDWAREID}" != "${HWID}" ] && die "HardwareID does not match! - Loader can't boot to DSM." fi declare -A CMDLINE diff --git a/files/initrd/opt/arc/init.sh b/files/initrd/opt/arc/init.sh index 43fa35f3..40fbf5eb 100755 --- a/files/initrd/opt/arc/init.sh +++ b/files/initrd/opt/arc/init.sh @@ -38,7 +38,7 @@ initConfigKey "arc.confdone" "false" "${USER_CONFIG_FILE}" initConfigKey "arc.dynamic" "false" "${USER_CONFIG_FILE}" initConfigKey "arc.offline" "false" "${USER_CONFIG_FILE}" initConfigKey "arc.patch" "false" "${USER_CONFIG_FILE}" -initConfigKey "arc.hwardwareid" "" "${USER_CONFIG_FILE}" +initConfigKey "arc.hardwareid" "" "${USER_CONFIG_FILE}" initConfigKey "arc.userid" "" "${USER_CONFIG_FILE}" initConfigKey "arc.version" "${ARC_VERSION}" "${USER_CONFIG_FILE}" initConfigKey "boot" "{}" "${USER_CONFIG_FILE}" From 8af23fb3fe3469dc8becfab08787bb084b934c81 Mon Sep 17 00:00:00 2001 From: AuxXxilium Date: Thu, 5 Dec 2024 19:32:01 +0100 Subject: [PATCH 6/6] boot: fix typo Signed-off-by: AuxXxilium --- files/initrd/opt/arc/arc.sh | 2 +- files/initrd/opt/arc/boot.sh | 11 +++++++++-- 2 files changed, 10 insertions(+), 3 deletions(-) diff --git a/files/initrd/opt/arc/arc.sh b/files/initrd/opt/arc/arc.sh index e7657f3b..0c40993c 100755 --- a/files/initrd/opt/arc/arc.sh +++ b/files/initrd/opt/arc/arc.sh @@ -88,7 +88,7 @@ function backtitlep() { # Model Selection function arcModel() { STEP="model" - checkHardwareID + [ "${ARCOFFLINE}" != "true" ] && checkHardwareID || true dialog --backtitle "$(backtitlep)" --title "Model" \ --infobox "Reading Models..." 3 25 ARCCONF="$(readConfigKey "${MODEL:-SA6400}.serial" "${S_FILE}")" diff --git a/files/initrd/opt/arc/boot.sh b/files/initrd/opt/arc/boot.sh index ed8e3d26..78c88fff 100755 --- a/files/initrd/opt/arc/boot.sh +++ b/files/initrd/opt/arc/boot.sh @@ -104,9 +104,16 @@ ARCPATCH="$(readConfigKey "arc.patch" "${USER_CONFIG_FILE}")" # HardwareID Check if [ "${ARCPATCH}" = "true" ]; then - HARDWAREID=="$(readConfigKey "arc.hardwareid" "${USER_CONFIG_FILE}")" + HARDWAREID="$(readConfigKey "arc.hardwareid" "${USER_CONFIG_FILE}")" HWID="$(genHWID)" - [ "${HARDWAREID}" != "${HWID}" ] && die "HardwareID does not match! - Loader can't boot to DSM." + if [ "${HARDWAREID}" != "${HWID}" ]; then + echo "\033[1;31m*** HardwareID does not match! - Loader can't boot to DSM! You need to reconfigure your Loader - Rebooting to Config Mode! ***\033[0m" + writeConfigKey "arc.patch" "false" "${USER_CONFIG_FILE}" + writeConfigKey "arc.hardwareid" "" "${USER_CONFIG_FILE}" + writeConfigKey "arc.userid" "" "${USER_CONFIG_FILE}" + sleep 5 + rebootTo "config" + fi fi declare -A CMDLINE