Giter Site home page Giter Site logo

Comments (9)

danderson avatar danderson commented on August 19, 2024

Does the network have another DHCP server offering network configuration? In a packet capture, you should see both a normal DHCPOFFER with network configuration, and a ProxyDHCP response from Pixiecore with boot information. Is that what you see?

PXE and ProxyDHCP over UEFI are not specified anywhere that I can find, so I'm going on the assumption that it behaves similarly to PXE in BIOS environments. So far, this is proving to be untrue for some servers firmwares :(.

Unfortunately, at this point, the only way for me to debug this is if I can get access to an HP DL380 G9 with ILO, on a lab network, so I can experimentally probe the firmware to see what it likes/doesn't like. Would you happen to have a lab environment that you could let me borrow? Sadly this project is not an official Google project, so I don't have $$ to get my own G9, and it's quite expensive for a single throwaway use :).

from netboot.

wrouesnel avatar wrouesnel commented on August 19, 2024

Heh - no specific expectations! Just was hoping someone might've seen this before and if not that I can figure it out and contribute back.

from netboot.

wrouesnel avatar wrouesnel commented on August 19, 2024

So the short answer seems to be: these machines ignore proxyDHCP offers entirely. I tried manually coding a next-server config pointing t the iPXE endpoints of pixiecore, and suddenly they started pulling down their boot images.

So it looks like a fix here basically depends on pixiecore gaining DHCP server capability (or someone finding out some magic DHCP option to make them accept a proxyDHCP config).

EDIT: I suppose another option would be to serve a very generic bootloader back on some filename which gets iPXE up enough to load the specific script.

from netboot.

wrouesnel avatar wrouesnel commented on August 19, 2024

For for completeness, a workaround - if you control your DHCP server - I just had success using this dnsmasq.conf file to boot via pixiecore by sending an otherwise fake MAC address:

bind-interfaces

interface=tap0

dhcp-range=tap0,22.0.0.10,22.0.1.254,255.255.254.0,infinite

dhcp-match=set:ipxe,175 # iPXE sends a 175 option.
dhcp-match=set:efi-x86_64,option:client-arch,7

dhcp-boot=tag:efi-x86_64,tag:!ipxe,aa:aa:aa:aa:aa:aa/7,22.0.0.1,22.0.0.1

log-dhcp
log-queries

I do not know what to do about this insanity, but that finally resolves the mystery.

from netboot.

dholt avatar dholt commented on August 19, 2024

I'm running into this same issue with UEFI clients. I've tried setting options 66/67 in my isc-dhcp-server config (which I think is what's happening in @wrouesnel's dnsmasq example) but still no luck. Not sure if any other workarounds or updates have come up since September?

from netboot.

danderson avatar danderson commented on August 19, 2024

No changes on my end, the status is still: to debug this further, I would need access to one of these machines so that I can quickly iterate on a bunch of hypotheses. Failing that, all I can say is:

  • Can you switch the machine to boot in legacy BIOS mode? Booting may succeed through that route, given that it's different and probably less actively touched firmware.
  • If you have a support channel with HP, you could try escalating that their PXE implementation seems non-compliant (but without more diagnostic data, they might just ignore you), and request a fix.
  • Maybe I just have to document that Pixiecore is not compatible with these machines. :(

I know it's an unsatisfying answer, and I wish I had something better to offer... But I can't justify spending $2k of my own money, on a server I don't need, to diagnose someone else's buggy firmware. So the only option I have left is to hope that someone will eventually be willing to loan me access to one of these boxes, and that I'm able to find a useful workaround.

from netboot.

dholt avatar dholt commented on August 19, 2024

Thanks Dave- unfortunately I'm stuck with UEFI due to install media. I'm running into this on brand-new Supermicro and Quanta systems so it's not isolated to HP. I can give you access to a few different machines like this, hit me up if you're interested - dholt at nvidia.com

from netboot.

danderson avatar danderson commented on August 19, 2024

Thanks, I'll get in touch. I'm particularly intrigued by the Supermicro systems, because I know for a fact that a friend is booting brand new Supermicros with Pixiecore just fine... So I'm wondering what's going on.

from netboot.

Shados avatar Shados commented on August 19, 2024

I picked up a refurbished HP T630 on the cheap, and ran into this same behaviour there: I can PXE boot using pixiecore just fine via legacy boot, but UEFI PXE booting instead appears to go through the initial request/response OK, doesn't continue, sends another request, then gives up.

This is rather unfortunate as I'd intended to use this as a testbed for some secure boot + PXE stuff. I am also using dnmasq (on a separate server to the one running pixiecore), but had no luck with @wrouesnel's workaround.

I might resort to signing an iPXE EFI binary, putting that on a USB stick, plugging that into the T630's internal USB port, and booting from that. Would at least let me avoid trying to figure out if I can burn iPXE onto the NIC...

from netboot.

Related Issues (20)

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.