XMU->九天揽月->五湖抓鳖->DSP->driver->kernel/OpenWRT->ISP/RTOS
分类: LINUX
2014-09-18 09:38:53
接上,http://blog.chinaunix.net/uid-27057175-id-4479784.html
添加了target profile可以生成wvr300的镜像了,但是下载到路由器并不能启动,有如下错误!
[ 0.000000] MIPS: no machine found for id 'TL-WVR300', supported machines:
[ 0.000000] id name
[ 0.000000] Generic Generic AR71XX/AR724X/AR913X based board
[ 0.000000] TL-WR841N-v8 TP-LINK TL-WR841N/ND v8
[ 0.000000] PID hash table entries: 256 (order: -2, 1024 bytes)
mips_machtype_setup()返回错误,因为arch中没有定义wvr300这个路由器。
Kernel支持wvr300:(build_dir/linux-ar71xx_generic/linux-3.3.8)
1. 新增archmachine
参照arch/mips/ath79/mach-tl-wr841n-v8.c,新建mach-tl-wvr300.c,基本就是改变下名称。给__mips_machines_start挂machine节点。
在arch/mips/ath79/ machtypes.h enum ath79_mach_type{} 最后新增 ATH79_MACH_TL_WVR300 定义。
openwrt后续trunk版本与AA可能不同,注意区分参考。
2. kernel_menuconfig支持
arch/mips/ath79/Kconfig新增
config ATH79_MACH_TL_WVR300
bool "@@@@@@@@@@@@@@@@@TP-LINK TL-WVR300 V1/2/3
support"
select SOC_AR934X
select ATH79_DEV_ETH
select ATH79_DEV_GPIO_BUTTONS
select ATH79_DEV_LEDS_GPIO
select ATH79_DEV_M25P80
select ATH79_DEV_WMAC
arch/mips/ath79/Makefie新增
obj-$(CONFIG_ATH79_MACH_TL_WVR300) += mach-tl-wvr300.o
3. 选择
Make kernel_menuconfig
->Machine selection
-> Atheros AR71XX/AR724X/AR913X machine selection
@@@@@@@@@@@@@@@@@TP-LINK TL-WVR300 V1/2/3 support
4. 遗留
现在编译WVR300镜像还得依赖手动修改,不能一键编译,make clean之后kernel源码就会被删掉,下次编译又得重新解压缩kernel,重新手动修改。
其实上面所有的修改可以合入到target/linux/patch-3.3下kernel补丁文件,最好的办法是直接修改补丁,添加支持wvr300,待续openwrt kernel patch修改添加(quilt工具)。