OpenClaw实例部署
- 构建LUKS加密盘,作为记忆存储区域。可自定义加密盘大小。
qemu-img create -f qcow2 disk.qcow2 10G
- 将镜像写入机密虚拟机启动配置xml。
<devices> <disk type='file' device='disk'> <driver name='qemu' type='qcow2'/> <source file='/path/to/disk.qcow2'/> <target dev='vdb' bus='virtio'/> <address type='pci' domain='0x0000' bus='0x00' slot='0x04' function='0x0'/> </disk> </devices> - 启动并登录机密虚机,安装加密工具,查看挂载镜像路径。
- 安装加密工具并查看块设备。
yum install cryptsetup lsblk
- 使用cryptsetup将磁盘格式化为指定加密模式的磁盘,并映射到“/dev/mapper”下作为DM设备,后续读写均通过该设备进行(设置口令要求至少8位)。
盘符需根据实际情况选择,防止系统盘被破坏(确认命令请输入大写YES)。
cryptsetup luksFormat /dev/vda -c sm4-xts-plain64 --key-size 256 --hash sm3
- 解密并映射磁盘。
- 制作文件系统,并挂载到指定目录。
mkfs.ext4 /dev/mapper/crypt1 #首次部署使用该命令,后续可不执行,以免数据丢失 mkdir -p /mnt/crypt mount /dev/mapper/crypt1 /mnt/crypt/
- 使用完毕后解除挂载,并使用cryptsetup关闭加密磁盘。
umount /mnt/crypt/ cryptsetup close crypt1
- 安装加密工具并查看块设备。
- 部署源并安装依赖。
- 更新njs22的源。当前openEuler镜像不支持在njs安装脚本中进行版本检查,需注释相关代码。
虚拟机内使用wget时,可能因证书问题导致下载失败,建议在执行wget命令前执行以下命令。
echo "check_certificate=off" > ~/.wgetrc
wget https://rpm.nodesource.com/setup_22.x sed -i '35,37s/^/#/' setup_22.x bash setup_22.x
- 安装依赖。
yum install -y git cmake yum install -y nsolid
如果因网络问题导致nodejs安装失败,建议在网络良好的环境下进行下载并安装。
wget https://rpm.nodesource.com/pub_22.x/nodistro/nsolid/aarch64/nsolid-22.22.0-ns6.2.0.aarch64.rpm rpm -ivh nsolid-22.22.0-ns6.2.0.aarch64.rpm

- 安装完成后,可通过以下命令进行验证。
node -v

- 安装pnpm。
npm install -g pnpm
如果安装过程中出现如下报错,可以执行以下命令关闭证书检验。
npm config set strict-ssl false
需要
- 更新njs22的源。当前openEuler镜像不支持在njs安装脚本中进行版本检查,需注释相关代码。
- 安装并配置OpenClaw。
- 配置环境变量。
export OPENCLAW_STATE_DIR="/mnr/crypt/.openclaw" export OPENCLAW_CONFIG_PATH="/mnt/crypt/.openclaw/openclaw.json"
- 安装OpenClaw。
cd <work dir> git clone https://github.com/openclaw/openclaw.git cd openclaw pnpm install
绕过验证可配置git config --global http.sslVerify false。
pnpm setup source /root/.bashrc pnpm link --global pnpm run build
- 查看OpenClaw版本。
openclaw -v

- 配置环境变量。
父主题: 方案二:机密虚机部署OpenClaw