实验环境:Ubnuntu 64位(推荐使用14.04)+Xshell
Linux云服务器很好用的,用来编译内核性能也不错。本文介绍最基本的内核编译方法,为了方便,所有操作均在root用户下进行。
如果不是root用户可以使用su命令切换到root用户。
注:使用xshell的时候最好把这一项给关闭了(工具——选项——高级)
一、环境准备
1.准备linux源码和补丁,可以在官网(http://www.kernel.org)上下载,这里我们下载4.5版本。
不过阿里提供了http://mirrors.aliyun.com/,也可以在这里面下载,速度更快。下载镜像的命令如下:
cd /tmp wget http://mirrors.aliyun.com/linux-kernel/v4.x/linux-4.5.tar.xz wget http://mirrors.aliyun.com/linux-kernel/v4.x/patch-4.5.xz
2.准备安装需要的环境
首先需要执行apt-get update来更新软件源,然后安装需要的环境:
apt-get install kernel-package build-essential libncurses5-dev fakeroot
3.解压缩内核
把压缩包解压:
xz -d linux-4.5.tar.xz
解压后得到linux-4.5.tar,
运行tar –xvf linux-4.5.tar解压得到目录linux-4.5。
把内核目录linux-4.5和补丁patch-4.5.xz都复制到/usr/src,然后进入/usr/src
cp linux-4.5 /usr/src –rf cp patch-4.5.xz /usr/src cd /usr/src
二、准备编译
1.打内核补丁
xz -d patch-4.5.xz | patch -p1
执行后没有任何提示说明执行正确
2.编译配置
看以前的内核版本号,把里面的.config文件复制到linux-4.5文件夹中:
在上面的图片中,我的内核文件夹是linux-headers-3.13.0-32-generic,我需要将这个文件夹中的.config文件复制到linux-4.5目录中。
cp linux-headers-3.13.0-32-generic/.config linux-4.5/
cd linux-4.5
然后执行make menuconfig,
选择load→OK→Save→OK→EXIT→EXIT:
三、编译内核
编译内核有两步,比较耗时间:一般在1-3个小时左右可以完成。
1.编译启动映像
make bzImage -jN
在这里的N是你的CPU的核数*2,比如我是单核CPU,那么我应该执行make bzImage -j2指令;如果我是双核CPU,我应该执行make bzImage -j4。
如果嫌麻烦也可以直接运行make bzImage。
这里可能会出现两个错误:
fatal error: openssl/opensslv.h: No such file or directory
这是因为没有安装openssl的,需要先安装openssl: apt-get install libssl-dev
bc: not found。需要安装bc:apt-get install bc
安装对应依赖后再运行。
2.编译模块
make modules -jN 这里的N也跟上面是一样的
也可以直接运行 make modules。
四、安装内核
安装内核的过程就快的很多了,这跟你下了软件安装包 安装软件 是一个道理。
先安装模块
make modules_install
再安装内核
make install
五、更改启动grub
grub就是管理Ubuntu系统启动的一个程序,我们编译好的内核要运行就要修改对应的grub,其实很简单。
mkinitramfs 4.5.0 -o /boot/initrd.img-4.5.0 update-grub2
update-grub2命令会帮我们自动修改grub,
修改后的grub内容如下:可以看见内核版本已经被改成了4.5.0
现在内核已经编译好了,重启服务器,使用uname -a命令查看自己的系统版本:
系统版本已经是linux 4.5!
怎样在 Ubuntu 上安装 Linux Kernel 4.4 http://www.linuxidc.com/Linux/2016-01/127383.htm
Linux Kernel 4.2.2 编译安装教程 http://www.linuxidc.com/Linux/2015-10/123714.htm
Ubuntu 15.10 将使用 Linux Kernel 4.2 内核 http://www.linuxidc.com/Linux/2015-09/122826.htm
怎样在 CentOS 7 上安装 Kernel 4.0.2 http://www.linuxidc.com/Linux/2015-05/117574.htm
怎样在 CentOS 7 系统上安装Linux Kernel 4.0 http://www.linuxidc.com/Linux/2015-04/116461.htm
如何在Ubuntu/CentOS上安装Linux内核4.0 http://www.linuxidc.com/Linux/2015-04/116565.htm
如何在Ubuntu 13.10上安装Linux内核 3.12 http://www.linuxidc.com/Linux/2013-11/92930.htm
如何在Ubuntu 14.10,Ubuntu 14.04及其衍生版本安装 3.16.7 CKT2内核 http://www.linuxidc.com/Linux/2014-12/110189.htm
Linux Kernel 的详细介绍:请点这里
Linux Kernel 的下载地址:请点这里
本文永久更新链接地址:http://www.linuxidc.com/Linux/2016-04/129955.htm