1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
|
#! /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
sed -i -e 's:^UTC="no":UTC="yes":' -e 's:^UTC=no:UTC=yes:' $root$utcfile
if [ -e "$root$adjtimefile" ]; then
sed -i -e 's:^LOCAL:UTC:' $root$adjtimefile
fi
UTC='--utc'
else
sed -i -e 's:^UTC="yes":UTC="no":' -e 's:^UTC=yes:UTC=no:' $root$utcfile
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
|