当前位置: 首页 > news >正文

旧物利用 - 将机顶盒改造为一台Linux开发机!

前言

家里有一台机顶盒(移动魔百盒)淘汰下来了,博主想要物尽其用,看看是否能将其改造为一台Linux"开发机",量身定制系统,用作开发和测试,以及跑服务器

博主选择的是Ubuntu发行版系统,话不多说,开始“破解”吧!

准备工作

机顶盒型号:移动魔百盒CM201-2(CH),芯片组: hi3798mv300(hi3798mv3dmm),其他型号类似

理论上适用于以下SOC的机顶盒:Hi3798Mv100 / Hi3798Cv200 / Hi3798Mv200 / Hi3798Mv300

1. 准备Linux系统和Windows系统

前者作为源码编译环境,后者需要使用到进行固件烧录的软件

(烧录也可以命令行形式甚至不需要Windows,需要参考海思官方文档,为了方便故在Windows平台下进行烧录)

故强烈推荐在Windows平台上安装WSL

2. 准备海思的烧录软件HiTool(Windows软件)

3. 准备烧录固件所需的USB传串口模块以及接线,其中只需要TXD, RXD, GND三条连接到板上,并准备一根网线用于向机顶盒快速发送固件程序

博主使用的是CH340G,如图

CH340G需要驱动程序,需要去官网下载CH341SER.EXE

若CH340驱动安装正确,进入设备管理器将会看到对应端口

4. 准备机顶盒源码

源码链接:https://github.com/martixjohn/HiSTBLinuxV100R005C00SPC050

源码包含机器的引导程序、启动参数、Linux内核以及一个基本的rootfs

博主修改了部分配置以适配hi3798mv3dmm

5. Ubuntu 镜像

  • 从ubuntu官网或镜像源下载匹配机顶盒架构的Ubuntu base

  • 新建空文件,建议至少为800M,用作环回文件(loopback)

    dd if=/dev/zero of=ubuntu.img bs=400M count=1
  • 格式化该环回文件,创建ext4文件系统

    mkfs.ext4 ubuntu.img
  • 挂载环回文件

    # 创建挂载分区 mkdir -p /mnt/loopback # 虚拟成块设备 losetup --find --show ubuntu.img # 将块设备挂载到分区,如/dev/loop0 mount /dev/loop0 /mnt/loopback
  • 解压Ubuntu base

    tar -xzf ubuntu.base.tar.xz -C /mnt/loopback
  • 切换根目录

    建议使用arch-chroot,其中做了许多挂载等工作,无需关心额外步骤

    arch-chroot /mnt/loopback
  • 更改root密码

    重要:需要修改root密码或创建新用户并指定密码,刷入启动后方能登录

    passwd
  • 定制你的rootfs,安装必要和非必要软件

    注意Ubuntu base预装systemd,Network Manager,需要自行安装

    apt install systemd network-manager

    建议安装openssh,否则只能串口作为tty交互使用

    apt install ssh

提前了解设备配置信息

1. 使用TTL线连接到机顶盒

连接示意图

主板接线如图,从左到右依次连接到转接板的GND, TXD, RXD,不同板子可能有所差别,可以尝试调一下TXD, RXD顺序

2. 连接测试

  • 打开HiTool软件,选择芯片,第一次使用可能会弹出显示

    可以百度搜一下自己的机顶盒背面的型号,确认芯片

  • 点击连接管理器

    配置端口,会自动识别,选择CH340的端口,波特率为115200

  • 打开终端工具

  • 机顶盒连接电源,并按下机顶盒电源按钮,开机

3. 查看配置信息

若连接无误,将会在终端显示类似于如下启动信息

其中Reg Name是我们需要留意的

关闭机顶盒电源开关,并点击终端页面的断开连接,防止端口占用

在Linux环境下编译源码SDK

1. 下载编译环境

以ubuntu为例

sudo apt install gcc make gettext bison flex bc zlib1g-dev libncurses5-dev lzma

2. 拷贝预先配置,覆盖主目录下的cfg.mak

预先配置文件在configs目录下

cp configs/hi3798mv300/hi3798mv3dmm_hi3798mv300_cfg.mak cfg.mak

3. 预加载编译环境

. ./env.sh make tools

4. (可选)自定义配置编译选项

和Linux内核一样,所用的配置系统是KConfig

make menuconfig

几个比较重要的配置选项

  • Base->Chip Type: 选择芯片组

  • Base->Out DIR: 输出路径,在out目录下

  • Board->Boot Regfile Config List: 启动的配置文件,将第一个改为自己的机顶盒匹配的配置文件名称

    该文件存放于source/boot/sysreg/xxx/*.reg

    不同机顶盒的内存颗粒等硬件可能有所区别,参照连接测试显示的Reg Name进行选择

http://www.jsqmd.com/news/1107137/

相关文章:

  • 2026以云筑盾,护航数字化发展新时代网络安全建设之路
  • 个人网站恶意流量防御实战:从监控到架构的四层防护体系
  • AI读心术:破解沉默中的命运密码
  • 别踩,2026做视频总结的成本误区,我整理了亲测实操省钱经验
  • Triton模型服务工程化:高并发AI推理的生产落地实践
  • 柔韧智能:AI如水般的未来存在
  • ⁉️微软MOS2016版本认证停考的重要通知
  • Windows系统优化新选择:开源清理工具让你的电脑重获新生
  • 从数据录入到获客:解析中坻沐客同普通CRM跟进区别
  • 把 Linux 想象成一座城市,一切突然清晰了
  • AI 电动农业机械 植物生长灯智能功率 MOSFET 精准选型方案
  • 慢智能:AI的优雅减速时代
  • 知识分享|软件登记测试报告主要用途,双软认定主要材料!
  • DXVK 2.7.1:Linux游戏图形API转换层的异步架构与性能优化深度解析
  • 丽兴金庄珠宝行创办人陈三弟荣登《祖国》杂志封面人物
  • config.json 文件是固定名称,存储描述信息,比如需要的变量名称、描述等。下面是一个 completion 类型的插件配置文件示例,除了一些跟提示模板相关的配置,还有一些聊天的配置,如最大 t
  • 王中王指标中线和长线波段指标
  • 液压系统的溢流阀溢流导致能耗高解决方案
  • 元脉网络发布AIGC存储网络解决方案
  • WebPKI证书验证库:原理、选型与Python实战封装
  • 2026怎么选成都展厅设计公司?最新口碑实测推荐
  • 测试专用111
  • 2026年7月昆明装修品牌推荐甄选干货|避开装修套路,优质本土整装企业推荐
  • 没有海外信用卡怎么充值 ChatGPT?国内用户开通 Plus 的几种办法(2026 最新)
  • 揭秘光伏储能安全真相,哪些因素决定了安全性?
  • 东莞注塑厂选注塑机数据采集厂家怎么选的三个关键维度
  • 2026微商城做得比较好的商家,哪些行业和场景更容易跑出效果
  • 30天打造高效知识系统:Obsidian-Zettelkasten终极模板指南
  • 珠三角AI定制开发能力对比权威测评(2026.07)
  • Multiphase Buck Design From Start to Finish (Part 1)