linux内核编译和安装
1.下载内核源码
2 . 解压缩内核源码
tar vxf xxxx.tar.xz
3. 图形化界面配置需要编译的模块
sudo make menuconfig
然后看会不会报错,如果缺库就安装上sudo apt install xxx
先sudo apt-get update
Sudo apt install ncurses-dev
(Centos:yum install ncurses-devel)
sudo apt-get install libssl-dev
(Centos: yum install elfutils-libelf-devel)
yum install openssl*
如果ubuntu下安装libssl-dev出错,可以用aptitude install libssl-dev进行安装
参考:https://blog.csdn.net/Wang20122013/article/details/124836398?spm=1001.2014.3001.5502
如果执行sudo make menuconfig报lexer.lex.c错误的话需要执行以下操作
sudo apt-get install bison
sudo apt-get install flex
可以通过 vi .config来查看配置信息
4. 编译
4.1 安装htop查看cpu线程个数
sudo apt-get install htop
然后输入htop
可以图中看到是4个cpu,这个时候我们就可以用多线程进行编译
4.2 编译
sudo make -j4 //j4表示是4个线程的意思,这个值和htop中的cpu核心数一致就行
- 全新编译的话
i3 4代cpu 编译50分钟左右
i5 7代cpu 编译25分钟左右
AMD 3600 (6核心12线程),驱动放到850 EVO ssd上编译10分钟可以编译完毕。 - 如果第二次只是修改了一部分代码再编译那么很快的,1分钟左右。
- 如果只编译模块可以
make modules M=drivers/scsi/xxx
5 安装
sudo make modules_install //安装模块
sudo make install //安装内核
sudo reboot //重启
sudo uname -a //查看系统信息是否更新
如果想安装到指定目录可以用
安装内核到指定目录:
make INSTALL_PATH=../root install
安装内核模块到指定目录
make INSTALL_MOD_PATH=../root modules_install