Distinction between internal and external kernel modules
Posted: Tue 08 Apr 2014, 20:17
Hi,
I'm currently going through the usual beginner "Hello World" type loadable kernel module tutorials.
What I'm unsure of is the distinction between this type of kernel module and what they encompass - which is described as out-of-tree - and in-tree modules which are also described as internal modules.
Am I right in thinking internal modules are the type compiled using obj-y in the Makefile and require re-compiling the kernel as opposed to the external which are compiled with obj-m and which are loadable and unloadable.
Also I'm unsure when the one would be used rather than the other.
e.g. in Puppy are the Device Drivers external and loaded at boot or are they compiled with the kernel?
I'm currently going through the usual beginner "Hello World" type loadable kernel module tutorials.
What I'm unsure of is the distinction between this type of kernel module and what they encompass - which is described as out-of-tree - and in-tree modules which are also described as internal modules.
Am I right in thinking internal modules are the type compiled using obj-y in the Makefile and require re-compiling the kernel as opposed to the external which are compiled with obj-m and which are loadable and unloadable.
Also I'm unsure when the one would be used rather than the other.
e.g. in Puppy are the Device Drivers external and loaded at boot or are they compiled with the kernel?