找回密码
 立即注册

QQ登录

只需一步,快速开始

搜索
广告投放联系QQ68610888
查看: 31306|回复: 24

[R3G] 小米路由器R3G用Breed安装原生OpenWrt详解

  [复制链接]
本帖最后由 MIRROR-D 于 2020-4-24 20:55 编辑

此文主要介绍如何使用Breed在小米R3G上刷入openwrt原生版,同理可以用于其他基于openwrt默认方式编译的固件

我使用Padavan和PandoraBox近一年,但折腾的心是不会停止的,所以现在准备给R3G刷入原生OpenWrt,但根据OpenWrt官网上的资料和H大的某些回复来看,Breed刷OpenWrt略有困难,其原因在于给OpenWrt提交R3G支持的人,提交的flashlayout跟原厂的不兼容,而且使用了UBI,因此breed无法兼容,故breed不支持直接刷入mir3g的openwrt固件,且无法识别tar包
详情可见下方链接

但此楼里有另一位大神提出了一种新的思路,见第三页aatest123的回复,其思路在于通过Breed先刷入initramfs-kernel.bin,这个文件集内核kernel和文件系统rootfs为一体,在引导期间将文件系统放在内存中,但由于内存断电后无法保存数据,所以该系统的所有设置无法保存,仅适用于不驱动flash的情况下使用,我们先通过Breed刷入该临时OpenWrt系统,重启路由器即可进入该临时系统,通过luci界面,选择系统更新,上传安装openwrt-18.06.8-ramips-mt7621-mir3g-squashfs-sysupgrade.tar(此为写此文时最新版本,可更换),附件见文章底部

随后路由器会自动重启,但登录后会发现进入的仍然是临时OpenWrt,这是因为Breed在刷入临时OpenWrt时刷入的是路由器的kernel0,而我们通过临时OpenWrt安装正式系统刷入的是kernel1,接下来我们将路由器断电,进入Breed(断电后用硬物抵住复位键然后通电直至指示灯双闪),启用环境变量,添加环境变量xiaomi.r3g.bootfw,设其值为2,其目的在于使Breed启动后从kernel1启动,接下来重启,即可进入正式版OpenWrt系统,折腾第一步结束

接下来是我当时安装时各种参考的资料分析,以及遇到的一些坑,毕竟我只能算是一位爱好者,没有接受过计算机技术教学,对于编译等东西一窍不通

首先说说OpenWrt官网上对于R3G安装的操作,官网上的操作是针对原厂Bootloader和原厂固件的,故对于安装了Breed的我们来说,照抄是万万不行的,官网上提供两个文件,分别是mir3g-squashfs-kernel1.bin和mir3g-squashfs-rootfs0.bin,官网上的命令为:
mtd write mir3g-squashfs-kernel1.binkernel1
mtd write mir3g-squashfs-rootfs0.binrootfs0
nvram set flag_try_sys1_failed=1
nvram commit
reboot
上述命令中nvram是uboot专有命令,Breed与uboot相互独立,参数不共用,根据国外论坛对于小米路由器原厂uboot的分析,小米路由器的kernel0包含的usb恢复的功能,就是将官方固件命名为miwifi.bin放入U盘内,断电时插入路由器,用硬物抵住reset键后插电,保持10秒左右,待黄灯快速闪动后可松手,可恢复至官方固件,这个功能可用于原厂固件损坏后的修复,也算是不错的功能,所以OpenWrt官网上的建议是将内核文件刷入kernel1

接下来说说Breed的参数,根据H大的回复,breed的启动流程如下:
如果kernel0存在kernel1不存在,那么启动kernel0
如果kernel1存在kernel0不存在,那么启动kernel1
如果kernel0和kernel1都存在,那么检查环境变量 xiaomi.r3g.bootfw的值,如果存在且值为2,那么启动kernel1,否则启动kernel0,所以我们在刷入临时系统后需要改变启动参数,从而引导进入正式系统

至此本帖主教程部分结束

目前恩山上本人使用较多的固件为Padavan,PandoraBox,Bootloader部分则使用H大的Breed,这些固件使用起来体验极好,接下来浅谈一下个人对这些固件的看法,若有不当之处,还请指出

PandoraBox是基于OpenWrt进行了大量国内路由适配的系统,其界面接近原生系统,并针对国情内置了不少实用的组件,通过opkg管理组件,全面汉化,翻译水平比原生系统高出不少,软件源在国内,所以下载速度较快,时区和信道都按照国内的标准预先修改了,所以对于大部分人来说,直接刷PandoraBox即可,不必费力刷原生OpenWrt,而且据说PandoraBox采用的无线驱动优于原生,对此没有太确定的消息,仅作参考

Padavan俗称老毛子,其界面友好度极高,非常适合新手入门,不过默认主题略丑,好在可以更换,而且看起来不错,同样针对国情加入了大量组件,对332支持极好,不过扩展性较OpenWrt略有不足,但对于新手来说足矣


Breed
这是一个非常易用的Bootloader,针对刷机主流型号进行了适配,内置DHCP服务,拥有Web图形化界面,小白也能轻松刷机,并且支持Telnet,wget等功能,可以通过TTL进行操作,具体介绍可见上述网址,选择仅看楼主,里面包含绝大多数关于Breed的资料,就不在此赘述

如何在R3G内刷入Breed

首先小米路由器需要开启ssh,此类教程在网上极多,是基本功,在此不多说了
首先需要下载支持小米路由器3G的Breed,可从H大搭建的服务器https://breed.hackpascal.net/内下载,其型号是breed-mt7621-xiaomi-r3g.bin
接下来通过WinSCP将文件上传至路由器内部,注意将文件协议选择为SCP,我通常将文件上传至/tmp目录下,建议将文件改名为breed.bin,便于后续操作
输入mtd write /tmp/breed.bin Bootloader,将Breed刷入Bootloader
若输入mtd -r write /tmp/breed.bin Bootloader,-r意味着刷入后直接重启,一旦刷错难以补救,所以建议不要加入-r,待完全确认后再手动断开电源
在接入电源线之前用硬物顶住路由的reset键再接电,等到路由器的指示灯狂闪的时候,松开reset键,电脑上在浏览器中输入192.168.1.1,即可进入Breed控制台

附件在此,这篇文章挂了近一年了回复数寥寥无几,所以把附件藏起来骗点恩山币,其实自己找一找附件也是很简单的,这里提供一下清华大学国内openwrt源
https://mirrors.tuna.tsinghua.edu.cn/help/openwrt/这是清华大学官方换源教程,代码如下
sed -i 's_downloads.openwrt.org_mirrors.tuna.tsinghua.edu.cn/openwrt_' /etc/opkg/distfeeds.conf
游客,如果您要查看本帖隐藏内容请回复

评分

参与人数 4恩山币 +4 收起 理由
toki*** + 1 你好,久仰卧龙大名,在下凤雏!.
xing*** + 1 感谢你的分享,无论怎样,你都是最无私的人!来,说说,你E盘上还有啥一起给我吧!
ju*** + 1 面对这种帖子,我内心复杂,真不知道说什么好……
jmp*** + 1 感谢你的分享,无论怎样,你都是最无私的人!

查看全部评分

我的恩山、我的无线 The best wifi forum is right here.
不错,写的很详细。
但为什么要开个小号呢?

点评

我虽然常常看论坛里的资料,但这号还是今天刚刚注册,发这贴主要是因为我当时研究缺少同类资料,全靠大神零星的回复已经openwrt论坛里的一些讨论,故在此作一些整理,供大家参考。这也算不得小号吧  详情 回复 发表于 2019-9-8 17:05
我的恩山、我的无线 The best wifi forum is right here.
回复

使用道具 举报

学习了
谢谢分享
我的恩山、我的无线 The best wifi forum is right here.
回复

使用道具 举报

 楼主| | 显示全部楼层
mingwei123 发表于 2019-9-8 12:55
不错,写的很详细。
但为什么要开个小号呢?

我虽然常常看论坛里的资料,但这号还是今天刚刚注册,发这贴主要是因为我当时研究缺少同类资料,全靠大神零星的回复已经openwrt论坛里的一些讨论,故在此作一些整理,供大家参考。这也算不得小号吧
我的恩山、我的无线 The best wifi forum is right here.
回复

使用道具 举报

本帖最后由 jmpxwh 于 2019-9-23 22:45 编辑

写的很详细,也很明白。我试试自己的小米路由器4AC版本的看看

不行,总是在内存系统启动,无法启动后刷入的系统。我已经启用了环境变量,更改了xiaomi.r3g.bootfw=2,还是不行。

点评

这个是对R3G进行编译的包,如果给4用,估计要修改掉一部分吧  详情 回复 发表于 2019-12-2 14:48
我的恩山、我的无线 The best wifi forum is right here.
回复

使用道具 举报

https://item.taobao.com/item.htm ... amp;id=602381281014  某宝小米路由器超值划算
我的恩山、我的无线 The best wifi forum is right here.
回复

使用道具 举报

一直在breed界面怎么办,刷完固件,重启一样。好像刷了没用
我的恩山、我的无线 The best wifi forum is right here.
回复

使用道具 举报

就是按照上述方法,在临时openwrt系统中,更新了tar包,之后重启依然进去breed,环境变量也改了。怎么办呢

点评

小米好像出了R3GV2版本吧?你手里的是什么时候的型号,openwrt官网上有针对两个型号的对比,只能支持V1,而且现在18.06.5已经出了,可以考虑试一下  详情 回复 发表于 2019-12-2 14:51
我的恩山、我的无线 The best wifi forum is right here.
回复

使用道具 举报

 楼主| 来自手机 | 显示全部楼层
jmpxwh 发表于 2019-9-23 22:28
写的很详细,也很明白。我试试自己的小米路由器4AC版本的看看

不行,总是在内存系统启动,无法启动后刷 ...

这个是对R3G进行编译的包,如果给4用,估计要修改掉一部分吧
我的恩山、我的无线 The best wifi forum is right here.
回复

使用道具 举报

 楼主| 来自手机 | 显示全部楼层
曹经 发表于 2019-9-29 15:09
就是按照上述方法,在临时openwrt系统中,更新了tar包,之后重启依然进去breed,环境变量也改了。怎么办呢
...

小米好像出了R3GV2版本吧?你手里的是什么时候的型号,openwrt官网上有针对两个型号的对比,只能支持V1,而且现在18.06.5已经出了,可以考虑试一下
我的恩山、我的无线 The best wifi forum is right here.
回复

使用道具 举报

写的好详细
我的恩山、我的无线 The best wifi forum is right here.
回复

使用道具 举报

来自手机 | 显示全部楼层
写得不错,支持一下
我的恩山、我的无线 The best wifi forum is right here.
回复

使用道具 举报

感谢,我也时候刷不进去,测试下
我的恩山、我的无线 The best wifi forum is right here.
回复

使用道具 举报

请问提示
Could not open mtd device: Bootloader
Can't open device for writing!
该怎么处理呢
我的恩山、我的无线 The best wifi forum is right here.
回复

使用道具 举报

卧槽,感谢楼主,成功了
我的恩山、我的无线 The best wifi forum is right here.
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

有疑问请添加管理员QQ86788181|手机版|小黑屋|Archiver|恩山无线论坛(常州市恩山计算机开发有限公司版权所有) ( 苏ICP备05084872号 )

GMT+8, 2024-4-27 07:15

Powered by Discuz! X3.5

© 2001-2024 Discuz! Team.

| 江苏省互联网有害信息举报中心 举报信箱:js12377 | @jischina.com.cn 举报电话:025-88802724 本站不良内容举报信箱:68610888@qq.com 举报电话:0519-86695797

快速回复 返回顶部 返回列表