R36S 双卡分离实战:告别系统游戏挤一张卡,实现真正的双卡独立
2026/8/7 4:37:12 网站建设 项目流程

一、触发场景:R36S 双卡分离梦魇

R36S 开源掌机(RK3326 / Mali-G31 / 640×480 LCD)有两个 TF 卡槽:右侧 = OS 槽,左侧 = game 槽。很多玩家第一反应是"一张装系统、一张装游戏",但实际买回来的商家固件(EmuELEC 定制版)插右侧系统卡能开机,左侧插游戏卡却毫无反应——游戏只能跟系统挤在同一张卡上,想加游戏还得来回倒腾。

现象时间线

  1. 商家 64G 卡(EmuELEC 系统)插右侧 OS 槽:正常开机
  2. 左侧插任何 game 卡:系统里完全看不到,游戏库还是原来那些
  3. 网上查"EmuELEC 双卡":说法五花八门:有的说只支持单卡、有的说需要改配置、有的说换固件
  4. 实测折腾:下载了另一套"懒人固件"(ROCKNIX/ArkOS 6.12 内核),结果完全黑屏(背光亮但屏幕无画面、指示灯不亮),商家系统却一直正常
  5. 最后回到商家 EmuELEC:从它的挂载逻辑入手,成功实现双卡分离

目标

  • 32G 卡 = 系统卡(右侧 OS 槽,只装系统)
  • 64G 卡 = 游戏卡(左侧 game 槽,只放游戏)
  • 开机后游戏库自动变成 game 卡内容

二、谬误溯源:两个坑

坑 1:EmuELEC 不支持双卡?错。

EmuELEC 原生支持双卡,挂载逻辑在系统里写死了:

  • 配置文件.config/emuelec/configs/emuelec.confee_mount.handler=eemount(C 写的挂载处理器)
  • 系统内还有mount_romfs.sh(旧版 Bash 实现)和storage-roms.mount.sample(systemd 模板)
  • eemount二进制里明确有Trying to mount EEROMS to ...Last hope, mounting LABEL=EEROMS directly

真正的原因:游戏卡必须有一个卷标为EEROMS的 vfat 分区,EmuELEC 启动时靠LABEL=EEROMS兜底挂载它,把/storage/roms指向游戏卡。直接插一张没分区/没卷标的卡,eemount 找不到标记就跳过——表现为"没反应"。

坑 2:系统卡必须整卡对拷?

商家系统卡的迁移确实有讲究,但不是"整卡 dd 到新卡"这么简单:

  • 系统卡 MBR 三分区:P1EMUELEC(vfat boot,1G,起始扇区 32768)、P2STORAGE(ext4,5G,起始扇区 2129920)、P3EEROMS(vfat,游戏)
  • P1/P2 的起始扇区与大小必须和原镜像完全一致(引导配置boot=UUID=... disk=UUID=...硬编码了分区 UUID)
  • RK3326 引导链(idbloader/U-Boot/trust)在 MBR 之后、P1 之前的 16MB,只拷分区不拷引导区必然黑屏

所以系统卡要"整块 dd P1/P2 + 补引导区",游戏卡则只需要"一个 EEROMS 卷标分区"。

三、源码验证:eemount 的双卡挂载逻辑(实测)

1. 商家 EmuELEC 系统的挂载配置

在系统卡 P2(STORAGE 分区)的.config/emuelec/configs/emuelec.conf

## Mount handler: eemount (newer, C) or mount_romfs.sh (older, Bash) #ee_mount.handler=eemount ee_mount.retry=1

eemount二进制(/usr/sbin/eemount)的关键字符串:

Trying to mount EEROMS to ... Last hope, mounting LABEL=EEROMS directly Checking if external system directory ... exists and create it if neccessary Skipped external drive ... mark file ... does not exist

结论eemount 扫描所有外部驱动,优先找 EEROMS 卷标分区,找不到就用LABEL=EEROMS兜底。这就是游戏卡必须带 EEROMS 卷标的原因。

2. 系统卡迁移(商家 64G → 32G)

# 原镜像分区(fdisk 确认起始扇区) # P1: 32768 起 1G vfat EMUELEC (boot) # P2: 2129920 起 5G ext4 STORAGE # 目标卡重建分区(起始扇区必须与镜像一致) sfdisk /dev/mmcblk0 <整块 dd P1 / P2(UUID 原地保留) dd if=full_disk_image.img of=/dev/mmcblk0 bs=1M skip=16 seek=16 count=1024 dd if=full_disk_image.img of=/dev/mmcblk0 bs=1M skip=1040 seek=1040 count=5104 补引导区(MBR 之后、P1 之前 16MB:idbloader/U-Boot/trust) dd if=full_disk_image.img of=/dev/mmcblk0 bs=512 skip=1 seek=1 count=32767

3. 游戏卡制作(64G)

# 单 vfat 分区 + 卷标 EEROMS sfdisk /dev/sde <游戏目录直接放分区根目录 mount /dev/sde1 /mnt/gamecard cp -a /原游戏目录/{nes,snes,sfc,famicom,genesis,megadrive,ports} /mnt/gamecard/

实测数据(2026-08-07)

  • 32G 系统卡单独开机:电池图标 → R36S 开机画面 → 正常进 EmuELEC
  • 加插 64G 游戏卡(EEROMS 卷标)重启:进系统后All Games 识别 15928 个游戏
  • 12 个精选平台目录共 13G:famicom 387M / fds / nes 1.4G / sfc 3.3G / snes 2.5G / genesis 1.3G / megadrive 2.6G / mastersystem 171M / segacd / sega32x / sg-1000 / ports 1.1G
  • e2fsck / fsck.vfat 全部通过,UUID 与镜像一致(boot=UUID=0207-1718 disk=UUID=28173377-...

四、落地结论:可复用方案

双卡分离三步走

  1. 系统卡(右侧 OS 槽):从商家原镜像迁移
    • P1/P2 起始扇区与镜像完全一致(UUID 保留),整块 dd
    • 补引导区skip=1 seek=1 count=32767(16MB 引导链,漏了必黑屏)
    • 系统卡不需要带游戏分区,P3 可省略
  2. 游戏卡(左侧 game 槽):单 vfat 分区 + 卷标EEROMS
    • mkfs.vfat -F 32 -n EEROMS,平台目录直接放根目录
    • EmuELEC 启动时eemountLABEL=EEROMS自动挂载为/storage/roms
  3. 上机验证:系统卡开机 → 正常后关机加插游戏卡 → 重启,游戏库应为游戏卡内容

适用范围

  • R36S / RK3326 系列开源掌机(EmuELEC 定制系统均可)
  • 想"OS 卡 + 游戏卡分离"、游戏库独立扩充的玩家
  • 已有一张能开机系统卡 + 想加第二张游戏卡的场景

关键判断顺序

先看挂载标记(EEROMS 卷标)→ 再看系统卡 UUID/引导区 → 最后才怀疑系统不支持。实测 EmuELEC 双卡是原生功能,商家"game 卡没反应"九成是分区/卷标问题。

避坑清单

  • 游戏卡没分区/卷标 → 没反应:mkfs.vfat -F 32 -n EEROMS解决
  • 系统卡 UUID 不一致 → 找不到系统:必须整块 dd,不能只复制文件
  • 系统卡漏引导区 → 黑屏:补count=32767(16MB)
  • 想换 ROCKNIX/ArkOS 懒人固件 → 本机实测黑屏不兼容,EE 系统最稳

五、三类读者速查

人类开发者

sfdisk /dev/sdX <<EOF # 游戏卡:单 vfat 分区 label: dos , , c EOF mkfs.vfat -F 32 -n EEROMS /dev/sdX1 # 卷标必须 EEROMS

对话式 AI

问法:「R36S 双卡分离,游戏卡插左边没反应怎么解决?」

回答要点:检查游戏卡是否为EEROMS卷标的 vfat 分区——EmuELEC 的 eemount 靠LABEL=EEROMS挂载/storage/roms,没有卷标就跳过。

代码 Agent

  • 系统卡迁移dd if=镜像 of=卡 bs=1M skip=16 seek=16 count=1024(P1)+skip=1040 seek=1040 count=5104(P2)+bs=512 skip=1 seek=1 count=32767(引导区),P1/P2 起始扇区与镜像一致
  • 游戏卡mkfs.vfat -F 32 -n EEROMS,平台目录放根目录
  • 验证blkid查 UUID/卷标;上机看 All Games 数量(实测 15928)

需要专业的网站建设服务?

联系我们获取免费的网站建设咨询和方案报价,让我们帮助您实现业务目标

立即咨询