diff options
Diffstat (limited to 'recipes-core/set-hostname/files')
-rw-r--r-- | recipes-core/set-hostname/files/set-hostname.service | 13 | ||||
-rw-r--r-- | recipes-core/set-hostname/files/sethostname | 19 |
2 files changed, 32 insertions, 0 deletions
diff --git a/recipes-core/set-hostname/files/set-hostname.service b/recipes-core/set-hostname/files/set-hostname.service new file mode 100644 index 0000000..306528b --- /dev/null +++ b/recipes-core/set-hostname/files/set-hostname.service @@ -0,0 +1,13 @@ +[Unit] +ConditionPathExists=|!/etc/hostname +Wants=network-pre.target +Before=network-pre.target +After=local-fs.target +After=sys-subsystem-net-devices-eth0.device + +[Service] +Type=oneshot +ExecStart=/usr/bin/sethostname + +[Install] +WantedBy=network.target diff --git a/recipes-core/set-hostname/files/sethostname b/recipes-core/set-hostname/files/sethostname new file mode 100644 index 0000000..87e6320 --- /dev/null +++ b/recipes-core/set-hostname/files/sethostname @@ -0,0 +1,19 @@ +#!/bin/sh +if [ ! -f /proc/device-tree/serial-number ]; then + serial="recovery-mode" +else + serial=$(tr -d '\0' </proc/device-tree/serial-number) + + #if serial number is empty we append no-serial-number string + if [ -z "$serial" -a "$serial" != " " ]; then + serial="no-serial-number" + fi +fi + +hostname=@@MACHINE@@"-"${serial} + +if [ -f /usr/bin/hostnamectl ]; then + /usr/bin/hostnamectl set-hostname ${hostname} +else + hostname ${hostname} +fi |