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 29 Dec 2011 11:15:45 PM UTC  
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 04 Nov 2013 05:47:06 PM UTC, 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 04 Nov 2013 05:18:18 PM UTC, 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 10 Jan 2013 12:24:17 AM UTC, 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 09 Jan 2013 09:06:03 PM UTC, 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 09 Jan 2013 04:42:48 PM UTC, 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 29 Dec 2011 11:15:45 PM UTC, 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>


Attached Files
file #29537:  pxe.diff added by phcoder (7KiB - text/x-diff)


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 05 Mar 2017 10:41:51 PM UTCphcoderPlanned Release2.02=>2.03+
    Mon 20 Feb 2017 12:02:22 PM UTCjarellCarbon-Copy-=>Added jarell
    Wed 02 Mar 2016 12:32:24 PM UTCphcoderPlanned ReleaseNone=>2.02
    Mon 04 Nov 2013 05:18:18 PM UTCphcoderAttached File-=>Added pxe.diff, #29537
    Thu 29 Dec 2011 11:15:45 PM UTCtwhiteheadAttached 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