作者:静静静静静静妹儿_ | 来源:互联网 | 2017-06-15 07:02
1.安装依赖包:[root@CentOS5~]#yum-yinstallwgetmakegccperlncurses-devel2.下载内核版本:[root@CentOS5~]#wgethttps://www.ke
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
14 #include
15 #include
29 #include
30 #include
31 #include
32 #include
33 #include
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 加上该参数可减小编译后模块的尺寸。