diff --git a/src/entry.sh b/src/entry.sh index dff43b1..a07d780 100755 --- a/src/entry.sh +++ b/src/entry.sh @@ -17,7 +17,8 @@ cd /run trap - ERR -info "Booting image${BOOT_DESC}..." +version=$(qemu-system-aarch64 --version | head -n 1 | cut -d '(' -f 1 | awk '{ print $NF }') +info "Booting image${BOOT_DESC} using QEMU v$version..." if [ -z "$CPU_PIN" ]; then exec qemu-system-aarch64 ${ARGS:+ $ARGS} diff --git a/src/proc.sh b/src/proc.sh index 0b922fd..6a865ea 100644 --- a/src/proc.sh +++ b/src/proc.sh @@ -9,9 +9,14 @@ set -Eeuo pipefail : "${CPU_MODEL:=""}" : "${DEF_MODEL:="neoverse-n1"}" -if [[ "$CPU" == "Cortex A55" ]] || [[ "${SYS,,}" == *"-rk35xx" ]]; then - # Pin to big cores on Rockchip Orange Pi 5 - CPU_PIN="4,5,6,7" +if [[ "$CPU" == "Cortex A53" ]] && [[ "$CORES" == "6" ]]; then + # Pin to performance cores on Rockchip Orange Pi 4 + [ -z "$CPU_PIN" ] && CPU_PIN="4,5" +fi + +if [[ "$CPU" == "Cortex A55" ]] && [[ "$CORES" == "8" ]]; then + # Pin to performance cores on Rockchip Orange Pi 5 + [ -z "$CPU_PIN" ] && CPU_PIN="4,5,6,7" fi if [[ "${ARCH,,}" != "arm64" ]]; then diff --git a/src/reset.sh b/src/reset.sh index b126873..b58ddbf 100644 --- a/src/reset.sh +++ b/src/reset.sh @@ -44,6 +44,7 @@ HOST=$(hostname -s) KERNEL=$(echo "$SYS" | cut -b 1) MINOR=$(echo "$SYS" | cut -d '.' -f2) ARCH=$(dpkg --print-architecture) +CORES=$(grep -c '^processor' /proc/cpuinfo) SOCKETS=$(lscpu | grep -m 1 -i 'socket(s)' | awk '{print $(2)}') CPU=$(lscpu | grep -m 1 -i 'model name' | cut -f 2 -d ":" | awk '{$1=$1}1' | sed 's# @.*##g' | sed s/"(R)"//g | sed 's/[^[:alnum:] ]\+/ /g' | sed 's/ */ /g')