[lfs-dev] problem of bootscript setclock
dj at linuxfromscratch.org
Sun May 13 11:05:25 PDT 2012
On 05/13/2012 11:33 AM, Bryan Kadzban wrote:
> xinglp wrote:
>> Now, It is the job of udev to start /etc/init.d/setclock .
>> When I use initd-tools to install somethings else, it was installed
>> for depended.
> Is there a way in these newfangled headers to say that setclock is
> really an alias for udev? That's what's happening in the scripts, anyway...
>> And I THINK , ntpd and checkfs should not depend on $time.
> Not sure on ntpd (although I wouldn't be surprised if it was because
> ntpd refuses to do anything if the clock is far-enough off from what
> it's getting from the upstream servers).
> But checkfs does depend on the time. It checks whether the current time
> is before or after the last-full-fsck-time plus the days-between-mounts
> value stored in the ext3 (and probably 4, and perhaps 2) superblock. If
> it's after, then it forces a full fsck run.
> (It also checks whether the mount count stored in the superblock is more
> or less than the number-of-mounts-between-full-fsck-runs value in the
> superblock, and forces a full fsck if it's more. Of course, that
> doesn't depend on knowing the current time.)
> "tune2fs -t" will change the number of days between checks, and "tune2fs
> -c" will change the number of mounts. "tune2fs -T<timestamp>" will set
> the last-checked time (can be done live), and "tune2fs -C<integer>"
> will set the current mount count (can also be done live).
> All that said, if there's no way in this extra-abstraction setup to
> express an alias, then we should change the other scripts to depend on
> udev instead of setclock.
After a quick review of the scripts, here is my take: a quick fix would
be to add $time to the provides of the udev script headers. That's
probably not exactly the right thing to do. The setclock script should
probably be renamed hwclock and provide hwclock (at shutdown). Scripts
that need a close time source (hwclock) should depend on udev for
startup. The RTC will always be available to the hwclock program on x86
or x86_64 even if /dev is not mounted (the same is not true of other
archs though). I believe there is a way to set the system time by way of
kernel config now too so that the udev rule could go...been a while
since I looked at it. $time should probably be provided by the ntpd
script, and then a $time dependency should never appear in any script
that is installed into the rcS.d/, rc1.d/, or rc2.d/ directories.
-- DJ Lucas
This message has been scanned for viruses and
dangerous content, and is believed to be clean.
More information about the lfs-dev