OpenWrt编译
首先,你需要一台电脑,安装一个ubuntu,这个电脑可以用虚拟机,也可以用普通的电脑另外最好学一下llinux基础,最好英文基础也有。。。。。比如。。。我上次见到一个人用了sudo rm -rf / 表示吓尿了{:soso_e136:}还有请自备梯子,没梯子是编译不出来的(很多库都是google的)从官网下载ubuntu,我下的是ubuntukylin 14.04 64位桌面版,虚拟机的话推
首先,你需要一台电脑,安装一个ubuntu,这个电脑可以用虚拟机,也可以用普通的电脑另外最好学一下llinux基础,最好英文基础也有。。。。。比如。。。我上次见到一个人用了sudo rm -rf / 表示吓尿了{:soso_e136:}
还有请自备梯子,没梯子是编译不出来的(很多库都是google的)
从官网下载ubuntu,我下的是ubuntukylin 14.04 64位桌面版,虚拟机的话推荐下32位版本
下载地址在此
32位:http://cdimage.ubuntu.com/ubuntu ... 1-desktop-i386.iso?
64位:http://cdimage.ubuntu.com/ubuntu ... -desktop-amd64.iso?
曲调日常使用的话是用本地局域网的一台台式机当服务器使的
配置是这样子
CPU:AMD FX8150 (请不要喷AMD,单核性能确实是一坨屎,但是对于编译之类的多线程应用的话,除了功耗高点,速度的话优于I5低于I7,性价比之王)
内存:4G*2
主板:技嘉880G USB3
硬盘:西数 500G黑盘(本机的编译速度的极限在这里,木有钱组RAID,也木有钱上固态)
这里为了演示方便所以用的虚拟机
配置好虚拟机
接下来就是安装环节
安装进行时。。。
安装完成=崭新的中国专版ubuntu已经呈现我们眼前了
接下来是配置软件源,这样做环境的时候下载速度更快,身为一个杭州佬,我用的是阿里源
进入软件中心
编辑-软件源
其他站点
china的站点
选择好后保存就行
接下来就需要配置安装环境了
进入桌面之后按CTRL+ALT+T进入终端
首先更新下软件列表
sudo apt-get update
接下来是安装基础环境,这些包的根据是哪来的?后面会提到
sudo apt-get install build-essential asciidoc binutils bzip2 gawk gettext git subversion libssl-dev libncurses5-dev patch unzip zlib1g-dev
如果是64位系统的话还需要安装32位兼容包
sudo apt-get install libc6:i386 libgcc1:i386 libstdc++5:i386 libstdc++6:i386
大概十几分钟的漫长等待之后,环境就安装好了
接下来是下载源码
首先请在用户目录下mkdir 任意名
cd 任意名
注:任意名为你自己起的名字,不要直接照搬啊,亲
源码下载地址的话可以通过以下网址查看
https://dev.openwrt.org/wiki/GetSource
还有这里要说明一下源码名字
以往教程里面都说backfire是稳定版,trunk是开发板
现在我在此要更正一下
1:trunk是开发板
2:稳定版的话现在大概有4个版本,backfire,AA,BB,CC
3:稳定版都是原来的TRUNK的一个稳定分支
4:backfire感觉是史前文明的产物,最新的ubuntu GCC编译器已经无法兼容backfire的代码,除非降级GCC,否则编译会出错
本人演示的代码用的是openwrt 15.05 最新的稳定版
输入源码的下载命令
git clone git://git.openwrt.org/15.05/openwrt.git
之后
cd openwrt
接下来下载feeds更新,这是为了下载和安装让luci之类的第三方包的源码,如果不进行这步的话配置菜单是没有非op的包给你选的
./scripts/feeds update -a
安装feeds更新
./scripts/feeds install -a
接下来是
make defconfig
检测环境和添加包,之前的环境安装就是根据这个来的
然后
make menuconfig
熟悉的界面出来了的哦
第一项为目标系统,用于选择平台系列
第二项为子目标
第三项为参考模型,用于选择目标板型号
其他的话是各种配置之类的东西,一般情况下就配置下第一项和第三项,其他默认就可以出固件了
我准备编译一个703的固件,所以这么选(接下来的工作全部切换到服务器,虚拟机的速度会哭出来)
接下来要添加LUCI
路径为LUCI-collections-LUCI
其他包的话暂时就不要选吧,因为第一次编译会下载大量源码,为了速度所以包越简单越好
接下来按ESC退出再退出,最后悔提示保存,一个回车就搞定了
最后就要开始激动人心的编译啦首先
make download V=s
下载dl库,这样可以稍微节省点时间
对于第一次编译,请不要开多线程。。。。因为不好排错
make V=99
就行
如果第一次编译成功的话,之后的编译可以充分发挥多核心的优势了
首先
ulimit -s 10240
这个命令是防止爆栈
对make加入多线程编译支持
make V=99 -j线程数
速度比单线程快N倍
接下来是漫长的等待
编译成功,输出文件
生成的文件在bin/系列名/ 下面
那两个bin文件就是刷机文件了。。。。其中factory是原厂升OP的文件,sysupgrade为OP升级文件
另外还有就是介绍一下如何更改固件大小
编译target/linux/ar71xx/image/Makefile
查找到对应机型的定义文件
现在703是4M的,使用的压缩模式为tplink-4mlzma,我要变成8M的只需要把tplink-4mlzma改成tplink-8mlzma
CC,BB改固件大小只需要改这一个文件就行,AA的话还要把另外一个固件生成配置文件给改掉。。。具体操作方法以后补吧
更多推荐
所有评论(0)