ubuntu12编译openwrt
搭建编译环境
Ubuntu x64 12.04下的命令:
sudo apt-get install subversion
sudo apt-get install git
sudo apt-get install flex
sudo apt-get install g++
sudo apt-get install gawk
sudo apt-get install zlib1g-dev
sudo apt-get install libncurses5-dev
当然,也可以将上面的命令合起来:
sudo apt-get install subversion git flex g++ gawk zlib1g-dev libncurses5-dev
建立工作目录及获取openwrt源码
mkdir openwrt
cd openwrt
svn co svn://svn.openwrt.org/openwrt/trunk/
trunk是openwrt的开发版,openwrt有好几个分支,要编译其它分支,sun://后的换为相应的地址即可。
建立openwrt文件夹是为了方便存放不同分支的代码,如果你不需要,可以省略“mkdir openwrt”及“cd openwrt”。
如果svn的速度慢,可以使用openwrt的第三方镜像,比如国内的openwrt中文论坛所建的镜像。
更新feed及添加package
openwrt的一些额外功能都是通过package实现的,很多个package就组成了一个feed,我们可以根据需求更新自己想要的feed的源。
 例如我们需要luci的web管理界面和python的支持,那么我们需要更新luci和packages的feed源:
cd trunk
./scripts/feeds update luci packages
./scripts/feeds install luci packages
当然,我们推荐更新所有feed并添加所有package
./scripts/feeds update -a
./scripts/feeds install -a
配置及编译
进入配置界面
make menuconfig
以后再次编译时,要先切换到工作目录:
cd openwrt
cd trunk
然后在次过程中选择好target system和target profile,target
system需要看你路由器的cpu芯片信息,target
profile是你路由器的型号。接下来就可以根据自己的需求进行定制了,添加上需要的支持或去掉无用的包,按“Y”在固件中添加包按“Y”,按“N”去
 掉不需要的包。
要运行OH3C,必须有python-mini(lang->python->python-mini)的支持。
如果你的路由器flash空间比较紧张,可以去掉下面的包:
- Kernel modules->Network Support->kmod-ppp
- Network->ppp
选好后就保存配置退出开始编译了:
make -j
-j 后面可以跟参数,即同时进行的任务数,比如2或4,不跟参数意为不限制同时进行的任务数,会大大减少编译的时间,特别是首次编译。
编译过程中可能不会下载一些东西,所以断网可能造成编译中断,编译所需时间与你的CPU及网速有很大关系,一般首次编译在40分钟到2小时之间不等。以后的编译一般在30分钟之内。
生成的固件在~/openwrt/trunk/bin/XXXXX目录下。
ubuntu12编译openwrt的更多相关文章
- Ubuntu12.10编译openwrt遇到的错误
		由于Openwrt有很多工具是要先编译的,在Ubuntu12.10平台下编译openwrt时就遇到了下面这样的错误:elf.cpp: In static member function 'static ... 
- 使用 Docker 编译 OpenWRT(Widora)
		Docker 是一种新的被称之为容器的虚拟机.本文将使用此工具,进行 OpenWRT 的编译. 在 Docker 中下载 Ubuntu 14.04 的镜像 使用以下命令可以十分方便的从远程服务器上将 ... 
- 转:小白编译openwrt固件教程
		原文地址 编译openwrt固件并没有想象的那么复杂,我也是个小白,以下内容是我将网络上的编译教程稍微进行了一下整合.因为我发现很多编译教程没有说明如何更改flash相关配置. 安装ubuntu, ... 
- 在 Arch 下编译 OpenWRT cmcurl 问题与解决方案
		0 现象 在 Arch 下编译 OpenWRT (15.05) cmcurl 时报错: [ 28%] Linking C executable LIBCURL lib/libcmcurl.a(open ... 
- centos6.8下搭建编译openwrt的环境
		1. 安装必要软件 su root yum install zlib-devel zlib-static -y 2. 编译openwrt 请参考这里 
- (七)ubuntu下编译openwrt内核的环境配置
		首先安装基本开发环境: sudo apt-get install ssh vim samba tftp nfs 安装编译openwrt须要的包: 解压openwrt包编译出错: Build depen ... 
- debian下编译openwrt固件
		参考文章:Ubuntu下编译OpenWRT固件 我买的路由器是RG100A-AA,采用了bcm63xx系列的芯片. 下载openwrt源码: svn co svn://svn.openwrt.org/ ... 
- 使用外部 toolchain 编译 openwrt
		默认编译 openwrt 时会先编译一套 toolchain. 这个步骤耗时较长. 使用外部 toolchain 可以多个 project 共用一套 toolchain , 而且也不重再编译它了. 省 ... 
- ubuntu编译openwrt前端web界面
		openwrt是由Cisco放出源代码的开放无线路由平台.由于是基于linux内核,所以可以将很多linux平台下的软件移植到此平台下,然后让无线路由拥有很多意想不到的功能,例如拿来做BT下载器,音乐 ... 
随机推荐
- 利用ASP.NET AJAX的Timer讓GridView每隔一段時間做到自動換頁的功能
			最近在討論區看到這個問題,小弟利用asp.net ajax的timer來實作這個功能 利用timer每隔一段時間,讓gridview自動跳頁並且更新gridview的內容 asp.net(c#) Gr ... 
- iOS7初体验(2)——单元测试
			在Xcode 4.6及以前的版本,一直觉得单元测试这部分功能做得很鸡肋,用起来感觉很别扭.这一次Xcode 5.0默认就引入了单元测试,赶快来看看看相比以前的版本有什么提升吧!~_~ 1. 首 ... 
- Python:函数定义
			#!/usr/bin/python3 #函数 def add(a,b): return a+b print("add(2,5) = ",add(2,5)) def add2(a,b ... 
- Windows的命令行怎么支持通配符
			摸索出一个小技巧,虽然Windows的命令行本身不支持通配符,但可以在脚本里把传进来的参数当通配符用 只要加上@ARGV = glob "@ARGV";就行了 @ARGV = gl ... 
- TatukGIS - GisDefs - CanonicalSQLName 函数
			函数名称 CanonicalSQLName 所在单元 GisDefs 函数原型 function CanonicalSQLName(const _name: String; const _tem ... 
- Mvc Controller 单元测试 Mock User.Identity.Name
			被测试的Action 包含 User.Identity.Name 代码,在写测试代码需要Mock ControllerContext对象 代码如下: var mock = new Mock<Co ... 
- 嵌套JSON 取出name与value
			好久不用都忘了 mark下 $.each( { name: "John", lang: "JS" }, function(i, n){ alert( &qu ... 
- 关于float与double
			//float与double的范围和精度 1. 范围 float和double的范围是由指数的位数来决定的. // float的指数位有8位,而double的指数位有11位,分布如下:// float ... 
- GNU 网络程序
			______________________________________________________________________________ | 版权声明 | | 1.本文可以转载.修 ... 
- Node.js Express框架
			Express 介绍 Express是一个最小的,灵活的Node.js Web应用程序框架,它提供了一套强大的功能来开发Web和移动应用程序. 它有助于基于Node Web应用程序的快速开发.下面是一 ... 
