Linux内核编译与安装

Linux内核编译与安装

1.编译环境

  • 虚拟机:VirtualBox
  • 操作系统:Ubuntu14.04.5
  • 内核版本:Linux4.5.0

2.Linux内核源码下载安装

      大家可以在下面的网址下载Linux内核的源码,这里我们选择的版本是Linux4.5.0

  • 下载网址:https://www.kernel.org ,下载linux-4.5.0.tar.bz2,将下载的源码放入/tmp目录下。

  • 解压该源码

       代码如下:

   $ cd /tmp     //进入源码存放目录 
   $ sudo tar jxvf linux-4.5.0.tar.bz2    //解压该源码

3.GUN工具链下载

  • 安装build-essential,gcc,g++,gdb和make

          打开Ubuntu的终端,输入命令:

    $ sudo apt-get install build-essential gcc g++ gdb make
  • 安装ncurses库

       (本来打算直接输入命令下载,但是显示找不到文件。所以我们选择从源码安装。)

        首先在ncurses官网 http://ftp.gnu.org/pub/gnu/ncurses/下载源码,这里选择的是下载5.9版本。

然后通过如下命令进行安装:

   $ cd ~/programs/ncurses  //进入解压后的ncurses目录
   $ ./configure
   $ make
   $ sudo make install

(在Ubuntu16.04.2系统下安装时,make会出错。换成Ubuntu14.04.5版本后成功安装。)

4.配置内核

准备工作完成后,就可以配置内核了,我们使用make menuconfig方式。

$ cd /tmp/linux-4.5.0
$ sudo make menuconfig

执行make menuconfig命令后,会出现一个字符界面,我们就可以在这个界面上对内核进行配置。 此处参考http://www.linuxidc.com/Linux/2016-04/129955.htm的方法。

5.编译内核

编译内核分为两步,分别是编译启动映像和编译模块。

  • 编译启动映像

用时20min左右

$ make bzImage

这里需要提前安装openssl和bc。

$ sudo apt-get install libssl-dev
$ sudo apt-get install bc
  • 编译模块

用时2.5h左右。

$ make modules

6.安装内核

安装过程较快,也是分为两步。先安装模块,再安装内核。

  • 安装模块

    $  make modules_install
    
  • 安装内核

    $  make install
    

7.更改启动grub

grub是管理Ubuntu系统启动的一个程序,编译好的内核要运行就需要修改对应的grub。

$ mkinitramfs 4.5.0 -o /boot/initrd.img-4.5.0
$ update-grub2

update-grub2命令会帮我们自动修改grub

此时执行命令

$ uname-a

可以看到内核版本已经被改成了4.5.0

参考: http://www.linuxidc.com/Linux/2016-04/129955.htm
http://www.blog.chinaunix.net/uid-24782829-id-3211008.html

原文地址:https://www.cnblogs.com/linkJ/p/7292111.html