OPENWRT学习笔记入门篇

OPENWRT入门

首先,分享几个openwrt的网址:php

http://www.openwrt.org.cn/bbs/forum.php?mod=viewthread&tid=4217
http://www.open-mesh.org/projects/batman-adv/wiki/Wiki
http://blog.csdn.net/teddy99999/article/details/17537545
http://blog.csdn.net/cupidove/article/details/45093385
https://openwrt.org/linux

本身看openwrt的源码获取方法
https://dev.openwrt.org/wiki/GetSourcegit

还有就是正式版也会升级的,具体请看
https://dev.openwrt.org/browser/branchesubuntu

OPENWRT简介markdown

路由器至关于一台小型计算机,部分配置比较好的(内存、CPU性能充足)能够手动刷入linux系统(网友制做的dd-wrt和openwrt是两种流传较广的linux系统),并在这个系统里运行锐捷拨号程序。网络

OpenWRT是一个高度模块化、高度自动化的嵌入式Linux系统,拥有强大的网络组件和扩展性,经常被用于工控设备、电话、小型机器人、智能家居、路由器以及VOIP设备中。 同时,它还提供了100多个已编译好的软件,并且数量还在不断增长,而 OpenWrt SDK 更简化了开发软件的工序。架构

OpenWRT不一样于其余许多用于路由器的发行版,它是一个从零开始编写的、功能齐全的、容易修改的路由器操做系统。实际上,这意味着开发者可以使用本身想要的功能而不加进其余的累赘,而支持这些功能工做的linux kernel又远比绝大多数发行版来得新。编辑器

OpenWRT支持各类处理器架构,不管是对ARM,X86,PowerPC或者MIPS都有很好的支持。 其多达3000多种软件包,囊括从工具链(toolchain),到内核(linux kernel),到软件包(packages),再到根文件系统(rootfs)整个体系,使得用户只需简单的一个make命令便可方便快速地定制一个具备特定功能的嵌入式系统来制做固件。模块化

通常嵌入式 Linux 的开发过程, 不管是 ARM, PowerPC 或 MIPS 的处理器, 都必需通过如下的开发过程:svn

1.建立 Linux 交叉编译环境;

2.创建 Bootloader;

3.移植 Linux 内核;

4.创建 Rootfs (根文件系统);

5.安装驱动程序;

6.安装软件;

熟悉这些嵚入式 Linux 的基本开发流程后,再也不局限于 MIPS 处理器和无线路由器, 能够尝试在其它处理器, 或者非无线路由器的系统移植嵌入式 Linux, 定制合适本身的应用软件, 并创建一个完整的嵌入式产品。

OPENWRT刷入路由器

在官网下载最新的OpenWrt固件,连接以下:http://downloads.openwrt.org/snapshots/trunk/ar71xx/

进入连接地址后,找到对应于TP-LINK WR703N的固件,会有以下四个:

首先,有两种不一样的格式,即jffs2与squashfs。这两种不一样格式的固件区别在于,squashfs安装后,会占用必定的空间来存放系统的一些必要文件,这些文件都只是可读的,这些文件的做用是帮助恢复系统,当OpenWrt崩溃时,能够基于这些文件,使用firstboot脚本重建初始系统,而jffs2则不会存储这样的文件,好处在于节省了空间。通常,咱们都使用squashfs格式的固件,方便恢复系统到初始状态。其次,每种格式都有两个文件,factory与sysupgrade,这两个文件的区别是,factory多了一些验证的东西,用于在原厂固件的基础上进行升级,若是已是OpenWrt,直接使用第二个文件便可。而且,在原厂固件的基础上进行升级时,首先使用factory文件,而后须要再次使用sysupgrade文件,选择不保留原来配置进行升级。

固然也能够经过编译来定制本身的固件。方法以下。

第一部分:搭建编译环境

一、安装Ubuntu(编译须要Linux环境)

二、切记不要改动软件源,同时按住Ctrl + Alt + T,调出终端;

三、逐条输入下列命令(及时验证是否安装成功):

  1. sudo apt-get install g++

  2. sudo apt-get install libncurses5-dev

  3. sudo apt-get install zlib1g-dev

  4. sudo apt-get install bison

  5. sudo apt-get install flex

  6. sudo apt-get install unzip

  7. sudo apt-get install autoconf

  8. sudo apt-get install gawk

  9. sudo apt-get install make

  10. sudo apt-get install gettext

  11. sudo apt-get install gcc

  12. sudo apt-get install binutils

  13. sudo apt-get install patch

  14. sudo apt-get install bzip2

  15. sudo apt-get install libz-dev

  16. sudo apt-get install asciidoc

  17. sudo apt-get install subversion

  18. sudo apt-get install sphinxsearch

  19. sudo apt-get install libtool

  20. sudo apt-get install sphinx-common

至此编译环境搭建完成。

apt-get install libtool autoconf automake gcc-multilib bison screen gcc g++ binutils patch bzip2 flex make gettext unzip libc6 git-core git build-essential libncurses5-dev zlib1g-dev gawk quilt asciidoc libz-dev

第二部分:下载OpenWrt源码并编译

OpenWrt源码分两种,一种是最新但不是最稳定的Trunk开发版,一种是最稳定的Backfire版,建议下载官方源码。下载前先在本地建立文件夹:

  1. mkdir openwrt

  2. sudo chmod 777 openwrt

  3. cd openwrt

选择你想要的版本而后执行下载命令,下载结束会显示版本号:

Trunk版下载命令:

svn co svn://svn.openwrt.org/openwrt/trunk/

Backfire版下载命令:

svn co svn://svn.openwrt.org/openwrt/branches/backfire/

添加软件扩展包,将feeds.conf.default修改成feeds.conf:

cp feeds.conf.default feeds.conf

更新扩展,安装扩展:

  1. ./scripts/feeds update -a

  2. ./scripts/feeds install -a

注:若是不是刚下载的源码,为保持代码为最新状态,应按期运行svn update命令更新源码。

测试编译环境:

make defconfig

到这里就能够开始编译本身的固件了。进入定制界面:

make menuconfig

若是一切正常,会出现一个配置菜单,能够选择要编译的固件平台(芯片类型)、型号,还能选择固件中要添加的功能和组件,配置好后保存并退出菜单便可。

若是你想修改源码,应该在此步进行,如支持大容量Flash之类的修改,本身上网查到修改什么文件什么地方后,就在ubuntu图形界面上进去找到文件,双击打开文本编辑器修改保存。

开始编译:

make

或者

make V=99

或者

make -j V=99

make是编译命令,V=99表示输出debug信息,V必定要大写,若是要让CPU全速编译,就加上 -j 参数,第一次编译最好不带-j参数。

编译过程保持联网(会从网上下载一些源码包),因此断网可能形成编译中断,编译所需时间与电脑CPU及网络环境有很大关系,第一次编译时间较久,快则半小时长则二、3个小时,以后的编译所需时间较短。编译完成后会在源码文件目录出现bin文件夹(如trunk/bin/XXXX),若是你手里的路由是原版固件须要刷OpenWrt须要选用XXX-factory.bin固件,若是路由已经刷了OpenWrt,选用升级固件XXXX-sysupgrade.bin升级用的,在升级界面升级便可。进到文件夹找到你须要的固件传出(经过邮箱、网盘、U盘等),开始刷机吧。

完成上述工做以后便可将openwrt刷入路由器。

相关文章
相关标签/搜索