From 881fbd2dbcd59fe6263ba5b09047c8f9ad8cf8d2 Mon Sep 17 00:00:00 2001 From: Ing Date: Thu, 10 Aug 2023 15:00:13 +0800 Subject: [PATCH] Allow bootloadder disk to be of scsi type --- files/board/arpl/overlayfs/opt/arpl/boot.sh | 7 ++++--- files/board/arpl/overlayfs/opt/arpl/init.sh | 8 +++++--- 2 files changed, 9 insertions(+), 6 deletions(-) diff --git a/files/board/arpl/overlayfs/opt/arpl/boot.sh b/files/board/arpl/overlayfs/opt/arpl/boot.sh index e98bf37a..cbd6c729 100755 --- a/files/board/arpl/overlayfs/opt/arpl/boot.sh +++ b/files/board/arpl/overlayfs/opt/arpl/boot.sh @@ -12,6 +12,7 @@ loaderIsConfigured || die "$(TEXT "Loader is not configured!")" LOADER_DISK="$(blkid | grep 'LABEL="ARPL3"' | cut -d3 -f1)" BUS=$(udevadm info --query property --name ${LOADER_DISK} | grep ID_BUS | cut -d= -f2) +[ "${BUS}" = "ata" ] && BUS="sata" # Print text centralized clear @@ -23,7 +24,7 @@ printf "\033[1;32m%*s\033[0m\n" $(((${#TITLE} + ${COLUMNS}) / 2)) "${TITLE}" printf "\033[1;44m%*s\033[0m\n" ${COLUMNS} "" TITLE="BOOTING:" [ -d "/sys/firmware/efi" ] && TITLE+=" [UEFI]" || TITLE+=" [BIOS]" -[ "${BUS}" = "usb" ] && TITLE+=" [USB flashdisk]" || TITLE+=" [SATA DoM]" +[ "${BUS}" = "usb" ] && TITLE+=" [${BUS^^} flashdisk]" || TITLE+=" [${BUS^^} DoM]" printf "\033[1;33m%*s\033[0m\n" $(((${#TITLE} + ${COLUMNS}) / 2)) "${TITLE}" [ -f "${CACHE_PATH}/logo.png" ] && echo | fbv -acuf "${CACHE_PATH}/logo.png" >/dev/null @@ -99,7 +100,7 @@ done < <(readConfigMap "cmdline" "${USER_CONFIG_FILE}") # KVER=$(readModelKey "${MODEL}" "productvers.[${PRODUCTVER}].kver") -if [ "${BUS}" = "ata" ]; then +if [ ! "${BUS}" = "usb" ]; then LOADER_DEVICE_NAME=$(echo ${LOADER_DISK} | sed 's|/dev/||') SIZE=$(($(cat /sys/block/${LOADER_DEVICE_NAME}/size) / 2048 + 10)) # Read SATADoM type @@ -144,7 +145,7 @@ fi CMDLINE_LINE="" grep -q "force_junior" /proc/cmdline && CMDLINE_LINE+="force_junior " [ ${EFI} -eq 1 ] && CMDLINE_LINE+="withefi " || CMDLINE_LINE+="noefi " -[ "${BUS}" = "ata" ] && CMDLINE_LINE+="synoboot_satadom=${DOM} dom_szmax=${SIZE} " +[ ! "${BUS}" = "usb" ] && CMDLINE_LINE+="synoboot_satadom=${DOM} dom_szmax=${SIZE} " CMDLINE_LINE+="console=ttyS0,115200n8 earlyprintk earlycon=uart8250,io,0x3f8,115200n8 root=/dev/md0 loglevel=15 log_buf_len=32M" CMDLINE_DIRECT="${CMDLINE_LINE}" for KEY in ${!CMDLINE[@]}; do diff --git a/files/board/arpl/overlayfs/opt/arpl/init.sh b/files/board/arpl/overlayfs/opt/arpl/init.sh index 518ef466..b1f635e8 100755 --- a/files/board/arpl/overlayfs/opt/arpl/init.sh +++ b/files/board/arpl/overlayfs/opt/arpl/init.sh @@ -123,10 +123,12 @@ done VID="0x0000" PID="0x0000" BUS=$(udevadm info --query property --name ${LOADER_DISK} | grep ID_BUS | cut -d= -f2) +[ "${BUS}" = "ata" ] && BUS="sata" + if [ "${BUS}" = "usb" ]; then VID="0x$(udevadm info --query property --name ${LOADER_DISK} | grep ID_VENDOR_ID | cut -d= -f2)" PID="0x$(udevadm info --query property --name ${LOADER_DISK} | grep ID_MODEL_ID | cut -d= -f2)" -elif [ "${BUS}" != "ata" ]; then +elif [ "${BUS}" != "sata" -a "${BUS}" != "scsi" ]; then die "$(TEXT "Loader disk neither USB or DoM")" fi @@ -137,9 +139,9 @@ writeConfigKey "pid" ${PID} "${USER_CONFIG_FILE}" # Inform user echo -en "$(TEXT "Loader disk:") \033[1;32m${LOADER_DISK}\033[0m (" if [ "${BUS}" = "usb" ]; then - echo -en "\033[1;32mUSB flashdisk\033[0m" + echo -en "\033[1;32m${BUS^^} flashdisk\033[0m" else - echo -en "\033[1;32mSATA DoM\033[0m" + echo -en "\033[1;32m${BUS^^} DoM\033[0m" fi echo ")"