bugGNU GRUB - Bugs: bug #35193, Grub2 doesn't use info in boot...


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

bug #35193: Grub2 doesn't use info in boot server packets

Submitted by:  Tyson Whitehead <twhitehead>
Submitted on:  Thu Dec 29 23:15:45 2011  
Votes:  100  
Category: NetworkSeverity: Major
Priority: 5 - NormalItem Group: None
Status: NonePrivacy: Public
Assigned to: NoneOriginator Name: 
Open/Closed: OpenRelease: 
Release: otherReproducibility: Every Time
Planned Release: 2.03+

Mon Nov 4 17:47:06 2013, comment #5:

Sorry about that. Just busy.

Thanks very much for putting together a patch.

I'll give this a try as soon as I can and get back to you.

Tyson Whitehead <twhitehead>
Mon Nov 4 17:18:18 2013, comment #4:

Could you try the attached patch? I didn't manage to make DHCP offer and DHCP Ack disagree in my tests.

(file #29537)

Vladimir Serbinenko <phcoder>
Project Administrator
Thu Jan 10 00:24:17 2013, comment #3:

As you can see in Figure 2-4 in the specification (top of page 18)


the PXE client actually gets input from a variety of packets (DHCP server, DHCP proxy server, and boot server). All of these can contain various options. Section 2.4.1 specifies the precedence order between them.

The existing grub code was entirely ignores the options specified in the boot server response. This caused the examples below to fail. The patch I wrote fixed this.

Cheers! -Tyson

PS: The patch was based on the latest version of grub2 in debian experimental at the time I wrote it because the first thing I tried when it didn't work was getting the latest version. I had assumed this was relatively up-to-date.

Tyson Whitehead <twhitehead>
Wed Jan 9 21:06:03 2013, comment #2:

Even when posted this patch was for an outdated version of GRUB and its updating isn't trivial. Also I also fail to see the rationale behind this patch. There is only one response on the network. Where does this other packet come from?

Vladimir Serbinenko <phcoder>
Project Administrator
Wed Jan 9 16:42:48 2013, comment #1:

Just wondering if this has fallen down a blackhole?

Should I have pushed this patch somewhere else instead?

Thanks! -Tyson

Tyson Whitehead <twhitehead>
Thu Dec 29 23:15:45 2011, original submission:

Currently grub2 only processes the DHCP ACK package.

When PXE booting this can result in missed PXE options (as the boot server can supplement them) and grub not getting the IP address for the TFTP server that served the core image (as this information may not even be in the DHCP package).

I've put together a patch that adds parsing the boot server packet as well to make sure all the required information gets extracted. It gives precedence to DHCP PXE options (as required by the PXE spec) and boot server IP addresses/file names.

An example of a situation that doesn't work before this patch is running dnsmasq on a local 192.168.1.x network in proxy mode along side a regular DHCP server that doesn't provide booting services. The dnsmasq parameters are

pxe-service=x86PC, "GRUB", boot/grub/i386-pc/core

Another example would be a remote TFTP server setup, such as

pxe-service=x86PC, "GRUB", boot/grub/i386-pc/core,

Cheers! -Tyson

PS: This should address the wrong server issue (DHCP vs boot) in 33348 but doesn't do anything to add http support.

Tyson Whitehead <twhitehead>



Depends on the following items: None found

Items that depend on this one: None found


Carbon-Copy List
  • -unavailable- added by jarell (Voted in favor of this item)
  • -unavailable- added by phcoder (Posted a comment)
  • -unavailable- added by twhitehead (Submitted the item)

    Do you think this task is very important?
    If so, you can click here to add your encouragement to it.
    This task has 100 encouragements so far.

    Only logged-in users can vote.


    Please enter the title of George Orwell's famous dystopian book (it's a date):



    Follow 5 latest changes.

    Date Changed By Updated Field Previous Value => Replaced By
    Sun Mar 5 22:41:51 2017phcoderPlanned Release2.02=>2.03+
    Mon Feb 20 12:02:22 2017jarellCarbon-Copy-=>Added jarell
    Wed Mar 2 12:32:24 2016phcoderPlanned ReleaseNone=>2.02
    Mon Nov 4 17:18:18 2013phcoderAttached File-=>Added pxe.diff, #29537
    Thu Dec 29 23:15:45 2011twhiteheadAttached File-=>Added 0001-Include-PXE-info-from-boot-server-too-instead-of-jus.patch, #24711

    Back to the top

    Powered by Savane 3.1-cleanup1