[HOWTO] PXE-Boot various systems

  • PXE-Boot various systems


    PXE-Boot
    If you're looking to perform a lot of system recovery, or system installation, then network booting with PXE is ideal. PXE allows you to boot up a system and have it automatically get an IP address via DHCP and start booting a kernel over the network.


    PXE itself stands for "Pre-boot eXecution Environment", which describes how it works in the sense that the clients using it haven't booted in a traditional manner.
    source: http://www.debian-administrati…r_for_PXE_network_booting


    I have this systems setup for PXE-Boot, which are working flawless:

    • Ubuntu Live-CDs 32 and 64bit
    • Kubuntu Live-CDs 32 and 64bit
    • Linux Mint XY Cinnamon and KDE
    • OpenELEC with /home on NFS
    • ReDo 1.04
    • Clonezilla with NFS-Share automounted (for Data-Recovery)
    • PartedMagic ISO (is $4.99 lately)
    • Desinfec't - AntivirusDVD from c't (german computer magazine)
    • WinPE 3.0 ISO


    1. Configure your DHCP-Server for PXE-Booting
    http://www.debian-administration.org/articles/478 (eng)
    http://wiki.ubuntuusers.de/PXE-Boot (ger)


    2. Create a Share in OMV for TFTP and setup TFTP with it:



    3. Create a Share in OMV for NFS


    I have different NFS-Shares for this
    a) for Images from Clonezilla (for Backup)
    b) for OpenELEC-home. My OpenElec-Machine doesn't need a USB- or Harddrive with this. Thx to marcelbeck for the hint
    c) a readonly NFS-Share for the PXE-Files extracted from the ISOs


    4. Create a graphical Menu for PXE-Boot
    http://www.gtkdb.de/index_7_1342.html
    I've setup my pxelinux to show a Main-menu and some submenus. So it's easier to read and to edit. Partedmagic is booted from ISO, because i can switch to a new iso very fast. DL, copy, rename, done ;)


    Here are some of my menus:
    /pxelinux.cfg/default


    submenus:
    /pxelinux.cfg/menu-amd64


    /pxelinux.cfg/menu-partedmagic


    /pxelinux.cfg/menu-dban (abstract) with a "fake-menu"


    5. Setup all OSes you want for PXE-Booting
    you find many here and search for "PXE"
    Look here for OpenELEC with home on NFS

  • That is something I would love to have setup. Thanks for the info :)

    omv 5.6.5 usul | 64 bit | 5.11 proxmox kernel | omvextrasorg 5.6.1
    omv-extras.org plugins source code and issue tracker - github


    Please read this before posting a question.
    Please don't PM for support... Too many PMs!

  • Quote from "Spy Alelo"

    b) for OpenELEC-home. My OpenElec-Machine doesn't need a USB- or Harddrive with this. Thx to marcelbeck for the hint


    Gday Solo0815 (not surer why it quoted as Spy Alelo? ),


    Could you explain this further, do you mean that you do not have Openelec physically installed on a client machine?

  • So I just saw the link at the bottom of your post, from what I can gather you are running OpenElec as a VDI type environment? How well does that run?

  • I was thinking to get this set up running on my Raspberry Pi, although unfortunately it doesn't support PXE boot :(


    I'll run it up in VM to check it out

  • Quote from "crimsonblaed"

    Gday Solo0815 (not surer why it quoted as Spy Alelo? ),


    Could you explain this further, do you mean that you do not have Openelec physically installed on a client machine?


    Thats right, i can boot it from every machine without installing it on it. XBMC (OpenELEC) creates a userdata-folder for every MAC-adress. If i want to have the same settings, i can just copy the settings from one folder to another. With a MySQL-Server running in OMV, XBMC has even the same Database.

  • Thanks for posting this as I have been wanting to set something like this up


    I have been trying to set it up but getting nowhere fast lol


    As my router supports dnsmasq I decided to keep my router doing DHCP stuff and just add this line to /etc/dnsmasq.conf (on the router)


    Code
    dhcp-boot=pxelinux.0,HOMESERVER,192.168.123.31


    I have got a lot further since I started this post and I can boot a remote machine and it sees the routers DHCP and then loads the TFTP file but fails finding the kernel for openelec :(


    Code
    DEFAULT OpenElec.tv
    PROMPT 0
    LABEL OpenElec.tv
    KERNEL openelec/KERNEL
    APPEND ip=dhcp boot=NFS=192.168.123.31:/export/NFS/openelec disk=NFS=192.168.123.31:/export/NFS/openelec/storage overlay


    I believe the problem is with the above file but as I have never used NFS before I am not sure on the correct mount points, also what do I need to add to the NFS section to allow all lan clients to be able to access PXE images?


    Thanks for looking


    Miller

    [align=center]
    What I am watching/watched on my Popcorn Hour media player
    omv 2.1.1 stoneburner | 64 bit | omvextrasorg 1.29
    MySQL (Percona[size=8]) | Newznab | Sonarr | CP | HP | NZBget | YAMJ | CUPS

  • Got a little further, I had to put the KERNEL in the TFTP folder, this allowed openelec to boot but it stopped on mkdir for the mac folder in storage. I created this folder myself and now it boots fine and files are stored in the mac folder.


    I want to look at getting other images to boot but don't want to run into the same permissions problem again so if you can offer some advice please do ;)

    [align=center]
    What I am watching/watched on my Popcorn Hour media player
    omv 2.1.1 stoneburner | 64 bit | omvextrasorg 1.29
    MySQL (Percona[size=8]) | Newznab | Sonarr | CP | HP | NZBget | YAMJ | CUPS

  • Another update


    I have managed to setup clonezilla, gparted and openelec. Unlike the OP I have 1 share for TFTP and 1 share for all PXE images but these are set into sub folders inside the NFS share.
    I fixed the permissions issue I had by doing chown nobody:nogroup on all subfolders.


    Now when I lan boot I get a menu of available systems I can boot into, I just have to type the name and off it boots :)


    Thanks to Solo0815 for the guide and also if you think of any issues with my current setup please let me know.


    Thanks
    Miller

    [align=center]
    What I am watching/watched on my Popcorn Hour media player
    omv 2.1.1 stoneburner | 64 bit | omvextrasorg 1.29
    MySQL (Percona[size=8]) | Newznab | Sonarr | CP | HP | NZBget | YAMJ | CUPS

  • Do you know if you can use dnsmasq on a router running Tomato? I would love to keep dhcp running on Tomato and have it tell the client to look at my omv box for the pxe images.

    omv 5.6.5 usul | 64 bit | 5.11 proxmox kernel | omvextrasorg 5.6.1
    omv-extras.org plugins source code and issue tracker - github


    Please read this before posting a question.
    Please don't PM for support... Too many PMs!

  • I don't know, if it's working on tomato, but I'm using a setup with dnsmasq on my FritzBox with freetz:



    The router (FritzBox) is running dnsmasq. The Client gets the IP via dhcp and tells the client, where to get the boot-images -> 192.168.178.21 here, my OMV-Box.

  • Thanks! That helped me find this article about tomato. Basically, I just add the following line to the dhcp/dns custom configuration:


    dhcp-boot=pxelinux.0,,192.168.1.12


    Then, I just followed the rest of your guide :)

    omv 5.6.5 usul | 64 bit | 5.11 proxmox kernel | omvextrasorg 5.6.1
    omv-extras.org plugins source code and issue tracker - github


    Please read this before posting a question.
    Please don't PM for support... Too many PMs!

  • Hello!


    I try to PXE boot openmediavault and have problems with the boot menu. It finds the boot files but the installation files are missing. I can choose instalation language but have problems with cd rom. My menu file looks as below.


    Code
    MENU LABEL Openmediavault 0.5.0.24 (32-bit)
    KERNEL Openmediavault/0.5.0.24/i386/vmlinuz
    APPEND initrd=Openmediavault/0.5.0.24/i386/initrd.gz vga=normal netboot=nfs nfsroot=10.0.15.54:/export/os/Openmediavault/0.5.0.24/i386/install/preseed.cfg


    Anyone know what proplemet is?


    /Rob

  • Hey guys,


    So I've messed around with this TFTP server, and tho I've done it many times on windows machines - this is making me wanna pull out whats left of my grey hair.


    I've tried following the OP examples, but I think I'm missing some shares etc.


    This is what I've accomplished already:


    - Router forwarding command: dhcp-boot=pxelinux.0,NAS.local,192.168.1.10
    - Made a TFTP share in OMV
    - Made the pxelinux.cfg folder in the TFTP share root
    - In that folder, I've got the default file - with the example from OP
    - Copied OpenElec latest, and adapted the default file.


    Now when I try to boot a new machine on VMWare enviroment, it can find the server, but crashes instantly.. (maybe a kernel error)


    Could someone help me by remotedesktop session, or point me to a complete tut for this??
    I use Teamviewer for remotedesktop btw :)


    Hope there's a kind soul out there :)

  • Did you setup nfs? Post your pxelinux.cfg/default file?


    Kids won't leave me alone long enough to do teamviewer right now.

    omv 5.6.5 usul | 64 bit | 5.11 proxmox kernel | omvextrasorg 5.6.1
    omv-extras.org plugins source code and issue tracker - github


    Please read this before posting a question.
    Please don't PM for support... Too many PMs!

  • Do you have the right OpenElec for your machine?
    The "Generic" builds should be the right ones to start., maybe you can try the "Generic OSS" with more drivers

  • Sorry guys for not responding :(


    I never got a mail responding from this post, so after a while, I abandoned the project...


    But thx to those who was willilng to help :ugeek:

Participate now!

Don’t have an account yet? Register yourself now and be a part of our community!