Linux内核调拭之printk用法

内核通过 printk() 输出相关信息,在调用 printk() 函数时必须要指定日志级别。

在 include/linux/kernel.h 中定义了如下几个日志级别

#define	KERN_EMERG	"<0>"	/* 系统崩溃 */
#define	KERN_ALERT	"<1>"	/* 必须紧急处理 */
#define	KERN_CRIT	"<2>"	/* 临界条件,严重的硬软件错误 */
#define	KERN_ERR	"<3>"	/* 报告错误 */
#define	KERN_WARNING	"<4>"	/* 警告 */
#define	KERN_NOTICE	"<5>"	/* 普通但还是须注意 */
#define	KERN_INFO	"<6>"	/* 信息 */
#define	KERN_DEBUG	"<7>"	/* 调试信息 */

这里也可以看出数值越小,其紧急和严重程度就越高。

printk()用法

printk(<2> "Hello, world!\n");          /* 直接用数字指定日志级别,用尖括号括起来 */
printk(KERN_ALERT "Hello, world!\n");   /* 也可以这么用 */

继续阅读

Linux grep命令用法

一直以为grep只能进行单个文件的筛选,今天才发现,它可以进行多个文件的筛选。这个功能真是太强大了。还是记录一下吧。

假设我要找一个start_kernel函数,但我不知道此函数在哪个文件里,于是可以用如下命令:

grep -wrI "start_kernel" ./*

以下是一些其它的用法,也记录一下,算是巩固吧

grep命令主要参数:

-c:只输出匹配行的计数。
-I:不处理二进制文件
-i:不区分大小写(只适用于单字符)。
-r:递归处理目录下的所有文件。
-h:查询多文件时不显示文件名。
-l:查询多文件时只输出包含匹配字符的文件名。
-n:显示匹配行及 行号。
-s:不显示不存在或无匹配文本的错误信息。
-v:显示不包含匹配文本的所有行。
-w:包含正则表达式。

继续阅读

请linuxde点net转载本博客文章的时候加上链接

请linuxde点net转载本博客文章的时候加上链接,谢谢!

您不声不响的转走了我的文章,也不送我一个返回的链接,您觉得好意思吗?

我也是湖北人,咱湖北人不能干这种事,对吧。

您的网站要是缺少文章,可以随便拿,但是希望你注明一下文章来源!

我们都是Linux业者,搞IT的人,都是善良的,你说呢?

将驱动程序添加到Linux内核

一,概述
在linux内核中增加程序需要完成以下三项工作:
1.将编写的源代码复制到Linux内核源代码的相应目录
2.在目录的Kconfig文件中增加新源代码对应项目的编译配置选项
3.在目录的Makefile文件中增加对新源代码的编译条目

二,实例
1,把驱动代码usbtmc(文件夹)复制到/usr/src/linux-headers-2.6.32-31-generic/drivers/char下。
注意:
(1),设备驱动程序存放在内核源码树根目录drivers/的子目录下,在其内部,设备驱动文件进一步按照类别,类型等有序地组织起来。
a,字符设备存在于drivers/char/目录下
b,块设备存放在drivers/block/目录下
c,USB设备则存放在drivers/usb/目录下。
(2),此处的文件组织规则并非绝对不变,例如:USB设备也属于字符设备,也可以存放在drivers/usb/目录下。
(3),例如我们把驱动程序usbtmc(文件夹)存放在drivers/char/目录下,那么你要注意,在该目录下同时会存在大量的C源代码文件和许多其他目录。所有对于仅仅只有一两个源文件的设备驱动程序,可以直接存放在该目录下,但如果驱动程序包含许多源文件和其他辅助文件,那么可以创建一个新子目录。 继续阅读

Fedora 21安装以后的优化

最近安装了Fedora 21 64bit,以下是一些优化配置,使之更适合国人使用。

1,安装gnome-tweak-tool设置工具
Fedora 19自带的系统设置工具十分简单,一些重要的地方都不能设置。比如窗口默认没有最大化和最化小的按钮。

sudo yum install gnome-tweak-tool

然后在左上角的“活动”里找到并打开“优化工具”,在左侧选择“窗口”,在右侧找到“Titlebar Buttons”,把下面的“Maximize”和“Minimize”打开,这样,窗口的右上角就有最大化和最小化按钮了。

此外,还可以在左侧的“Shell”中,把“在日历中显示星期”打开。

对于国内用户,肯定不习惯多个桌面的形式,打开“优化工具”,在左侧选择“Workspaces”,把右侧的“Workspaces Creation”设置为“Static”,下面的“Number of Workspaces”设置为1,这样就只有1个桌面了。

2,设置网易软件源设置最快软件源
把yum-plugin-fastestmirror插件装上就行了,没有必要安装网易的源。

sudo yum install yum-plugin-fastestmirror

继续阅读

Linux性能测试工具:UnixBench

Unixbench是一个类unix系(Unix,BSD,Linux)统下的性能测试工具,一个开源工具,被广泛用与测试linux系统主机的性能,简称UB。Unixbench的主要测试项目有:系统调用、读写、进程、图形化测试、2D、3D、管道、运算、C库等系统基准性能提供测试数据。

测试方法:

wget http://www.CTOHome.com/linux-vps-pack/unixbench.sh;sh ./unixbench.sh;

测试项目:
Dhrystone 2 using register variables
此项产生于 1984,测试 string handling,因为没有浮点操作,所以深受软件和硬件设计(hardware and software design)、编译和链接(compiler and linker options)、代码优化(code optimazaton)、对内存的cache(cache memory)、等待状态(?wait states)、整数数据类型(integer data types)的影响。 继续阅读