Find the answer to your Linux question:
Results 1 to 4 of 4
So here's a situation that I'm hoping to work around. GOAL: * I would like to allow a PC(s) in my network to boot via PXE off my server. * ...
Enjoy an ad free experience by logging in. Not a member yet? Register.
  1. #1
    Just Joined!
    Join Date
    Jan 2005

    Network Boot (PXE) w/ Home Router

    So here's a situation that I'm hoping to work around.

    * I would like to allow a PC(s) in my network to boot via PXE off my server.
    * This should not impede the existing DHCP configuration of my home router because if the server is away (i.e. at a LAN party), the rest of the network should continue to function.

    * 1x D-Link Gamer Router DGL-4300 <-- a nice router
    * 1x server
    * 1x multimedia PC
    * 5x desktop PCs
    * 2x notebooks

    All of my media files reside on the server (file server), so there is no need for the media PC to have a hard drive (currently booting off USB key). I would like to have the media center boot via PXE to an installation hosted by the server.

    From everything I've read so far about PXE and network booting, one of the key steps is to DISABLE the router's DHCP. This is not desired, because as I mentioned in my "goal", I do not want the entire network to rely on the server for DHCP for two reasons:
    1. The server is not always in the network and can be on occasion away at a LAN
    2. The router is a good quality router, and I would prefer to keep DHCP/gateway/etc. on the same device.

    Is it possible to boot via PXE without disabling my router's DHCP server?

  2. #2
    Trusted Penguin Irithori's Avatar
    Join Date
    May 2009
    Only if your router
    a) has a dhcp server with PXE extension
    b) offers a freely configurable dhcp server (ie: "filename" and "next-server" are needed in the dhcpd conf for PXE). This might not be possible via the router's webinterface and change via commandline possibly conflicts with the webinterface.
    c) also has a TFTP server. This is used to host the bootimages for the clients.

    I would be surprised if this router meets all these criteria, so in your case, you will proably need a second server.
    Do you have an old pentium 3 lying around?

    Or perhaps its easier to do the PXE on your server
    and simply turn your router's dhcp off and on every time you go to a LAN party.
    Last edited by Irithori; 11-28-2009 at 12:36 PM.

  3. #3
    Just Joined!
    Join Date
    Jan 2005

    Thumbs down

    Thanks for the reply. It's too bad, because I'm certain the router doesn't meet all 3 criteria.

    It's silly for me to have ANOTHER computer running just to be a DHCP / PXE boot server. (waste of energy).

    Well, I guess I'm sticking to good old fashioned hard drives then.

  4. $spacer_open
  5. #4
    Just Joined!
    Join Date
    Nov 2009
    Quote Originally Posted by Fermulator View Post
    Well, I guess I'm sticking to good old fashioned hard drives then.
    There is a way to PXE boot without a local configurable DHCP server but you need a bit of technical know-how and you still have to boot off a CD. The CD will (or should be, anyway) be generic enough to use with any PC/workstation/server. The CD image is small though - like 5MB - and boots very quickly.

    Here are the instructions I wrote up for someone else to do this:

    gPXE build process:

    1. Download gPXE source files (I can't post URLs but it's not hard to find).
    2. Untar gpxe source; e.g., tar xzf gpxe-0.9.7.tar.gz
    3. Go to gpxe source folder; cd gpxe/src
    4. Create a boot script for the gPXE kernel to use when booting off ISO; this is the key piece that tells the gPXE kernel where to find its initial boot file – which can be any text/PHP/web-generated file accessible either locally or via a URL - and precludes the need for a local “next server” (TFTP boot server) specification in a configurable DHCP server. In the source example attached this script file is called boot.script.

    --- boot.script contents –
    dhcp net0
    set 210:string (imagine a URL to a boot folder here)
    kernel (imagine a URL to a PHP file here)
    --- boot.script contents –

    The "kernel" line in this example points to a web hosted-PHP file that simply regurgitates some text that gPXE's scripting language understands. The kernel line could point to a remotely accessible (http, tftp, ftp etc) kernel and you could potentially add an "initrd" option to remotely load an initrd filesystem. The gPXE boot script reference is on the gPXE wiki (sorry can't post any URLs).

    5. Make the gPXE ISO kernel image:

    make bin/gpxe.iso bin/gpxe.lkrn EMBEDDED_IMAGE=boot.script

    Then you just burn the gpxe.iso file to CD and boot off of it.

    Short of this you should look at getting a wireless router that can support custom firmware (e.g., Linksys WRT54G). DD-WRT, Tomato, etc. can support customizable/configurable DHCP options for PXE booting. For $50 or less (look on Craigslist) you can get this custom firmware capability.

Posting Permissions

  • You may not post new threads
  • You may not post replies
  • You may not post attachments
  • You may not edit your posts