Hi,
Mark Purcell hat am Sat 16. May, 14:57 (+1000) geschrieben:
> This is a common problem on powerpc ibook's once the NVRAM battery goes flat.
>
> Apparently this has been discussed with upstream:
> https://bugs.launchpad.net/ubuntu/+source/gnome-session/+bug/23426/comments/18
>
> Mark
>
>
> This patch is a quick hack, but you get the idea:
>
> --- hwclockfirst.sh.orig 2009-05-16 14:26:54.000000000 +1000
> +++ hwclockfirst.sh 2009-05-16 14:23:11.000000000 +1000
> @@ -38,6 +38,12 @@
> . /lib/lsb/init-functions
> verbose_log_action_msg() { [ "$VERBOSE" = no ] || log_action_msg "$@"; }
>
> + if `/sbin/hwclock | /bin/grep -q 1904`; then
> + log_warning_msg "NVRAM Battery Clock flat (date 1904)"
> + log_action_msg "Setting hwclock date to 2009-5-16"
> + hwclock --set --date 2009-5-16
> + fi
> +
I would much more prefer to get prompted for the correct time, because
with a wrong time fsck fail due to the last fsck is in the future. But I
don't know how to do prompting in init scripts correctly.
And to guess if the hardware clock is wrong I think we can look at the
installation time of the module directory of the kernel.
/boot/vmlinux-$(uname -r) is possible, too.
I propose this patch:
--- /etc/init.d/hwclockfirst.sh 2009-04-18 01:03:46.000000000 +0200
+++ hwclockfirst.sh 2009-05-16 17:52:48.675695938 +0200
@@ -73,7 +73,17 @@
NOADJ=""
fi
- if [ "$FIRST" != yes ]; then
+ if [ "$FIRST" = yes ]; then
+ date_of_mod_dir=$(stat --format=%X /lib/modules/"$(uname -a)")
+ date_of_hwclock=$(date --date="$(hwclock --show $GMT \
+ $HWCLOCKPARS $BADYEAR)" +%s)
+ if [ "$date_of_hwclock" -lt "$date_of_mod_dir" ]; then
+ log_begin_msg 'Please provide the current time as "yyyymmdd hhmm": '
+ read time && \
+ test -n "$time" && \
+ hwclock --set --date="$time" $GMT $HWCLOCKPARS $NOADJ
+ fi
+ else
# Uncomment the hwclock --adjust line below if you want
# hwclock to try to correct systematic drift errors in the
# Hardware Clock.
Bye, Jörg.
--
Manchmal denke ich, das sicherste Indiz dafür, daß anderswo im Universum
intelligentes Leben existiert, ist, daß niemand versucht hat, mit uns
Kontakt aufzunehmen. (Calvin und Hobbes)
Attachment:
signature.asc
Description: Digital signature http://en.wikipedia.org/wiki/OpenPGP