码迷,mamicode.com
首页 > 其他好文 > 详细

redhat server 5.3内核升极2.6.18 升级到 3.5 装systemtap 原创

时间:2015-09-22 01:20:04      阅读:433      评论:0      收藏:0      [点我收藏+]

标签:

1. 在 LINUX 3.5源代码目录下执行  yum install ncurses-devel     make menuconfig

 

2  打开内核跟踪事件,用于SYSTEMTAP跟踪

   kernel hacking --->tracers(new)--->enable uprobes-based dynamic events

   文件系统相关选项要打开

   技术分享

即为

CONFIG_SYSFS_DEPRECATED_V2=y

不这样设为出错,安装内核重起后就会出现如下状况

 mount: could not find filesystem ‘/dev/root’
 setuproot: moving /dev failed: No such file or directory
 setuproot: error mounting /proc: No such file or directory
 setuproot: error mounting /sys: No such file or directory
 switchroot: mount failed: No such file or directory

 

 

 3. 头文件出错

mples/hidraw/hid-example.c:35:26: error: linux/hidraw.h: No such file or directory
samples/hidraw/hid-example.c: In function ‘main’:
samples/hidraw/hid-example.c:50: error: storage size of ‘rpt_desc’ isn’t known
samples/hidraw/hid-example.c:51: error: storage size of ‘info’ isn’t known
samples/hidraw/hid-example.c:67: error: ‘HIDIOCGRDESCSIZE’ undeclared (first use in this function)
samples/hidraw/hid-example.c:67: error: (Each undeclared identifier is reported only once
samples/hidraw/hid-example.c:67: error: for each function it appears in.)
samples/hidraw/hid-example.c:75: error: ‘HIDIOCGRDESC’ undeclared (first use in this function)
samples/hidraw/hid-example.c:86: warning: implicit declaration of function ‘HIDIOCGRAWNAME’
samples/hidraw/hid-example.c:93: warning: implicit declaration of function ‘HIDIOCGRAWPHYS’
samples/hidraw/hid-example.c:100: error: ‘HIDIOCGRAWINFO’ undeclared (first use in this function)
samples/hidraw/hid-example.c:51: warning: unused variable ‘info’
samples/hidraw/hid-example.c:50: warning: unused variable ‘rpt_desc’
make[2]: *** [samples/hidraw/hid-example] Error 1
make[1]: *** [samples/hidraw] Error 2
make: *** [vmlinux] Error 2

处理方法:

 [root@localhost linux-3.5]# cp include/linux/hidraw.h /usr/include/linux/
 [root@localhost linux-3.5]# cp include/linux/hid.h /usr/include/linux/

vi  samples/hidraw/hid-example.c

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

/* Linux */
#include <linux/types.h>
#include <linux/input.h>
#include <linux/hidraw.h>

/* Unix */
#include <sys/ioctl.h>
#include <sys/types.h>
#include <sys/stat.h>
#include <fcntl.h>
#include <unistd.h>

/* C */
#include <stdio.h>
#include <string.h>
#include <stdlib.h>
#include <errno.h>

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

 4.确定参数设置 .config

[root@localhost linux-3.5]# cat .config | grep CONFIG_DEBUG_INFO 
CONFIG_DEBUG_INFO=y
[root@localhost linux-3.5]# cat .config | grep CONFIG_KPROBES 
CONFIG_KPROBES=y
[root@localhost linux-3.5]# cat .config | grep CONFIG_RELAY 
CONFIG_RELAY=y
[root@localhost linux-3.5]# cat .config | grep CONFIG_DEBUG_FS 
CONFIG_DEBUG_FS=y
[root@localhost linux-3.5]# cat .config | grep CONFIG_MODULES 
CONFIG_MODULES=y
[root@localhost linux-3.5]# cat .config | grep CONFIG_MODULE_UNLOAD 
CONFIG_MODULE_UNLOAD=y

[root@localhost linux-3.5]#cat .config | grep CONFIG_UTRACE      (linux 3.5 没有这个选项)
CONFIG_UTRACE=y

[root@localhost linux-3.5]#cat .config | grep CONFIG_SYSFS_DEPRECATED_V2

CONFIG_SYSFS_DEPRECATED_V2=y

 5.make CONFIG_DEBUG_SECTION_MISMATCH=y         编绎内核

  故障问题:
  编译内核时出现“make CONFIG_DEBUG_SECTION_MISMATCH=y” 错误提示:
   root@localhost linux-3.5]#make modules
   CHK     include/linux/version.h
   CHK     include/generated/utsrelease.h
   CALL    scripts/checksyscalls.sh
   Building modules, stage 2.
   MODPOST 1106 modules
   WARNING: modpost: Found 2 section mismatch(es).
   To see full details build your kernel with:
   ‘make CONFIG_DEBUG_SECTION_MISMATCH=y‘
   排错记录:
   编辑.config文件,加入:CONFIG_DEBUG_SECTION_MISMATCH=y重新编译,还是出错,于是直接

    make CONFIG_DEBUG_SECTION_MISMATCH=y编译成功。
    root@localhost linux-3.5]#make CONFIG_DEBUG_SECTION_MISMATCH=y

 

6.make  modules_install

7.make install

8.make headers_install

 

 

redhat server 5.3内核升极2.6.18 升级到 3.5 装systemtap 原创

标签:

原文地址:http://www.cnblogs.com/zengkefu/p/4827723.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!