|
From: | Omni Flux |
Subject: | Re: [RFT] PXE chainloader |
Date: | Sun, 05 Sep 2010 19:25:35 -0600 |
User-agent: | Mozilla/5.0 (Windows; U; Windows NT 6.1; en-US; rv:1.9.2.8) Gecko/20100802 Lightning/1.0b2 Thunderbird/3.1.2 |
On 2010-09-05 17:31, Vladimir 'φ-coder/phcoder' Serbinenko wrote:
On 09/06/2010 01:08 AM, Omni Flux wrote:The output of two tests follow. It works, to an extent. Is PXE being left in a state where the next bootloader can call it's initialization routines again?Attached patch may help. I noticed that last file may still remain opened.
With this fix grub PXE can chain load itself recursively and load pxelinux successfully.
Unfortunately pxelinux then tries to find its configuration file in the wrong location because it takes the path from the boot file in the DHCP packet saved by PXE, which it expects to be pointing to itself but is actually pointing to grub itself.
I am not sure this is something we can reasonably fix, but it can be worked around by putting the pxelinux.cfg configuration in the same location as grub PXE.
Unfortunately, this means we cannot just download arbitrary distro installers, drop them in the tftp directory and point grub to their bootloaders.
Ideally, but probably not reasonable and/or possible would be if we could mangle the DHCP packets before chainloading so we could change the boot loader string and even add custom vendor options (either of which would allow specifying a different pxelinux.cfg location per menu item.)
I do not have any other PXE images to try, so I do not know if this issue affects any boot loaders besides pxelinux.
-- Omni Flux
[Prev in Thread] | Current Thread | [Next in Thread] |