- 浏览: 1525182 次
- 性别:
- 来自: 杭州
文章分类
- 全部博客 (525)
- SEO (16)
- JAVA-EE-Hibernate (6)
- JAVA-EE-Struts (29)
- JAVA-EE-Spring (15)
- Linux (37)
- JAVA-SE (29)
- NetWork (1)
- CMS (14)
- Semantic Research (3)
- RIA-Flex (0)
- Ajax-Extjs (4)
- Ajax-Jquery (1)
- www.godaddy.com (0)
- SSH (34)
- JavaScript (6)
- SoftwareEngineer (9)
- CMMI (0)
- IDE-Myeclipse (3)
- PHP (1)
- Algorithm (3)
- C/C++ (18)
- Concept&Items (2)
- Useful WebSite (1)
- ApacheServer (2)
- CodeReading (1)
- Socket (2)
- UML (10)
- PowerDesigner (1)
- Repository (19)
- MySQL (3)
- SqlServer (0)
- Society (1)
- Tomcat (7)
- WebService (5)
- JBoss (1)
- FCKeditor (1)
- PS/DW/CD/FW (0)
- DesignPattern (11)
- WebSite_Security (1)
- WordPress (5)
- WebConstruction (3)
- XML|XSD (7)
- Android (0)
- Project-In-Action (9)
- DatabaseDesign (3)
- taglib (7)
- DIV+CSS (10)
- Silverlight (52)
- JSON (7)
- VC++ (8)
- C# (8)
- LINQ (1)
- WCF&SOA (5)
- .NET (20)
- SOA (1)
- Mashup (2)
- RegEx (6)
- Psychology (5)
- Stock (1)
- Google (2)
- Interview (4)
- HTML5 (1)
- Marketing (4)
- Vaadin (2)
- Agile (2)
- Apache-common (6)
- ANTLR (0)
- REST (1)
- HtmlAnalysis (18)
- csv-export (3)
- Nucth (3)
- Xpath (1)
- Velocity (6)
- ASP.NET (9)
- Product (2)
- CSS (1)
最新评论
-
lt26w:
理解成门面模式应该比较容易明白吧
FacadePattern-Java代码实例讲解 -
lt26w:
看下面的例子比较明白.
FacadePattern-Java代码实例讲解 -
javaloverkehui:
这也叫文档,别逗我行吗,也就自己看看。
HtmlCleaner API -
SE_XiaoFeng:
至少也应该写个注释吧。
HtmlCleaner API -
jfzshandong:
...
org.springframework.web.filter.CharacterEncodingFilter 配置
安装模块
insmod *.ko
卸载模块
rmmod *.ko
查看已经安装的模块
lsmod
cat /proc/modules
查看模块输出
tail /var/log/messages
//
1.编译工具make
实际上,make 工具通过一个称为 Makefile 的文件来完成并自动维护编译工作。Makefile 需要按照某种语法进行编写,其中说明了如何编译各个源文件并连接生成可执行文件,并定义了源文件之间的依赖关系。下面给出2.6 内核模块的Makefile模板(请参看Makefile的写法)
# Makefile2.6 obj-m += hellomod.o # 产生hellomod 模块的目标文件 CURRENT_PATH := $(shell pwd) #模块所在的当前路径 LINUX_KERNEL := $(shell uname -r) #Linux内核源代码的当前版本 LINUX_KERNEL_PATH := /usr/src/linux-headers-$(LINUX_KERNEL) #Linux内核源代码的绝对路径 all: make -C $(LINUX_KERNEL_PATH) M=$(CURRENT_PATH) modules #编译模块了 clean: make -C $(LINUX_KERNEL_PATH) M=$(CURRENT_PATH) clean #清理 |
注意: 在每个命令前(例如make命令前)要键入一个制表符(按TAB键产生)
有了Makefile,执行make命令,会自动形成相关的后缀为.o和.ko文件。
到此,模块编译好了,该把它插入到内核了:
如:$insmod hellomod.ko
当然,要以系统员的身份才能把模块插入。
成功插入后,可以通过dmesg命令查看,屏幕最后几行的输出就是你程序中输出的内容:Hello,World! from the kernel space…
发表评论
-
Linux内核源码包的安装及编译zz
2009-12-15 20:58 4306http://my.donews.com/ecco2005/2 ... -
Linux内核Makefile文件(二)
2009-12-15 19:34 2452=== 6 体系Makefile文 ... -
Linux内核Makefile文件(一)
2009-12-15 19:34 1870本文是/Documentation/kbuild/make ... -
linux内核模块编程
2009-12-15 19:25 3605主题: linux内核模块的程序结构--模块加载函数(必须), ... -
编译linux内核~
2009-12-05 22:04 1422小菜鸟第一次编译linux内核。截图太多 。。不方便上传 = ... -
grub2 基础教程
2009-12-05 18:01 2791grub2基础教程-修订版 ... -
Ubuntu9.10版本没有了menu.lst文件!
2009-12-05 18:00 3150囧~现在都在grub下面配置了。 不过麦斯之前的men ... -
关于信号量与线程互斥锁的区别与实现
2009-11-30 14:37 2427之前一直没有怎么 ... -
Linux信号量线程控制
2009-11-30 14:31 3690线程中互斥锁的使用,达到对共享资源互斥使用。除了使用互斥锁, ... -
信号量和自旋锁
2009-11-29 21:56 1666内核同步措施 ... -
Linux信号量semaphore编程实例
2009-11-29 21:20 6592本例示范Linux信号量的基本用法。该范例使用了两个线程分别对 ... -
Linux获取当前时间
2009-11-29 21:16 3689Linux获取当前时间 ... -
pthread库学习(2): 线程的同步,使用信号量
2009-11-29 20:55 2502先看下面这段程序,主线程创建了三个线程,每个线程中均有一个打印 ... -
信号量的基本思想
2009-11-29 20:17 1491信号量是1965荷兰Dijkstra 为了解决并发进程问题 ... -
多进程通信方式一:管道(PIPE)
2009-11-27 18:29 9117进程通信(IPC)的几种方式及比较 撰文:黄显国08 ... -
进程的管道通信
2009-11-27 18:12 3015实验四 进程的管道通信 ... -
Linux下线程的挂起和恢复
2009-11-27 15:42 3751POSIX的Linux操作系统没有提供线程挂起和恢复的例程,在 ... -
Linux 编程之生成静态连接库
2009-11-27 15:41 1410静态库及动态库的建立 ... -
LInux高级编程 - 线程(Threads)
2009-11-27 15:40 1911LInux高级编程 - 线程(Threads) ... -
Linux下c开发 之 线程通信
2009-11-27 15:39 19681.Linux“线程” 进程与 ...
相关推荐
加载模块可以使用 `insmod` 命令,例如 `sudo insmod modules.ko`。卸载模块可以使用 `rmmod` 命令,例如 `sudo rmmod modules`。在加载和卸载模块时,需要使用 `dmesg` 命令来查看内核输出信息。 5. 加载模块时...
- 模块管理命令:如insmod(安装模块)、rmmod(移除模块)、modprobe(自动处理模块依赖关系)等,用于内核模块的加载和卸载。 3. Linux文档编辑命令 Linux系统提供了多种文档编辑和处理的命令行工具,用于文本...
Linux内核动态加载模块是Linux操作系统的一个重要特性,它允许系统管理员和用户在系统运行时动态地添加或移除内核功能,而无需重新编译整个内核。本文将详细介绍Linux内核模块的加载机制、配置方法和相关命令。 ...
Linux 内核模块可以分为静态可加载模块和动态可加载模块。一旦加载入内核,模块就和内核具有相同的权利。模块可以单独编译成目标代码,这样模块就是一个目标文件。它可以根据用户的实际需要,在系统启动后由用户自己...
Linux设备管理命令详解中,Ismod命令用于列出当前系统加载的模块,可以当作硬件浏览器。 知识点5: Ismod命令的使用 Ismod命令的使用权限是超级用户。 知识点6: Ismod命令的格式 Ismod命令的格式为:lsm od...
Linux内核模块(Kernel Module)是动态加载到内核空间的一段代码,它可以在需要时加载,不需要时卸载,以实现对硬件设备驱动、文件系统或其他特定功能的支持。这使得系统能够根据实际需求调整内核的功能集,降低了...
这种设计借鉴了其他操作系统如BSD和Solaris中的可加载模块概念,但Linux的实现方式独具特色。 LKM的构建和管理涉及到一系列的宏和函数。模块通常包含一个入口点(entry)函数,用于在模块被加载时执行,以及一个...
Linux 常规操作命令大全 Linux 系统中有很多实用的命令,掌握这些命令可以帮助我们更好地使用 Linux 系统。以下是 Linux 常规操作命令大全,涵盖了文件操作、磁盘操作、系统操作等多方面的知识点。 文件操作命令:...
这些参数可以在加载模块时通过`insmod`命令传递。 5. **驱动程序开发**:内核模块常用于编写驱动程序,以提供对硬件设备的支持。驱动程序需要实现设备模型(Device Model)接口,如`struct device_driver`,并注册...
### Linux内核编译命令详解 #### 一、概述 Linux内核是开源操作系统的核心部分,负责管理和协调硬件资源以及为应用程序提供服务。对于开发者来说,掌握如何编译Linux内核至关重要,因为这能帮助他们根据特定需求...
- /boot:存放启动Linux所需的文件,包括内核、引导加载器等。 - /dev:设备文件目录,存放了系统识别的硬件设备,如硬盘、终端等。 - /etc:系统配置文件目录。 - /home:用户家目录,默认位置,用户的个人文件...
实际加载模块的系统调用是`init_module`,它在模块的`init_module`函数中执行,完成模块的初始化工作。 编写内核模块的基本结构包括以下元素: 1. 包含`linux/module.h`头文件,这是所有内核模块的基础。 2. 初始化...
2. 加载模块:使用`insmod`命令将模块插入内核,`rmmod`命令卸载。还可以通过`modprobe`自动处理依赖关系。 四、模块调试 1. `dmesg`输出:查看内核消息,了解模块加载过程中的错误和警告。 2. `sysfs`和`procfs`:...
* 内核模块的加载和卸载:使用insmod和rmmod命令加载和卸载内核模块。 * 内核模块的编译:使用make命令编译内核模块。 * 内核模块的调试:使用 printk 函数输出调试信息。 * 内核模块的文档化:使用 kernel-doc 工具...
此外,内核模块还需要使用`module_param()`宏定义模块参数,以便在加载模块时可以通过命令行传递参数。最后,模块的编译和加载通常通过`make`和`insmod`命令完成,而卸载则使用`rmmod`命令。 本示例中的"一个LINUX...
5. **加载模块**:加载`ndiswrapper`内核模块,命令为:`# modprobe ndiswrapper`。这一步骤会将Windows驱动加载到Linux内核中。 6. **识别无线网卡**:安装驱动后,使用`iwconfig`命令检查无线网卡是否被系统识别...
【Linux 动态加载模块详解】 Linux 模块的动态加载是Linux内核的一个关键特性,它允许在操作系统运行时加载或卸载特定的功能模块,尤其是设备驱动程序和某些服务,而无需重启整个系统。这一特性使得Linux内核能够...
加载模块的优点在于可以避免因更新内核而重编译整个系统,同时使内核更加紧凑和灵活。然而,模块也会带来一些缺点,如增加内存消耗,可能导致系统崩溃,以及需要维护复杂的模块间依赖关系。 编写内核模块通常涉及...
depmod、modinfo、modprobe等命令则涉及Linux内核模块的管理,insmod用于安装模块,rmmod用于移除模块,而modprobe除了移除模块外还提供了自动处理模块依赖的功能。此外,lilo命令用于配置Linux启动加载程序,而...