From 1a0c9e07f556d19b7f0b6a521748b219f5b976ff Mon Sep 17 00:00:00 2001 From: Ing Date: Sat, 18 May 2024 22:14:03 +0800 Subject: [PATCH] fix models RESTRICT --- files/initrd/opt/rr/include/functions.py | 1 + files/initrd/opt/rr/menu.sh | 18 ++++++++++-------- 2 files changed, 11 insertions(+), 8 deletions(-) diff --git a/files/initrd/opt/rr/include/functions.py b/files/initrd/opt/rr/include/functions.py index dc982ed0..549a93bf 100644 --- a/files/initrd/opt/rr/include/functions.py +++ b/files/initrd/opt/rr/include/functions.py @@ -161,6 +161,7 @@ def getmodels(platforms=None): except: pass + models.sort(key=lambda x: (x["arch"], x["name"])) print(json.dumps(models, indent=4)) diff --git a/files/initrd/opt/rr/menu.sh b/files/initrd/opt/rr/menu.sh index 61a57152..cdf83b7b 100755 --- a/files/initrd/opt/rr/menu.sh +++ b/files/initrd/opt/rr/menu.sh @@ -135,14 +135,16 @@ function modelMenu() { FLGNEX=0 while read M A; do COMPATIBLE=1 - DT="$(readConfigKey "platforms.${A}.dt" "${WORK_PATH}/platforms.yml")" - FLAGS="$(readConfigArray "platforms.${A}.flags" "${WORK_PATH}/platforms.yml")" - for F in "${FLAGS}"; do if ! grep -q "^flags.*${F}.*" /proc/cpuinfo; then - COMPATIBLE=0 - FLGNEX=1 - break - fi; done - [ "${DT}" = "true" ] && DT="DT" || DT="" + if [ ${RESTRICT} -eq 1 ]; then + for F in $(readConfigArray "platforms.${A}.flags" "${WORK_PATH}/platforms.yml"); do + if ! grep -q "^flags.*${F}.*" /proc/cpuinfo; then + COMPATIBLE=0 + FLGNEX=1 + break + fi + done + fi + [ "$(readConfigKey "platforms.${A}.dt" "${WORK_PATH}/platforms.yml")" = "true" ] && DT="DT" || DT="" [ ${COMPATIBLE} -eq 1 ] && echo "${M} \"$(printf "\Zb%-15s %-2s\Zn" "${A}" "${DT}")\" " >>"${TMP_PATH}/menu" done <<<$(cat "${TMP_PATH}/modellist") [ ${FLGNEX} -eq 1 ] && echo "f \"\Z1$(TEXT "Disable flags restriction")\Zn\"" >>"${TMP_PATH}/menu"