aboutsummaryrefslogtreecommitdiffstats
path: root/hook/hostname
blob: a95d4285a6e9bd663ab3aa42c57fb768d77d8895 (plain) (blame)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
#!/bin/sh

run_latehook() {
	local newroot="/new_root/"

	/usr/bin/systemd-machine-id-setup --root="${newroot}"

	hostprefix="$(cat "${newroot}/etc/hostname")"

	if [[ -n "${hostname}" ]]; then
		msg ":: Setting hostname for main system to '${hostname}'..."
	elif [[ -e /sys/class/dmi/id/product_uuid ]]; then
		msg ":: Setting hostname from product uuid..."
		hostname="$(sha1sum < /sys/class/dmi/id/product_uuid | cut -c1-8)"
	else
		msg ":: Setting hostname to random string..."
		hostname="$(cut -d- -f1 < /proc/sys/kernel/random/boot_id)"
	fi

	echo -n "${hostprefix}-${hostname}" > "${newroot}/etc/hostname"
	sed -i "/^127.0.0.1/s/$/\t${hostprefix}-${hostname}/" "${newroot}/etc/hosts"
}