Linux Device Drivers, Third Edition

声卡/显卡/打印机/USB设备等硬件问题(网卡问题请发上面的网卡板块)
回复
头像
qqttdh
帖子: 896
注册时间: 2007-07-20 22:15
送出感谢: 0
接收感谢: 0

Linux Device Drivers, Third Edition

#1

帖子 qqttdh » 2008-02-26 15:11

http://lwn.net/Kernel/LDD3/

《Linux设备驱动程序(第三版)》

(英文原版)
http://lwn.net/images/pdf/LDD3/ldd3_pdf.tar.bz2

insmod rmmod 在非x环境下可显示打印内容
否则在对应 /var/log/messages 中查找



Hello.ko 示例

代码: 全选

/*hello.c a module programm*/
#include <linux/init.h>
#include <linux/module.h>
MODULE_LICENSE("Dual BSD/GPL");
static int hello_init(void)
{
    printk(KERN_ALERT "Hello, world\n");
    return 0;
}
static void hello_exit(void)
{
    printk(KERN_ALERT "Goodbye, cruel world\n");
}
module_init(hello_init);
module_exit(hello_exit);


代码: 全选

#   Makefile  linux 2.6
#
ifneq   ($(KERNELRELEASE),)
#kbuild   syntax.   dependency   relationshsip   of   files   and   target   modules   are   listed   here.
mymodule-objs   :=   hello.o 
obj-m   :=   hello.o       
else
PWD     :=   $(shell   pwd)
KVER   ?=   $(shell   uname   -r)
KDIR   :=   /lib/modules/$(KVER)/build
all:
   $(MAKE)   -C   $(KDIR)   M=$(PWD)
   rm   -rf   .*.cmd   *.o  *.mod.c  Module.symvers .tmp_versions 
clean:
   rm   -rf   .*.cmd   *.o *.ko *.mod.c  Module.symvers .tmp_versions
endif
回复

回到 “常用硬件支持”