找回密码
 立即注册

QQ登录

只需一步,快速开始

搜索
广告投放联系QQ68610888
查看: 13833|回复: 65

魔百和CM311-1a KVM Openwrt& Docker 青龙 宝塔

 火.. [复制链接]
发表于 2022-9-8 01:40 | 显示全部楼层 |阅读模式
本帖最后由 sfezen 于 2022-9-8 13:41 编辑

声明:由于固件、软件、镜像等持续更新,本文仅代表当前所使用版本的流畅安装记录。行文略长,关键代码处会配以截图展示,请自行对比是否存在差异导致安装失败!如有疏忽之处,还请见谅!刷机有风险,请慎重选择,一切源于本文造成的后果自负,笔者概不负责!

前沿:创维e900v22c、e900v22d、中兴B863AV3.2-M、魔百和CM311-1a、M411A、UNT403A、UNT413A等一众搭载晶晨S905L3A的电视盒子成为2022年度数码爱好者(la ji lao)们最关注的产品之一,纵使有百兆网口的缺点,Soc综合性能在N1之上,再加上50~80元的价格,这都不是事儿!笔者在3月的某一天逛小黄鱼上偶然看到有人在卖HomeAssistant的盒子,于是便看到了图中硕大的魔百和三个字,凭借养成的垃圾佬嗅觉,加之看过神雕(Teasiu) 大佬分享海思机顶盒的相关文章,所以对这个电视盒子饶有兴趣,后来经过多方对比外形+小黄鱼的AI推送算法,终于找到了它——魔百和CM311-1a YST YS(M),虽然笔者家中已有老母鸡、N1、H1、M1、R1、蜗牛星际、我家云、锐角云、随身Wi-Fi等一众“垃圾”,但面对当时50元不到的价格毅然剁手2台,这半年来经过各路大佬的开发调教,目前系统固件已日趋完善,本文以魔百和CM311-1a (CH) 2G RAM+8G ROM为例,探索该系列电视盒子更多整合方案,本文不设置回复可见,希望传递共享精神,也是对各位大佬智慧结晶的进一步传播。



童年记忆之——1987年动画《三个火枪手》剧照:我为人人 人人为我
特别鸣谢各路大佬(排名不分先后):

Flippy、Aidany、Ophub、Calmact、Pinker336、Xcray、一脸懵13、Whyour、Cyberbolt、SuLingGG

本文参考:





Part 1. 线刷Android TV版固件

此步骤非必须,但依然建议!刷Android的目的: 1. 盒子安卓系统可能存在分区大小不一致,有写EMMC后黑屏不启动的风险,故建议刷写该版本 2. 该固件已预装LibreELEC APP 可以直接通过遥控器切换到U盘中的系统,不需要再使用ADB工具进行切换

安装Amlogic USB Burning Tool v3.2软件→打开Aml_Burn_Tool软件→文件→导入烧录包→Amlogic USB Burning Tool自动重启变成2.1版本→把【擦除flash】和【擦除bootloader】两项去勾→点击【开始】→盒子电源关闭→盒子接电源线→把USB线一端插上盒子→保持短接(用平口螺丝刀或镊子)→USB另一端插上电脑→通电开机(非必须,CH版通过USB线即可供电刷机)→盒子进度条在跑了(此时松开短接)→进度条跑完点击停止→移除USB线→盒子电源关闭→插入HDMI线→盒子电源打开→盒子启动Android电视系统,线刷完成!
短接点:4R32



图片来自刷机包中,侵删
线刷开始时注意:擦除flash、擦除bootloader 需要勾选!

  

线刷工具、固件下载:

注:阿里盘下载的EXE文件,运行后解压出img文件

Part 2. 制作Armbian启动U盘

依据个人喜好选择:jammy(Ubuntu最新发行版代号)或bullseye(Debian最新发行版代号)

Armbian固件及工具下载:



下载并解压Armbian固件中的img文件,插入U盘(容量需>=4GB,会格式化U盘,请提前转移重要资料!笔者使用大妈近期比较热门的海康威视 星云R32 USB3.1 U盘 128GB写入速度较快但未能启动,更换金士顿 USB3.0 32GB U盘后成功,如U盘不能启动建议更换闪迪等品牌U盘),在Rufus设备栏选择U盘,点击引导类型选择处的选择 选择解压后的Armbian镜像文件(Armbian_22.11.0_Aml_s905l3a_bullseye_5.15.62_server_2022.09.06.img)


Part 3. 安装Armbian到EMMC中

此时回到电视盒子,使用遥控器打开LibreELEC APP 点击确定



等待电视盒子红灯后将U盘插入到靠近网口的USB口,第一屏后出现花屏,然后出现Armbian启动字符


在界面可见当前IP,通过Xshell、MobaXtrem、Putty、Finalshell、Windows Terminal等软件通过SSH协议登录 密码:1234

但是因为Network服务和NetworkManager服务同时启动导致设备获取两个IP,这里显示的IP不一定可以连接,所以我们还是在路由器中寻找这台设备的IP通过SSH登录,当然也链接键盘登录(登录后需要更改密码)后使用:ip a 命令查看IP



登陆后系统会强制更新密码,且规则为字母+符号或数字+符号,如果输入弱口令,会再次要求更新,所以这里我们设置一个合规的密码,稍后再使用passwd更新:)

第二步,选择Shell终端,这里根据个人喜好选择。

添加br0桥接并设置固定IP
  1. nano /etc/network/interfaces.d/br0
复制代码
这段编辑器里总出现问题 所以下面我又再发一次图,以图片为准!
  1. <blockquote>allow-hotplug eth0
复制代码


关闭并禁用NetworkManager服务(设备会重启)
  1. systemctl stop NetworkManager.service
  2. systemctl disable NetworkManager.service
  3. init 6
复制代码
等待重启后再次通过SSH连接盒子后我们开始使用命令将系统写入EMMC
  1. armbian-install
复制代码



输入305 选择:s905l3a  CM311-1a-YST


ext4、BtrFS各有优缺点,这里根据自己情况选择,这里笔者选择BtrFS,等待写入成功



此时您有两种选择:
关闭盒子电源,移除U盘,再接通电源
或者优雅的使用 poweroff关机再移除U盘 关开电源

修复写入EMMC后可能出现的网络问题(非必须,如果写入后网络正常请无视)
  1. rm /run/resolvconf/resolv.conf
  2. ln -s /etc/resolv.conf /run/resolvconf/resolv.conf
复制代码
重新插拔网线后查看盒子IP

另,这个U盘暂时请保留内容!下一次可以用来装HomeAssistant。

Part 4. 安装Docker及青龙、宝塔面板

这里先换源:
  1. nano /etc/apt/sources.list
复制代码
Ctrl+K全部删除 复制清华源 鼠标中键(滚轮)粘帖
  1. deb https://mirrors.tuna.tsinghua.edu.cn/debian/ bullseye main contrib non-free
  2. deb-src https://mirrors.tuna.tsinghua.edu.cn/debian/ bullseye main contrib non-free
  3. deb https://mirrors.tuna.tsinghua.edu.cn/debian/ bullseye-updates main contrib non-free
  4. deb-src https://mirrors.tuna.tsinghua.edu.cn/debian/ bullseye-updates main contrib non-free
  5. deb https://mirrors.tuna.tsinghua.edu.cn/debian/ bullseye-backports main contrib non-free
  6. deb-src https://mirrors.tuna.tsinghua.edu.cn/debian/ bullseye-backports main contrib non-free
  7. deb https://mirrors.tuna.tsinghua.edu.cn/debian-security bullseye-security main contrib non-free
  8. deb-src https://mirrors.tuna.tsinghua.edu.cn/debian-security bullseye-security main contrib non-free
复制代码
Ctrl+X → y → 回车 保存

更新源并安装以下软件:
  1. apt update && apt install -y apt-transport-https apparmor udisks2 gpiod lrzsz
复制代码
安装Docker(使用清华源):
  1. mkdir -p /etc/apt/keyrings
复制代码
  1. curl -fsSL https://download.docker.com/linux/debian/gpg | sudo gpg --dearmor -o /etc/apt/keyrings/docker.gpg
复制代码
  1. echo \
  2. "deb [arch=$(dpkg --print-architecture) signed-by=/etc/apt/keyrings/docker.gpg] https://mirrors.tuna.tsinghua.edu.cn/docker-ce/linux/debian \
  3. $(lsb_release -cs) stable" | sudo tee /etc/apt/sources.list.d/docker.list > /dev/null
复制代码
  1. apt-get update && apt-get install -y docker-ce docker-ce-cli containerd.io docker-compose-plugin
复制代码

新建目录后安装青龙,青龙登录地址:盒子IP:5700 (注意英文冒号)
  1. mkdir -p /data/docker && cd /data/docker
复制代码
  1. docker run -dit \
  2. -v $PWD/ql/config:/ql/config \
  3. -v $PWD/ql/log:/ql/log \
  4. -v $PWD/ql/db:/ql/db \
  5. -v $PWD/ql/scripts:/ql/scripts \
  6. -p 5700:5700 \
  7. --name qinglong \
  8. --hostname qinglong \
  9. --restart always \
  10. whyour/qinglong:latest
复制代码

继续安装宝塔面板:这里使用cyberbolt/baota,需要生成测试环境并复制文件后删除再生成正式环境,注意命令中的username 不能使用admin,否则会报错
  1. docker run -itd --net=host \
  2. --name baota-test cyberbolt/baota \
  3. -port 8888 -username sfezen -password 987654321
复制代码
使用以下命令查看容器是否已启动,此处面板链接IP需更正为盒子IP,下同
  1. docker logs baota-test
复制代码
新建宝塔映射目录
  1. mkdir -p /data/docker/baota
复制代码
复制容器中www目录到/data/docker/baota中
  1. docker cp baota-test:/www /data/docker/baota
复制代码
复制完成后停止并删除测试容器
  1. docker stop baota-test && docker rm baota-test
复制代码
创建正式容器,此处port将成为宝塔面板登录端口,修改username、password建议改成强口令
  1. docker run -itd -v /data/docker/baota/www:/www --net=host --restart=always \
  2. --name baota cyberbolt/baota \
  3. -port 9888 -username sfezen -password 987456321
复制代码
再次使用' docker logs 容器名 '查看容器是否已启动
  1. docker logs baota
复制代码

通过盒子IP:端口登录宝塔面板,少年,快去建站吧!

现在已经安装好了青龙和宝塔,让我们来看看这个8GB的ROM还剩多少?


我的天呐!居然还有3.5G的空间,反正宝塔青龙又不是很耗费CPU,我们就匀出来1G+2G来给OpenWRT吧~说干就干!

Part 5. 安装KVM及OpenWRT

有朋友可能会问,这里为什么不通过Docker安装OpenWRT呢?KVM会不会损失性能?这里主要基于3个原因:1. Turbo ACC 网络加速 2. 在Docker中使用OpenWRT需打开特权模式(--privileged)影响宿主机稳定性 3. 性能损坏基本可以无视,这一点F大在《在 KVM 虚拟机中安装使用 OpenWrt 的说明》中已有说明,所以本着价值最大化原则,这里使用KVM进行

安装KVM及依赖
  1. apt-get install -y gconf2 qemu-system-arm qemu-utils qemu-efi ipxe-qemu libvirt-daemon-system libvirt-clients bridge-utils virtinst virt-manager seabios vgabios gir1.2-spiceclientgtk-3.0 xauth fonts-arphic-ukai
复制代码
与此同时,下载OpenWRT所需的镜像,这里使用O大的编译好的镜像

将下载后的文件通过rz命令上传至:/var/lib/libvirt/images并改名openwrt.qcow2
当然你也可以在终端中使用wget下载
  1. cd /var/lib/libvirt/images/
复制代码
  1. mv openwrt_qemu-aarch64_R22.9.1_k5.15.62-flippy-76+o.qcow2 openwrt.qcow2
复制代码

然后我们给镜像减肥(16G -> 3G)这哪是减肥,这分明是!!!
为什么要就减肥?这是因为宿主机实际可使用空间不到4G 而OpenWRT镜像默认是16G的虚拟磁盘 可能会出现OpenWRT镜像占满宿主机空间导致系统不稳定
额外的空间可以通过 OpenWRT 网络存储中的 挂载 SMB 网络共享 实现 当然也可以在宿主机中的Docker中挂载阿里云盘等
  1. qemu-img resize --shrink openwrt.qcow2 -13G
复制代码


F大在文章中列举了使用X Server的一些客户端,这里为了更简便,我们使用MobaXtrem来进行演示
下载地址:MobaXterm

首先在MobaXtrem中使用SSH连接盒子
运行以下命令后会弹出创建虚拟机窗口
  1. virt-manager
复制代码

选择新建虚拟机

选择导入已存在的镜像 → Forward

点击Browser后点选我们上传的OpenWRT镜像(qcow2) → Choose Volume

如果这是我们继续点击Forward就会出现如下错误,莫慌,这是因为我们没有选择操作系统类型

这里我们输入 debian 点选 debian 10(实在是因为没有OpenWRT可以选,那就选宿主机较接近的)

接下来分配内存和CPU核心,这里选默认的1G、双核,对于OpenWRT而言已经很阔绰了

重要到了最后一刻,我们现在更改为他本来应该叫的名字,这里强烈建议没有强迫症的同学命名全部使用小写字母,勾选Customize configuration before install,检查网卡名称是否是br0(Part 3. 中新建的网桥名)

补充:有网友反馈虚拟机启动失败,请检查 Overview-Details-Firmware 这是是否选择UEFI aarch64 如果选错会导致启动失败

这里我们勾选开机自动启动,点击底部的Apply,点击头部的Begin installation

此时,熟悉的窗口就会出现,他来了!他来了!

这时我们按下Enter键,进入OpenWRT Shell

  1. nano /etc/config/network
复制代码
修改option ipaddr 中的地址为同主路由网段的其它未占用地址,如:192.168.2.253

添加网关、DNS、广播地址,根据自己网络情况更改:
  1. option gateway '10.0.1.1'
  2. option broadcast '10.0.1.255'
  3. option dns '10.0.1.1'
复制代码
Ctrl+X → y → 回车保存

重启网络:
  1. /etc/init.d/network restart
复制代码
现在可以使用浏览器访问你的OpenWRT啦!
默认密码:password

下一步我们换个源吧:使用SuLingGG大佬的openwrt.cc源
在系统 → 软件包 → 配置中 注释验证签名
  1. #option check_signature
复制代码
点击提交!X1

更换openwrt.cc源
  1. #src/gz openwrt_core https://mirrors.cloud.tencent.com/lede/snapshots/targets/armvirt/64/packages
  2. #src/gz openwrt_base https://mirrors.cloud.tencent.com/lede/snapshots/packages/aarch64_cortex-a53/base
  3. #src/gz openwrt_luci https://mirrors.cloud.tencent.com/lede/releases/18.06.9/packages/aarch64_cortex-a53/luci
  4. #src/gz openwrt_packages https://mirrors.cloud.tencent.com/lede/snapshots/packages/aarch64_cortex-a53/packages
  5. #src/gz openwrt_routing https://mirrors.cloud.tencent.com/lede/snapshots/packages/aarch64_cortex-a53/routing
  6. #src/gz openwrt_telephony https://mirrors.cloud.tencent.com/lede/snapshots/packages/aarch64_cortex-a53/telephony

  7. src/gz openwrt_core https://openwrt.cc/snapshots/targets/armvirt/64/packages
  8. src/gz openwrt_base https://openwrt.cc/snapshots/packages/aarch64_cortex-a53/base
  9. src/gz openwrt_luci https://openwrt.cc/snapshots/packages/aarch64_cortex-a53/luci
  10. src/gz openwrt_packages https://openwrt.cc/snapshots/packages/aarch64_cortex-a53/packages
  11. src/gz openwrt_routing https://openwrt.cc/snapshots/packages/aarch64_cortex-a53/routing
  12. src/gz openwrt_telephony https://openwrt.cc/snapshots/packages/aarch64_cortex-a53/telephony
复制代码
点击提交!X2

保存后在KVM终端中使用命令更新
  1. opkg update
复制代码
作为旁路由,请关闭DHCP,在 网络 接口 LAN 修改 勾选忽略该接口 物理设置中取消勾选桥接 保存并应用
在网络 防火墙 常规设置 转发 拒绝改为接受
在网络 Turbo ACC 网络加速设置 勾选 BBR 拥塞控制算法 保存并应用

结尾:至此,本篇也就进入尾声了,此时我们的8GB存储还有3.2GB的空间,这里需要留出空间给宝塔安装lnmp等,这个方案是否稳定,是否经得起长久的折腾,需要您和我一同来实践、去探索,也希望这篇文章能给您带来一点点启发,以上。

本帖子中包含更多资源

您需要 登录 才可以下载或查看,没有账号?立即注册

×

评分

参与人数 11恩山币 +13 收起 理由
hsu8109 + 1 2333
mono11 + 1 非常感谢你的分享
笙笙v笙笙 + 1 强大的恩山!(以下重复1万次)
浪子燕青 + 1 感谢你的分享,无论怎样,你都是最无私的人.
xqtm + 1 这个年轻人不讲武德,耗子尾汁!
周二来 + 1 感谢你的分享,无论怎样,你都是最无私的人.
wwjw + 1 不要怂、就是干!
gyy27068666 + 1 强大的恩山!(以下重复1万次)
m6706568 + 1 强大的恩山!(以下重复1万次)
andioy + 2 感谢你的分享,无论怎样,你都是最无私的人.
牛奶推土机 + 2 666

查看全部评分

我的恩山、我的无线 The best wifi forum is right here.
 楼主| 发表于 2023-2-6 11:55 | 显示全部楼层
20221207更新补丁:
1. 文中所使用的ophub的OpenWRT版本存在一些bug如:半双工、CPU主频等,建议使用haiibo的kvm版:https://github.com/haiibo/OpenWrt/releases,记得选openwrt_qemu-aarch64_xxx+o.qcow2
,对于绝大多数人来说,mini版本就足够
2. Openwrt升级可在OP菜单中使用晶晨宝盒自动升级,记得先备份下载配置,完整更新全系统
我的恩山、我的无线 The best wifi forum is right here.
回复

使用道具 举报

发表于 2022-9-8 01:56 | 显示全部楼层
都涨价了,现在接近100
关键没WIFI没千兆有线这两点有点坑

点评

我也有两台cm311-1a-ch,你说的都是小问题,掉盘才是硬伤,最新版也掉盘。目前来说,要挂载硬盘的朋友,慎买,掉盘真的折磨人  详情 回复 发表于 2022-9-8 08:50
我的恩山、我的无线 The best wifi forum is right here.
回复

使用道具 举报

发表于 2022-9-8 08:26 | 显示全部楼层
技术贴帮顶
我的恩山、我的无线 The best wifi forum is right here.
回复

使用道具 举报

发表于 2022-9-8 08:50 | 显示全部楼层
kknd22 发表于 2022-9-8 01:56
都涨价了,现在接近100
关键没WIFI没千兆有线这两点有点坑

我也有两台cm311-1a-ch,你说的都是小问题,掉盘才是硬伤,最新版也掉盘。目前来说,要挂载硬盘的朋友,慎买,掉盘真的折磨人

点评

确实掉盘!!!  详情 回复 发表于 2022-12-11 10:10
掉盘的问题 我看O大的issues上也有人反馈 不过我使用的uuid挂载固态硬盘 并未出现这个问题 建议你试试关闭自动休眠:https://github.com/ophub/amlogic-s9xxx-armbian/issues/543  详情 回复 发表于 2022-9-8 11:49
掉盘我觉得是供电不行  详情 回复 发表于 2022-9-8 10:12
我的恩山、我的无线 The best wifi forum is right here.
回复

使用道具 举报

发表于 2022-9-8 09:25 | 显示全部楼层
真的是技术贴,这步用KVM建虚拟机真的是打开小白使用KVM的第一步。好教程,已收藏!
我的恩山、我的无线 The best wifi forum is right here.
回复

使用道具 举报

发表于 2022-9-8 10:12 | 显示全部楼层
Zhang-ss 发表于 2022-9-8 08:50
我也有两台cm311-1a-ch,你说的都是小问题,掉盘才是硬伤,最新版也掉盘。目前来说,要挂载硬盘的朋友, ...

掉盘我觉得是供电不行
我的恩山、我的无线 The best wifi forum is right here.
回复

使用道具 举报

发表于 2022-9-8 11:08 | 显示全部楼层
感谢分享!!!
我的恩山、我的无线 The best wifi forum is right here.
回复

使用道具 举报

发表于 2022-9-8 11:14 | 显示全部楼层
没想到失败的这么快

本帖子中包含更多资源

您需要 登录 才可以下载或查看,没有账号?立即注册

×

点评

实践过后,重新看了一下f大的KVM教程(https://github.com/unifreq/openwrt_packit/blob/master/files/qemu-aarch64/qemu-aarch64-readme.md),发现了一个问题就是在概况选择uefi时,要选择uefi-aarch-64.  详情 回复 发表于 2022-9-8 11:24
我的恩山、我的无线 The best wifi forum is right here.
回复

使用道具 举报

发表于 2022-9-8 11:24 | 显示全部楼层
Yxin 发表于 2022-9-8 11:14
没想到失败的这么快

实践过后,重新看了一下f大的KVM教程(https://github.com/unifreq/openw ... u-aarch64-readme.md),发现了一个问题就是在概况选择uefi时,要选择uefi-aarch-64.

点评

这里不知道什么原因 我当时检查默认的是uefi启动 所以没有提及这一步 不过解决了就好!  详情 回复 发表于 2022-9-8 11:51
我的恩山、我的无线 The best wifi forum is right here.
回复

使用道具 举报

发表于 2022-9-8 11:41 | 显示全部楼层
谢谢楼主分享,学习了
我的恩山、我的无线 The best wifi forum is right here.
回复

使用道具 举报

 楼主| 发表于 2022-9-8 11:49 | 显示全部楼层
Zhang-ss 发表于 2022-9-8 08:50
我也有两台cm311-1a-ch,你说的都是小问题,掉盘才是硬伤,最新版也掉盘。目前来说,要挂载硬盘的朋友, ...

掉盘的问题 我看O大的issues上也有人反馈 不过我使用的uuid挂载固态硬盘 并未出现这个问题 建议你试试关闭自动休眠:https://github.com/ophub/amlogic-s9xxx-armbian/issues/543
我的恩山、我的无线 The best wifi forum is right here.
回复

使用道具 举报

 楼主| 发表于 2022-9-8 11:51 | 显示全部楼层
Yxin 发表于 2022-9-8 11:24
实践过后,重新看了一下f大的KVM教程(https://github.com/unifreq/openwrt_packit/blob/master/files/qe ...

这里不知道什么原因 我当时检查默认的是uefi启动 所以没有提及这一步 不过解决了就好!
我的恩山、我的无线 The best wifi forum is right here.
回复

使用道具 举报

发表于 2022-9-8 14:09 | 显示全部楼层
好教程,已收藏!
我的恩山、我的无线 The best wifi forum is right here.
回复

使用道具 举报

发表于 2022-9-8 21:12 | 显示全部楼层
我买的是2+16,正在安装依赖中,还是很慢的不知道是不是网络的原因

点评

可能是网络原因 你有换源吗?往上翻有清华源 我昨天刚装的 照着一步步做不会错的  详情 回复 发表于 2022-9-9 07:23
我的恩山、我的无线 The best wifi forum is right here.
回复

使用道具 举报

发表于 2022-9-8 22:55 | 显示全部楼层
KVM依赖安装失败,请问一下依赖的最新的出处在哪里
我的恩山、我的无线 The best wifi forum is right here.
回复

使用道具 举报

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

本版积分规则

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

GMT+8, 2024-4-20 02:49

Powered by Discuz! X3.5

© 2001-2024 Discuz! Team.

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

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