1. linux驱动环境的搭建

版权声明:欢迎转载 https://blog.csdn.net/qq_33242956/article/details/88857336

该篇介绍一下环境的搭建和内核源码的下载编译

1. VM安装操作系统:ubuntu 16.04
直接百度,有很多教程可以参考

2. 下载内核源码
我是通过命令行来下载源码的,命令:

sudo apt install linux-source-4.15.0

默认下载的存储路径是/usr/src,可以下载不同版本的内核源码,可以通过按tab键来显示出来内核源码的下载列表,自行选择。
将下载好的源码 linux-source-4.15.0.tar.bz2 复制到准备存放源码的路径下,此时文件的所有者和文件组都是root,使用起来不是很方便,将其通过如下命令修改

#修改文件所属人为zss
sudo chown zss linux-source-4.15.0.tar.bz2
#修改文件所属组为zss
sudo chgrp zss linux-source-4.15.0.tar.bz2

修改完成之后解压缩

sudo tar -jxvf linux-source-4.15.0.tar.bz2

此时已经得到完整的内核的源代码
源代码目录结构
3. 编译环境准备
事实上开始准备编译的时候并不知道需要安装哪些环境,所以先直接编译起来再说
编译命令如下:

sudo make mrproper #第一编译的时候推荐一定执行此命令,用于删除所有编译生成文件
sudo make clean
sudo make menuconfig
sudo make

此段命令参考博客:
Linux内核–make mrproper与make clean的区别
配置内核(make menuconfig)详述
将自己写的驱动,通过make menuconfig 选项进行配置
因为我完全不知道我到底要干啥,就想先编译一下,打开配置文件之后看了看就退出了,使用的是默认的配置。在翻阅前人博客和处理报错后,环境配置总结为如下命令

sudo apt install libncurses5-dev libssl-dev
sudo apt install build-essential openssl 
sudo apt install zlibc minizip 
sudo apt install libidn11-dev libidn11

至此内核开始编译,电脑太烂开启无尽的等待吧。。。
此段参考博客:ubuntu16.04系统下的kernel 4.10的内核编译以及新增系统调用

猜你喜欢

转载自blog.csdn.net/qq_33242956/article/details/88857336