Description of problem: 龙蜥23.1 rc1 系统中edk2-ovmf-202302-4.an23.noarch 按照包中的OVMF_CODE.fd不支持CSV2/CSV3 迁移功能 Version-Release number of selected component (if applicable): How reproducible: 使用-kernel 方式启动CSV2/CSV3 虚拟机,kernel使用anlis 23.1 配套kernel, 使用anolis 23.1 配套的qemu ovmf,csv2/csv3 迁移失败,报{"error": {"class": "GenericError", "desc": "SEV: Migration is not implemented"}}错误 Steps to Reproduce: 1. 启动send sudo qemu-system-x86_64 \ -kernel ./vmlinuz-5.10.134-16.2_rc1.an23.x86_64 \ -initrd /boot/initramfs-5.10.134-16.2_rc1.an23.x86_64.img \ -append "root=rootfs rdinit=/bin/bash console=ttyS0 earlyprintk=ttyS0,115200 loglevel=10" \ -drive if=pflash,format=raw,unit=0,file=/usr/share/OVMF/OVMF_CODE.fd,readonly=on \ -m 1G \ -nographic \ -enable-kvm \ -cpu host \ -smp 4 \ -monitor pty \ -object sev-guest,id=sev0,policy=0x45,cbitpos=47,reduced-phys-bits=5 \ -machine memory-encryption=sev0 \ -name src \ -qmp tcp:localhost:4444,server,nowait \ -msg timestamp 启动 recv sudo qemu-system-x86_64 \ -kernel ./vmlinuz-5.10.134-16.2_rc1.an23.x86_64 \ -initrd /boot/initramfs-5.10.134-16.2_rc1.an23.x86_64.img \ -append "root=rootfs rdinit=/bin/bash console=ttyS0 earlyprintk=ttyS0,115200 loglevel=10" \ -drive if=pflash,format=raw,unit=0,file=/usr/share/OVMF/OVMF_CODE.fd,readonly=on \ -m 1G \ -nographic \ -enable-kvm \ -cpu host \ -smp 4 \ -monitor pty \ -object sev-guest,id=sev0,policy=0x45,cbitpos=47,reduced-phys-bits=5 \ -machine memory-encryption=sev0 \ -incoming tcp:0:6666 \ -qmp tcp:localhost:4445,server,nowait \ -msg timestamp 2. send 虚拟机kernel启动后,执行 sudo ./hag --export_cert_chain && cat pek.cert oca.cert cek.cert > plat.cert; cat hsk.cert hrk.cert > vendor.cert && base64 -w 0 pdh.cert > pdh.cert-b64; base64 -w 0 plat.cert > plat.cert-b64; base64 -w 0 vendor.cert > vendor.cert-b64 && ls -lh | grep "\-b64" cp *-b64 /tmp/ && # sender spawn socat - tcp:localhost:4444 expect "*\}\}" send "\{\"execute\":\"qmp_capabilities\"\}\r" expect "*\}\}" send "\{\"execute\":\"migrate-set-parameters\",\"arguments\":\{\"sev-pdh\":\"/tmp/pdh.cert-b64\",\"sev-plat-cert\":\"/tmp/plat.cert-b64\",\"sev-amd-cert\":\"/tmp/vendor.cert-b64\"\}\}\r" sleep 1 expect "*\}\}" send "\{\"execute\":\"migrate\",\"arguments\":\{\"uri\":\"tcp:0:6666\"\}\}\r" expect eof 3. Actual results: {"error": {"class": "GenericError", "desc": "SEV: Migration is not implemented"}}错误 Expected results: 迁移成功 Additional info: 1,使用龙蜥 anolis23.1 测试提供的uefi guest磁盘镜像,可以迁移。 2,使用-kernel方式启动,将ovmf_code.fd 替换成功龙蜥edk2 a23源码编译的(ovmfpkg/build.sh 编译)ovmf_code.fd可以迁移成功。
edk2 新版本已构建,待回归测试