借鉴地址:http://www.pppei.net/blog/post/536

1、向文件 \target\linux\ar71xx\generic\profiles\atheros.mk 中添加ap143类型

define Profile/AP143
        NAME:=Atheros AP143 reference board                                 // 对应make menuconfig中单板类型选择处的显示                
        PACKAGES:=kmod-usb-core kmod-usb2 kmod-usb-storage       
endef

define Profile/AP143/Description
        Package set optimized for the Atheros AP143 reference board.
endef

$(eval $(call Profile,AP143))

修改完后保存文件,然后删除tmp目录。

命令: rm -rf tmp

重新进入单板类型后,就会存在ap143单板类型。

2、

这步我提供了patch,下载后放入 target/linux/ar71xx/patches-3.18/ 下即可。

文件名称为:730-MIPS-ath79-add-ap143-support.patch

手动修改比较麻烦,于是做了patch自动完成,只修改了三个文件内核源码目录中的arch/mips/ath79/machtypes.h 和Makefile 以及Kconfig,具体修改的内容打开patch一看便知。

3、这一步要修改的这些脚本都是在刷机后,固件启动过程中用到的,也要添加对AP143单板的识别。
打开 target/linux/ar71xx/base-files/lib/ar71xx.sh 找到 ar71xx_board_detect 函数,加入单板类型:

*"AP143 reference board")
      name="ap143"
        ;;

注:这里引号内的安排43和下面其它脚本中要修改的内容一致
target/linux/ar71xx/base-files/lib/upgrade/platform.sh

文件中函数 platform_check_image 添加“ap143”

ap136-010 | \
 ap136-020 | \
 ap135-020 | \
 ap143 | \
 ap96 | \
 bxu2000n-2-a1 | \
 db120 | \

注:不修改这个文件web页面刷机会提示固件不正确。

target/linux/ar71xx/base-files/etc/uci-defaults/leds
找到:

ap113)
 ucidef_set_led_usbdev "usb" "USB" "ap113:green:usb" "1-1"
 ;;

在下面添加

ap143)
 ucidef_set_led_default "wan" "WAN" "ap143:green:wan" "1"
        ucidef_set_led_switch "lan1" "LAN1" "ap143:green:lan1" "switch0" "0x1"
        ucidef_set_led_wlan "wlan" "WLAN" "ap143:green:wlan" "phy0tpt"
        ;;

target/linux/ar71xx/base-files/etc/uci-defaults/network
找到:

tl-wr841n-v9 |\
ap143 | \                    // 添加了ap143
whr-g301n |\
whr-hp-g300n |\
whr-hp-gn |\
wzr-hp-ag300h)
 ucidef_set_interfaces_lan_wan "eth0" "eth1"
 ucidef_add_switch "switch0" "1" "1"
 ucidef_add_switch_vlan "switch0" "1" "0 1 2 3 4"
 ;;

注:不修改此文件无法初始化网络

target/linux/ar71xx/base-files/etc/diag.sh 中修改指示灯的工作状态。

4、

target/linux/ar71xx/image/Makefile
中添加

1)分区相关:

ap143_mtdlayout_16M=mtdparts=spi0.0:256k(u-boot)ro,64k(u-boot-env)ro,14528k(rootfs),1344k(kernel),64k(factory),64k(art),15872k@0x50000(firmware)

2)

$(eval $(call SingleProfile,AthLzma,64k,AP143_16M,ap143-16M,AP143,ttyS0,115200,$$(ap143_mtdlayout_16M),RKuImage))

3)

$(eval $(call MultiProfile,AP143,AP143_16M))

然后要重编译tools,清空之前编译的内容,重新编译固件生效

命令: make tools/clean

至此,板类型ap143的支持工作已经基本完成,可以编译固件了。

make menuconfig     // 选中单板类型AP143

make V=99

遗留问题:编译的时候,每次都需要确认单板类型为ap143的是否编译?

* Atheros AR71XX/AR724X/AR913X machine selection
*
ALFA Network AP96 board support (ATH79_MACH_ALFA_AP96) [Y/n] y
ALFA Network Hornet-UB board support (ATH79_MACH_HORNET_UB) [Y/n] y
ALFA Network N2/N5 board support (ATH79_MACH_ALFA_NX) [Y/n] y
ALFA Network Tube2H board support (ATH79_MACH_TUBE2H) [Y/n] y
Allnet ALL0258N support (ATH79_MACH_ALL0258N) [Y/n] y
Allnet ALL0315N support (ATH79_MACH_ALL0315N) [Y/n] y
Bitmain Antminer S1 support (ATH79_MACH_ANTMINER_S1) [Y/n] y
Atheros AP113 board support (ATH79_MACH_AP113) [Y/n] y
Atheros AP121 reference board (ATH79_MACH_AP121) [Y/n/?] y
Atheros AP132 reference board (ATH79_MACH_AP132) [Y/n/?] y
Atheros AP136/AP135 reference board (ATH79_MACH_AP136) [Y/n/?] y
Atheros AP143 refernece board (ATH79_MACH_AP143) [N/y/?] (NEW)

向openwrt 源码添加ap143支持的更多相关文章

  1. Windows7 64位环境6sv2.1大气传输模型修改源码添加国产高分卫星GF-1 GF-2光谱响应支持

    下面开始添加国产卫星光谱响应的支持: 以下主要参考文章“6S大气传输模型修改源码添加.自定义卫星光谱响应(以HJ-1B CCD为例)”网址:http://blog.csdn.net/sam92/art ...

  2. 第二节,下载openwrt源码和编译环境

    文章的开始先说两个重点 1.不要使用root用户编译,普通用户编译即可. 2.自行搭建梯子,以免编译失败. 一,进入虚拟机内的Ubuntu系统 点击左下角的显示应用程序,我们去修改一下Ubuntu的源 ...

  3. openwrt源码下载移植

    openwrt源码下载移植 一.源码下载 1.1下载 由于本人多次尝试从SVN代码地址下载代码,出现无法访问因此这里选择从Git代码地址进行下载.在linux系统命令终端输入 git clone gi ...

  4. openwrt(一):openwrt源码下载及编译环境搭建

    声明:从网上各位大神的博客学习,整理后记录,非原创. 注:请用非root用户来下载源码 导航: 1. openwrt编译环境搭建 2. openwrt源码下载 3. feeds更新 1. openwr ...

  5. 编译CM13源码添加来去电归属地 SudaMod开源项目,查看commit提交记录

    这个问题纠结了很多时间,感谢苏打先森@Sudamod的开源项目. 大家知道CM13是没有来去点归属地的,就算有那也是google,对于中国人不适用,所以这里把方法贡献出来. 1.与通话有关的app D ...

  6. (一)openwrt源码目录概述

    前言 这段时间总是在和openwrt打交道,之前也零零散散地写过一点,还是希望能有点体系.还记得我刚看到源代码的时候,觉得无从下手.我想从Makefile的整个执行过程入手,搞清楚编译源代码的几个小时 ...

  7. openwrt源码下载地址(镜像)

    与openwrt.org的源码svn路径仅仅多了一个.cn svn://svn.openwrt.org.cn/openwrt/branches/backfiresvn://svn.openwrt.or ...

  8. Lucene全文搜索之分词器:使用IK Analyzer中文分词器(修改IK Analyzer源码使其支持lucene5.5.x)

    注意:基于lucene5.5.x版本 一.简单介绍下IK Analyzer IK Analyzer是linliangyi2007的作品,再此表示感谢,他的博客地址:http://linliangyi2 ...

  9. 修改sqlarchemy源码使其支持jdbc连接mysql

    注意:本文不会将所有完整源码贴出,只是将具体的思路以及部分源码贴出,需要感兴趣的读者自己实验然后实现吆. 缘起 公司最近的项目需要将之前的部分业务的数据库连接方式改为jdbc,但由于之前的项目都使用s ...

随机推荐

  1. 十分钟学会 tmux

    tmux 是一款终端复用命令行工具,一般用于 Terminal 的窗口管理.在 macOS 下,使用 iTerm2 能应付绝大多数窗口管理的需求. 如上图所示,iTerm2 能新建多个标签页(快捷键 ...

  2. 添加JSTL 1.2 依赖库

    添加JSTL 1.2 依赖库 JSTL 是一项很有历史的技术,而且版本自Java 5以来长期停留在1.2.但在做简单演示的页面时jstl依然有用,当前我们依然能看到这项技术(在博客.文档的demo里很 ...

  3. 基于React Native的58 APP开发实践

    React Native在iOS界早就炒的火热了,随着2015年底Android端推出后,一套代码能运行于双平台上,真正拥有了Hybrid框架的所有优势.再加上Native的优秀性能,让越来越多的公司 ...

  4. CentOS 6.5的安装详解

    CentOS 6.5的安装详解 主流: 目前的Linux操作系统主要应用于生产环境, 主流企业级Linux系统仍旧是RedHat或者CentOS 免费: RedHat 和CentOS差别不大,Cent ...

  5. ASP.NET Calendar(日历控件)

    定义和用法 Calendar 控件用于在浏览器中显示日历. 该控件可显示某个月的日历,允许用户选择日期,也可以跳到前一个或下一个月. 属性 属性 描述 .NET Caption 日历的标题. 2.0 ...

  6. Selenium+Python之163邮件发送

    今晚写了一个163邮箱登录的脚本,由于不停的访问163登录主页导致直接访问163邮箱主页登录需要输入验证码,因为无法获取到验证码,就这导致直接访问主页登录脚本不可行,为了绕过验证码,现在先访问hao1 ...

  7. C++知识体系

    基础知识 推荐书目 C++ <C++程序设计>(课程教材即可,简而薄) <STL源码剖析>(对C++进一步深化,也是必备知识) <C++对象模型>(经典中经典,重点 ...

  8. iOS 如何随意的穿插跳跃,push来pop去

    OS 如何随意的穿插跳跃,push来pop去 主题思想:如A.B.C.D 四个视图控制器 想要在 A push B 后, B 在push 到 D ,然后从 D pop 到 C ,在从 C pop 的A ...

  9. lucene 自定义评分

    摘自:http://blog.csdn.net/seven_zhao/article/details/42708953 1.基于FunctionQuery,(1)创建类并继承ValueSource:( ...

  10. 【 转】 C/C++结构体和联合体的区别

    联合体用途:使几个不同类型的变量共占一段内存(相互覆盖) 结构体是一种构造数据类型用途:把不同类型的数据组合成一个整体-------自定义数据类型 总结: 声明一个联合体: union abc { i ...