ubuntu20更换内核

首先,为什么要编译内核?

目的是进行内核配置,改变内核的默认选项,又或者是想更换内核。

一个系统可以安装多个内核,新内核不会覆盖旧内核,可以在grub中选择要运行的内核。

第一次使用ubuntu需要更改root密码,初始没有设置密码

sudo passwd

1.先使用wget命令下载内核压缩包,我下载的是4.4.4。

2.安装软件编译工具

apt-get install libncurses5-dev build-essential kernel-package

3.解压下载好的内核

一般内核文件都放在/usr/src

tar -zxvf linux-4.4.4.tar.gz -C /usr/src

第一次使用ubuntu还需要下载安装make、vim和gcc

4.配置内核

此时cd到解压的内核文件夹,清除曾经编译产生的旧文件,如果是第一次解压,可以不操作。

make mrproper

拷贝当前系统的config

cd /usr/src/linux-4.4.4
cp /boot/config-XX ./.config
make menuconfig

menuconfig是图形化配置程序,依次load,然后save,再退出。

5.编译内核

make

很可能产生错误,一个是error: code model kernel does not support PIC mode,需要将以下代码加入解压的linux内核文件中MakeFile文件的末尾。

KBUILD_CFLAGS += -fno-pic

一个是fatal error: openssl/opensslv.h: No such file or directory,ubuntu下用以下命令安装

apt-get install libssl-dev 
KBUILD_CFLAGS += -fno-stack-protector