Here are my instructions for using Solaris dhcp server to store the PXE values 
and I have a dhcp server enabled wireless router is all using files for 
nameservice.
This example recreated the dhcp entries if reran is all.
# cat dhcp_ex.sh
#!/bin/sh -x
# ./dhcp_ex.sh
INSTALL_BASE=/zfs1/install
HOSTNAME=`hostname`
SERVER=192.168.1.8
CLIENT=192.168.1.25
NETWORK=192.168.1.0
HOSTNAME=server25
MAC=08:00:27:4D:39:CB
export MAC
PXEMAC=010800274D39CB
# CR shell returns Bad String for echo "${MAC}" | sed -e "s/://g" | tr 
"[:lower:]" under SOlaris works ok under OpenSolaris "[:upper:]" statement. 
#PXEMAC=01`echo ${MAC} | sed -e 's/://g' | tr "[:lower:]" "[:upper:]"`
#OS=Solaris_10
OS=Solaris_11
REL=snv_b108
#REL=10u6
#1.Mount dvd iso run the Solaris_1X/Tools/setup_install_server 
$INSTALL_BASE/$REL
#2. create the jumpstart profile directory in my case ${INSTALL_BASE}/jumpstart

# cat rules
any - - any_machine_xp_zfs post_install
# cat any_machine_xp_zfs
install_type initial_install
locale  en_US.UTF-8
geo N_America
cluster SUNWCXall
system_type standalone
fdisk rootdisk 0x07 delete
fdisk rootdisk solaris delete
fdisk rootdisk solaris maxfree
#pool rpool 64g 8g 8g mirror any any
pool rpool 128g 8g 8g any
bootenv installbe bename 10u6
#partitioning explicit
#filesys rootdisk.s0 8000 /
filesys rootdisk.s1 8000
filesys rootdisk.s3 8000
filesys rootdisk.s4 8000
filesys rootdisk.s6 500
filesys rootdisk.s7 500
filesys rootdisk.s5 free
#patch patch_order nfs://192.168.1.8/zones/install/patches retry 5
noreboot
# cat sysidcfg
system_locale=en_US.UTF-8
timezone=US/Eastern
timeserver=localhost
security_policy=none
network_interface=primary {protocol_ipv6=no}
name_service=DNS {domain_name=rochester.rr.com
                  name_server=192.168.1.1
                  search=rochester.rr.com}
security_policy=NONE
nfs4_domain=dynamic
root_password=e11Nyle9XTUOw
service_profile=open
terminal=vt100
# cat post_install
#!/bin/sh -x
bootadm update-archive -R /a
mkdir /a/export/home
mkdir /a/export/home/jabrewer
echo "*         127.0.0.1:/export/home/&" gt gt /a/etc/auto_home
echo "share  -F nfs  -o rw  -d \"home dirs\"  /export/home" gt gt 
/a/etc/dfs/dfstab
echo "jabrewer:x:100:1::/home/jbrewer:/bin/sh" gt gt /a/etc/passwd
echo "jabrewer:xxxxxxxxxxxxx:14167::::::" gt gt  /a/etc/shadow
chown 100:1 /a/export/home/jabrewer
echo "set ip:dohwcksum = 0" gt gt /a/etc/system
echo "rge \"pci10ec,8168\"" gt gt  /a/etc/driver_aliases
echo "* reboot so the deadman timer will be enabled." gt gt /a/etc/system
echo "set snooping=1" gt gt/a/etc/system
cp /var/log/Xorg.0.log /a
dmesg gt /a/dmesg.txt
bootadm update-archive -R /a

#3. run and check  sharetab entry if not already added by setup_install_server 
#share -F nfs -d "home dirs" /tftpboot
#share -F nfs -o anon=0,sec=sys,ro -d "Jumpstart dirs" /zfs1/install
#4. add or modify drivers for support for Ethernet card Jumpstart x86.miniroot 
for snv_b104 for use of RTL8111/8168B CR 6686415 Ethernet vendor 0x10ec device 
0x8168, other wise snv_b103 or higher is not needed.
#5. Add mac address to /etc/ethers file.

#6. Run add_install_client for a snv_b104 client
out_file=/tftpboot/menu.lst.${PXEMAC}
export INSTALL_BASE SERVER HOSTNAME CLIENT MAC PXEMAX OS REL
${INSTALL_BASE}/${REL}/${OS}/Tools/add_install_client \
-d -e $MAC \
-s $SERVER:${INSTALL_BASE}/${REL} \
-c $SERVER:${INSTALL_BASE}/jumpstart \
-p $SERVER:${INSTALL_BASE}/jumpstart \
-t ${INSTALL_BASE}/${REL}/boot i86pc

#7. setup DHCP server
 dhcpconfig -S -d
# DHCP server disabled.
# DHCP server shutdown.
 dhcpconfig -U -f -x -h
# DHCP server not running.
# Deleted the server macro from dhcptab.
# Deleted table for network 192.168.1.0.
# Deleted the dhcptab.
# Deleted the DHCP configuration file.
 dhcpconfig -D -r SUNWfiles -p /var/dhcp -h files
#Created DHCP configuration file.
#Created dhcptab.
#Added "Locale" macro to dhcptab.
#Added server macro to dhcptab - ${HOSTNAME}.
#DHCP server started.
 dhcpconfig -N 192.168.1.0 -m 255.255.255.0 -t 192.168.1.1 -g
# Added network macro to dhcptab - 192.168.1.0.
# Created network table.
 dhcpconfig -S -r
#DHCP server shutdown.
#DHCP server started.
 dhtadm -A -s SrootIP4 -d Vendor=SUNW.i86pc,2,IP,1,1
 dhtadm -A -s SrootNM -d Vendor=SUNW.i86pc,3,ASCII,1,0
 dhtadm -A -s SrootPTH -d Vendor=SUNW.i86pc,4,ASCII,1,0
 dhtadm -A -s SinstIP4 -d Vendor=SUNW.i86pc,10,IP,1,1
 dhtadm -A -s SinstNM -d Vendor=SUNW.i86pc,11,ASCII,1,0
 dhtadm -A -s SinstPTH -d Vendor=SUNW.i86pc,12,ASCII,1,0
 dhtadm -A -s SsysidCF -d Vendor=SUNW.i86pc,13,ASCII,1,0
 dhtadm -A -s SjumpsCF -d Vendor=SUNW.i86pc,14,ASCII,1,0
 dhtadm -A -s SbootURI -d Vendor=SUNW.i86pc,16,ASCII,1,0
 #dhtadm -A -s BootFile -d Vendor=SUNW.i86pc,16,ASCII,1,0
 #dhtadm -A -s BootSrvA -d Vendor=SUNW.i86pc,16,ASCII,1,0
 dhtadm -A -m PXEClient:Arch:00000:UNDI:002001 -d 
":BootFile=SUNW.i86pc:BootSrvA=${SERVER}:"
 dhtadm -A -m ${PXEMAC} -d:SinstNM=${HOSTNAME}:
 dhtadm -M -m ${PXEMAC} -eSinstIP4=${CLIENT}
 dhtadm -M -m ${PXEMAC} -eSinstPTH=${INSTALL_BASE}/${REL}
 dhtadm -M -m ${PXEMAC} -eSrootNM=${HOSTNAME}
 dhtadm -M -m ${PXEMAC} -eSrootPTH=${INSTALL_BASE}/${REL}/boot
 dhtadm -M -m ${PXEMAC} -eBootFile=nbp.${PXEMAC}
 dhtadm -M -m ${PXEMAC} -eSbootURI=tftp://${CLIENT}/${PXEMAC}
 dhtadm -M -m ${PXEMAC} -eSjumpsCF=${CLIENT}:${INSTALL_BASE}/jumpstart
 dhtadm -M -m ${PXEMAC} -eSsysidCF=${CLIENT}:${INSTALL_BASE}/jumpstart
 pntadm -A ${CLIENT} -c ${HOSTNAME} -f PERMANENT -i ${PXEMAC} -m ${PXEMAC} 
${NETWORK}

#8. This rewrites menu.lst from the Jumpstart
#add_install_client boot options for unix to activate i.e like sparc process of 
boot -- net install i86pc grub menu.lst unix options of: -m install with in the 
/tftpboot grub menu also add to unix options -v for verbose
#
cp ${out_file} ${out_file}.tmp
#sed 's/unix/unix -rv -m verbose install/g' ${out_file}.tmp gt ${out_file}
sed 's/unix/unix -rv -m verbose console=text/g' ${out_file}.tmp gt ${out_file}
cat ${out_file}

#DHCP server started.
 dhcpconfig -S -r
 dhtadm -P
 pntadm -P 192.168.1.0

#10. Open a new Terminal window and run snoop -v from the server.
# end of dhcp_ex.sh
#
-- 
This message posted from opensolaris.org

Reply via email to