【发布时间】:2021-09-09 06:31:35
【问题描述】:
我正在使用 VxWorks,这是一个用于嵌入式系统的实时操作系统。他们最近添加了 QEMU 支持,我一直在努力解决。 (我对所有这些技术都很陌生。)我想检查点并重新启动虚拟机,即保存 RAM 和处理器状态并稍后从该点重新加载。
QEMU 对此有一些支持,称为“快照”。但是,我所看到和尝试的所有内容都需要 qcow2 格式的磁盘映像。但是我的模拟没有磁盘,程序直接加载到RAM中运行。
这是我的 QEMU 命令:
qemu-system-aarch64 -m 4096M -smp 4 -machnie xlnx-zcu102 -device loader,file=~/vxworks_21.03/workspace3/QEMU_helloWorld/default/vxWorks,addr=0x00100000 -nographic -monitor telnet:127.0.0.1:35163,server,nowait -serial telnet:127.0.0.1:39251,server -device loader,file=~/vxworks_21.03/workspace3/vip_xlnx_zynqmp_smp_64/default/xlnx-zcu102-rev-1.1.dtb,addr=0x0f000000 -device loader,addr=0x000ffffc,data=0xd2a1e000,data-len=4 -device loader,addr=0x000ffffc,cpu-num=0 -nic user -nic user -nic user -nic user,id=n0,hostfwd=tcp:127.0.0.1:0-:1534,hostfwd=udp:127.0.0.1:0-:17185
然后我登录到监视器并:
$ telnet 127.0.0.1 35163
Trying 127.0.0.1...
Connected to 127.0.0.1.
Escape character is '^]'.
QEMU 5.2.0 monitor - type 'help' for more information
(qemu) savevm
Error: No block device can accept snapshots
我尝试了很多方法,比如创建一个空磁盘映像,或者使用 snapshot_blkdev 命令,但到目前为止都没有成功。
主机是在 x86 桌面上运行的 RedHat Linux 8.4,来宾是 ARM64。
【问题讨论】:
标签: qemu snapshot checkpoint