文档章节

零基础openwrt固件编译

戴维营教育iOS
 戴维营教育iOS
发布于 2015/12/27 20:36
字数 1198
阅读 43
收藏 0

戴维营教育《物联网/智能家居开发》课程系列

1.OpenWRT项目简介

OpenWRT是一个专用于无线路由器设备的Linux发行版。支持众多的芯片方案的路由器设备,由x86到ARM,MIPS等等。

目前稳定版本是: BARRIER BREAKER (14.07)

目前开发版本是: Chaos Calmer (trunk)

详细信息参看官方网址: https://openwrt.org

2.采用OpenWRT的智能路由器

  • 极路由
  • 小米路由
  • 优酷路由
  • 迅雷路由
  • 360安全路由
  • 华为荣耀立方
  • 联想NewWiFi
  • 其他商业WiFi广告定制路由
  • …… ……

3. 采用OpenWRT的开发板

  • WRTNode
  • VoCore

4. 获取OpenWRT的源代码

我们可以去项目的官方网站获取其源代码,通过SVN或者GIT的方式,官方开发者网站:https://dev.openwrt.org/wiki/GetSource

trunk (main development tree)

  • Main repository
git clone git://git.openwrt.org/openwrt.git

14.07 branch (Barrier Breaker) - Main repository

git clone git://git.openwrt.org/14.07/openwrt.git

当然,在我们正式开始编译前我们需要把前提依赖环境和源码准备好,

打开虚拟终端,执行如下命令:

openwrt@cheetah-desktop:~$ sudo apt-get install git build-essential libncurses5-dev gawk libssl-dev subversion;openwrt@cheetah-desktop:~$ mkdir -p $HOME/opensource;openwrt@cheetah-desktop:~$ cd  $HOME/opensource;openwrt@cheetah-desktop:~/opensource$ git clone git://git.openwrt.org/openwrt.git##上面命令会克隆远程仓库到本地,根据网络环境情况需要较长时间。

待源代码克隆下来之后,我们的源码和编译环境基本就OK了。

5. OpenWRT官方固件编译

进入源码目录下面进行软件包的更新与“安装”。

openwrt@cheetah-desktop:~/opensource$ cd openwrt;openwrt@cheetah-desktop:~/opensource/openwrt$ ./scripts/feeds update -a;openwrt@cheetah-desktop:~/opensource/openwrt$ ./scripts/feeds install -a;

执行上面的脚本之后就可以对我们中意的设备类型进行编译设置。如下命令进入终端下面的buildroot编译配置界面:

make menuconfig;

我们教程所采用的设备的CPU芯片是MT7620系列(MT7620A/N),下面就开始为MT7620系列的设备进行最基本的配置,步骤如下:

  1. Target System (Atheros AR7xxx/AR9xxx) --->回车进入下翻后空格选择Ralink RT288x/RT3xxx然后再回车后退,这时编译目标就是: Target System (Ralink RT288x/RT3xxx) --->了。

  2. Subtarget (RT3x5x/RT5350 based boards) --->回车进入下翻按空格选择(X) MT7620 based boards 然后回车后退,这时编译的子目标就是:Subtarget (MT7620 based boards) ---> 了。

  3. LuCI ---> 回车进去 1. Collections ---> 再回车进去再空格选择第一个<*> luci(new),然后在Exit一路后退到主菜单。

  4. 在主菜单Exit退出配置并保存。

That's All. 基本配置就是这么简单。下面开始我们人生的“第一次”路由器固件编译了,是不是很紧张阿? What Ever. 第一次总是要经历的,那就积极面对吧。

我们用下面这个命令来进行编译固件:

make V=s

就这么一个命令就会开启整个编译构建系统,全自动的去为我们编译我们需要的固件。所以的所以,这个过程将会是一个漫长的等待。如果互联网网络比较通畅,那么咱们这第一次编译的时间大约要花2~3小时。因为构建系统需要去互联网上下载各种程序库源代码,然后再逐个编译,最后集成并组建出我们需要的固件。

这段时间里,我们大可以出去湘江边溜达一圈,隔江望望毛主席,再回来咱们戴维营里看结果。

溜达回来后,编译也许结束,等结束的这个时候,我们的固件会乖乖的躺在当前目录下的bin/ramips/这个路径下.

openwrt@cheetah-desktop:~/opensource/openwrt$ ls bin/ramips/
md5sums                                                        openwrt-ramips-mt7620-rp_n53-squashfs-sysupgrade.bin
openwrt-ramips-mt7620-ai-br100-squashfs-sysupgrade.bin         openwrt-ramips-mt7620-rt-n14u-squashfs-sysupgrade.bin
openwrt-ramips-mt7620-ArcherC20i-squashfs-sysupgrade.bin       openwrt-ramips-mt7620-uImage.bin
openwrt-ramips-mt7620-dir-810l-squashfs-sysupgrade.bin         openwrt-ramips-mt7620-vmlinux.bin
openwrt-ramips-mt7620-e1700-squashfs-factory.bin               openwrt-ramips-mt7620-vmlinux.elf
openwrt-ramips-mt7620-e1700-squashfs-sysupgrade.bin            openwrt-ramips-mt7620-whr-1166d-squashfs-sysupgrade.bin
openwrt-ramips-mt7620-Lenovo-y1-squashfs-sysupgrade.bin        openwrt-ramips-mt7620-whr-300hp2-squashfs-sysupgrade.bin
openwrt-ramips-mt7620-Lenovo-y1s-squashfs-sysupgrade.bin       openwrt-ramips-mt7620-whr-600d-squashfs-sysupgrade.bin
openwrt-ramips-mt7620-mlw221-squashfs-sysupgrade.bin           openwrt-ramips-mt7620-wmr-300-squashfs-sysupgrade.bin
openwrt-ramips-mt7620-mlwg2-squashfs-sysupgrade.bin            openwrt-ramips-mt7620-wr8305rt-squashfs-sysupgrade.bin
openwrt-ramips-mt7620-mt7620a_mt7530-squashfs-sysupgrade.bin   openwrt-ramips-mt7620-wrtnode-squashfs-sysupgrade.bin
openwrt-ramips-mt7620-mt7620a_mt7610e-squashfs-sysupgrade.bin  openwrt-ramips-mt7620-wt3020-8M-squashfs-factory.bin
openwrt-ramips-mt7620-mt7620a-squashfs-sysupgrade.bin          openwrt-ramips-mt7620-wt3020-8M-squashfs-sysupgrade.bin
openwrt-ramips-mt7620-mt7620a_v22sg-squashfs-sysupgrade.bin    openwrt-ramips-mt7620-xiaomi-miwifi-mini-squashfs-sysupgrade.bin
openwrt-ramips-mt7620-mzk-750dhp-squashfs-sysupgrade.bin       openwrt-ramips-mt7620-zbt-wa05-squashfs-sysupgrade.bin
openwrt-ramips-mt7620-na930-squashfs-sysupgrade.bin            packages
openwrt-ramips-mt7620-root.squashfs

到了这一步,我们的MT7620系列芯片的路由器固件就都已经编译好了。我们可以选择我们合适型号的固件进行刷机了。 部分营员拿到的北京豌豆机器人小组的开发板WRTNode对应的固件文件是:openwrt-ramips-mt7620-wrtnode-squashfs-sysupgrade.bin 部分营员们拿到的铁盒子路由器是中性包装的工程产品,虽然和其他知名品牌的在外观上有差异,但是大可以不要在意这些区别。他们的配置都是差不多的。铁盒子型号WR8305RT对应的固件文件就是: openwrt-ramips-mt7620-wr8305rt-squashfs-sysupgrade.bin

设备图片如下:

WRTNode

WR8305RT


谢谢各位,欢迎交流并指正。

---- 大茶园丁@戴维营教育

http://io.diveinedu.com

http://www.diveinedu.com

本文转载自:io.diveinedu.com

戴维营教育iOS
粉丝 0
博文 8
码字总数 2614
作品 0
长沙
私信 提问
加载中

评论(1)

乐享coding
乐享coding
为什么要使用WRTNode?
OpenWrt系列教程汇总 & OpenWrt简体中文Wiki

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

AlphaJay
2011/07/26
42.7K
1
Ubuntu 12.04下编译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 su......

枫影Xda
2012/10/30
9.1K
1
Hiwifi 刷 openwrt

参考地址: https://code.google.com/p/openwrt-hiwifi/ 极路由HC6361 OpenWrt固件补丁 (HiWiFi tw150v1) 说明 · OpenWrt官方源码自r40975起(2014/06/02)支持HC6361,本项目只做基于官方版...

老汉-憨憨
2015/01/11
10.8K
2
极路由4刷OpenWrt(LEDE)

申请开发者模式 登录路由器后台 进入插件中间 选中路由器信息 申请开发者权限 安装开发者插件 刷 Bootloader 下载 的 Breed 通过SSH登录路由器 (必须安装开发者插件,端口 账号 密码 ) 通过...

dingdayu
02/24
1K
0
linkit smart 7688 折腾

这货是联发科出的物联网 开发版 ,CPU是 580MHZ 的 MIPS 处理器,默认的固件是 openwrt ,可以当作一个路由器来用了 ,,2015 年发布, 2016 年更新了一版固件 现在应该是没人管的状态了 。 ...

sincoder
2017/11/06
95
0

没有更多内容

加载失败,请刷新页面

加载更多

领域驱动中的“贫血症和失忆症”

贫血症严重危害着人类健康,并且伴随有危险的副作用。当贫血领域对象被首次提出来时,它并不是一个博得赞美的词汇,它描述的是一个缺少内在行为领域对象。奇怪的是,人们对于贫血领域对象的态...

还仙
2分钟前
1
0
条码打印软件中标签预览正常打印无反应怎么解决

在使用条码打印软件制作标签时,有客户反馈,标签打印预览正常的,但是打印无反应,咨询是怎么回事?今天针对这个情况,可以参考以下方法进行解决。 一、预览正常情况下,打印没反应 (1)在条码...

中琅软件
12分钟前
1
0
判断字符串的时候

判断字符串的时候一定把常量房前边, //报警程度 String leve = vo.getDeviceAlertDeal().getWarnLevel(); if(("0").equals(leve)) { row.add("无报警"); }else if(("1").equals(leve)) { ro......

简小姐
12分钟前
2
0
Linux maven3.6.2 install

PS:安装 maven 之前请先安装 jdk 1.安装 wget 命令(安装过就不用了) yum -y install wget 2.寻找需要的 maven 版本 https://maven.apache.org/download.cgi 3.进入 /var/local 文件夹 cd...

东方神祇
15分钟前
1
0
Tomcat源码分析二:先看看Tomcat的整体架构

Tomcat源码分析二:先看看Tomcat的整体架构 Tomcat架构图 我们先来看一张比较经典的Tomcat架构图: 从这张图中,我们可以看出Tomcat中含有Server、Service、Connector、Container等组件,接下...

flygrk
17分钟前
2
0

没有更多内容

加载失败,请刷新页面

加载更多

返回顶部
顶部