From mboxrd@z Thu Jan 1 00:00:00 1970 Received: from eggs.gnu.org ([2001:4830:134:3::10]:54441) by lists.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1ZYxsC-0001xT-It for qemu-devel@nongnu.org; Mon, 07 Sep 2015 10:58:21 -0400 Received: from Debian-exim by eggs.gnu.org with spam-scanned (Exim 4.71) (envelope-from ) id 1ZYxs9-0006oq-BZ for qemu-devel@nongnu.org; Mon, 07 Sep 2015 10:58:20 -0400 Received: from mx1.redhat.com ([209.132.183.28]:35661) by eggs.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1ZYxs9-0006og-6o for qemu-devel@nongnu.org; Mon, 07 Sep 2015 10:58:17 -0400 Message-ID: <1441637892.27149.34.camel@redhat.com> From: Gerd Hoffmann Date: Mon, 07 Sep 2015 16:58:12 +0200 In-Reply-To: <55ED98EA.4060101@ipxe.org> References: <1441620856.27149.11.camel@redhat.com> <55ED98EA.4060101@ipxe.org> Content-Type: text/plain; charset="UTF-8" Mime-Version: 1.0 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: Michael Brown Cc: ipxe-devel , qemu-devel Hi, > 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? You can get away with a pretty simple config file even though the ones generated by grub2-mkconfig are horrible. I have this one: ======================== cut here ========================== set timeout=5 menuentry 'RHEL-7.1-20150219.1 Workstation' --class os { echo 'loading rhel/RHEL-7.1-20150219.1-Workstation/vmlinuz ...' linuxefi rhel/RHEL-7.1-20150219.1-Workstation/vmlinuz inst.repo=http://spunk.home.kraxel.org/mirror/rhel/7/RHEL-7.1-20150219.1/compose/Workstation/x86_64/os/ echo 'loading rhel/RHEL-7.1-20150219.1-Workstation/initrd.img ...' initrdefi rhel/RHEL-7.1-20150219.1-Workstation/initrd.img echo 'booting ...' } menuentry 'RHEL-7.1-20150219.1 Workstation (trying http)' --class os { echo 'loading http://spunk.home.kraxel.org/mirror/rhel/7/RHEL-7.1-20150219.1/compose/Workstation/x86_64/os//images/pxeboot/vmlinuz ...' linuxefi http://spunk.home.kraxel.org/mirror/rhel/7/RHEL-7.1-20150219.1/compose/Workstation/x86_64/os//images/pxeboot/vmlinuz inst.repo=http://spunk.home.kraxel.org/mirror/rhel/7/RHEL-7.1-20150219.1/compose/Workstation/x86_64/os/ echo 'loading http://spunk.home.kraxel.org/mirror/rhel/7/RHEL-7.1-20150219.1/compose/Workstation/x86_64/os//images/pxeboot/initrd.img ...' initrdefi http://spunk.home.kraxel.org/mirror/rhel/7/RHEL-7.1-20150219.1/compose/Workstation/x86_64/os//images/pxeboot/initrd.img echo 'booting ...' } ======================== cut here ========================== This is generated by a script which does also copy the kernels to the tftproot, there are more simliar entries for more RHEL versions but this should be enough to get the idea ... First entry actually works. Second does not, but I'm hoping some day it does. Probably depends on how grub actually tries to fetches the files, i.e. whenever the full http url is passed on to ipxe somehow so it can do its magic. The file is simply placed as "grub.cfg" in tftproot, next to grubx64.efi cheers, Gerd