找回密码
 立即注册

QQ登录

只需一步,快速开始

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

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

  [复制链接]
发表于 2019-9-8 11:45 | 显示全部楼层 |阅读模式
本帖最后由 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
https://pan.baidu.com/s/1SkF7WOt5GkIw6f68JP7viA 提取码: npp5

评分

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

查看全部评分

我的恩山、我的无线 The best wifi forum is right here.
发表于 2019-9-8 12:55 | 显示全部楼层
不错,写的很详细。
但为什么要开个小号呢?

点评

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

使用道具 举报

发表于 2019-9-8 13:33 | 显示全部楼层
学习了
谢谢分享
我的恩山、我的无线 The best wifi forum is right here.
回复

使用道具 举报

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

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

使用道具 举报

发表于 2019-9-23 22:28 | 显示全部楼层
本帖最后由 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.
回复

使用道具 举报

发表于 2019-9-24 14:02 | 显示全部楼层
https://item.taobao.com/item.htm ... amp;id=602381281014  某宝小米路由器超值划算
我的恩山、我的无线 The best wifi forum is right here.
回复

使用道具 举报

发表于 2019-9-29 14:44 | 显示全部楼层
一直在breed界面怎么办,刷完固件,重启一样。好像刷了没用
我的恩山、我的无线 The best wifi forum is right here.
回复

使用道具 举报

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

点评

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

使用道具 举报

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

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

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

使用道具 举报

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

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

使用道具 举报

发表于 2019-12-11 17:26 | 显示全部楼层
写的好详细
我的恩山、我的无线 The best wifi forum is right here.
回复

使用道具 举报

发表于 2020-5-4 10:44 来自手机 | 显示全部楼层
写得不错,支持一下
我的恩山、我的无线 The best wifi forum is right here.
回复

使用道具 举报

发表于 2020-6-24 21:47 | 显示全部楼层
感谢,我也时候刷不进去,测试下
我的恩山、我的无线 The best wifi forum is right here.
回复

使用道具 举报

发表于 2020-7-2 20:31 | 显示全部楼层
请问提示
Could not open mtd device: Bootloader
Can't open device for writing!
该怎么处理呢
我的恩山、我的无线 The best wifi forum is right here.
回复

使用道具 举报

发表于 2020-7-26 21:13 | 显示全部楼层
卧槽,感谢楼主,成功了
我的恩山、我的无线 The best wifi forum is right here.
回复

使用道具 举报

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

本版积分规则

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

GMT+8, 2024-4-25 13:07

Powered by Discuz! X3.5

© 2001-2024 Discuz! Team.

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

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