大家好,欢迎来到IT知识分享网。
本内容来源于@什么值得买APP,观点仅代表作者本人 |作者:晋升奶爸的垃圾佬
引子
小睿CM360系列实际就是某联的系列产品,经过半年折腾,有群晖、istore、zidoo等固件可以刷,我这里重点讲解折腾的重点,并以spi系统群晖和emmc系统zidoo为重点,通过硬件和uboot实现不同系统的刷机,切换等
- 系列产品都是一张原理图出来的,只是布板不同,部分进行了适当精简。
- 背面对比
配置对比
不得不说,即便时隔3年之久,DS220j依旧是入门白群晖性价比最高的设备:
即便时隔5年之久,DS218Play的1G内存依旧能压DS220j一头,可能唯一值得说道的是京东云提供的DS218Play盘古Lite既能跑积分,售价也不贵。
CM360
- 固件及教程由好基友 大连-稍息制作,稍息YYDS主板及硬件标注图。
- GPIO57GPIO57能够改变板子的启动顺序,根据数据手册rtd1296的启动流程根据开机时三个引脚的状态决定,如下图
- cm360系列板子的BOOT_SEL默认为0,GPIO58默认为1,GPIO57则对应版子按键,如果按键断开则GPIO57默认通过电阻接地为0,从emmc启动;如果在通电时按住GPIO57,则GPIO57被拉高为1,系统从USB启动,这个usb启动不是uboot从usb引导内核,是bootrom直接运行线刷工具的协议,这是tpyeC口刷机的原理。
- TYPEC口TyPEC口是cm360的线刷口,可以在插入电脑时同时按下GPIO57,配合上位机软件进行线刷
- RESET图上标注的reset按键不是普通gpio,也不能被内核读取,而是电源芯片G2227的硬件reset,按下此按键,G2227会立即断电复位,从而重启1296,所以一般情况下,不要使用此按键,会造成系统异常关机,硬盘损毁。
- GPIO8这是一个通用GPIO,通过uboot或者内核可以读取GPIO状态,进而做出不同动作,比如我编译修改的uboot就会读取GPIO8,如果没有按下,启动正常引导流程,如果按下则从U盘先读取uboot脚本并执行,如果没有脚本则读取群晖文件写spi,如果群晖文件也不存在,则读取1296的四个U盘引导文件(内核、rootfs、dtb、afw)并U盘系统。
- TTL(确切是UART)cm360默认的波特率为,8N1,3.3V电平(CMOS电平)
- FAN接口注意cm360的fan接口不是常用的三针测速风扇,而是三针调速风扇。市售三针风扇应为VCC GND 测速,而360是PWM,所以可以用四针风扇,空接测速即可。
NS003
由于基本一致,注意GPIO57刷机按键位置即可,在DC接口背面空焊,短接即可刷机
刷机教程
对所有1296系列芯片支持线刷和U盘刷机,取决于板子是否引出线刷接口和切换usb启动的按键。
但是线刷和u盘刷家原理不同:
- 线刷是rtd1296芯片内部bootrom的功能,只需引出usb(通常是tpyec接口),确保BOOT_SEL、GPIO57、GPIO58再上电时的状态分别是011,对于CM360而言就是上电时按住GPIO57按键即可。线刷支持完整刷写emmc和nand,无需emmc或者nannd中uboot完好.适用于首次刷机或者无法确保emmc中uboot正常的情况或者完整重刷.线刷在硬件支持情况下,rtd1296芯片的板子通用.
- u盘刷机时uboot的功能,要求uboot运行正常,当uboot启动后,会根据某个按键的状态决定正常启动系统还是启动U盘刷机模式.适用于系统升级或者只有U盘刷机包的情况.U盘刷机流程完全取决于uboot的功能,不同uboot刷机流程和反应是不通用的.
- 对于我为cm360编译修改的uboot,支持开机时检测GPIO8的状态,发现GPIO8按下,则先加载U盘,U盘中如果有shaoxi_rtd129x_boot.scr文件,则直接执行该uboot脚本文件;如果没有该文件,进一步检测rtd129x_syno_dsm.bin,rtd129x_syno_dtb.bin,rtd129x_uboot_checksum.bin三个文件,如果存在则分别写入spi对应位置,实现群晖刷机;如果也不存在,则进一步检测bluecore.audio,emmc.uImage,rescue.emmc.dtb,rescue.root.emmc.cpio.gz_pad.img四个文件,如果存在则从u盘启动恢复系统;如果也不存在则运行bootr命令.
- 对于由于cm360自带的uboot,则支持开机时检测GPIO8的状态,发现GPIO8按下,则先加载U盘,检测bluecore.audio,emmc.uImage,rescue.emmc.dtb,rescue.root.emmc.cpio.gz_pad.img四个文件,如果存在则从u盘启动恢复系统.
- 四个文件组成的恢复系统就是一个最小系统,一般是在启动后直接检测U盘的install.img文件,如果存在则使用最小系统根据img文件刷写emmc.
通用线刷教程
1.下载bpi-w2刷机工具
2.安装驱动,在工具目录下,已经装过的不用二次安装
3.软件操作顺序
- 选择刷EMMC
- 选择ddr类型4ddr4_2G
- 选择镜像文件
- 设置刷写选项,刷写选项是根据刷机包和预期目的选择,一般镜像全部留空
- 4.启动刷机
- 按住GPIO57插入TYPEC线到电脑口,如果驱动正确,此时刷机工具会有反应(不用插电)
点击绿色小人开始刷机,一定要等到这个图标再断电
5.对于完整刷机包,到此已结束,跳过单刷uboot教程,但是由于cm360的刷机包,如zidoo并不包含uboot,或者不想用刷机包自带的uboot,需要单独刷写一个uboot,请继续”单刷uboot教程”
线刷单独uboot教程
- 1.关闭刷机软件情况下,将要刷写的uboot重命名为bootloader.tar,并覆盖刷机软件Tempfile下的bootloader.tar后再打开软件
- 2.软件操作顺序
- 选择刷EMMC
- 选择ddr类型4ddr4_2G
- 不要选择镜像文件,不要选择镜像文件
- 设置刷写选项,勾选”only upgrade bootloader”
- 3.启动刷机与通用线刷流程步骤4一致
各类系统和刷机工具地址先放着:
单刷zidoo或者istore
1.如果是单刷emmc启动系统,包括zidoo和istore,直接按照通用线刷教程刷一次即可
2.如果原厂boot没有损坏或者首次刷机,由于原厂boot支持启动zidoo,可以不用单刷boot
3.如果已经多次刷机,boot状态未知,请按照单刷boot教程刷原厂boot或者cm360移植boot
刷群晖系统并切换不同系统
1.按照通刷教程,刷emmc系统,可以是zidoo或者istore
2.焊接spi芯片,如果群晖系统想要DS218,请焊接8M flash,如果想要DS420J,请焊接16M flash
(DS218为2018年产品价格较贵,DS420j为20年产品,价格相对公道,功能基本一致,但是420J再最新的DSM7.2版中官方支持container manager,而DS218不支持,支持arm docker的目前只有DS420J和DS223两个机型)
3.按照单刷boot教程刷资源包中对应的0502cm360-ds218-bootloader.tar和0426cm360-ds420j-bootloader.tar,这两个boot功能一样,只是默认的命令env不同.
4.将资源包中对应群晖型号的三个文件放入U盘根目录,放入U盘,cm360断电插入u盘
5.短接或者按住GPIO8同时通电,待link灯闪烁可以放开(如果不愿焊接gpio8按键,也可以ttl下按esc中断uboot后直接深入goru,与按住gpio8实现效果相同)
6.等待几分钟,218因该7分以内,420J稍长可能10分钟左右,可以在线安装群晖.5月22日群晖7.2已正式发布。
7.切换emmc系统,将资源包bootscr目录下的bootr-shaoxi_rtd129x_boot.scr改名为shaoxi_rtd129x_boot.scr,放入U盘,按住gpio8开机,则自动切换会emmc系统,如果之前刷的zidoo就是zidoo,切换后U盘可以拔掉,下次重启仍然有效,默认启动zidoo.
8.切换群晖,将资源包bootscr目录下的群晖shaoxi_rtd129x_boot.scr改名为shaoxi_rtd129x_boot.scr,放入U盘,按住gpio8开机,则自动切换会群晖系统,切换后U盘可以拔掉,下次重启仍然有效,默认启动群晖.
刷群晖系统功能设置
安装完群晖系统,不管是ds420j还是ds218,由于板子没有单片机灯设备,后台会报i2c错误,影响硬盘修满和网络唤醒(WOL)灯功能,需要修复一次,一下修复教程源自矿神教程,特此注明
1.再群晖控制面板,终端机中开启ssh
2.使用ssh软件链接群晖ip地址,然后用sudo -i命令切换到特权模式
3.运行系统修复(测试ds420j也可以用)
DS420j 7.2 container manager上手
1.在beta套件中心安装
2.打开container manager注册表,我试了几次都无法连接,后来咨询矿神才知道,docker被墙了,但是只有搜索不可用,下载可以用
3.以安装qbittorent为例,解决方法有2:
一是自行路由绕墙,搜索界面因该是这样的
二是在ssh下操作下载,先用docker search,再用docker pull
4.再回到群晖界面,在映像里点击运行
5.设置相应选项
一共需要映射三个目录,config、data跟qBittorrent的软件配置有关,downloads为下载目录,左侧可根据dsm内设置的目录自行添加,我创建了”下载”共享文件夹,通信协议选择tcp和udp
6.点击下一步后,会弹窗提示配置容器的网页门户,点击确定会跳转到web station进行下一步操作
下拉创建桌面快捷方式
7.反回看到容器已经运行
8.在container manager首页和容器页可以进行管理
利用bootscr调整默认开机风扇转速
我移植的uboot允许在按下gpio8情况下执行U盘shaoxi_rtd129x_boot.scr,这个特性除了可以修改bootenv命令实现系统切换,同样可以实现在启动前修改默认风扇转速.
1.新建一个pwm-shaoxi_rtd129x_boot.cmd(资源包里有),一下内容就是修改pwm站控比为80%,根据实际修改
2.在linux环境下用命令生成scr
3.将生成的问题改名为shaoxi_rtd129x_boot.scr,放入U盘,按住gpio8开机,则自动会将开机前风扇转速调整为80%.
需要注意的是调整后风扇转速在群晖下新版dtb会默认保持,也就实现了自定义开机转速的效果,如果你是老版本dtb,可能无效,因为老版本dtb开机后群晖会将pwm设置为gpio,从而使uboot的设置失效.
作者声明本文无利益相关,欢迎值友理性交流,和谐讨论~
免责声明:本站所有文章内容,图片,视频等均是来源于用户投稿和互联网及文摘转载整编而成,不代表本站观点,不承担相关法律责任。其著作权各归其原作者或其出版社所有。如发现本站有涉嫌抄袭侵权/违法违规的内容,侵犯到您的权益,请在线联系站长,一经查实,本站将立刻删除。 本文来自网络,若有侵权,请联系删除,如若转载,请注明出处:https://yundeesoft.com/160235.html