Tuesday 27 January 2009

PXE Boot Server

Right, so my next task is to setup a PXE boot server for one of projects. The reason we're using PXE boot is that on the board, we've no hard drive attached and a network boot seems to be the best and fastest option for booting a number of these boards at the same time using the one PC/Server.

So, what's PXE boot? It's a Preboot Execution Environment (PXE, pronounced 'pixie') which allows the user to boot a computer over a network, usually a LAN (Local Area Network), independently of a hard drive or operating system.

-Update: I've been working on trying to get this PXE server up and going for a couple of days now, I've made progress but I'm stuck at trying to get an operating system booted on the motherboard. This is driving me mad. Firstly I was trying to get an image of Windows (any version), but now I've found I need to boot up using linux. This should be pretty easy and straight forward. However, I seem to be missing one or two key parts of the PXE boot process and the program I'm using doesn't give me all the access I need to make the necessary changes. I may have to change what program I'm using.

Here's a quick run-down. I'm using Windows Deployment Services (WDS). MSSQL is needed to install this. This can be installed in the setup menu of WDS by clickin on install third party software. This will connect to the website and download the best matching version. The WDS includes a PXE Boot configuration tool, Boot Disk Creator, Rapid Install Utility and the Deployment Services Console. Within the Console, I should be able to schedule an Initial Deployment (for first time installations) and load an OS from there. Unfortunately all my options seem to point at installing an OS on the local hard drive. I can't do this. I've got a motherboard thats connnected to our network and has a monitor on it. This is all the access I'm allowed to have and this is all I should need. I need to have the motherboard boot using PXE boot into a Linux environment across a networked installation on a remote hard drive. How hard can that be? It ain't hard, it's just awkward.

Did I mention the computer I have to work off of, is currently a licence server for another application here in the building and has to be running Windows for it to work. So goodbye to the easier option of doing it all through Linux.

Did I mention, I've chosen Suse 10.0 or 10.2 (not quite sure which on yet) as this seems to be the popular one here for the company and most people know it. I know there's a dozen other distributions and I should check them out but for keeping things simple, this is probably the best solution.

So right now, my motherboard gets an IP address from our DHCP server, boots from the PXE server, loads Bootworks, loads a DOS image and then throws me into command prompt. So far, so good. I should be able to get this to work, I'm only a step or two off. I just need to find out what I do next.

I'll give a proper rundown of how it works, when I get it to work, for the moment, this is only a log.