今年年初准备学习K8S,在挑选树莓派的过程中发现了这款小盒子.因为IO较少,价格比树莓派4便宜很多.可以运行armbian.果断买了3个.到手后刷机安装K3S,运行镜像.然后开始放架子上吃灰.
在最近发现了网上有3588的jellyfin硬件解码文章Jellyfin中国特供版现已支持Rockchip RK3588 - 哔哩哔哩 (bilibili.com).
有泛起了折腾的心,当即翻出x2开始折腾,本文提供思路希望有能力的大佬可以完善
下面是官方的介绍
image.png

一.遇到的问题

  1. ophub/armbian的x2镜像选择rk35xx的内核后,就会导致网口无法使用(x2的u-boot有问题,使用JP-Box的u-boot可以启动,不知有什么区别希望大佬指点)
  2. x2的dts关于vpu的模块并没有开启
  3. 使用rk35xx内核,无法支持N大的镜像,只能使用jjm2473/jellyfin-mpp:latest镜像,效率差了很多
  4. 后续询问N大,指出我使用的内核驱动版本过低.需要升级到multi-rga.重新选择内核,编译刷机后.成功进行硬件转码(在此感谢N大的耐心解答)
    • 修改内核参数如下image.png
    • 也可以直接使用rk3588内核,具体差异未知

二.刷机

这里最重要的就是镜像,需要刷入支持rkvpu驱动的内核,这里博主是自己编译的.可以到Release中下载,具体的刷机教程就不详细展开了
仓库地址:HelloTheAsia/amlogic-s9xxx-armbian

  1. 下载PantherX2的镜像(因为x2的dts没有开启相应的选项.目前博主使用x2镜像是根据jp-box修改的,内核使用的是修改参数后的rk35xx内核)
  2. 下载相应的loader
  3. 下载rk刷机工具
  4. 进入maskrom刷机

三.安装Jellyfin

选择合适的ssh工具登录到设备

用户名:root
密码:1234
第一次登录会让你修改密码,选择bash

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
# 更新软件源
apt update
# 安装docker
apt install docker.io
# 创建目录
mkdir -p /root/jellyfin/config
mkdir -p /root/jellyfin/media
# 启动jellyfin
docker run -d \
--name jellyfinny \
--privileged \
-p 8096:8096 \
--restart=unless-stopped \
--volume /root/jellyfin/config:/config \
--volume /tmp:/cache \
--volume /root/jellyfin/media:/media \
`for dev in dri dma_heap mali0 rga mpp_service \
iep mpp-service vpu_service vpu-service \
hevc_service hevc-service rkvdec rkvenc vepu h265e ; do \
[ -e "/dev/$dev" ] && echo " --device /dev/$dev"; \
done` \
nyanmisaka/jellyfin:latest-rockchip

# 也可使用jjm2473/jellyfin-mpp:latest,其它设置相同替换镜像名即可
# jjm2473这个镜像启动就默认开启硬解了,不要在设置中选择任何转码的选项
docker run -d \
--name jellyfinny \
--privileged \
-p 8096:8096 \
--restart=unless-stopped \
--volume /root/jellyfin/config:/config \
--volume /tmp:/cache \
--volume /root/jellyfin/media:/media \
`for dev in dri dma_heap mali0 rga mpp_service \
iep mpp-service vpu_service vpu-service \
hevc_service hevc-service rkvdec rkvenc vepu h265e ; do \
[ -e "/dev/$dev" ] && echo " --device /dev/$dev"; \
done` \
jjm2473/jellyfin-mpp:latest

安装完成后,访问http://本机ip:8096,即可进入jellyfin

四.配置硬件解码

如果使用jjm2473这个镜像启动就默认开启硬解了,不要在设置中选择任何转码的选项

使用nyanmisaka/jellyfin:latest-rockchip设置中选择,如下图,即可开启硬件解码

测试转码

五.已经运行了服务的系统升级思路,小白切勿操作

如果数据重要,请务必备份后再进行操作
博主并未尝试只是整合了网上收集的资料
必须先替换u-boot,否则更换内核后网卡无法使用

1.下载并刷写jp-box的u-boot

https://github.com/ophub/u-boot/tree/main/u-boot/rockchip/jp-tvbox
下载idbloader.img u-boot.itb

1
2
dd if=idbloader.img of=/dev/mmcblk1 seek=64
dd if=u-boot.itb of=/dev/mmcblk1 seek=16384

2. 升级更换rk35xx系统内核

1
armbian-update -r hellotheasia/kernel -u rk35xx -k 5.10.160

3.更换x2 dtb

dtb文件:https://pic.hiasia.fun/image/rk3566-panther-x2.dtb
1.手动上传替换/boot/dtb/rockchip/rk3566-panther-x2.dtb文件
2.使用命令

1
2
3
wget https://pic.hiasia.fun/image/rk3566-panther-x2.dtb
cp ./rk3566-panther-x2.dtb /boot/dtb/rockchip/rk3566-panther-x2.dtb
rm rk3566-panther-x2.dtb

4.重启机器

参考资料

  1. Jellyfin中国特供版现已支持Rockchip RK3588 - 哔哩哔哩 (bilibili.com)
  2. ophub/amlogic-s9xxx-armbian: Support for Armbian in Amlogic, Rockchip and Allwinner boxes. Support a311d, s922x, s905x3, s905x2, s912, s905d, s905x, s905w, s905, s905l, rk3588, rk3568, rk3399, rk3328, h6, etc. (github.com)
  3. xiaomeng9597/Actions-iStoreOS-For-RK35XX: 使用 GitHub Actions 云编译 iStore OS 固件
  4. unifreq/linux-5.10.y-rk35xx: Rockchip BSP Kernel 5.10, for rk35xx (github.com)