[lfs-dev] problem of bootscript setclock

DJ Lucas 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 mailing list