编译Openwrt固件


http://see.sl088.com/wiki/%E7%BC%96%E8%AF%91Openwrt%E5%9B%BA%E4%BB%B6#.E7.AE.80.E4.BB.8B

导出官方源

SVN源
Svn co.jpg
svn checkout svn://svn.openwrt.org/openwrt/trunk

或者

svn co svn://svn.openwrt.org/openwrt/trunk

co是checkout的简写

Git源
  • 这是一样的操作,换个不同的工具
Openwrt 源码库

设置权限

trunk对应目标的trunk,比如/media/work/Openwrt/trunk

cd /media/work/Openwrt
chmod -R 777 trunk

刷新版本

操作方法
svn up
耗掉时间

几秒钟

更新种子

操作方法
  • 更新种子列表,看起来是
./scripts/feeds update -a
  • 更新种子在menuconfig中的显示列表
./scripts/feeds install -a
有趣
  • 看起来这里不是真的下载包,而是下载一个列表[3]
它可以获得最新的列表
Run "./scripts/feeds update" to get the latest package definitions
  • install 看起来只是安装个文件链接
"./scripts/feeds install" to install symlinks into "package/feeds/*".
  • 那么 -a属性是啥子呢?
看起来是获得所有的包信息
  • 它的完整用法看起来是,它是个perl脚本,位于script目录,来看看它的源码部分

完整用法

耗掉时间

update要耗点时间,可能十几分钟,install就只要几分钟了。

Installfeed.jpg

配置目标系统

make menuconfig
Targat.jpg
  • Target System 选择目标芯片类型,WR703、MR11U是AR9XXX
  • Target Profile 选择目标路由器型号
    WR703N
    Wr703.jpg
    Mr11U
    Mr11u.jpg
  • 接着如果你喜欢ui可以加个luci
Luci-in.jpg Luci-1.jpg Luci-base.jpg
  • 勾勾搭搭一些其他你喜欢的

保存目标系统

选好了就选exit退出,然后选择SAVE。
如果需要搜索包用/(右边shift的邻居键)

开始编译

常规编译

make V=99
The way for make.jpg
  • V是为了显示详细日志信息,用来看看啥的

传说编译方法

  • 传说还有一种多线程编译方法
make V=99 -j 3
j后面不带参数可以全部线程拿去跑,看起来是这样的,加数字多半是为了限制
注意:-j 可不加,只是为了编译速度更快,但是容易出错 而且找不到正确错误位置
  • 加上 j=5 似乎跑的更快
  • j的准确作用看起来是多核编译,见官方的wiki[4]

编译时间参考

首次编译
  • 首次编译,第一次编译
编译人耗时CPU配置内存配置网络配置
么侠4小时左右intel的cpu1G内存网速不行
船长3小时31分钟AMD Athlon 250 CPUVmware分配1G内存开启VPN国外
  • 再次编译,在没有选择编译SDK的情况下,大概5分钟左右
又一次重新编译
  • 又一次重新编译,开始时间
2013年7月8日 (一) 18:37 (CST)
  • 大概两小时后完成了
2013年7月8日 (一) 20:40 (CST)
  • 哦对了,这次使用的线程是2
make V=99 j 2
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值