auto hostname

This commit is contained in:
2026-04-11 12:55:44 -07:00
parent 275f41caa7
commit 8e4454ed42
3 changed files with 41 additions and 14 deletions

View File

@@ -2,6 +2,6 @@
# Need armbian-config? # Need armbian-config?
apt install -y vim git apt install -y vim
apt install -y docker.io docker-cli docker-compose apt install -y docker.io docker-cli docker-compose

View File

@@ -5,12 +5,10 @@ PRESET_NET_CHANGE_DEFAULTS="1"
PRESET_NET_ETHERNET_ENABLED="1" # Ignored due to WiFi PRESET_NET_ETHERNET_ENABLED="1" # Ignored due to WiFi
## WiFi ## WiFi
PRESET_NET_WIFI_ENABLED="1" PRESET_NET_WIFI_ENABLED="1"
#PRESET_NET_WIFI_SSID="[REDACTED]"
PRESET_NET_WIFI_SSID="[REDACTED]" PRESET_NET_WIFI_SSID="[REDACTED]"
#PRESET_NET_WIFI_KEY="[REDACTED]"
PRESET_NET_WIFI_KEY="[REDACTED]" PRESET_NET_WIFI_KEY="[REDACTED]"
PRESET_NET_WIFI_COUNTRYCODE="US" PRESET_NET_WIFI_COUNTRYCODE="US"
PRESET_CONNECT_WIRELESS="y" PRESET_CONNECT_WIRELESS="n"
## Static IP ## Static IP
PRESET_NET_USE_STATIC="0" PRESET_NET_USE_STATIC="0"
PRESET_NET_STATIC_IP="192.168.0.100" PRESET_NET_STATIC_IP="192.168.0.100"
@@ -33,13 +31,3 @@ PRESET_USER_PASSWORD="[REDACTED]"
PRESET_USER_KEY="" PRESET_USER_KEY=""
PRESET_DEFAULT_REALNAME="Armbian user" PRESET_DEFAULT_REALNAME="Armbian user"
PRESET_USER_SHELL="bash" 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

39
autohostname.sh Executable file
View File

@@ -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."