Jump to content

Jean-Christian de Rivaz

Members
  • Posts

    4
  • Joined

  • Last visited

  1. Many thanks Igor for your implementation. While I use armbian images since almost 2 years now, I am new to the armbian internals. I found a bit strange that the fix need to be ported to every single targets. Is that a design choice ?
  2. I use this procedure to reproduce the issue: systemctl stop ntp dats -s "2017-07-25T12:34:27+00:00" cd /usr/src/linux-headers-4.14.52-sunxi/ make scripts This result into make doing an infinite loop while complaining about files that has modification time in the future. Then I tried to use this command to fix the issue: find scripts/ -type f -exec touch {} \; This reduce the number of complains but still cause an infinite loop. I also tried to touch only make related files, without more success. Actually the generic way to solve the issue is this command: find -type f -exec touch {} \; This fix the infinite loop, even if a few complains remains about some files outside of the actual directory. But this is very slow, especially on my low power Orange Pi Zero that is purposely running at the fixed very low 240 MHz processor frequency (USB powered with a lot of sensors). But I have found that the following command both solve the issue and is very fast: find -type f -exec touch {} + The execution time go from 311 seconds to only 4.5 seconds, about 70 time faster ! So I suggest to add this command into the linux-headers package postinst script, just before calling the 'make -s scripts'.
  3. Why not doing the 'make scripts' while creating the package on the host instead of doing it while executing the postinst on the target ? Could be the cleanest way to solve this issue. I mean, Debian linux-headers package don't do a 'make scripts' unless something explicitly tell to do this in a /etc/kernel/header_postinst.d/ file, so what's the initial goal of this extra operation on Armbian ?
  4. I have found that the cause of the endless "Compiling headers - please wait ..." message was that the 'make scripts' into the kernel headers directory (/usr/src/linux-header-<version>/) from the postinst package script detect clock skew and files with modification time in the future causing the redo of the target forever. This happen to me because I installed the kernel-headers package on a target that don't have a way to correctly set his real time clock and so has a real time in the past. The simplest way to fix this is to set a correct date on the target with the command 'date -s "<iso-8601-date>"', where the <iso-8601-date> is replaced by the output of the command 'date -Is' on a machine with a correct date. For example: On my workstation, 'date -Is' returns 2018-07-25T04:06:50+02:00, so on the target I use the command 'date -s "2018-07-25T04:06:50+02:00"' before installing the kernel-headers package. I also found that a 'find -exec touch {} \;' into the kernel headers directory also fix the issue.
×
×
  • Create New...

Important Information

Terms of Use - Privacy Policy - Guidelines