bugGNU GRUB - Bugs: bug #33348, PXE support doesn't play well/at...


You are not allowed to post comments on this tracker with your current authentication level.

bug #33348: PXE support doesn't play well/at all with gPXE http support.

Submitter:  Roc Vallès <rvalles>
Submitted:  Thu 19 May 2011 07:22:48 AM UTC
Category:  Network Severity:  Major
Priority:  3 - Low Item Group:  Feature Request
Status:  None Privacy:  Public
Assigned to:  None Originator Name: 
Open/Closed:  Open Release:  Bazaar - trunk
Release:  Reproducibility:  Every Time
Planned Release:  2.03+

Thu 19 May 2011 11:34:46 AM UTC, comment #2: 

It seems doc/pxe_extensions on gpxe truck documents the gPXE extensions.

PXENV_FILE_OPEN seems to be used to open URLs and benefit from gPXE's support for file transfer protocols other than TFTP.

Option 208-211 apparently hold the url that was used to load the nbp and other stuff, which syslinux's pxelinux uses.

Roc Vallès <rvalles>
Thu 19 May 2011 10:21:04 AM UTC, comment #1: 

Done some discussion on this on irc.

phcoder | rvalles: gPXE detects multiboot header in GRUB and unloads PXE.                                           
phcoder | perhaps we need to destroy it in grub-mkimage -O i386-pc-pxe

This covers the first case. We're stuck until that's fixed.

When it is, we'll have to look into how gPXE provides HTTP to PXE users.

Roc Vallès <rvalles>
Thu 19 May 2011 07:22:48 AM UTC, original submission:  

I have a setup of netboot with gPXE and pxelinux (from syslinux), which is like this:
- DHCP server runs on the gateway, points clients to an http NBP in a server computer which is pxelinux. (dhcp-boot=net:gPXE-booted,http://server/netboot/pxelinux.0)
- pxelinux somehow asks pxe to load its files from the same url base, displays pretty menus, loads and boots kernels and stuff.

Since grub2 is getting quite mature and has pxe support, I built current bzr (3315) with gcc-4.5.2 and did the following:
./grub-mkimage --format=i386-pc-pxe --output=grub.pxe --prefix='(pxe)/grub' -d grub-core/ pxe pxecmd
cp -v grub-core/*.lst grub-core/*.mod /var/www/server/netboot/grub
cp grub.pxe /var/www/server/netboot/

And I then I tried to load grub2 both directly from gPXE and chained from pxelinux. I'm both cases I'm thrown into rescue mode.

When using gPXE directly, there's no (pxe), grub pxe commands don't work, as if they weren't there at all, and "set" doesn't display anything pxe related, just prefix and root. My understanding is that for some reason here grub can't interact at all with the gPXE that loaded it.

After using pxelinux to load grub2, pxe commands seem to be there and work to a degree. However, the pxe setup is entirely wrong: The router (rather than the server) has somehow become the pxe_default_server and grub/gpxe are attempting to get their files from it via TFTP rather than the HTTP setup. My understanding is that for some reason here grub didn't limit itself to using the TFTP apis PXE provides but instead it tried to do its own setup, breaking gpxe's HTTP support.

Roc Vallès <rvalles>


(Note: upload size limit is set to 16384 kB, after insertion of the required escape characters.)

No files currently attached


Depends on the following items: None found

Items that depend on this one: None found


Carbon-Copy List
  • -email is unavailable- added by phcoder (Updated the item)
  • -email is unavailable- added by rvalles (Submitted the item)

    There are 0 votes so far. Votes easily highlight which items people would like to see resolved in priority, independently of the priority of the item set by tracker managers.


    Follow 3 latest changes.

    Date Changed by Updated Field Previous Value => Replaced by
    2016-03-02 phcoder Planned ReleaseNone 2.03+
    2012-06-03 phcoder Priority5 - Normal 3 - Low
        Item GroupSoftware Error Feature Request

    Back to the top

    Powered by Savane 3.13-3cd0.
    Corresponding source code