Linux内核模块编译

Linux内核模块是一种可被动态加载和卸载的可执行程序。通过内核模块可以扩展内核功能,内核模块通常用于设备驱动、文件系统等。如果没有内核模块,需要向内核添加功能就需要自发代码、重新编译内核、安装新内核等步骤。

内核空间中不止一个程序试图访问驱动程序模块,导致一个内核块在没有被调用完毕之前又被其他程序调用,这称之炒代码的重入。因此在设计驱动模块的数据结构时要考虑数据结构在多线程环境下不被其他线程破坏,对于共享的数据应该采取加锁的方法保护。

可以把内核比喻成一个很长的火车,每个车厢就是一个内核模块,内核在运行这个火车就会一直在开动,但是我们想在火车开动的情况下增加新的车厢,这个时候就需要insmod,意思就是往这个长长的火车车厢增加一个内核模块。

 

  1. 下载当前版本的Linux源代码

#uname -a

你可能感兴趣的:(Linux,微信公众号:嵌入式linux)