河西无名式

月影星痕

内核符号表详解——如何在module中利用内核符号

前言:在内核开发中,有时候我们必须检查某些内核状态,或者我们想冲用某些内核功能,我们需要得到(read,write,exe)内核符号。本文主要为你介绍内核如何保存这些符号表,我们怎样应用这些内核符号表。本文仅仅是阅读内核源码的一个guide,通过阅读内核源码,我们将有更深入的理解。

2013-07-24 10:41:41

阅读数:8074

评论数:4

linux 内核头文件 linux kernel header

概述:在进行有关系统软件的安装的时候(编译一个新的驱动,或者安装一个系统级别的测试工具,例如systemtap),经常需要重新编译内核,相应的问题往往与内核头文件有关。那么,什么是内核头文件,为什么需要更新内核头文件?内核头文件作用是什么,如何更新?本文主要为你解答这些疑问。

2013-07-20 14:50:40

阅读数:10400

评论数:1

linux 内核编译实战——内核编译错误汇总

摘要:在进行linux内核开发中,编译内核是一项基本技能。在这项技能中,可以说,无法启动内核的时候,也是我们能够学习最多的时候。本文主要总结linux内核编译过程中出现的各种错误和解决方法。既有针对原生态的内核,也有针对发行版的内核。

2013-12-01 22:06:39

阅读数:3029

评论数:0

内核分支优化宏likely与unlikely 与 __read_mostly

分支声明 对于条件选择语句,gcc内建了一条指令用于优化,在一个条件经常出现,或者该条件很少出现的时候,编译器可以根据这条指令对条件分支选择进行优化。内核把这条指令封装成了宏,比如likely()和unlikely(),这样使用起来比较方便。 例如,下面是一个条件选择语句: if (foo) { ...

2013-10-25 16:08:02

阅读数:1493

评论数:0

利用ftrace跟踪内核static tracepoint——实例writeback event

和很多linux内核子系统一样,static tracepoint有很多层次,其中某个层次都展示给不同层次的开发者来满足他们的不同需求。关于linux tracepoint的详细信息,我们可以在linux内核文档Documentation/trace/tracepoints.txt和 sample...

2013-08-23 15:05:58

阅读数:6573

评论数:0

mmtests使用简介

1.简介 mmtests是一个可配置的测试套件,可以被MM开发者用来进行一个常规测试。理想情况下,它可以与LTP,xfstests等测试工具结合起来实现自动化测试。 2.软件组织 run-mmtests.sh脚本用于运行测试,这个脚本会读取config文件,脚本接受一个参数,通常情况下...

2013-08-06 23:08:28

阅读数:1629

评论数:0

如何在ubuntu上基于自定义内核安装systemtap

摘要:在进行内核中相关测试的时候,往往要用到systemtap,而这个软件依赖于内核符号表/调试信息/内核头文件等等,如果我们想测试最新的内核特性,就需要安装带有debuginfo的内核和相关头文件。本文主要讲解了ubuntu上如果在自己编译的内核下安装使用systemtap。

2013-08-01 10:04:50

阅读数:2137

评论数:0

linux 内核编译:内核配置原理与常见配置问题的解决方法&&内核版本控制解析

摘要:在进行内核编译的时候,内核配置无疑是其中最为重要的环节,直接决定了编译的内核是否能够满足要求。而且,对于新加入的内核特性,我们往往无法在make menuconfig中找到相应的选项。本文主要为你解决如下问题:1)linux内核编译之前,配置文件的读取顺序是什么?2)对于比较新的内核特性,我...

2013-07-31 10:37:48

阅读数:6287

评论数:0

vmlinux,vmlinuz,bzimage,zimage,initrd.img的区别与联系

1.vmlinux     vmlinux是未压缩的内核,vmlinux 是ELF文件,即编译出来的最原始的文件。用于kernel-debug,产生system.map符号表,不能用于直接加载,不可以作为启动内核。只是启动过程中的中间媒体。vmlinux.bin:The same as vmli...

2013-07-24 12:49:34

阅读数:2250

评论数:0

内核符号表与system.map

System.map是一个特定内核的内核符号表。它是你当前运行的内核的System.map的链接。 内核符号表是怎么创建的呢?System.map是由“nmvmlinux”产生并且不相关的符号被滤出。 对于本文中的例子,编译内核时,System.map创建在/usr/src/linux-2.4...

2013-07-24 10:59:55

阅读数:2099

评论数:0

Linux 自检和 SystemTap

现代的操作系统内核提供自检 功能,即动态地检查内核以理解其行为的能力。这些行为可以反映内核问题和性能瓶颈。拥有这些信息时候,您就可以调优或修改内核以避免出现故障。本文探索一个名为 SystemTap 的开放源码基础设施,它为 Linux® 内核提供这种动态的自检。 SystemTa...

2013-07-19 21:45:33

阅读数:955

评论数:0

ubuntu 内核编译工具 make-kpkg简介

本文介绍的make-kpkg可以用于所有Debian系的发行版如Debian、Ubuntu、Linux Mint等。 它可以自动生成内核镜像,带有debuginfo的调试模块,内核头文件的deb安装文件

2013-07-19 20:10:15

阅读数:1969

评论数:0

introducing Linux Kernel symbols

Introducing Linux Kernel Symbols 2011-03-04 | COMMENTS In kernel developing, sometimes we have to examine some kernel status, or we want to r...

2013-07-19 19:39:49

阅读数:1100

评论数:1

提示
确定要删除当前文章?
取消 删除
关闭
关闭