易截截图软件、单文件、免安装、纯绿色、仅160KB

linux 2.6 内核模块的Makefile



 
Linux 2.6 下内核模块的Makefile
收藏



Linux 2.6 下内核模块的Makefile
# Makefile 2.6
obj-m += hello.o
KDIR:=/lib/modules/$(shell uname -r)/build
# PWD=$(shell pwd)
all:
        make -C $(KDIR) M=$(PWD) modules
clean:
        make -C $(KDIR) M=$(PWD) clean
obj-m := hello.o表示编译后生成hello.o模块。
$(KDIR) 指定了内核源码的路径,“M=”表示这是个外部模块,M=$(PWD) 指定了该模块文件所在的路径。
注: makefile
预定义了$(PWD)
变量,此处可以不必重复定义。
如果是多个源文件编译出一个模块,假设模块名是test.ko,那么源文件名不能有test.c
obj-m := test.o
test-objs := file1.o file2.o file3.o
KDIR := /lib/modules/$(shell uname -r)/build
#PWD := $(shell pwd)
all:
        make -C $(KDIR) M=$(PWD) modules
clean:
一个简单的内核模块示例:hello.c
#include <linux/module.h>
#include <linux/init.h>
MODULE_LICENSE("GPL");
static int  __iinit  hello_init(void)
{
   printk("hello, world\n");
   return 0;
}
static void  __exit hello_exit(void)
{
   printk("goodbe\n");
}
module_init(hello_init);
module_exit(hello_exit);


相关文档:

实战Linux Bluetooth编程(三) HCI层编程

1. HCI层协议概述:
HCI提供一套统一的方法来访问Bluetooth底层。如图所示:
从图上可以看出,Host Controller Interface(HCI)  就是用来沟通Host和Module。Host通常就是PC, Module则是以各种物理连接形式(USB,serial,pc-card等)连接到PC上的bluetooth Dongle。
在Host这一端:application,SDP,L2cap等协议 ......

linux getopts命令详解

用途
处理命令行参数,并校验有效选项。
语法
getopts
选项字符串
名称
[
参数
...]
描述
getopts 命令是 Korn/POSIX shell 的内置命令,用来从参数列表检索选项以及选项参数。选项由一个 (加号)或者是由一个-(减号)后跟一个字符开始。一个既不是以 ,也不是以-开始的选项结束选项字符串。每次调用 getopt ......

Linux下Patch的应用和制作方法介绍


Linux下Patch的应用和制作方法介绍 (1)
 
发布时间:2007.04.19 06:10     来源:赛迪网技术社区    作者:skid
 
因为在u-boot移植过程中,有几处通用文件要修改,如果每次都要手动修改就太麻烦了。制作补丁可以解决这个问题。
学习资料的收集比较简单, ......

Redhat AS4 Linux常用服务和工具


这里记录Redhat Linux中的一些常用服务和配置工具。版本基于AS4。
1.Firewall
通过命令行配置:lokkit
图形界面配置:Applications->System Settings->Security Level
2.samba
/etc/init.d/smb start | /etc/init.d/smb stop | /etc/init.d/smb restart
或者
service smb start | service smb stop | servic ......

linux安装samba

到官网下载samba,samba-3.4.5.tar.gz
解压缩,后,进入source3.
./autogen.sh
./configure
make
make install
启动/usr/local/samba/sbin/smbd
此处可能会提示,
error while loading shared libraries: libtalloc.so.1
执行
LD_DEBUG=libs /usr/local/samba/sbin/smbd -D
检查哪些lib无法找到,相应的用ln&nbs ......
© 2009 ej38.com All Rights Reserved. 关于E健网联系我们 | 站点地图 | 赣ICP备09004571号