版权声明:欢迎转载 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的内核编译以及新增系统调用