前言
尝试构建内核源码数是因为编译DPDK时要用到内核源码树,为了能够编译DPDK我打算自己搭建一个编译环境。
笔者使用的是ubuntu系统构建内核源码树。
构建步骤如下:
1、确认系统中是否已经有源码包,进入/usr/src目录,ls -l命令查看,这个目录中没有源码包,只有头文件包
/home/zgh/图片/2020-04-02 08-29-09屏幕截图.png
2、查询相应的内核源码:
3、下载内核源码:
sudo apt-get install linux-source-5.3.0
4、解压内核源码:
sudo tar jxvf linux-source-5.3.0.tar.bz2
5、按照原来的kernel配置,配置kernel
sudo make oldconfig
在这一步中出现了如下问题:
解决:
sudo apt-get install flex
编译过程中可能还会出现其他问题,遇到问题时不要慌,将错误的地方复制出来,拿到百度的上去搜索,一般都能找到解决方法。
我们的原则就是编译时缺什么就安装什么。
这个步骤过程中还需要选择是否编译相关的驱动模块,可根据需求进行选择
6、执行sudo make,过程相当耗时,可以先去干别的事情
7、执行sudo make bzImage
注意:这里是bzImage不是bzlmage,第三个字母是大写的i而不是l
8、执行sudo make modules_install
执行结束后会在/lib/modules目录下生成/lib/modules/5.3.0-generic/,新目录下的build就是编译要用到的文件。至此,内核编译完成。