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
|
||||
for D in $(lsblk -dpno NAME); do
|
||||
[ "${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
|
||||
break
|
||||
fi
|
||||
@ -188,7 +188,7 @@ fi
|
||||
|
||||
# # Save command line to grubenv RR_CMDLINE= ... nox2apic
|
||||
# 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"
|
||||
# fi
|
||||
# else
|
||||
@ -327,6 +327,10 @@ else
|
||||
DRIVER=$(ls -ld /sys/class/net/${N}/device/driver 2>/dev/null | awk -F '/' '{print $NF}')
|
||||
printf "%s(%s): " "${N}" "${DRIVER}"
|
||||
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
|
||||
printf "\r%s(%s): %s\n" "${N}" "${DRIVER}" "$(TEXT "DOWN")"
|
||||
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"
|
||||
if [ "${BUS}" = "usb" ]; then
|
||||
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)"
|
||||
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)"
|
||||
TYPE="flashdisk"
|
||||
elif ! echo "${BUSLIST}" | grep -wq "${BUS}"; 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!")"
|
||||
|
||||
# Disable the XON/XOFF flow control in the terminal
|
||||
# stty -ixon
|
||||
|
||||
alias DIALOG='dialog --backtitle "$(backtitle)" --colors --aspect 50'
|
||||
|
||||
# lock
|
||||
@ -135,6 +138,13 @@ function modelMenu() {
|
||||
while true; do
|
||||
rm -f "${TMP_PATH}/menu"
|
||||
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
|
||||
COMPATIBLE=1
|
||||
if [ ${RESTRICT} -eq 1 ]; then
|
||||
@ -146,12 +156,22 @@ function modelMenu() {
|
||||
fi
|
||||
done
|
||||
fi
|
||||
unset DT G N H
|
||||
[ "$(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"
|
||||
[ ${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")" \
|
||||
--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
|
||||
[ $? -ne 0 ] && return 0
|
||||
resp=$(cat ${TMP_PATH}/resp)
|
||||
@ -163,7 +183,7 @@ function modelMenu() {
|
||||
break
|
||||
done
|
||||
else
|
||||
grep -qw "${1}" "${TMP_PATH}/modellist" || return 1
|
||||
grep -wq "${1}" "${TMP_PATH}/modellist" || return 1
|
||||
resp="${1}"
|
||||
fi
|
||||
|
||||
@ -600,7 +620,7 @@ function addonMenu() {
|
||||
continue
|
||||
fi
|
||||
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
|
||||
USER_FILE=""
|
||||
rm -rf ${TMP_UP_PATH}
|
||||
@ -616,7 +636,7 @@ function addonMenu() {
|
||||
DIALOG --title "$(TEXT "Addons")" \
|
||||
--msgbox "$(TEXT "Not a valid file, please try again!")" 0 0
|
||||
else
|
||||
if [ -d "${ADDONS_PATH}/$(basename ${USER_FILE} .addons)" ]; then
|
||||
if [ -d "${ADDONS_PATH}/$(basename ${USER_FILE} .addon)" ]; then
|
||||
DIALOG --title "$(TEXT "Addons")" \
|
||||
--yesno "$(TEXT "The addon already exists. Do you want to overwrite it?")" 0 0
|
||||
RET=$?
|
||||
@ -2768,7 +2788,7 @@ function changePorts() {
|
||||
if [ -z "${1}" ]; then
|
||||
return 0
|
||||
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
|
||||
else
|
||||
return 1
|
||||
@ -3261,7 +3281,7 @@ function downloadExts() {
|
||||
TAG=""
|
||||
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" | 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
|
||||
LATESTURL="$(curl -skL --connect-timeout 10 -w %{url_effective} -o /dev/null "${PROXY}${3}/releases/latest")"
|
||||
TAG="${LATESTURL##*/}"
|
||||
|
Loading…
x
Reference in New Issue
Block a user