在Ubuntu 18.04 下编译Linux内核
一、下载内核
查看当前内核版本:
uname -a
前往https://www.kernel.org/ 下载内核,目前最新版本为5.0.2
二、解压
进入放置内核文件的目录,双击或者打开终端使用以下命令进行解压:
sudo tar -xavf linux-5.0.2.tar.xz
三、安装依赖
除了Ubuntu已经自带的工具之外,还需要安装:(可能因为版本不同,需要根据提示安装依赖)
sudo apt-get install build-essential
sudo apt-get install libelf-dev
sudo apt-get install libncurses-dev
sudo apt-get install flex
sudo apt-get install bison
四、开始编译
进入解压出来的目录:(按TAB可补全目录名称)
cd /linux-5.0.2/
使用现存内核的配置文件:(xxx
处使用TAB补全)
sudo cp /boot/config-xxx -r .config
应用现存配置文件:
sudo make oldconfig
仅安装已有module:
sudo make localmodconfig
配置其他编译选项
sudo make menuconfig
接着会出现以下界面,选择Exit退出,并选择Yes保存默认配置
然后输入以下指令开始编译,时间取决于电脑性能
sudo make
可使用sudo make -jx
来使用x线程进行并发编译
五、安装内核
返回上一级目录,然后将文件夹移动至src目录:
cd ..
sudo mv linux-5.0.2/ /usr/src/
移除modules来减小安装体积(可解决/boot
分区空间不足的情况):
cd /lib/modules/5.0.2/
find . -name *.ko -exec strip --strip-unneeded {} +
进入新目录:
cd /usr/src/linux-5.0.2/
安装modules:
sudo make modules_install
安装:
sudo make install
make install完成
可以看到
make install
完成后,自动更新了grub
六、检验成果
重启并检查内核版本:
sudo shutdown -r now
uname -r