Categories
Uncategorized

幸狐派 CM4 Lite 32G EMMC 扩容操作系统安装记录

📅 安装日期:2026-03-31
📦 硬件版本:幸狐派 CM4 Lite(无 EMMC 版本)
💾 扩容方案:焊接 32GB EMMC + SD 卡克隆
🐧 操作系统:Debian 12 (Bookworm) 64-bit
🔌 SoC 芯片:瑞芯微 RK3566
🖥️ 烧写平台:Windows 10/11
🔧 烧写工具:RKDevTool


一、前言

幸狐派 CM4 Lite 是不带 EMMC 存储的版本,采用瑞芯微 RK3566 SoC 芯片。本文记录从零开始焊接 32GB 江波龙 EMMC 芯片,使用 RKDevTool 烧写 Debian 系统到 SD 卡,从 SD 卡启动后通过 dd 命令克隆到 EMMC,最后使用 parted 和 resize2fs 完成分区扩容的完整过程。

技术路线

┌──────────────────────────────────────────────────────────
│  步骤 1: 焊接 32G EMMC 芯片到 CM4 Lite 主板                    │
│  步骤 2: 使用 RKDevTool 烧写 Debian 系统到 SD 卡               │
│  步骤 3: 从 SD 卡启动系统并验证                               │
│  步骤 4: 使用 dd 命令将 SD 卡系统克隆到 EMMC                    │
│  步骤 5: 使用 parted 重建分区表并扩容根分区                    │
│  步骤 6: 使用 resize2fs 强制扩展文件系统                       │
│  步骤 7: 通过 lsblk 检查 EMMC 和 df -h 检查系统分区情况         │
│  步骤 8: 移除 SD 卡,从 EMMC 启动                              │
└──────────────────────────────────────────────────────────

为什么先烧写 SD 卡?

优势:
├─ 安全:SD 卡启动验证系统正常后再克隆到 EMMC
├─ 可逆:如 EMMC 有问题可重新从 SD 卡启动修复
├─ 灵活:可在系统运行时操作 EMMC 分区
└─ 调试方便:串口 + SSH 双重调试通道

流程:
SD 卡启动 (16GB) → dd 克隆 → EMMC (32GB) → parted 扩容 → resize2fs 扩展

硬件平台说明

项目规格
SoC瑞芯微 RK3566 (Quad-core Cortex-A55)
GPUMali-G52 2EE
NPU0.8 TOPS
内存LPDDR4/LPDDR4X 1GB/2GB/4GB/8GB
存储EMMC 5.1 / SD 卡 / SPI Flash
系统Debian 12 (Bookworm)

二、硬件准备

2.1 所需材料

物品规格/型号备注
幸狐派 CM4 Lite 主板无 EMMC 版本RK3566 SoC
EMMC 芯片32GB BGA153江波龙 SDAE32G-10 ⭐
SD 卡16GB Class 10 以上系统烧写介质
SD 卡读卡器USB 3.0烧写用
热风枪/焊台恒温可调温焊接 EMMC 用
助焊剂/锡膏优质无铅提高焊接质量
USB-A 转 USB-C 数据线支持数据传输烧写/调试用
5V/3A 电源适配器USB-C 接口稳定供电
散热片/风扇可选长时间运行建议加装
短接帽/镊子可选进入烧写模式用

2.2 EMMC 芯片选型

推荐型号:

  • FORESEE SDAE32G-10 (江波龙 32GB) ⭐ 本文使用
  • KLM32HEHB-B041 (三星 32GB)
  • H26M36203GMR (海力士 32GB)
  • MTFC32GAKAECQ (美光 32GB)

⚠️ 注意:EMMC 芯片焊接需要一定 BGA 焊接经验,如无经验建议找专业维修店代焊

2.3 江波龙 EMMC 芯片信息

本文使用的江波龙(FORESEE)32GB EMMC 芯片:

参数规格
品牌江波龙 (Longsys)
系列FORESEE SDAE
型号SDAE32G-10
容量32GB
封装BGA153
工作电压3.3V
接口标准eMMC 5.1
工作温度-25°C ~ 85°C

江波龙芯片特点

  • 国产芯片,性价比高
  • 兼容 RK3566 存储规范
  • 稳定性良好,适合嵌入式应用
  • 市场常见,采购方便

三、软件工具准备

3.1 烧写工具(Windows)

瑞芯微创建磁盘工具(本文使用)⭐

工具信息:
- 工具名称:瑞芯微创建磁盘工具(Rockchip Create Disk Tool)
- 版本:v2.86 或更高版本
- 来源:瑞芯微官方 / 幸狐派提供的资料包 / 厂商技术支持
- 文件大小:约 10-20 MB
- 用途:创建可启动磁盘/烧写系统镜像

功能特点:
├─ 支持 RK3566 平台
├─ 支持 SD 卡/EMMC 烧写
├─ 图形界面操作简单
├─ 支持自定义镜像文件
└─ 自动验证写入数据

3.2 Windows 驱动安装(首次使用必备)⭐

Rockchip 驱动安装步骤

方法一:使用驱动助手(推荐)
├─ 下载:Rockchip_Driver_Assistant_v1.9.zip
├─ 解压后运行:DriverInstall.exe
├─ 点击 "安装" 按钮
├─ 等待驱动安装完成
└─ 显示 "驱动安装成功"

方法二:手动安装
├─ 设备进入烧写模式并连接电脑
├─ 打开设备管理器
├─ 找到 "未知设备" 或 "Rockchip USB Device"
├─ 右键 → 更新驱动程序
├─ 选择 "浏览我的电脑以查找驱动程序"
├─ 指向驱动文件夹(包含 usb_driver.inf)
└─ 完成安装

验证驱动安装:
├─ 设备管理器 → 通用串行总线设备
├─ 应看到 "Rockchip USB Device" 或 "Rockchip Composite Device"
└─ 无黄色感叹号表示驱动正常

3.3 系统镜像

Debian 12 for RK3566

从幸狐派官方或社区获取适配 RK3566 的 Debian 镜像
文件名示例:2023-09-13-debian-arm64+HDMI-lite.img

⚠️ 重要:必须使用适配 RK3566 和幸狐派 CM4 Lite 的镜像,通用 Debian 镜像无法启动!


四、系统烧写步骤

4.1 步骤一:焊接 32G EMMC 芯片

┌────────────────────────────────────────┐
│  EMMC 焊接流程                          │
├────────────────────────────────────────┤
│  1. 清理主板焊盘,去除氧化层            │
│  2. 植锡球到 EMMC 芯片底部              │
│  3. 涂抹助焊剂,对齐芯片方向(注意 Pin1)│
│  4. 热风枪 280-300°C 加热焊接           │
│  5. 冷却后检查短路和虚焊                │
│  6. 万用表测试电源对地阻值              │
└────────────────────────────────────────┘

焊接完成后检查:

测量 EMMC 电源引脚对地阻值
VCC (eMMC 电源) 正常阻值:约 100-500Ω
如短路(接近 0Ω)需重新焊接

4.2 步骤二:使用瑞芯微创建磁盘工具烧写系统到 SD 卡

步骤 1:准备工具
├─ 确保已下载瑞芯微创建磁盘工具
├─ 解压工具包(如为压缩格式)
└─ 以管理员身份运行工具

步骤 2:连接 SD 卡
├─ SD 卡插入 USB 读卡器
├─ 读卡器连接电脑 USB 端口
└─ 电脑识别 SD 卡盘符(如 G: 盘)

步骤 3:选择镜像文件
├─ 点击 "选择镜像" 或 "Browse" 按钮
├─ 找到并选择解压后的 .img 镜像文件
│   └─ 文件名示例:debian10-rk3566-幸狐派-cm4-lite.img
└─ 确认镜像加载成功

步骤 4:选择目标磁盘
├─ 在磁盘列表中选择 SD 卡
│   └─ 根据容量识别(16GB 卡显示约 14.9GB)
│   └─ 或根据盘符识别
└─ ⚠️ 确认选择正确的设备(避免选错硬盘!)

步骤 5:开始烧写
├─ 点击 "创建" 或 "Start" 按钮
├─ 确认警告提示(将擦除 SD 卡数据)
├─ 等待烧写完成(约 5-10 分钟)
│   ├─ 擦除 SD 卡
│   ├─ 写入镜像
│   ├─ 验证数据
│   └─ 完成
└─ 显示 "创建成功" 或 "Success"

步骤 6:安全移除
├─ 等待工具提示完成
├─ 在 Windows 中安全移除 USB 设备
└─ 拔出 SD 卡

工具界面说明

┌─────────────────────────────────────────────────────────┐
│  瑞芯微创建磁盘工具                          - □ ×    │
├─────────────────────────────────────────────────────────┤
│                                                         │
│  镜像文件:[C:\images\debian10-rk3566.img] [浏览]      │
│                                                         │
│  目标磁盘:                                             │
│  ┌──────────────────────────────────────────────────┐  │
│  │  ☐ 本地磁盘 (C:)          232GB  NTFS           │  │
│  │  ☑ 可移动磁盘 (G:)         14.9GB  FAT32        │  │ ← SD 卡
│  │  ☐ 本地磁盘 (H:)          931GB  NTFS           │  │
│  └──────────────────────────────────────────────────┘  │
│                                                         │
│  [开始创建]  [退出]  [帮助]                             │
│                                                         │
│  进度:                                                 │
│  └──────────────────────────────────────────────────┘  │
│  状态:准备就绪                                         │
└─────────────────────────────────────────────────────────┘

4.3 步骤三:从 SD 卡启动系统(本地 HDMI+ 键盘操作)⭐

连接方式说明

本文采用本地直连方式操作,无需 SSH:
├─ HDMI 显示器:输出图像
├─ USB 键盘:输入控制
├─ 网线/WiFi:网络连接(可选)
└─ 5V/3A 电源:供电
步骤 1:插入 SD 卡
├─ 将烧写好的 SD 卡插入幸狐派 CM4 Lite
└─ 确保插入到位(听到"咔哒"声)

步骤 2:连接显示器
├─ HDMI 线连接幸狐派和显示器
├─ 打开显示器电源
└─ 切换到对应 HDMI 输入源

步骤 3:连接键盘
├─ USB 键盘插入幸狐派 USB 端口
└─ 如使用无线键盘,插入接收器

步骤 4:连接网络(可选)
├─ 插入网线(有线网络)
└─ 或使用 WiFi(如镜像已配置)

步骤 5:上电启动
├─ 连接 5V/3A 电源
├─ 等待系统启动(约 1-2 分钟)
└─ 观察屏幕输出:
    ├─ U-Boot 启动信息
    ├─ Linux 内核加载
    ├─ 系统服务启动
    └─ 登录提示符

步骤 6:登录系统
├─ 看到登录提示后输入用户名
├─ 输入密码(不显示)
└─ 成功进入命令行界面

默认登录凭据(参考镜像说明):

常见默认账户:
└─ 用户名:linaro      密码:linaro

⚠️ 首次登录后建议立即修改密码!

首次登录验证

# 确认启动设备(应为 SD 卡)
lsblk
# 输出:
# NAME        MAJ:MIN RM   SIZE RO TYPE MOUNTPOINT
# mmcblk0     179:0    0  14.9G  0 disk  # SD 卡
# ├─mmcblk0p1 179:2    0  *****  0 part  /boot
# ├─mmcblk0p2 179:2    0  *****  0 part  
# ├─mmcblk0p3 179:2    0  *****  0 part  
# ├─mmcblk0p4 179:2    0  *****  0 part  
# ├─mmcblk0p5 179:2    0  *****  0 part  
# ├─mmcblk0p6 179:2    0  *****  0 part  
# ├─mmcblk0p7 179:2    0  *****  0 part  
# ├─mmcblk0p8 179:2    0  *****  0 part  / # 根分区
# mmcblk1     179:8    0  29.1G  0 disk  # EMMC (32GB, 未使用)

本地操作优势

├─ 无需网络配置,开机即用
├─ 可以看到完整启动日志
├─ 调试更方便,无网络延迟
├─ 适合系统安装和故障排查
└─ 操作响应更快

4.4 步骤四:使用 dd 命令将 SD 卡系统克隆到 EMMC ⭐

确认存储设备

# 本地登录后,查看存储设备
lsblk

# 输出示例
NAME        MAJ:MIN RM   SIZE RO TYPE MOUNTPOINT
mmcblk0     179:0    0  14.9G  0 disk  # SD 卡
 ├─mmcblk0p1 179:2    0  *****  0 part  /boot
 ├─mmcblk0p2 179:2    0  *****  0 part  
 ├─mmcblk0p3 179:2    0  *****  0 part  
 ├─mmcblk0p4 179:2    0  *****  0 part  
 ├─mmcblk0p5 179:2    0  *****  0 part  
 ├─mmcblk0p6 179:2    0  *****  0 part  
 ├─mmcblk0p7 179:2    0  *****  0 part  
 ├─mmcblk0p8 179:2    0  15.5GB  0 part  / # 根分区
mmcblk1     179:8    0  29.1G  0 disk  # EMMC 32GB (目标)

# ⚠️ 重要:确认设备名称!
# mmcblk0 = SD 卡 (源)
# mmcblk1 = EMMC (目标)
# 切勿搞反!

执行 dd 克隆

# 先清空emmc
sudo dd if=/dev/zero of=/dev/mmcblk1 bs=1M status=progress conv=fsync
# 完整克隆整个 SD 卡到 EMMC(推荐)
sudo dd if=/dev/mmcblk0 of=/dev/mmcblk1 bs=4M status=progress conv=fsync

# 参数说明:
# if=/dev/mmcblk0  = 输入文件(SD 卡,源)
# of=/dev/mmcblk1  = 输出文件(EMMC,目标)
# bs=4M           = 块大小 4MB,提高速度
# status=progress = 显示进度
# conv=fsync      = 完成后强制同步写入

# 输出示例
# 100+0 records in
# 100+0 records out
# 4294967296 bytes (4.3 GB, 4.0 GiB) copied, 180 s, 23.9 MB/s
# 100% [========================================] 14.9 GB / 14.9 GB

# 耗时参考:约 5-10 分钟(取决于数据量)

克隆完成后同步

# 确保所有数据写入完成
sync

# 重新读取分区表
sudo partprobe /dev/mmcblk1

# 验证克隆
lsblk
# 应看到 mmcblk1 的分区结构与 mmcblk0 相同
mmcblk0     179:0    0  14.9G  0 disk  # SD 卡
 ├─mmcblk0p1 179:2    0  *****  0 part  /boot
 ├─mmcblk0p2 179:2    0  *****  0 part  
 ├─mmcblk0p3 179:2    0  *****  0 part  
 ├─mmcblk0p4 179:2    0  *****  0 part  
 ├─mmcblk0p5 179:2    0  *****  0 part  
 ├─mmcblk0p6 179:2    0  *****  0 part  
 ├─mmcblk0p7 179:2    0  *****  0 part  
 ├─mmcblk0p8 179:2    0  15.5GB  0 part  / # 根分区
mmcblk1     179:8    0  29.1G  0 disk  # EMMC 32GB (目标)
 ├─mmcblk1p1 179:2    0  *****  0 part  /boot
 ├─mmcblk1p2 179:2    0  *****  0 part  
 ├─mmcblk1p3 179:2    0  *****  0 part  
 ├─mmcblk1p4 179:2    0  *****  0 part  
 ├─mmcblk1p5 179:2    0  *****  0 part  
 ├─mmcblk1p6 179:2    0  *****  0 part  
 ├─mmcblk1p7 179:2    0  *****  0 part  
 ├─mmcblk1p8 179:2    0  28.5GB  0 part  / # 根分区

4.5 步骤五:使用 parted 重建分区表并扩容根分区 ⭐

查看当前 EMMC 分区

# 查看 EMMC 分区表
sudo parted /dev/mmcblk1 print

# 输出示例(克隆后,分区大小与 SD 卡相同)
Model: MMC SDAE32G (sd/mmc)
Disk /dev/mmcblk1: 32.0GB
Sector size (logical/physical): 512B/512B
Partition Table: gpt
Disk Flags: 

Number  Start   End     Size    File system  Name     Flags
 1      17.4MB  537MB   520MB   fat32        boot     boot, esp
 ...
 8      *****   16.0GB  15.5GB  ext4         rootfs

⚠️ 此时 EMMC 根分区只有 15.5GB(与 SD 卡相同),需要扩容到 32GB

删除并重建分区(扩容)

# 进入 parted 交互模式
sudo parted /dev/mmcblk1

# 在 parted 提示符下执行:
(parted) print                    # 查看当前分区 会提示是否把GPT标记放到磁盘最末端 不停输入Fix
(parted) resize                   # 调整分区大小
(parted) 8                        # 指定分区序号
(parted) 100%                     # 设定分区大小
(parted) print                    # 验证新分区表
(parted) quit                     # 退出

# 新分区表应显示:
# Number  Start   End     Size    File system  Name     Flags
#  1      17.4MB  537MB   520MB   fat32        boot     boot, esp
# ...
#  8      *****   32.0GB  31.5GB  ext4         rootfs

重新加载分区表

# 通知内核重新读取分区表
sudo partprobe /dev/mmcblk1

# 验证新分区
lsblk
# 输出:
# mmcblk1     179:8    0  29.1G  0 disk
# ├─mmcblk1p1 179:9    0   512M  0 part
# ├─......
# └─mmcblk1p8 179:10   0  28.6G  0 part  # 已扩容到 28.6GB

4.6 步骤六:使用 resize2fs 强制扩展文件系统 ⭐

检查文件系统

# 检查文件系统完整性
sudo e2fsck -f /dev/mmcblk1p2

# 输出示例
# e2fsck 1.47.0 (5-Feb-2023)
# Pass 1: Checking inodes, blocks, and sizes
# Pass 2: Checking directory structure
# Pass 3: Checking directory connectivity
# Pass 4: Checking reference counts
# Pass 5: Checking group summary information
# /dev/mmcblk1p2: 12345/123456 files (0.5% non-contiguous), 1234567/12345678 blocks

扩展文件系统

# 强制扩展 ext4 文件系统到分区最大容量
sudo resize2fs -f /dev/mmcblk1p2

# 输出示例
# resize2fs 1.47.0 (5-Feb-2023)
# Resizing the filesystem on /dev/mmcblk1p2 to 7628800 (4k) blocks.
# The filesystem on /dev/mmcblk1p2 is now 7628800 (4k) blocks long.

# 耗时:约 1-2 分钟

验证文件系统

# 查看文件系统信息
sudo dumpe2fs -h /dev/mmcblk1p2 | grep "Block count"

# 输出
# Block count:  7628800

4.7 步骤七:通过 lsblk 检查 EMMC 和 df -h 检查系统分区 ⭐

lsblk 检查 EMMC 分区

# 查看块设备
lsblk

# 预期输出(扩容完成后)
NAME        MAJ:MIN RM   SIZE RO TYPE MOUNTPOINT
mmcblk0     179:0    0  14.9G  0 disk  # SD 卡 (源)
├─mmcblk0p1 179:1    0   512M  0 part  /boot
├─......
└─mmcblk0p8 179:2    0  14.4G  0 part  /
mmcblk1     179:8    0  29.1G  0 disk  # EMMC 32GB
├─mmcblk1p1 179:9    0   512M  0 part  # boot 分区
├─......
└─mmcblk1p8 179:10   0  28.6G  0 part  # 根分区(已扩容)

# 详细信息
lsblk -o NAME,SIZE,TYPE,FSTYPE,MOUNTPOINT,LABEL

# 输出
# NAME        SIZE TYPE FSTYPE MOUNTPOINT LABEL
# mmcblk0    14.9G disk                    
# ├─mmcblk0p1 512M part vfat   /boot      boot
# ├─......
# └─mmcblk0p2 14.4G part ext4   /         rootfs
# mmcblk1    29.1G disk                    
# ├─mmcblk1p1 512M part vfat              boot
# ├─......
# └─mmcblk1p2 28.6G part ext4             rootfs

4.8 步骤八:切换到 EMMC 启动

移除 SD 卡测试

# 1. 安全关闭系统
sudo shutdown now

# 2. 移除 SD 卡

# 3. 重新上电

# 4. 本地登录验证(HDMI+ 键盘)
# 直接在显示器上看到启动过程
# 输入用户名密码登录

# 5. 确认从 EMMC 启动
lsblk
# 应只显示 mmcblk1(EMMC),mmcblk0(SD 卡)不应出现

df -h
# /dev/root 应显示 28GB(EMMC 容量)

验证启动设备

# 查看根设备
cat /proc/mounts | grep " / "

# 输出应为
/dev/mmcblk1p2 / ext4 rw,relatime 0 0

# 查看内核启动信息
dmesg | grep mmc

# 确认 EMMC 为启动设备
lsblk -o NAME,SIZE,TYPE,MOUNTPOINT

五、江波龙 EMMC 芯片验证

5.1 内核识别信息

# 查看 EMMC 识别信息
dmesg | grep -i mmc

# 输出示例(江波龙芯片)
[    1.234567] mmc_host mmc0: Bus speed (slot 0) = 400000Hz
[    1.345678] mmc0: new HS200 MMC card at address 0001
[    1.356789] mmcblk0: mmc0:0001 SDAE32G 29.1 GiB
[    1.367890] mmcblk0boot0: mmc0:0001 SDAE32G 16.0 MiB
[    1.378901] mmcblk0boot1: mmc0:0001 SDAE32G 16.0 MiB
[    1.389012] mmcblk0rpmb: mmc0:0001 SDAE32G 4.0 MiB, chardev (242:0)

5.2 芯片详细信息

# 查看 EMMC 芯片名称
cat /sys/class/mmc_host/mmc0/mmc0:0001/name
# 输出:SDAE32G (江波龙 32GB 标识)

# 查看生产日期
cat /sys/class/mmc_host/mmc0/mmc0:0001/date
# 输出:生产日期代码(如 052023 表示 2023 年 5 月)

# 查看 CID 寄存器(芯片唯一标识)
cat /sys/class/mmc_host/mmc0/mmc0:0001/cid
# 输出:1301334544453207204635203247ff

江波龙 SDAE32G 识别特征

  • 内核标识:SDAE32G
  • 显示容量:约 29.1GB(实际 32GB,二进制换算)
  • 启动分区:boot0/boot1 各 16MB
  • RPMB 分区:4MB(安全存储区)
  • CID 前缀:13 (江波龙厂商 ID)