CaryStudio

 找回密码
 立即注册
搜索
查看: 7490|回复: 0

ubuntu 64位编译华硕AC1200G+固件

[复制链接]
发表于 2017-11-17 09:44:07 | 显示全部楼层 |阅读模式

请先登录

您需要 登录 才可以下载或查看,没有帐号?立即注册

x
1、安装依赖包
sudo apt-get install --no-install-recommends  autoconf automake bash bison bzip2 diffutils file flex g++ gawk gcc-multilib gettext gperf groff-base libncurses-dev libexpat1-dev libslang2 libssl-dev libtool libxml-parser-perl make patch perl pkg-config python sed shtool tar texinfo unzip zlib1g zlib1g-dev
sudo apt-get install lib32stdc++6 lib32z1-dev
sudo apt-get --no-install-recommends install automake1.11
sudo apt-get install libelf-dev:i386 libelf1:i386
sudo apt-get --no-install-recommends install lib32z1-dev lib32stdc++6
apt-get install intltool
apt-get install autopoint:


2、下载源码

https://www.asus.com/Networking/RT-AC1200G-plus/HelpDesk_Download/
wget http://dlcdnet.asus.com/pub/ASUS ... LUS_30043801234.zip
wget http://dlcdnet.asus.com/pub/ASUS ... LUS_30043801234.zip
unzip GPL_RT_AC1200G_PLUS_30043801234.zip && tar -zxvf *1234.gz && mv -r /root/*1234/asuswrt /opt/ac1200g
3、配置环境变量
export PATH=$PATH:/opt/ac1200g/asuswrt/release/src-rt-9.x/src/toolchains/hndtools-arm-linux-2.6.36-uclibc-4.5.3/bin:
4、编译
修改GPIO,适配AC9,asuswrt\release\src-rt-9.x\src\router\rc\init.c
nvram_set_int("btn_rst_gpio", 7|GPIO_ACTIVE_LOW);
nvram_set_int("btn_wps_gpio", 9|GPIO_ACTIVE_LOW);
nvram_set_int("led_pwr_gpio", 15);
nvram_set_int("led_wps_gpio", 10);
//        nvram_set_int("led_5g_gpio", 11);    // active high
nvram_set_int("led_usb_gpio", 1);

cd /opt/ac1200g/asuswrt/release/src-rt-9.x/src/ && make RT-AC1200G+

5、排错处理
提示:
Can't use 'defined(@array)' (Maybe you should just omit the defined()?) at kernel/timeconst.pl line 373.
/opt/ac1200g/asuswrt/release/src-rt-9.x/src/linux/linux-2.6.36/kernel/Makefile:137: recipe for target 'kernel/timeconst.h' failed
解决:
将kernel/timeconst.pl中第373行的defined()去掉只留下@val就可以了
if (!@val) {
@val = compute_values($hz);
}

编译3.0.0.4.380_4089版本时提示:
*** No rule to make target 'tcode.c', needed by 'tcode.o'。
解决:
修改src/router/shared/Makefile,将“%.o: prebuild/%.o”改变一下位置:
%.o: prebuild/%.o
@echo " [shared] cp $@"
@cp -f $< $@

%.o: %.c .%.depend
@echo " [shared] CC $@"
@$(CC) $(CFLAGS) -o $@ -c $<</p>

.depend: $(OBJS:%.o=%.c)
@$(CC) $(CFLAGS) -M $^ > .depend


编译成功:
a2
生成的固件在/opt/ac1200g/asuswrt/release/src-rt-9.x/src/image目录下

另一篇教程如下:
【教程】动手编译华硕固件asuswrt给ac9用【官方固件可用的mentohust使用说明更新】
http://www.right.com.cn/forum/thread-212232-1-1.html
(出处: 恩山无线论坛)

问题:
编译后提示工具链找不到,但工具链我已经export了,不知道怎么回事
  GEN     include/applet_tables.h
  CC      applets/applets.o
/bin/sh: arm-brcm-linux-uclibcgnueabi-gcc: command not found
make[6]: *** [applets/applets.o] Error 127
make[5]: *** [applets_dir] Error 2

解决:
找不到工具链的问题可以建一下软链接,但是代码的编译还有点问题;




回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

Archiver|手机版|小黑屋|CaryStudio ( 粤ICP备16022806号 )

GMT+8, 2023-10-5 01:36 , Processed in 0.091004 second(s), 12 queries .

Powered by Discuz! X3.4

© 2001-2017 Comsenz Inc.

快速回复 返回顶部 返回列表