openwrt升级功能流程简介
openwrt 自动升级需求
Openwrt 自动升级需求一、背景:先说一下我们的产品,我们的产品是跑在openwrt系统内的路由器,路由器里面有我们自己开发的软件,软件有多个,比如现在有串口控制软件、TCP控制软件;目前已有100个用户再使用,现在升级我们只能远程用户电脑1个1个的升级很麻烦;再过1年我们的产品会达到1万个,甚至更多,如果还按照原来升级方法那根本不现实,所以我们现在想实现自动升级;二、名词解释:1.节点:用户现场每个openwrt路由器称为1个节点;2.自动升级:在节点有网络前提下,能够很方便的控制多节点升级过程,命名为自动升级;3.串口控制软件:跑在openwrt路由器内的一个串口通信软件;4.TCP控制软件:跑在openwrt路由器内的一个TCP通信软件;三、需求分析:1.自动升级需要实现功能:i.能够选择那些节点可升级,那些节点不升级;ii.能够选择要升级的目标软件,先目标软件包含串口控制软件、TCP控制软件,以后还有其他软件也要能够自动升级不需要修改软件,例如:我只想升级串口控制软件,TCP控制软件不升级;iii.只有知道特定信息的人员才能够进行升级操作。
iv.能够支持同时升级1万个节点;并能够体现哪些已经升级、哪些未升级。
v.一个节点从开始升级到结束升级不能超过5分钟;一万个节点不超过2个小时;vi.节点升级完后新版本程序应能自动运行;要能够体现升级后程序是否正常运行。
vii.节点升级过程中出现问题如断网,要保证升级前版本能正常使用,不能因为升级造成节点不能正常工作;viii.升级某一个软件是不影响其他软件工作;ix.能够对升级结果进行记录、查询。
1.查询条件:目标软件、日期、升级结果2.结果显示:目标软件、日期、升级结果3.能够导出Excel,能够分页。
x.后续。
Openwrt—luci
步骤文档
1.首先下载虚拟机或者直接安装linux系统,这里我们采用虚拟机环境
虚拟机的作用是虚拟一个PC硬件环境,运行linux系统的(Ubuntu系统),版本采用14.04
2.有了linux之后,就可以搭建Openwrt编译环境,环境搭建详情见之前的技术文档。
3.Openwrt编译环境采用barrier_breaker,内核为3.10.49,是目前最文档的openwrt 版本之一。
4.生成固件后,把固件烧写到开发板中。
5.烧写步骤,我们采用网页升级形式烧写,是sysupgrade升级文件
A. 在浏览器输入路由器ip地址,192.168.2.1,密码为1
B. 进入界面后,点击系统中的“升级和备份”,选择编译好的固件,点击烧写即可。
6.固件烧写好后,按照“5”的方式进入界面(luci界面),在这里我们可以使用luci工具编写的界面对路由器进行本地管理。
7.功能:每个按钮代表着一个功能,luci只是界面工具,实际上是调用底层的软件接口实现对路由器的管理,本案例主要是对路由器的基本管理,采用的是openwrt官方的界面,主要:
网络进行配置,
密码管理,
系统升级,
设置wifi名字
添加网络接口
添加无线网络接口
对整个局域网的管理
等等。
openwrt 原理
openwrt 原理OpenWrt原理OpenWrt是一个基于Linux内核的嵌入式操作系统,主要用于路由器和其他网络设备。
它提供了许多功能强大的网络管理和扩展性,因此被广泛应用于各种路由器和无线接入点。
本文将介绍OpenWrt的原理和工作机制。
一、概述OpenWrt是一个开源项目,它提供了一个类Unix的系统环境,用于替代路由器原厂的固件。
其主要目的是为了提供更强大、灵活和可定制的路由器功能。
OpenWrt基于Linux内核,通过安装其固件,可以将支持OpenWrt的路由器转变成一个功能更为强大的网络设备。
二、OpenWrt的安装与配置1. 下载固件要安装OpenWrt,首先需要下载适合你路由器型号的固件。
这些固件可以从OpenWrt官方网站下载,根据你的设备具体型号和版本进行选择。
2. 刷写固件安装OpenWrt的下一步是刷写固件。
在刷写固件之前,需要先登录到你的路由器的管理界面,然后找到固件升级选项。
选择你下载的OpenWrt固件并进行刷写。
3. 配置OpenWrt刷写完毕后,你需要对OpenWrt进行基本的配置。
首先是网络配置,包括设置IP地址、网关、DNS等。
然后是WiFi配置,可以设置无线网络的名称、加密方式和密码。
此外,还可以配置防火墙、端口转发、VPN等高级功能。
三、OpenWrt的工作机制1. Linux内核OpenWrt基于Linux内核,它提供了网络协议栈、设备驱动和其他核心功能。
内核是操作系统的核心,将硬件和软件连接在一起。
它负责管理和分配系统资源,提供系统调用接口,并提供网络、文件系统和设备支持。
2. 用户空间除了Linux内核,OpenWrt还包括了一个完整的用户空间环境。
用户空间中运行的是一些用户态程序和服务,它们与内核进行交互,为系统提供各种功能。
例如,OpenWrt提供了一个Web界面,用于管理和配置路由器。
还提供了诸如DHCP、DNS、NAT等网络服务。
3. 软件包管理OpenWrt的核心系统非常小巧,只包含了基本的功能和驱动程序。
路由器固件升级教程
路由器固件升级教程随着科技的迅速发展和互联网的普及,路由器作为连接网络的重要设备,也在不断的升级和更新。
为了保持其正常运行和提高性能,我们需要定期对路由器进行固件升级。
本文将详细介绍路由器固件升级的步骤和注意事项。
一、固件简介路由器的固件是一种内置在硬件设备中的软件,它控制和管理路由器的各项功能。
通过定期升级固件,可以修复已知的漏洞、增加新的功能和修改错误。
因此,固件升级是确保路由器的安全性和稳定性的重要步骤。
二、准备工作在开始升级之前,我们需要进行一些准备工作,以确保整个升级过程的顺利进行。
1. 网络连接:确保你的计算机和路由器通过有线或无线方式连接,以便进行升级操作。
2. 确认路由器型号:在升级前,了解你的路由器型号和厂商名称,以便正确选择适用的固件版本。
3. 下载固件:访问路由器厂商的官方网站,查找并下载最新的固件版本到你的计算机上。
三、升级步骤一般来说,路由器的固件升级过程相对简单,但仍然需要谨慎操作。
下面是一般的升级步骤供参考:1. 登录路由器管理界面:在浏览器中输入默认的管理IP地址(如192.168.1.1),并输入用户名和密码登录路由器管理界面。
2. 导航到固件升级页面:在管理界面中,找到“系统设置”或“高级设置”等选项,并查找固件升级相关的菜单或链接。
3. 选择固件文件:在固件升级页面中,点击“浏览”按钮,选择之前下载好的固件文件,并点击“上传”按钮。
等待固件上传完成。
4. 完成升级:一旦固件上传成功,路由器将自动进行升级。
升级过程中请不要断开电源或进行其他操作。
升级完成后,路由器将会重新启动。
四、注意事项在进行固件升级时,请务必注意以下事项,以确保升级过程的顺利与成功。
1. 确认固件版本:在下载固件之前,请确保选择与你的路由器型号相匹配的固件版本,避免使用不兼容的固件。
2. 备份设置:在升级前,建议备份你的路由器设置。
虽然大多数升级过程不会影响设置和配置,但为了避免数据丢失,备份仍然是一个明智的选择。
路由器刷OpenWrt打造全能服务器(二)刷OpenWrt
1. 下载3700V2的OpenWrt固件/bac ... quashfs-factory.img,也可以自己去openwrt的网站找最新的固件下载/backfire/。
2. 进入3700V2的设置界面,找到固件升级页面,用此固件升级(web升级比较简单,而现在已经升级完,无法截图)。
3. 重启路由器,待网卡重新被分配IP地址后,用浏览器访问http://10.0.0.1 (也有可能是192.168.1.1),密码为空,直接点login4. 点击最上方的Network进入网络设置页面5. 点击WAN栏右侧的Edit按键6. 点击DHCP client右侧的下拉箭头,选择PPPoE协议7. 点击Switch peotocol切换成拨号模式,在PAP/CHAP username项里填入你上网账号,下面一栏填写上网密码,点击下面的Save& Apply保存及应用,等待一会就能拨号上网了。
8. 再点击最上面的System,进入系统设置页面,点击第二排的Software,进入软件包安装页面。
点击Update lists,打开软件包安装状态,点击Available packages,再点L进入L字母开头的软件包列表,往下拉滚动条,找到luci-i18n-chinese,点击其左侧的Install安装,稍等一会,路由器会从网上下载软件包并且安装,安装完毕刷新一下,就会发现路由器的界面变成中文的了。
9. 重复上面的安装软件包步骤,再安装luci-app-upnp,此软件包可以让路由器实现upnp端口映射功能。
10. 到此为止就已经给wndr3700V2刷好了OpenWrt的固件,并且转换成中文界面。
如果没有自动转换语言,可以在system下面的language里面,把english换成chinese.11. 最后开启一下无线网络。
选择网络-> 无线,进入以下界面,无线概况下面有两个Generic ***, 因为这款路由器支持2.4G和5G网络。
openwrt sysupgrade 参数
openwrt sysupgrade 参数一、概述OpenWrt 是一个轻量级 Linux 操作系统,主要用于嵌入式设备。
Sysupgrade 是 OpenWrt 用来升级系统版本和升级固件的一种方式。
在升级过程中,需要使用正确的参数来确保升级过程的顺利进行。
二、参数说明1. file:指定升级文件的路径。
这个文件通常是一个 tar 包,包含了新的固件和配置文件。
2. image_size_limit:限制升级文件的大小,防止升级过程中因文件过大而失败。
3. leave_root:在升级过程中保留 root 权限,确保升级过程的安全性。
4. overwrite_corrupted:在固件损坏的情况下强制覆盖,确保升级的完整性。
5. silent:静默模式,升级过程中不显示任何信息。
6. bootargs:新的内核参数,用于引导新的系统。
7. force_copy_config:强制复制配置文件,确保新固件中的配置文件能够被正确应用。
8. force_sysupgrade:强制执行 sysupgrade 命令,即使系统处于更新状态。
三、使用示例假设我们有一个名为 openwrt-15.0.0-r0.tar 的升级文件,存储在 /tmp 目录下,那么使用 sysupgrade 的命令如下:```bash/bin/sysupgrade /tmp/openwrt-15.0.0-r0.tar --upgrade \--image_size_limit "10485760" --leave_root \--overwrite_corrupted --force_copy_config \--bootargs "console=ttyS0,115200 root=/dev/mmcblk0p2 rootwait panic=10"```这个命令的含义是:* 使用 /tmp/openwrt-15.0.0-r0.tar 作为升级文件。
OpenWrt简要刷机教程
OpenWrt简要刷机教程
准备⼯作
1. 下载openwrt中⽂固件到PC。
(当然其他英⽂固件也可)
2 找到路由器的RST键。
3 找到路由器刷机⼝---姑且称之为“WAN⼝”
4. 关闭路由器的电源。
5. 将PC⽹⼝的IP地址设置与192.168.1.1同⼀⽹段的IP地址,⽐如设为192.168.1.88
6. 准备⽹线⼀根。
刷机步骤
1 先检查电源是否关闭。
⽤⽛签之类的东西先按住路由器的RST键, 然后打开电源(不能松开RST),继续按住10秒钟。
然后松开RST键
2. 将PC的⽹⼝⽤⽹线与“刷机⼝”相连。
打开windows cmd窗⼝下ping 192.168.1.1,如能ping 通,则说明咱们成功的迈出了第⼀步。
3. 通过浏览器访问http://192.168.1.1,如果这也不知道,咱也没办法了,我们应该能看到登录界⾯,输⼊⽤户名密码。
(⼀般默认admin/admin,详见handbook或度娘)
4. 选择【系统设置】【系统升级】,将下载好的固件上传即可升级。
5. 在PC上ping 192.168.1.1,如不能ping通,则关闭电源,回到步骤1,重来⼀遍。
如能ping 通,则恭喜你,刷机成功,请访问
http://192.168.1.1,应该能看到openwrt WEB中⽂界⾯。
openwrt教程
openwrt教程
打开终端,输入以下命令进行登录:
```
***************.1.1
```
输入路由器的用户名和密码进行登录。
如果是首次登录,默认用户名为“root”,密码为空。
进入OpenWrt系统后,输入以下命令更新软件包列表:
```
opkg update
```
更新完成后,输入以下命令升级已安装的软件包:
```
opkg upgrade
```
接下来,可以根据需要安装其他软件包。
以安装一个网络监测工具为例,输入以下命令:
```
opkg install luci-app-nlbwmon
```
安装完成后,通过以下命令启动网络监测工具:
```
/etc/init.d/nlbwmon start
```
在浏览器中输入“http://192.168.1.1”进入OpenWrt的Web管理界面。
在界面上可以进行各种配置和管理操作。
为了增强安全性,可以修改默认的管理员密码。
在Web管理界面的“系统”菜单中找到“管理员密码”,进行修改即可。
在“网络”菜单中,可以进行网络设置、无线网络设置、DHCP 设置等操作。
在“防火墙”菜单中,可以进行防火墙设置、端口转发等安全相关的配置。
如果需要对路由器进行无线网络的配置,可以在“网络”菜单的“接口”选项中设置无线网络。
OpenWRT刷机教程
OpenWRT刷机教程OpenWRT 是一个基于 Linux 的嵌入式操作系统,用于路由器和网络设备。
它提供了许多功能和定制选项,使用户能够根据自己的需求进行配置和管理路由器。
本文将介绍如何使用 OpenWRT 刷机来提升你的路由器性能和功能。
刷机前准备:1. 了解你的路由器型号:在刷机之前,你需要准确了解你的路由器型号,并找到与该型号匹配的 OpenWRT 固件。
3.确认你的路由器支持刷机:一些路由器可能需要在刷机之前解锁或解除锁定。
在进行刷机之前,请查阅路由器的官方文档,以确保你的路由器支持刷机,并了解相关要求和限制。
刷机步骤:1.连接路由器:将你的计算机通过以太网线连接到路由器的LAN口上。
确保你的计算机与路由器在同一局域网中,并能够相互通信。
2.访问路由器管理页面:打开你的浏览器,并输入默认的路由器IP地址(通常为192.168.1.1)。
如果你已经更改了路由器的默认IP地址,请使用你所设置的IP地址。
3.登录到路由器:在浏览器中输入默认的用户名和密码来登录到路由器管理页面。
如果你不知道默认的用户名和密码,请查阅路由器的官方文档。
5.等待升级完成:升级过程可能会需要几分钟的时间,请耐心等待直到升级完成。
在升级过程中,请不要拔掉电源或重启路由器,以免损坏设备。
6.重启路由器:升级完成后,系统会提示你重启路由器。
请依照系统的提示进行重启操作。
7. 配置 OpenWRT:重启路由器后,你可以通过浏览器登录到OpenWRT 的管理页面(默认 IP 地址为 192.168.1.1)。
使用之前设置的用户名和密码登录。
8. 配置网络设置:在 OpenWRT 管理页面中,找到“网络设置”或类似选项。
在该选项下,你可以配置你的网络设置,例如 WAN 和 LAN 的IP 地址、DHCP 服务器等。
9. 安装软件包:在 OpenWRT 管理页面中,找到“软件包管理”或类似选项。
通过该选项,你可以安装和管理各种软件包,以满足你的需求和扩展路由器的功能。
openwrt 教程
openwrt 教程OpenWRT是一个适用于嵌入式设备的开源操作系统,广泛应用于路由器、无线接入点、NAS(网络存储设备)以及其他网络设备中。
它基于Linux内核,提供了一个灵活、可定制的平台,可以对设备进行强大的管理和控制。
在本教程中,我们将介绍如何使用OpenWRT来配置路由器,并说明一些常见的功能和操作。
第一步是准备好路由器和OpenWRT固件。
首先,确保你的路由器支持OpenWRT,并且已经下载了适合你路由器型号的固件。
将固件刷入路由器之前,最好备份你的现有配置,以防止数据丢失。
固件刷入后,你需要连接路由器到计算机,并在浏览器中打开路由器的管理页面。
通常,在浏览器中输入“192.168.1.1”即可访问管理界面。
如果无法连接,请确保你的计算机与路由器处于同一个局域网中,并且使用正确的IP地址。
在管理页面中,你可能需要设置路由器的用户名和密码。
确保使用强密码,以保护你的网络安全。
一旦你成功登录,你将进入OpenWRT的配置界面。
这个界面提供了一系列选项,允许你配置不同的功能和服务。
首先,我们将设置基本的网络设置。
在网络设置页面,你可以配置路由器的IP地址、子网掩码和网关。
在大多数情况下,你只需要根据你的网络需求进行一些简单的设置即可。
接下来,我们将设置无线网络。
在无线设置页面,你可以配置无线网络的SSID(无线网络名称)、加密类型和密码。
确保你的无线网络设置足够安全,并且使用适当的加密类型来防止未经授权的访问。
除了基本的网络和无线设置,OpenWRT还提供了许多其他功能和服务,例如VPN、QoS(流量控制)、端口转发等。
你可以根据你的需求来启用和配置这些功能。
此外,OpenWRT还支持软件包管理系统,允许你安装和管理额外的软件包。
在软件包管理页面,你可以搜索和安装各种不同的软件包,从而扩展你路由器的功能。
最后,不要忘记保存你的配置并重启路由器。
一旦路由器重新启动,你将能够开始享受OpenWRT提供的各种功能。
OpenWRT刷机教程
OpenWRT刷机教程
1. 首先修改PC的IP地址:
2.刷机准备
首先,在OpenWRT官网下载所需要的版本,我这里下载的是版本。
然后下载tftp执行文件:.
可以把两者放在一起放在桌面上或者其他文件夹都可以。
然后打开路由器电源,用网线把路由器其中一个LAN口和电脑相连。
然后开始菜单>运行>cmd>输入命令ping –t
此图说明路由器连接正常
然后打开刷机程序:
在固件文件那一栏载入下载的OpenWRT固件,注意先不要点击更新固件
3.开始刷机
关闭路由电源,会显示如下图形
如果是英文会显示:TTL timed out
现在打开电源,会如下图所示:
当出现TTL=100,马上点击tftp刷机程序的更新固件
然后等待,等再次出现TTL=64的时候则刷机成功
4.刷机成功
为了证明刷机成功,再开始>运行>cmd>输入命令:telnet 也就是用telnet登录路由,会显示如下:。
openwrt 教程
openwrt 教程开源路由器固件OpenWrt是一种用于替代设备原厂固件的自由和开放源代码操作系统。
通过安装OpenWrt,您可以获得更高的自定义性、功能扩展和安全性。
在本教程中,我们将介绍如何安装和配置OpenWrt,以及一些常见的使用技巧。
安装OpenWrt1. 下载OpenWrt固件文件从OpenWrt官方网站下载适用于您的设备的固件文件。
2. 进入设备管理界面打开浏览器,输入设备的IP地址(通常为192.168.1.1),进入设备管理界面。
3. 进入固件升级界面在设备管理界面中,找到固件升级选项。
4. 选择本地固件文件点击浏览按钮,选择您下载好的OpenWrt固件文件。
5. 开始升级点击升级按钮,等待设备自动完成固件升级过程。
配置OpenWrt1. 进入OpenWrt管理界面使用浏览器输入设备的IP地址(通常为192.168.1.1),进入OpenWrt管理界面。
2. 设置管理员密码在首次登录时,系统将要求您设置一个管理员密码。
输入密码并确认。
3. 配置网络设置在管理界面中,找到网络设置选项。
根据您的网络需求,配置LAN和WAN接口的IP地址、子网掩码和网关等。
4. 配置无线网络如果您的设备支持无线功能,可以在管理界面中找到无线设置选项。
在该选项中,配置您的无线网络名称(SSID)、加密方式和密码。
5. 配置其他功能OpenWrt提供了许多功能和插件,您可以根据需要进行相应的配置和安装。
使用OpenWrt的常见技巧1. 安装软件包在管理界面中,找到软件包管理选项。
通过搜索和安装相应的软件包,可以为OpenWrt添加一些额外的功能和服务。
2. 配置防火墙在管理界面中,找到防火墙设置选项。
根据您的需求,配置入站和出站的规则和策略,以增强网络安全性。
3. 设置端口转发如果您需要将来自外部网络的连接转发到特定的内部主机或服务,可以在管理界面中找到端口转发选项,进行相应的配置。
4. 使用命令行界面OpenWrt支持SSH登录和命令行界面操作。
openwrt升级功能流程简介
文档说明:本文档简述了openwrt sdk的升级功能流程,从页面传入升级文件到升级文件检测,再到调用升级脚本进行升级,升级完成后,进行系统重启。
最后简述了如何添加升级文件标识,标识包括自己定义的字段,以及升级软件的md5值。
达到防止用户用其他openwrt sdk编译出来的固件刷新我们的系统,以及防止升级软件被破坏。
文档需要用到的文件及在sdk中的路径(某些文件路径可能随项目的不同而改动):./package/ralink/ui/luci-mtk/src/modules/admin-full/luasrc/controller/admin/system.lua./target/linux/ramips/image/ Makefile./package/base-files/files/lib/upgrade/common.sh./package/base-files/files/lib/functions.sh./package/base-files/files/sbin/sysupgrade./target/linux/ramips/base-files/lib/ramips.sh./target/linux/ramips/base-files/lib/upgrade/platform.sh文档正文:1.从页面接受传过来的升级文件作为整个流程的开始,功能实现在文件system.lua中。
这是一个lua文件,很容易在function index函数中找到系统升级功能的入口函数:action_flashops。
在这个函数中首先通过fp = io.open(image_tmp, "w")打开升级临时文件:/tmp/firmware.img,打开后通过fp:write(chunk)写入页面传进来的升级文件。
到这里,接受升级文件完成。
2.检测升级文件的合法性实现同样在文件system.lua中。
tp-linkwr703nopenwrt刷机教程(图文详解)
tp-linkwr703nopenwrt刷机教程(图文详解)有时候我们使用TP-LINK WR703N,但有时候某种需要我们需要升级TP-LINK WR703N,这里简单分享下,需要的朋友可以参考下1、下载安装访问WR703N在OpenWrt的Wiki页,然后在Flashing一节中找到下载链接:squashfs-factory.bin。
进入路由器管理界面,出厂配置为http://192.168.1.1,用户名和密码均为admin,然后进入固件更新,选择下载的文件,然后更新。
等待一段时间(~~2min),然后重启路由。
P.S. 官方固件不带WebUI,所以需要对Linux系统较为熟悉,否则可以选择国内有人编译的带LuCI和中文支持的版本,Google即可。
2、初始配置首先用一根网线将703N的Lan口和你电脑相连,电脑上设置为DHCP模式。
然后运行cmd.exe输入telent 192.168.1.1成功后出现OpenWrt的欢迎界面:然后更改root密码:输入passwd更改root密码后dropbear(SSH 服务)就运行了,输入exit退出telent以后就可以通过ssh管理OpenWrt3、网络配置OpenWrt官方的固件是不带LuCl的,所以初始的网络设定需要在命令行下完成下载ssh连接工具putty输入192.168.1.1点击open,如果弹出什么窗口点是即可输入用户名root回车然后输入你刚刚设定的密码然后用vi修改相关配置(不会用vim的同学悲剧了)。
首先修改/etc/config/wireless文件输入vi /etc/config/wireless回车注释掉# option disabled 1进入此界面后按i进入修改模式,改成如图所示改好后按esc,然后输入:wq保存退出然后修改/etc/config/network文件。
首先修改lan接口配置,注释掉此行:# option ifname 'eth0'然后增加wan接口,如果你上级网络是DHCP的,则文件的末尾添加:config interface 'wan'option ifname 'eth0'option proto 'dhcp'如果你上级网络是静态IP,则在文件的末尾添加:config interface 'wan'option ifname 'eth0'option proto 'static'option ipaddr '10.22.33.124'option netmask '255.255.255.0'option gateway '10.22.33.1'option dns '202.113.16.10'此图为修改为静态ip模式然后将路由器的Lan/Wan口接到上级网络中,重启路由器。
智能路由器-OpenWRT系列一(OpenWRT刷机)
智能路由器-OpenWRT系列⼀(OpenWRT刷机)现在没有了⽹络,估计⼤家都不知道该怎么消遣娱乐了。
电影、⾳乐、聊天、视频、⽹络资讯,缺了⽹络,什么都搞不起。
不过随着上⽹的时间越来越久,就会发现家庭⽹络不怎么好⽤,或者说是家⾥的路由器不怎么好⽤。
带宽越来越快,影⾳下载速度飞快,下载的电影没地⽅放,放在电脑上占空间,⽽且共享给家庭中的其他设备使⽤也⿇烦,电脑不能整天的开机吧;偶尔想科学上⽹,电脑上配置起来也很⿇烦,同样没法共享给其他设备;做个家庭智能⽹关,还需要专门买个设备。
路由器全天开机,应该最适合做这些事情呀。
是时候给路由器升级⼀下,换个系统了。
好多⼚商,⼩⽶、360、极路由都⽣产了基于OpenWRT系统的智能路由器,功能强⼤。
除了这些路由器,OpenWRT还⽀持给很多路由器刷机。
根据我的⽇常使⽤,整理了⼀系列基本的OpenWRT使⽤⽅法,第⼀篇先介绍如何给路由器刷OpenWRT系统。
OpenWRT是⼀个⾼度模块化、⾼度⾃动化的嵌⼊式Linux系统,拥有强⼤的⽹络组件和扩展性,常常被⽤于⼯控设备、电话、⼩型机器⼈、智能家居、路由器以及VOIP设备中。
同时,它还提供了100多个已编译好的软件,⽽且数量还在不断增加,⽽ OpenWrt SDK 更简化了开发软件的⼯序。
OpenWrt 项⽬由 2004 年 1 ⽉开始, 第⼀个版本是基于 Linksys 提供的 GPL 源码及 uclibc 中的 buildroot 项⽬, 这个版本称为 “stable” 版, 在⽹上⾄今仍有很多项⽬使⽤这个版本,较为有名 Freifunk-Firmware 和 Sip@Home.到了2005年初, ⼀些新的开发⼈员加⼊了这项⽬, ⼏个⽉后他们释出了第⼀个 “experimental” 版本, 这和以前版本不同的是, 这版本差不多完全舍弃了 Linksys 的 GPL 源码, 使⽤了buildroot2 作为核⼼技术, 将 OpenWrt 完全模块化,OpenWrt 使⽤ Linux 正式发⾏的核⼼源码(2.4.30),加上了⼀些补丁和⽹络驱动,开发队伍更为OpenWrt添加了许多免费的⼯具,可以直接把Image写⼊ Flash (mtd)⾥⾯,设定⽆线功能和VLAN交换功能,这个版本名为“White Russian”,⽽1.0版本于2005年底公布。
dir505刷openwrt教程
dir505刷openwrt教程刷OpenWrt到DIR-505路由器的教程如下:步骤1:下载OpenWrt固件到OpenWrt官方网站上下载适用于DIR-505的固件。
确保下载正确的版本,以免破坏设备。
步骤2:连接路由器将DIR-505路由器通过网线连接到电脑,并用浏览器打开路由器的管理界面。
步骤3:重置路由器在路由器的管理界面中,找到“重置”(Reset)选项,点击执行将路由器恢复到出厂设置。
步骤4:刷入OpenWrt固件进入路由器的管理界面,找到“固件升级”(Firmware Upgrade)选项。
点击浏览,选择之前下载好的OpenWrt固件文件,并点击“升级”(Upgrade)按钮。
步骤5:等待刷机完成系统会开始刷入OpenWrt固件,等待刷机过程完成。
刷机过程中请不要断开电源或关闭路由器。
步骤6:配置OpenWrt刷入成功后,断开电源,等待片刻后重新连接。
用电脑通过网线连接到路由器,并用浏览器打开OpenWrt管理界面。
步骤7:登录OpenWrt在OpenWrt管理界面中,输入默认的登录IP地址、用户名和密码。
默认情况下,IP地址是192.168.1.1,用户名和密码都是root。
步骤8:配置网络登录后,根据需要进行网络配置,包括DHCP、WAN设置、WiFi设置等。
步骤9:保存设置完成配置后,点击保存按钮,使设置生效。
至此,你已经成功将OpenWrt刷入DIR-505路由器并配置好了。
现在你可以根据需要对路由器进行进一步的功能设置和定制。
TPLink
TPLink为了刷入openwrt固件,我们可以使用以下这种方法,此方法不需要拆机,接下来我将详细讲解刷机步骤。
本教程使用TP-Link941N v6路由器演示,请根据自己的路由器版本查找好对应的固件,本教程的固件在网盘中,可以通过链接下载:链接:提取码:l3yi为了防止刷机失败造成路由器变砖,因此在正式刷入openwrt 前需要刷入breed(也就是俗称的刷不死,通过刷入这个以后,后续可以在web界面直接刷入正版的openwrt固件也更方便)首先讲一下大致步骤:1 首先刷入对应路由器版本的解锁了uboot的openwrt固件(刷入了这个之后才可以刷入breed,否则会失败)2 通过ssh登录刷入的破解openwrt,将breed刷入。
3 通过breed的web界面刷入正版openwrt详细步骤如下:第一步刷入对应路由器版本的解锁了uboot的openwrt固件。
首先进入路由器原版的管理界面,通过网线连接路由器与电脑,开启路由器电源,在浏览器输入路由器的地址,原厂941n v6的管理地址是 192.168.1.1,之后后进入如下界面:点击系统工具-》软件升级,选择文章开头压缩包里这个文件TP-link 941n v6 uboot openwrt.bin ,点升级升级成功后就会自动重启。
升级好以后还是通过192.168.1.1进入openwrt管理界面,第一次登陆会要求设置密码,这里直接选择登录,登录之后设置好密码,先设置为admin(后续自行修改),与ssh,将ssh设置为lan口可以访问,方便刷入breed。
第二步刷入breed使用 WinSCP软件将不死breed固件上传到路由器的/tmp文件夹,压缩包中的breed-ar9344-wr941nv6.bin打开WinSCP软件,按照下图配置:选择SCP,Password输入之前设置的路由器后台密码(刚才设置为了admin),点击Login。
第一次登录会弹出一个窗口,点击Yes即可。
openwrt 用法
OpenWrt是一个嵌入式操作系统,通常用于路由器和其他网络设备。
以下是一些OpenWrt的基本用法:
1. 安装OpenWrt:首先,您需要一个支持OpenWrt的路由器或开发板。
然后,通过下载OpenWrt的固件,并将其刷入设备中,从而安装OpenWrt操作系统。
2. 配置网络:在OpenWrt中,您可以通过Web界面或命令行界面进行网络配置。
您需要设置路由器的IP地址、子网掩码、网关等网络参数。
3. 管理软件包:OpenWrt允许您安装、更新和管理各种软件包。
您可以使用软件包管理器来安装新的软件包或更新现有的软件包。
4. 配置防火墙:OpenWrt具有内置的防火墙功能,可以保护您的网络免受攻击。
您可以配置防火墙规则,允许或拒绝特定的网络流量。
5. 配置无线参数:如果您想使用无线功能,您可以在OpenWrt中配置无线参数,例如SSID、密码等。
6. 安装其他软件:除了默认的软件包外,您还可以安装其他软件,例如SSH服务器、FTP服务器等。
7. 升级固件:随着时间的推移,OpenWrt的固件可能会更新以修复漏洞或添加新功能。
您可以检查并安装最新的固件更新。
这些只是OpenWrt的一些基本用法。
实际上,OpenWrt具有高度的可定制性,您可以根据自己的需求进行深入的配置和开发。
openwrt系统使用uboot更新固件
openwrt系统使⽤uboot更新固件1.httpd⽅式:Uboot启动时按住reset键,设置电脑ip:192.168.1.x在电脑端登⼊192.168.1.1 进⼊升级界⾯升级2. MTD启动路由器,进⼊linux环境。
通过winscp 连接ssh 然后将 _ar71xx_.bin 拷贝到 /tmp ⽬录切换到tty,在命令⾏下输⼊ mtdmtd -r write /tmp/_ar71xx_.bin firmware同理:如果刷Uboot 则执⾏如下命令mtd -r write /tmp/uboot.bin u-boot附录1:分区备份备份art:dd if=/dev/mtd4 of=/tmp/art.bin写⼊art:mtd -r write /tmp/art.bin art附录2:查看Flash分区root@OpenWrt:/# cat /proc/mtddev: size erasesize namemtd0: 00020000 00010000 "u-boot"mtd1: 000ecf6c 00010000 "kernel"mtd2: 006e3094 00010000 "rootfs"mtd3: 00550000 00010000 "rootfs_data"mtd4: 00010000 00010000 "art"mtd5: 007d0000 00010000 "firmware"附录3:如果你想从原来的tp-link固件升级到op 那就刷带factory的固件如果你想从某个版本的op升级到新的op 那就sysupgrade固件⽆论是从tp-link还是op升级都可以⽤factory固件如果你需要更新系统后还保持原来的设置和安装的软件,就⽤sysupgrade3.TFTPD321.在Windows上搭建TFTPD32 服务,然后把固件放在tftp服务器下2.设置路由器的IP和IPserverar7240>setenv ipaddr 192.168.1.2ar7240>setenv serverip 192.168.1.103.在uboot命令下,就可以把tftp上的固件刷到路由器//1.将固件加载到内存0x8000 0000ar7240> tftpboot 0x80000000 wr841n-v5.bin//2.擦除Flash地址0x9F02 0000 ⼤⼩0x3C0000的空间ar7240> erase 0x9f020000 +0x3c0000//3.将RAM中的数据拷贝到Flash中 cp.b src dst size[b w l]ar7240> cp.b 0x80000000 0x9f020000 0x3c0000//4.启动内核ar7240> bootm 0x9f020000附录:Easy-Link> printenvbootargs=console=ttyS0,115200 root=31:02 rootfstype=squashfs init=/sbin/init mtdparts=ar7240-nor0:128k(u-boot),1024k(kernel),2816k(rootfs),64k(config),64k(ART)bootcmd=bootm 0x9F020000bootdelay=2baudrate=115200ipaddr=192.168.1.1serverip=192.168.1.100bootfile="firmware.bin"loadaddr=0x80800000ncport=6666stdin=serialstdout=serialstderr=serialethact=eth0Environment size: 364 bytes。
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
文档说明:本文档简述了openwrt sdk的升级功能流程,从页面传入升级文件到升级文件检测,再到调用升级脚本进行升级,升级完成后,进行系统重启。
最后简述了如何添加升级文件标识,标识包括自己定义的字段,以及升级软件的md5值。
达到防止用户用其他openwrt sdk编译出来的固件刷新我们的系统,以及防止升级软件被破坏。
文档需要用到的文件及在sdk中的路径(某些文件路径可能随项目的不同而改动):./package/ralink/ui/luci-mtk/src/modules/admin-full/luasrc/controller/admin/system.lua./target/linux/ramips/image/ Makefile./package/base-files/files/lib/upgrade/common.sh./package/base-files/files/lib/functions.sh./package/base-files/files/sbin/sysupgrade./target/linux/ramips/base-files/lib/ramips.sh./target/linux/ramips/base-files/lib/upgrade/platform.sh文档正文:1.从页面接受传过来的升级文件作为整个流程的开始,功能实现在文件system.lua中。
这是一个lua文件,很容易在function index函数中找到系统升级功能的入口函数:action_flashops。
在这个函数中首先通过fp = io.open(image_tmp, "w")打开升级临时文件:/tmp/firmware.img,打开后通过fp:write(chunk)写入页面传进来的升级文件。
到这里,接受升级文件完成。
2.检测升级文件的合法性实现同样在文件system.lua中。
在函数image_supported()中进行检测,这个函数通过image magic number来检测升级文件是否合法。
函数image_supported()会调用platform.sh脚本中的platform_check_image函数,platform_check_image函数调用ramips.sh脚本中的ramips_board_name函数,获取board name,ramips_board_name函数从文件/tmp/sysinfo/board_name 中获取board name,若没有则为unknown,并返回给调用者,我用的板是ralink-soc。
platform_check_image函数继续调用common.sh脚本中的get_magic_long函数,用以获取升级文件magic,就是升级文件前4位。
get_magic_long函数调用common.sh脚本中的get_image函数用以获取文件/tmp/firmware.img内容,其实就是cat /tmp/firmware.img. 获取到的内容,通过dd bs=4 count=1,来获取前4位,最后通过hexdump -v -n 4 -e '1/1 "%02x"'处理以十六进制编码返回调用者。
获取到的升级文件magic,在platform_check_image函数中与27051956做对比,这个值是在固件编译的时候已经定好了的。
如果相等,就是合法的升级文件,继续升级动作;不相等则为非法升级文件,做一些后续处理并终止升级动作。
到这里检测升级文件合法性完成。
3.检测升级文件不合法后的处理实现同样在文件system.lua中。
检测到不合法后,通过nixio.fs.unlink(image_tmp)来删除临时文件/tmp/firmware.img,并通过image_invalid = true,设置检测失败,用以通知页面显示提示信息。
终止升级。
处理完成。
4.检测升级文件合法后的处理实现同样在文件system.lua中。
检测到升级文件合法后,会获取一些升级文件相关的信息,用以在页面显示:调用image_checksum(),获取checksum;调用storage_size(),获取可用空间大小;调用nixio.fs.stat(image_tmp).size,获取升级文件大小;以及页面传过来的是否保存配置的值;其中,image_checksum()函数用的是md5sum命令,storage_size()函数是在系统文件/proc/mtd 中找到firmware分区大小。
接下来如果用户选择进行升级文件,则会现在页面上打印一些提示信息,用于提示用户:正在升级,不要断开电源等等。
文件system.lua最后的处理就是调用升级脚本:fork_exec("killall dropbear uhttpd; sleep 1; /sbin/sysupgrade %s %q" %{ keep, image_tmp })。
这条语句,先清除dropbear 和uhttpd进程,再等待1秒,最后调用升级脚本sysupgrade,传过去的参数就是keep:是否要保存配置;image_tmp:升级文件/tmp/firmware.img。
OK,到这里system.lua文件中关于升级前的准备工作都完成了,视线请转到升级脚本sysupgrade上。
5.运行升级脚本实现在文件sysupgrade中。
脚本开始,像所有的主体处理程序一样,会对传进来的参数进行处理。
下面对这些参数的介绍:-i 开启交互模式-d 重启前延迟,延迟秒数是传进来的-v 会打印sysupgrade脚本中的一些信息,脚本中默认打印-q 与-v相反-n 升级后不保存配置,默认保存配置-c 保存所有的改动配置文件到/etc/-b 用sysupgrade.conf中指定的文件,创建.tar.gz格式备份文件-r 用上步创建的.tar.gz文件,恢复配置-l 列出将会备份的文件列表-f 从.tar.gz恢复配置-F 即使升级文件检测失败,也要升级,这个参数是危险的,慎用-T 验证升级文件和.tar.gz配置文件,但不升级-h 打印帮助信息这些参数的使用在脚本中都有介绍,不再多讲。
接下来:[ -z "$ARGV" -a -z "$NEED_IMAGE" -o $HELP -gt 0 ],意思是:如果没有升级文件参数,且没有命令行参数-b(create-backup),-r(restore-backup),或者带有-h(help)参数,则打印帮助信息。
这个条件为真的话,会在终端打印帮助信息,退出脚本。
接下来:[ -n "$ARGV" -a -n "$NEED_IMAGE" ],意思是:不要指定-b或-r(创建配置、恢复配置)的同时,指定升级文件。
为真的话,打印提示信息,退出脚本。
接下来:[ "$CONF_BACKUP" = "-" ] && export VERBOSE=0,意思是:选择备份配置但传进来的文件为“-”时,不打印备份文件时的过程。
下面展示一下-v选项的作用:带-v时的升级过程:root@OpenWrt:/# sysupgrade -i -v /tmp/firmware.imgKeep config files over reflash (Y/n): yEdit config file list (y/N): nSaving config files...etc/config/dhcpetc/config/dropbearetc/config/firewalletc/config/fstabetc/config/lucietc/config/networketc/config/systemetc/config/ucitracketc/config/uhttpdetc/config/wirelessetc/dropbear/dropbear_dss_host_keyetc/dropbear/dropbear_rsa_host_keyetc/groupetc/hostsetc/inittabetc/passwdetc/profileetc/rc.localetc/shellsetc/sysctl.confSending TERM to remaining processes ... dnsmasq ubusd btnd logd netifd uhttpd ntpd Sending KILL to remaining processes ...Switching to ramdisk...Performing system upgrade...Unlocking firmware ...Writing from <stdin> to firmware ...Appending jffs2 data from /tmp/sysupgrade.tgz to firmware...Writing from <stdin> to firmware ...Upgrade completedReboot (Y/n):不带-v时的升级过程:root@OpenWrt:/# sysupgrade -i /tmp/firmware.imgKeep config files over reflash (Y/n): yEdit config file list (y/N): nSaving config files...Sending TERM to remaining processes ... dnsmasq ubusd btnd logd netifd uhttpd ntpdSending KILL to remaining processes ...Switching to ramdisk...Performing system upgrade...Unlocking firmware ...Writing from <stdin> to firmware ...Appending jffs2 data from /tmp/sysupgrade.tgz to firmware...Writing from <stdin> to firmware ...Upgrade completedReboot (Y/n):继续分析:if [ $CONF_BACKUP_LIST -eq 1 ]; thenadd_uci_conffiles "$CONFFILES"cat "$CONFFILES"rm -f "$CONFFILES"exit 0fi如果需要列出配置文件列表,就调用add_uci_conffiles函数生成列表,并打印到终端。