From 8e4454ed4241ece4f71d3ee683dd62f13a2dd615 Mon Sep 17 00:00:00 2001 From: finn Date: Sat, 11 Apr 2026 12:55:44 -0700 Subject: [PATCH] auto hostname --- aptprimary.sh | 2 +- armb-not_logged_in_yet | 14 +------------- autohostname.sh | 39 +++++++++++++++++++++++++++++++++++++++ 3 files changed, 41 insertions(+), 14 deletions(-) create mode 100755 autohostname.sh diff --git a/aptprimary.sh b/aptprimary.sh index c6e0e28..e58ab09 100755 --- a/aptprimary.sh +++ b/aptprimary.sh @@ -2,6 +2,6 @@ # Need armbian-config? -apt install -y vim git +apt install -y vim apt install -y docker.io docker-cli docker-compose diff --git a/armb-not_logged_in_yet b/armb-not_logged_in_yet index 501139a..cca2b0c 100644 --- a/armb-not_logged_in_yet +++ b/armb-not_logged_in_yet @@ -5,12 +5,10 @@ PRESET_NET_CHANGE_DEFAULTS="1" PRESET_NET_ETHERNET_ENABLED="1" # Ignored due to WiFi ## WiFi PRESET_NET_WIFI_ENABLED="1" -#PRESET_NET_WIFI_SSID="[REDACTED]" PRESET_NET_WIFI_SSID="[REDACTED]" -#PRESET_NET_WIFI_KEY="[REDACTED]" PRESET_NET_WIFI_KEY="[REDACTED]" PRESET_NET_WIFI_COUNTRYCODE="US" -PRESET_CONNECT_WIRELESS="y" +PRESET_CONNECT_WIRELESS="n" ## Static IP PRESET_NET_USE_STATIC="0" PRESET_NET_STATIC_IP="192.168.0.100" @@ -33,13 +31,3 @@ PRESET_USER_PASSWORD="[REDACTED]" PRESET_USER_KEY="" PRESET_DEFAULT_REALNAME="Armbian user" PRESET_USER_SHELL="bash" - -# ========================================== -# Set the Hostname -# ========================================== -NEW_HOSTNAME="opi1" # <-- Replace with your desired hostname - -echo "Setting hostname to $NEW_HOSTNAME" -echo "$NEW_HOSTNAME" > /etc/hostname -hostname -b "$NEW_HOSTNAME" -sed -i "s/127.0.1.1.*/127.0.1.1\t$NEW_HOSTNAME/g" /etc/hosts diff --git a/autohostname.sh b/autohostname.sh new file mode 100755 index 0000000..160cb30 --- /dev/null +++ b/autohostname.sh @@ -0,0 +1,39 @@ +#!/usr/bin/env bash + +# Copy this along with .not_logged_in_yet to armbian root dir, then run after successful login + +# Refresh: extract MAC address of wlan0 +MAC=$(netplan status -f json | jq -r '.wlan0.macaddress') + +# Check that we actually got a MAC address +if [[ -z "$MAC" ]]; then + echo "Error: Could not retrieve MAC address from netplan." >&2 + exit 1 +fi + +echo "Detected MAC address: $MAC" + +# Assign cheese hostname based on MAC address +case "$MAC" in +38:9c:80:46:26:c8) # ← Replace with your first real MAC + HOSTNAME="brie" + ;; +68:f8:ea:22:e1:3d) # ← Replace with your second real MAC + HOSTNAME="gouda" + ;; +99:88:77:66:55:44) # ← Replace with your third real MAC + HOSTNAME="camembert" + ;; +*) + echo "Unknown MAC address: $MAC – hostname not changed." >&2 + exit 1 + ;; +esac + +echo "Setting hostname to: $HOSTNAME" +sudo hostnamectl set-hostname "$HOSTNAME" + +# Optional: also update /etc/hostname (hostnamectl usually does this, but to be safe) +echo "$HOSTNAME" | sudo tee /etc/hostname >/dev/null + +echo "Hostname changed. Reboot or start a new shell to see the change."