PXELINUX with a Solaris boot server
From Brandonhutchinson.com
(Difference between revisions)
(New page: In this example, I install RHEL 3 AS i386 on a Sun Fire X2100 M2 using PXE Boot/Kickstart. The PXE Boot server/DHCP server/TFTP server is running Solaris 10 SPARC. * Create a directory on...) |
(→Procedure) |
||
| (6 intermediate revisions not shown.) | |||
| Line 1: | Line 1: | ||
| - | In this example | + | 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. | * Create a directory on the TFTP server for the PXE boot. | ||
# '''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 10: | 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 16: | Line 25: | ||
# '''chmod -R 755 /tftpboot/3AS-i386 /tftpboot/pxelinux.0''' | # '''chmod -R 755 /tftpboot/3AS-i386 /tftpboot/pxelinux.0''' | ||
| - | * Add | + | * Add a ''Linux'' DHCP macro on the boot server. |
| - | # dhtadm -A -m Linux -d ':BootFile="pxelinux.0":BootSrvA=''IP_of_Solaris_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.39 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)] | ||
Current revision
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.39 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
