2008年7月8日 星期二

kernel/module debugging

REF:Inside the Linux kernel debugger

Kernel Module .ko 的Makefile

REF:http://wshlab2.ee.kuas.edu.tw/personal/simon/archives/000735.html

目前小弟常用的兩種寫法,敬供參考。
KERNEL_VERSION  := `uname -r`
KERNEL_DIR := /lib/modules/$(KERNEL_VERSION)/build
#KERNEL_DIR :=
$(KERNEL_SRC)
CROSS_COMPILE := arm-linux-


PWD := $(shell pwd)

obj-m := snd-dummy.o
snd-dummy-objs := dummy.o

all: snd-dummy

snd-dummy:
@echo "Building a dummy driver..."
@(make -C $(KERNEL_DIR) M=$(PWD) CROSS_COMPILE=$(CROSS_COMPILE) modules)

clean:
-rm -f *.o *.ko .*.cmd .*.flags *.mod.c Module.symvers modules.order tags
-rm -rf .tmp_versions


ifneq   ($(KERNELRELEASE),)
obj-m :=
dummy.o

else
KERNEL_VERSION := `uname -r`
KERNEL_DIR := /lib/modules/$(KERNEL_VERSION)/build
#KERNEL_DIR :=
$(KERNEL_SRC)
PWD := $(shell pwd)
default:
$(MAKE) -C $(KDIR) SUBDIRS=$(PWD) modules

clean:
rm -r .tmp_versions *.mod.c .*.cmd *.o *.ko

endif

2008年7月2日 星期三

抓當代已patched kernel source

apt-get source linux-source-2.6.22
註:apt-get source [按TAB可以查詢且補齊]