首先的首先,如果用的是虚拟机,那硬盘至少要分个40G,

硬盘太小的后果,你可以试试。。。

一、下载内核

首先到kernel官网获取linux源代码包。

我用的ubuntu版本是16.04

因此下载的包可以采用4.x


zynq 内核镜像文件_linux 换cpu 重新编译

如果从官网下载速度过慢(我这下载需要两个多小时,还经常掉线),可以找找国内的镜像站。

以下是北京大学镜像站的资源,可以选择4.20进行下载

Index of /kernel/linux/kernel/v4.x/


zynq 内核镜像文件_ubuntu_02

下载完成后,依次进行如下步骤:

1、打开终端,输入sudo –s切换到root账户

2、cd到下载的目录后,输入mv linux-4.20.tar.xz /usr/src,把下载的内核源代码文件移到/usr/src目录。

3、输入cd /usr/src,切换到该目录下

4、输入tar xvJf linux-4.20.tar.xz,解压内核包

5、输入cd linux-4.20,切换到解压后目录下


zynq 内核镜像文件_依赖包_03

以上,下载内核完成。

二、下载依赖包

只有源码文件无法完成编译,我们还需要依赖包。

国外下载速度比狗爬还慢,我们需要换源

1、首先,备份现有源

sudo cp /etc/apt/sources.list /etc/apt/sources.list.bak1

2、接着,打开源列表

sudo gedit /etc/apt/sources.list

3、然后修改文件内容为:

deb https://mirrors.tuna.tsinghua.edu.cn/ubuntu/ xenial main restricted universe multiverse

deb https://mirrors.tuna.tsinghua.edu.cn/ubuntu/ xenial-updates mainrestricted universe multiverse

deb https://mirrors.tuna.tsinghua.edu.cn/ubuntu/ xenial-backports main restricted universe multiverse

deb https://mirrors.tuna.tsinghua.edu.cn/ubuntu/ xenial-security main restricted universe multiverse

完成之后,保存退出

4、更新源与软件

sudo apt-get update

sudo apt-get upgrade

5、安装依赖包

sudo apt-get install libncurses5-dev libssl-dev

sudo apt-get install build-essential openssl

sudo apt-get install zlibc minizip

sudo apt-get install libidn11-dev libidn11

完成效果如图所示


zynq 内核镜像文件_ubuntu_04

三、编译内核

依次执行如下命令:

sudo make mrproper

sudo make clean

sudo make menuconfig

zynq 内核镜像文件_依赖包_05

接着,我们就可以进行内核配置

zynq 内核镜像文件_依赖包_06

直接退出,保存默认设置即可

这里我输了最后一条命令时,弹出了127号和2号错误,这里安装bison和flex两个依赖包就行了。安好后就可以弹出上面的窗口了

配置好之后,先使用lscpu查看cpu支持的线程数

这里我的电脑只有1个线程。。。

之后输入sudo make –j1命令,

使用1个线程进行编译

zynq 内核镜像文件_ubuntu_07

编译速度根据线程数而定,像我就用了两个多小时,8线程的二十几分钟就能搞定。

四、安装内核

编译完成后输入:

sudo make modules_install

安装内核模块


zynq 内核镜像文件_linux_08

输入:

sudo make install

安装内核

zynq 内核镜像文件_linux 换cpu 重新编译_09

大功告成。

五、加载内核

安装完成后对内核进行加载

加载完成后,在控制台输入:

uname -r

查看内核版本,可见,linux已经换上了新的内核


zynq 内核镜像文件_linux 换cpu 重新编译_10

reference:

在Ubuntu16.04LTS下编译Linux-4.15.7内核

最全最详细:ubuntu16.04下linux内核编译升级更新

ubuntu的apt-get换清华源

步骤不复杂,实际操作还是挺累人的,尤其是中途出了一堆莫名其妙的错误