Here is how I setup my PXE DHCP jumpstart server, There was no one good example
I could find in the SUN docs or the WEB URL's that I could find, So here is my
version , so let me know if this works for you.
Note: I have a 4 port Netgear firewall/dhcp home behind is a cable modem that I
have reserved both dhcp IP to the MAC address, if not you need to change the
check and change the below SERVER and CLIENT ip address for your situation.
Also noted for debuging in your /tftpboot menu.lst file I added to the boot
option of unix v -m verbose install
Also work noting , the GUI installer or ttinstall OpenSolaris/Solaris DVD will
fill in the answers noted below from the Jumpstart rules any_machine profile
and sysidcfg files if you don't get the values 100% correct.
1. mount dvd and run Solaris_1*/tools/setup_install_server /zfs1/install/10u6
2. create the jumpstart profile directory in my case /zfs1/install/jumpstart
bash-3.00# cat rules
any - - any_machine post_install
bash-3.00# cat any_machine
install_type initial_install
locale en_US.UTF-8
geo N_America
cluster SUNWCXall
system_type standalone
fdisk rootdisk 0x04 delete
fdisk rootdisk solaris maxfree
#pool newpool 64g 8g 8g mirror any any
filesys rootdisk.s0 64000
filesys rootdisk.s3 8000
filesys rootdisk.s4 8000
filesys rootdisk.s6 500
filesys rootdisk.s7 500
filesys rootdisk.s5 free
pool rpool 64g 8g 8g any
bootenv installbe bename 10u6
#patch patch_order nfs://192.168.1.8/zones/install/patches retry 5
noreboot
bash-3.00# cat post_install
bootadm update-archive -R /a
mkdir /a/export/home
mkdir /a/export/home/jbrewer
echo "* 127.0.0.1:/export/home/&" >> /a/etc/auto_home
echo "share -F nfs -o rw -d \"home dirs\" /export/home" >> /a/etc/dfs/dfstab
echo "jabrewer:x:100:1::/home/jbrewer:/bin/sh" >> /a/etc/passwd
echo "jabrewer:xxxxxxxxxxxx:14167::::::" >> /a/etc/shadow
chown 100:1 /a/export/home/jbrewer
echo "set ip:dohwcksum = 0" >>/a/etc/system
bash-3.00# 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=xxxxxxxxxxxxx
service_profile=open
terminal=vt100
bash-3.00# pwd
/zfs1/install/jumpstart
bash-3.00#
3. setup your share in /etc/dfs/dfstab file.
+ share -F nfs -o ro,anon=0 -d home dirs /zfs1
+ share -F nfs -o ro,anon=0 -d home dirs /tftpboot
. Make sure you added the above share entries to /etc/dfs/dfstab
+ shareall
+ share
- /tftpboot ro,anon=0 "home dirs"
- /zfs1 ro,anon=0 "home dirs"
- /export/home rw "home dirs"
4. # add or modify drviers for support for Ethernet card Jumpstart x86.miniroot
# for RTL8111/8168B CR 6686415 Ethernet vendor 0x10ec device 0x8168
cd /zones/install/10u6/boot
mv x86.miniroot x86.miniroot.orig
mkdir x86.miniroot.unpacked
/boot/solaris/bin/root_archive unpack ./x86.miniroot ./x86.miniroot.unpacked/
cd ./x86.miniroot.unpacked/
cd etc
vi driver_alaises entry rge "pci10ec,8168"
vi system # add entry set ip:dohwcksum = 0
/boot/solaris/bin/root_archive pack ./x86.miniroot ./x86.miniroot.unpacked
5. Add mac address to /etc/ethers file.
6. run add_install_client
SERVER=192.168.1.7
# 3c509 Ethernet Caard fallback card to from from Client to Client.
#CLIENT_MAC=0:1:3:BB:B:99
# RTL8111/8168B
CLIENT_MAC=0:1f:d0:5a:d1:be
/zones/install/10u6//Solaris_10/Tools/add_install_client \
-d -e $CLIENT_MAC \
-s $SERVER:/zones/install/10u6 \
-c $SERVER:/zones/install/jumpstart \
-p $SERVER:/zones/install/jumpstart \
-t /zones/install/10u6/boot i86pc
7. setup DHCP server
bash-3.00# sh -x ./dhcp_ex.sh
INSTALL_BASE=/zfs1/install
SERVER=192.168.1.24
CLIENT=192.168.1.21
MAC=0:1F:D0:5A:D1:BE
PXEMAC=01001FD05AD1BE
OS=Solaris_10
REL=10u6
+ export INSTALL_BASE SERVER CLIENT MAC PXEMAX
+ 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 - unknown.
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 01001FD05AD1BE -d:SinstNM=unknown:
+ dhtadm -M -m 01001FD05AD1BE -eSinstIP4=192.168.1.24
+ dhtadm -M -m 01001FD05AD1BE -eSinstPTH=/zfs1/install/10u6
+ dhtadm -M -m 01001FD05AD1BE -eSrootNM=unknown
+ dhtadm -M -m 01001FD05AD1BE -eSrootPTH=/zfs1/install/10u6/boot
+ dhtadm -M -m 01001FD05AD1BE -eBootFile=nbp.01001FD05AD1BE
+ dhtadm -M -m 01001FD05AD1BE -eSbootURI=tftp://192.168.1.24/01001FD05AD1BE
+ dhtadm -M -m 01001FD05AD1BE -eSjumpsCF=192.168.1.24:/zfs1/install/jumpstart
+ dhtadm -M -m 01001FD05AD1BE -eSsysidCF=192.168.1.24:/zfs1/install/jumpstart
+ pntadm -A 192.168.1.21 -c server21 -f PERMANENT -i 01001FD05AD1BE -m
01001FD05AD1BE 192.168.1.0
out_file=/tftpboot/menu.lst.01001FD05AD1BE
# this rewrites menu.lst from the tools add_install_client boot unix activate
i.e like sparc boot -- - net -m install in grub menu and -v for verbose
+ cat > $out_file << EOF
default=0
timeout=30
title Solaris_10 Jumpstart
kernel /I86PC.Solaris_10-1/multiboot kernel/unix -v -m verbose install -B
install_config=192.168.1.24://zfs1/install/jumpstart,sysid_config=192.168.1.24://zfs1/install/jumpstart,install_media=192.168.1.24://zfs1/install/10u6,install_boot=192.168.1.24://zfs1/install/10u6/boot
-rv
module /I86PC.Solaris_10-1/x86.miniroot
EOF
+ dhtadm -P
Name Type Value
==================================================
01001FD05AD1BE Macro
:SinstNM="unknown":SinstIP4=192.168.1.24:SinstPTH="/zfs1/install/10u6":SrootNM="unknown":SrootPTH="/zfs1/install/10u6/boot":BootFile="nbp.01001FD05AD1BE":SbootURI="tftp://192.168.1.24/01001FD05AD1BE":SjumpsCF="192.168.1.24:/zfs1/install/jumpstart":SsysidCF="192.168.1.24:/zfs1/install/jumpstart":
PXEClient:Arch:00000:UNDI:002001 Macro
:BootFile="SUNW.i86pc":BootSrvA=$SERVER:
192.168.1.0 Macro
:Subnet=255.255.255.0:Router=192.168.1.1:Broadcst=192.168.1.255:
unknown Macro
:Include=Locale:Timeserv=24.28.193.9:LeaseTim=86400:LeaseNeg:DNSdmain="rochester.rr.com":DNSserv=192.168.1.1:
Locale Macro :UTCoffst=-18000:
BootSrvA Symbol Vendor=SUNW.i86pc,16,ASCII,1,0
BootFile Symbol Vendor=SUNW.i86pc,16,ASCII,1,0
SbootURI Symbol Vendor=SUNW.i86pc,16,ASCII,1,0
SjumpsCF Symbol Vendor=SUNW.i86pc,14,ASCII,1,0
SsysidCF Symbol Vendor=SUNW.i86pc,13,ASCII,1,0
SinstPTH Symbol Vendor=SUNW.i86pc,12,ASCII,1,0
SinstNM Symbol Vendor=SUNW.i86pc,11,ASCII,1,0
SinstIP4 Symbol Vendor=SUNW.i86pc,10,IP,1,1
SrootPTH Symbol Vendor=SUNW.i86pc,4,ASCII,1,0
SrootNM Symbol Vendor=SUNW.i86pc,3,ASCII,1,0
SrootIP4 Symbol Vendor=SUNW.i86pc,2,IP,1,1
+ dhcpconfig -S -r
DHCP server started.
bash-3.00#
8. Open a new Terminal window and run snoop -v from the server.
9. Here is the dmesg output from the Jumpstart server
Went over to the CLIENT and enabled the BIOS for LAN enabled ROM setting
Nov 21 16:45:39 unknown in.dhcpd[8]: [ID 554861 daemon.notice] Signal: TERM
received...Exiting
Nov 21 16:45:41 unknown in.dhcpd[44]: [ID 554861 daemon.notice] Signal: TERM
received...Exiting
Nov 21 16:45:50 unknown in.dhcpd[74]: [ID 498424 daemon.error] Symbol: BootSrvA
already defined. New definition ignored.
Nov 21 16:45:50 unknown in.dhcpd[74]: [ID 328894 daemon.error] Bad Runtime
symbol definition: BootSrvA
Nov 21 16:45:50 unknown in.dhcpd[74]: [ID 498424 daemon.error] Symbol: BootFile
already defined. New definition ignored.
Nov 21 16:45:50 unknown in.dhcpd[74]: [ID 328894 daemon.error] Bad Runtime
symbol definition: BootFile
Nov 21 16:45:50 unknown in.dhcpd[74]: [ID 206000 daemon.error] Syntax error
found processing value for symbol: 'BootSrvA'
Nov 21 16:45:50 unknown in.dhcpd[74]: [ID 217090 daemon.error] Error processing
macro: PXEClient:Arch:00000:UNDI:002001
Nov 21 16:46:53 unknown in.dhcpd[74]: [ID 603263 daemon.notice] No more IP
addresses on 192.168.1.0 network (01000103BB0B99)
Nov 21 16:47:08 unknown last message repeated 4 times
--
This message posted from opensolaris.org