PXE Boot to install Windows

Relli

Weaksauce
Joined
Jan 16, 2001
Messages
98
I set up an unattended WindowsXP installation CD that has SP's and updated all integrated. It also installs Office and other basic every-computer apps. It works perfect. Now what I would like to do is put that CD on a server and have clients boot via PXE and run the installer.

So far, I have a RHEL machine running dhcpd and tftp-hpa. The server is an oscar primary node, which was set up to install the os on the clients (and it worked). Now I'm trying to adjust that configuration to install Windows.

Here is the dhcp.conf file oscar set up:
Code:
deny unknown-clients;
option subnet-mask 255.255.255.0;
option broadcast-address 192.168.0.255;
option domain-name "";
option routers 192.168.0.1;
ddns-update-style none; # For dhpcd version 3

#set up eth1
subnet 192.168.0.0 netmask 255.255.255.0 {
        group {
                host oscarnode1{
                        hardware ethernet 00:04:76:17:DD:A2;
                        fixed-address 192.168.0.100;
                        filename "pxelinux.0";
                        option routers 192.168.0.1;
                        option domain-name "oscardomain";
                }
                host oscarnode2{
                        hardware ethernet 00:04:76:17:BC:4D;
                        fixed-address 192.168.0.101;
                        filename "pxelinux.0";
                        option routers 192.168.0.1;
                        option domain-name "oscardomain";
                }
                host oscarnode3{
                        hardware ethernet 00:04:75:85:04:BB;
                        fixed-address 192.168.0.102;
                        filename "pxelinux.0";
                        option routers 192.168.0.1;
                        option domain-name "oscardomain";
                }
        }
}

# This entry ignores requests on eth0...
subnet 161.130.224.0 netmask 255.255.224.0 {
        not authoritative;
}

I want all requests made to eth1 (192.168.0.1) to be allowed, so I edited the file to the following:
Code:
allow booting;
allow bootp;

ddns-update-style ad-hoc; #Get an error without this, not sure what it does

option domain-name "winsetup.com";
option subnet-mask 255.255.255.0;
option broadcast-address 192.168.0.255;
option domain-name-servers 192.168.0.1;
option routers 192.168.0.1;

group {
  next-server 192.168.0.1;
  filename "/tftpboot/pxelinux.0";

  subnet 192.168.0.0 netmask 255.255.255.0 {
    range 192.168.0.100 192.168.0.200;
  }
}

# This entry ignores requests on eth0...
subnet 161.130.224.0 netmask 255.255.224.0 {
        not authoritative;
}

That should be okay, right? My clients are getting an IP, so I think that is working.

In the /tftpboot/pxelinux.cfg directory, the config file used is just "default". oscar created this config file:
Code:
DEFAULT systemimager

LABEL systemimager
DISPLAY message.txt
PROMPT 1
TIMEOUT 50
KERNEL kernel
APPEND vga=extended initrd=initrd.img root=/dev/ram

I changed the file to this:
Code:
DEFAULT winboot

LABEL systemimager
  DISPLAY message.txt
  PROMPT 1
  TIMEOUT 70
  KERNEL kernel
  APPEND vga=extended initrd=initrd.img root=/dev/ram

LABEL winboot
  DISPLAY winboot-msg.txt
  PROMPT 1
  TIMEOUT 70
  KERNEL
  APPEND

I'm not sure what to put in the KERNEL and APPEND parts of the winboot section. Either way, my clients get an ip from dhcp but tftp times out. Shouldn't tftp work like this, just give an error?
 
sorry to post fluff, but I have to say this is the most work I've ever seen done to get around using Microsoft's solution.

Windows Server (2000 and 2003) have a service called Remote Installation Services that does this flawlessly and easily.

I'm guessing, though, that you'd (for some reason, likely cost) not prefer to run Windows Server to manage your deployment. Having said that, I'd be curious to know what your riprep.sif file looks like, specifically the line
OriSrc =

Best guess is that you aren't having as much trouble with your TFTP server as you are the sysprep'd image you're working with.
 
Actually I have a Win2003 server. The problem is this is a large enterprise environment. I do admin for a small department in a hospital. I have a DC admin account, but not one with enough privledge to change anything in the dhcp server. That is the problem I ran into with RIS. I guess I could build another 2003 server and promote it to DC on its own network and use RIS that way. I'm pretty sure RIS requires access to an AD dhcp server. The head node for the oscar cluster was just sitting around. I didn't build it specifically for this. I just knew it had tftp, dhcpd, and an os on it already, so I thought it would be a little easier to start with that.

My idea was to use pxelinux to chainload the windows installer on the CD. Not literally on the CD, but a copy of the CD or an iso of the CD. I didn't use RIPrep because I don't have RIS. I wasn't sure exactly how I was going to do that yet though.

At the moment, tftp is timing out when the client connects. I think the way the tftp server is set up, it should start to load something and give an error, shouldn't it?

Maybe I need something in the kernel and append lines of the pxelinux config or it'll just time out???
 
Back
Top