Archive for Jumpstart

JET and wanboot

All of our unix sysadmin's workstations reside on a network where a Windows DHCP server is in charge (AKA authoritative). So jumping start a machine isn't easy with either DHCP or BOOTP anymore. With BOOTP, the RARP broadcast cannot even reach the jumpstart server. With DHCP, it's a little different. The DHCP requests can get to the jumpstart server and the jumpstart server is also nice enough to hand out the IP address and other jumpstart-related stuff. But the client always favors the offer from the Windows DHCP server which is authoritative for the whole network. Changing that is out of question, so I am thinking it's time to explore the wanboot option.

I went over the installation guide and it looked very easy to set up the jumpstart with wanboot. If I hadn't heard that JET 4.2 would be out in mid April, I would probably have followed the installation guide and manually set up the wanboot server already. I will just wait for a little longer and if it isn't up for download by early next week then I will probably just follow the guide and manually set up the wanboot server.

Leave a Comment

Jumpstart/JET and DHCP

This week I decided to try out JET with DHCP mode to jumpstart a client. JET by default uses Sun shipped dhcp server (/usr/lib/inet/in.dhcpd, dhcpconfig, dhtadm, pntadm etc) for this purpose. Here is the steps we followed to configure the DHCP with JET:

  1. Copy out the make_dhcp from JET to a temporary place:
  2. 
    # cp /opt/SUNWjet/Products/base_config/solaris/make_dhcp /var/tmp
    
  3. Modify /var/tmp/make_dhcp and change variables NETWORK, NETMASK and ROUTER to suit our environment:
  4. 
    NETWORK=192.168.1.0
    NETMASK=255.255.255.0
    ROUTER=192.168.1.1
    
  5. Run /var/tmp/make_dhcp

Then we run "make_client transam" to configure a jumpstart client transam:

# /opt/SUNWjet/bin/make_client -f transam
Gathering network information..
        Client: 192.168.1.205 (192.168.1.0/255.255.255.0)
        Server: 192.168.1.244 (192.168.1.0/255.255.255.0, SunOS)
Solaris: client_prevalidate
         Clean up /etc/ethers
Solaris: client_build
Creating sysidcfg
Creating profile
Adding base_config specifics to client configuration
Adding sds specifics to client configuration
SDS: Configuring preferred metadevice numbers
Adding flash specifics to client configuration
FLASH: Modifying client profile for flash install
FLASH: Removing package/cluster/usedisk entries from profile
Solaris: Configuring JumpStart boot for transam
         Starting SMF services for JumpStart
Solaris: Configure DHCP build
         Adding install client
         Supporting VENDOR=SUNW.Sun-Blade-1500 SUNW.Sun-Blade-1500-S SUNW.Sun-Blade-100 SUNW.Ultra-5_10 SUNW.Ultra-30
         Configuring transam macro
         Using local dhcp server
         Setting up Network on dhcp server
         Macro: 192.168.1.0 Netmask: 255.255.255.0 Default Router: 192.168.1.1
Added network macro to dhcptab - 192.168.1.0.
Created network table.
         DHCP configuration complete
Running '/opt/SUNWjet/bin/check_client  transam'
        Client: 192.168.1.205 (192.168.1.0/255.255.255.0)
        Server: 192.168.1.244 (192.168.1.0/255.255.255.0, SunOS)
Checking product base_config/solaris
Checking product custom
Checking product sds
Checking product flash
FLASH: Checking nfs://192.168.1.244/export/flasharchives/umuc-solaris10.flar
Checking product san
--------------------------------------------------------------
Check of client transam
-> Passed....

And that's it. Easy, isn't it?

I also tried out ISC's dhcpd with JET and it worked fine too. But the downside is that JET won't be able to automatically configure the DHCP settings like it does with Sun's dhcpd when you run make_client. So I had to hand craft the dhcpd.conf for the ISC dhcpd. Here is a working copy of my configuration:


default-lease-time 6000;
max-lease-time 6000;
min-lease-time 6000;
ddns-update-style ad-hoc;

option space SUNW;
option SUNW.root-mount-options code 1 = text;
option SUNW.root-server-ip-address code 2 = ip-address;
option SUNW.root-server-hostname code 3 = text;
option SUNW.root-path-name code 4 = text;
option SUNW.swap-server-ip-address code 5 = ip-address;
option SUNW.swap-file-path code 6 = text;
option SUNW.boot-file-path code 7 = text;
option SUNW.posix-timezone-string code 8 = text;
option SUNW.boot-read-size code 9 = unsigned integer 16;
option SUNW.install-server-ip-address code 10 = ip-address;
option SUNW.install-server-hostname code 11 = text;
option SUNW.install-path code 12 = text;
option SUNW.sysid-config-file-server code 13 = text;
option SUNW.JumpStart-server code 14 = text;
option SUNW.terminal-name code 15 = text;

subnet 192.168.1.0 netmask 255.255.255.0 {
        option routers 192.168.1.1;
        option subnet-mask 255.255.255.0;
        option domain-name "mydom.org";
        option domain-name-servers 192.168.1.3;
        ddns-updates off;

host transam {
                hardware ethernet 0:3:ba:c4:d8:ea;
                fixed-address 192.168.1.205;
                option host-name "transam";
		vendor-option-space SUNW;                
		option SUNW.sysid-config-file-server "confucius:/opt/SUNWjet/Clients/transam";
                option SUNW.JumpStart-server "confucius:/opt/SUNWjet";
                option SUNW.install-server-hostname "confucius.mydom.org";
                option SUNW.install-server-ip-address 192.168.1.244;
                option SUNW.install-path "/dhcp/OS_10";
                option SUNW.root-server-hostname "confucius.mydom.org";
                option SUNW.root-server-ip-address 192.168.1.244;
                option SUNW.root-path-name "/dhcp/OS_10/Solaris_10/Tools/Boot";
                next-server 192.168.1.244;
        }
}

Leave a Comment