ITG Unix Support
>    
     |  List directory  |  History  |  Similar  |  Print version  

OS > Linux > SuSE Linux > Setting up a PXE installation of SUSE Linux

Setting up a PXE installation of SUSE Linux

The following is mostly just my experiences with a guide I found on SUSE's website to do the same. In my case, my install server is running SUSE Linux 9.2.

Server Prerequisites

In my case, the DHCP, PXE, TFTP, and NFS server will all be running on the same machine. You will need to install the following from YaST:

  • dhcp-server
  • tftp
  • syslinux (on the tftp server)

Configuring DHCP

Since the only machines on the same network as the DHCP server are the ones I would like to power on, in /etc/dhcpd.conf, I created the following subnet definition:

subnet 192.168.26.0 netmask 255.255.255.0 {
        range 192.168.26.100 192.168.26.200;
        next-server 192.168.26.1;
        filename "pxelinux.0";
}

I only want the DHCP server to be active on one interface, so I edited the following line in /etc/sysconfig/dhcpd

DHCPD_INTERFACE="eth1"

Then you can start the DHCP server:

/etc/init.d/dhcpd start

Sharing the distribution

You will need to share the distribution through some means. Most people use NFS, but it can be harder to debug issues with than HTTP or FTP. Here is how to setup NFS to share out the SUSE DVD from /data/SUSE:

Edit /etc/exports to share /data/SUSE to the clients.

/data/SUSE           *(ro,insecure,all_squash,async)

Then you will need to restart the NFS server services:

/etc/init.d/nfsserver restart

Preparing the bootstrap

We will need to copy several files required for boot strapping into a directory that tftpd can serve out.

sudo mkdir -p /srv/tftpboot/pxelinux.cfg

Then go into the boot/loader directory from the SUSE distribution you wish to install over the network, and copy several files into /srv/tftpboot:

sudo cp linux* initrd* message memtest /srv/tftpboot
sudo cp isolinux.cfg /srv/tftpboot/pxelinux.cfg/default

Then you will need to copy the pxelinux bootstrap that came with the syslinux package:

sudo cp /usr/share/syslinux/pxelinux.0 /srv/tftpboot

Now we will need to make several modifications to the pxelinux configuration. Open up /srv/tftpboot/pxelinux.cfg/default and make the following modifications:

  • Add the following to each append= line: insmod=bcm5700 netdevice=eth0 install=nfs://192.168.100.1/usr/local/dist/SLES8
  • At the bottom, remove the lines mentioning gfxboot, readinfo, framebuffer

Enable the tftp daemon

First, edit /etc/xinetd.d/tftp, and change the server_args path to use /srv/tftpboot

Then start her up, and git r' done.

sudo chkconfig tftp on
sudo /etc/init.d/xinetd start

Test the tftp daemon

% cd /tmp
% tftp localhost
tftp> get linux

If it gives you a time out error, you may have specified the wrong path to your boot strap files. If this is the case, do not forget to restart xinetd after making changes.

Finishing Up

You are now ready to install. If you reboot and it complains that it cannot find the distribution, then you may want to look for any NFS error messages. Worst case, try FTP.

 

Reference http://wiki.chem.indiana.edu/OS/SettingUpAPXEInstallationOfSUSELinux
Rights rw-rw-r--   tstrombe   ITG

Prev. Disabling the graphical interface in Linux   Setting up automatic network installations with AutoYaST Next