71 lines
1.4 KiB
Bash
Executable File
71 lines
1.4 KiB
Bash
Executable File
#! /bin/sh
|
|
set -e
|
|
|
|
# Much of this is cloned-and-hacked from
|
|
# clock-setup/finish-install.d/10clock-setup.
|
|
|
|
. /usr/share/debconf/confmodule
|
|
|
|
if [ "$UBIQUITY_OEM_USER_CONFIG" ]; then
|
|
roots=/
|
|
else
|
|
roots='/ /target'
|
|
fi
|
|
|
|
if [ -f /etc/default/hwclock ]; then
|
|
utcfile=/etc/default/hwclock
|
|
else
|
|
utcfile=/etc/default/rcS
|
|
fi
|
|
adjtimefile=/etc/adjtime
|
|
|
|
db_get clock-setup/utc
|
|
for root in $roots; do
|
|
if [ "$RET" = true ]; then
|
|
if [ -e "$root$utcfile" ]; then
|
|
sed -i -e 's:^UTC="no":UTC="yes":' -e 's:^UTC=no:UTC=yes:' $root$utcfile
|
|
fi
|
|
if [ -e "$root$adjtimefile" ]; then
|
|
sed -i -e 's:^LOCAL:UTC:' $root$adjtimefile
|
|
fi
|
|
UTC='--utc'
|
|
else
|
|
if [ -e "$root$utcfile" ]; then
|
|
sed -i -e 's:^UTC="yes":UTC="no":' -e 's:^UTC=yes:UTC=no:' $root$utcfile
|
|
fi
|
|
if [ -e "$root$adjtimefile" ]; then
|
|
sed -i -e 's:^UTC:LOCAL:' $root$adjtimefile
|
|
fi
|
|
UTC='--localtime'
|
|
fi
|
|
done
|
|
|
|
# It isn't strictly necessary to set the hardware clock here, but we do it
|
|
# anyway in case the system crashes before being shut down.
|
|
# TODO: progress information?
|
|
|
|
log-output -t clock-setup hwclock --systohc --debug --noadjfile $UTC &
|
|
pid="$!"
|
|
count=0
|
|
|
|
stop_hwclock () {
|
|
kill $pid || return
|
|
sleep 1
|
|
if [ -e /proc/$pid ]; then
|
|
kill -9 $pid || return
|
|
fi
|
|
}
|
|
|
|
while sleep 1; do
|
|
if [ ! -e /proc/$pid ]; then
|
|
break
|
|
fi
|
|
count=$(expr $count + 1)
|
|
if [ "$count" = 30 ]; then
|
|
stop_hwclock
|
|
break
|
|
fi
|
|
done
|
|
|
|
exit 0
|