mirror of
https://github.com/RROrg/rr.git
synced 2025-06-21 05:51:05 +08:00
优化 modelMenu 和 addonMenu
This commit is contained in:
parent
c3ae869c42
commit
3ab7cdd3d3
@ -86,7 +86,7 @@ if ! readConfigMap "addons" "${USER_CONFIG_FILE}" | grep -q nvmesystem; then
|
|||||||
HASATA=0
|
HASATA=0
|
||||||
for D in $(lsblk -dpno NAME); do
|
for D in $(lsblk -dpno NAME); do
|
||||||
[ "${D}" = "${LOADER_DISK}" ] && continue
|
[ "${D}" = "${LOADER_DISK}" ] && continue
|
||||||
if echo "sata sas scsi" | grep -qw "$(getBus "${D}")"; then
|
if echo "sata sas scsi" | grep -wq "$(getBus "${D}")"; then
|
||||||
HASATA=1
|
HASATA=1
|
||||||
break
|
break
|
||||||
fi
|
fi
|
||||||
@ -188,7 +188,7 @@ fi
|
|||||||
|
|
||||||
# # Save command line to grubenv RR_CMDLINE= ... nox2apic
|
# # Save command line to grubenv RR_CMDLINE= ... nox2apic
|
||||||
# if echo "apollolake geminilake purley" | grep -wq "${PLATFORM}"; then
|
# if echo "apollolake geminilake purley" | grep -wq "${PLATFORM}"; then
|
||||||
# if grep -q "^flags.*x2apic.*" /proc/cpuinfo; then
|
# if grep -Eq "^flags.*x2apic.*" /proc/cpuinfo; then
|
||||||
# checkCmdline "rr_cmdline" "nox2apic" || addCmdline "rr_cmdline" "nox2apic"
|
# checkCmdline "rr_cmdline" "nox2apic" || addCmdline "rr_cmdline" "nox2apic"
|
||||||
# fi
|
# fi
|
||||||
# else
|
# else
|
||||||
@ -327,6 +327,10 @@ else
|
|||||||
DRIVER=$(ls -ld /sys/class/net/${N}/device/driver 2>/dev/null | awk -F '/' '{print $NF}')
|
DRIVER=$(ls -ld /sys/class/net/${N}/device/driver 2>/dev/null | awk -F '/' '{print $NF}')
|
||||||
printf "%s(%s): " "${N}" "${DRIVER}"
|
printf "%s(%s): " "${N}" "${DRIVER}"
|
||||||
while true; do
|
while true; do
|
||||||
|
if [ ! "${N::3}" = "eth" ]; then
|
||||||
|
printf "\r%s(%s): %s\n" "${N}" "${DRIVER}" "$(TEXT "IGNORE (Does not support non-wired network card.)")"
|
||||||
|
break
|
||||||
|
fi
|
||||||
if [ -z "$(cat /sys/class/net/${N}/carrier 2>/dev/null)" ]; then
|
if [ -z "$(cat /sys/class/net/${N}/carrier 2>/dev/null)" ]; then
|
||||||
printf "\r%s(%s): %s\n" "${N}" "${DRIVER}" "$(TEXT "DOWN")"
|
printf "\r%s(%s): %s\n" "${N}" "${DRIVER}" "$(TEXT "DOWN")"
|
||||||
break
|
break
|
||||||
|
390
files/initrd/opt/rr/i915ids
Normal file
390
files/initrd/opt/rr/i915ids
Normal file
@ -0,0 +1,390 @@
|
|||||||
|
# INTEL_I810_IDS
|
||||||
|
80867121
|
||||||
|
80867123
|
||||||
|
80867125
|
||||||
|
# INTEL_I815_IDS
|
||||||
|
80861132
|
||||||
|
# INTEL_I830_IDS
|
||||||
|
80863577
|
||||||
|
# INTEL_I845G_IDS
|
||||||
|
80862562
|
||||||
|
# INTEL_I85X_IDS
|
||||||
|
80863582
|
||||||
|
8086358e
|
||||||
|
# INTEL_I865G_IDS
|
||||||
|
80862572
|
||||||
|
# INTEL_I915G_IDS
|
||||||
|
80862582
|
||||||
|
8086258a
|
||||||
|
# INTEL_I915GM_IDS
|
||||||
|
80862592
|
||||||
|
# INTEL_I945G_IDS
|
||||||
|
80862772
|
||||||
|
# INTEL_I945GM_IDS
|
||||||
|
808627a2
|
||||||
|
808627ae
|
||||||
|
# INTEL_I965G_IDS
|
||||||
|
80862972
|
||||||
|
80862982
|
||||||
|
80862992
|
||||||
|
808629a2
|
||||||
|
# INTEL_G33_IDS
|
||||||
|
808629b2
|
||||||
|
808629c2
|
||||||
|
808629d2
|
||||||
|
# INTEL_I965GM_IDS
|
||||||
|
80862a02
|
||||||
|
80862a12
|
||||||
|
# INTEL_GM45_IDS
|
||||||
|
80862a42
|
||||||
|
# INTEL_G45_IDS
|
||||||
|
80862e02
|
||||||
|
80862e12
|
||||||
|
80862e22
|
||||||
|
80862e32
|
||||||
|
80862e42
|
||||||
|
80862e92
|
||||||
|
# INTEL_PINEVIEW_G_IDS
|
||||||
|
8086a001
|
||||||
|
# INTEL_PINEVIEW_M_IDS
|
||||||
|
8086a011
|
||||||
|
# INTEL_IRONLAKE_D_IDS
|
||||||
|
80860042
|
||||||
|
# INTEL_IRONLAKE_M_IDS
|
||||||
|
80860046
|
||||||
|
# INTEL_SNB_D_GT1_IDS
|
||||||
|
80860102
|
||||||
|
8086010A
|
||||||
|
# INTEL_SNB_D_GT2_IDS
|
||||||
|
80860112
|
||||||
|
80860122
|
||||||
|
# INTEL_SNB_M_GT1_IDS
|
||||||
|
80860106
|
||||||
|
# INTEL_SNB_M_GT2_IDS
|
||||||
|
80860116
|
||||||
|
80860126
|
||||||
|
# INTEL_IVB_M_GT1_IDS
|
||||||
|
80860156
|
||||||
|
# INTEL_IVB_M_GT2_IDS
|
||||||
|
80860166
|
||||||
|
# INTEL_IVB_D_GT1_IDS
|
||||||
|
80860152
|
||||||
|
8086015a
|
||||||
|
# INTEL_IVB_D_GT2_IDS
|
||||||
|
80860162
|
||||||
|
8086016a
|
||||||
|
# INTEL_HSW_ULT_GT1_IDS
|
||||||
|
80860A02
|
||||||
|
80860A06
|
||||||
|
80860A0A
|
||||||
|
80860A0B
|
||||||
|
# INTEL_HSW_ULX_GT1_IDS
|
||||||
|
80860A0E
|
||||||
|
# INTEL_HSW_GT1_IDS
|
||||||
|
80860402
|
||||||
|
80860406
|
||||||
|
8086040A
|
||||||
|
8086040B
|
||||||
|
8086040E
|
||||||
|
80860C02
|
||||||
|
80860C06
|
||||||
|
80860C0A
|
||||||
|
80860C0B
|
||||||
|
80860C0E
|
||||||
|
80860D02
|
||||||
|
80860D06
|
||||||
|
80860D0A
|
||||||
|
80860D0B
|
||||||
|
80860D0E
|
||||||
|
# INTEL_HSW_ULT_GT2_IDS
|
||||||
|
80860A12
|
||||||
|
80860A16
|
||||||
|
80860A1A
|
||||||
|
80860A1B
|
||||||
|
# INTEL_HSW_ULX_GT2_IDS
|
||||||
|
80860A1E
|
||||||
|
# INTEL_HSW_GT2_IDS
|
||||||
|
80860412
|
||||||
|
80860416
|
||||||
|
8086041A
|
||||||
|
8086041B
|
||||||
|
8086041E
|
||||||
|
80860C12
|
||||||
|
80860C16
|
||||||
|
80860C1A
|
||||||
|
80860C1B
|
||||||
|
80860C1E
|
||||||
|
80860D12
|
||||||
|
80860D16
|
||||||
|
80860D1A
|
||||||
|
80860D1B
|
||||||
|
80860D1E
|
||||||
|
# INTEL_HSW_ULT_GT3_IDS
|
||||||
|
80860A22
|
||||||
|
80860A26
|
||||||
|
80860A2A
|
||||||
|
80860A2B
|
||||||
|
80860A2E
|
||||||
|
# INTEL_HSW_GT3_IDS
|
||||||
|
80860422
|
||||||
|
80860426
|
||||||
|
8086042A
|
||||||
|
8086042B
|
||||||
|
8086042E
|
||||||
|
80860C22
|
||||||
|
80860C26
|
||||||
|
80860C2A
|
||||||
|
80860C2B
|
||||||
|
80860C2E
|
||||||
|
80860D22
|
||||||
|
80860D26
|
||||||
|
80860D2A
|
||||||
|
80860D2B
|
||||||
|
80860D2E
|
||||||
|
# INTEL_VLV_IDS
|
||||||
|
80860f30
|
||||||
|
80860f31
|
||||||
|
80860f32
|
||||||
|
80860f33
|
||||||
|
# INTEL_BDW_ULT_GT1_IDS
|
||||||
|
80861606
|
||||||
|
8086160B
|
||||||
|
# INTEL_BDW_ULX_GT1_IDS
|
||||||
|
8086160E
|
||||||
|
# INTEL_BDW_GT1_IDS
|
||||||
|
80861602
|
||||||
|
8086160A
|
||||||
|
8086160D
|
||||||
|
# INTEL_BDW_ULT_GT2_IDS
|
||||||
|
80861616
|
||||||
|
8086161B
|
||||||
|
# INTEL_BDW_ULX_GT2_IDS
|
||||||
|
8086161E
|
||||||
|
# INTEL_BDW_GT2_IDS
|
||||||
|
80861612
|
||||||
|
8086161A
|
||||||
|
8086161D
|
||||||
|
# INTEL_BDW_ULT_GT3_IDS
|
||||||
|
80861626
|
||||||
|
8086162B
|
||||||
|
# INTEL_BDW_ULX_GT3_IDS
|
||||||
|
8086162E
|
||||||
|
# INTEL_BDW_GT3_IDS
|
||||||
|
80861622
|
||||||
|
8086162A
|
||||||
|
8086162D
|
||||||
|
# INTEL_BDW_ULT_RSVD_IDS
|
||||||
|
80861636
|
||||||
|
8086163B
|
||||||
|
# INTEL_BDW_ULX_RSVD_IDS
|
||||||
|
8086163E
|
||||||
|
# INTEL_BDW_RSVD_IDS
|
||||||
|
80861632
|
||||||
|
8086163A
|
||||||
|
8086163D
|
||||||
|
# INTEL_CHV_IDS
|
||||||
|
808622b0
|
||||||
|
808622b1
|
||||||
|
808622b2
|
||||||
|
808622b3
|
||||||
|
# INTEL_SKL_ULT_GT1_IDS
|
||||||
|
80861906
|
||||||
|
80861913~
|
||||||
|
# INTEL_SKL_ULX_GT1_IDS
|
||||||
|
8086190E
|
||||||
|
80861915~
|
||||||
|
# INTEL_SKL_GT1_IDS
|
||||||
|
80861902
|
||||||
|
8086190A
|
||||||
|
8086190B
|
||||||
|
80861917~
|
||||||
|
# INTEL_SKL_ULT_GT2_IDS
|
||||||
|
80861916
|
||||||
|
80861921
|
||||||
|
# INTEL_SKL_ULX_GT2_IDS
|
||||||
|
8086191E
|
||||||
|
# INTEL_SKL_GT2_IDS
|
||||||
|
80861912
|
||||||
|
8086191A
|
||||||
|
8086191B
|
||||||
|
8086191D
|
||||||
|
# INTEL_SKL_ULT_GT3_IDS
|
||||||
|
80861923
|
||||||
|
80861926
|
||||||
|
80861927
|
||||||
|
# INTEL_SKL_GT3_IDS
|
||||||
|
8086192A
|
||||||
|
8086192B
|
||||||
|
8086192D
|
||||||
|
# INTEL_SKL_GT4_IDS
|
||||||
|
80861932
|
||||||
|
8086193A
|
||||||
|
8086193B
|
||||||
|
8086193D
|
||||||
|
# INTEL_BXT_IDS
|
||||||
|
80860A84
|
||||||
|
80861A84
|
||||||
|
80861A85
|
||||||
|
80865A84
|
||||||
|
80865A85
|
||||||
|
# INTEL_GLK_IDS
|
||||||
|
80863184
|
||||||
|
80863185
|
||||||
|
# INTEL_KBL_ULT_GT1_IDS
|
||||||
|
80865906
|
||||||
|
80865913
|
||||||
|
# INTEL_KBL_ULX_GT1_IDS
|
||||||
|
8086590E
|
||||||
|
80865915
|
||||||
|
# INTEL_KBL_GT1_IDS
|
||||||
|
80865902
|
||||||
|
80865908
|
||||||
|
8086590A
|
||||||
|
8086590B
|
||||||
|
# INTEL_KBL_ULT_GT2_IDS
|
||||||
|
80865916
|
||||||
|
80865921
|
||||||
|
# INTEL_KBL_ULX_GT2_IDS
|
||||||
|
8086591E
|
||||||
|
# INTEL_KBL_GT2_IDS
|
||||||
|
80865912
|
||||||
|
80865917
|
||||||
|
8086591A
|
||||||
|
8086591B
|
||||||
|
8086591D
|
||||||
|
# INTEL_KBL_ULT_GT3_IDS
|
||||||
|
80865926
|
||||||
|
# INTEL_KBL_GT3_IDS
|
||||||
|
80865923
|
||||||
|
80865927
|
||||||
|
# INTEL_KBL_GT4_IDS
|
||||||
|
8086593B
|
||||||
|
# INTEL_AML_KBL_GT2_IDS
|
||||||
|
8086591C
|
||||||
|
808687C0
|
||||||
|
# INTEL_AML_CFL_GT2_IDS
|
||||||
|
808687CA
|
||||||
|
# INTEL_CML_GT1_IDS
|
||||||
|
80869BA2
|
||||||
|
80869BA4
|
||||||
|
80869BA5
|
||||||
|
80869BA8
|
||||||
|
# INTEL_CML_U_GT1_IDS
|
||||||
|
80869B21
|
||||||
|
80869BAA
|
||||||
|
80869BAC
|
||||||
|
# INTEL_CML_GT2_IDS
|
||||||
|
80869BC2
|
||||||
|
80869BC4
|
||||||
|
80869BC5
|
||||||
|
80869BC6
|
||||||
|
80869BC8
|
||||||
|
80869BE6
|
||||||
|
80869BF6
|
||||||
|
# INTEL_CML_U_GT2_IDS
|
||||||
|
80869B41
|
||||||
|
80869BCA
|
||||||
|
80869BCC
|
||||||
|
# INTEL_CFL_S_GT1_IDS
|
||||||
|
80863E90
|
||||||
|
80863E93
|
||||||
|
80863E99
|
||||||
|
# INTEL_CFL_S_GT2_IDS
|
||||||
|
80863E91
|
||||||
|
80863E92
|
||||||
|
80863E96
|
||||||
|
80863E98
|
||||||
|
80863E9A
|
||||||
|
# INTEL_CFL_H_GT1_IDS
|
||||||
|
80863E9C
|
||||||
|
# INTEL_CFL_H_GT2_IDS
|
||||||
|
80863E94
|
||||||
|
80863E9B
|
||||||
|
# INTEL_CFL_U_GT2_IDS
|
||||||
|
80863EA9
|
||||||
|
# INTEL_CFL_U_GT3_IDS
|
||||||
|
80863EA5
|
||||||
|
80863EA6
|
||||||
|
80863EA7
|
||||||
|
80863EA8
|
||||||
|
# INTEL_WHL_U_GT1_IDS
|
||||||
|
80863EA1
|
||||||
|
80863EA4
|
||||||
|
# INTEL_WHL_U_GT2_IDS
|
||||||
|
80863EA0
|
||||||
|
80863EA3
|
||||||
|
# INTEL_WHL_U_GT3_IDS
|
||||||
|
80863EA2
|
||||||
|
# INTEL_CNL_PORT_F_IDS
|
||||||
|
80865A44
|
||||||
|
80865A4C
|
||||||
|
80865A54
|
||||||
|
80865A5C
|
||||||
|
# INTEL_CNL_IDS
|
||||||
|
80865A40
|
||||||
|
80865A41
|
||||||
|
80865A42
|
||||||
|
80865A49
|
||||||
|
80865A4A
|
||||||
|
80865A50
|
||||||
|
80865A51
|
||||||
|
80865A52
|
||||||
|
80865A59
|
||||||
|
80865A5A
|
||||||
|
# INTEL_ICL_PORT_F_IDS
|
||||||
|
80868A50
|
||||||
|
80868A52
|
||||||
|
80868A53
|
||||||
|
80868A54
|
||||||
|
80868A56
|
||||||
|
80868A57
|
||||||
|
80868A58
|
||||||
|
80868A59
|
||||||
|
80868A5A
|
||||||
|
80868A5B
|
||||||
|
80868A5C
|
||||||
|
80868A70
|
||||||
|
80868A71
|
||||||
|
# INTEL_ICL_11_IDS
|
||||||
|
80868A51
|
||||||
|
80868A5D
|
||||||
|
# INTEL_EHL_IDS
|
||||||
|
80864500~
|
||||||
|
80864541
|
||||||
|
80864551
|
||||||
|
80864555
|
||||||
|
80864557
|
||||||
|
80864570~
|
||||||
|
80864571
|
||||||
|
# INTEL_JSL_IDS
|
||||||
|
80864E51
|
||||||
|
80864E55
|
||||||
|
80864E57
|
||||||
|
80864E61
|
||||||
|
80864E71
|
||||||
|
# INTEL_TGL_12_GT1_IDS
|
||||||
|
80869A60
|
||||||
|
80869A68
|
||||||
|
80869A70
|
||||||
|
# INTEL_TGL_12_GT2_IDS
|
||||||
|
80869A40
|
||||||
|
80869A49
|
||||||
|
80869A59
|
||||||
|
80869A78
|
||||||
|
80869AC0
|
||||||
|
80869AC9
|
||||||
|
80869AD9
|
||||||
|
80869AF8
|
||||||
|
# INTEL_RKL_IDS
|
||||||
|
80864C80
|
||||||
|
80864C8A
|
||||||
|
80864C8B
|
||||||
|
80864C8C
|
||||||
|
80864C90
|
||||||
|
80864C9A
|
||||||
|
# INTEL_DG1_IDS
|
||||||
|
80864905
|
||||||
|
80864906~
|
||||||
|
80864907~
|
||||||
|
80864908~
|
||||||
|
80864909~
|
@ -119,8 +119,8 @@ BUS=$(getBus "${LOADER_DISK}")
|
|||||||
|
|
||||||
BUSLIST="usb sata sas scsi nvme mmc ide virtio vmbus xen"
|
BUSLIST="usb sata sas scsi nvme mmc ide virtio vmbus xen"
|
||||||
if [ "${BUS}" = "usb" ]; then
|
if [ "${BUS}" = "usb" ]; then
|
||||||
VID="0x$(udevadm info --query property --name "${LOADER_DISK}" 2>/dev/null | grep ID_VENDOR_ID | cut -d= -f2)"
|
VID="0x$(udevadm info --query property --name "${LOADER_DISK}" 2>/dev/null | grep "ID_VENDOR_ID" | cut -d= -f2)"
|
||||||
PID="0x$(udevadm info --query property --name "${LOADER_DISK}" 2>/dev/null | grep ID_MODEL_ID | cut -d= -f2)"
|
PID="0x$(udevadm info --query property --name "${LOADER_DISK}" 2>/dev/null | grep "ID_MODEL_ID" | cut -d= -f2)"
|
||||||
TYPE="flashdisk"
|
TYPE="flashdisk"
|
||||||
elif ! echo "${BUSLIST}" | grep -wq "${BUS}"; then
|
elif ! echo "${BUSLIST}" | grep -wq "${BUS}"; then
|
||||||
if [ "LOCALBUILD" = "${LOADER_DISK}" ]; then
|
if [ "LOCALBUILD" = "${LOADER_DISK}" ]; then
|
||||||
|
File diff suppressed because it is too large
Load Diff
File diff suppressed because it is too large
Load Diff
File diff suppressed because it is too large
Load Diff
File diff suppressed because it is too large
Load Diff
File diff suppressed because it is too large
Load Diff
File diff suppressed because it is too large
Load Diff
File diff suppressed because it is too large
Load Diff
File diff suppressed because it is too large
Load Diff
File diff suppressed because it is too large
Load Diff
File diff suppressed because it is too large
Load Diff
File diff suppressed because it is too large
Load Diff
File diff suppressed because it is too large
Load Diff
File diff suppressed because it is too large
Load Diff
File diff suppressed because it is too large
Load Diff
File diff suppressed because it is too large
Load Diff
File diff suppressed because it is too large
Load Diff
@ -8,6 +8,9 @@
|
|||||||
|
|
||||||
[ -z "${LOADER_DISK}" ] && die "$(TEXT "Loader is not init!")"
|
[ -z "${LOADER_DISK}" ] && die "$(TEXT "Loader is not init!")"
|
||||||
|
|
||||||
|
# Disable the XON/XOFF flow control in the terminal
|
||||||
|
# stty -ixon
|
||||||
|
|
||||||
alias DIALOG='dialog --backtitle "$(backtitle)" --colors --aspect 50'
|
alias DIALOG='dialog --backtitle "$(backtitle)" --colors --aspect 50'
|
||||||
|
|
||||||
# lock
|
# lock
|
||||||
@ -135,6 +138,13 @@ function modelMenu() {
|
|||||||
while true; do
|
while true; do
|
||||||
rm -f "${TMP_PATH}/menu"
|
rm -f "${TMP_PATH}/menu"
|
||||||
FLGNEX=0
|
FLGNEX=0
|
||||||
|
IGPUPS=(apollolake geminilake)
|
||||||
|
IGPUID="$(lspci -nd ::300 2>/dev/null | grep "8086" | cut -d' ' -f3 | sed 's/://g')"
|
||||||
|
NVMEMS=(DS918+ RS1619xs+ DS419+ DS1019+ DS719+ DS1621xs+)
|
||||||
|
NVMEPS=(/sys/devices/pci0000:00/0000:*/nvme /sys/devices/pci0000:00/0000:*/*/nvme)
|
||||||
|
if [ -n "${IGPUID}" ]; then grep -iq "${IGPUID}" ${WORK_PATH}/i915ids && hasiGPU=1 || hasiGPU=2; else hasiGPU=0; fi
|
||||||
|
if [ $(ls -d ${NVMEPS[0]} 2>/dev/null | wc -l) -gt 0 ]; then hasNVME=1; else [ $(ls -d ${NVMEPS[1]} 2>/dev/null | wc -l) -gt 0 ] && hasNVME=2 || hasNVME=0; fi
|
||||||
|
[ $(lspci -d ::104 2>/dev/null | wc -l) -gt 0 -o $(lspci -d ::107 2>/dev/null | wc -l) -gt 0 ] && hasHBA=1 || hasHBA=0
|
||||||
while read -r M A; do
|
while read -r M A; do
|
||||||
COMPATIBLE=1
|
COMPATIBLE=1
|
||||||
if [ ${RESTRICT} -eq 1 ]; then
|
if [ ${RESTRICT} -eq 1 ]; then
|
||||||
@ -146,12 +156,22 @@ function modelMenu() {
|
|||||||
fi
|
fi
|
||||||
done
|
done
|
||||||
fi
|
fi
|
||||||
|
unset DT G N H
|
||||||
[ "$(readConfigKey "platforms.${A}.dt" "${WORK_PATH}/platforms.yml")" = "true" ] && DT="DT" || DT=""
|
[ "$(readConfigKey "platforms.${A}.dt" "${WORK_PATH}/platforms.yml")" = "true" ] && DT="DT" || DT=""
|
||||||
[ ${COMPATIBLE} -eq 1 ] && printf "%s \"\Zb%-15s %-2s\Zn\" " "${M}" "${A}" "${DT}" >>"${TMP_PATH}/menu"
|
[ -z "${G}" ] && [ ${hasiGPU} -eq 1 ] && echo "${IGPUPS[@]}" | grep -wq "${A}" && G="G"
|
||||||
|
[ -z "${G}" ] && [ ${hasiGPU} -eq 2 ] && echo "epyc7002" | grep -wq "${A}" && G="G"
|
||||||
|
[ -z "${N}" ] && [ ${hasNVME} -ne 0 ] && [ "${DT}" = "DT" ] && N="N"
|
||||||
|
[ -z "${N}" ] && [ ${hasNVME} -eq 2 ] && echo "${NVMEMS[@]}" | grep -wq "${M}" && N="N"
|
||||||
|
[ -z "${H}" ] && [ ${hasHBA} -eq 1 ] && [ ! "${DT}" = "DT" ] && H="H"
|
||||||
|
[ -z "${H}" ] && [ ${hasHBA} -eq 1 ] && echo "epyc7002" | grep -wq "${A}" && H="H"
|
||||||
|
[ ${COMPATIBLE} -eq 1 ] && printf "%s \"\Zb%-14s %-2s %-3s\Zn\" " "${M}" "${A}" "${DT}" "${G}${N}${H}" >>"${TMP_PATH}/menu"
|
||||||
done <"${TMP_PATH}/modellist"
|
done <"${TMP_PATH}/modellist"
|
||||||
[ ${FLGNEX} -eq 1 ] && echo "f \"\Z1$(TEXT "Disable flags restriction")\Zn\"" >>"${TMP_PATH}/menu"
|
[ ${FLGNEX} -eq 1 ] && echo "f \"\Z1$(TEXT "Disable flags restriction")\Zn\"" >>"${TMP_PATH}/menu"
|
||||||
|
MSG="$(TEXT "Choose the model")"
|
||||||
|
MSG+="\n\Z1$(TEXT "DT: Disk identification method is device tree")\Zn"
|
||||||
|
MSG+="\n\Z1$(TEXT "G: Support iGPU; N: Support NVMe; H: Support HBA")\Zn"
|
||||||
DIALOG --title "$(TEXT "Model")" \
|
DIALOG --title "$(TEXT "Model")" \
|
||||||
--menu "$(TEXT "Choose the model")" 0 0 20 --file "${TMP_PATH}/menu" \
|
--menu "${MSG}" 0 0 20 --file "${TMP_PATH}/menu" \
|
||||||
2>${TMP_PATH}/resp
|
2>${TMP_PATH}/resp
|
||||||
[ $? -ne 0 ] && return 0
|
[ $? -ne 0 ] && return 0
|
||||||
resp=$(cat ${TMP_PATH}/resp)
|
resp=$(cat ${TMP_PATH}/resp)
|
||||||
@ -163,7 +183,7 @@ function modelMenu() {
|
|||||||
break
|
break
|
||||||
done
|
done
|
||||||
else
|
else
|
||||||
grep -qw "${1}" "${TMP_PATH}/modellist" || return 1
|
grep -wq "${1}" "${TMP_PATH}/modellist" || return 1
|
||||||
resp="${1}"
|
resp="${1}"
|
||||||
fi
|
fi
|
||||||
|
|
||||||
@ -600,7 +620,7 @@ function addonMenu() {
|
|||||||
continue
|
continue
|
||||||
fi
|
fi
|
||||||
DIALOG --title "$(TEXT "Addons")" \
|
DIALOG --title "$(TEXT "Addons")" \
|
||||||
--msgbox "$(TEXT "Please upload the *.addons file.")" 0 0
|
--msgbox "$(TEXT "Please upload the *.addon file.")" 0 0
|
||||||
TMP_UP_PATH=${TMP_PATH}/users
|
TMP_UP_PATH=${TMP_PATH}/users
|
||||||
USER_FILE=""
|
USER_FILE=""
|
||||||
rm -rf ${TMP_UP_PATH}
|
rm -rf ${TMP_UP_PATH}
|
||||||
@ -616,7 +636,7 @@ function addonMenu() {
|
|||||||
DIALOG --title "$(TEXT "Addons")" \
|
DIALOG --title "$(TEXT "Addons")" \
|
||||||
--msgbox "$(TEXT "Not a valid file, please try again!")" 0 0
|
--msgbox "$(TEXT "Not a valid file, please try again!")" 0 0
|
||||||
else
|
else
|
||||||
if [ -d "${ADDONS_PATH}/$(basename ${USER_FILE} .addons)" ]; then
|
if [ -d "${ADDONS_PATH}/$(basename ${USER_FILE} .addon)" ]; then
|
||||||
DIALOG --title "$(TEXT "Addons")" \
|
DIALOG --title "$(TEXT "Addons")" \
|
||||||
--yesno "$(TEXT "The addon already exists. Do you want to overwrite it?")" 0 0
|
--yesno "$(TEXT "The addon already exists. Do you want to overwrite it?")" 0 0
|
||||||
RET=$?
|
RET=$?
|
||||||
@ -2768,7 +2788,7 @@ function changePorts() {
|
|||||||
if [ -z "${1}" ]; then
|
if [ -z "${1}" ]; then
|
||||||
return 0
|
return 0
|
||||||
else
|
else
|
||||||
if echo "${1}" | grep -qE '^[0-9]+$' && [ "${1}" -ge 0 ] && [ "${1}" -le 65535 ]; then
|
if echo "${1}" | grep -Eq '^[0-9]+$' && [ "${1}" -ge 0 ] && [ "${1}" -le 65535 ]; then
|
||||||
return 0
|
return 0
|
||||||
else
|
else
|
||||||
return 1
|
return 1
|
||||||
@ -3261,7 +3281,7 @@ function downloadExts() {
|
|||||||
TAG=""
|
TAG=""
|
||||||
if [ "${PRERELEASE}" = "true" ]; then
|
if [ "${PRERELEASE}" = "true" ]; then
|
||||||
# TAG="$(curl -skL --connect-timeout 10 "${PROXY}${3}/tags" | pup 'a[class="Link--muted"] attr{href}' | grep ".zip" | head -1)"
|
# TAG="$(curl -skL --connect-timeout 10 "${PROXY}${3}/tags" | pup 'a[class="Link--muted"] attr{href}' | grep ".zip" | head -1)"
|
||||||
TAG="$(curl -skL --connect-timeout 10 "${PROXY}${3}/tags" | grep /refs/tags/.*\.zip | sed -E 's/.*\/refs\/tags\/(.*)\.zip.*$/\1/' | sort -rV | head -1)"
|
TAG="$(curl -skL --connect-timeout 10 "${PROXY}${3}/tags" | grep "/refs/tags/.*\.zip" | sed -E 's/.*\/refs\/tags\/(.*)\.zip.*$/\1/' | sort -rV | head -1)"
|
||||||
else
|
else
|
||||||
LATESTURL="$(curl -skL --connect-timeout 10 -w %{url_effective} -o /dev/null "${PROXY}${3}/releases/latest")"
|
LATESTURL="$(curl -skL --connect-timeout 10 -w %{url_effective} -o /dev/null "${PROXY}${3}/releases/latest")"
|
||||||
TAG="${LATESTURL##*/}"
|
TAG="${LATESTURL##*/}"
|
||||||
|
Loading…
x
Reference in New Issue
Block a user