R3300L运行CoreELEC, EmuELEC和Armbian
R3300L的参数
CPU: S905L
RAM: Samsung K4B4G1646E-BCMA 512MB * 2 = 1GB
ROM: Samsung KLM8G1WEPD-B031 8GB eMMC * 1 = 8GB
WLAN: RTL8189FTV
接口: USB2.0 * 1, MicroUSB * 1, AV * 1, HDMI * 1, Micro Sdcard Reader * 1, 10/100M eth * 1, IR * 1
功率: 待机 0.6W, 工作 2.9~3.0W, 播放视频 3.5W
R3300M的参数
CPU: S905M-B
RAM: Nanya NT5CB256M16DP-EK DDR3 512MB * 2 = 1GB
ROM: TOSHIBA THGBMBG5D1KBAIL 4GB eMMC * 1 = 4GB
WLAN: RTL8189ETV
接口: USB2.0 * 1, MicroUSB * 1, AV * 1, HDMI * 1, Micro Sdcard Reader * 1, 10/100M eth * 1
EmuELEC介绍
EmuELEC实际上是一个软件的整合, 要把它介绍清楚, 就不得不提相关联的一些项目.
Kodi
首先是Kodi(曾经也叫XBMC), 是一个可以跨多平台运行的影音娱乐中心软件. 由XMBC/Kodi基金会资助开发. 是当前各种ELEC项目的鼻祖.
OpenELEC
官网地址 https://openelec.tv/
OpenELEC(Open Embedded Linux Entertainment Center)是一个基于JeOS(Just Enough Operating System)的精简Linux, 用于将电脑变为可以运行Kodi的家庭媒体娱乐中心, 其功能包括影片管理和播放, TV播放, 相片浏览, 音乐播放. 因为不基于任何发行版, 所以OpenELEC的硬件驱动并不完整, 其优点在于提供了完整的管理界面, 普通用户完全可以通过界面管理系统而不需要使用命令行.
LibreELEC
官网地址 https://github.com/LibreELEC/LibreELEC.tv LibreELEC是从OpenELEC早期版本独立出来的一个分支. 与OpenELEC相比更精简, 更新更快(monthly updates), 官网文档详细, 更容易安装, 目前Kodi主页上的Friends列表, 只有LibreELEC, 没有OpenELEC. 目前大部分用户更倾向于使用LibreELEC.
OSMC
官网地址 https://osmc.tv/ OSMC 是一个基于Debian发行版的Kodi运行环境. 因为其基于Debian, 所以软件资源相当丰富. 相对应的, 运行OSMC需要的硬件要求相对LibreELEC要高. OSMC跟EmuELEC其实没什么关系, 但是既然都提到这么多了, 也顺带介绍一下.
RetroArch
官网地址 https://www.retroarch.com/ RetroArch是一个跨平台的前端框架, 虽然说也支持多媒体, 但其实主要还是用于游戏模拟器. RetroArch支持FC, SFC, GB, MD, Mame等各种模拟器引擎.
CoreELEC
官网地址 https://coreelec.org/
Github地址 https://github.com/CoreELEC/CoreELEC
CoreELEC 是LibreELEC的一个分支, 专注于在Amlogic芯片方案上运行的Kodi. 如果你的盒子使用的是Amlogic系列芯片, 推荐使用这个.
EmuELEC
Github地址 https://github.com/EmuELEC/EmuELEC
终于介绍到主角了. EmuELEC基于CoreELEC和Lakka, 专注于在Amlogic芯片方案上运行的游戏模拟器, 主要是RetroArch, 附带一些PSP这类游戏的独立模拟器, 界面基于EmulationStation, 在游戏中可以调出RetroArch界面. EmuELEC相当于树莓派上RetroPie的Amlogic版. EmuELEC以前叫SX05RE, 从版本2.5开始, 改名为emuELEC, 专注于游戏功能, 不再集成Kodi. 常用的WiFi设置, 蓝牙设置等功能已经集成到主界面, 不需要通过Kodi来设置.
EmuELEC的安装
参考 https://github.com/EmuELEC/EmuELEC/wiki 其中的 How to Install 部分, 根据自己的盒子芯片型号, 选择对应的img下载.
- EmuELEC-Amlogic.arm-x.x.x-generic.img.gz 适用于S905/S912芯片的设备, 例如N1, Q5, Q7, R3300L等
- EmuELEC-Amlogic-ng.arm-x.x.x-generic.img.gz 适用于新出的S905x2,S922x/A311D芯片的设备
下载完之后, 使用 Win32DiskImager, USB Image Tool等工具写入TF卡(或U盘).
写入结束后, TF卡实际被分成了两个分区, 一个是FAT32格式的引导区, 另一个是EXT4格式的系统区, 在Windows下无法访问.
然后在写好的文件系统中, 在device_tree下选择合适的dtb文件, 替换掉卡根目录下的dtb.img文件, 这一步是必须的(和Armbian不一样, 如果不替换dtb.img, 设备启动时会一直黑屏)
dtb文件的对应关系为
- Amlogic S905 = p200/p201
- Amlogic S905X = p212
- Amlogic S905D = p230/231
- Amlogic S905W = p281
- Amlogic S912 = q200/q201
其中, R3300L要选择S905X对应的 gxl_p212_1g_slowemmc.dtb, 这个版本能开启内置的WiFi.
PS: Q5盒子用的是 gxbb_p200_1G_100M_RealtekWiFi.dtb 这个dtb.
在插入盒子启动后, 如果不能自动从TF卡启动, 需要安装一个Reboot to LibreELEC的app, Reboot to LibreELEC_v1.1_apkpure.com.apk, 运行这个后盒子重启, 就会从TF卡启动了, 以后只要插上TF卡, 就会自动从TF卡启动.
启动后, 根据提示配置按键.
ROM文件放置在系统区的 /storage/roms路径下, 可以在联网之后通过ssh上传
默认的安装下, EmuELEC缺少命令行alias, 需要自己设置:
vi /storage/.profile
# Add following line
alias ll='ls -al'
CoreELEC的安装
从Github上的CoreELEC项目 https://github.com/CoreELEC/CoreELEC/releases 下载最新的release, 对应R3300L的是 CoreELEC-Amlogic.arm-x.x.x-Generic.img.gz
将其写入TF卡后, 将device_trees下的 gxl_p212_1g_slowemmc.dtb 复制到根目录下更名为 dtb.img 就可以了, 将TF插入设备后, 就可以从TF卡启动.
这个版本使用的内核依然是3.14, wifi是可用的.
R3300L的刷机
R3300L的刷机其实是非常简单的,
准备工作
micro-USB线, 牙签之类非导电材质的小针状物, 安装好USB_Burning_Tool, 下载已经ROOT的安卓刷机包, 我使用的是
潜龙固件 https://pan.baidu.com/s/1dGbwYQX 密码: wimb
刷机步骤
- 打开USB_Burning_Tool, 打开img文件, Erase flash 和 Erase bootloader 默认勾选. 等着
- R3300L断开电源, 开关关上(弹出状态), 顶住AV口内的小开关, 连上USB线,
- 等待几秒, 会看到USB_Burning_Tool界面显示Connect success, 然后点击Start
- 然后就等进度条一直写到100%
- 完成后点击Stop, 关闭USB_Burning_Tool
然后拔掉USB线, 重新连上HDMI, 加电, 系统开机就是新的安卓系统了
遇到的问题
如果你的设备不是原始系统, 已经刷过机, 那么很有可能在第2步后第3步时电脑无反应. 这个情况我在刷过机的R3300L上出现过, 这种情况即使拆机, 短接4R19与地线, 都无法让电脑识别连接盒子. 解决办法是:
1. 如果还能启动进入安卓, 那么在启动进安卓后, 准备好USB线, 在运行Reboot To LibreELEC, 点下确定屏幕变黑的时候, 立即将USB线连上电脑, 就能认出来了. 然后关掉盒子电源(此时由USB供电了), 就可以进行线刷操作了.
2. 如果能连接TTL, 在启动运行安卓后, TTL终端会进入命令行, 在命令行运行 reboot update
3. 如果能连接TTL, 在启动后, 显示"Hit any key to stop autoboot: 0"前, 按下空格(Space)键, TTL终端会进入uboot命令行, 在命令行运行update
EmuELEC img镜像文件
以下操作都是在Ubuntu18.04下进行
镜像文件结构
可以直接使用fdisk查看img文件, 内部有两个分区, 一个是Win fat32格式, 一个是Linux格式
$ fdisk EmuELEC-Amlogic.arm-3.1-Generic.img Welcome to fdisk (util-linux 2.31.1).
Changes will remain in memory only, until you decide to write them.
Be careful before using the write command.
Command (m for help): p
Disk EmuELEC-Amlogic.arm-3.1-Generic.img: 549 MiB, 575668224 bytes, 1124352 sectors
Units: sectors of 1 * 512 = 512 bytes
Sector size (logical/physical): 512 bytes / 512 bytes
I/O size (minimum/optimal): 512 bytes / 512 bytes
Disklabel type: dos
Disk identifier: 0x5bfdd6a4 Device Boot Start End Sectors Size Id Type
EmuELEC-Amlogic.arm-3.1-Generic.img1 * 8192 1056767 1048576 512M c W95 FAT32 (LBA)
EmuELEC-Amlogic.arm-3.1-Generic.img2 1056768 1122303 65536 32M 83 Linux Command (m for help):
挂载镜像文件
# 查看可用的loop设备
$ sudo losetup -f
/dev/loop18 # 将img挂载到loop设备
$ sudo losetup /dev/loop18 EmuELEC-Amlogic.arm-3.1-Generic.img # 这里也可以用fdisk查看img分区信息, 可以看到地一个分区是从8192开始
$ sudo fdisk -lu /dev/loop18
Disk /dev/loop18: 549 MiB, 575668224 bytes, 1124352 sectors
Units: sectors of 1 * 512 = 512 bytes
Sector size (logical/physical): 512 bytes / 512 bytes
I/O size (minimum/optimal): 512 bytes / 512 bytes
Disklabel type: dos
Disk identifier: 0x5bfdd6a4 Device Boot Start End Sectors Size Id Type
/dev/loop18p1 * 8192 1056767 1048576 512M c W95 FAT32 (LBA)
/dev/loop18p2 1056768 1122303 65536 32M 83 Linux # 将img卸载, 重新挂载
$ sudo losetup -d /dev/loop18 # 使用 8192 * 512 = 4194304 作为offset
$ sudo losetup -o 4194304 /dev/loop18 EmuELEC-Amlogic.arm-3.1-Generic.img # 挂载到文件系统, 然后就可以查看了
$ sudo mount /dev/loop18 /mnt/mnt1/
取消挂载
$ sudo umount /mnt/mnt1/
$ sudo losetup -d /dev/loop18
另: 如果是在Ubuntu下面, 在执行完 sudo losetup -o xxx /dev/loop18 xxx.img之后, 其实在文件浏览器中的Other Locations中, 就可以看到分区了.
DTB文件的修改
安装dtc命令需要的软件device-tree-compiler
sudo apt install device-tree-compiler
解码
dtc -I dtb -O dts -o meson-gxl-s905d-p230_modified.dts /boot/xxx/meson-gxl-s905d-p230.dtb
修改, vi / vim 等等直接修改文本文件
编译
dtc -I dts -O dtb -o meson-gxl-s905d-p230_modified.dtb meson-gxl-s905d-p230_modified.dts
R3300-L运行Armbian系统
访问 https://share.weiyun.com/5eCvcvS 密码:mivmcn , 下载5.44->Kernel 3.14->20180729 下面的镜像, 写入TF卡, 可以直接插入盒子启动.
注意: 这里和EmuELEC不一样,
1. 不需要自己去复制dtb文件, 如果自己复制并改名为dtb.img, 反而会造成无法启动
2. 不需要自己resize TF卡的分区, armbian启动后会自己把分区扩张为全部剩余空间
目前能完美使用的是 Armbian_5.44_S9xxx_Ubuntu_bionic_3.14.29_server_20180729.img.xz 这个镜像, 启动后网卡默认可用, WIFI需要手动添加
添加WIFI的步骤:
sudo modprobe wifi_dummy
# 将 wifi_dummy 加入到 /etc/modules 的最后一行
echo wifi_dummy >> /etc/modules
R3300-L的操作和N1不太一样, R3300-L没有dhd设备.
然后重启, 运行nmtui启动网络管理界面, 如果前面操作正常, 在Activate a connection里面就能看到wifi热点列表了, 直接输密码连接就可以了.
将Armbian写入R3300-L 的内置 eMMC 存储
运行 armbian-config, system -> Install / Update , 注意, 这一步会将盒子内原来的Android系统覆盖, 如果要恢复回Android系统, 要再次重复线刷的过程.
其他Armbian版本在R3300-L上的运行
Armbian_5.44_S9xxx_Ubuntu_bionic_3.14.29_icewm_20180729.img.xz 直接刷入TF卡, 可以正常启动, 设置用户重启后进入icewm桌面, wifi正常(添加方式与命令行版本一样), 修改语言为en_US.UTF-8并将字体放入 /usr/share/fonts/truetype/custom 下后, 浏览器可以正常显示中文.
Armbian_5.44_S9xxx_Ubuntu_bionic_4.16.1_server_20180523.img.xz 无法启动
Armbian_5.44_S9xxx_Ubuntu_bionic_4.18.0-rc5_server_20180806.img.xz 无法启动
Armbian_5.90_Aml-s905_Ubuntu_bionic_default_5.1.0_20190701.img.xz 直接刷入TF卡, 不需要修改uEnv.ini, 正常启动, 有eth0, 无wlan, 无法通过modprobe wifi_dummy 添加.
Armbian_5.97_Aml-g12_Ubuntu_bionic_default_5.3.0_20190923.img.xz 直接刷如TF卡, 第一次启动一直黑屏无响应, 然后取出TF卡挂在电脑上将uEnv.ini里的dtb指向gxl_.._p212.dtb, 再插回R3300-L就可以启动了, 有eth0, 无wlan, 无法modprobe wifi_dummy
R3300L运行CoreELEC, EmuELEC和Armbian的更多相关文章
- R3300L按reset键无法进入USB Burning模式的问题分析
最开始并没有注意到这个问题, 因为从设备拿到手, 用USB Burning Tool刷入潜龙版的安卓4.4.2, 再到运行EmuELEC, Armbian, 再到给Kernel 5.3的Armbian ...
- 数码视讯Q7的刷机
Q7的硬件配置 CPU: S905LRAM: MIRA P3P4GF4DMF DDR3 512MB * 2 = 1GBROM: 镁光29F64G08CBABB * 1 = 8GBWIFI: RTL81 ...
- EmuELEC系统的结构
分区结构 在img写入后, 会产生两个分区EMUELEC: 用于启动的文件, 例如dtb文件等, 以及system.img & system.img.md5, EmuELEC的系统文件都在这个 ...
- R3300L Android相关的记录
在寻找高版本Android固件的过程中遇到一个Android6.0的固件, 刷上去之后发现没有Root. 因为原发布者设置了收费的QQ群, 固件开机图上就是QQ群号, 满以为交了钱之后应该能有Root ...
- Armbian编译以及定制
Armbian项目地址 Github: https://github.com/armbian/build Armbian for TV Box 项目地址 Github: https://github. ...
- learning armbian steps(1) ----- armbian 入门知识基础学习
第一问: armbian是什么? Armbian是轻量级的Debian系统和为ARM开发板专门发行并重新编译的Ubuntu系统. 第二问: 什么场景下会用到armbian系统? 一个带有arm编译器 ...
- s905l3a系列刷armbian 教你从0搭建自己的博客
最近服务器又更换了,原来的有一点点小意外(一个电阻给我焊接时搞掉了). 哎~~今天,我淘到了一个好东西----CM311-3a,配置很诱人,价格也不贵,60绰绰有余 比较 CM311-3a N1(炒到 ...
- ASP.NET Aries 入门开发教程1:框架下载与运行
背景: 鉴于框架的使用者越来越多,文档太少,不少用户反映框架的入门门槛太高. 好吧,再辛苦下,抽时间写教程吧! 步骤1:下载框架源码 开源地址:https://github.com/cyq1162/A ...
- 在传统.NET Framework 上运行ASP.NET Core项目
新的项目我们想用ASP.NET Core来开发,但是苦于我们历史的遗产很多,比如<使用 JavaScriptService 在.NET Core 里实现DES加密算法>,我们要估计等到.N ...
随机推荐
- Java集合学习(4):HashTable
一.概述 和HashMap一样,Hashtable也是一个散列表,它存储的内容是键值对. Hashtable在Java中的定义为: public class Hashtable<K,V> ...
- Linux CentOS7 安装FTP服务器
版权声明:本文为博主原创文章,遵循CC 4.0 BY-SA版权协议,转载请附上原文出处链接和本声明. 本文链接:https://blog.csdn.net/qq_39680564/article/de ...
- vue 指令中el 的 parentNode 为空的问题
在项目中,突然发现在用vue指令的时候,发现元素el的父元素parentNode变成了null. 代码: if (el.parentNode && !Vue.prototype.$_h ...
- csv、json 文件读取
1.CSV 文件存储 1.1 写入 简单示例 import csv with open('data.csv', 'a') as csvfile: writer = csv.writer(csvfile ...
- 神舟笔记本Hasee安装Ubuntu Desktop和Gnome
目录 1. 安装Ubuntu-desktop 2. 解决hasee T97 WiFi.声音输入输出.无法关机问题 3. 更新grub启动引导 4. 安装缺失的驱动(否则4.15内核无法进入桌面) 5. ...
- 《linux就该这么学》课堂笔记04 常用命令cat、mor...tar、find
本节命令汇总 命令 说明 格式 常用参数 实例 备注 cat 查看纯文本文件(内容较少) cat [选项] 文件名称 -n 显示行号 cat -n install-setup-ks.cfg 查看ins ...
- async和await执行顺序
关于执行顺序和线程ID,写了一个小程序来检测学习: using System; using System.Net; using System.Threading; using System.Threa ...
- seaborn(1)---画关联图
将 Seaborn 提供的样式声明代码 sns.set() 放置在绘图前,就可以设置图像的样式 sns., color_codes=False, rc=None) context= 参数控制着默认的画 ...
- opencv想到的
opencv是用C++写的库,包了多种语言接口,包括C,C++,python,java等. OpenCV 是一个开放源代码的计算机视觉库,目前在科研和开发中被广泛使用.OpenCV 由一系列 C 函数 ...
- 树莓派使用root操作图形界面使用自带的文件管理器
使用pi用户通过VNC登录图形界面之后,在需要修改一些文件则时提示权限不够, 命令行下使用sudo 运行就可以了.或者直接用root账户. 修改管理员密码:sudo passwd root 修改启用管 ...