解决RDK X5(ARM64架构)板卡Remote-SSH运行Antigravity AI崩溃(SIGILL):Samba网络盘本地挂载方案
一、前言
最近在折腾 D-Robotics 的 RDK X5 板卡(搭载 Sunrise X5 芯片,ARM Cortex-A55 架构)。在尝试使用强大的 Antigravity IDE 通过 Remote-SSH 远程连接板卡进行开发时,遇到了一个极其头疼的问题:AI 侧边栏完全不可用,并且一直弹出报错提示。
查看日志后发现,Language Server 刚启动就直接退出了,抛出了 SIGILL(非法指令)错误:
`Language server killed with signal SIGILL`
`Language server exited before sending start data`

踩坑分析:
经过排查,问题的根源在于官方最新版的 Antigravity 服务端二进制文件在编译时,开启了过于激进的 ARM64 硬件指令集优化(例如 ARMv8.2 的加密指令或 RCPC 锁机制)。而 RDK X5 的 Cortex-A55 作为通用型核心,并不包含这些高级扩展指令集,导致程序一运行就触发了 CPU 的非法指令异常。
如果等待官方发兼容补丁,不仅遥遥无期,而且把沉重的 AI Language Server 跑在资源有限的板卡上,原本就会大量占用极其宝贵的内存。
最终的完美解决方案:
放弃 Remote-SSH 跑 AI 的思路!我们在板卡上架设 Samba 服务,将板卡上的代码目录映射为 Windows 电脑本地的一个网络硬盘(比如 Z: 盘)。然后用 Windows 本地的 Antigravity 直接打开这个盘。
这样一来,所有吃 CPU 和内存的 AI 代码分析、语法补全全部在性能强劲的 Windows 上运行,而修改的代码又会通过局域网实时、零延迟地写入板卡。不仅完美绕过了 ARM 的兼容性 Bug,还榨干了 PC 的算力,这才是嵌入式 AI 开发的究极形态!
二、Windows 挂载流程:
整个流程非常简单,分为三步:板卡安装配置 Samba、Windows 映射驱动器 和 本地开发配合。
1. 在 RDK X5 上安装并配置 Samba
首先,通过普通的 SSH 终端连接到你的板卡,安装 Samba 服务:
sunrise@ubuntu:~$ sudo apt update
sunrise@ubuntu:~$ sudo apt install samba -y
安装完成后,我们需要修改配置文件,把存放代码的目录共享出来。
# 编辑 smb.conf 配置文件
sunrise@ubuntu:~$ sudo nano /etc/samba/smb.conf
使用方向键将光标移动到文件的最末尾,添加以下配置(假设你的代码都在 /home/sunrise/ 目录下,用户名也是 sunrise):
[RDK_Code]
comment = RDK X5 Workspace
path = /home/sunrise/
browsable = yes
guest ok = no
read only = no
create mask = 0755
valid users = sunrise
提示:在 nano 编辑器中,按 Ctrl+O 然后回车保存,按 Ctrl+X 退出。
2. 设置共享密码并重启服务
Samba 有自己独立的密码系统(不依赖于 Linux 系统的登录密码,虽然为了方便你也可以设置成一样的)。我们需要为 sunrise 用户添加 Samba 访问密码:
# 添加用户并设置密码
sunrise@ubuntu:~$ sudo smbpasswd -a sunrise
New SMB password:
Retype new SMB password:
Added user sunrise.
设置好密码后,重启 Samba 服务让刚刚的配置文件生效:
# 重启 smbd 服务
sunrise@ubuntu:~$ sudo systemctl restart smbd
3. 在 Windows 上映射网络驱动器
回到我们的 Windows 电脑上,让这块板卡的存储空间变成我们的本地硬盘。

- 打开 Windows 的 “此电脑” (资源管理器)。
- 在顶部工具栏找到并点击 “映射网络驱动器”。
- 驱动器号:随意选择一个,这里我选了
Z:。 - 文件夹路径:输入板卡的 IP 和我们刚才配置的共享节点名称,格式如下(请将 IP 换成你板卡的实际局域网 IP):
\\192.168.1.31\RDK_Code - 勾选 “登录时重新连接”,点击 完成。
- 在弹出的凭据窗口中,输入用户名
sunrise和刚才用smbpasswd设置的密码。
映射成功后,你的“此电脑”里就会多出一个 Z: 盘,点进去就是 RDK X5 板卡里的文件系统!
4. 开启丝滑开发模式
现在,请关闭那个不断报错的 Remote-SSH 窗口。
直接打开你 Windows 本地安装的 Antigravity,点击左上角 文件 -> 打开文件夹...,选中刚才映射的 Z: 盘里对应的项目目录。

三、进阶:在 WSL 中原生挂载板卡磁盘
有时候我们不仅需要 Windows 上的 Antigravity 来写代码,还希望能利用 WSL (Windows Subsystem for Linux) 里的强大工具链来处理板卡上的文件。
既然 WSL 也是一个完整的 Linux 环境,它完全可以“绕开” Windows 的 Z 盘,自己直接和 RDK X5 板卡建立局域网 Samba 连接。这种方式文件读写性能最好,权限管理也更接近原生 Linux。
1. 安装挂载依赖工具
在你的 WSL 终端中执行以下命令,安装用于挂载 Samba 的 cifs-utils 工具:
vsonic12138@DESKTOP-IMBN9QK:~$ sudo apt update
vsonic12138@DESKTOP-IMBN9QK:~$ sudo apt install cifs-utils -y
2. 创建挂载点并挂载
在 WSL 中创建一个专属目录,并执行挂载命令:
# 1. 创建挂载点
vsonic12138@DESKTOP-IMBN9QK:~$ sudo mkdir -p /mnt/rdk_board
# 2. 执行挂载(密码填写你刚才 smbpasswd 设置的密码)
vsonic12138@DESKTOP-IMBN9QK:~$ sudo mount -t cifs //192.168.1.31/RDK_Code /mnt/rdk_board -o username=sunrise,password=sunrise,uid=$(id -u),gid=$(id -g)
注:-o uid=$(id -u),gid=$(id -g) 这个参数非常关键,它能确保挂载进来的文件所有权属于你当前 WSL 的用户,这样修改文件就不会遇到权限拒绝的问题。
3. 测试访问
vsonic12138@DESKTOP-IMBN9QK:~$ cd /mnt/rdk_board
vsonic12138@DESKTOP-IMBN9QK:/mnt/rdk_board$ ls
Desktop MA4_workspace arm_-x4 pi-apps tsinghua_mission
看到上面的输出,说明 WSL 已经成功直连板卡的磁盘了!
四、必看避坑指南与工作流总结
这种“Samba 挂载”的开发模式虽然极度舒适,但有两个新手极易踩坑的地方,请务必注意:
坑点 1:Git 提示 "dubious ownership" 拒绝访问
由于网络盘物理上属于板卡里的 sunrise 用户,而你用 Windows/WSL 访问时是另外的用户,Git 出于安全考虑会拦截操作并提示:
fatal: detected dubious ownership in repository at '//192.168.1.31/RDK_Code/arm_-x4'
解决方法(一劳永逸):
直接在你的 Windows PowerShell 或 WSL 终端里执行一次全局信任命令即可(因为这是你自己的开发板局域网,非常安全):
git config --global --add safe.directory "*"
执行后,Antigravity 里的代码变更检测、Git 侧边栏全部恢复正常。
坑点 2:千万不要在 Windows/WSL 终端里“运行”硬件代码
由于你映射的 Z: 盘本质上只共享了“文件”,并没有共享板卡的“硬件”。
如果在 Windows 本地的终端执行 python3 main.py,它调用的是电脑的 CPU 去跑代码,绝对找不到板卡上插着的 USB 摄像头(/dev/video0)或底层 GPIO 接口。
正确的双持工作流:

浙公网安备 33010602011771号