PXELINUX with a Solaris boot server
From Brandonhutchinson.com
(Difference between revisions)
| 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 | + | * 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 | + | * 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
