Padavan 编译教程

配置编译环境

安装虚拟机

安装Ubuntu 16.04LTS

安装 git

12
sudo apt-get update sudo apt-get install git

转到/opt目录,并且用命令克隆 Padavan 仓库

12
cd /optsudo git clone https://bitbucket.org/padavan/rt-n56u.git

安装编译固件所需要的工具

1
sudo apt-get install autoconf automake bison build-essential flex gawk gettext gperf libtool pkg-config zlib1g-dev libgmp3-dev libmpc-dev libmpfr-dev texinfo python-docutils mc

编译一个交叉编译的工具链

123
cd /opt/rt-n56u/toolchain-mipselsudo ./clean_sourcessudo ./build_toolchain

编译3.0内核的固件

如果你需要编译3.0内核的固件就需要执行下面的步骤,默认支持3.4内核

123
cd /opt/rt-n56u/toolchain-mipselsudo ./clean_sourcessudo ./build_toolchain_3.0.x

编译好后的工具链会放在/opt/rt-n56u/toolchain-mipsel/toolchain-3.0.x

以后在更新或者升级工具链的情况下才需要执行以上步骤。

机型适配(newifi mini)

进行入固件源码目录

1
cd /opt/rt-n56u/trunk

生成配置文件

1234567
// 删除默认的配置文件 opt/rt-n56u/trunk 下的 .config 文件,默认是隐藏的,可以使用Ctrl+H显示与隐藏配置文件(或者用以下命令进行删除)

sudo rm -f opt/rt-n56u/trunk/.config 

// 从 opt/rt-n56u/trunk.config/templates 里拷贝出 ac54u_base.config 到 opt/rt-n56u/trunk下并重命名成.config(或者用以下命令进行操作)

sudo cp opt/rt-n56u/trunk/configs/templates/ac54_base.config /opt/rt-n56u/trunk/.config

修改配置文件

由于修改后默认的.config 配置文件里文档写的很详细,就不多解释,根据自己需要开启与关闭需要与不需要的功能,#这个符号默认是注释代码,也就是关闭某个功能,反之去掉就是开启(可以把文档内容拷出来到翻译里翻译一遍,可以很清楚的看到每个功能是干什么用的)

适配灯与复位键

修改文件 /opt/rt-56u/trunk/configs/boards/RT-AC54U/board.h

123456789101112131415161718192021222324252627282930313233
/* ASUS RT-AC54U */

#define BOARD_PID		"RT-AC54U"#define BOARD_NAME		"RT-AC54U"#define BOARD_DESC		"ASUS RT-AC54U Wireless Router"#define BOARD_VENDOR_NAME	"ASUSTek Computer Inc."#define BOARD_VENDOR_URL	"http://www.asus.com/"#define BOARD_MODEL_URL		"http://www.asus.com/Networking/RTAC54U/"#define BOARD_BOOT_TIME		25#define BOARD_FLASH_TIME	120#undef BOARD_GPIO_BTN_RESET#define BOARD_GPIO_BTN_WPS	11#undef  BOARD_GPIO_BTN_WLTOG#undef BOARD_GPIO_LED_ALL#define BOARD_GPIO_LED_WIFI	72#undef  BOARD_GPIO_LED_SW2G#define BOARD_GPIO_LED_SW5G	50#define BOARD_GPIO_LED_POWER	9#define BOARD_GPIO_LED_LAN	55#define BOARD_GPIO_LED_WAN	51#define BOARD_GPIO_LED_USB	52#undef  BOARD_GPIO_LED_ROUTER#undef  BOARD_GPIO_PWR_USB#define BOARD_HAS_5G_11AC	1#define BOARD_NUM_ANT_5G_TX	2#define BOARD_NUM_ANT_5G_RX	2#define BOARD_NUM_ANT_2G_TX	2#define BOARD_NUM_ANT_2G_RX	2#define BOARD_NUM_ETH_LEDS	1#define BOARD_HAS_EPHY_L1000	0#define BOARD_HAS_EPHY_W1000	0

//上面是newifi mini的,由于每个机型不同,仅供参考

适配WAN口与LAN口

修改文件 /opt/rt-56u/trunk/configs/boards/RT-AC54U/kernel-3.4.x.config

1234567
CONFIG_RAETH_ESW_PORT_WAN=4CONFIG_RAETH_ESW_PORT_LAN1=1CONFIG_RAETH_ESW_PORT_LAN2=0CONFIG_RAETH_ESW_PORT_LAN3=3CONFIG_RAETH_ESW_PORT_LAN4=2

//上面是newifi mini的,由于每个机型不同,仅供参考

开启外置PA&LAN支持

在 /opt/rt-56u/trunk/configs/boards/RT-AC54U/kernel-3.4.x.config里删除# CONFIG_EXTERNAL_PA_EXTERNAL_LNA is not set 这一行代码,并加入下面的代码

1
CONFIG_EXTERNAL_PA_EXTERNAL_LNA=y

扩展内存

修改/opt/rt-56u/trunk/configs/boards/RT-AC54U/kernel-3.4.x.config配置文件,以AC-54U为例,默认是64M,所以只需要将以下代码进行如下修改

123456789101112131415
// 没修改前是64M内存CONFIG_RT2880_DRAM_16M is not setCONFIG_RT2880_DRAM_32M is not setCONFIG_RT2880_DRAM_64M=yCONFIG_RT2880_DRAM_128M is not setCONFIG_RT2880_DRAM_256M is not setCONFIG_RALINK_RAM_SIZE=64

// 修改成128MCONFIG_RT2880_DRAM_16M is not setCONFIG_RT2880_DRAM_32M is not setCONFIG_RT2880_DRAM_64M is not setCONFIG_RT2880_DRAM_128M=yCONFIG_RT2880_DRAM_256M is not setCONFIG_RALINK_RAM_SIZE=128

设置时区

修改/opt/rt-56u/trunk/user/shared/defaults.h

12
#define DEF_TIMEZONE		"CST-8"#define DEF_NTP_SERVER0		"ntp1.aliyun.com"

生成固件

清除源码树

1
sudo ./clear_tree

开始编译生成固件

1
sudo ./build_firmware

编译完成后生成的固件在/opt/rt-56u/trunk/images里面

更新源码

转到/opt目录,克隆最新源码

12
cd /optsudo git pull

如果你对本地存仓库进行了更改,那么在更新源码的时候,你必须运行以下命令

12
sudo git stashsudo git pull

如果更改了工具链,则必须重新构建它

1234
cd /opt/rt-n56u/toolchain-mipselsudo ./clean_sources  sudo ./clean_toolchain  sudo ./build_toolchain

以上的修改建议使用手工进行修改,如果直接使用文件进行覆盖的话很容易出错。而且一但编译出错的话需要花很多时间进行调整,所以还是自己一步步慢慢改吧。

更多请参考Padavan官网编译教程

时间: 2024-12-13 10:27:41

Padavan 编译教程的相关文章

Android APK反编译教程(带工具)

工具介绍:工具下载 apktool     作用:资源文件获取,可以提取出图片文件和布局文件进行使用查看 dex2jar    作用:将apk反编译成java源码(classes.dex转化成jar文件) jd-gui       作用:查看APK中classes.dex转化成出的jar文件,即源码文件 反编译教程: apk反编译得到程序的源代码.图片.XML配置.语言资源等文件 下载上述工具中的apktool,解压得到3个文件:aapt.exe,apktool.bat,apktool.jar

OpenWRT 编译教程

1.安装Ubuntu 到 http://www.ubuntu.org.cn/desktop/get-ubuntu/download/ 下载,版本随便,我选的是10.10 32位版.安装过程就不说了,图形化安装,而且是中文版,连安装都搞不定的,可以关闭本页面了.可以安装在虚拟机里,也可以安装在物理机了,官方建议有条件的最好安装在物理机上,大概是说虚拟机有时会有不可预料的情况,但装在虚拟机里的人多得是了.题外话:安装过程中某一步设置用户名密码时,我是选择了自动登录,因为懒得每次都输密码登录,反正只是

CyanogenMod12编译教程

玩机组出品]CyanogenMod12编译教程 同时提供基于安卓5.0的MKL魔趣猪扒饭编译教程~ [玩机组出品]魔趣猪扒饭MKL50.1编译教程 http://www.oneplusbbs.com/forum.php?mod=viewthread&tid=578692 (出处: 一加社区, 一加论坛, 一加手机, 一加手机官方论坛) CM12同步源码及编译教程 环境搭建 1.安装64位Ubuntu系统(实体安装.虚拟机安装均可) 注意:要求机器至少4G内存(虚拟机至少分配4G内存),硬盘至少1

Hadoop -2.7.2包64位编译教程

网上很多教程关于Hadoop-2.4包64位编码的教程,最新版2.7.2几乎相同,在此为大家复述一下. 分享两个比较权威的附上链接: Ubuntu用户推荐参考: http://www.aboutyun.com/forum.php?mod=viewthread&tid=8130&extra=page%3D1&page=1 CentOs系列用户参考:http://www.cnblogs.com/hadoop2015/p/4259899.html 1.前期工具准备: (1)  CentO

Ogre3d Android平台编译教程

上一篇我们讲了Ogre3d 在 Window平台的编译流程方法 点击跳转 这一篇我们介绍 Ogre3d 编译到Android 平台的方法.可以和官方英文教程对照学习. 转载自博客 http://blog.csdn.net/huutu QQ:790621656 首先下载Ogre3d 依赖库源代码 和Ogre3d 源代码,下载方法在上一篇中介绍了,这里不再重复. 转载自博客 http://blog.csdn.net/huutu QQ:790621656 编译工具:NDK.Visual Studio.

[C#反编译教程]001.Reflector.NET反编译工具 v8.5绿色版+注册机+注册教程

截图 下载地址 Reflector.NET反编译工具 v8.5绿色版+注册机 下载地址:http://pan.baidu.com/s/1mgN1Cpi 密码:mx19 简介 .NET Reflector是一个类浏览器和反编译器,.NET Reflector可以分析程序集并向你展示它的所有秘密..NET 框架向全世界引入了可用来分析任何基于 .NET 的代码(无论它是单个类还是完整的程序集)的反射概念.反射还可以用来检索有关特定程序集中包含的各种类.方法和属性的信息.使用 .NET Reflect

Mysql 源码编译教程贴

题外话:这是一篇教程贴,不仅学的是mysql的编译,还是一些编译的知识.我也是一个菜鸟,写一些感悟和心得,有什么问题可以批评指正,谢谢! 如果只是为了安装请移到我的另一篇安装贴: Mysql安装贴 环境: OS: CentOS 6.6x64 mini mysql: mysql-5.6.251. mysql 下载: http://dev.mysql.com/downloads/mysql/ 说明:这个网站有时候JS被墙,你选择了Source Code会没有反应,所以可以考虑翻翻翻翻翻翻Q或者直接点

QT5静态编译教程,主要针对vs2012(渡世白玉)

QT5,VS2012静态编译,所有的库准备充分的话qwebkit也可以静态编译通过,但是我编译的版本使用中如果用了QWEBVIEW控件在连接时会出错. 注:我自己编译的环境是:win server 2012 dc版 , vs2012 with update1,qt-everywhere-opensource-src-5.0.2,perl和rupy都是在qt官方给的地址下的最新的X64的,python是2.7 X64的... 本文主要针对qt 5.X版本,qt4.X的依赖没那么多,可以酌情参考下,

红米3(ido)CyanogenMod12.1编译教程

环境搭建 1.安装64位Ubuntu系统(实体安装.虚拟机安装均可) 注意:要求机器至少4G内存(虚拟机至少分配4G内存),硬盘至少100G空间(源码20G+,编译后整个目录约60~70G) 安装方法请百度~ 2.更新系统至最新版本,在终端下输入 sudo apt-get update sudo apt-get upgrade 3.安装编译必需软件包 sudo apt-get install bison build-essential curl flex git gnupg gperf libe