You will need:
- An ISO image of Solaris 11 (nevada or Solaris Express)
- A server with dhcpd, tftpd, nfsd (note: examples in this page are for a FreeBSD server)
- A client capable of PXEbooting
Get and assemble the latest DVD iso of the Solaris [Express] Operating System / Networking: http://www.OpenSolaris.org/os/downloads/on/
unzip sol-nv-b39-x86-dvd-iso-?.zip cat sol-nv-b39-x86-dvd-iso-a sol-nv-b39-x86-dvd-iso-b sol-nv-b39-x86-dvd-iso-c sol-nv-b39-x86-dvd-iso-d sol-nv-b39-x86-dvd-iso-e > sol-nv-b39-x86-dvd.iso rm sol-nv-b39-x86-dvd-iso-?
Loopback mount it:
mdconfig -a -t vnode -f /tmp/sol-nv-b39-x86-dvd.iso mount_cd9660 /dev/md0 /mnt
Create two directories: one for files to be served by tftpd and one for the nfs export. You'll need some space on the latter (2.3Gb as of nv39).
mkdir /tftpboot /export/installserver
Copy everything to the nfs root:
cd /mnt; tar cf - . | tar xpf - -C /export/installserver
Copy files in the tftpboot directory:
cd /mnt; cp pxegrub /tftpboot mkdir /tftpboot/I86PC.Solaris_11 cp boot/multiboot boot/x86.miniroot /tftpboot/I86PC.Solaris_11
Create grub config:
mkdir -p /tftpboot/boot/grub vi /tftpboot/boot/grub/menu.1st
Contents of menu.1st - change 192.168.1.1 to your server's IP, edit paths if needed.
default=0 timeout=30 title Solaris_11 installserver kernel /I86PC.Solaris_11/multiboot kernel/unix -B install_media=192.168.1.1:/export/installserver,install_boot=192.168.1.1:/export/installserver/boot module /I86PC.Solaris_11/x86.miniroot
Start a dhcp server. Let it pass "pxegrub" as boot file (example is for an isc-dhcpd config file):
filename "pxegrub";
- Start a tftp server, use /tftpboot/ as its root directory.
- Boot the client and install!