基于 NXP iMX8MP ARM平台安装测试 Openclaw

By Toradex秦海

1). 简介

Openclaw AI agent 开源项目最新非常火热,目前主流是基于 Mac 或者 X68 PC 进行安装部署,本文就尝试基于 NXP iMX8MP ARM 平台通过 Docker 环境进行部署测试。另外,通过 Docker 部署的好处除了可复用性,同时也一定程度保证了 Openclaw 和本机系统和数据的隔离,只将需要的数据通过共享目录提供给 Docker 内的 Opanclaw 处理即可。

本文测试使用的平台来自于 Toradex Verdin i.MX8MP 嵌入式平台。

2. 准备

a). Verdin i.MX8MP ARM核心版配合Dahlia 载板,并连接调试串口和 HDMI 显示器用于测试。

3). BSP 配置

a). 参考这里文章说明,下载适用于 Verdin iMX8MP 的 [++++TorizonOS 7.x BSP Image++++](#TorizonOS 7.x BSP Image) 并通过 Toradex Easy Installer 安装到 Verdin i.MX8MP 模块。

b). TorizonOS 默认使能了 Docker 环境,可以非常方便的安装和测试各种 Docker Image,本文中 Openclaw 也通过 Docker 方式进行安装部署。

4 ). Openclaw 安装

a). Openclaw 源码 github 如下,在支持 git 命令的系统可以直接通过 git 命令 clone 下来,因为 TorizonOS 目前默认未集成 git,因此这里直接下载压缩包后复制到 TorizonOS $HOME 目录。


Openclaw official github

https://github.com/openclaw/openclaw

copy source code package to Verdin iMX8MP

torizon@verdin-imx8mp-06849028:~$ cp <store_path>/openclaw-main.zip /home/torizon

torizon@verdin-imx8mp-06849028:~$ unzip openclaw-main.zip


b). 修改源码中默认的 docker-compose.yml 文件以适配安装和配置进程:

./ 主要增加了挂载目录以保证配置和应用数据固化,修改了网络模式同时增加了 NPM 仓库镜像和 DNS 配置,以便于国内网络环境下在 Openclaw 容器内可以正常安装一些组件。


--- a/docker-compose.yml

+++ b/docker-compose.yml

@@ -9,6 +9,14 @@

CLAUDE_AI_SESSION_KEY: ${CLAUDE_AI_SESSION_KEY:-}

CLAUDE_WEB_SESSION_KEY: ${CLAUDE_WEB_SESSION_KEY:-}

CLAUDE_WEB_COOKIE: ${CLAUDE_WEB_COOKIE:-}

  • ========== add npm local registry ==========

  • NPM_CONFIG_REGISTRY: https://registry.npmmirror.com/

  • ======================================

  • network_mode: bridge

  • dns:

    • 8.8.8.8
    • 8.8.4.4
    • 114.114.114.114

volumes:

  • ${OPENCLAW_CONFIG_DIR}:/home/node/.openclaw

  • ${OPENCLAW_WORKSPACE_DIR}:/home/node/.openclaw/workspace

@@ -65,6 +73,9 @@

CLAUDE_AI_SESSION_KEY: ${CLAUDE_AI_SESSION_KEY:-}

CLAUDE_WEB_SESSION_KEY: ${CLAUDE_WEB_SESSION_KEY:-}

CLAUDE_WEB_COOKIE: ${CLAUDE_WEB_COOKIE:-}

volumes:

  • ${OPENCLAW_CONFIG_DIR}:/home/node/.openclaw

  • ${OPENCLAW_WORKSPACE_DIR}:/home/node/.openclaw/workspace


c). 创建 Openclaw 本地相关目录


配置目录-config;工作目录-workspace;Openclaw /home/node 挂载目录-home

torizon@verdin-imx8mp-06849028:~$ mkdir -p /home/torizon/openclaw/{config,workspace,home}

更改目录权限

torizon@verdin-imx8mp-06849028:~$ chown -R 1000:1000 /home/torizon/openclaw


d). 输出 Openclaw 安装配置所需的一些环境变量:为了减少安装时间和复杂度,这里直接使用官方编译好的 docker image,而不是通过源码编译。


env 环境变量文件

torizon@verdin-imx8mp-06849028:~$ cat env

openclaw official docker image

export OPENCLAW_IMAGE=ghcr.io/openclaw/openclaw:latest

configuration folder

export OPENCLAW_CONFIG_DIR=/home/torizon/openclaw/config

workspace folder

export OPENCLAW_WORKSPACE_DIR=/home/torizon/openclaw/workspace

HOME folder

export OPENCLAW_HOME_VOLUME=/home/torizon/openclaw/home

gateway network bind mode and port

export OPENCLAW_GATEWAY_BIND=lan

export OPENCLAW_GATEWAY_PORT=18789

export OPENCLAW_GATEWAY_TOKEN=<your_openclaw_token>

export env

torizon@verdin-imx8mp-06849028:~$ source ./env


e). 安装 Openclaw


torizon@verdin-imx8mp-06849028:~$ cd openclaw-main

torizon@verdin-imx8mp-06849028:~$ ./docker-setup.sh


5 ). Openclaw 配置

a). 上述步骤 docker image 下载运行后,Onboarding 交互模式启动,开始进行配置:

./ Onboarding 模式要选择 "Manual",否则会导致网络以 "loopback" 模式工作。


...

==> Onboarding (interactive)

Docker setup pins Gateway mode to local.

Gateway runtime bind comes from OPENCLAW_GATEWAY_BIND (default: lan).

Current runtime bind: lan

Gateway token: <your_openclaw_token>

Tailscale exposure: Off (use host-level tailnet/Tailscale setup separately).

Install Gateway daemon: No (managed by Docker Compose)

...


./ security configuration


I understand this is personal-by-default and shared/multi-user use requires lock-down. Continue?

│ ● Yes / ○ No


./ Onboarding mode


◇ Onboarding mode

│ Manual

◇ Workspace directory

│ /home/node/.openclaw/workspace


b). 模型配置:

./ 需要提前注册好想要使用的 AI 模型提供商,并获得 API Key


Model/auth provider

│ MiniMax

◇ MiniMax auth method

│ MiniMax M2.5 (CN)

◇ How do you want to provide this API key?

│ Paste API key now

◇ Enter MiniMax China API key

│ <your_Model_Provider_API_key>

◆ Default model

│ ● Keep current (minimax-cn/MiniMax-M2.5)

│ ○ Enter model manually

│ ○ minimax-cn/MiniMax-M2.5

│ ○ minimax-cn/MiniMax-M2

│ ○ minimax-cn/MiniMax-M2.1

│ ○ minimax-cn/MiniMax-M2.5-highspeed


c). Gateway 配置:


◇ Gateway port

│ 18789

◇ Gateway bind

│ LAN (0.0.0.0)

◇ Gateway auth

│ Token

◇ Tailscale exposure

│ Off

◇ How do you want to provide the gateway token?

│ Generate/store plaintext token

◇ Gateway token (blank to generate)

│ <your_openclaw_token>


d). Channel 配置:

./ 需要提前注册好要使用的 Channel,本文使用飞书,创建新机器人 APP 并获得相关的 App Secret 和 App id 用于绑定 plugin。Feishu Plugin 通过 npm 或者 local 方式安装都可以。


◇ Configure chat channels now?

│ Yes

◇ Select channel (QuickStart)

│ Feishu/Lark (飞书)

◇ Install Feishu plugin?

│ Use local plugin path/Download from npm (@openclaw/feishu)

◇ Feishu credentials ───────────────────────────

│ 1) Go to Feishu Open Platform (open.feishu.cn) │

│ 2) Create a self-built app │

│ 3) Get App ID and App Secret from Credentials page │

│ 4) Enable required permissions: im:message, im:chat, contact:user.base:readonly │

│ 5) Publish the app or add it to a test group │

│ Tip: you can also set FEISHU_APP_ID / FEISHU_APP_SECRET env vars. │

│ Docs: 8;;https://docs.openclaw.ai/channels/feishufeishu8;; │

├────────────────────────────────────

◇ How do you want to provide this App Secret?

│ Enter App Secret

◇ Enter Feishu App Secret

│ <your_feishu_App_secret>

◇ Enter Feishu App ID

│ <your_feishu_App_id>

◇ Feishu connection mode

│ WebSocket (default)

◇ Which Feishu domain?

│ Feishu (feishu.cn) - China

◇ Group chat policy

│ Disabled - don't respond in groups

◇ Select a channel

│ Finished


e). 其他配置:

./ 为了简化配置流程,先都 skip 跳过。


◇ Configure DM access policies now? (default: pairing)

│ No

◇ Search provider

│ Skip for now

◇ Configure skills now? (recommended)

│ No

◇ Enable hooks?

│ Skip for now


f). 此时配置过程就完成了,会提示通过如下浏览器 URL 来打开 Dashboard 等信息后,自动退出安装脚本


...

Dashboard link (with token):

http://127.0.0.1:18789/#token=\<your_openclaw_token>

...


6 ). 模型测试和飞书 Channel 连接

a). 连接 dashboard:有两种方式,本地显示和局域网远程访问

./ 本地显示


分别通过如下命令下载运行 Weston 和 Cog 浏览器,通过本地网址和之前预设的 <your_openclaw_token> 进行连接

Weston

docker container run -d --name=weston --net=host \

--cap-add CAP_SYS_TTY_CONFIG \

-v /dev:/dev -v /tmp:/tmp -v /run/udev/:/run/udev/ \

--device-cgroup-rule="c 4:* rmw" --device-cgroup-rule="c 253:* rmw" \

--device-cgroup-rule="c 13:* rmw" --device-cgroup-rule="c 226:* rmw" \

--device-cgroup-rule="c 10:223 rmw" --device-cgroup-rule="c 199:0 rmw" \

torizon/weston-imx8:4 \

--developer

Cog

docker run -d --rm --name=cog --net=host\

-v /tmp:/tmp -v /var/run/dbus:/var/run/dbus \

-v /dev/dri:/dev/dri --device-cgroup-rule='c 226:* rmw' \

torizon/cog:$CT_TAG_COG \

http://127.0.0.1:18789/#token=<your_openclaw_token>

第一次连接会提示 " pairing request"

执行下面命令获取 <RequestID>

torizon@verdin-imx8mp-06849028:~$ cd openclaw-main

torizon@verdin-imx8mp-06849028:~$ docker compose exec openclaw-gateway node dist/index.js devices list

执行下面命令 approve request

docker compose exec openclaw-gateway node dist/index.js devices approve <RequestID>

重启 Cog 即可正常连接 Gateway

torizon@verdin-imx8mp-06849028:~$ docker restart cog


./ 通过局域网内其他电脑浏览器连接


首先在其他电脑和 Veridn iMX8MP 设备间建立 SSH Tunnel

$ ssh -L 18789:127.0.0.1:18789 torizon@<ip_addr_verdin_imx8mp> -N

然后浏览器通过如下 URL 连接,第一次连接同样需要和本地连接一样完成 pairing request

http://127.0.0.1:18789/#token=\<your_openclaw_token>


b). 飞书连接和测试

./ 关于飞书平台机器人应用的创建和权限配置这里不再赘述,可以自行查询公开资料。

./ 同样在第一次通过飞书 APP 发消息给 Openclaw 时候,会提示需要 pairing,并给出 Pairing code,此时在命令下通过如下命令 approve


torizon@verdin-imx8mp-06849028:~$ docker compose exec openclaw-gateway node dist/index.js pairing approve feishu <pairing_code>


c). 到这里基于 Verdin iMX8MP 平台部署的 Openclaw AI agent 就可以基本工作了,更进一步使用就需要自行开发或者安装相应的 SKILL 等,本文不再深入测试。

./ 由于当前仅仅是基本状态,查看系统资源占用非常小,后续资源占用情况可能会根据不同 SKILL 的使用情况各不相同。


0[###* 5.8%] Tasks: 48, 151 thr, 109 kthr; 0 running

1[##* 4.5%] Load average: 0.18 0.44 0.63

2[##* 5.8%] Uptime: 1 day, 05:15:55

3[##** 6.5%]

Mem[|||||||||||||#@$$$$$$$$$$$$$1.28G/3.83G]

Swp[ 0K/0K]

Main\] \[I/O

PID USER PRI NI VIRT RES SHR S CPU%-MEM% TIME+ Command

...

99047 torizon 20 0 11.3G 445M 57140 S 0.6 11.4 0:53.40 openclaw-gateway

...


7 ). 总结

本文基于 NXP i.MX8MP 处理器平台演示了通过 Docker 方式来测试部署 OpenClaw,希望能够对于在嵌入式边缘测设备使用 AI 工具有一些尝试和探讨。

免责声明:本文测试流程仅供学习交流,请勿在实际生产环境部署测试,造成的任何风险和损失本文不承担任何相关责任。

相关推荐
ZhengEnCi2 小时前
L1C-VMware创建CentOS虚拟机完全指南 🚀
linux·centos
somi72 小时前
Linux—网络通信04-IO多路复用-并发模型
linux·运维·服务器
mpr0xy2 小时前
Linux操作系统安装nvidia-drives和nvidia-container-toolkit
linux·运维·服务器
minji...2 小时前
Linux 基础IO (三) (用户缓冲区/内核缓冲区深刻理解)
java·linux·运维·服务器·c++·算法
九天轩辕2 小时前
跨平台符号表生成规则详解:Windows/Linux/macOS/OHOS
linux·windows·macos
国产化创客2 小时前
OpenClaw Control UI安全上下文访问配置
ai·webui·openclaw
蜜獾云2 小时前
linux-磁盘挂载
linux·运维·服务器
白藏y2 小时前
【Linux】常见指令用法
linux
c++之路2 小时前
Linux进程池与线程池深度解析:设计原理+实战实现(网盘项目架构)
java·linux·架构