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 checkout svn://svn.openwrt.org/openwrt/trunk
或者
svn co svn://svn.openwrt.org/openwrt/trunk
co是checkout的简写
Git源
- 这是一样的操作,换个不同的工具
设置权限
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就只要几分钟了。
配置目标系统
make menuconfig
- 勾勾搭搭一些其他你喜欢的
保存目标系统
选好了就选exit退出,然后选择SAVE。
如果需要搜索包用/(右边shift的邻居键)
开始编译
常规编译
make V=99
- V是为了显示详细日志信息,用来看看啥的
传说编译方法
- 传说还有一种多线程编译方法
make V=99 -j 3
- j后面不带参数可以全部线程拿去跑,看起来是这样的,加数字多半是为了限制
-
注意:-j 可不加,只是为了编译速度更快,但是容易出错 而且找不到正确错误位置
- 加上 j=5 似乎跑的更快
- j的准确作用看起来是多核编译,见官方的wiki[4]
编译时间参考
首次编译
- 首次编译,第一次编译
编译人 | 耗时 | CPU配置 | 内存配置 | 网络配置 |
---|---|---|---|---|
么侠 | 4小时左右 | intel的cpu | 1G内存 | 网速不行 |
船长 | 3小时31分钟 | AMD Athlon 250 CPU | Vmware分配1G内存 | 开启VPN国外 |
- 再次编译,在没有选择编译SDK的情况下,大概5分钟左右
又一次重新编译
- 又一次重新编译,开始时间
- 2013年7月8日 (一) 18:37 (CST)
- 大概两小时后完成了
- 2013年7月8日 (一) 20:40 (CST)
- 哦对了,这次使用的线程是2
- make V=99 j 2