
Linux 相关
BeckZZ
这个作者很懒,什么都没留下…
展开
-
Linux2.6 内核的 Initrd 机制解析
简介: Linux 的 initrd 技术是一个非常普遍使用的机制,linux2.6 内核的 initrd 的文件格式由原来的文件系统镜像文件转变成了 cpio 格式,变化不仅反映在文件格式上, linux 内核对这两种格式的 initrd 的处理有着截然的不同。本文首先介绍了什么是 initrd 技术,然后分别介绍了 Linux2.4 内核和 2.6 内核的 initrd 的处理流程。最后通过对 Linux2.6 内核的 initrd 处理部分代码的分析,使读者可以对 initrd 技术有一个全面的认识。转载 2011-03-29 14:42:00 · 539 阅读 · 0 评论 -
如何编写Linux设备驱动程序
<br />有很多朋友关心驱动,但更菜的菜鸟居多:)总结了一下把I/O驱动改成个更简单的LED驱动吧<br />做的工作非常简单,就是让连在GPC0-GPC2上的LED顺序闪10下<br />目的就是演示一下驱动过程。<br />一先补充一下基础知识懂的朋友就不用看了<br /><br />嵌入式驱动的概念<br /><br />设备驱动程序是操作系统内核和机器硬件之间的接口,设备驱动程序为应用程序屏蔽了硬件的细节,这样在应用程序看来,硬件设备只是一个设备文件,应用程序可以像操作普通文件一样对硬件设备进行操转载 2011-04-01 13:48:00 · 696 阅读 · 0 评论 -
sockfs 套接字文件系统
<br /> 套接字文件系统是一个用户不可见的, 高度简化的, 用于汇集网络套接字的内存文件系统,它没有块设备, 没有子目录, 没有文件缓冲,它借用虚拟文件系统的框架来使套接字与文件描述字具有相同的用户接口.当用户用socket(family,type,protocol)创建一个网络协议族为family, 类型为type,协议为protocol的套接字时, 系统就在套接字文件系统中为其创建了一个名称为其索引节点编号的套接字文件.<br /><br />有关代码<br />--------<br /转载 2011-04-01 14:16:00 · 2854 阅读 · 0 评论 -
linux驱动程序设计
<br /><br />PROGRAM FOR BLOCK DEVICE DRIVER OF DEVFS TYPE <br /><br />对linux的devfs类型的驱动程序的编写可以从以下几大内容理解和入手: <br />通过分析驱动程序源代码可以发现驱动程序一般可分三部分: <br />核心数据结构;核心数据和资源的初始化,注册以及注消,释放;底层设备操作函数; <br />还有DMA和Irq的初始化检查和 登记, <br />int request_irq(unsigned int irq ,vo转载 2011-04-01 14:20:00 · 1036 阅读 · 0 评论 -
实用技巧:Gdbserver远程调试的具体实现
<br />采用的是nfs目标板挂载本机目录的方法,当然首先,你得开通本机的nfs共享服务,具体步骤如下:<br /> 1、进入/etc目录,vim exports这个文件,在里面添加/home 192.168.0.*(rw,sync)保存后退出<br /> 注:/home 为要共享的文件夹的名称,192.168.0.*为本NFS服务器允许访问的客户端ip,若nfs不成功,后面参数rw ro 等标志对文件夹操作权限,sync:数据同步写入内存和硬盘,也可以使用async,此时数据会先暂存于内转载 2011-05-24 13:39:00 · 970 阅读 · 0 评论 -
内核源码书编译及简单驱动验证
这几天看了一些linux驱动的资料,对其结构和原理大致有了些了解,然后就开始动手实践了。首先是要重新编译内核,构建linux内核树。我完全是小白一个,网上搜了很多方案,尝试了好些次,终于成功。步骤如下:1.安装编译内核所需要的软件有:build-essential、autoconf、automake、cvs、subversion$apt-get install build-essential kernel-package libncurses5-dev libncurses5这个软件包在使用menuconf转载 2011-04-06 13:19:00 · 989 阅读 · 0 评论 -
可执行文件的减肥
对于设计嵌入式Linux系统的研发人员来说,有一个问题是必须要考虑到的,那就是存储器的空间。我们知道嵌入式Linux系统所用的存储器不是软磁盘、硬盘、ZIP盘、CD-ROM、DVD这些众所周知的大容量常规存储器,它使用的是例如Rom,CompactFlash,M-System转载 2011-08-19 10:09:02 · 664 阅读 · 0 评论 -
关于系统调用劫持
如果一个木马要隐藏起来,不被系统管理员发现。截获系统调用似乎是必须的。大部分情况下,通过修改系统调用表来实现系统调用的劫持。下面是一个典型的截获系统调用的模块:模块一:#include #include #include #include转载 2011-08-19 09:58:56 · 927 阅读 · 0 评论 -
kmalloc
#include void *kmalloc(size_t size, int flags); 给 kmalloc 的第一个参数是要分配的块的大小. 第 2 个参数, 分配标志, 非常有趣, 因为它以几个方式控制 kmalloc 的行为. 最一般使用的标志, GFP_KERNEL, 意思是这个分配((内部最终通过调用 __get_free_pages 来进行, 它是 GFP_ 前缀的来源转载 2012-02-15 10:39:40 · 917 阅读 · 0 评论