老毛子 padavan 固件的编辑教程——教你成功编辑第一个固件

(1) 上面 1、2、3 步,官方推荐的是 Oracle VirtualBox 虚拟机加 Ubuntu 16.04 LTS i386 系统,你可以根据自己的情况来调整,尽量与官方的一致,增加成功率。另外你也可以像我一样,找一个 VPS 主机试试,比较简单。

(2)上面的方法是官方默认的,编辑出来的固件是英文版的 RT-N56U(CPU是RT3883),也缺乏我们需要的中文支持。

(3)在第 8 步上,刚才默认安装的是 toolchain-3.4.x 内核,如果你要编辑支持 toolchain-3.0.x 内核的固件(在配置文件里有这么一行供你选择 CONFIG_LINUXDIR=linux-3.4.x ),你就要运行下面的代码。这一步我们不需要做,因为我们的固件大多数都是支持 3.4.x 的,但万一呢?好吧:

cd /opt/rt-n56u/toolchain-mipsel
sudo ./clean_sources
sudo ./build_toolchain_3.0.x

(4)上面的第 9 步,怎么编辑我们自己的配置文件,这是重点,也是难点,也是我不善于做的事。 可以把别人的配置文件拿来,修改以后再编辑自己的固件。官方的配置文件在这里,包括一个文件夹(例如 /opt/rt-n56u/trunk/configs/boards/RT-AC54U —— 这个CPU是7620,)和一个文件(对应 /opt/rt-n56u/trunk/configs/templates/ac54u_base.config)。根据自己了解到的硬件情况,例如生产厂家、CPU、内存、闪存、复位键、SD、USB、网线口等等,找一个相近的拿来修改。修改好以后,把这样一个文件夹(例如 RT-AC54U-ALL)和文件(ac54u_all.config)上传到对应的目录,把 /opt/rt-n56u/trunk/.config 文件修改成 ac54u_all.config 的信息(最好先把这个 .config 备份一下)。如果没有问题,你便可以使用上面的 10、11 两步生成自己的固件了。这一步修改,成功率很低,最容易出问题,慢慢折腾吧。这也是本文的特色,许多人都是死在这个配置文件上,我帮你们跨越了直接到达成功 ^_^。 另外,你也可以从恩山 hiboy 大侠的

文章 的一楼文末去下载 “padavan华硕固件源码汉化文件2015-5-17.zip” 回来,再找一款来修改。 常见的修改地方有这些:

(4.1)配置文件(例如 ac54u_base.config)里面每一行都可以为一条配置,前面带有“#”的为注释,可以认为它不存在,不管几个都与一个意义一样,一般带有几个“#”的不得修改,其他都是通过带和不带“#”实现增减的,根据英文含义,自己取舍吧 ^_^,我把几个重要的地方强调一下: CONFIG_FIRMWARE_PRODUCT_ID="RT-AC54U",RT-AC54U 对应配置文件夹的名字,注意名字的大小写要完全一致(其他地方也要这样严格要求),编辑时它会根据 /opt/rt-n56u/trunk/.config 对应过来读取,一点不对胃就反水,电脑不比人脑,呆板得很。 CONFIG_TOOLCHAIN_DIR=/opt/rt-n56u/toolchain-mipsel,为编辑工具链 toolchain-mipsel 所在位置,要符合实际。

(4.2)配置文件夹里面内容的修改(以 RT-AC54U 为例说明)

(4.2.1)  board.h,关系到一些按键、指示灯之类的,需要修改; 自己路由器的状态,可以在 Breed 状态下,使用 putty 在 22 端口,用 telnet 的方式进入,输入 gpio 获得,更多信息见 这里

(4.2.2)续上,board.mk 里面关系到 USB 的个数,例如 BOARD_NUM_USB_PORTS=2,这样写表示有2个USB口,没有就是 0

(4.2.3)续上,kernel-3.4.x.config 里面

(4.2.3.1)搜索这段代码 CONFIG_RAETH_ESW_PORT_WAN=,在这里开始的地方修改网线口顺序

(4.2.3.2)搜索这段代码 CONFIG_EXTERNAL_PA_EXTERNAL_LNA,改成下面第一段这样表示开启外置PA&LAN(外置无线信号放大器,如果你的机器有的话,注意去掉前面的#),第二段表示关闭,只取其一

CONFIG_EXTERNAL_PA_EXTERNAL_LNA=y
# CONFIG_EXTERNAL_PA_EXTERNAL_LNA is not set

(4.2.3.3)调用原厂无线参数,搜索如下语句(不是连续的),根据情况逐项修改(注意与周边不要矛盾),并删除 RT-AC54U 目录下以 SingleSKU 开头的文件

CONFIG_RT_SINGLE_SKU=n
CONFIG_RT2860V2_AP_GREENAP=y
CONFIG_EXTERNAL_PA_EXTERNAL_LNA=y
CONFIG_MT76X2_AP_GREENAP=y
CONFIG_MT76X2_AP_EXTERNAL_PA_EXTERNAL_LNA=y

(4.2.3.4)搜索 CONFIG_RT2880_DRAM_,根据自己的机器设置内存的大小(下面是64M的,两处对应)

# CONFIG_RT2880_DRAM_16M is not set
# CONFIG_RT2880_DRAM_32M is not set
CONFIG_RT2880_DRAM_64M=y
# CONFIG_RT2880_DRAM_128M is not set
# CONFIG_RT2880_DRAM_256M is not set
CONFIG_RALINK_RAM_SIZE=64

(4.2.3.5)搜索 CONFIG_RALINK_UART_BRATE ,修改成 CONFIG_RALINK_UART_BRATE=57600,便于与 breed 协调工作。 (5)公共部分修改 (5.1)常用设置的修改(此处不需去掉每行前面的#),打开 /opt/rt-56u/trunk/user/shared/defaults.h,建议做如下修改。

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

(4.2.3.6)修改闪存空间,搜索 CONFIG_MTD_STORE_PART_SIZ,例如你要将 /etc/storage 的存储空间改大成20M,则将后面的数字由 0x40000 改成 0xfb0000,同时需要更改 /opt/rt-n56u/trunk/user/scripts/dev_init.sh 里面的 /etc 后,改成 20M,noatime,此处同时可以修改 /tmp /var 的空间的大小。

(5.2)爱刷机的朋友,可以打开 /opt/rt-56u/trunk/user/shared/defaults.c,开启ssh,关闭telnet

{ "telnetd", "1" },
{ "sshd_enable", "0" },

(5.3)安装中文支持(安装好以后,界面上可以中英文转换) 从

这里 下载附件,本地电脑上解压,根据其目录结构,把你的编辑环境中的对应文件改名,把此处的文件上传替代原有,然后在我们的配置(例如 ac54u_base.config)文件里,设置成中文就可以了。

#CONFIG_FIRMWARE_INCLUDE_LANG_BR=y
CONFIG_FIRMWARE_INCLUDE_LANG_CN=y
#CONFIG_FIRMWARE_INCLUDE_LANG_CZ=y
#CONFIG_FIRMWARE_INCLUDE_LANG_DA=y
#CONFIG_FIRMWARE_INCLUDE_LANG_DE=y
#CONFIG_FIRMWARE_INCLUDE_LANG_ES=y
#CONFIG_FIRMWARE_INCLUDE_LANG_FI=y
#CONFIG_FIRMWARE_INCLUDE_LANG_FR=y
#CONFIG_FIRMWARE_INCLUDE_LANG_NO=y
#CONFIG_FIRMWARE_INCLUDE_LANG_PL=y
#CONFIG_FIRMWARE_INCLUDE_LANG_RU=y
#CONFIG_FIRMWARE_INCLUDE_LANG_SV=y
#CONFIG_FIRMWARE_INCLUDE_LANG_UK=y

(5.4)修改环境变量,请去这个文件里修改:/opt/rt-n56u/trunk/user/scripts/profile

至此,全文结束,回去编辑第二个固件吧。


70%(14)

30%(6)
上一页 1 2
发表评论?

14 条评论。

  1. 小米路由3g怎么填写?感谢

    CONFIG_RAETH_ESW_PORT_WAN=
    CONFIG_RAETH_ESW_PORT_LAN1=
    CONFIG_RAETH_ESW_PORT_LAN2=
    CONFIG_RAETH_ESW_PORT_LAN3=
    CONFIG_RAETH_ESW_PORT_LAN4=

    • 自己估计到填吧,编辑好固件再测试,重点保证 WAN 口正确。

      • 有没什么办法可以查WLAN口的数啊?小米路由3g已经刷过不死Breed,和H大的padavan 。怎么保证WLAN口不错误?如果填写错误怎么办?会不会导致进不了 不死Breed?三个问题谢谢了。

        • 即使wan口不正确,仍然可以再次刷机,刷你正确不正确的都可以,只要不动 breed 即可。

          • 那么这5个数字好难测试啊,编译了几次数字都不正确。你的路由是在哪里查询到的?有没有什么方法可以在哪里查询到,例如再别人编译好的固件里面查?具体呢?

  2. 请问我贴的这个教程。小米路由3G,WAN口LAN口怎么测试适配?我找了很多教程都没有教,就差这一步了。。Breed输入btntst或者输入gpio都没有显示什么啊。

    修改文件/opt/rt-n56u/trunk/configs/boards/RT-AC54U/kernel-3.4.x.config
    CONFIG_RALINK_UART_BRATE=57600

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

  3. 博主,您好,您的中文界面从哪里来的呢?

发表评论

*