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.
== Procedure ==
== Procedure ==
Line 12: Line 13:
# '''mkdir /tftpboot/3AS-i386'''
# '''mkdir /tftpboot/3AS-i386'''
-
* Copy ''vmlinuz'' and ''initrd.img'' from the RHEL 3 AS i386 disc1 media ''images/pxeboot'' directory to the TFTP server.
+
* 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'''
# '''cp disc1/images/pxeboot/vmlinuz disc1/images/pxeboot/initrd.img /tftpboot/3AS-i386'''
Line 18: Line 19:
# '''cp pxelinux.0 /tftpboot'''
# '''cp pxelinux.0 /tftpboot'''
-
* Create a directory for PXELINUX configuration.
+
* Create a configuration directory for PXELINUX on the boot server.
# '''mkdir /tftpboot/pxelinux.cfg'''
# '''mkdir /tftpboot/pxelinux.cfg'''
Line 33: Line 34:
# '''svcadm refresh dhcp-server'''
# '''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
 +
== 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:48, 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.
  • 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                                            
                                                                        

Links

Personal tools