内核编译
环境配置
本文以16.04 Ubuntu版本为例
安装好Ubuntu系统,首先第一步进行源的更新
sudo vi /etc/apt/sources.list
替换阿里云的源
deb http://mirrors.aliyun.com/ubuntu/ xenial main restricted universe multiverse
deb http://mirrors.aliyun.com/ubuntu/ xenial-security main restricted universe multiverse
deb http://mirrors.aliyun.com/ubuntu/ xenial-updates main restricted universe multiverse
deb http://mirrors.aliyun.com/ubuntu/ xenial-backports main restricted universe multiverse
更新源
apt-get update
预装内核编译所需要的工具链
sudo apt-get install ncurses-dev
sudo apt-get install libssl-dev
~~问题提示~~
> 出现这个或者fatal error: openssl/名单.h: No such file or directory。都是没有安装libssl-dev~ libssl-dev包含libraries, header files and manpages,他是openssl的一部分,而openssl对ssl进行了实现~
解决方案: 使用sudo apt-get install libssl-dev来安装libssl-dev即可
> make menuconfig' requires the ncurses libraries.
git clone 最新的内核源码(速度快)
git clone https://github.com/torvalds/linux.git
下载时间比较慢,所以需要等待多点时间。注意这个源码的地址是在变更的,如果过了时间,建议是重新查找内核源码的下载地址
GitHub上面的linux内核的地址如下:
https://github.com/torvalds/linux
Linux编译命令的四大金刚:
make -j8 menuconfig
make -j8
make modules_install
make install
中间过程基本是漫长的等待,编译的速度和宿主机的运行速度有关。注意上面命令的-j8 表示的编译时候并发的线程数目。如果电脑配置好,可以适当的把数字变大。编译时间可以大大缩短。
注意:在menuconfig 用户可以自己选择自己需要的模块(module),可以选择编译模块的时候是编译进入内核(build-in)还是编译成那种可以自动加载模式(M)或者是不包含(N)。
下面分享几个简单工具
uname -sr
lsmod
这个命令可以查看当前系统的源码内核
交流可以直接回复评论