系统自带的内核树
有时,安装的系统已经自带了Linux内核树,足够用来编译驱动程序了。 自带的内核树通常位于
|
|
其中,系统内核版本可以用uname -r来查看
|
|
环境配置
初次配置内核树要先安装一些必要的环境
|
|
如果报错Error :: You must put some ‘source‘ URIs in your sources.list,请按照如下操作进行。 解决方法 输入下面三行即可。
|
|
除了上面的环境之外,还要安装这些
|
|
下载源码
|
|
这一步结束之后,会多出三个文件(可以删除),
|
|
以及一个文件夹(内核源码所在的文件夹)
|
|
(注:文件名称根据不同的系统版本会有所不同)
构建准备
(注:任何时候,运行命令时遇见了permission denied,只需要在命令开头加上sudo后重新运行即可) 进入linux-hwe-5.11-5.11.0文件夹,输入
|
|
什么都不用修改,直接关闭界面即可(方向键选择Exit然后回车,或者连续按两下Esc就能退出),在退出的时候会提示是否保存,按照提示保存一下,这样会在当前目录下生成一个.config文件(输入ls -a就能找到这个文件),保证稍后的make能够顺利执行。
构建内核
为了防止make中的make modules_install环节失败, 请先运行下面的命令
|
|
输入下面的命令开始构建(如遇见permission denied,在命令开头加上sudo后重新运行即可)
|
|
这里要狠狠地等一会儿,一般要一到数个小时。可以通过-j <最大并发任务数>命令,使用并发来提速。最大并发任务数一般可以是CPU数量的两倍。 注:通过使用make help进行查阅可以发现,在输入make时,会自动执行 1)make vmlinux(构建原始内核) 2)make bzImage(构建压缩的内核)和 3) make modules(单独构建模块化的驱动)这三个动作)
安装模块
最后,把模块安装到/lib/modules/$(uname -r)目录
|
|