文档章节

Ubuntu 12.04下编译Openwrt教程 推荐

枫影Xda
 枫影Xda
发布于 2012/10/30 17:14
字数 652
阅读 9098
收藏 3

搭建编译环境

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目录下。

© 著作权归作者所有

枫影Xda
粉丝 24
博文 85
码字总数 56898
作品 0
长沙
私信 提问
加载中

评论(1)

PROVISA
PROVISA
不够详细
OpenWrt系列教程汇总 & OpenWrt简体中文Wiki

OpenWrt系列教程汇总 OpenWrt简体中文Wiki 快速导航

AlphaJay
2011/07/26
42.7K
1
Ubuntu 12.04下编译Openwrt教程

1、搭建Ubuntu环境、自己解决、我用的是VirtualBox 感觉不错 2、打开“终端”。首先输入 sudo –sH 大小写注意!建议直接复制粘贴。然后输入装系统时设置的用户密码,就能切换到root(提示:输...

枫影Xda
2012/10/30
1K
0
从0开始,制作Cubie版OpenWRT(功能齐全,大小仅有11M)

大家说,从0开始制作系统真是太难了,有失败的,有放弃的。 好吧,给大家一种简单的buildroot的方式,那就是,使用OpenWRT 目前Openwrt对Cubietech的产品已经算大部分支持了,不过官网上还叫...

cubieboard
2014/08/20
1K
0
OpenWrt running on VMware

如何在Vmware上运行Openwrt。只有Kamikaze的X86[2.6]以上版本能正常工作,不支持老的稳定版本(WhiteRussian)。已经在Windows XP和Linux主机上测试了该方法。 使用一个预编译的版本。 e.g....

AlphaJay
2011/07/28
2.2K
0
OpenWrt-Git依赖报错

前言 在Ubuntu中搭建openwrt编译环境时,安装完了需要的软件之后,我们执行命令检查依赖是否满足, 有时会出现以下警告: 明明我们已经安装了git,却显示我们未安装,只是openwrt里面prereq-...

ihid
2018/08/10
0
0

没有更多内容

加载失败,请刷新页面

加载更多

MongoDB系列-在复制集(replication)以及分片(Shard)中创建索引

关注我,可以获取最新知识、经典面试题以及微服务技术分享   在使用MongoDB时,在创建索引会涉及到在复制集(replication)以及分片(Shard)中创建,为了最大限度地减少构建索引的影响,在副本...

ccww_
10分钟前
7
0
SAP HANA数据库multi container模式JDBC链接connection refused

报错如下信息 com.sap.db.jdbc.exceptions.JDBCDriverException: SAP DBTech JDBC: Cannot connect to jdbc:sap://xxx.xxx.xxx.xxx:30015 [Cannot connect to host xxx.xxx.xxx.xxx:30015 [C......

flash胜龙
35分钟前
14
0
c++ 虚基类

c++ 虚基类 p556

天王盖地虎626
41分钟前
72
0
k8s删除Terminating状态的命名空间

背景: 我们都知道在k8s中namespace有两种常见的状态,即Active和Terminating状态,其中后者一般会比较少见,只有当对应的命名空间下还存在运行的资源,但是该命名空间被删除时才会出现所谓的...

Andy-xu
52分钟前
57
0
seata源码阅读笔记

seata源码阅读笔记 本文没有seata的使用方法,怎么使用seata可以参考官方示例,详细的很。 本文基于v0.8.0版本,本文没贴代码。 seata中的三个重要部分: TC:事务协调器,维护全局事务和分支...

东都大狼狗
今天
33
0

没有更多内容

加载失败,请刷新页面

加载更多

返回顶部
顶部