|
本帖最后由 hyn 于 2017-5-29 19:57 编辑
对于非华硕硬件如果刷华硕固件,在各种原版、改版固件中,似乎只有RT-AC1200HP固件是可以使用华硕APP管理的。
尝试自己编译RT-AC1200HP,发现有点小坑,把过程分享出来,以便以后自己查阅,也让更多小白参与进来,发布适合不同设备的固件。
编译环境:
Ubuntu 64位系统,安装必备软件:
sudo apt-get install -y libncurses5 libncurses5-dev m4 bison gawk flex g++ 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 " [shared] cp $@"
- 201 @cp -f lt; $@
- 202
- 203 %.o: %.c .%.depend
- 204 @echo " [shared] CC $@"
- 205 @$(CC) $(CFLAGS) -o $@ -c 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=y MODEM=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=128M MTK_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=y MODEM=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=128M MTK_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
|
本帖子中包含更多资源
您需要 登录 才可以下载或查看,没有账号?立即注册
×
评分
-
查看全部评分
|