Chinaunix首页 | 论坛 | 博客
  • 博客访问: 184055
  • 博文数量: 58
  • 博客积分: 0
  • 博客等级: 民兵
  • 技术积分: 14
  • 用 户 组: 普通用户
  • 注册时间: 2013-05-29 17:51
文章分类
文章存档

2015年(3)

2014年(8)

2013年(47)

我的朋友

分类: LINUX

2014-12-04 16:22:40

    openWRT在官方支持的路由器上搞起来是有章可循的,这里面有各厂各型号的刷机指南。

    现在想把openWRT移植到列表中没有的路由器上。终极目标是新增target system platform,不过还是先从简单搞起,先新增一个target profile。

TL-WVR300配置是AR9341+nor 8M+RAM 64M,AR9341这个平台openwrt中即为Atheros AR7XXX/AR9XXX,我要openWRT attitude adjustment工程在menuconfig - target profile中支持WVR300。 

 
1. WVR300宏定义

tools\firmware-utils\src\mktplinkfw.c

#define HWID_TL_WVR300_V1           0x03000001
#define HWID_TL_WVR300_V2           0x03000002
#define HWID_TL_WVR300_V3           0x03000003

2. WVR300 board 属性

tools\firmware-utils\src\mktplinkfw.c

static struct board_info boards[] 中添加

 {      
  .id  = "TL-WVR300v1",
  .hw_id  = HWID_TL_WVR300_V1,
  .hw_rev  = 1,
  .layout_id = "8Mlzma",
 },{
  .id  = "TL-WVR300v2",
  .hw_id  = HWID_TL_WVR300_V2,
  .hw_rev  = 1,
  .layout_id = "8Mlzma",
 },{
  .id  = "TL-WVR300v3",
  .hw_id  = HWID_TL_WVR300_V3,
  .hw_rev  = 1,
  .layout_id = "8Mlzma",
 },
 {                      
  .id     = "TL-WVR300",
  .hw_id      = HWID_TL_WVR300_V1,
  .hw_rev     = 1,
  .layout_id  = "8Mlzma",
 }

 
3. 镜像生成

target\linux\ar71xx\image\Makefile添加镜像生成命令来生成factory.bin

$(eval $(call SingleProfile,TPLINK-LZMA,$(fs_64kraw),TLWVR300V1,tl-wvr300-v1,TL-WVR300,ttyS0,115200,0x03000001,1,8Mlzma))

$(eval $(call SingleProfile,TPLINK-LZMA,$(fs_64kraw),TLWVR300V2,tl-wvr300-v2,TL-WVR300,ttyS0,115200,0x03000002,1,8Mlzma))

$(eval $(call SingleProfile,TPLINK-LZMA,$(fs_64kraw),TLWVR300V3,tl-wvr300-v3,TL-WVR300,ttyS0,115200,0x03000003,1,8Mlzma))


$(eval $(call MultiProfile,TLWVR300,TLWVR300V1 TLWVR300V2 TLWVR300V3))

openwrt后续trunk版本与AA可能不同,注意区分参考
4. 添加 menuconfig 菜单

target\linux\ar71xx\generic\profiles\tp-link.mk 添加Kconfig定义

define Profile/TLWVR300

 NAME:=@@@@@ @@@@@@ TP-LINK TL-WVR300
PACKAGES:=

endef

define Profile/TLWVR300/Description

 Package set optimized for the TP-LINK TL-WVR300.

endef

$(eval $(call Profile,TLWVR300))

define Profile/TLWVR300为选项CONFIG 宏,CONFIG_TARGET_ar71xx_generic_TLWVR300
其中
ar71xxtarget_system名,genenricsubtarget
NAME即为显示在menuconfig中的选项名;

5. 必须先删除tmp/目录

因为make menuconfig实际上依赖于,tmp/.config-target.in,若已存在就从此路径下去,若不存在则从target/linux/ar71xx/下重新生成到tmp目录下。


上面弄完后,menuconfig-target system选择,Atheros AR7XXX/AR9XXX,然后再到target profile下面应该就可以看到 TL-WVR300了。

make后,bin/ar71xx/下面会生成wvr300的factory.bin,但是这时候下载到flash还不能启动,

因为内核并没有支持wvr300,待续 kernel arch machine新增路由器

阅读(2889) | 评论(0) | 转发(0) |
给主人留下些什么吧!~~