1. 在平台搭建之前,有几点需要说明一下的:

所谓的平台搭建,不仅包括固件的烧写,还包括开发,编译和调试的环境搭建。

Openwrt平台是基于Linux的,其支持虚拟机安装,对于手边没有设备的亲们,可以通过安装虚拟机感受一下(木有图形界面,需要命令行控制)。

2. Openwrt开发环境搭建流程(仅列出我本人所搭建的环境,以Atheros 9344为例):

(1)操作系统: Ubuntu12.04。(版本有点老,推荐使用更行的版本)。

(2)在Ubuntu下搭建Openwrt开发环境:

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

因源码随时可能变动,下载后,运行snv up更新本地代码。

下载后一般额外软件包需要更新: (没有安装git的要安装一下:sudo apt-get install git)

./scripts/feeds update -a
./scripts/feeds install -a

(3)Openwrt系统的首次编译(p.s. 在编译过程中,程序会自动通过feed机制,在网上下载相应的依赖文件,这要求编译者所在网络环境良好!):

编译必须保证有良好的网络连接,且非root账户。

下一步是检查编译环境:

#make defconfig

若defconfig回显提示缺少软件包或编译库等依赖,则按提示安装所缺软件包或库等即可

若提示有某个依赖库没有安装,请按照提示按照对应的依赖库. 直到上述检查无返回。

进行编译配置:

对目标固件进行配置

make menuconfig

对目标固件进行配置. 由于首次编译时间会较长,因此我创建一个无外加软件的固件:(下面三幅图,分别对应于Target System,Subtarget和Target Profile)

最后保存设置:

之后就是漫长的编译的时间了:

make #默认安装,无提示 make V=99 #显示编译日志,并打印在shell中

等待漫长的时间之后,如果成功,可在编译目录下 bin/

可以看到多个.bin文件,这些.bin文件中

openwrt-ar71xx-generic-db120-kernel.bin:对应于只烧写内核固件

openwrt-ar71xx-generic-db120-rootfs-squashfs.bin:对应于文件系统固件

openwrt-ar71xx-generic-db120-squashfs-sysupgrade.bin:对应于完整的固件

至此,一个可以烧写的固件就编译好了。当然,可以看出这个系统只能将路由器启动,能够正常加电运转,但是其没有任何功能。(在后面,我们需要对其添加各种软件支持,甚至是通过编译内核的方式添加软件应用)

(4)  固件烧写

对于固件烧写呢,有多种方式,我仅将我所使用过的方式列出来:

++Web在线固件升级,这个一般适用于原厂固件升级,或者Openwrt镜像烧写。此方法难度低,如果固件没有问题并且少些过程中没有断电的话,都能成功烧写。

++tftp方式升级,本人使用的Atheros9344路由,机身自带有console口,可以通过网线直连的方式,直接通过PC进行烧写。

此过程难度较高,需要有一定的开发基础。

此外,还有好多方法,在网上都能找到,由于暂时不需要,我就不一一列出了。

(5) 路由重启,测试

进入这一步,整个开发、编译、调试和烧写的过程就到最后了。

转载请注明出处: http://www.cnblogs.com/double-win/ 谢谢!

Openwrt平台搭建相关推荐

  1. [Openwrt 项目开发笔记]:Openwrt平台搭建(一)

    [Openwrt项目开发笔记]系列文章传送门:http://www.cnblogs.com/double-win/p/3888399.html 正文: 最近开始着手进行Openwrt平台的物联网网关设 ...

  2. 【智能路由器】新手openwrt平台搭建

    [智能路由器]系列文章连接 http://blog.csdn.net/u012819339/article/category/5803489 从本篇文章开始,后续文章将会转为在openwrt上的开发, ...

  3. 计算机oj平台搭建应该学什么,青岛大学开源OJ平台搭建

    源码地址为:https://github.com/QingdaoU/OnlineJudge 可参考的文档为:https://github.com/QingdaoU/OnlineJudgeDeploy/ ...

  4. Windows平台搭建-----C语言

    上期我们已经进行Linux的平台搭建,今期我们就来搭建下我们最常用的.最适合初学者的一种方式,那就是搭建Windows平台开发环境,只需要两种工具即可,一个就是编辑器(编辑代码的工具),另一个就是编译 ...

  5. 手把手教你生信分析平台搭建

    宏基因组按:此系列教程为基因学苑的王通老师原创发布.非常适合刚接受生信,又有服务器管理需求的小伙伴做为入门材料,一共20篇文章,内容涉及服务器选购.Linux系统安装.用户管理.软件安装.软件兼容环境 ...

  6. RocketMQ 实战 集群监控平台搭建

    RocketMQ 实战 集群监控平台搭建 概述 RocketMQ有一个对其扩展的开源项目incubator-rocketmq-externals,这个项目中有一个子模块叫rocketmq-consol ...

  7. 运维企业专题(2)HTTP加速器——Varnish缓存机制后篇(后端服务器集群、负载均衡与CDN推送平台搭建)

    1.实验一:配置后端服务器集群 1)实验目的:定义不同域名站点的后端服务器,通过域名会访问不同的后端主机 2)实验过程: <1>在调度器server1上编写Varnish的配置文件 vim ...

  8. mesos+marathon平台搭建

    2019独角兽企业重金招聘Python工程师标准>>> mesos+marathon平台搭建 博客分类: 虚拟化 mesos 一.安装jdk和maven 修改/etc/profile ...

  9. 影院平台搭建 - (2)FLV发布系统的简单搭建

    使用Wowza Media Server进行FLV的发布,相对于Adobe自己的解决方案的对比在这里.RTMP和HTTP的对比在这里.(需要FQ才能看) 最新Wowza Media Server Pr ...

  10. 基于认证的代理平台搭建配置squid-20130730

    基于认证的代理平台搭建配置squid-20130730 功能:通过squid代理实现 (1)基于用户名密码认证的出口ip路由选择 (2)基于client源ip的出口ip路由选择 (3)基于连接本机ip ...

最新文章

  1. iOS 实现多个可变 cell 复杂界面的制作
  2. 网络端口的分类和作用
  3. Git Push 不用再次输入用户名和密码方法
  4. 关于citrix 负载及WI的一些问题
  5. 招聘 | 香侬在召唤:算法工程师,让金融把你的代码变现
  6. 对ASCALL码的理解
  7. 计算机user用户的密码存储在,windows存放用户密码的文件
  8. BigPipe 大的页面分割成一个一个管道
  9. ant java 外部jar包_java – 在使用Ant的新jar文件构建中包括外部jar文件
  10. 基于JAVA+SpringBoot+Mybatis+MYSQL的文档管理系统
  11. ORACLE 包内的存储过程的动态sql
  12. 单片机音乐倒数计时器c语言,基于单片机音乐倒数计时器设计.doc
  13. X264源码下载地址
  14. 软件环境整理(pro、sit、test、pre、dev)
  15. mysql先进后出_栈、队列中“先进先出”,“后进先出”的含义
  16. C# 实现登录并跳转界面
  17. 7-16 新浪微博热门话题 (30 分)
  18. Why Transformer works
  19. python抓取视频真实地址_快手批量获取真实地址python
  20. android studio拨打电话代码,AndroidStudio实现拨打电话和发短信(kotlin)

热门文章

  1. win10系统下计算器界面变成英文的解决方法
  2. 【LeetCode】279.完全平方数(四种方法,不怕不会!开拓思维)
  3. SaaS营销网站的组织结构
  4. 中高级测试工程师面试题(不断补充中)
  5. matlab简单处理图像
  6. Python 之多元线性回归分析
  7. ip 华三secondary_H3C交换机配置端口IP sub实例
  8. 有关E45: ‘readonly‘ option is set (add!to override)错误的解决方法
  9. C++实现截图截屏功能汇总
  10. office相关文件转pdf的几种方式