找回密码
 立即注册

QQ登录

只需一步,快速开始

搜索
广告投放联系QQ68610888
查看: 2707|回复: 15

R3300M 成功刷入openwrt到emmc里

[复制链接]
发表于 2022-7-2 22:58 | 显示全部楼层 |阅读模式
简述:
① USB线刷一个安卓5、安卓6的盒子ROM到R3300M;
② 使用甜唐编译的一个armbian(20.05)刻录U盘,主要为它的u-boot,记得修改dtb配置;
③ 用该U盘启动R3330M(adb进入安卓,reboot update后插入)就能修改emmc里的u-boot;
④ 刻录openwrt.img 到另一个U盘/tf卡,修改其中/boot下的s905_autoscrip和emmc_autoscript,以及uEnv.txt;
⑤ 用该U盘/tf卡 启动R3300M到openwrt系统,修改 install_to_emmc.sh,不要用N1的u-boot恢复到emmc,而是使用备份出来的u-boot;
⑥ 运行该sh,将openwrt系统写入emmc后,关机,拔U盘,再加电即可进入emmc上的openwrt。

下面详细讲讲整个历程:
==============================================
R3300M是众多电视盒子里比较好的一款,可能因为古老(s905M-B)一些,高安加密的不多,用来刷个armbian/openwrt比较容易。去年底偶然50元买到一个,就想试试看。

事实上,我刷了很多个armbian,都不能刷入emmc里,后来找到上古的 5.44版本的armbian 才能刷入emmc。
该系统的Linux内核是3.14的,有些问题:
一是,它只能安装到emmc被安卓分的/dev/data分区,浪费emmc的很多空间,
二是,它这个3.14内核的Linux,很多新一点的内核模块都不能使用(例如BBR加速等)

看很多文章,都说,
R3300M这种gxbb类型的板子无法刷更高版本的armbian,所以几乎放弃了,参见:
https://tccmu.com/2021/03/24/R3300-M/
https://www.bilibili.com/read/cv13943723
https://www.bilibili.com/read/cv13944863
https://forum.libreelec.tv/threa ... line-at-the-moment/

然后就是过年了,一忙就忘记它了,,,

直到有一次看见这篇文章的介绍,使用甜唐的系统,能刷R3300L盒子:
https://www.right.com.cn/forum/thread-5003397-1-1.html
当然,@tingge 用的是s905L的盒子,和s905M不大一样,
不过思路来了,就是这种商业化倾向的系统,可能做的比较好,适用性比较强。
当即去 https://www.right.com.cn/forum/thread-4053033-1-1.html 看看,
下载了 @dlsys 制作的甜唐armbian(20.05)来试验。

首先,要给R3300M用usb线刷入一个普通的安卓5或者6之类的,我用的:
MXQ_PRO_4K_p201_android_TV_by_cOOLio_V2.5_MEE.img
去年我曾尝试刷入
        【】中兴B860AV2.1-A-M-T-S905L-qlzy-root-201904.img
        【】20191219-R3300L-6.0-root-twrp-Milton-B860Av2.1.img
        【】百视通R3300L-S905L、B-安卓4.4.2-线刷固件.img
都有问题,无法刷入,大多是 RAM或者USB等等参数不匹配,无法DL到盒子里。

然后展开下载的甜唐系统的文件,刻录U盘,
(发个牢骚,展开后的img文件巨达5.3GB,实际上有用的文件只有1.3GB,后面全是0,img没正确截断)
修改/boo分区里uEnv.txt里的 dtb文件名,改成那个 gxbb_xxxxxxxx_p201.dtb
启动3300M,没反应?其实是后台在自动往emmc上安装,反应慢。

现在,R3300M现在可从emmc启动armbian了。

我的目标是openwrt,手头只有F大 49+ 的openwrt.img,就用它刻录了U盘,
修改uEnv.txt里的dtb配置之后,插入盒子加电,但是无法启动盒子 !?
接上TTL看了看,uboot执行完 usb start,usb_autoscript之后不成功,没有反应,
竟然跳到了下一个cmd命令,就是 emmc_autoscript   为哈?

看了一下openwrt里的s905_autoscipt.cmd
它为了考虑全面,枚举了mmc、usb等等多种devtype参数,
但是在甜唐版本的armbian刷入的u-boot里,并不支持此参数,
导致该 s905_autoscipt 无法与u-boot配合正确运行,从而退出,
继续执行了下面的 emmc_autoscript。

因为自己确定使用U盘启动openwrt,不用考虑过多的设备判断的问题,
所以根据自己的u-boot参数,重写一下 s905_autoscipt.cmd 如下:

setenv kernel_addr_r 0x11000000
setenv ramdisk_addr_r 0x13000000
setenv fdt_addr_r 0x1000000
fatload usb 0 0x1080000 uEnv.txt
env import -t ${loadaddr} ${filesize}
setenv bootargs ${APPEND}
fatload usb 0  ${kernel_addr_r} ${LINUX}
fatload usb 0  ${ramdisk_addr_r} ${INITRD}
fatload usb 0  ${fdt_addr_r} ${FDT}
fdt addr ${fdt_addr_r}
booti ${kernel_addr_r} ${ramdisk_addr_r} ${fdt_addr_r}
在armbian环境下编一下
mkimage -C none -A arm -T script -d s905_autoscript.cmd s905_autoscript
然后复制、替换到 U盘 /boot 目录里。

再用U盘启动盒子,成功进入openwrt,漂亮!
再用 /root下的install_to_emmc.sh 写入 emmc后重启动,失败!

仔细看 该sh,它是为N1准备的,里面有个将 新的N1-u-boot.bin 复制到emmc的动作,
它破坏了原本emmc上已经被甜唐armBian修改了的u-boot..
所以修改 install_to_emmc.sh 里的 LD_ORIG这个参数,
原先是 BLDR_ORIG=u-boot-2015-phicomm-n1.bin
改为 BLDR_ORG=bootloader-backup.bin
即,使用原来emmc里备份出来的(由甜唐系统安装的)u-boot来恢复到emmc里。

修改后重新执行一次,把openwrt写入emmc,然后重启,还是失败!!

继续TTL里观察,从emmc启动时,emmc_autoscript 执行的是:
if fatload mmc 1 ${env_addr} uEnv.txt && env import -t ${env_addr} ${filesize}; setenv bootargs ${APPEND};
then if fatload mmc 1 ${kernel_addr} ${LINUX};
then if fatload mmc 1 ${initrd_addr} ${INITRD};
then if fatload mmc 1 ${dtb_addr} ${FDT};
then run addmac;
run boot_start 。。。。。。
注意,都是从 mmc 1 上装载文件,
然鹅,在当前emmc的u-boot环境执行 mmcinfo 可见,emmc设备是 mmc 0

这,F大的openwrt里,对emmc的设置和甜唐的u-boot对emmc的设置是不一样的。
前者认为它是 mmc 1 而甜唐认为它是 mmc 0

遂修改一下 /boot 目录下的 emmc_autoscript.cmd 将其中的 mmc 1 都 改为 0
再编一下:
mkimage -C none -A arm -T script -d emmc_autoscript.cmd emmc_autoscript
复制,替换到 emmc 的  /boot 下面,,,,

加电重启,成功从R3300M的emmc里启动了openwrt!!!

整个过程抽丝剥茧,发现了几处小坑坑导致大家能启动U盘上的openwrt,却无法写入emmc里启动。

就此结案,,,哈哈哈。
谢谢观看。

================================================


也鸣谢如下帖子里的讨论,虽未解决我的问题,但也提供了很好的思路:
https://www.right.com.cn/forum/thread-4032829-5-1.html

评分

参与人数 1恩山币 +1 收起 理由
白云*** + 1 强大的恩山!(以下重复1万次)

查看全部评分

我的恩山、我的无线 The best wifi forum is right here.
发表于 2022-7-3 12:48 | 显示全部楼层
看看学习学习 ,感谢分享
我的恩山、我的无线 The best wifi forum is right here.
回复

使用道具 举报

发表于 2022-7-3 12:48 | 显示全部楼层
看看学习学习 ,感谢分享
我的恩山、我的无线 The best wifi forum is right here.
回复

使用道具 举报

发表于 2022-7-24 20:14 | 显示全部楼层
厉害,我今天看到一篇有关S905 emmc启动armbian的俄文帖子,刚给你发过来就发现你已经搞定了,而且方法貌似更简单。我试试看能不能用类似方法从emmc启动Manjaro ARM
我的恩山、我的无线 The best wifi forum is right here.
回复

使用道具 举报

 楼主| 发表于 2022-7-24 20:35 | 显示全部楼层
白云朵朵 发表于 2022-7-24 20:14
厉害,我今天看到一篇有关S905 emmc启动armbian的俄文帖子,刚给你发过来就发现你已经搞定了,而且方法貌似 ...

如果能有些许帮助,那是再好不过。
祝大师刷机成功…
我的恩山、我的无线 The best wifi forum is right here.
回复

使用道具 举报

发表于 2022-7-24 20:41 来自手机 | 显示全部楼层
真的大师级的
我的恩山、我的无线 The best wifi forum is right here.
回复

使用道具 举报

发表于 2022-7-29 09:57 | 显示全部楼层
本帖最后由 白云朵朵 于 2022-7-29 10:00 编辑

请教一下,我测试了 Armbian_tiantang_20.05.5_Arm-64_focal_current_5.7.0-rc7_install_20200929.img.xz 和 Armbian_tiantang_install_20.05.5_focal_current_5.7.0-rc7_20201021.img.xz ,同时测试了TF卡启动和TF卡放入读卡器后的USB启动2种方式。结果都是Armbian启动一段时间后自动关机,拔卡/拔USB下次开机还是进入ATV系统。这里有什么需要注意的细节吗

启动3300M,没反应?其实是后台在自动往emmc上安装,反应慢。

现在,R3300M现在可从emmc启动armbian了。


这里我理解上述Armbian会自动刷入emmc,不知是否正确

点评

第一个,我没有运行甜唐很久,只是等它把自己安装到emmc之后就没再用过它,所以,运行了一段时间后就自动关机这个情况,我没有遇见过。。是不是可能是dtb不太匹配? 电源质量问题? 或者甜唐这个系统里有什么程序导  详情 回复 发表于 2022-7-29 11:37
我的恩山、我的无线 The best wifi forum is right here.
回复

使用道具 举报

 楼主| 发表于 2022-7-29 11:37 | 显示全部楼层
白云朵朵 发表于 2022-7-29 09:57
请教一下,我测试了 Armbian_tiantang_20.05.5_Arm-64_focal_current_5.7.0-rc7_install_20200929.img.xz  ...

第一个,我没有运行甜唐很久,只是等它把自己安装到emmc之后就没再用过它,所以,运行了一段时间后就自动关机这个情况,我没有遇见过。。是不是可能是dtb不太匹配? 电源质量问题? 或者甜唐这个系统里有什么程序导致了关机?

第二个,如果你拔除了U盘/tf卡后它还是进入atv系统,说明启动后,甜唐没有能自动写入emmc,你看一下U盘/tf卡里的启动脚本是不是哪里有错误?  最大的可能是把emmc识别错了,比如它可能是mmc 1 但是在自动安装脚本里,大概是目标设备是 /dev/mmcblk0 等等这样的,,,我的那个R3300M里,用甜唐的U盘启动后是能正确识别并自动写入emmc的,,,你用的什么设备?是不是换个dtb试试看?

点评

我用的就是R3300-M,也是刷了那个ATV系统,dtb是p201,首次启动甜糖Armbian盒子自己跑了一会儿就执行shutdown关机了,而且也没刷入emmc。我准备用U盘试试,可能用TF卡不行  详情 回复 发表于 2022-7-29 15:03
我的恩山、我的无线 The best wifi forum is right here.
回复

使用道具 举报

 楼主| 发表于 2022-7-29 11:40 | 显示全部楼层
R3300M对应的dtb好像是  p201.dtb  那个,
如果这个不好用,
你在甜唐刻录的 U盘里修改一下,换成 xxxxxx.....p200a.dtb 试试看呢?
我的恩山、我的无线 The best wifi forum is right here.
回复

使用道具 举报

发表于 2022-7-29 15:03 | 显示全部楼层
gaze 发表于 2022-7-29 11:37
第一个,我没有运行甜唐很久,只是等它把自己安装到emmc之后就没再用过它,所以,运行了一段时间后就自动 ...

我用的就是R3300-M,也是刷了那个ATV系统,dtb是p201,首次启动甜糖Armbian盒子自己跑了一会儿就执行shutdown关机了,而且也没刷入emmc。我准备用U盘试试,可能用TF卡不行
我的恩山、我的无线 The best wifi forum is right here.
回复

使用道具 举报

发表于 2022-8-8 22:00 | 显示全部楼层
学习了,抽丝剥茧,思路很棒
我的恩山、我的无线 The best wifi forum is right here.
回复

使用道具 举报

 楼主| 发表于 2022-8-9 21:30 | 显示全部楼层
k9288k 发表于 2022-8-8 22:00
学习了,抽丝剥茧,思路很棒

老哥谬赞了,
就是^_^ 自己踩过的坑,
如何解决的,分享给大家,
以免再有兄弟为此浪费时间。
我的恩山、我的无线 The best wifi forum is right here.
回复

使用道具 举报

发表于 2023-12-3 22:33 | 显示全部楼层
我也是用ATV固件,刷入甜糖的固件,可能不太会打命令,R3300-M变砖了开不了机,还能用晶晨刷机程序按reset按钮重刷ATV吗?虽然出错了但还是感谢老哥分享的教程!谢谢 顶上!
我的恩山、我的无线 The best wifi forum is right here.
回复

使用道具 举报

 楼主| 发表于 2023-12-3 22:49 | 显示全部楼层
guaxian 发表于 2023-12-3 22:33
我也是用ATV固件,刷入甜糖的固件,可能不太会打命令,R3300-M变砖了开不了机,还能用晶晨刷机程序按reset ...

可以的,只要emmc没有物理性质损坏,
基本上都可以用USB线刷重新刷入一个安卓系统…

只是有可能reset按键不一定能迫使机器进入线刷模式,
此时可以
① 拆机短接触点进入线刷模式,各个机器触点不大相同,原理一样,就是破坏emmc的工作时钟,导致emmc不工作而从USB线上下载指令和数据(也就是线刷烧录)
或者② 现在有免拆机刷机神器-一种HDMI接口的电路板,拆入盒子的HDMI接口,就能强迫盒子进入线刷模式,也不贵,8-10元一个

点评

满血复活!继续按教程向EMMC刷入奋斗!!  详情 回复 发表于 2023-12-11 22:29
我的恩山、我的无线 The best wifi forum is right here.
回复

使用道具 举报

发表于 2023-12-11 22:29 | 显示全部楼层
gaze 发表于 2023-12-3 22:49
可以的,只要emmc没有物理性质损坏,
基本上都可以用USB线刷重新刷入一个安卓系统…

满血复活!继续按教程向EMMC刷入奋斗!!
我的恩山、我的无线 The best wifi forum is right here.
回复

使用道具 举报

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

本版积分规则

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

GMT+8, 2024-4-26 22:58

Powered by Discuz! X3.5

© 2001-2024 Discuz! Team.

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

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