Can you help me to understand how kernels and kernel drivers are supported and updated?
For example, I have a custom board based on an imx6qsabresd reference platform, so I believe the first job of work is to add support for this to resin-fsl-arm.
Next, there are various customisations needed to the kernel to support display, custom hardware on the board. Currently these are built into the kernel although it may be possible in future to move elements out into device tree and kernel modules.
So am I correct in thinking that the resin kernel is the running kernel and no other kernel (e.g. in a docker container) would have any relevance to the running system?
Given this I believe I would need to ensure that the resin kernel was built with all appropriate support for the board platform.
Lastly, if we require driver modifications then presumably it is possible to deploy modified kernel modules within a container image which could then be insmodded into the kernel?
The kernel is presumably configured by default to generate keyed kernel modules for that kernel.
Currently I’m looking at a adopting a process where I generate an OS image for a board which can then be deployed directly to that board without Resin.io. Then modifying that image for use within a Resin.io container for deployment within Docker. Can you advise if it will be enough to adopt the same kernel revision for my OS image as that used by Docker, which would then mean that any kernel module driver changes made will be deployed and be insmoddable into the Resin.io image kernel? Or are there other issues to be considered here?