Monday 30 May 2011

How to setup PXE boot server on Windows XP Part IV

New requirement came again.Let's setup PXE for booting VMware ESXi and Solaris 10 (x86).

For VMware ESXi
1. Create directory C:\PXE\tftpboot\vmware\esxi that contain all files from ESXi iso.

2. Update content of C:\PXE\tftpboot\pxelinux.cfg\default

label ESXi
menu label Install VMware ESXi 4.0
kernel /vmware/esxi/mboot.c32
append /vmware/esxi/vmkboot.gz --- /vmware/esxi/vmkernel.gz --- /vmware/esxi/sys.vgz --- /vmware/esxi/cim.vgz --- /vmware/esxi/ienviron.tgz --- /vmware/esxi/image.tgz --- /vmware/esxi/install.tgz --- /vmware/esxi/cimstg.tgz
iappend 2

3. Done.So easy!!!

For Solatis 10 x86
Actually Solaris 10 x86 can be installed via jumpstart but I would like to mix them all together to only one mechanism that is PXEboot.
Solaris has a pxe file (pxegrub) for booting via pxe but it can not be loaded directly.
We need to configure pxelinux to load pxegrub and pxegrub will load menu.lst

At your NFS server
1. mount the iso file:
[root@RFATEST184 /]# mount -F hsfs -o ro `lofiadm -a /temp/sol-10-u9-ga-x86-dvd.iso` /mnt

note : if lofiadm is busy uses command below then mount mnt
[root@RFATEST184 /]# lofiadm
Block Device File
/dev/lofi/1 /temp/sol-10-u9-ga-x86-dvd.iso
[root@RFATEST184 /]# lofiadm -d /dev/lofi/1

2. Created and shared file in directory /pxeboot/solarisX86
[root@RFATEST184 /]# share
- /pxeboot ro ""

note : changed /etc/dfs/dfshare by adding line
share -F nfs -o ro /pxeboot
and save then use command shareall

3. Go to /mnt/Solaris_10/Tools that run setup_install_server and wait

[root@RFATEST184 /]# ./setup_install_server /pxeboot/solarisX86/

4. Check required file in your shared directory

[root@RFATEST184 boot]# ls -li multiboot x86.miniroot grub/pxegrub grub/menu.ls
t
474188 -r--r--r-- 1 root root 564 Aug 12 2010 grub/menu.lst
474191 -r--r--r-- 1 root root 139920 Aug 6 2010 grub/pxegrub
474202 -r-xr-xr-x 1 root root 136552 Aug 12 2010 multiboot
474209 -r--r--r-- 1 root root 87891019 Aug 12 2010 x86.miniroot

5. Now open your windows xp PXE boot server then ftp to NFS server and copy required file
****important****
change file pxegrub to pxegrub.0 (add .0)

Directory of C:\PXE\tftpboot\solarisX86\boot
08/12/2010 12:00 AM 136,552 multiboot

08/12/2010 12:00 AM 87,891,019 x86.miniroot


Directory of C:\PXE\tftpboot\Boot\grub

05/30/2011 05:03 PM 260 menu.lst

08/06/2010 12:00 AM 139,920 pxegrub.0


Note : menu.lst need to be in boot\grub dir because your pxegrub.0 will look into that dir by default
6. Configure file C:\PXE\tftpboot\pxelinux.cfg\default by adding below entry and save it.

label SolarisX86

menu label Install Solaris 10U9 X86

kernel /boot/grub/pxegrub.0

7.
Configure file C:\PXE\tftpboot\Boot\grub\menu.lst

timeout=15

title Solaris 10 Update 9 x86

kernel /solarisX86/boot/multiboot kernel/unix -v -m verbose install nfs://192.168.8.184/pxeboot/solarisX86/jumpstart/config.tar -B install_media=192.168.8.184:/pxeboot/solarisX86/

module /solarisX86/boot/x86.miniroot


8. Get back to NFS server,We still missed config.tar that contain 4 files in /pxeboot/solarisX86/jumpstart (create new dir)

8.1 rules file
[root@RFATEST184 jumpstart]# cat rules
any - - any_machine -

8.2 rules.ok file
[root@RFATEST184 jumpstart]# cat rules.ok

any - - any_machine -

# version=2 checksum=num

8.3 sysidcfg file
[root@RFATEST184 jumpstart]# cat sysidcfg

system_locale=en_US

install_locale=en_US

terminal=vt100

name_service=NONE

network_interface=PRIMARY {protocol_ipv6=no}

security_policy=NONE

timeserver=localhost

8.4 any_machine file
[root@RFATEST184 jumpstart]# cat any_machine

install_type initial_install

cluster SUNWCXall

package SUNWaccr add

fdisk all solaris all

partitioning explicit

filesys any free /

filesys any 4096 swap

system_type server

8.5 Then tar all file
[root@RFATEST184 jumpstart]# tar c rules rules.ok any_machine sysidcfg > /pxeboot/solarisX86/jumpstart/config.tar


9. Done

No comments: