Ubuntu18.04内核编译裁剪

虚拟机Ubuntu18.04

1 准备工作

参考:https://www.aflyingfish.top/articles/8b2fc9bcfb88/

1.1 下载内核源码

地址:https://www.kernel.org/,我选的是linux-5.4

解压到任意目录。

1.2 安装依赖

sudo apt-get install gcc make libncurses5-dev openssl libssl-dev 
sudo apt-get install build-essential 
sudo apt-get install pkg-config
sudo apt-get install libc6-dev
sudo apt-get install bison
sudo apt-get install flex
sudo apt-get install libelf-dev
sudo apt-get install libidn11-dev libidn11
sudo apt-get install zlibc

2 裁剪并编译内核

参考:https://blog.csdn.net/u011124985/article/details/80453772

  • 进入下载的内核代码目录

  • 将config文件从boot中复制到刚下载的内核源码中,命名为.config

sudo cp /boot/config-xxx-generic .config
  • 编辑刚才复制的.config文件,将其中的CONFIG_SYSTEM_TRUSTED_KEYS=""内容清空。

  • 进入menuconfig菜单界面:

sudo make menuconfig
  • 为了测试内核裁剪,取消Networking support的选择,保存退出。

在这里插入图片描述

  • 编译内核:
sudo make -j8
sudo make modules_install
sudo make install
  • 重启虚拟机,开机时按住shift进入grub,选择第二个选项。

在这里插入图片描述

  • 选择你编译的内核版本,按回车进入:

在这里插入图片描述

  • 由于取消了network,发生了一些错误导致无法进入图形界面,不过本次测试旨在内核裁剪的方法,这些先不管。这也说明了不能随便裁剪。

在这里插入图片描述

清除上一次产生的编译中间文件:sudo make clean

Logo

华为开发者空间,是为全球开发者打造的专属开发空间,汇聚了华为优质开发资源及工具,致力于让每一位开发者拥有一台云主机,基于华为根生态开发、创新。

更多推荐