在魔百盒CM101s上通过U盘运行Ubuntu 25.04

1win 发布于 16 天前 68 次阅读 预计阅读时间: 9 分钟


引言

以前,因为家里的宽带是移动的,于是移动送了我家一个机顶盒,名字叫做魔百盒,型号是CM101s

几年后,移动送了我家一个新盒子

这个盒子就因为这件事被闲置下来了

在这个盒子被闲置下来的几个月后,我看网上有教程能给盒子刷机,但我那时没有对应的螺丝刀,于是徒手把盒子下面的外壳给拆了,外壳因此碎成3个

但因那时没U盘,没TTL模块,而刷机需要这两个的其中一个,因此折腾不了它了

到了今年9月,我又开始折腾它了,现在工具有了,盒子的linux刷机包也有了,但折腾的时候却发现盒子的emmc存储坏了(

于是我就用了下载linux刷机包时顺便找到的U盘启动镜像

我把它烧写到了一张TF卡里,接上盒子并短接CPU针脚1 2

进入系统却发现是Ubuntu 20.04,十分先进,于是我将它修改了一下,改成了25.04,添加了linux 6.9内核,并删除了一些不是必须的东西

这个盒子的配置如下:

  • CPU:hi3798mv100
  • GPU:Arm mali 450
  • 板载存储emmc 8G
  • 运行内存 1G
  • 两个USB2.0接口
  • 一个有线网口
  • wifi

开始折腾

首先你需要以下东西:

  • 一个魔百盒CM101s(显然的)
  • 一个U盘(TF卡+读卡器 移动磁盘也行)
  • 一个镊子(其他能导电的东西也可以,我用的是一条杜邦线)
  • 一个TTL模块(可选)
  • 一条网线(可选)
  • 一个人类(用来准备工具,刷入镜像等操作)
  • 一台能刷入镜像的设备(我使用Orange Pi Zero3刷入)
  • 螺丝刀
  • Ubuntu 25.04镜像

Ubuntu 25.04镜像下载:


关于这个镜像请查看https://word.1win.eu.org/index.php?/archives/14-hi3798mv100CPUUbuntu-25.04U.html

烧写镜像

我使用GNOME磁盘烧写镜像,这个软件没有Windows MacOS版

若要在Windows上烧写此镜像,你可以使用balenaEtcher

此处不列出balenaEtcher的下载方法

你需要以管理员权限运行它

使用balenaEtcher烧录Linux镜像的具体步骤如下所示

a.首先选择要烧录的Linux镜像文件的下载路径

b.然后选择TF卡的盘符

c.最后点击Flash就会开始烧录Linux镜像到TF卡中

成功烧录完成后balenaEtcher的显示界面如下图所示,如果显示绿色的指示图标说明镜像烧录成功,此时就可以退出balenaEtcher,然后拔出U盘插入到盒子的USB接口中使用了

1757954861 Zero3 Img35

tips:如果你要连接WiFi的话,你需要去BOOT分区去把boot1.img删了,在从mv100文件夹复制hi_kernel-mv100-0808.bin这个文件到BOOT分区根目录下,并重命名为boot1.img

Ubuntu,启动!

首先先把盒子下面的海绵垫取下来,再用螺丝刀把螺丝拧开

插入刷写好的U盘的盒子上

按图中的顺序,插入TTL的圆(可选)

用镊子短接CPU1、2针脚

1758030405 2

打开电源,如果TTL出现以下输出,这代表着已经从U盘启动,此时可以放下镊子了

Bootrom start
Boot from eMMC

Entry usb bootstrap

Udisk(1):
Initializing DDR... 
DDRSStart fastboot.bin


System startup
......

Welcome to Ubuntu 25.04!
......

此时,系统就开始启动了

这个镜像有两个用户

root和ubuntu,密码都是1234

为了安全,请在进系统后修改用户密码

关机请使用poweroff命令,亲测直接拔电源会导致rootfs分区出现问题

扩容和联网

默认情况下,烧写到U盘里的系统分区容量只有1.9GB,要让它使用U盘全部的容量,你需要按照下面的方法照做

1758035953 19984434

实际操作中lsblk会报错,不管它,直接用fdisk命令修改

root@hi3798mv100 ~# fdisk /dev/sda 

欢迎使用 fdisk (util-linux 2.40.2)。
更改将停留在内存中,直到您决定将更改写入磁盘。
使用写入命令前请三思。

This disk is currently in use - repartitioning is probably a bad idea.
It's recommended to umount all file systems, and swapoff all swap
partitions on this disk.


命令(输入 m 获取帮助): p

Disk /dev/sda:29.72 GiB,31914983424 字节,62333952 个扇区
Disk model: Storage Device  
单元:扇区 / 1 * 512 = 512 字节
扇区大小(逻辑/物理):512 字节 / 512 字节
I/O 大小(最小/最佳):512 字节 / 512 字节
磁盘标签类型:dos
磁盘标识符:0xa2c7918e

设备       启动   起点    末尾    扇区  大小 Id 类型
/dev/sda1  *      2048  217087  215040  105M  b W95 FAT32
/dev/sda2       217088 4194303 3977216  1.9G 83 Linux

命令(输入 m 获取帮助): d
分区号 (1,2, 默认  2): 

分区 2 已删除。

命令(输入 m 获取帮助): n
分区类型
   p   主分区 (1 primary, 0 extended, 3 free)
   e   扩展分区 (逻辑分区容器)
选择 (默认 p): 

将使用默认回应 p。
分区号 (2-4, 默认  2): 
第一个扇区 (217088-62333951, 默认 217088): 
Last sector, +/-sectors or +/-size{K,M,G,T,P} (217088-62333951, 默认 62333951):  
创建了一个新分区 2,类型为“Linux”,大小为 29.6 GiB。
分区 #2 包含一个 ext4 签名。

您想移除该签名吗? 是[Y]/否[N]: n

命令(输入 m 获取帮助): w

分区表已调整。
正在同步磁盘。
root@hi3798mv100 ~# 

如果操作无误的话,你已经将它扩容到你U盘的容量了

免短接启动设置

每次启动Ubuntu时,你都要短接CPU针脚,如果你不想每次开机都要短接的话,你可以试试以下方法:

方法一:吹下emmc()

用热风枪直接吹下emmc(或nand),此方法适用于emmc(或nand)已经坏的人,比如我自己:(

此处不讲吹下emmc(或nand)的方法,如果要试的话,记得贴耐热胶带

方法二:清空emmc(或nand)的fastboot分区

1.进入系统后先备份盒子emmc里的fastboot分区 命令:

dd if=/dev/mmcblk0p1 of=/mnt/sda1/fastboot.bin.bak bs=1024


备份文件在U盘的BOOT分区根目录下 fastboot.bin.bak
推荐将原厂fastboot.bin.bak备份文件 替换成U盘里启动的fastboot.bin文件
2.免短接直接USB启动设置命令:

dd if=/dev/zero of=/dev/mmcblk0p1 bs=1024

此时盒子不需要短接就可以启动U盘上的Ubuntu了

3.恢复盒子emmc(或nand)启动命令

dd if=/mnt/sda1/fastboot.bin.bak of=/dev/mmcblk0p1 bs=1024

如何自定义有线网卡mac地址

MAC地址生成器 https://www.126126.xyz/net/gen_mac.htm

简单、粗暴、一键脚本,运行后,重启设备

echo "hwaddress ether 54:52:00:62:28:55" >> /etc/network/interfaces.d/eth0

更换内核的方法

在BOOT分区的根目录下,有5个文件和一个文件夹

1758039567 截图 2025 09 17 00 16 27

其中的boot1.img就是要启动的内核

而mv110文件夹下存放着其它reg名称的fastboot文件和linux内核

而这些linux内核中,只有hi_kernel-mv100-0808.bin(linux 4.4内核)和hi_kernel-linux-6.9.0-rc6.bin(linux 6.9内核)是能驱动WiFi的


烧写完镜像后的内核默认是hi_kernel-linux-6.9.0-rc6.bin,而这个内核的WiFi驱动有问题,只能连接之前连接过的WiFi

要连接新的WiFi,你只能通过linux4.4内核连接

将mv110目录下的hi_kernel-mv100-0808.bin复制到根目录下,删除boot1.img文件,重命名hi_kernel-mv100-0808.bin为boot1.img,这样子你就将内核更换为linux4.4内核了

其它内核也一样

参考内容

Mac地址的修改:https://bbs.histb.com/d/318-mac

原版镜像的扩容教程:https://bbs.histb.com/d/491-u-ubuntu-nas

除非注明,否则均为天远日记原创文章,转载必须以链接形式标明本文链接

本文链接:https://www.tqhyg.net/post606.html