From mboxrd@z Thu Jan 1 00:00:00 1970 Subject: Initial PXE boot over IPv6 To: devel@edk2.groups.io From: per_sundstrom@yahoo.com X-Originating-Location: Stockholm, SE (78.69.119.67) X-Originating-Platform: Windows IE 18.17763 User-Agent: GROUPS.IO Web Poster MIME-Version: 1.0 Date: Fri, 27 Mar 2020 08:51:26 -0700 Message-ID: Content-Type: multipart/alternative; boundary="RV7VICFX5PxwTI6ooO7o" --RV7VICFX5PxwTI6ooO7o Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: quoted-printable Hi, I want to exclusively use PXE/IPv6 when deploying a set of physical machin= es with some QEMU/KVM virtual machines on top. So far, the only [hacky] way I have managed to do this is to: 1) Bring up a VM with OVMF 2) Set the wanted boot-order with PXE over IPv6 at the top 3) Save this to the NVRAM 4) Repete the above for a set of VMs with different MAC addresse 5) Keep these NVRAMs as "canned" templates (with associated fixed MACs) 4) Later use one of these NVRAM as a template for VMs with the associated = MAC Obviously this does not scale to hundreds of VMs Reading through the code is seems that it might be possible to disable PXE= over IPv4 with the PCD variable "IPv4PXESupport" =3D . I have tried with where the file is a one byte binary zero and I have verified that it shows= up in /sys/firmware/qemu_fw_cfg. linux-u7u9:/sys/firmware/qemu_fw_cfg/by_name # ls opt/ovmf/X-PcdIPv4PXESup= port/ key=C2=A0 name=C2=A0 raw=C2=A0size linux-u7u9:/sys/firmware/qemu_fw_cfg/by_name # cat opt/ovmf/X-PcdIPv4PXESu= pport/size 1 linux-u7u9:/sys/firmware/qemu_fw_cfg/by_name # od -b opt/ovmf/X-PcdIPv4PXE= Support/raw 0000000 000 Is this something that should work, or is this variable compiled in ? Are there other ways of acomplishing what I try to do ? Thanks, /Per --RV7VICFX5PxwTI6ooO7o Content-Type: text/html; charset="utf-8" Content-Transfer-Encoding: quoted-printable Hi,
I want to exclusively use PXE/IPv6 when deploying a set of physica= l machines with some QEMU/KVM virtual machines on top.

So far, t= he only [hacky] way I have managed to do this is to:
1) Bring up a VM = with OVMF
2) Set the wanted boot-order with PXE over IPv6 at the top3) Save this to the NVRAM
4) Repete the above for a set of VMs wit= h different MAC addresse
5) Keep these NVRAMs as "canned" templates (w= ith associated fixed MACs)
4) Later use one of these NVRAM as a templa= te for VMs with the associated MAC 

Obviously this does not= scale to hundreds of VMs

Reading through the code is seems that= it might be possible to disable PXE over IPv4 with
the PCD variable "= IPv4PXESupport" =3D <one byte binary zero>.

I have tried w= ith
    <qemu:arg value=3D'-fw_cfg'/>
 =    <qemu:arg value=3D'opt/ovmf/X-PcdIPv4PXESupport,file=3D/var= /lib/libvirt/qemu/nvram/zero'/>

where the file is a one byte = binary zero and I have verified that it shows up in /sys/firmware/qemu_fw_c= fg.

linux-u7u9:/sys/firmware/qem= u_fw_cfg/by_name # ls opt/ovmf/X-PcdIPv4PXESupport/
key  name  raw size
linux-u7u9:/sys/firmware/qemu_fw_cfg/by_name # ca= t opt/ovmf/X-PcdIPv4PXESupport/size
1
linux-u7u9:/sys/firmwar= e/qemu_fw_cfg/by_name # od -b opt/ovmf/X-PcdIPv4PXESupport/raw
0000000 000

Is this some= thing that should work, or is this variable compiled in ?
Are there ot= her ways of acomplishing what I try to do ?

Thanks,

&= nbsp;  /Per --RV7VICFX5PxwTI6ooO7o--