40 lines
1.1 KiB
Bash
Executable File
40 lines
1.1 KiB
Bash
Executable File
#!/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."
|