PXELINUX with a Solaris boot server
From Brandonhutchinson.com
In this example:
- RHEL 3 AS i386 will be installed on a Sun Fire X2100 M2 using PXE Boot/Kickstart.
- The PXE Boot server/DHCP server/TFTP server is running Solaris 10 SPARC.
- The Solaris DHCP server is configured for the 10.209.128.0 network.
- The client MAC address is 001B2493A27C.
- The client hostname is mrdcmap012.
- The client hostname exists in DNS with IP 10.209.128.39.
- The Kickstart file is located on a separate server--192.168.128.30--and is accessible via http.
Procedure
- Create a directory on the TFTP server for the PXE boot.
# mkdir /tftpboot/3AS-i386
- Copy vmlinuz and initrd.img from disc 1 of the RHEL 3 AS i386 media images/pxeboot directory to the TFTP server.
# cp disc1/images/pxeboot/vmlinuz disc1/images/pxeboot/initrd.img /tftpboot/3AS-i386
- Copy pxelinux.0 to the TFTP server. On my Ubuntu system, I installed the syslinux package and copied /usr/lib/syslinux/pxelinux.0 to the TFTP server.
# cp pxelinux.0 /tftpboot
- Create a configuration directory for PXELINUX on the boot server.
# mkdir /tftpboot/pxelinux.cfg
- Configure permissions for PXELINUX.
# chmod -R 755 /tftpboot/3AS-i386 /tftpboot/pxelinux.0
- Add a Linux DHCP macro on the boot server.
# dhtadm -A -m Linux -d ':BootFile="pxelinux.0":BootSrvA=IP_of_Solaris_boot_server:'
- Configure the client to use the Linux DHCP macro.
# pntadm -A client_hostname -i 01001B2493A27C -m Linux -f PERMANENT 10.209.128.0
- Refresh the DHCP server for the pntadm change to take effect.
# svcadm refresh dhcp-server
- Create a PXELINUX configuration file named 01-00-1b-24-93-a2-7c in /tftpboot/pxelinux.cfg. I used the following values:
label linux kernel 3AS-i386/vmlinuz append ksdevice=eth2 ip=10.209.128.38 netmask=255.255.240.0 gateway=10.209.128.1 ks=http://192.168.128.30/mrdcmap012.ks.cfg console=ttyS1,115200 load_ramdisk=1 initrd=3AS-i386/initrd.img
Note that the line beginning with append is one long line.
With a MAC address of 001B2493A27C, PXELINUX will attempt to identify files in /tftpboot/pxelinux.cfg in the following order:
Trying to load: pxelinux.cfg/01-00-1b-24-93-a2-7c
Trying to load: pxelinux.cfg/0AD18027
Trying to load: pxelinux.cfg/0AD1802
Trying to load: pxelinux.cfg/0AD180
Trying to load: pxelinux.cfg/0AD18
Trying to load: pxelinux.cfg/0AD1
Trying to load: pxelinux.cfg/0AD
Trying to load: pxelinux.cfg/0A
Trying to load: pxelinux.cfg/0
Trying to load: pxelinux.cfg/default
