ubuntu环境下编译linux内核

安装步骤:

  1. 准备一台ubuntu服务器或者虚拟机
  2. 安装编译需要的软件并配置编译环境
  3. 进入官网下载stable版本linux(本次实验版本5.5.6)
  4. 配置需要编译的模块
  5. 安装内核
  6. 下载内核
  7. 删除内核

环境准备

实验系统Ubuntu Server 18.04.1 LTS 64位

基础配置4核 8GB 处理器型号(主频) Intel Xeon Skylake 6146(3.2 GHz)

#使用root权限
su - root

查看当前系统linux内核

dpkg --list | grep linux-image

ii linux-image-4.15.0-54-generic 4.15.0-54.58 amd64 Signed kernel image generic
ii linux-image-generic 4.15.0.54.56 amd64 Generic Linux kernel image

查看当前运行的内核

uname  -a

Linux VM-0-35-ubuntu 4.15.0-54-generic #58-Ubuntu SMP Mon Jun 24 10:55:24 UTC 2019 x86_64 x86_64 x86_64 GNU/Linux

安装依赖软件

sudo apt-get install libncurses5-dev libssl-dev -y

sudo apt-get install build-essential openssl -y

sudo apt-get install zlibc minizip -y

sudo apt-get install libidn11-dev libidn11 -y

sudo apt-get install bison -y

sudo apt-get install flex -y

sudo apt-get install libelf-dev -y

sudo apt-get install libelf-devel -y

sudo apt-get install elfutils-libelf-devel -y

sudo apt-get install flex -y

sudo apt-get install bison -y

下载内核

wget https://cdn.kernel.org/pub/linux/kernel/v5.x/linux-5.5.6.tar.xz

# 解压到/usr/src
tar -vxzf linux-5.5.6.tar.xz
mv linux-5.5.6/ /usr/src/
cd /usr/src/linux-5.5.6

配置Linux内核

配置编译选项开始编译安装内核

make mrproper

清空编译信息

make clean

make menuconfig

当前目录下执行

# 使用20个线程编译
make -j 20
# 生成相应的模块
make modules

# 将相应的模块拷贝到对应的目录下
time make modules_install install

# 该命令的作用是将.config,vmlinuz,initrd.img,System.map文件到/boot/目录、更新grub。默认启动新内核

查看当前安装的内核

dpkg --get-selections | grep linux

执行apt-get remove linux-image-**-generic

dpkg –get-selections|grep linux

有时候这个命令找不到刚才安装的内核

这个时候用一下方法

删除boot下面和要删除的内核版本相关的文件 rm –rf rm -f 3.19.8
删除/usr/src/目录下的内核源码
update-grub 更新grub

本文总阅读量