S905 的盒子报 i/o error,一般是 emmc 或 usb 口问题,简单排查后发现是使用中的 usb 口挂了。安装 armbian 后使用了 1 年多,应用安装、卸载频繁,重新刷机最简单。

刷机

确定好系统核心(debian 或 ubuntu)、内核版本(armbian 24,8为6.1.x 或 6.6.x)、芯片与主板方案、盒子型号,包括通用方案和特定型号(如 cm211),在以下页面下载固件包。s905 盒子推荐 6.1.x 内核版本的固件,6.6.x 内核的新特性 s905 方案盒子几乎用不上。

Releases · ophub/amlogic-s9xxx-armbian (github.com)

Windows 下使用 rufus 刷写至 U 盘,修改 uExt.txt  文件,将 e900v22c 修改为对应型号如 m401a。

#FDT=/dtb/amlogic/meson-g12a-s905l3a-e900v22c.dtb
FDT=/dtb/amlogic/meson-g12a-s905l3a-m401a.dtb

将 U 盘插入盒子正常的 usb 接口,接电启动。1-2分钟后,就可以通过 ssh 连接盒子了,默认用户名和密码是root、1234。Armbian 默认开启 dhcp 客户端,可通过路由器查看 ip 地址分配情况,确定 armbian ip地址。

ssh root@192.168.1.1 #ip地址仅为示例

 

登录成功后,设置/修改 root 密码,按 ctrl+c 跳过普通账号创建、时区修改等步骤。使用 armbian-install 命令将固件由 u 盘刷写至 emmc。

armbian-install

 

启动脚本后,选择型号(304、306等)、文件系统(ext4 或 brfs),稍等片刻完成 emmc 固件刷写。

清除HomeAssistant

安装了最新包含 Home Assitant 的固件,实际并无需求,并且空间、内存占用增加了很多,supervised 守护的 ha 可通过如下方法完全清除。

systemctl disable hassio-supervisor.service
systemctl disable hassio-cli.service #此处服务名根据实际情况修改,/etc/systemd/system目录下的ha相关服务
rm -f /etc/systemd/system/hassio*
systemctl daemon-reload
docker rm -f $(docker ps -aq)
docker rmi -f $(docker images -q)

 

更换清华源

apt install apt-transport-https ca-certificates -y
echo "deb https://mirrors.tuna.tsinghua.edu.cn/debian/ bookworm main non-free non-free-firmware contrib" > /etc/apt/sources.list
echo "deb-src https://mirrors.tuna.tsinghua.edu.cn/debian/ bookworm main non-free non-free-firmware contrib" >> /etc/apt/sources.list
#rm -rf /etc/apt/sources.list.d

 

挂载硬盘笼

使用 UUID,UUID 的获取可使用 blkid 命令,对应在 /mnt 目录下创建挂载点并挂载。

blkid
mkdir /mnt/sda1 && mount /dev/sda1 /mnt/sda1
mkdir /mnt/sdb1 && mount /dev/sdb1 /mnt/sdb1
mkdir /mnt/sdc1 && mount /dev/sdc1 /mnt/sdc1
mkdir /mnt/sdd1 && mount /dev/sdd1 /mnt/sdd1

 

启动挂载

编辑 /etc/fstab 文件,添加以下内容,UUID 由 blkid 命令查询获取。

UUID=0D04C6C2DF581A40 /mnt/sda1 ntfs defaults 0 0
UUID=880B15A35968A478 /mnt/sdb1 ntfs defaults 0 0
UUID=DEB4A33AE8B8AD0A /mnt/sdc1 ntfs defaults 0 0
UUID=CF71670A481C19F2 /mnt/sdd1 ntfs defaults 0 0

 

本地安装jellyfin

之前如果删除了 /etc/apt/sources.list.d 目录,应重新新建此目录,无需更新的话可在安装 jellyfin 后再删除。本地安装的 jellyfin/plex 等媒体服务器默认采用 systemd 守护管理,如需卸载禁用开机加载并停止服务。

apt install apt-transport-https -y
wget -O - https://repo.jellyfin.org/jellyfin_team.gpg.key | sudo apt-key add -
echo "deb [arch=$( dpkg --print-architecture )] https://repo.jellyfin.org/$( awk -F'=' '/^ID=/{ print $NF }' /etc/os-release ) $( awk -F'=' '/^VERSION_CODENAME=/{ print $NF }' /etc/os-release ) main" | tee /etc/apt/sources.list.d/jellyfin.list
apt update -y
apt install jellyfin -y

 

特别提示,当使用 jellyfin/plex/emby 等媒体服务本地或远程播放出现中断、掉盘的情况下,首先要检查的是否是 usb 口的问题,尤其是在使用了廉价盒子的前提下。这时,往往换个 u 口重新挂挂载就行。

声明:本站所有文章,如无特殊说明或标注,均为本站原创发布。任何个人或组织,在未征得本站同意时,禁止复制、盗用、采集、发布本站内容到任何网站、书籍等各类媒体平台。如若本站内容侵犯了原著者的合法权益,可联系我们进行处理。