Micro SD 卡启动
本文以 LPA3588 主机为例,介绍如何制作一张 可启动 Micro SD 卡 并通过其引导系统。插入 Micro SD 卡后,系统将优先从 Micro SD 卡 启动,并加载相应的根文件系统。
一、准备工作
1. 固件获取
固件可通过以下两种方式获得:
- 自行编译:使用
Neardi官方提供的SDK编译生成update.img; - 直接下载:支持与下载 页面获取已发布固件。
⚠️ 强烈建议使用最新版本的 SDK 或固件,部分旧版本可能不支持从 SD 卡启动,可能导致无法识别或启动异常。
2. 硬件与工具
需要准备以下硬件与工具:
- LPA3588 主机
- Windows 电脑
- Micro SD 卡(≥16GB,Class10/UHS-I 及以上)
- Micro SD 卡读卡器
说明:
- Class10 表示最低写入速度 ≥ 10MB/s;
- UHS-I 属于 Ultra High Speed 总线规范,最大传输速度可达 104MB/s;
- 建议选择大品牌、高质量的高速卡,以确保系统运行的稳定性。
将 Micro SD 卡插入读卡器,并接入 Windows 电脑 USB 接口。

3. 烧写工具
烧写工具为 SDDiskTool_v1.78:
- SDK 路径:
SDK_Dir/tools/windows - 独立下载:SDDiskTool_v1.78.zip
解压后运行 SD_Firmware_Tool.exe:

使用注意事项
- 必须先插入读卡器,再运行工具,否则无法识别 Micro SD 卡;
- 推荐以 管理员权限运行工具;
- 若 Windows 未安装 Rockchip 驱动,请先安装 Release_DriverAssistant.zip;参考文档:Neardi Wiki 使用Type-C线升级固件。
二、制作 Micro SD 启动卡
- 打开
SD_Firmware_Tool.exe; - 选择目标 Micro SD 卡(务必确认选择正确的磁盘,避免误擦除 PC 本地硬盘);
- 仅勾选 SD 启动;
- 点击 选择固件 → 指定
update.img文件; - 点击 开始创建,耐心等待写入完成。
完成后,该 Micro SD 卡即可作为 可启动卡 使用。
三、从 Micro SD 卡启动
将制作好的 Micro SD 启动卡插入 LPA3588 板载卡槽:

重启主机后,BootROM 将自动检测 Micro SD 卡,并按启动链顺序加载:
TPL/SPL → U-Boot → Kernel → 根文件系统
四、启动验证
要确认系统是否成功从 Micro SD 卡启动,可采用以下方法:
1. 串口日志验证
通过串口观察启动过程:
-
出现 Booting from SD Card 或类似提示;
-
U-Boot 阶段识别并切换到
mmc1:...U-Boot SPL board initU-Boot SPL 2017.09-ge4e124926e-230922 #lxh (Sep 25 2023 - 10:58:38), fwver: v1.13...U-Boot 2017.09-gf34fefcc0c-241224 # (Sep 18 2025 - 22:24:16 +0800)Model: Rockchip RK3588 Evaluation Board...mmc@fe2c0000: 1, mmc@fe2e0000: 0switch to partitions #0, OKmmc1 is current deviceBootdev(atags): mmc 1MMC1: Legacy, 52Mhz... -
Kernel 启动日志中会显示内核版本与挂载参数,例如:
Starting kernel ...[ 1607.107138] Booting Linux on physical CPU 0x0000000000 [0x412fd050][ 1607.107159] Linux version 6.1.99 (joshua@ubuntu2204-docker) (aarch64-none-linux-gnu-gcc (GNU Toolchain for the A-profile Architecture 10.3-2021.07 (arm-10.29)) 10.3.1 20210621, GNU ld (GNU Toolchain for the A-profile Architecture 10.3-2021.07 (arm-10.29)) 2.36.1.20210621) #4 SMP Thu Sep 18 21:58:32 CST 2025[ 1607.304464] Kernel command line: storagemedia=sd androidboot.storagemedia=sd root=PARTUUID=614e0000-0000 rw rootwait ...
⚠️ 注意:
- 单从串口日志往往无法准确判断 U-Boot 和 Kernel 来源于 eMMC 还是 Micro SD 卡;
- 可通过 擦除 eMMC 或 SD 卡的一方 来验证真实启动来源;
- 由于 eMMC 与 Micro SD 卡分区表相同,
PARTUUID也相同,可能出现系统随机挂载不同 rootfs 的情况。
2. 根文件系统验证
方法一:不同系统对比
- eMMC 烧录 Buildroot;
- Micro SD 卡烧录 Ubuntu;
- 启动进入 Ubuntu,即可确认来自 Micro SD 卡。
方法二:标志文件法
在拔出 SD 卡的情况下启动 LPA3588,在 eMMC 的文件系统中创建标志文件:
touch /root/emmc_flag
插入 SD 卡并重启后,��若该文件消失,则说明 rootfs 来自 SD 卡。
方法三:命令确认
findmnt -no SOURCE /
若挂载点为 /dev/mmcblk1pX,说明系统运行于 SD 卡的 rootfs。
一般 mmcblk0 为 eMMC,mmcblk1 为SD卡。
可以通过 lsblk 和 blkid /dev/mmcblk1pX 等命令进一步查看 eMMC 和 SD 卡的分区信息(blkid 命令须在 root 用户下使用)。
3. 擦除 eMMC 验证
可使用烧录工具擦除 eMMC 的扇区,再插入 Micro SD 启动卡后重启。若能启动成功,即可确认系统来源于 SD 卡。

五、常见问题排查
1. 问题排查
| 问题 | 可能原因 | 解决方法 |
|---|---|---|
| 工具无法识别 Micro SD 卡 | 未先插入读卡器 | 请先插卡再运行工具 |
| 烧录失败 | 未使用管理员权限 | 以 管理员身份运行工具 |
| 启动仍从 eMMC | 固件过旧 / parameter.txt 配置不支持 | 使用最新 SDK 或固件重新烧录 |
| 启动卡无法识别 | SD 卡质量差 / 不符合速度等级 | 更换高质量高速 Micro SD 卡(≥Class10/UHS-I) |
2. 使用 SD 卡启动时遇到以下问题 MMC error: The cmd index is 16, ret is -110 ?
这种情况通常是 SD 卡通信失败,ret is -110是超时,uboot 完全读不到 SD 卡数据,可以进行以下检查:
SD 卡接触不良/卡槽松动
SD 卡不兼容,坏卡;可以换大品牌 SD 卡,尽量用 SDR104 / Class10 正规卡

✅ 至此,已在 LPA3588 主机上完成 Micro SD 启动卡的制作及验证。