hyn 发表于 2017-5-29 19:57

分享RT-AC1200HP原版支持64M内存(K2、小度BR100等设备适用)固件编译过程

本帖最后由 hyn 于 2017-5-29 19:57 编辑

对于非华硕硬件如果刷华硕固件,在各种原版、改版固件中,似乎只有RT-AC1200HP固件是可以使用华硕APP管理的。
尝试自己编译RT-AC1200HP,发现有点小坑,把过程分享出来,以便以后自己查阅,也让更多小白参与进来,发布适合不同设备的固件。

编译环境:
Ubuntu 64位系统,安装必备软件:
sudo apt-get install -y libncurses5 libncurses5-dev m4 bison gawk flexg++ git gitk zlib1g-dev autoconf autopoint libtool shtool autogen mtd-utils intltool sharutils docbook-xsl-* libstdc++5 texinfo dos2unix xsltproc make libc6-i386 lib32stdc++6 lib32z1

步骤:
1. 获取源码。从官方网站 https://www.asus.com/Networking/RTAC1200HP/HelpDesk_Download/ 下载最新源码,目前最新版本3.0.0.4.380.4148。Please select OS 选择 Others,有时网站访问不了,翻一下墙即可。



2. 源码及环境准备。
    解压下载的文件,最终得到源程序目录: asuswrt ,假设文件解压到用户目录下:~/asuswrt
   
cd ~/
    tar xvjf asuswrt/tools/buildroot-gcc342.tar.bz2
    export PATH=${PATH}:`pwd`/asuswrt/tools/brcm/hndtools-mipsel-linux/bin:`pwd`/asuswrt/tools/brcm/hndtools-mipsel-uclibc/bin:`pwd`/asuswrt/tools/brcm/K26/hndtools-mipsel-uclibc-4.2.4/bin:`pwd`/buildroot-gcc342/bin
修改内核代码
vim asuswrt/release/src-ra-mt7620/linux/linux-2.6.36.x/kernel/timeconst.pl
注释第373行和375行
371
372                @val = @{$canned_values{$hz}};
373 #         if (!defined(@val)) {
374                            @val = compute_values($hz);
375 #         }
376               output($hz, @val);
修改Makefile
vim asuswrt/release/src/router/shared/Makefile
把“%.o: %.c .%.depend”和“%.o: prebuild/%.o”两部分对调位置,修改后如下所示:
198
199 %.o: prebuild/%.o
200                      @echo " cp $@"
201                      @cp -f [        DISCUZ_CODE_616        ]lt; $@
202
203 %.o: %.c .%.depend
204                      @echo " CC $@"
205                      @$(CC) $(CFLAGS) -o $@ -c [        DISCUZ_CODE_616        ]lt;
206

3. 修改编译参数:
修改target.mak中RT-AC1200HP的设置
vim asuswrt/release/src-ra-mt7620/target.mak
默认设置为128M内存,64M内存的设备会启动失败
export RT-AC1200HP := IPV6SUPP=y HTTPS=y MIPS32=r2 RALINK=y MT7620=y BBEXTRAS=y USBEXTRAS=y EBTABLES=y SAMBA3=yMODEM=y MODEMPIN=y PARENTAL2=y ACCEL_p p t pD=y PRINTER=y USB="USB" APP="network" AUTODICT=y SHP=y BUILD_NAME="RT-AC1200HP" RTAC1200HP=y NTFS="open" ODMPID=y WEBDAV=y CLOUDSYNC=y SWEBDAVCLIENT=y LED_ALL=y NEW_RGDM=y RA_SKU=y virtual**C=y LANWAN_LED=y BTN_WIFITOG=y DUALWAN=y REPEATER=y PROXYSTA=y SSH=y DISK_MONITOR=y AP_CARRIER_DETECTION=y REBOOT_SCHEDULE=y \
      BLINK_LED=y \
      BOOT_FLASH_TYPE=SPI SPI_FAST_CLOCK=y \
      DRAM=128MMTK_TW_AUTO_BAND4=y\
            SECOND_IF=MT7612E EDCCA=y \
            JFFS2=y PSISTLOG=y \
      TEMPROOTFS=y WPSMULTIBAND=y \
            EXTRA_KERNEL_CONFIGS="MT7620_BAUDRATE=115200 RT2880_DRAM_128M=y UBOOT_CMDLINE=y INTERNAL_PA_EXTERNAL_LNA=y RT2860V2_AP_RTMP_INTERNAL_TX_ALC=n RT2860V2_AP_RTMP_TEMPERATURE_COMPENSATION=y" LAN50=y ATCOVER=y GETREALIP=y
适合64M内存57600波特率的固件修改为:

export RT-AC1200HP := IPV6SUPP=y
HTTPS=y MIPS32=r2 RALINK=y MT7620=y BBEXTRAS=y USBEXTRAS=y EBTABLES=y
SAMBA3=yMODEM=y MODEMPIN=y PARENTAL2=y ACCEL_p p t pD=y PRINTER=y
USB="USB" APP="network" AUTODICT=y SHP=y BUILD_NAME="RT-AC1200HP"
RTAC1200HP=y NTFS="open" ODMPID=y WEBDAV=y CLOUDSYNC=y SWEBDAVCLIENT=y
LED_ALL=y NEW_RGDM=y RA_SKU=y virtual**C=y LANWAN_LED=y BTN_WIFITOG=y
DUALWAN=y REPEATER=y PROXYSTA=y SSH=y DISK_MONITOR=y
AP_CARRIER_DETECTION=y REBOOT_SCHEDULE=y \
      BLINK_LED=y \
      BOOT_FLASH_TYPE=SPI SPI_FAST_CLOCK=y \
      DRAM=128MMTK_TW_AUTO_BAND4=y\
            SECOND_IF=MT7612E EDCCA=y \
            JFFS2=y PSISTLOG=y \
      TEMPROOTFS=y WPSMULTIBAND=y \
      
       EXTRA_KERNEL_CONFIGS="MT7620_BAUDRATE=<font color="Red">57600</font> RT2880_DRAM_<font color="Red">64M</font>=y
UBOOT_CMDLINE=y INTERNAL_PA_EXTERNAL_LNA=y
RT2860V2_AP_RTMP_INTERNAL_TX_ALC=n
RT2860V2_AP_RTMP_TEMPERATURE_COMPENSATION=y" LAN50=y ATCOVER=y
GETREALIP=y

4. 开始编译:
cd ~/; cd asuswrt/release/src-ra-mt7620/ ; make RT-AC1200HP

图形界面定制功能:
cd ~/
export SRCBASE=`pwd`/asuswrt/release/src-ra-mt7620
cd asuswrt/release/src/router ; make menuconfig


删除不需要的语音:
vim asuswrt/release/src/router/tools/Lnx_AsusWrtDictPrep/dictctrl.txt
编译了几个固件,在硬改32M闪存的小度BR100上测试可用
http://pan.baidu.com/s/1kVaB8qF

设为主页 发表于 2017-5-31 06:52

感谢分享。

拉侧旋 发表于 2017-5-31 07:14

这固件其实非常好用
还有双wan,IP带宽限制

天生的心 发表于 2017-5-31 07:22

多谢分享!

呆呆呆大大大 发表于 2017-5-31 08:14

这个固件带wifi漫游助手吗,想做AP用

yimimn 发表于 2017-6-1 09:48

支持安装插件吗?希望能有软件中心

cheapjr 发表于 2017-6-2 10:06

做个k2的适配教程好不好

wtfriends 发表于 2017-6-3 20:53

谢谢分享,好好学习一下。

天生的心 发表于 2017-6-3 21:28

多谢分享!再支持一下。

honghs 发表于 2017-6-3 21:38

不带漫游助手的啦。

cheapjr 发表于 2017-6-4 00:16

网口顺序怎么改好呢?k2上面倒序了

safehorse 发表于 2017-6-12 13:34

请教楼主如何修改使得这固件可以小于5MB

lsydy 发表于 2017-6-12 16:54

最好来一个AC9可使用的固件。

lshopq 发表于 2017-6-13 16:44

请问K2要刷哪个波特率的呀

hyn 发表于 2017-6-13 19:47

lshopq 发表于 2017-6-13 16:44
请问K2要刷哪个波特率的呀

好像是57600。但其实无所谓,不对就换一下速率,关键是内存要选64MB的。
页: [1] 2 3 4
查看完整版本: 分享RT-AC1200HP原版支持64M内存(K2、小度BR100等设备适用)固件编译过程