找回密码
 立即注册

QQ登录

只需一步,快速开始

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

R3300M 成功刷入openwrt到emmc里

[复制链接]
简述:
① 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.
看看学习学习 ,感谢分享
我的恩山、我的无线 The best wifi forum is right here.
回复

使用道具 举报

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

使用道具 举报

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

使用道具 举报

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

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

使用道具 举报

来自手机 | 显示全部楼层
真的大师级的
我的恩山、我的无线 The best wifi forum is right here.
回复

使用道具 举报

本帖最后由 白云朵朵 于 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,不知是否正确
我的恩山、我的无线 The best wifi forum is right here.
回复

使用道具 举报

 楼主| | 显示全部楼层
白云朵朵 发表于 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试试看?
我的恩山、我的无线 The best wifi forum is right here.
回复

使用道具 举报

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

使用道具 举报

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

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

使用道具 举报

学习了,抽丝剥茧,思路很棒
我的恩山、我的无线 The best wifi forum is right here.
回复

使用道具 举报

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

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

使用道具 举报

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

使用道具 举报

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

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

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

使用道具 举报

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

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

使用道具 举报

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

本版积分规则

关闭

欢迎大家光临恩山无线论坛上一条 /1 下一条

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

GMT+8, 2024-5-7 00:31

Powered by Discuz! X3.5

© 2001-2024 Discuz! Team.

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

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