OpenWRT 编译教程

1、安装Ubuntu

到 http://www.ubuntu.org.cn/desktop/get-ubuntu/download/ 下载,版本随便,我选的是10.10 32位版。安装过程就不说了,图形化安装,而且是中文版,连安装都搞不定的,可以关闭本页面了。可以安装在虚拟机里,也可以安装在物理机了,官方建议有条件的最好安装在物理机上,大概是说虚拟机有时会有不可预料的情况,但装在虚拟机里的人多得是了。题外话:安装过程中某一步设置用户名密码时,我是选择了自动登录,因为懒得每次都输密码登录,反正只是编译用的系统又没什么秘密。

2、关闭屏保

安装好后,在左上角“系统”菜单的“首选项”中选择“屏幕保护程序”,然后去掉左下角的“计算机空闲时激活屏幕保护程序”,然后按“关闭”,这个窗口是没有“应用”或“确定”之类的,直接关闭它就会保存。用惯了WINDOWS的用户注意了。为什么要做这步呢? 因为整个编译过程中有些步骤要等一段时间的,老是自动启用屏幕保护程序,然后还要重新输密码才能退出,也是麻烦事。

3、切换到root用户

选左上角的菜单“应用程序”-“附件”-“终端”,进入命令行,然后输入sudo –sH,注意大小写,然后输入装系统时设置的用户密码,就能切换到root(提示:输入密码的时候不会有*之类的显示的,是完全不显示,部分人不必惊慌)。切换到root是为了安装或升级部分必要的组件,有些组件需要root权限。

4、安装编译需要的组件

apt-get install g++
apt-get install libncurses5-dev
apt-get install zlib1g-dev
apt-get install bison
apt-get install flex
apt-get install unzip
apt-get install autoconf
apt-get install gawk
apt-get install make
apt-get install gettext
apt-get install gcc
apt-get install binutils
apt-get install patch
apt-get install bzip2
apt-get install libz-dev
apt-get install asciidoc
apt-get install subversion

每一行回车后都会马上检测安装或升级那个组件,官方WIKI用的是单一条命令,我分开了,因为这样更容易查看每一个组件的安装是否成功。一行命令的话,一大堆东西连续出来,懒得拖滚动条回头看了。一个个分开执行方便看一些。个人喜好了。当中最后面的asciidoc组件是需要下载400多MB东西的,慢慢等了。下载东西之前会有提示本次要下载多少M的东西,问是否的,按y然后回车让它下载就行了。提示:假如它提示找不到软件包的话,那麻烦你再看清楚命令中的软件名名称,因为有时是字母中间冒个数字1出来之类的,很容易错看成字母L。

5、退出root

上述安装完成后,这一步很重要,就是执行Exit命令退出root。如果不退出root的话,那后面会出现晕人的情况,下一步是下载源码,以root身份下载源码后,在后续操作中有些会提示不能以root身份操作,但源码已经以root身份下载了,所有文件的“所有者”都是root,退出root后再操作,又会提示没有权限,因为文件是root的,普通用户无法访问,结果只能用命令修改文件所有者,比较麻烦。所以这里就要退出root,以普通用户身份执行下面的下载源码命令。其实一开始安装组件的时候可以在命令前加上sudo来达到临时用root身份,执行完后又回到普通权限的目的,但对于新手来说,不必过于追求这些了,有个可行的方法就凑合着先用吧。

6、下载源码

分两种,一种是最新版但不是最稳定,也就是trunk版,一种是相对稳定版,backfire版。源码下载命令分别是:
先创建文件夹:
Mkdir openwrt
Cd openwrt

Trunk版下载命令:svn co svn://svn.openwrt.org/openwrt/trunk/
Backfire下载命令:svn co svn://svn.openwrt.org/openwrt/branches/backfire/
选择你想要的版本就行了。然后又是等待下载…

7、开始准备编译
Cd Trunk或者Cd backfire
如果不是刚下载的代码,为了保持代码为最新状态,应该定期运行Svn up更新代码,什么时候有变你是不知道的
然后是更新软件包:
./scripts/feeds update –a
./scripts/feeds install –a
如果不更新软件包的话,你会发现后面是看不到很多软件包的,也就无法集成那些看不到的包了。然后是make defconfig,再make menuconfig进入定制界面,慢慢选了,里面可选只编译指定设备的固件,一定要注意选对自己的设备类型,然后可以指定该类型下的具体哪一款。配置比较多,不慢慢说了,其实我也不是很懂,自己进去撞几回就差不多了,有些软件包你不懂的,就表示你不需要了,有些软件包你装官网版本后要另外装的,你见到了,就可以选上让它集成,要让它前面括号里出现*才表示集成。配置完成后退出记得选保存。如果你想修改源码,应该在此时进行,比如支持大容量Flash之类的修改,自己上网查到修改什么文件什么地方后,就在Ubuntu图形界面上进去找到文件,双击打开文本编辑器修改保存。如果想集成中文包或其它非官方包的话,那我也帮你不到了,因为我也还不会。

8、执行编译

最后就执行make正式开始编译,首次编译必然是漫长的等待。如果是双核CPU,使用Make –j 2命令可以加快速度,但有人却不建议使用,官方WIKI也没说这点,我也不知道有没有好处。但我是4核CPU,使用Make –j 4命令,发现CPU占用率并没有明显提高,看了帮助,发现可以不加数字,不加数字默认就是不限制同时进行的任务数,我用了Make –j不限同时任务数后,CPU居然100%了,但整个编译过程的占用率都会有波动,刚开始是100%,后面有段时间是25%左右(也就是只用单核了),然后有时又会40%到50%(差不多用了双核),有时甚至几乎没有操作,CPU占用很低。但首次编译是特别慢的,第一次之后的都相对快很多了。悲剧的是,我第一次用Make –j编译结果是失败,然后再一次Make不用参数才成功,也许就是有人不建议使用的原因,但因为有前一次的编译,所以第二次是很快的。也就是说,假如用j参数能加速的话,虽然有可能会失败,但因为第二次不会花很长时间,所以也许加j参数还是能在第一次编译中加速的。不过我没有对比加不加-j参数花的时间区别。有兴趣的朋友自己对比吧。

9、编译完成后会出现bin文件夹,进去找你需要的BIN刷吧。

OpenWRT 编译教程

时间: 2024-10-05 05:06:56

OpenWRT 编译教程的相关文章

!!!!OpenWrt系列教程汇总

OpenWrt FAQ https://dev.openwrt.org.cn/wiki/faqs OpenWrt编译教程 完全新手教程:openwrt编译全过程(sse) 直接编译出带中文的openwrt 固件 教程,适用luci 0.10下(by zjhzzyf) 刷机教程) OpenWrt刷机教程--免拆机免TTL线 OpenWrt TTL线刷机教程 [xhh2001]DB120-WG刷OPENWRT成功了(无TTL) DLINK2650BU刷OpenWrt 教程 RG100A刷机+上网配置

小白编译openwrt固件教程(转)

本文转自:http://hi.baidu.com/websfx/item/55072a3babdd934a3175a17c 小白编译openwrt固件教程 编译openwrt固件并没有想象的那么复杂,我也是个小白,以下内容是我将网络上的编译教程稍微进行了一下整合.因为我发现很多编译教程没有说明如何更改flash相关配置. 安装ubuntu,不赘述. 注意在安装完成后,root不能直接登录,需要设置密码,设置方法,自己百度一下. 如果是虚拟机安装,将虚拟机的网卡配置为桥接模式: *********

转:小白编译openwrt固件教程

原文地址 编译openwrt固件并没有想象的那么复杂,我也是个小白,以下内容是我将网络上的编译教程稍微进行了一下整合.因为我发现很多编译教程没有说明如何更改flash相关配置. 安装ubuntu,不赘述. 注意在安装完成后,root不能直接登录,需要设置密码,设置方法,自己百度一下. 如果是虚拟机安装,将虚拟机的网卡配置为桥接模式: **************以下操作需要在root用户下操作************************ 编辑/etc/networt/option文件夹下的i

记录OpenWRT编译(未完成)

刚入手一部TPLINK-WR886N路由器,想刷入OpenWRT.网上找了许久,发现没有现成的固件可用,于是就去找OpenWRT编译的教程来学习,照着编译 (参考地址:http://blog.csdn.net/fyh2003/article/details/44564219). 照着编译发现问题,SVN拷贝程序的时候,SVN提示连接被拒绝.在官方Wiki库中找到解决方案 https://dev.openwrt.org/wiki/GetSource 官方将版本控制的从SVN切换到Git,所以获取O

openwrt编译环境搭建

1,首先安装ubuntu系统,这里安装的是虚拟机 2,安装openwrt编译所需环境  apt-get install build-essential libncures5-dev gawk libssl-dev subversion git uzip    在安装之前运行了下 apt-get update 在安装时出现了“/var/lib/dpkg/local”的错误  rm了这个文件 3,在home目录下mkdir openwrt了一个文件目录,然后运行 git clone git://gi

Padavan 编译教程

配置编译环境 安装虚拟机 安装Ubuntu 16.04LTS 安装 git 12 sudo apt-get update sudo apt-get install git 转到/opt目录,并且用命令克隆 Padavan 仓库 12 cd /optsudo git clone https://bitbucket.org/padavan/rt-n56u.git 安装编译固件所需要的工具 1 sudo apt-get install autoconf automake bison build-ess

Android APK反编译教程(带工具)

工具介绍:工具下载 apktool     作用:资源文件获取,可以提取出图片文件和布局文件进行使用查看 dex2jar    作用:将apk反编译成java源码(classes.dex转化成jar文件) jd-gui       作用:查看APK中classes.dex转化成出的jar文件,即源码文件 反编译教程: apk反编译得到程序的源代码.图片.XML配置.语言资源等文件 下载上述工具中的apktool,解压得到3个文件:aapt.exe,apktool.bat,apktool.jar

openwrt编译Build dependency: Please do not compile as root.错误解决

Checking 'working-make'... ok. Checking 'case-sensitive-fs'... ok. Checking 'getopt'... ok. Checking 'fileutils'... ok. Checking 'working-gcc'... ok. Checking 'working-g++'... ok. Checking 'ncurses'... ok. Checking 'zlib'... ok. Checking 'gawk'... ok

openwrt 编译软件包出现错误(is missing dependencies for the following libraries: libpthread.so.0)

install -m0755 /home/yanfa/workspace/trunk-wr703/build_dir/target-mips_r2_uClibc-0.9.33.2/lk_cnp_serial_eth/lk_cnp_serial_eth /home/yanfa/workspace/trunk-wr703/build_dir/target-mips_r2_uClibc-0.9.33.2/lk_cnp_serial_eth/ipkg-ar71xx/lk_cnp_serial_eth/b