摘要:
摘自:http://www.yewusishi.com/archives/36.html功能说明:显示或设置键盘按键与其相关的功能语法:bind [-dlv] [-f<按键配置文件>] [-m<按键配置>] [-q<功能>]包名称:bash相关命令:kbdconfig补充说明:用户可以利用bind命令了解哪些按键组合及其功能,也可自行指定要用哪些按键组合。参数:-d显示按键配置的内容-f<按键配置文件>载入指定的按键配置文件-l列出所有的功能-m<按键配置>指定按键配置。系统提供了emacs、emacs-meta、emacs-ctlx 阅读全文
摘要:
功能说明:键盘磁盘设备中损坏的区块语法:badblocks [-svw][-b <区块大小>][-c <磁盘区块数>] [-i <输入文件>] [-o <输出文件>] [磁盘设备] [磁盘区块数] [起始区块] [结束区块]包名称:e2fsprogs相关命令:e2fsck、fsck.ext2、mbadblocks、mke2fs、sfdisk补充说明:执行命令时必须指定所要检查的磁盘设备,以及此设备的磁盘区块数参数:-b <区块大小>指定磁盘区块大小,单位为字节-c <磁盘区块数>一次检查几个区块,默认为16个-i < 阅读全文
摘要:
功能说明:建立或修改档案文件(archive),或是从档案文件中提取文件语法:ar[-dmpqrtx][cfosSuvV][a<成员文件>][b<成员文件>][i<成员文件>][档案文件][成员文件]包名称:binutils补充说明:ar可以集合许多文件(成员文件),称为单一的档案文件。在档案文件中,所有成员文件都保留原来的属性与权限。ar也可以为档案文件建立符号表(Symbol table),功能如同文件的索引,以便直接调用档案文件中的成员文件。第一类参数([-dmpqrtx])是命令参数,指定ar要执行的工作。第二类参数([abcfiosSuvV])为可 阅读全文
摘要:
http://www.yewusishi.com/archives/31.html语法:alias[-p][别名][=命令]软件包:bash相关命令:unalias补充说明:用户可利用alias自定义命令的别名。若仅输入alias,则可列出当前所有别名的设置。alias仅作用于该次登录的作业。若要每次登录时都自动设置好别名,请在.profile(bash)或.bashrc(tcsh)中设置命令的别名。参数:-p列出当前所有的别名设置别名列出指定的别名设置别名=命令名称设置某个命令的别名范例:列出当前所有的别名设置root@EricZhou:~# aliasalias egrep='eg 阅读全文
摘要:
今天在编译3.7内核时,出现下面的一个错误:drivers/net/ethernet/intel/igb/igb_main.c: In function ‘igb_configure’:drivers/net/ethernet/intel/igb/igb_main.c:1423: error: label<L5> in the middle of basic block 11drivers/net/ethernet/intel/igb/igb_main.c:1423: internal compiler error: verify_flow_info failedPlease su 阅读全文
摘要:
写在前面的话:上一篇,我们将PCI驱动的基础知识进行一个简单的梳理。当然,这是不够的,因此,接下来,我们进行深一步的探究。我们从下面几个方面来讲述:一,初始化设备模块当Linux内核启动并完成对所有PCI设备进行扫描、登录和分配资源等初始化操作的同时,会建立起系统中所有PCI设备的拓扑结构,此后当PCI驱动程序需要对设备进行初始化时,一般都会调用如下的代码: static int __init example_init_module (void) { /* 注册硬件驱动程序 */ if(!pci_register_driver(&example_pci_driver... 阅读全文
摘要:
写在前面的话:感觉好久没有来写了,今天就来看看Linux下PCI驱动的一个基本编写规范。一,我们来看看PCI是什么。PCI---Peripheral Component Interconnect,外围设备互联总线。是一种广泛采用的总线标准,它提供了许多优于其它总线标准(如EISA)的新特性,目前已经成为计算机系统中应用最为广泛,并且最为通用的总线标准。不知道大家对总线的概念是什么,按我的通俗理解,总线就是一条国道,将许多的设备连接起来。当然,这是一种十分宽泛的理解。好,今天我们的重点并不是总线,而是在Linux驱动程序中的编写。对于驱动的编写来讲,现今的内核已经为我们实现了很多,而我们所需要的 阅读全文
摘要:
写在前面的话:上一次讲到了cdev的注册和销毁,将一个字符设备驱动的程序的整个轮廓已经建立起来了。但是,我们的驱动程序不可能什么都不做吧,那下面我们就来看看驱动程序的操作是怎么去定义的。必不可少的,我们要涉及到一些数据结构,我们先来看看有哪些是我们需要去注意的。首先我们来看看我们最熟悉的文件操作相关的数据结构---file_operations。该结构的作用是将驱动程操作连接到我们申请的一些设备编号上。该结构定义在<linux/fs.h>中:struct file_operations { struct module *owner; loff_t (*llseek)... 阅读全文
摘要:
写在前面的话在学习Linux设备驱动程序过程中,ldd3是必不可少的一本书,那么在书中,我们会看到书中的一个设备驱动程序----scull。今天,我们就要看看如何将这个设备驱动程序在Ubuntu11.10上进行编译;而后,我们就能利用scull更加深层次的去学习驱动程序的知识。首先,我们去下载一份ldd3的配套源码,下面是我分享的一份代码,大家可以下载使用:http://yunpan.cn/lk/sV2ZrN6JFEKKW?sid=301对源码进行解压,里面会有好几个目录,我们现在要关心的就是scull这个目录,下面的操作都会在这里进行。root@yafeng-VirtualBox:/exam 阅读全文
摘要:
写在前面的话:上一篇,我们讲到了简单模块的编写,以及它的加载编译。大家可能会感觉这是不是太简单了,确实,它仅仅只是一个HelloWorld的模块,没有什么实际的意义。今天,我们就来点实际的,目标就是编写一个完整的字符设备驱动程序。首先,我们来看看怎么样的文件时字符设备驱动。它们通常位于/dev目录下,字符设备驱动程序的设备文件可通过“ls-l”命令输出的第一列中的"c"来识别。块设备也在/dev目录下,它们由字符"b"来识别。如下: 1 1 [root@localhost dev]# ls -l 2 2 crw-rw---- 1 root tty 2, 阅读全文