PXELINUX with a Solaris boot server

From Brandonhutchinson.com

(Difference between revisions)
Jump to: navigation, search
Line 6: Line 6:
* The client hostname is mrdcmap012.
* The client hostname is mrdcmap012.
* The client hostname exists in DNS with IP 10.209.128.39.
* 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.
+
* Kickstart is performed on a server different than the Solaris boot server.
== Procedure ==
== Procedure ==
Line 55: Line 55:
Trying to load: pxelinux.cfg/0
Trying to load: pxelinux.cfg/0
Trying to load: pxelinux.cfg/default
Trying to load: pxelinux.cfg/default
-
+
 
== Links ==
== Links ==
* [http://www.sun.com/blueprints/0205/819-1692.pdf Configuring JumpStart™ Servers to Provision Sun™ x86-64 Systems (pdf)]
* [http://www.sun.com/blueprints/0205/819-1692.pdf Configuring JumpStart™ Servers to Provision Sun™ x86-64 Systems (pdf)]

Revision as of 20:51, 6 February 2008

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.
  • Kickstart is performed on a server different than the Solaris boot server.

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. For this example, 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                                            

Links

Personal tools