thanks again for the good details you provide, it helps!
here are more thoughts…
When the 18.01 image was created a certain version of the kernel was used, and the modules in the image correspond to that version (e.g. a commit in our kernel tree).
When you build an image with FAI today you are pulling the linux-image package from the Linaro debian overlay, which corresponds to our kernel branch today, so basically when you build with FAI today, you are not really rebuilding the same image as in 18.01 release.
so basically, i think your analysis is correct.
The commit ID for the kernel is recorded in the linux-image-xxx package version. Looking at the build log for 18.01:
Get:11 http://obs.linaro.org/linaro-overlay-buster/buster ./ linux-image-4.14.0-qcomlt-arm64 4.14.15-00139-g5511441d1b48-20 [13.3 MB]
and looking at your build log:
Get:110 http://obs.linaro.org/linaro-overlay-buster/buster ./ linux-image-4.14.0-qcomlt-arm64 4.14.69-00699-g64c00cd3213f-40 [14.6 MB]
they are clearly different.
if you make customization in the kernel, you probably need to either create a linux-image debian package for your kernel, or at least install/overlays the kernel modules that correspond to your custom kernel, like you said you did once.
Making a .deb package would be more work. The kernel makefile has a deb-pkg target that can possibly be used to create a .deb file for your own kernel, that would be something to explore, but it’s been some time since i haven’t tried that. if you manage to get a linux-image .deb file for your kernel you need to install it in your custom image, with FAI either using your own package archive or using some custom scripts.
It might be a good thing for us to document that… i think it is a very valid use case, to be honest… but as far as i know this is not documented.