From mboxrd@z Thu Jan 1 00:00:00 1970 Received: from eggs.gnu.org ([2001:4830:134:3::10]:37119) by lists.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1ZYx0F-0001cf-MF for qemu-devel@nongnu.org; Mon, 07 Sep 2015 10:02:39 -0400 Received: from Debian-exim by eggs.gnu.org with spam-scanned (Exim 4.71) (envelope-from ) id 1ZYx06-000605-6M for qemu-devel@nongnu.org; Mon, 07 Sep 2015 10:02:35 -0400 Received: from duck.fensystems.co.uk ([212.13.204.60]:50199) by eggs.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1ZYx06-0005zw-13 for qemu-devel@nongnu.org; Mon, 07 Sep 2015 10:02:26 -0400 Message-ID: <55ED98EA.4060101@ipxe.org> Date: Mon, 07 Sep 2015 15:02:18 +0100 From: Michael Brown MIME-Version: 1.0 References: <1441620856.27149.11.camel@redhat.com> In-Reply-To: <1441620856.27149.11.camel@redhat.com> Content-Type: text/plain; charset=utf-8; format=flowed Content-Transfer-Encoding: 7bit Subject: Re: [Qemu-devel] [ipxe-devel] EFI_PXE_BASE_CODE_PROTOCOL List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , To: Gerd Hoffmann , qemu-devel , ipxe-devel On 07/09/15 11:14, Gerd Hoffmann wrote: > ipxe just got a EFI_PXE_BASE_CODE_PROTOCOL implementation. I've updated > ipxe and commented the EFI_DOWNGRADE_UX define in the qemu config. If > you want to test this you can fetch the qemu branch with the updated > roms here: > > https://www.kraxel.org/cgit/qemu/log/?h=rebase/roms-next > > Ran a quick test. The good news are that shim.efi can now fetch files, > it happily chainloads grub.efi. The bad news are that grub.efi has > trouble loading files. It doesn't present the boot menu but greets me > with a prompt, which usually happens if grub fails to load the config > file. So things have improved, but there still is something broken ... Thank you for picking this up! My local grub.efi (built from source) does nothing with EFI_PXE_BASE_CODE_PROTOCOL except retrieve the cached DHCP packets. I confirmed that it was doing this by typing "net_ls_addr" within the GRUB shell, before instructing GRUB to attempt DHCP. With iPXE's EFI_PXE_BASE_CODE_PROTOCOL enabled, grub.efi did show the correct IP address even before attempting DHCP; without iPXE's EFI_PXE_BASE_CODE_PROTOCOL, it did not. I also verified that grub.efi was able to use the exposed EFI_SIMPLE_NETWORK_PROTOCOL NIC by typing "net_bootp" within the GRUB shell. This was able to successfully obtain a new DHCP lease. I find GRUB2 difficult to work with since it seems not to support manual creation of configuration files. Do you have a known-working grub.efi configuration (DHCP options, configuration files, etc) that you could send me so I can reproduce the problem? Thanks, Michael