From 3981d58bba4d4a39ec461b54c5ef9cf749b3dcea Mon Sep 17 00:00:00 2001 From: Igor Pecovnik Date: Wed, 19 Feb 2025 12:24:19 +0100 Subject: [PATCH] Raspberry Pi family: read motd board name from /proc/cpuinfo - also adjust hostname if they are Armbian defaults - drop rpi5b build config as they all run with one image --- config/boards/rpi4b.conf | 6 +++--- config/boards/rpi5b.csc | 7 ------- .../bsp/common/etc/update-motd.d/10-armbian-header | 5 +++++ .../bsp/common/usr/lib/armbian/armbian-firstrun | 13 +++++++++++++ 4 files changed, 21 insertions(+), 10 deletions(-) delete mode 100644 config/boards/rpi5b.csc diff --git a/config/boards/rpi4b.conf b/config/boards/rpi4b.conf index 33234554f..413765b86 100644 --- a/config/boards/rpi4b.conf +++ b/config/boards/rpi4b.conf @@ -1,7 +1,7 @@ -# Broadcom BCM2711 quad core 1-8Gb RAM SoC USB3 GBE USB-C WiFi/BT -declare -g BOARD_NAME="Raspberry Pi 4" +# All 64b Raspberry models from Broadcom BCM2837 - BCM271x quad core 1-16Gb RAM SoC USB3 GBE USB-C WiFi/BT +declare -g BOARD_NAME="Raspberry Pi" declare -g BOARDFAMILY="bcm2711" declare -g BOARD_MAINTAINER="PanderMusubi teknoid" -declare -g KERNEL_TARGET="legacy,current,edge" +declare -g KERNEL_TARGET="current,edge" declare -g ASOUND_STATE="asound.state.rpi" declare -g KERNEL_TEST_TARGET="current" diff --git a/config/boards/rpi5b.csc b/config/boards/rpi5b.csc deleted file mode 100644 index 0a9a1ae74..000000000 --- a/config/boards/rpi5b.csc +++ /dev/null @@ -1,7 +0,0 @@ -# Broadcom BCM2712 quad core 1-8Gb RAM SoC USB3 GBE USB-C WiFi/BT -declare -g BOARD_NAME="Raspberry Pi 5" -declare -g BOARDFAMILY="bcm2711" -declare -g BOARD_MAINTAINER="" -declare -g KERNEL_TARGET="current,edge" -declare -g KERNEL_TEST_TARGET="current" -declare -g ASOUND_STATE="asound.state.rpi" diff --git a/packages/bsp/common/etc/update-motd.d/10-armbian-header b/packages/bsp/common/etc/update-motd.d/10-armbian-header index b19b30e54..076b8131c 100755 --- a/packages/bsp/common/etc/update-motd.d/10-armbian-header +++ b/packages/bsp/common/etc/update-motd.d/10-armbian-header @@ -92,6 +92,11 @@ fi # Display software vendor logo echo -e "\e[1;91m$(figlet -f small " $VENDOR")\e[0m"; +# Read RPI model from cpuinfo +if [[ $BOARD == rpi4b ]]; then +BOARD_NAME=$(grep "Model" /proc/cpuinfo | sed -E 's/^Rev //; s/ Rev [0-9.]+$//' | cut -d":" -f2 | xargs) +fi + # Display version, board, and kernel version [[ $VERSION == *trunk* ]] && VERSION=$(echo -e $VERSION | cut -d"." -f1-2 | sed "s/\$/ rolling/") echo -e " \e[0;92mv${VERSION}\x1B[0m for $BOARD_NAME running Armbian Linux \e[0;92m${KERNELID^}\x1B[0m" diff --git a/packages/bsp/common/usr/lib/armbian/armbian-firstrun b/packages/bsp/common/usr/lib/armbian/armbian-firstrun index 360b264af..97fe5cdae 100755 --- a/packages/bsp/common/usr/lib/armbian/armbian-firstrun +++ b/packages/bsp/common/usr/lib/armbian/armbian-firstrun @@ -109,6 +109,19 @@ case "$1" in [[ "${LINUXFAMILY}" == meson64 ]] && set_fixed_mac [[ "${BOARD}" == nanopi-r6* ]] && set_fixed_mac + # adjust hostname for rpi's + if [[ "${BOARD}" == rpi4b && "$(cat /etc/hostname)" == rpi4b ]]; then + BOARD_NAME=$(grep "Model" /proc/cpuinfo | sed -E 's/^Rev //; s/ Rev [0-9.]+$//' | cut -d":" -f2 | xargs) + [[ "$BOARD_NAME" == *"Zero 2 W"* ]] && NEW_HOSTNAME="rpizero2w" + [[ "$BOARD_NAME" == *"Pi 5 Model B"* ]] && NEW_HOSTNAME="rpi5b" + [[ "$BOARD_NAME" == *"Pi 3 Model B"* ]] && NEW_HOSTNAME="rpi3b" + [[ "$BOARD_NAME" == *"Pi 400"* ]] && NEW_HOSTNAME="rpi400" + # Update /etc/hosts to reflect the new hostname + sed -i "s/$(hostname)/$NEW_HOSTNAME/g" /etc/hosts + # Change the hostname + hostnamectl set-hostname "$NEW_HOSTNAME" + fi + # Remove KDE Neon base files upgrade pin [[ -f /etc/apt/preferences.d/99-neon-base-files ]] && rm -f /etc/apt/preferences.d/99-neon-base-files