华硕 固件 Linux内核,ubuntu 64位编译华硕AC1200G+固件
Ubuntu版本16.04
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
2、下载源码
wget http://dlcdnet.asus.com/pub/ASUS/wireless/RT-AC1200G+/GPL_RT_AC1200G_PLUS_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 $<
.depend: $(OBJS:%.o=%.c)
@$(CC) $(CFLAGS) -M $^ > .depend
编译成功:
生成的固件在/opt/ac1200g/asuswrt/release/src-rt-9.x/src/image目录下
华硕 固件 Linux内核,ubuntu 64位编译华硕AC1200G+固件相关推荐
- Linux内核中64位除法函数do_div
使用asm/div64.h中宏do_div #include <asm/div64.h> unsigned long long x,y,result; unsigned long mod; ...
- ubuntu 64位 编译 模拟城市
失控中提到了模拟城市. 想在linux下玩一下, 可惜自己的是64位系统, 不知道已经编译版的可以运行否. 没有试验, 也不想试验. 于是准备自己编译一下: 1. 首先下载源码: http://www ...
- linux内核启用64位除法,关于内核中的乘法和除法。
关于内核中的乘法和除法. 作者:heziq 发布于:2015-5-6 22:02 前几天一直在看wowo的时间子系统,一直在思索mult和shift变量,为什么mult要尽量大,shift尽量小.这是 ...
- 编译64位linux内核,为树莓派4编译64位的内核
8种机械键盘轴体对比 本人程序员,要买一个写代码的键盘,请问红轴和茶轴怎么选? 树莓派从3代开始就已经是64位的CPU了,64位的CPU当然要使用64位的系统了.但是即便性能更强大的树莓派4都已经发布 ...
- wine qq 2012 for linux Ubuntu 64位兼容(7月19号更新)
Linux兼容内核论坛 ? 查看主题 - wine qq 2012 for linux Ubuntu 64位兼容(7月19号更新) wine qq 2012 for linux Ubuntu 64位兼 ...
- linux控制编译so 位数,Linux下解决64位下Apache编译模块时/usr/lib/libexpat.so问题
Linux下给apache编译libapreq2模块时候报错:/usr/lib/libexpat.so: could not read symbols: File in wrong format 尝试 ...
- Linux内核的配置和编译
文章目录 前言 1.内核介绍 2.linux内核源码目录结构 3.内核配置和编译实验 4.内核的配置原理 5.menuconfig 6.Kconfig文件详解 7.menuconfig的实验 前言 以 ...
- linux内核基础和配置编译原理
2020-8-8 星期六 北京 闷热天 总结linux内核基础和配置编译原理,分两部分总结.仅作为技术积累,方便日后查阅.参考了网上的一些笔记. 第一部分:内核基础 2.14.1.内核和发行版的区别 ...
- 解决ubuntu 64位无法运行steam的问题
这个是以前在自己网站上写的一篇解决方法.今天是感恩节,steam刚好打折,买了个游戏,突然想到了这个文章,现在搬到这边 在steam自从有了linux版的steam以后玩游戏什么的就不用愁啦,可是在u ...
最新文章
- 快速提升UI设计感的7个版式小妙招
- Go 语言 defer recover panic 简单例子
- linux 安装 celluloid 视频播放器
- MySQL -Naivacat工具与pymysql模块
- 水晶报表基础入门——1.水晶报表技术
- 有两个地方,用到了javabean对象和属性字符串值之间的转换
- iOS sqlite
- Markdown完整语法说明
- ETH突破620美元关口 日内涨幅为5.36%
- 由alpha matte生成trimap
- HTTP请求消息头和HTTP响应消息头
- [hdu1532]最大流
- consul connect envoy 启动acls和tls后,grpc连接异常
- innerhtml与outerhtml的区别
- 3dmax9.0 简体中文正式版(官方非汉化版本)下载网址
- CRM系统管理日常计划
- Oracle数据库表空间数据文件最大容量以及存满时处理方法
- 百度AI车牌识别测试
- 车牌号测试打分最准确的软件,车牌号码吉凶测试
- 嵌入式linux学习路径--新手入门篇
热门文章
- sql存储过程编写_您可以针对任何存储过程编写三个标准SQL单元测试
- 清华大学2016年软件学院攻读工程硕士专业学位研究生培养方案
- C#实现邮件发送的功能
- c++ 插入排序算法
- copy_to_user,copy_from_user,get_user,put_user函数比较
- ConcurrentHashMap 实现细节(转)
- group by 分组函数 的用法
- 高阶台式计算机零组件,2010年电脑旺季!零组件缺DDR3封测紧
- JDK1.8 LinkedHashMap源码
- Jdbc -Statement