diff --git a/files/initrd/opt/arc/arc-functions.sh b/files/initrd/opt/arc/arc-functions.sh index bb5fec0d..366cc83b 100755 --- a/files/initrd/opt/arc/arc-functions.sh +++ b/files/initrd/opt/arc/arc-functions.sh @@ -582,9 +582,9 @@ function synoinfoMenu() { --checklist "Select synoinfo entry to remove" 0 0 0 --file "${TMP_PATH}/opts" \ 2>"${TMP_PATH}/resp" [ $? -ne 0 ] && continue - RESP=$(cat "${TMP_PATH}/resp") - [ -z "${RESP}" ] && continue - for I in ${RESP}; do + resp=$(cat "${TMP_PATH}/resp") + [ -z "${resp}" ] && continue + for I in ${resp}; do unset SYNOINFO[${I}] deleteConfigKey "synoinfo.\"${I}\"" "${USER_CONFIG_FILE}" done @@ -1115,7 +1115,7 @@ function sysinfo() { TEXT+="\n" # Get Information for Sata Controller NUMPORTS=0 - if [ $(lspci -d ::106 | wc -l) -gt 0 ]; then + if [ $(lspci -d ::106 2>/dev/null | wc -l) -gt 0 ]; then TEXT+="\n SATA Controller:\n" for PCI in $(lspci -d ::106 | awk '{print $1}'); do NAME=$(lspci -s "${PCI}" | sed "s/\ .*://" | awk '{$1=""}1' | awk '{$1=$1};1') @@ -1809,8 +1809,8 @@ function formatDisks() { --checklist "Select Disks" 0 0 0 --file "${TMP_PATH}/opts" \ 2>${TMP_PATH}/resp [ $? -ne 0 ] && return - RESP=$(cat "${TMP_PATH}/resp") - [ -z "${RESP}" ] && return + resp=$(cat "${TMP_PATH}/resp") + [ -z "${resp}" ] && return dialog --backtitle "$(backtitle)" --title "Format Disks" \ --yesno "Warning:\nThis operation is irreversible. Please backup important data. Do you want to continue?" 0 0 [ $? -ne 0 ] && return @@ -1822,7 +1822,7 @@ function formatDisks() { mdadm -S "${I}" >/dev/null 2>&1 done fi - for I in ${RESP}; do + for I in ${resp}; do if [[ "${I}" = /dev/mmc* ]]; then echo y | mkfs.ext4 -T largefile4 -E nodiscard "${I}" else diff --git a/files/initrd/opt/arc/boot.sh b/files/initrd/opt/arc/boot.sh index f91000e1..ef996c72 100755 --- a/files/initrd/opt/arc/boot.sh +++ b/files/initrd/opt/arc/boot.sh @@ -167,7 +167,6 @@ CMDLINE['modprobe.blacklist']="${MODBLACKLIST}" [ $(cat /proc/cpuinfo | grep Intel | wc -l) -gt 0 ] && CMDLINE["intel_pstate"]="passive" # CMDLINE['nointremap']="" # no need # CMDLINE['split_lock_detect']="off" # no need -# CMDLINE['nox2apic']="" # check platform # CMDLINE['nomodeset']="" if echo "apollolake geminilake purley" | grep -wq "${PLATFORM}"; then CMDLINE["nox2apic"]="" @@ -320,4 +319,6 @@ elif [ "${DIRECTBOOT}" = "false" ]; then echo -e "\033[1;37mBooting DSM...\033[0m" # Boot to DSM [ "${KERNELLOAD}" = "kexec" ] && kexec -e || poweroff -fi \ No newline at end of file +fi + +exit 0 \ No newline at end of file diff --git a/files/initrd/opt/arc/include/storage.sh b/files/initrd/opt/arc/include/storage.sh index 16b18f84..1b5ffacf 100755 --- a/files/initrd/opt/arc/include/storage.sh +++ b/files/initrd/opt/arc/include/storage.sh @@ -2,52 +2,50 @@ function getmap() { # Sata Disks SATADRIVES=0 - # Clean old files - [ -f "${TMP_PATH}/drivesmax" ] && rm -f "${TMP_PATH}/drivesmax" - touch "${TMP_PATH}/drivesmax" - [ -f "${TMP_PATH}/drivescon" ] && rm -f "${TMP_PATH}/drivescon" - touch "${TMP_PATH}/drivescon" - [ -f "${TMP_PATH}/ports" ] && rm -f "${TMP_PATH}/ports" - touch "${TMP_PATH}/ports" - [ -f "${TMP_PATH}/remap" ] && rm -f "${TMP_PATH}/remap" - touch "${TMP_PATH}/remap" - if [ $(lspci -d ::106 | wc -l) -gt 0 ]; then - let DISKIDXMAPIDX=0 - DISKIDXMAP="" - let DISKIDXMAPIDXMAX=0 - DISKIDXMAPMAX="" - for PCI in $(lspci -d ::106 | awk '{print $1}'); do - NUMPORTS=0 - CONPORTS=0 - unset HOSTPORTS - declare -A HOSTPORTS - while read -r LINE; do - ATAPORT="$(echo ${LINE} | grep -o 'ata[0-9]*')" - PORT=$(echo ${ATAPORT} | sed 's/ata//') - HOSTPORTS[${PORT}]=$(echo ${LINE} | grep -o 'host[0-9]*$') - done < <(ls -l /sys/class/scsi_host | grep -F "${PCI}") - while read -r PORT; do - ls -l /sys/block | grep -F -q "${PCI}/ata${PORT}" && ATTACH=1 || ATTACH=0 - PCMD=$(cat /sys/class/scsi_host/${HOSTPORTS[${PORT}]}/ahci_port_cmd) - [ ${PCMD} = 0 ] && DUMMY=1 || DUMMY=0 - [ ${ATTACH} = 1 ] && CONPORTS="$((${CONPORTS} + 1))" && echo "$((${PORT} - 1))" >>"${TMP_PATH}/ports" - [ ${DUMMY} = 1 ] # Do nothing for now - NUMPORTS=$((${NUMPORTS} + 1)) - done < <(echo ${!HOSTPORTS[@]} | tr ' ' '\n' | sort -n) - [ ${NUMPORTS} -gt 8 ] && NUMPORTS=8 - [ ${CONPORTS} -gt 8 ] && CONPORTS=8 - echo -n "${NUMPORTS}" >>"${TMP_PATH}/drivesmax" - echo -n "${CONPORTS}" >>"${TMP_PATH}/drivescon" - DISKIDXMAP=$DISKIDXMAP$(printf "%02x" $DISKIDXMAPIDX) - let DISKIDXMAPIDX=$DISKIDXMAPIDX+$CONPORTS - DISKIDXMAPMAX=$DISKIDXMAPMAX$(printf "%02x" $DISKIDXMAPIDXMAX) - let DISKIDXMAPIDXMAX=$DISKIDXMAPIDXMAX+$NUMPORTS - SATADRIVES=$((${SATADRIVES} + ${CONPORTS})) - done + if [ $(lspci -d ::106 2>/dev/null | wc -l) -gt 0 ]; then + # Clean old files + [ -f "${TMP_PATH}/drivesmax" ] && rm -f "${TMP_PATH}/drivesmax" && touch "${TMP_PATH}/drivesmax" || true + [ -f "${TMP_PATH}/drivescon" ] && rm -f "${TMP_PATH}/drivescon" && touch "${TMP_PATH}/drivescon" || true + [ -f "${TMP_PATH}/ports" ] && rm -f "${TMP_PATH}/ports" && touch "${TMP_PATH}/ports" || true + [ -f "${TMP_PATH}/remap" ] && rm -f "${TMP_PATH}/remap" && touch "${TMP_PATH}/remap" || true + if [ $(lspci -d ::106 | wc -l) -gt 0 ]; then + let DISKIDXMAPIDX=0 + DISKIDXMAP="" + let DISKIDXMAPIDXMAX=0 + DISKIDXMAPMAX="" + for PCI in $(lspci -d ::106 | awk '{print $1}'); do + NUMPORTS=0 + CONPORTS=0 + unset HOSTPORTS + declare -A HOSTPORTS + while read -r LINE; do + ATAPORT="$(echo ${LINE} | grep -o 'ata[0-9]*')" + PORT=$(echo ${ATAPORT} | sed 's/ata//') + HOSTPORTS[${PORT}]=$(echo ${LINE} | grep -o 'host[0-9]*$') + done < <(ls -l /sys/class/scsi_host | grep -F "${PCI}") + while read -r PORT; do + ls -l /sys/block | grep -F -q "${PCI}/ata${PORT}" && ATTACH=1 || ATTACH=0 + PCMD=$(cat /sys/class/scsi_host/${HOSTPORTS[${PORT}]}/ahci_port_cmd) + [ ${PCMD} = 0 ] && DUMMY=1 || DUMMY=0 + [ ${ATTACH} = 1 ] && CONPORTS="$((${CONPORTS} + 1))" && echo "$((${PORT} - 1))" >>"${TMP_PATH}/ports" + [ ${DUMMY} = 1 ] # Do nothing for now + NUMPORTS=$((${NUMPORTS} + 1)) + done < <(echo ${!HOSTPORTS[@]} | tr ' ' '\n' | sort -n) + [ ${NUMPORTS} -gt 8 ] && NUMPORTS=8 + [ ${CONPORTS} -gt 8 ] && CONPORTS=8 + echo -n "${NUMPORTS}" >>"${TMP_PATH}/drivesmax" + echo -n "${CONPORTS}" >>"${TMP_PATH}/drivescon" + DISKIDXMAP=$DISKIDXMAP$(printf "%02x" $DISKIDXMAPIDX) + let DISKIDXMAPIDX=$DISKIDXMAPIDX+$CONPORTS + DISKIDXMAPMAX=$DISKIDXMAPMAX$(printf "%02x" $DISKIDXMAPIDXMAX) + let DISKIDXMAPIDXMAX=$DISKIDXMAPIDXMAX+$NUMPORTS + SATADRIVES=$((${SATADRIVES} + ${CONPORTS})) + done + fi fi # SAS Disks SASDRIVES=0 - if [ $(lspci -d ::107 | wc -l) -gt 0 ]; then + if [ $(lspci -d ::107 2>/dev/null | wc -l) -gt 0 ]; then for PCI in $(lspci -d ::107 | awk '{print $1}'); do NAME=$(lspci -s "${PCI}" | sed "s/\ .*://") PORT=$(ls -l /sys/class/scsi_host | grep "${PCI}" | awk -F'/' '{print $NF}' | sed 's/host//' | sort -n 2>/dev/null) @@ -57,7 +55,7 @@ function getmap() { fi # SCSI Disks SCSIDRIVES=0 - if [ $(lspci -d ::100 | wc -l) -gt 0 ]; then + if [ $(lspci -d ::100 2>/dev/null | wc -l) -gt 0 ]; then for PCI in $(lspci -d ::100 | awk '{print $1}'); do NAME=$(lspci -s "${PCI}" | sed "s/\ .*://") PORT=$(ls -l /sys/class/scsi_host | grep "${PCI}" | awk -F'/' '{print $NF}' | sed 's/host//' | sort - 2>/dev/null) @@ -67,7 +65,7 @@ function getmap() { fi # Raid Disks RAIDDRIVES=0 - if [ $(lspci -d ::104 | wc -l) -gt 0 ]; then + if [ $(lspci -d ::104 2>/dev/null | wc -l) -gt 0 ]; then for PCI in $(lspci -d ::104 | awk '{print $1}'); do NAME=$(lspci -s "${PCI}" | sed "s/\ .*://") PORT=$(ls -l /sys/class/scsi_host | grep "${PCI}" | awk -F'/' '{print $NF}' | sed 's/host//' | sort -n 2>/dev/null) @@ -77,7 +75,7 @@ function getmap() { fi # USB Disks USBDRIVES=0 - if [[ -d "/sys/class/scsi_host" && $(ls -l /sys/class/scsi_host | grep usb | wc -l) -gt 0 ]]; then + if [ $(ls -l /sys/class/scsi_host 2>/dev/null | grep usb | wc -l) -gt 0 ]; then for PCI in $(lspci -d ::c03 | awk '{print $1}'); do NAME=$(lspci -s "${PCI}" | sed "s/\ .*://") PORT=$(ls -l /sys/class/scsi_host | grep "${PCI}" | awk -F'/' '{print $NF}' | sed 's/host//' | sort -n 2>/dev/null) @@ -88,7 +86,7 @@ function getmap() { fi # MMC Disks MMCDRIVES=0 - if [[ -d "/sys/class/mmc_host" && $(ls -l /sys/class/mmc_host | grep mmc_host | wc -l) -gt 0 ]]; then + if [ $(ls -l /sys/block/mmc* 2>/dev/null | wc -l) -gt 0 ]; then for PCI in $(lspci -d ::805 | awk '{print $1}'); do NAME=$(lspci -s "${PCI}" | sed "s/\ .*://") PORTNUM=$(ls -l /sys/block/mmc* | grep "${PCI}" | wc -l 2>/dev/null) @@ -98,7 +96,7 @@ function getmap() { fi # NVMe Disks NVMEDRIVES=0 - if [ $(lspci -d ::108 | wc -l) -gt 0 ]; then + if [ $(lspci -d ::108 2>/dev/null | wc -l) -gt 0 ]; then for PCI in $(lspci -d ::108 | awk '{print $1}'); do NAME=$(lspci -s "${PCI}" | sed "s/\ .*://") PORT=$(ls -l /sys/class/nvme | grep "${PCI}" | awk -F'/' '{print $NF}' | sed 's/nvme//' | sort -n 2>/dev/null) diff --git a/files/initrd/opt/arc/init.sh b/files/initrd/opt/arc/init.sh index fa9dd564..694d5f8c 100755 --- a/files/initrd/opt/arc/init.sh +++ b/files/initrd/opt/arc/init.sh @@ -221,4 +221,6 @@ if [ ${RAM} -le 3500 ]; then echo -e "\033[1;31mYou have less than 4GB of RAM, if errors occur in loader creation, please increase the amount of RAM.\033[0m\n\033[1;31mUse arc.sh to proceed. Not recommended!\033[0m" else exec arc.sh -fi \ No newline at end of file +fi + +exit 0 \ No newline at end of file diff --git a/files/p1/boot/grub/grub.cfg b/files/p1/boot/grub/grub.cfg index 1dabfa0d..554b0889 100644 --- a/files/p1/boot/grub/grub.cfg +++ b/files/p1/boot/grub/grub.cfg @@ -49,7 +49,7 @@ function load_video { load_video if loadfont unicode; then insmod gfxterm - set gfxmode=1280x720,1024x768,auto + set gfxmode=1280x720x32,1024x768x32,auto set gfxpayload=auto terminal_output gfxterm insmod gfxmenu