ref: 2e1b258ad16da7bb825a70038eb91564fdf33a8d
parent: ace78b7225286039bf89aaae86a02b653a8ef64d
author: Carlo Landmeter <clandmeter@alpinelinux.org>
date: Thu Jun 28 14:14:20 CDT 2018
init: use swclock when no rtc is found
--- a/initramfs-init.in
+++ b/initramfs-init.in
@@ -269,6 +269,14 @@
[ "$n" != 0 ] || return 1
}
+rtc_exists() {
+ local rtc=
+ for rtc in /dev/rtc /dev/rtc[0-9]*; do
+ [ -e "$rtc" ] && break
+ done
+ [ -e "$rtc" ]
+}
+
# read the kernel options. we need surve things like:
# acpi_osi="!Windows 2006" xen-pciback.hide=(01:00.0)
set -- $(cat /proc/cmdline)
@@ -541,7 +549,6 @@
rc_add hwdrivers sysinit
rc_add modloop sysinit
- rc_add hwclock boot
rc_add modules boot
rc_add sysctl boot
rc_add hostname boot
@@ -640,6 +647,13 @@
if [ -n "$KOPT_ssh_key" ]; then
pkgs="$pkgs openssh"
rc_add sshd default
+fi
+
+# use swclock if no RTC is found
+if rtc_exists; then
+ rc_add hwclock boot
+else
+ rc_add swclock boot
fi
apkflags="--initramfs-diskless-boot --progress"