在刚开始学习linux设备驱动时,我们写驱动文件时可能并不会把他们加入到Kconfig的树中,而是直接编译产生.ko文件后,在开发板上运行insmod xxx.ko
,此时虽然安装模块成功了,但是会提示loading out-of-tree module taints kernel
。
英文的意思是:加载的树外模块污染了内核。从这段描述可以猜到,这是我们没有把此驱动模块加入到Kconfig树导致的,即make menuconfig的配置选项中没有此驱动。此时这个驱动模块仍能正确加载和使用。如果我们只是学习怎么写驱动,不用管他就行;如果我们是正式地写驱动,那么把驱动信息加入到Kconfig树中是必须的,这样我们可以通过配置内核来决定哪些加载驱动,系统也不会再报loading out-of-tree module taints kernel
的错误了。
如何把驱动信息加入到Kconfig树中见我另一篇博客《向Linux Kconfig树中添加驱动配置信息》。