From 8b4bdf2fc8f434d08af048d5689b830f1103b7a3 Mon Sep 17 00:00:00 2001 From: AuxXxilium Date: Sun, 24 Nov 2024 11:32:03 +0100 Subject: [PATCH] tree: fix syntax and logic Signed-off-by: AuxXxilium --- files/initrd/opt/arc/arc.sh | 14 +++---- files/initrd/opt/arc/boot.sh | 23 +++++++++-- files/initrd/opt/arc/include/functions.sh | 12 +++--- files/initrd/opt/arc/include/modules.sh | 2 +- files/initrd/opt/arc/init.sh | 4 +- files/p1/boot/grub/grub.cfg | 2 +- scripts/func.sh | 49 +++++++++++------------ 7 files changed, 60 insertions(+), 46 deletions(-) diff --git a/files/initrd/opt/arc/arc.sh b/files/initrd/opt/arc/arc.sh index 070fb229..8d72910c 100755 --- a/files/initrd/opt/arc/arc.sh +++ b/files/initrd/opt/arc/arc.sh @@ -832,7 +832,7 @@ else [ "${CONFDONE}" = "true" ] && NEXT="2" || NEXT="1" [ "${BUILDDONE}" = "true" ] && NEXT="3" || NEXT="1" while true; do - echo "= \"\Z4===== Main =====\Zn \" " >"${TMP_PATH}/menu" + echo "= \"\Z4===== Main =====\Zn \" " >"${TMP_PATH}/menu" if [ -z "${USERID}" ] && [ "${ARCOFFLINE}" != "true" ]; then echo "0 \"HardwareID for Arc Patch\" " >>"${TMP_PATH}/menu" fi @@ -843,10 +843,10 @@ else if [ "${BUILDDONE}" = "true" ]; then echo "3 \"Boot Loader \" " >>"${TMP_PATH}/menu" fi - echo "= \"\Z4===== Info =====\Zn \" " >>"${TMP_PATH}/menu" + echo "= \"\Z4===== Info =====\Zn \" " >>"${TMP_PATH}/menu" echo "a \"Sysinfo \" " >>"${TMP_PATH}/menu" echo "A \"Networkdiag \" " >>"${TMP_PATH}/menu" - echo "= \"\Z4===== System ====\Zn \" " >>"${TMP_PATH}/menu" + echo "= \"\Z4===== System ====\Zn \" " >>"${TMP_PATH}/menu" if [ "${CONFDONE}" = "true" ]; then if [ "${ARCOPTS}" = "true" ]; then echo "4 \"\Z1Hide Arc DSM Options\Zn \" " >>"${TMP_PATH}/menu" @@ -854,7 +854,7 @@ else echo "4 \"\Z1Show Arc DSM Options\Zn \" " >>"${TMP_PATH}/menu" fi if [ "${ARCOPTS}" = "true" ]; then - echo "= \"\Z4==== Arc DSM ====\Zn \" " >>"${TMP_PATH}/menu" + echo "= \"\Z4==== Arc DSM ====\Zn \" " >>"${TMP_PATH}/menu" echo "b \"Addons \" " >>"${TMP_PATH}/menu" echo "d \"Modules \" " >>"${TMP_PATH}/menu" echo "e \"Version \" " >>"${TMP_PATH}/menu" @@ -889,8 +889,8 @@ else echo "6 \"\Z1Show Boot Options\Zn \" " >>"${TMP_PATH}/menu" fi if [ "${BOOTOPTS}" = "true" ]; then - echo "= \"\Z4===== Boot =====\Zn \" " >>"${TMP_PATH}/menu" - echo "m \"Boot Kernelload: \Z4${KERNELLOAD}\Zn \" " >>"${TMP_PATH}/menu" + echo "= \"\Z4===== Boot =====\Zn \" " >>"${TMP_PATH}/menu" + echo "m \"Boot Kernelload: \Z4${KERNELLOAD}\Zn \" " >>"${TMP_PATH}/menu" echo "E \"eMMC Boot Support: \Z4${EMMCBOOT}\Zn \" " >>"${TMP_PATH}/menu" if [ "${DIRECTBOOT}" = "false" ]; then echo "i \"Boot IP Waittime: \Z4${BOOTIPWAIT}\Zn \" " >>"${TMP_PATH}/menu" @@ -903,7 +903,7 @@ else echo "7 \"\Z1Show DSM Options\Zn \" " >>"${TMP_PATH}/menu" fi if [ "${DSMOPTS}" = "true" ]; then - echo "= \"\Z4===== DSM =====\Zn \" " >>"${TMP_PATH}/menu" + echo "= \"\Z4===== DSM =====\Zn \" " >>"${TMP_PATH}/menu" echo "j \"Cmdline \" " >>"${TMP_PATH}/menu" echo "k \"Synoinfo \" " >>"${TMP_PATH}/menu" echo "N \"Add new User\" " >>"${TMP_PATH}/menu" diff --git a/files/initrd/opt/arc/boot.sh b/files/initrd/opt/arc/boot.sh index 0ab3c517..89bec61f 100755 --- a/files/initrd/opt/arc/boot.sh +++ b/files/initrd/opt/arc/boot.sh @@ -15,8 +15,8 @@ ARC_BRANCH="$(readConfigKey "arc.branch" "${USER_CONFIG_FILE}")" # Get Loader Disk Bus [ -z "${LOADER_DISK}" ] && die "Loader Disk not found!" BUS=$(getBus "${LOADER_DISK}") -# Check if machine has EFI -[ -d /sys/firmware/efi ] && EFI=1 || EFI=0 +FBI=$(cat /sys/class/graphics/fb*/name 2>/dev/null | head -1) +EFI=$([ -d /sys/firmware/efi ] && echo 1 || echo 0) # Print Title centralized clear @@ -157,14 +157,22 @@ CMDLINE['console']="ttyS0,115200n8" CMDLINE['consoleblank']="600" # CMDLINE['no_console_suspend']="1" CMDLINE['root']="/dev/md0" -CMDLINE['rootwait']="" CMDLINE['loglevel']="15" CMDLINE['log_buf_len']="32M" +CMDLINE['rootwait']="" CMDLINE['panic']="${KERNELPANIC:-0}" +# CMDLINE['nointremap']="" # no need +# CMDLINE['split_lock_detect']="off" # no need CMDLINE['pcie_aspm']="off" +# CMDLINE['nox2apic']="" # check platform +# CMDLINE['nomodeset']="" CMDLINE['modprobe.blacklist']="${MODBLACKLIST}" #[ $(cat /proc/cpuinfo | grep Intel | wc -l) -gt 0 ] && CMDLINE["intel_pstate"]="disable" +if echo "apollolake geminilake purley" | grep -wq "${PLATFORM}"; then + CMDLINE["nox2apic"]="" +fi + #if [ -n "$(ls /dev/mmcblk* 2>/dev/null)" ] && [ "${BUS}" != "mmc" ] && [ "${EMMCBOOT}" != "true" ]; then # if ! echo "${CMDLINE['modprobe.blacklist']}" | grep -q "sdhci"; then # [ ! "${CMDLINE['modprobe.blacklist']}" = "" ] && CMDLINE['modprobe.blacklist']+="," @@ -292,6 +300,15 @@ elif [ "${DIRECTBOOT}" = "false" ]; then fi done + # # Unload all network interfaces + # for D in $(readlink /sys/class/net/*/device/driver); do rmmod -f "$(basename ${D})" 2>/dev/null || true; done + + # Unload all graphics drivers + # for D in $(lsmod | grep -E '^(nouveau|amdgpu|radeon|i915)' | awk '{print $1}'); do rmmod -f "${D}" 2>/dev/null || true; done + # for I in $(find /sys/devices -name uevent -exec bash -c 'cat {} 2>/dev/null | grep -Eq "PCI_CLASS=0?30[0|1|2]00" && dirname {}' \;); do + # [ -e ${I}/reset ] && cat ${I}/vendor >/dev/null | grep -iq 0x10de && echo 1 >${I}/reset || true # Proc open nvidia driver when booting + # done + echo -e "\033[1;37mLoading DSM Kernel...\033[0m" # Executes DSM kernel via KEXEC KEXECARGS="-a" diff --git a/files/initrd/opt/arc/include/functions.sh b/files/initrd/opt/arc/include/functions.sh index b886575e..c582a05e 100755 --- a/files/initrd/opt/arc/include/functions.sh +++ b/files/initrd/opt/arc/include/functions.sh @@ -502,16 +502,11 @@ function onlineCheck() { fi [ -z "${KEYMAP}" ] && KEYMAP="$(readConfigKey "keymap" "${USER_CONFIG_FILE}")" if [ -n "${REGION}" ] && [ -n "${TIMEZONE}" ]; then - writeConfigKey "arc.offline" "false" "${USER_CONFIG_FILE}" - [ $(echo "${ARC_VERSION}" | grep "dev" | wc -l) -eq 0 ] && NEWTAG="$(curl -m 10 -skL "https://api.github.com/repos/AuxXxilium/arc/releases" | jq -r ".[].tag_name" | grep -v "dev" | sort -rV | head -1)" - [ $(echo "${ARC_VERSION}" | grep "dev" | wc -l) -gt 0 ] && NEWTAG="$(curl -m 10 -skL "https://api.github.com/repos/AuxXxilium/arc/releases" | jq -r ".[].tag_name" | grep "dev" | sort -rV | head -1)" writeConfigKey "time.region" "${REGION}" "${USER_CONFIG_FILE}" writeConfigKey "time.timezone" "${TIMEZONE}" "${USER_CONFIG_FILE}" - updateOffline else REGION="$(readConfigKey "time.region" "${USER_CONFIG_FILE}")" TIMEZONE="$(readConfigKey "time.timezone" "${USER_CONFIG_FILE}")" - writeConfigKey "arc.offline" "true" "${USER_CONFIG_FILE}" fi [ -n "${TIMEZONE}" ] && [ -n "${REGION}" ] && ln -sf "/usr/share/zoneinfo/${REGION}/${TIMEZONE}" /etc/localtime LAYOUT="$(readConfigKey "layout" "${USER_CONFIG_FILE}")" @@ -521,6 +516,13 @@ function onlineCheck() { [ -z "${KEYMAP}" ] && KEYMAP="us" loadkeys ${KEYMAP} fi + [ $(echo "${ARC_VERSION}" | grep "dev" | wc -l) -eq 0 ] && NEWTAG="$(curl -m 10 -skL "https://api.github.com/repos/AuxXxilium/arc/releases" | jq -r ".[].tag_name" | grep -v "dev" | sort -rV | head -1)" || NEWTAG="$(curl -m 10 -skL "https://api.github.com/repos/AuxXxilium/arc/releases" | jq -r ".[].tag_name" | grep "dev" | sort -rV | head -1)" + if [ -n "${NEWTAG}" ]; then + writeConfigKey "arc.offline" "false" "${USER_CONFIG_FILE}" + updateOffline + else + writeConfigKey "arc.offline" "true" "${USER_CONFIG_FILE}" + fi } ############################################################################### diff --git a/files/initrd/opt/arc/include/modules.sh b/files/initrd/opt/arc/include/modules.sh index 9c45df4c..329649ce 100755 --- a/files/initrd/opt/arc/include/modules.sh +++ b/files/initrd/opt/arc/include/modules.sh @@ -61,7 +61,7 @@ function installModules() { local ODP="$(readConfigKey "odp" "${USER_CONFIG_FILE}")" for F in $(ls "${TMP_PATH}/modules/"*.ko 2>/dev/null); do local M=$(basename ${F}) - [ "${ODP}" = "true" -a -f "${RAMDISK_PATH}/usr/lib/modules/${M}" ] && continue + [ "${ODP}" = "true" ] && [ -f "${RAMDISK_PATH}/usr/lib/modules/${M}" ] && continue if echo "${MLIST}" | grep -wq "${M:0:-3}"; then cp -f "${F}" "${RAMDISK_PATH}/usr/lib/modules/${M}" 2>"${LOG_FILE}" else diff --git a/files/initrd/opt/arc/init.sh b/files/initrd/opt/arc/init.sh index 56ea73eb..b47d85d4 100755 --- a/files/initrd/opt/arc/init.sh +++ b/files/initrd/opt/arc/init.sh @@ -9,9 +9,7 @@ set -e [ -z "${LOADER_DISK}" ] && die "Loader Disk not found!" checkBootLoader || die "The loader is corrupted, please rewrite it!" BUS=$(getBus "${LOADER_DISK}") - -# Check if machine has EFI -[ -d /sys/firmware/efi ] && EFI=1 || EFI=0 +EFI=$([ -d /sys/firmware/efi ] && echo 1 || echo 0) # Print Title centralized clear diff --git a/files/p1/boot/grub/grub.cfg b/files/p1/boot/grub/grub.cfg index c70e954f..699f920f 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=disable" +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=disable noy2apic nomodeset" search --set=root --label "ARC3" if [ -s /zImage-dsm -a -s /initrd-dsm ]; then diff --git a/scripts/func.sh b/scripts/func.sh index 3f11cd56..2f7914a8 100755 --- a/scripts/func.sh +++ b/scripts/func.sh @@ -250,34 +250,28 @@ function repackInitrd() { RDXZ_PATH="rdxz_tmp" mkdir -p "${RDXZ_PATH}" local INITRD_FORMAT=$(file -b --mime-type "${INITRD_FILE}") - ( - cd "${RDXZ_PATH}" - case "${INITRD_FORMAT}" in - *'x-cpio'*) sudo cpio -idm <"${INITRD_FILE}" ;; - *'x-xz'*) xz -dc "${INITRD_FILE}" | sudo cpio -idm ;; - *'x-lz4'*) lz4 -dc "${INITRD_FILE}" | sudo cpio -idm ;; - *'x-lzma'*) lzma -dc "${INITRD_FILE}" | sudo cpio -idm ;; - *'x-bzip2'*) bzip2 -dc "${INITRD_FILE}" | sudo cpio -idm ;; - *'gzip'*) gzip -dc "${INITRD_FILE}" | sudo cpio -idm ;; - *'zstd'*) zstd -dc "${INITRD_FILE}" | sudo cpio -idm ;; - *) ;; - esac - ) || true + case "${INITRD_FORMAT}" in + *'x-cpio'*) (cd "${RDXZ_PATH}" && sudo cpio -idm <"${INITRD_FILE}") >/dev/null 2>&1 ;; + *'x-xz'*) (cd "${RDXZ_PATH}" && xz -dc "${INITRD_FILE}" | sudo cpio -idm) >/dev/null 2>&1 ;; + *'x-lz4'*) (cd "${RDXZ_PATH}" && lz4 -dc "${INITRD_FILE}" | sudo cpio -idm) >/dev/null 2>&1 ;; + *'x-lzma'*) (cd "${RDXZ_PATH}" && lzma -dc "${INITRD_FILE}" | sudo cpio -idm) >/dev/null 2>&1 ;; + *'x-bzip2'*) (cd "${RDXZ_PATH}" && bzip2 -dc "${INITRD_FILE}" | sudo cpio -idm) >/dev/null 2>&1 ;; + *'gzip'*) (cd "${RDXZ_PATH}" && gzip -dc "${INITRD_FILE}" | sudo cpio -idm) >/dev/null 2>&1 ;; + *'zstd'*) (cd "${RDXZ_PATH}" && zstd -dc "${INITRD_FILE}" | sudo cpio -idm) >/dev/null 2>&1 ;; + *) ;; + esac sudo cp -rf "${PLUGIN_PATH}/"* "${RDXZ_PATH}/" [ -f "${OUTPUT_PATH}" ] && rm -rf "${OUTPUT_PATH}" - ( - cd "${RDXZ_PATH}" - case "${INITRD_FORMAT}" in - *'x-cpio'*) sudo find . 2>/dev/null | sudo cpio -o -H newc -R root:root >"${OUTPUT_PATH}" ;; - *'x-xz'*) sudo find . 2>/dev/null | sudo cpio -o -H newc -R root:root | xz -9 -C crc32 -c - >"${OUTPUT_PATH}" ;; - *'x-lz4'*) sudo find . 2>/dev/null | sudo cpio -o -H newc -R root:root | lz4 -9 -l -c - >"${OUTPUT_PATH}" ;; - *'x-lzma'*) sudo find . 2>/dev/null | sudo cpio -o -H newc -R root:root | lzma -9 -c - >"${OUTPUT_PATH}" ;; - *'x-bzip2'*) sudo find . 2>/dev/null | sudo cpio -o -H newc -R root:root | bzip2 -9 -c - >"${OUTPUT_PATH}" ;; - *'gzip'*) sudo find . 2>/dev/null | sudo cpio -o -H newc -R root:root | gzip -9 -c - >"${OUTPUT_PATH}" ;; - *'zstd'*) sudo find . 2>/dev/null | sudo cpio -o -H newc -R root:root | zstd -19 -T0 -f -c - >"${OUTPUT_PATH}" ;; - *) ;; - esac - ) || true + case "${INITRD_FORMAT}" in + *'x-cpio'*) (cd "${RDXZ_PATH}" && sudo find . 2>/dev/null | sudo cpio -o -H newc -R root:root >"${OUTPUT_PATH}") >/dev/null 2>&1 ;; + *'x-xz'*) (cd "${RDXZ_PATH}" && sudo find . 2>/dev/null | sudo cpio -o -H newc -R root:root | xz -9 -C crc32 -c - >"${OUTPUT_PATH}") >/dev/null 2>&1 ;; + *'x-lz4'*) (cd "${RDXZ_PATH}" && sudo find . 2>/dev/null | sudo cpio -o -H newc -R root:root | lz4 -9 -l -c - >"${OUTPUT_PATH}") >/dev/null 2>&1 ;; + *'x-lzma'*) (cd "${RDXZ_PATH}" && sudo find . 2>/dev/null | sudo cpio -o -H newc -R root:root | lzma -9 -c - >"${OUTPUT_PATH}") >/dev/null 2>&1 ;; + *'x-bzip2'*) (cd "${RDXZ_PATH}" && sudo find . 2>/dev/null | sudo cpio -o -H newc -R root:root | bzip2 -9 -c - >"${OUTPUT_PATH}") >/dev/null 2>&1 ;; + *'gzip'*) (cd "${RDXZ_PATH}" && sudo find . 2>/dev/null | sudo cpio -o -H newc -R root:root | gzip -9 -c - >"${OUTPUT_PATH}") >/dev/null 2>&1 ;; + *'zstd'*) (cd "${RDXZ_PATH}" && sudo find . 2>/dev/null | sudo cpio -o -H newc -R root:root | zstd -19 -T0 -f -c - >"${OUTPUT_PATH}") >/dev/null 2>&1 ;; + *) ;; + esac sudo rm -rf "${RDXZ_PATH}" } @@ -401,6 +395,9 @@ ethernet0.virtualDev = "vmxnet3" ethernet0.connectionType = "nat" ethernet0.allowguestconnectioncontrol = "true" ethernet0.present = "TRUE" +serial0.fileType = "file" +serial0.fileName = "serial0.log" +serial0.present = "TRUE" sata0.present = "TRUE" sata0:0.fileName = "${VMNAME}-disk1.vmdk" sata0:0.present = "TRUE"