mirror of
https://github.com/AuxXxilium/arc-c.git
synced 2025-02-20 08:27:22 +07:00
storage: rewrite logic
Signed-off-by: AuxXxilium <info@auxxxilium.tech>
This commit is contained in:
parent
e2ee78e60f
commit
d62e8ce830
@ -44,24 +44,6 @@ function getmap() {
|
|||||||
let DISKIDXMAPIDXMAX=$DISKIDXMAPIDXMAX+$NUMPORTS
|
let DISKIDXMAPIDXMAX=$DISKIDXMAPIDXMAX+$NUMPORTS
|
||||||
SATADRIVES=$((${SATADRIVES} + ${CONPORTS}))
|
SATADRIVES=$((${SATADRIVES} + ${CONPORTS}))
|
||||||
done
|
done
|
||||||
SATAPORTMAPMAX="$(<"${TMP_PATH}/drivesmax")"
|
|
||||||
SATAPORTMAP="$(<"${TMP_PATH}/drivescon")"
|
|
||||||
LASTDRIVE=0
|
|
||||||
# Check for VM
|
|
||||||
while read -r LINE; do
|
|
||||||
if [[ "${BUS}" != "usb" && ${LINE} -eq 0 && "${LOADER_DISK}" = "/dev/sda" ]]; then
|
|
||||||
MAXDISKS="$(readModelKey "${MODEL}" "disks")"
|
|
||||||
if [ ${MAXDISKS} -lt ${SATADRIVES} ]; then
|
|
||||||
MAXDISKS=${SATADRIVES}
|
|
||||||
fi
|
|
||||||
echo -n "${LINE}>${MAXDISKS}:" >>"${TMP_PATH}/remap"
|
|
||||||
elif [ ! ${LINE} = ${LASTDRIVE} ]; then
|
|
||||||
echo -n "${LINE}>${LASTDRIVE}:" >>"${TMP_PATH}/remap"
|
|
||||||
LASTDRIVE=$((${LASTDRIVE} + 1))
|
|
||||||
elif [ ${LINE} = ${LASTDRIVE} ]; then
|
|
||||||
LASTDRIVE=$((${LINE} + 1))
|
|
||||||
fi
|
|
||||||
done < <(cat "${TMP_PATH}/ports")
|
|
||||||
# SAS Disks
|
# SAS Disks
|
||||||
SASDRIVES=0
|
SASDRIVES=0
|
||||||
if [ $(lspci -d ::107 | wc -l) -gt 0 ]; then
|
if [ $(lspci -d ::107 | wc -l) -gt 0 ]; then
|
||||||
@ -129,14 +111,32 @@ function getmap() {
|
|||||||
--msgbox "${TEXT}" 0 0
|
--msgbox "${TEXT}" 0 0
|
||||||
fi
|
fi
|
||||||
# Compute PortMap Options
|
# Compute PortMap Options
|
||||||
|
SATAPORTMAPMAX="$(awk '{print $1}' "${TMP_PATH}/drivesmax")"
|
||||||
|
SATAPORTMAP="$(awk '{print $1}' "${TMP_PATH}/drivescon")"
|
||||||
SATAREMAP="$(awk '{print $1}' "${TMP_PATH}/remap" | sed 's/.$//')"
|
SATAREMAP="$(awk '{print $1}' "${TMP_PATH}/remap" | sed 's/.$//')"
|
||||||
|
# Check for Sata Boot
|
||||||
|
LASTDRIVE=0
|
||||||
|
while read -r LINE; do
|
||||||
|
if [[ "${BUS}" != "usb" && ${LINE} -eq 0 && "${LOADER_DISK}" = "/dev/sda" ]]; then
|
||||||
|
MAXDISKS="$(readModelKey "${MODEL}" "disks")"
|
||||||
|
if [ ${MAXDISKS} -lt ${DRIVES} ]; then
|
||||||
|
MAXDISKS=${DRIVES}
|
||||||
|
fi
|
||||||
|
echo -n "${LINE}>${MAXDISKS}:">>"${TMP_PATH}/remap"
|
||||||
|
elif [ ! ${LINE} = ${LASTDRIVE} ]; then
|
||||||
|
echo -n "${LINE}>${LASTDRIVE}:">>"${TMP_PATH}/remap"
|
||||||
|
LASTDRIVE=$((${LASTDRIVE} + 1))
|
||||||
|
elif [ ${LINE} = ${LASTDRIVE} ]; then
|
||||||
|
LASTDRIVE=$((${LINE} + 1))
|
||||||
|
fi
|
||||||
|
done < <(cat "${TMP_PATH}/ports")
|
||||||
# Show recommended Option to user
|
# Show recommended Option to user
|
||||||
if [[ -n "${SATAREMAP}" && ${SASCONTROLLER} -eq 0 && ${SCSICONTROLLER} -eq 0 ]]; then
|
if [ ! -n "${SATAREMAP}" ]; then
|
||||||
REMAP3="*"
|
|
||||||
elif [ -n "${SATAREMAP}" ] && [[ ${SASCONTROLLER} -gt 0 || ${SCSICONTROLLER} -gt 0 ]] && [ "${MACHINE}" = "NATIVE" ]; then
|
|
||||||
REMAP2="*"
|
|
||||||
else
|
|
||||||
REMAP1="*"
|
REMAP1="*"
|
||||||
|
elif [ -n "${SATAREMAP}" ] && [[ ${SASCONTROLLER} -gt 0 || ${SCSICONTROLLER} -gt 0 ]]; then
|
||||||
|
REMAP2="*"
|
||||||
|
elif [ -n "${SATAREMAP}" ] && [[ ${SASCONTROLLER} -eq 0 && ${SCSICONTROLLER} -eq 0 ]]; then
|
||||||
|
REMAP3="*"
|
||||||
fi
|
fi
|
||||||
# Ask for Portmap
|
# Ask for Portmap
|
||||||
dialog --backtitle "$(backtitle)" --title "Arc Disks" \
|
dialog --backtitle "$(backtitle)" --title "Arc Disks" \
|
||||||
@ -197,7 +197,7 @@ function getmap() {
|
|||||||
deleteConfigKey "cmdline.DiskIdxMap" "${USER_CONFIG_FILE}"
|
deleteConfigKey "cmdline.DiskIdxMap" "${USER_CONFIG_FILE}"
|
||||||
deleteConfigKey "cmdline.SataPortMap" "${USER_CONFIG_FILE}"
|
deleteConfigKey "cmdline.SataPortMap" "${USER_CONFIG_FILE}"
|
||||||
dialog --backtitle "$(backtitle)" --title "Arc Disks" \
|
dialog --backtitle "$(backtitle)" --title "Arc Disks" \
|
||||||
--msgbox "Computed Values:\nSataRemap: ${SATAREMAP}" 0 0
|
--msgbox "Computed Values:\nAhciRemap: ${SATAREMAP}" 0 0
|
||||||
elif [ "${REMAP}" = "user" ]; then
|
elif [ "${REMAP}" = "user" ]; then
|
||||||
deleteConfigKey "cmdline.SataPortMap" "${USER_CONFIG_FILE}"
|
deleteConfigKey "cmdline.SataPortMap" "${USER_CONFIG_FILE}"
|
||||||
deleteConfigKey "cmdline.DiskIdxMap" "${USER_CONFIG_FILE}"
|
deleteConfigKey "cmdline.DiskIdxMap" "${USER_CONFIG_FILE}"
|
||||||
|
Loading…
Reference in New Issue
Block a user