zoukankan      html  css  js  c++  java
  • CentOS5.8下编译安装3.X版本内核

    1.安装依赖包:

    [root@CentOS5 ~]# yum -y install wget make gcc perl ncurses-devel


    2.下载内核版本:

    [root@CentOS5 ~]# wget https://www.kernel.org/pub/linux/kernel/v3.x/linux-3.8.7.tar.gz


    3.移动内核到相应目录并解压:

    [root@CentOS5 ~]# mv linux-3.8.7.tar.gz /usr/src/

    [root@CentOS5 ~]#cd /usr/src

    [root@CentOS5 src]# tar -zxvf linux-3.8.7.tar.gz


    4.切换目录:

    [root@CentOS5 src]# cd linux-3.8.7


    5.清除环境变量:

    [root@CentOS5 linux-3.8.7]# make mrproper


    6.在菜单模式下选择需要编译的内核模块:

    [root@CentOS5 linux-3.8.7]# make menuconfig


    7.确保所有东西均保持最新状态:

    [root@CentOS5 linux-3.8.7]# make clean


    8.编辑.config:

    [root@CentOS5 linux-3.8.7]# vi .config

    添加如下内容:

    CONFIG_SYSFS_DEPRECATED_V2=y

    CONFIG_SYSFS_DEPRECATED=y

    保存退出;


    9.编辑hid-example.c:

    [root@CentOS5 linux-3.8.7]# vi /usr/src/linux-3.8.7/samples/hidraw/hid-example.c

    将13-15行的如下3行移动到33行以后:

         13 #include <linux/types.h>

         14 #include <linux/input.h>

         15 #include <linux/hidraw.h> 


         29 #include <sys/ioctl.h>

         30 #include <sys/types.h>

         31 #include <sys/stat.h>

         32 #include <fcntl.h>

         33 #include <unistd.h>


    10.编辑input.h:

    [root@CentOS5 linux-3.8.7]# vi /usr/include/linux/input.h

    line 647

    #define BUS_PCI                 0x01

    #define BUS_ISAPNP              0x02

    #define BUS_USB                 0x03

    #define BUS_HIL                 0x04

    #define BUS_BLUETOOTH           0x05

    /*以下一行为新增*/

    #define BUS_VIRTUAL             0x06 


    #define BUS_ISA                 0x10

    #define BUS_I8042               0x11

    #define BUS_XTKBD               0x12

    #define BUS_RS232               0x13

    #define BUS_GAMEPORT            0x14

    #define BUS_PARPORT             0x15

    #define BUS_AMIGA               0x16

    #define BUS_ADB                 0x17

    #define BUS_I2C                 0x18

    #define BUS_HOST                0x19

    #define BUS_GSC                 0x1A

    /*以下两行为新增*/

    #define BUS_ATARI               0x1B

    #define BUS_SPI                 0x1C


    11.生成新内核:

    [root@CentOS5 linux-3.8.7]# make bzImage


    12.编译内核模块:

    [root@CentOS5 linux-3.8.7]# make modules


    13.安装模块:

    [root@CentOS5 linux-3.8.7]# make modules_install


    14.安装:

    [root@CentOS5 linux-3.8.7]# make install


    15.重启:

    [root@CentOS5 linux-3.8.7]# reboot

    *****************************************************************

    其他:

    # make localmodconfig         精简内核,只编译lsmod加载的模块,用于精简kernel的配置。

    # make -jn bzImage           n表示用于编译内核主机的CPU核数,比如我的主机CPU是1颗2核,那么n=2,可提高编译速度。

    # make INSTALL_MOD_STRIP=1 modules_install     加上该参数可减小编译后模块的尺寸。

  • 相关阅读:
    Java多线程之“同步”
    50 道 Java 线程面试题(转载自牛客网)
    Ubuntu14.04搭建Caffe(仅CPU)
    【译】OkHttp3 拦截器(Interceptor)
    OkHttp3 使用详解
    JSP ---- 声明、表达式、脚本、注释
    dom解析和sax解析的区别及优缺点
    一个java源文件中为什么只能有一个public类。
    js传入参数为字符串问题
    java project中 xml文件路径问题
  • 原文地址:https://www.cnblogs.com/myiaas/p/4161371.html
Copyright © 2011-2022 走看看