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可以查詢且補齊]

2008年6月30日 星期一

轉檔:Covnert wma to mp3

#先轉至pcm
mplayer Samba.wma -ao pcm:file=test.pcm
#再編成MP3
lame -ms test.pcm -o Samba.mp3

#!/bin/sh
for i in *.wma ;
do
mplayer "$i" -ao pcm:file=audiodump.wav
lame -ms audiodump.wav -o "`basename "$i" .wma`.mp3";
rm -f audiodump.wav
done
rm -f audiodump.wav

2008年5月19日 星期一

U-Boot 便捷開機法

REF:U-Boot 便捷開機法

編寫與製作文稿檔
文稿檔案存成 "nand-kern.script"
==================================
echo
echo Load kernel from NAND and download rootfs via tftp.
echo
nand read.jffs2 30F00000 0 00400000; tftpboot 32000000 urootfs26.img; bootm 30F00000 32000000
==================================

把檔案存成 "nand-kern.script",再利用 U-Boot 的 mkimage 工具把 nand-kern.script 做成 U-Boot 格式。指令如下:

# mkimage -A ARM -O linux -T script -C none -a 0 -e 0 -n "Autoscr" -d nand-kern.script nand-kern.img

將 nand-kern.img download 到板子(或燒在NOR flash),並使用 autoscr 指令來啟動。U-Boot 指令如下:
# tftp 30000000 nand-kern.img
# autoscr 30000000