Linux驱动开发-01-安装内核源码并使用新的内核镜像

1. 说明

要想编译驱动,需要有内核源码环境,这样可以生成ko文件,但是安装模块可能会失败,因为当前系统的内核也需要使用对应的内核版本。所以需要先现在内核源码,编译后生成内核镜像让当前系统使用。

2. 下载源码

下载源码有很多种方法,随便选择一种即可。

方法1:命令安装
sudo apt install linux-source

说明:该命令会安装与当前系统内核版本一致的内核源码最新版,下载后目录在/usr/src下,参考下面图片。

方法2:网上下载源码

linux 官方网站
注意:tarball:完整的代码 pgp:验证签名 patch:基于上一个版本的补丁

上海交通大学FTP服务器

命令下载后如图

注意bz2的压缩文件只是个源码的的一个链接。
命令行下载的源码

3. 编译和安装

修改配置文件
sudo cp /boot/config-4.4.0-21-generic  .config
sudo make menuconfig (保存退出)

可以vi .config 看下还是之前的不是。

编译和安装

相当于make bzImage加make modules

sudo make -j12  
sudo make modules  // 生成模块
sudo make modules_install // 安装模块
sudo make install // 安装并使用内核

上面完成后重启,可以使用uname -a 查看内核信息,如图
使用新生成的内核启动系统

结束

至此,linux内核源码环境配置完毕。下一步可以编写驱动和安装驱动了。

更多

make oldconfig和make menuconfig会将原来的.config文件保存为.config.old文件,make oldconfig将基于.config.old进行配置。make menuconfig则基于.config配置。使用make oldconfig时会对新的特性或者选项进行询问。

如果重新新编译的话使用make clean 和 make mrproper。make clean会清除生成文件但保留.config文件,make mrproper会清除配置文件和生成文件。
help:
@echo ‘Cleaning targets:’
@echo ’ clean - Remove most generated files but keep the config and’
@echo ’ enough build support to build external modules’
@echo ’ mrproper - Remove all generated files + config + various backup files’
@echo ’ distclean - mrproper + remove editor backup and patch files’

  • 0
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值