Bug 7891 - [Anolis23.1][RC1]龙蜥23.1 rc1 系统中edk2-ovmf-202302-4.an23.noarch 按装包中的OVMF_CODE.fd不支持CSV2/CSV3 qemu -kernel 启动guest 迁移功能
Summary: [Anolis23.1][RC1]龙蜥23.1 rc1 系统中edk2-ovmf-202302-4.an23.noarch 按装包中的OVMF_CODE....
Status: RESOLVED FIXED
Alias: None
Product: Anolis OS 23
Classification: Anolis OS
Component: ---> ToBeTriaged (show other bugs) ---> ToBeTriaged
Version: 23.1
Hardware: All Linux
: P3-Medium S3-normal
Target Milestone: ---
Assignee: happy_orange
QA Contact:
URL:
Whiteboard:
Keywords:
Depends on:
Blocks:
 
Reported: 2024-01-12 09:59 UTC by lilu00
Modified: 2024-03-29 09:51 UTC (History)
3 users (show)

See Also:


Attachments

Note You need to log in before you can comment on or make changes to this bug.
Description lilu00 hygon_group 2024-01-12 09:59:07 UTC
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可以迁移成功。
Comment 1 gaochang alibaba_cloud_group 2024-01-20 14:36:58 UTC
edk2 新版本已构建,待回归测试