zoukankan      html  css  js  c++  java
  • 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

  • 相关阅读:
    Java内存模型(JMM)
    线程安全问题的本质详解: 原子性、有序性、可见性
    Quartz实现分布式可动态配置的定时任务
    Java引用详解-StrongReference SoftReference WeakReference PhantomReference
    流行的报表生成工具-JXLS
    Java线程监控及中断
    IntelliJ IDEA 内存优化最佳实践
    Dapeng框架-开源高性能分布式微服务框架
    Scala实现Try with resources自动关闭IO
    Jvm启动,关闭及对应钩子
  • 原文地址:https://www.cnblogs.com/linkJ/p/7292111.html
Copyright © 2011-2022 走看看