View previous topic :: View next topic |
Author |
Message |
Logicien Veteran
Joined: 16 Sep 2005 Posts: 1555 Location: Montréal
|
Posted: Tue Sep 14, 2021 1:16 am Post subject: Clock skew detected. |
|
|
Hello,
I work with a Pi-Model-B-Rev-2 and I just come to install stage3 armv6 on it. I have almost resolv all difficulties including the clock skew who was spreading at bootime. I checked on Internet. Some says rc-update -u, other said to touch all the system files to up to date the access time of the files. Others again said to edit /lib/rc/sh/init.sh.
This problem is related to the fact that this Pi and others do not have an hardware clock. The save of the time at shutdown is older than the time of the files at boot time before Internet is up and Rc can set the system clock correctly using ntp-client. Something like that, I found a solution.
It is to configure the network as the first task of Rc and than call ntpdate so, the system time is always the newest. I did it manually at the head of /lib/rc/sh/init.sh and remove ntp-client swclock and hwclock and here net.eth0.
I disabled too net.ifnames=0 kernel parameter and the eth0 Udev rule to always use the kernel naming for my Ethernet card so, Rc always recognise the kernel name of the configuration I added to it. Here it is
Code: | #!/bin/sh
2 # Copyright (c) 1999-2007 Gentoo Foundation
3 # Copyright (c) 2007-2009 Roy Marples <roy@marples.name>
4 # Released under the 2-clause BSD license.
5
6 ip a add 111.111.111.111/11 dev eth0
7 ip l set dev eth0 up
8 ip r add default via 000.000.000.000 dev eth0
9 ntpdate -b 3.gentoo.pool.ntp.org
...
|
/etc/resolv.conf is fill with Dns servers ip adresses. No need to configure it manually more. Simple but it work when all other approchs I have found have fail. As you can see the Pi is not my gateway. It would work with a dhcp client or to connect to an access point. Ntpdate only need to receive the time from Internet. _________________ Paul |
|
Back to top |
|
|
mike155 Advocate
Joined: 17 Sep 2010 Posts: 4438 Location: Frankfurt, Germany
|
Posted: Tue Sep 14, 2021 8:20 pm Post subject: |
|
|
I completely fail to understand how this
Code: | ip a add 111.111.111.111/11 dev eth0 |
and this
Code: | ip r add default via 000.000.000.000 dev eth0 |
can work.
Seems to be some kind of Vodoo...? |
|
Back to top |
|
|
NeddySeagoon Administrator
Joined: 05 Jul 2003 Posts: 54586 Location: 56N 3W
|
Posted: Tue Sep 14, 2021 8:40 pm Post subject: |
|
|
Logicien
Remove hwclock from the startup sequence.
Add swclock in its place.
swclock only ensures that time is monotonic. It does not correct the time. That needs a network connection and ntp.
swclock saves the time at shutdown and restores it at startup. Its enough to avoid clock skew but not enough for make.
You can still get problems with generated files are older than source files, so you must set the time on every boot somehow.
If your Pi has an IP address that depends on NAT to get to the outside world, there is no need to obscure it as its not public. _________________ Regards,
NeddySeagoon
Computer users fall into two groups:-
those that do backups
those that have never had a hard drive fail. |
|
Back to top |
|
|
Logicien Veteran
Joined: 16 Sep 2005 Posts: 1555 Location: Montréal
|
Posted: Fri Sep 17, 2021 1:49 pm Post subject: |
|
|
Thank-you NeddySeagoon for the answer.
I can put back swclock. hwclock is already disabled. I must say that I have two ways to get Internet on my Pi, Ethernet and wireless. By Ethernet it work perfectly fine when Internet is available before rc start his task. The Pi do not have the direct connexion to Internet. This is at the head of /lib/rc/sh/init.sh as I explain before. I could use the dhcpcd service instead if I want to connect to my access point in wireless.
What I try to do is to have a full none X Gentoo on Armv6. If I have an higher processor, arvm7 or armv8 I will be able to use this Gentoo and eventually upgrade. This Pi-Model-B-Rev-2 work and compile well but at a slow speed. When came the time to format the root partition I choosed Ext4 by habitude but there is F2fs that this link say it have many advantages. Is this true?
I would like to increase the performances of my Pi. I give only 16 mg of ram to the video card, I have a swap partition of 1 gb, what else can I do to speed this Pi a bit?
mike155, the ip addresses I give are only dummy to not show the real ones to protect myself like many do even if I trust this site. _________________ Paul |
|
Back to top |
|
|
NeddySeagoon Administrator
Joined: 05 Jul 2003 Posts: 54586 Location: 56N 3W
|
Posted: Fri Sep 17, 2021 4:15 pm Post subject: |
|
|
Logicien,
You can cheat. There are three ways.
1. Use cross distcc, so that some other systems of any architecture you like, build your C and C++ code.
The Pi still does the preprocessing and linking.
2. Once you have a cross compiler, as you need for the above, try cross compiling binary packages for the Pi.
That will have miked success.
3. Use a QEMU build root. This allows you main Gentoo install to execute the arm6 code for the Pi.
Copy your Pi install to the QEMU build root and build binaries that you install on the Pi.
QEMU does software emulation of the arm CPU, which imposes a speed penalty but you start out with a faster CPU and more RAM, so its faster than the Pi.
With regards to filesystems and F2FS, that depends on what your SD card does by way of a FLASH translation layer.
It it does nothing, then F2FS will help SD card life. It the SD card does everything, then you have both hardware and software FLASH translation layers.
Its unlikely you will discover the internal workings of your SD cards. _________________ Regards,
NeddySeagoon
Computer users fall into two groups:-
those that do backups
those that have never had a hard drive fail. |
|
Back to top |
|
|
Logicien Veteran
Joined: 16 Sep 2005 Posts: 1555 Location: Montréal
|
Posted: Fri Sep 17, 2021 6:20 pm Post subject: |
|
|
Ok,
for the clock skew swclock never did the job of preventing this message. Only Ethernet fast IP configuration followed by an Ntp call on Internet on top of rc stop the message. I have try with dhcpcd on top of rc but I would need a sleep time before ntpdate to let dhcpcd receive and IP configuration from my wireless Access Point. So Ethernet instant IP config is faster and better.
For distcc I will check. I have to study on that. I have an ArchLinux aarch64 installation who run in qemu-system-aarch64. The system work without flaw. It support armv6 but with Gentoo armv6 in chroot it freeze. Maybe I need to use qemu-system-arm only instead. My Raspbian armv6 succeed to upgrade in chroot with ArchLinux aarch64 virtual host.
I think I am gone turn myself to distcc or continue to use this Pi at it's maximum cpu speed 1000 mhz giving the maximum memory of 512 mhz to the system keeping 16mhz to the video card. Time is relative when you don't depend on the Pi for everything. Days instead of hours can be acceptable than. _________________ Paul |
|
Back to top |
|
|
user Apprentice
Joined: 08 Feb 2004 Posts: 211
|
Posted: Wed Aug 16, 2023 12:07 pm Post subject: |
|
|
For devices without hardware clock openRC swclock init script runs too late.
Currently there is no early script run hook/support (runlevel sysinit is too late also).
Hence you must edit /lib/rc/sh/init.sh itself.
Assume openRC shutdown file /var/lib/misc/openrc-shutdowntime exist and resist on same filesystem.
Code: | --- a/lib/rc/sh/init.sh
+++ b/lib/rc/sh/init.sh
@@ -101,4 +101,6 @@
echo sysinit >"$RC_SVCDIR"/softlevel
[ -x /sbin/restorecon ] && /sbin/restorecon -rF /run
+# custom hack: early clock set on system without hardware clock
+/lib/rc/sbin/swclock /var/lib/misc/openrc-shutdowntime
exit 0 |
|
|
Back to top |
|
|
|