Setting Up a SUSE PXE Installation Server in an Existing NetWare Environment
I have a “NetWare shop” with no existing PXE boot services (read: ZENworks PXE enabled). I’m starting down the road of OES Linux, SLES, and SLED, and wanted to set up an installation server so that I can easily install machines without media. Though there are a number of good docs helping you set up an Installation server, it was difficult to determine how to get PXE boot to work with my existing NetWare 6 DHCP services. Documents refer to configuring the SLES server as a DHCP server, but I didn’t want to do that, and potentially interfere with my existing, working-just-find DHCP services on NetWare. To follow is a recipe that will provide you the specific steps for getting a working PXE-based Installation server for your SUSE deployments in your existing NetWare environment. The example I use here will be for a SLED 10 installation source, though it would be pretty much the same for OES or SLES 10.
=== SLES CONFIGURATION ===
On your installation server (SLES):
– go to Yast, and search for tftp, nfs, and syslinux and install these packages if they aren’t already installed.
– configure the TFTP server
Yast > Network Services > TFTP
select a path for your tftp directory (eg: /tftpboot)
– configure PXE boot files
copy the pxelinux.0 file to the tftpboot directory:
cp /usr/share/syslinux/pxelinux.0 /tftpboot
copy the kernel and initrd files from your first SLED installation CD to the tftp directory:
cp /(path to media)/boot/i386/loader/linux /tftpboot/sled10.krnl
cp /(path to media)/boot/i386/loader/initrd /tftpboot/sled10.ird
(I choose to copy these files to a renamed destination filename that references what they are. This way, I can also copy additional kernel and initrd files as additional installation choices in my PXE boot menu)
create a pxelinux.cfg subdirectory under the tftp directory:
copy the isolinux.cfg file from the first SLED installation CD to this subdirectory renaming it to default:
cp /(path to media)/boot/i386/loader/isolinux.cfg /tftpboot/pxelinux.cfg/default
edit the default file to point to your SLES installation server and replace this:
append initrd=initrd splash=silent showopts
# SLED 10
append initrd=sled10.ird ramdisk_size=65536 install=nfs://172.16.0.99/sources/SLED10 splash=silent showopts
(items in bold reference your specific details)
copy the message file from the first installation CD to the pxelinux.cfg directory:
cp /(path to media)/boot/i386/loader/message /tftpboot/pxelinux.cfg
edit the linux menu item in the message file (the “PXE menu”) for the SLED10 entry you added in the default file above:
change: linux – Installation
to: SLED10 – SLED 10 Installation
(NOTE: when typing this boot option at the PXE boot menu, it *IS* case sensitive, so you’ll need to type SLED10 in uppercase in this example)
– copy the contents of your installation DVD to a directory on your SLES server (eg: /sources/SLED10)
mkdir -p /sources/SLED10
cp -R /(path to media)/*.* /sources/SLED10
If you have CD sources (as opposed to a DVD source), refer to this article for copying the CD contents into an installation source directory.
– configure your NFS to export the directory containing your installation files:
Yast > Network Services > NFS Server
check to Start the NFS server, and open port in firewall (if firewall is enabled), then select Next
click the Add Directory button, and select the directory containing your installation sources (eg: /sources), click Finish
– restart the xinetd service
So now your SLES server is ready to go, acting as a PXE server and providing the Installation source media.
=== NETWARE DHCP CONFIGURATION ===
Now, you need to configure your NetWare DHCP server to correctly direct your PXE boot clients to your SLES server:
– In your DNS/DHCP Management Console application:
Select the DHCP Service tab
Click on the subnet where your SLES box exists, select the Subnet Options tab, check on the Set Boot Parameter Option, and enter your Server Address of your SLES server and the Boot File Name to be pxelinux.0
– If your DHCP NetWare server does not already have a PDHCP.NLM and PDHCP.INI, find it from one of your ZENworks servers or search for a Novell download containing this file and copy to your DHCP server.
– Make the following entries in the PDHCP.INI:
– Load PDHCP on your DHCP server (and add to your AUTOEXEC.NCF to start up).
– Restart your DHCP services
=== BADA BING, BADA BOOM ===
Boot up your PXE machine, you should get the default PXE menu!
Now with PXE working, this PXE menu can be much more than just an menu for installing a new OS. You can add additional options to load up a number of “support disks” for diagnostics, wiping the disk, or getting to your DOS based imaging solution you have. You know, all those great support floppies you thought you had to get rid of because the computers you buy now no longer have floppy drives in them <grin>.
But, that’ll be another article…