[syslinux] PXElinux and Windows RIS

Ryan McLean ryanm at accelrys.com
Fri Jul 28 07:59:35 PDT 2006


I was trying to use my windows RIS server to deploy linux so as to require 
user authentication. After seaching the internet I found that it was 
possible but not very well explained after alot of tinkering I eventually 
got it to work. 

Here is my documentation so hopefully others can do it in less time than 
I, feel free to comment and improve..

************************

On RIS Server Create following folder structure:

Setup\English\Images\PXELinux\i386\templates\pxelinux.cfg\

NOTE: Setup\English\Images is the location of the other RIS images

Download the latest version of syslinux from:
http://www.kernel.org/pub/linux/utils/boot/syslinux/

>From Redhat as4u3 CD1 (or cd of the distro you wish to deploy), in the 
directory images\pxeboot copy the following files into 
Setup\English\Images\PXELinux\i386\templates on the RIS server.

        vmlinuz
        initrd.img

Rename these files to:

        vmlinuz-<distro>-<arch>
        initrd-<distro>-<arch>.img

eg
        vmlinuz-rhas4-x86
        initrd-rhas4-x86.img


>From the syslinux file downloaded extract the file ?pxelinux.0? to 
Setup\English\Images\PXELinux\i386\templates on the RIS server.

In Setup\English\Images\PXELinux\i386\templates create a file 
?pxelinux.sif? and give it the following Contents:

----------------------------------------------------------------------------------------------------------------
[OSChooser]
Description = "Linux"
Help = "This option runs a Linux installer."
LaunchFile = "Setup\English\Images\PXELinux\i386\templates\pxelinux.0"
ImageType = Flat
Version="1.01"
----------------------------------------------------------------------------------------------------------------

In Setup\English\Images\PXELinux\i386\templates\pxelinux.cfg\ create a 
file called "default" and give it the following contents:

----------------------------------------------------------------------------------------------------------------
DEFAULT latest-<distro>
prompt 1
display boot.msg
timeout 1000

LABEL linux-<arch>-<distro>
  KERNEL vmlinuz-<distro>
  APPEND initrd=initrd-<distro>.img
 
LABEL latest-<arch>-<distro>
  KERNEL vmlinuz-<distro>
  APPEND initrd=initrd-<distro>.img 
ks=http://<kickstsart-webserver>/kickstart/<arch>/rhas43/ks.cfg
 
LABEL rhas43-<arch>
  KERNEL vmlinuz-rhas4
  APPEND initrd=initrd-rhas4.img 
ks=http://<kickstsart-webserver>/kickstart/<arch>/rhas43/ks.cfg
 
LABEL rhes37-<arch>
  KERNEL vmlinuz-rhes3
  APPEND initrd=initrd-rhes3.img 
ks=http://<kickstsart-webserver>/kickstart/<arch>/rhes37/ks.cfg
---------------------------------------------------------------------------------------------------------------

My above default will after 10 secs boot the linux kickstart file.

If you wish to display information to the user then under timeout add the 
lines:

        F1 boot.msg
        F2 help.msg
        ....
        F9 another.msg
        F0 ThisIsF10.msg

This will allow users to switch between *.msg files by pressing the keys 
F1-F10, Only the keys needed need to be listed.

Finally Restart the RIS server and if all goes according to plan it should 
work flawlessly.


NOTE:
You must use the files vmlinuz and initrd.img from the distro you intend 
to deploy.


More information about the Syslinux mailing list