On Fri, Jan 24, 2020 at 09:58:59PM +0200, Andy Shevchenko wrote: > When build on, for example, x86 using `make O=... -j64` the version > in the built kernel comes from include/generated/compile.h, which is: > > #define UTS_VERSION "#351 SMP Fri Jan 24 18:46:34 EET 2020" > > While at the end the x86 specific Makefile prints the contents of > the .version file: > > Kernel: arch/x86/boot/bzImage is ready (#352) > > Obviously the latter is not true. This happens because we first > check compile.h and update it and then generate new version, which is > incorrect flow: > > CHK include/generated/compile.h > UPD include/generated/compile.h > ... > GEN .version > > In order to fix this, move the version generation from link-vmlinux.sh > to scripts/version.sh and re-use it in init/Makefile. > > Additionally provide a unified way to get the current version of the build > and use this in few callers. This will respect the KBUILD_BUILD_VERSION > in case it's provided. Hmm... It looks like a mess in my build tree. I have to setup more experiments here. -- With Best Regards, Andy Shevchenko